diff options
-rw-r--r-- | ext/sybase_ct/tests/bug26407.phpt | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/ext/sybase_ct/tests/bug26407.phpt b/ext/sybase_ct/tests/bug26407.phpt new file mode 100644 index 0000000000..b599c73dc5 --- /dev/null +++ b/ext/sybase_ct/tests/bug26407.phpt @@ -0,0 +1,91 @@ +--TEST-- +Sybase-CT bug #26407 (Result set fetching broken around transactions) +--SKIPIF-- +<?php require('skipif.inc'); ?> +--FILE-- +<?php +/* This file is part of PHP test framework for ext/sybase_ct + * + * $Id$ + */ + + require('test.inc'); + + $db= sybase_connect_ex(); + + // Create temporary table + $table= basename(__FILE__, '.php'); + var_dump(sybase_query('create table #'.$table.' ( the_big_answer int )', $db)); + + // I + var_dump(sybase_select_ex($db, ' + begin transaction + -- anything producing a result set here will fail; + -- however, print or update statements will work + select "foo" + commit + -- anything afterwards will fail, too + ')); + + // II + var_dump(sybase_select_ex($db, ' + begin transaction + -- no result returned... + update #'.$table.' set the_big_answer=42 + commit + ')); + + // III + var_dump(sybase_select_ex($db, ' + select "foo" + begin transaction + -- do anything, even return a result set + commit + select "bar" + ')); + + sybase_close($db); +?> +--EXPECTF-- +bool(true) +>>> Query: + begin transaction + -- anything producing a result set here will fail; + -- however, print or update statements will work + select "foo" + commit + -- anything afterwards will fail, too + +<<< Return: resource +array(1) { + [0]=> + array(1) { + ["computed"]=> + string(3) "foo" + } +} +>>> Query: + begin transaction + -- no result returned... + update #bug26407 set the_big_answer=42 + commit + +<<< Return: boolean +bool(true) +>>> Query: + select "foo" + begin transaction + -- do anything, even return a result set + commit + select "bar" + + +Notice: sybase_query(): Sybase: Unexpected results, cancelling current in %s/test.inc on line %d +<<< Return: resource +array(1) { + [0]=> + array(1) { + ["computed"]=> + string(3) "foo" + } +} |