ID:               41604
 User updated by:  ebine dot yutaka at servise dot jp
 Reported By:      ebine dot yutaka at servise dot jp
 Status:           Bogus
 Bug Type:         InterBase related
 Operating System: Debian 4.1
 PHP Version:      5.2.3
 Assigned To:      abies
 New Comment:

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)


Previous Comments:
------------------------------------------------------------------------

[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

Reply via email to