Annotation of embedaddon/php/ext/oci8/tests/lob_018.phpt, revision 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>