bug68760.phpt 790 B

1234567891011121314151617181920212223242526272829303132
  1. --TEST--
  2. Bug #68760 (Callback throws exception behaviour. Segfault in 5.6)
  3. --EXTENSIONS--
  4. sqlite3
  5. --FILE--
  6. <?php
  7. function oopsFunction($a, $b) {
  8. echo "callback".PHP_EOL;
  9. throw new \Exception("oops");
  10. }
  11. $db = new SQLite3(":memory:");
  12. $db->exec("CREATE TABLE test (col1 string)");
  13. $db->exec("INSERT INTO test VALUES ('a1')");
  14. $db->exec("INSERT INTO test VALUES ('a10')");
  15. $db->exec("INSERT INTO test VALUES ('a2')");
  16. try {
  17. $db->createCollation('NATURAL_CMP', 'oopsFunction');
  18. $naturalSort = $db->query("SELECT col1 FROM test ORDER BY col1 COLLATE NATURAL_CMP");
  19. while ($row = $naturalSort->fetchArray()) {
  20. echo $row['col1'], "\n";
  21. }
  22. $db->close();
  23. }
  24. catch(\Exception $e) {
  25. echo "Exception: ".$e->getMessage();
  26. }
  27. ?>
  28. --EXPECT--
  29. callback
  30. Exception: oops