[Dbd-firebird-devel] RT#72946: ->do() segfaults when executing DDL while another statement is open
Damyan Ivanov
dmn at debian.org
Thu Dec 8 19:38:57 UTC 2011
The crash happens in AutoCommit mode, when the ib_commit_transaction
routine tries to free all statement handles. This is done only after
executing DDL. Why? I can't tell.
I tried to remove all special handling of DDL statements and the test
works, at the expense of breaking 17 other tests :)
The 17 tests are broken since Firebird can't create table, do
something with it and drop it, all in the same transaction.
Should we introduce a new driver attribute, AutoCommitDDL, true by
default? Something like what ISQL does -- execute DDL in a separate
transaction and commit it after each DDL statement.
Alternatively we could just fix the tests by calling $dbh->commit
explicitly after each DDL statement.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.alioth.debian.org/pipermail/dbd-firebird-devel/attachments/20111208/5070952c/attachment.pgp>
More information about the Dbd-firebird-devel
mailing list