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

1.1       misho       1: --TEST--
                      2: fetching the same lob several times
                      3: --SKIPIF--
                      4: <?php
                      5: $target_dbs = array('oracledb' => true, 'timesten' => false);  // test runs on these DBs
                      6: require(dirname(__FILE__).'/skipif.inc');
                      7: ?> 
                      8: --FILE--
                      9: <?php
                     10:        
                     11: require(dirname(__FILE__).'/connect.inc');
                     12: 
                     13: // Initialization
                     14: 
                     15: $stmtarray = array(
                     16:        "drop table lob_018_tab",
                     17:        "create table lob_018_tab (mykey number, lob_1 clob)",
                     18: );
                     19: 
                     20: oci8_test_sql_execute($c, $stmtarray);
                     21: 
                     22: echo "Test 1\n";
                     23: 
                     24: $init = "insert into lob_018_tab (mykey, lob_1) values(1, empty_clob()) returning lob_1 into :mylob";
                     25: $statement = oci_parse($c, $init);
                     26: $clob = oci_new_descriptor($c, OCI_D_LOB);
                     27: oci_bind_by_name($statement, ":mylob", $clob, -1, OCI_B_CLOB);
                     28: oci_execute($statement, OCI_DEFAULT);
                     29: $clob->save("data");
                     30: 
                     31: oci_commit($c);
                     32: 
                     33: $init = "insert into lob_018_tab (mykey, lob_1) values(2, empty_clob()) returning lob_1 into :mylob";
                     34: $statement = oci_parse($c, $init);
                     35: $clob = oci_new_descriptor($c, OCI_D_LOB);
                     36: oci_bind_by_name($statement, ":mylob", $clob, -1, OCI_B_CLOB);
                     37: oci_execute($statement, OCI_DEFAULT);
                     38: $clob->save("long data");
                     39: 
                     40: oci_commit($c);
                     41: 
                     42: 
                     43: $query = 'select * from lob_018_tab order by mykey asc';
                     44: $statement = oci_parse ($c, $query);
                     45: oci_execute($statement, OCI_DEFAULT);
                     46: 
                     47: while ($row = oci_fetch_array($statement, OCI_ASSOC)) {
                     48:        $result = $row['LOB_1']->load();
                     49:        var_dump($result);
                     50: }
                     51: 
                     52: echo "Test 2\n";
                     53: 
                     54: $query = 'select * from lob_018_tab order by mykey desc';
                     55: $statement = oci_parse ($c, $query);
                     56: oci_execute($statement, OCI_DEFAULT);
                     57: 
                     58: while ($row = oci_fetch_array($statement, OCI_ASSOC)) {
                     59:        $result = $row['LOB_1']->load();
                     60:        var_dump($result);
                     61: }
                     62: 
                     63: echo "Test 3 - bind with SQLT_CLOB (an alias for OCI_B_CLOB)\n";
                     64: 
                     65: $init = "insert into lob_018_tab (mykey, lob_1) values(3, empty_clob()) returning lob_1 into :mylob";
                     66: $statement = oci_parse($c, $init);
                     67: $clob = oci_new_descriptor($c, OCI_D_LOB);
                     68: oci_bind_by_name($statement, ":mylob", $clob, -1, SQLT_CLOB);
                     69: oci_execute($statement, OCI_DEFAULT);
                     70: $clob->save("more stuff");
                     71: 
                     72: oci_commit($c);
                     73: 
                     74: $query = 'select * from lob_018_tab where mykey = 3';
                     75: $statement = oci_parse ($c, $query);
                     76: oci_execute($statement, OCI_DEFAULT);
                     77: 
                     78: while ($row = oci_fetch_array($statement, OCI_ASSOC)) {
                     79:        $result = $row['LOB_1']->load();
                     80:        var_dump($result);
                     81: }
                     82: 
                     83: // Cleanup
                     84: 
                     85: $stmtarray = array(
                     86:     "drop table lob_018_tab"
                     87: );
                     88: 
                     89: oci8_test_sql_execute($c, $stmtarray);
                     90: 
                     91: ?>
                     92: ===DONE===
                     93: <?php exit(0); ?>
                     94: --EXPECTF--
                     95: Test 1
                     96: string(4) "data"
                     97: string(9) "long data"
                     98: Test 2
                     99: string(9) "long data"
                    100: string(4) "data"
                    101: Test 3 - bind with SQLT_CLOB (an alias for OCI_B_CLOB)
                    102: string(10) "more stuff"
                    103: ===DONE===

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