Annotation of embedaddon/php/ext/oci8/tests/lob_041.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: Check LOBS are valid after statement free
! 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_041_tab",
! 17: "CREATE table lob_041_tab(c1 CLOB)",
! 18: "INSERT INTO lob_041_tab VALUES('test data')"
! 19: );
! 20:
! 21: oci8_test_sql_execute($c, $stmtarray);
! 22:
! 23: echo "Test 1 - explicit statement close\n";
! 24:
! 25: $s = oci_parse($c, "SELECT C1 FROM lob_041_tab");
! 26: $desc = oci_new_descriptor($c, OCI_DTYPE_LOB);
! 27: oci_define_by_name($s, "C1", $desc);
! 28: oci_execute($s);
! 29: $data = oci_fetch_assoc($s);
! 30: oci_free_statement($s);
! 31: echo $data['C1']->load(), "\n";
! 32: oci_free_descriptor($desc);
! 33:
! 34: echo "\nTest 2 - implicit statement close\n";
! 35:
! 36: $s = oci_parse($c, "SELECT C1 FROM lob_041_tab");
! 37: $desc = oci_new_descriptor($c, OCI_DTYPE_LOB);
! 38: oci_define_by_name($s, "C1", $desc);
! 39: oci_execute($s);
! 40: $data = oci_fetch_assoc($s);
! 41: $s = null;
! 42: echo $data['C1']->load(), "\n";
! 43: oci_free_descriptor($desc);
! 44: var_dump($desc);
! 45:
! 46: echo "\nTest 3 - no preallocated descriptor\n";
! 47:
! 48: $s = oci_parse($c, "SELECT C1 FROM lob_041_tab");
! 49: oci_execute($s);
! 50: $data = oci_fetch_assoc($s);
! 51: $s = null;
! 52: echo $data['C1']->load(), "\n";
! 53: var_dump($data);
! 54:
! 55: // Cleanup
! 56:
! 57: echo "Done\n";
! 58:
! 59: $stmtarray = array(
! 60: "DROP table lob_041_tab"
! 61: );
! 62:
! 63: oci8_test_sql_execute($c, $stmtarray);
! 64:
! 65: ?>
! 66:
! 67: --EXPECTF--
! 68: Test 1 - explicit statement close
! 69: test data
! 70:
! 71: Test 2 - implicit statement close
! 72: test data
! 73: object(OCI-Lob)#%d (1) {
! 74: ["descriptor"]=>
! 75: resource(%d) of type (oci8 descriptor)
! 76: }
! 77:
! 78: Test 3 - no preallocated descriptor
! 79: test data
! 80: array(1) {
! 81: ["C1"]=>
! 82: object(OCI-Lob)#%d (1) {
! 83: ["descriptor"]=>
! 84: resource(%d) of type (oci8 descriptor)
! 85: }
! 86: }
! 87: Done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>