Annotation of embedaddon/php/ext/oci8/tests/bug46994.phpt, revision 1.1

1.1     ! misho       1: --TEST--
        !             2: Bug #46994 (CLOB size does not update when using CLOB IN OUT param in stored procedure)
        !             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:        "create or replace procedure bug46994_proc1(p1 in out nocopy clob) is
        !            17:                 begin
        !            18:                         dbms_lob.trim(p1, 0);
        !            19:                         dbms_lob.writeappend(p1, 26, 'This should be the output.');
        !            20:          end bug46994_proc1;",
        !            21:        "create or replace procedure bug46994_proc2(p1 in out nocopy clob) is
        !            22:                 begin
        !            23:                         dbms_lob.trim(p1, 0);
        !            24:                         dbms_lob.writeappend(p1, 37, 'The output should be even longer now.');
        !            25:          end bug46994_proc2;"
        !            26: );
        !            27: 
        !            28: oci8_test_sql_execute($c, $stmtarray);
        !            29: 
        !            30: // Run Test
        !            31: 
        !            32: $myclob = oci_new_descriptor($c, OCI_D_LOB);
        !            33: $myclob->writeTemporary("some data", OCI_TEMP_CLOB);
        !            34: 
        !            35: echo "Test 1\n";
        !            36: 
        !            37: $s = oci_parse($c, "begin bug46994_proc1(:myclob); end;");
        !            38: oci_bind_by_name($s, ":myclob", $myclob, -1, SQLT_CLOB);
        !            39: oci_execute($s, OCI_DEFAULT);
        !            40: var_dump($myclob->load());
        !            41: 
        !            42: echo "Test 2\n";
        !            43: 
        !            44: $s = oci_parse($c, "begin bug46994_proc2(:myclob); end;");
        !            45: oci_bind_by_name($s, ":myclob", $myclob, -1, SQLT_CLOB);
        !            46: oci_execute($s, OCI_DEFAULT);
        !            47: var_dump($myclob->load());
        !            48: 
        !            49: echo "Test 3\n";
        !            50: 
        !            51: $s = oci_parse($c, "begin bug46994_proc1(:myclob); end;");
        !            52: oci_bind_by_name($s, ":myclob", $myclob, -1, SQLT_CLOB);
        !            53: oci_execute($s, OCI_DEFAULT);
        !            54: var_dump($myclob->load());
        !            55: 
        !            56: echo "Test 4\n";
        !            57: 
        !            58: var_dump($myclob->load());  // Use cached size code path
        !            59: 
        !            60: // Cleanup
        !            61: 
        !            62: $stmtarray = array(
        !            63:        "drop procedure bug46994_proc1",
        !            64:        "drop procedure bug46994_proc2"
        !            65: );
        !            66: 
        !            67: oci8_test_sql_execute($c, $stmtarray);
        !            68: 
        !            69: oci_close($c);
        !            70: 
        !            71: ?>
        !            72: ===DONE===
        !            73: <?php exit(0); ?>
        !            74: --EXPECTF--
        !            75: Test 1
        !            76: string(26) "This should be the output."
        !            77: Test 2
        !            78: string(37) "The output should be even longer now."
        !            79: Test 3
        !            80: string(26) "This should be the output."
        !            81: Test 4
        !            82: string(26) "This should be the output."
        !            83: ===DONE===

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