On Tue, 2010-09-07 at 12:53 -0600, syslogng@feystorm.net wrote:
Nevermind, kinda. It looks like balabit keeps its own modified version of the libdbi code. In this case, I think that code should be packaged with syslog-ng as its really not libdbi anymore, but a fork. At the least it should have its own name and release package (the only place I could find it was git).
well, that was the case earlier, but I worked quite hard to integrate those patches into libdbi upstream. The patches are already in their CVS repo, but there's no released version as of yet. We've published our internal git tree just for a reference and because of our obligations to the GPL. We don't want to maintain a fork.
Also I have a problem with the balabit libdbi-drivers as well. There was a patch floating around the internet for the oracle drivers which performs a commit on every insert, and it appears the balabit code has this patch applied (OCI_COMMIT_ON_SUCCESS, line 306 of dbd_oracle.c). Forcing users of the to commit on every insert is a really bad practice as it seriously degrades database performance.
It used to be needed before 3.2 (and is default behaviour for all other databases if you don't emit a begin transaction command). So for 3.1 and earlier (and 3.2 if explicit-commits is not enabled) the OCI_COMMIT_ON_SUCCESS seemed to be needed. -- Bazsi