summaryrefslogtreecommitdiff
path: root/ext/pdo_firebird/tests/ddl.phpt
diff options
context:
space:
mode:
Diffstat (limited to 'ext/pdo_firebird/tests/ddl.phpt')
-rw-r--r--ext/pdo_firebird/tests/ddl.phpt38
1 files changed, 38 insertions, 0 deletions
diff --git a/ext/pdo_firebird/tests/ddl.phpt b/ext/pdo_firebird/tests/ddl.phpt
new file mode 100644
index 0000000..9d2a095
--- /dev/null
+++ b/ext/pdo_firebird/tests/ddl.phpt
@@ -0,0 +1,38 @@
+--TEST--
+PDO_Firebird: DDL/transactions
+--SKIPIF--
+<?php include("skipif.inc"); ?>
+<?php function_exists("ibase_query") or die("skip"); ?>
+--FILE--
+<?php /* $Id$ */
+
+ require("testdb.inc");
+
+ $db = new PDO("firebird:dbname=$test_base",$user,$password) or die;
+ $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
+
+ $db->exec("CREATE TABLE ddl (id INT NOT NULL PRIMARY KEY, text BLOB SUB_TYPE 1)");
+ $db->exec("CREATE GENERATOR gen_ddl_id");
+ $db->exec("CREATE TRIGGER ddl_bi FOR ddl BEFORE INSERT AS
+ BEGIN IF (NEW.id IS NULL) THEN NEW.id=GEN_ID(gen_ddl_id,1); END");
+
+ $db->setAttribute(PDO::ATTR_AUTOCOMMIT,0);
+
+ $db->beginTransaction();
+ var_dump($db->exec("INSERT INTO ddl (text) VALUES ('bla')"));
+ var_dump($db->exec("UPDATE ddl SET text='blabla'"));
+ $db->rollback();
+
+ $db->beginTransaction();
+ var_dump($db->exec("DELETE FROM ddl"));
+ $db->commit();
+
+ unset($db);
+ echo "done\n";
+
+?>
+--EXPECT--
+int(1)
+int(1)
+int(0)
+done