ddl.phpt 949 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. --TEST--
  2. PDO_Firebird: DDL/transactions
  3. --SKIPIF--
  4. <?php include("skipif.inc"); ?>
  5. <?php function_exists("ibase_query") or die("skip"); ?>
  6. --FILE--
  7. <?php /* $Id$ */
  8. require("testdb.inc");
  9. $db = new PDO("firebird:dbname=$test_base",$user,$password) or die;
  10. $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
  11. $db->exec("CREATE TABLE ddl (id INT NOT NULL PRIMARY KEY, text BLOB SUB_TYPE 1)");
  12. $db->exec("CREATE GENERATOR gen_ddl_id");
  13. $db->exec("CREATE TRIGGER ddl_bi FOR ddl BEFORE INSERT AS
  14. BEGIN IF (NEW.id IS NULL) THEN NEW.id=GEN_ID(gen_ddl_id,1); END");
  15. $db->setAttribute(PDO::ATTR_AUTOCOMMIT,0);
  16. $db->beginTransaction();
  17. var_dump($db->exec("INSERT INTO ddl (text) VALUES ('bla')"));
  18. var_dump($db->exec("UPDATE ddl SET text='blabla'"));
  19. $db->rollback();
  20. $db->beginTransaction();
  21. var_dump($db->exec("DELETE FROM ddl"));
  22. $db->commit();
  23. unset($db);
  24. echo "done\n";
  25. ?>
  26. --EXPECT--
  27. int(1)
  28. int(1)
  29. int(0)
  30. done