ID: 41604 User updated by: ebine dot yutaka at servise dot jp Reported By: ebine dot yutaka at servise dot jp -Status: Bogus +Status: Open Bug Type: InterBase related Operating System: Debian 4.1 PHP Version: 5.2.3 Assigned To: abies New Comment:
sorry. I forget open. Previous Comments: ------------------------------------------------------------------------ [2007-06-06 09:25:22] ebine dot yutaka at servise dot jp Other databases do not have this problem. For instance, it is Mysql, Postgresql, and Sqlite... and console(isql). I think this is bug. Because, we cannot use 'CREATE TABLE' in a transaction. If processing fails(even any one), this table is needless. -> rollback(not commit) ------------------------------------------------------------------------ [2007-06-06 06:20:48] [EMAIL PROTECTED] Thank you for taking the time to write to us, but this is not a bug. Please double-check the documentation available at http://www.php.net/manual/ and the instructions on how to report a bug at http://bugs.php.net/how-to-report.php You need to commit the transaction for the 'CREATE TABLE...' to take effect. ------------------------------------------------------------------------ [2007-06-06 06:16:02] [EMAIL PROTECTED] Ard, do you think it's PHP problem? ------------------------------------------------------------------------ [2007-06-06 05:15:16] ebine dot yutaka at servise dot jp add a postscript. sorry. --------------------------------------------- console -> isql(isql-fb) -> SET TRANSACTION {Various parameters}; CREATE TABLE test (id INTEGER); INSERT INTO test VALUES(1); COMMIT; --------------------------------------------- success. ------------------------------------------------------------------------ [2007-06-06 03:53:57] ebine dot yutaka at servise dot jp Description: ------------ 'INSERT' after 'CREATE TABLE' doesn't work when the transaction is used. I think that 'INSERT' can't see the table. It doesn't work similarly even if various Isolation Level is passed. I think that this is not a so recent problem. php5.2.2, 5.2.1, 5.2.0, 5.1.x ... and operating systems are Ubuntu, FreeBSD, MaxOS... etc. Sorry, my poor english. Reproduce code: --------------- $conn = ibase_connect("localhost:/home/firebird/test.fdb", "user", "password"); $trans = ibase_trans(IBASE_DEFAULT, $conn); //$trans = ibase_trans(IBASE_WRITE|IBASE_CONCURRENCY|IBASE_WAIT, $conn); //$trans = ibase_trans(IBASE_COMMITTED|IBASE_REC_VERSION, $conn); ibase_query($trans, "CREATE TABLE test (id INTEGER)"); ibase_query($trans, "INSERT INTO test VALUES (1)"); ibase_commit($trans); Expected result: ---------------- I think that these two query should succeed. Actual result: -------------- I received error message. ibase_query(): Dynamic SQL Error SQL error code = -204 Table unknown TEST At line 1, column 13. But, the table was made. ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=41604&edit=1