diff options
Diffstat (limited to 'tests/num.phpt')
-rw-r--r-- | tests/num.phpt | 256 |
1 files changed, 256 insertions, 0 deletions
diff --git a/tests/num.phpt b/tests/num.phpt new file mode 100644 index 0000000000..e9dc6a8ac2 --- /dev/null +++ b/tests/num.phpt @@ -0,0 +1,256 @@ +--TEST-- +oci_num_*() family +--SKIPIF-- +<?php if (!extension_loaded('oci8')) die("skip no oci8 extension"); ?> +--FILE-- +<?php + +require(dirname(__FILE__)."/connect.inc"); + +// Initialize + +$stmtarray = array( + "drop table num_tab", + "create table num_tab (id number, value number)", +); + +foreach ($stmtarray as $stmt) { + $s = oci_parse($c, $stmt); + $r = @oci_execute($s); + if (!$r) { + $m = oci_error($s); + if (!in_array($m['code'], array( // ignore expected errors + 942 // table or view does not exist + ))) { + echo $stmt . PHP_EOL . $m['message'] . PHP_EOL; + } + } +} + +foreach ($stmtarray as $stmt) { + $s = oci_parse($c, $stmt); + oci_execute($s); +} + +// Run Test + +echo "Test 1\n"; +var_dump(ocirowcount()); +var_dump(oci_num_rows()); +var_dump(ocinumcols()); +var_dump(oci_num_fields()); + +echo "Test 2\n"; +$insert_sql = "insert into num_tab (id, value) values (1,1)"; +if (!($s = oci_parse($c, $insert_sql))) { + die("oci_parse(insert) failed!\n"); +} + +var_dump(ocirowcount($s)); +var_dump(oci_num_rows($s)); +var_dump(ocinumcols($s)); +var_dump(oci_num_fields($s)); + +for ($i = 0; $i<3; $i++) { + if (!oci_execute($s)) { + die("oci_execute(insert) failed!\n"); + } +} + +echo "Test 3\n"; +var_dump(ocirowcount($s)); +var_dump(oci_num_rows($s)); +var_dump(ocinumcols($s)); +var_dump(oci_num_fields($s)); + +if (!oci_commit($c)) { + die("oci_commit() failed!\n"); +} + +echo "Test 4\n"; +var_dump(ocirowcount($s)); +var_dump(oci_num_rows($s)); +var_dump(ocinumcols($s)); +var_dump(oci_num_fields($s)); + +// All rows +$select_sql = "select * from num_tab"; + +if (!($s = oci_parse($c, $select_sql))) { + die("oci_parse(select) failed!\n"); +} + +echo "Test 5a\n"; +var_dump(ocirowcount($s)); +var_dump(oci_num_rows($s)); +var_dump(ocinumcols($s)); +var_dump(oci_num_fields($s)); + +if (!oci_execute($s)) { + die("oci_execute(select) failed!\n"); +} + +echo "Test 5b\n"; +var_dump(ocirowcount($s)); +var_dump(oci_num_rows($s)); +var_dump(ocinumcols($s)); +var_dump(oci_num_fields($s)); + + +if (oci_fetch_all($s,$r) === false) { + die("oci_fetch_all(select) failed!\n"); +} + +echo "Test 5c\n"; +var_dump(ocirowcount($s)); +var_dump(oci_num_rows($s)); +var_dump(ocinumcols($s)); +var_dump(oci_num_fields($s)); + +// One row +$select_sql = "SELECT id, value FROM num_tab WHERE ROWNUM < 2"; + +if (!($s = oci_parse($c, $select_sql))) { + die("oci_parse(select) failed!\n"); +} + +if (!oci_execute($s)) { + die("oci_execute(select) failed!\n"); +} + +if (oci_fetch_all($s,$r) === false) { + die("oci_fetch_all(select) failed!\n"); +} + +echo "Test 6\n"; +var_dump(ocirowcount($s)); +var_dump(oci_num_rows($s)); +var_dump(ocinumcols($s)); +var_dump(oci_num_fields($s)); + +// No rows +$select_sql = "select id from num_tab where 1=0"; + +if (!($s = oci_parse($c, $select_sql))) { + die("oci_parse(select) failed!\n"); +} + +if (!oci_execute($s)) { + die("oci_execute(select) failed!\n"); +} + +if (oci_fetch_all($s,$r) === false) { + die("oci_fetch_all(select) failed!\n"); +} + +echo "Test 7\n"; +var_dump(ocirowcount($s)); +var_dump(oci_num_rows($s)); +var_dump(ocinumcols($s)); +var_dump(oci_num_fields($s)); + +$delete_sql = "delete from num_tab"; + +if (!($s = oci_parse($c, $delete_sql))) { + die("oci_parse(delete) failed!\n"); +} + +if (!oci_execute($s)) { + die("oci_execute(delete) failed!\n"); +} + +echo "Test 8a\n"; +var_dump(ocirowcount($s)); +var_dump(oci_num_rows($s)); +var_dump(ocinumcols($s)); +var_dump(oci_num_fields($s)); + + +oci_commit($c); + +echo "Test 8b\n"; +var_dump(ocirowcount($s)); +var_dump(oci_num_rows($s)); +var_dump(ocinumcols($s)); +var_dump(oci_num_fields($s)); + + +// Cleanup + +$stmtarray = array( + "drop table num_tab" +); + +foreach ($stmtarray as $stmt) { + $s = oci_parse($c, $stmt); + oci_execute($s); +} + +echo "Done\n"; + +?> +--EXPECTF-- +Test 1 + +Warning: ocirowcount() expects exactly 1 parameter, 0 given in %s on line %d +NULL + +Warning: oci_num_rows() expects exactly 1 parameter, 0 given in %s on line %d +NULL + +Warning: ocinumcols() expects exactly 1 parameter, 0 given in %s on line %d +NULL + +Warning: oci_num_fields() expects exactly 1 parameter, 0 given in %s on line %d +NULL +Test 2 +int(0) +int(0) +int(0) +int(0) +Test 3 +int(1) +int(1) +int(0) +int(0) +Test 4 +int(1) +int(1) +int(0) +int(0) +Test 5a +int(0) +int(0) +int(0) +int(0) +Test 5b +int(0) +int(0) +int(2) +int(2) +Test 5c +int(3) +int(3) +int(2) +int(2) +Test 6 +int(1) +int(1) +int(2) +int(2) +Test 7 +int(0) +int(0) +int(1) +int(1) +Test 8a +int(3) +int(3) +int(0) +int(0) +Test 8b +int(3) +int(3) +int(0) +int(0) +Done |