Annotation of embedaddon/php/ext/oci8/tests/define5.phpt, revision 1.1.1.1

1.1       misho       1: --TEST--
                      2: oci_define_by_name() for statement re-execution
                      3: --SKIPIF--
                      4: <?php if (!extension_loaded('oci8')) die("skip no oci8 extension"); ?>
                      5: --FILE--
                      6: <?php
                      7: 
                      8: require(dirname(__FILE__)."/connect.inc");
                      9: 
                     10: // Initialize
                     11: 
                     12: $stmtarray = array(
                     13:     "drop table define5_tab",
                     14:     "create table define5_tab (id number, string varchar(10))",
                     15:     "insert into define5_tab (id, string) values (1, 'some')",
                     16:     "insert into define5_tab (id, string) values (2, 'thing')",
                     17: );
                     18: 
                     19: oci8_test_sql_execute($c, $stmtarray);
                     20: 
                     21: // Run test
                     22: 
                     23: echo "Test 1 - must do define before execute\n";
                     24: $stmt = oci_parse($c, "select string from define5_tab where id = 1");
                     25: oci_execute($stmt);
                     26: var_dump(oci_define_by_name($stmt, "STRING", $string));
                     27: while (oci_fetch($stmt)) {
                     28:        var_dump($string);  // gives NULL
                     29:        var_dump(oci_result($stmt, 'STRING'));
                     30: }
                     31: 
                     32: echo "Test 2 - normal define order\n";
                     33: $stmt = oci_parse($c, "select string from define5_tab where id = 1");
                     34: var_dump(oci_define_by_name($stmt, "STRING", $string));
                     35: oci_execute($stmt);
                     36: 
                     37: while (oci_fetch($stmt)) {
                     38:        var_dump($string);
                     39: }
                     40: 
                     41: echo "Test 3 - no new define done\n";
                     42: $stmt = oci_parse($c, "select string from define5_tab where id = 2");
                     43: oci_execute($stmt);
                     44: while (oci_fetch($stmt)) {
                     45:        var_dump($string); // not updated with new value
                     46:        var_dump(oci_result($stmt, 'STRING'));
                     47: }
                     48: 
                     49: // Cleanup
                     50: 
                     51: $stmtarray = array(
                     52:     "drop table define5_tab"
                     53: );
                     54: 
                     55: oci8_test_sql_execute($c, $stmtarray);
                     56: 
                     57: echo "Done\n";
                     58: 
                     59: ?>
                     60: --EXPECTF--
                     61: Test 1 - must do define before execute
                     62: bool(true)
                     63: NULL
                     64: %unicode|string%(4) "some"
                     65: Test 2 - normal define order
                     66: bool(true)
                     67: %unicode|string%(4) "some"
                     68: Test 3 - no new define done
                     69: %unicode|string%(4) "some"
                     70: %unicode|string%(5) "thing"
                     71: Done
                     72: 

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>