Annotation of embedaddon/php/ext/oci8/tests/lob_043.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: Bug #49560 (LOB resource destructor and refcount test)
! 3: --SKIPIF--
! 4: <?php
! 5: $target_dbs = array('oracledb' => true, 'timesten' => false); // test runs on these DBs
! 6: require(dirname(__FILE__).'/skipif.inc');
! 7: if (getenv('SKIP_SLOW_TESTS')) die('skip slow tests excluded by request');
! 8: ?>
! 9: --FILE--
! 10: <?php
! 11:
! 12: require(dirname(__FILE__).'/connect.inc');
! 13:
! 14: // Initialization
! 15:
! 16: $stmtarray = array(
! 17: "drop table lob_043_tab",
! 18: "create table lob_043_tab(id number, c1 clob)",
! 19: "begin
! 20: for i in 1..50000 loop
! 21: insert into lob_043_tab (id, c1) values (i, i || ' abcdefghijklmnopq');
! 22: end loop;
! 23: end;",
! 24: );
! 25:
! 26: oci8_test_sql_execute($c, $stmtarray);
! 27:
! 28: // Run Test
! 29:
! 30: function f1($c)
! 31: {
! 32: $s = oci_parse($c, 'select id, c1 from lob_043_tab order by id');
! 33: oci_execute($s);
! 34: $r = array();
! 35: while (($row = oci_fetch_array($s, OCI_RETURN_NULLS+OCI_ASSOC+OCI_RETURN_LOBS)) !== false) {
! 36: $r[] = $row['C1'];
! 37: }
! 38: echo "f1 ended\n";
! 39: return $r;
! 40: }
! 41:
! 42: function f2($c)
! 43: {
! 44: $s = oci_parse($c, 'select id, c1 from lob_043_tab order by id');
! 45: oci_execute($s);
! 46: $r = array();
! 47: while (($row = oci_fetch_array($s, OCI_RETURN_NULLS+OCI_ASSOC)) !== false) {
! 48: $r[] = $row['C1'];
! 49: }
! 50: echo "f2 ended\n";
! 51: return $r;
! 52: }
! 53:
! 54: echo "Test 1\n";
! 55: $r = f1($c);
! 56: /*
! 57: foreach ($r as $v) {
! 58: echo $v, "\n";
! 59: }
! 60: */
! 61:
! 62: echo "Test 2\n";
! 63: $r = f2($c);
! 64: /*
! 65: foreach ($r as $v) {
! 66: echo $v->load(), "\n";
! 67: }
! 68: */
! 69:
! 70: // Clean up
! 71:
! 72: $stmtarray = array(
! 73: "drop table lob_043_tab"
! 74: );
! 75:
! 76: oci8_test_sql_execute($c, $stmtarray);
! 77:
! 78: oci_close($c);
! 79:
! 80: ?>
! 81: ===DONE===
! 82: <?php exit(0); ?>
! 83: --EXPECTF--
! 84: Test 1
! 85: f1 ended
! 86: Test 2
! 87: f2 ended
! 88: ===DONE===
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>