diff options
Diffstat (limited to 'ext/oci8/tests/fetch_object.phpt')
| -rw-r--r-- | ext/oci8/tests/fetch_object.phpt | 155 |
1 files changed, 105 insertions, 50 deletions
diff --git a/ext/oci8/tests/fetch_object.phpt b/ext/oci8/tests/fetch_object.phpt index 57b7fc03d..674a88ff2 100644 --- a/ext/oci8/tests/fetch_object.phpt +++ b/ext/oci8/tests/fetch_object.phpt @@ -5,78 +5,133 @@ oci_fetch_object() --FILE-- <?php -require dirname(__FILE__)."/connect.inc"; -require dirname(__FILE__).'/create_table.inc'; +require(dirname(__FILE__).'/connect.inc'); -$insert_sql = "INSERT INTO ".$schema."".$table_name." (id, value) VALUES (1,1)"; +// Initialization -if (!($s = oci_parse($c, $insert_sql))) { - die("oci_parse(insert) failed!\n"); -} +$stmtarray = array( + "drop table fetch_object_tab", + "create table fetch_object_tab (\"caseSensitive\" number, secondcol varchar2(20), anothercol char(15))", + "insert into fetch_object_tab values (123, '1st row col2 string', '1 more text')", + "insert into fetch_object_tab values (456, '2nd row col2 string', '2 more text')", + "insert into fetch_object_tab values (789, '3rd row col2 string', '3 more text')", +); -for ($i = 0; $i<3; $i++) { - if (!oci_execute($s)) { - die("oci_execute(insert) failed!\n"); +foreach ($stmtarray as $stmt) { + $s = oci_parse($c, $stmt); + $r = @oci_execute($s); + if (!$r) { + $m = oci_error($s); + if (!in_array($m['code'], array( // ignore expected errors + 942 // table or view does not exist + , 2289 // sequence does not exist + , 4080 // trigger does not exist + , 38802 // edition does not exist + ))) { + echo $stmt . PHP_EOL . $m['message'] . PHP_EOL; + } } } -if (!oci_commit($c)) { - die("oci_commit() failed!\n"); -} +// Run Test -$select_sql = "SELECT * FROM ".$schema."".$table_name.""; +echo "Test 1\n"; -if (!($s = oci_parse($c, $select_sql))) { +if (!($s = oci_parse($c, 'select * from fetch_object_tab'))) { die("oci_parse(select) failed!\n"); } if (!oci_execute($s)) { die("oci_execute(select) failed!\n"); } + while ($row = oci_fetch_object($s)) { var_dump($row); } -require dirname(__FILE__).'/drop_table.inc'; +echo "Test 2\n"; + +if (!($s = oci_parse($c, 'select * from fetch_object_tab'))) { + die("oci_parse(select) failed!\n"); +} + +if (!oci_execute($s)) { + die("oci_execute(select) failed!\n"); +} -echo "Done\n"; +while ($row = oci_fetch_object($s)) { + echo $row->caseSensitive . "\n"; + echo $row->SECONDCOL . "\n"; + echo $row->ANOTHERCOL . "\n"; +} + +echo "Test 3\n"; + +if (!($s = oci_parse($c, 'select * from fetch_object_tab where rownum < 2 order by "caseSensitive"'))) { + die("oci_parse(select) failed!\n"); +} + +if (!oci_execute($s)) { + die("oci_execute(select) failed!\n"); +} + +$row = oci_fetch_object($s); +echo $row->caseSensitive . "\n"; +echo $row->CASESENSITIVE . "\n"; + +// Clean up + +$stmtarray = array( + "drop table fetch_object_tab" +); + +foreach ($stmtarray as $stmt) { + $s = oci_parse($c, $stmt); + oci_execute($s); +} ?> +===DONE=== +<?php exit(0); ?> --EXPECTF-- -object(stdClass)#%d (5) { - ["ID"]=> - string(1) "1" - ["VALUE"]=> - string(1) "1" - ["BLOB"]=> - NULL - ["CLOB"]=> - NULL - ["STRING"]=> - NULL +Test 1 +object(stdClass)#1 (3) { + [%u|b%"caseSensitive"]=> + %unicode|string%(3) "123" + [%u|b%"SECONDCOL"]=> + %unicode|string%(19) "1st row col2 string" + [%u|b%"ANOTHERCOL"]=> + %unicode|string%(15) "1 more text " } -object(stdClass)#%d (5) { - ["ID"]=> - string(1) "1" - ["VALUE"]=> - string(1) "1" - ["BLOB"]=> - NULL - ["CLOB"]=> - NULL - ["STRING"]=> - NULL +object(stdClass)#2 (3) { + [%u|b%"caseSensitive"]=> + %unicode|string%(3) "456" + [%u|b%"SECONDCOL"]=> + %unicode|string%(19) "2nd row col2 string" + [%u|b%"ANOTHERCOL"]=> + %unicode|string%(15) "2 more text " } -object(stdClass)#%d (5) { - ["ID"]=> - string(1) "1" - ["VALUE"]=> - string(1) "1" - ["BLOB"]=> - NULL - ["CLOB"]=> - NULL - ["STRING"]=> - NULL +object(stdClass)#1 (3) { + [%u|b%"caseSensitive"]=> + %unicode|string%(3) "789" + [%u|b%"SECONDCOL"]=> + %unicode|string%(19) "3rd row col2 string" + [%u|b%"ANOTHERCOL"]=> + %unicode|string%(15) "3 more text " } -Done +Test 2 +123 +1st row col2 string +1 more text +456 +2nd row col2 string +2 more text +789 +3rd row col2 string +3 more text +Test 3 +123 + +Notice: Undefined property: stdClass::$CASESENSITIVE in %sfetch_object.php on line %d + +===DONE=== |
