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