coll_016_func.phpt 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. --TEST--
  2. collections and negative/too big element indexes
  3. --EXTENSIONS--
  4. oci8
  5. --SKIPIF--
  6. <?php
  7. $target_dbs = array('oracledb' => true, 'timesten' => false); // test runs on these DBs
  8. require(__DIR__.'/skipif.inc');
  9. ?>
  10. --FILE--
  11. <?php
  12. require __DIR__."/connect.inc";
  13. $ora_sql = "DROP TYPE
  14. ".$type_name."
  15. ";
  16. $statement = oci_parse($c,$ora_sql);
  17. @oci_execute($statement);
  18. $ora_sql = "CREATE TYPE ".$type_name." AS TABLE OF NUMBER";
  19. $statement = oci_parse($c,$ora_sql);
  20. oci_execute($statement);
  21. $coll1 = oci_new_collection($c, $type_name);
  22. var_dump(oci_collection_append($coll1, 1));
  23. var_dump(oci_collection_element_assign($coll1,-1,2345));
  24. var_dump(oci_collection_element_assign($coll1,5000,2345));
  25. var_dump(oci_collection_element_get($coll1, -1));
  26. var_dump(oci_collection_element_get($coll1, -100));
  27. var_dump(oci_collection_element_get($coll1, 500));
  28. echo "Done\n";
  29. require __DIR__."/drop_type.inc";
  30. ?>
  31. --EXPECTF--
  32. bool(true)
  33. Warning: oci_collection_element_assign(): OCI-22165: given index [%d] must be in the range of%s0%sto [0] in %s on line %d
  34. bool(false)
  35. Warning: oci_collection_element_assign(): OCI-22165: given index [5000] must be in the range of%s0%sto [0] in %s on line %d
  36. bool(false)
  37. bool(false)
  38. bool(false)
  39. bool(false)
  40. Done