[Dbi-interbase-devel] support for transaction parameters
Status: Beta
Brought to you by:
edpratomo
From: Mark D. A. <md...@di...> - 2000-09-02 22:43:24
|
i couldn't wait, so i did it myself. attached is a complete copy of a modified dbdimp.c, a diff relative to 20.6, and a small test program. i don't know if the attachments will have windows line endings or unix, but presumably you can deal with that. (i didn't know what sort of diff parameters you'd like, which is why i sent the whole thing; sorry). there are a few issues to take care of (marked by "XXX" in the source), but it basically works. you can say: $dbh->{TPB} = 'NO WAIT SNAPSHOT TABLE STABILITY'; and then the next transaction allocated by the driver (automatic if autocommit) will use those attributes instead of the default ones. you can also specify TPB as one of the attributes in the DBI->connect() call, as shown in the test program. The strings accepted for the TPB key are identical to the ones documented in the EmbedSQL guide. sorry, i didn't write the test using the conventions in the "t/" directory, because that directory is incomprehensible to me. this change fixes a leak as a side-effect (the previous version was leaking a copy of tpb_buffer on every transaction). two issues not related to this checkin: 1. $VERSION in InterBase.pm should be updated every time you make a release. 2. i still think that the hard-coded isc_commit_retaining behavior when autocommit is off is a very bad idea, but since i'm using autocommit on, i left it there in this patch. -mda |