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>