Annotation of embedaddon/php/ext/oci8/tests/bug42496_2.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: Bug #42496 (LOB fetch leaks cursors, eventually failing with ORA-1000 maximum open cursors reached)
! 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 bug42496_2_tab",
! 18: "CREATE table bug42496_2_tab(c1 CLOB, c2 CLOB)",
! 19: "INSERT INTO bug42496_2_tab VALUES('test1', 'test1')",
! 20: "INSERT INTO bug42496_2_tab VALUES('test2', 'test2')",
! 21: "INSERT INTO bug42496_2_tab VALUES('test3', 'test3')"
! 22: );
! 23:
! 24: oci8_test_sql_execute($c, $stmtarray);
! 25:
! 26: // Run Test
! 27:
! 28: echo "Test 2\n";
! 29:
! 30: for ($i = 0; $i < 15000; $i++) {
! 31: $s = oci_parse($c, "SELECT * from bug42496_2_tab");
! 32: if (oci_execute($s)) {
! 33: $arr = array();
! 34: while ($arr = oci_fetch_assoc($s)) {
! 35: $arr['C1']->free();
! 36: $arr['C2']->free();
! 37: }
! 38: }
! 39: oci_free_statement($s);
! 40: }
! 41:
! 42: echo "Done\n";
! 43:
! 44: // Cleanup
! 45:
! 46: $stmtarray = array(
! 47: "DROP table bug42496_2_tab"
! 48: );
! 49:
! 50: oci8_test_sql_execute($c, $stmtarray);
! 51:
! 52: ?>
! 53: --EXPECTF--
! 54: Test 2
! 55: Done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>