- data text
- )
-SQL
- , PQ_TEST_TABLE_NAME));
-define("PQ_TEST_DROP_TABLE", sprintf("drop table if exists %s", PQ_TEST_TABLE_NAME));
-define("PQ_TEST_CREATE_DATA", sprintf(
-<<<SQL
- insert into %1\$s values (default, 'yesterday', -1, -1.1, 'yesterday');
- insert into %1\$s values (default, 'today', 0, 0, 'today');
- insert into %1\$s values (default, 'tomorrow', 1, 1.1, 'tomorrow');
-SQL
- , PQ_TEST_TABLE_NAME
-));
+ data text,
+ list int[],
+ prop hstore
+ );
+
+ drop table if exists reftest cascade;
+ create table reftest (
+ test_id integer not null references test on delete cascade,
+ another_test_id integer not null references test on delete cascade
+ );
+
+ insert into test values (default, 'yesterday', -1, -1.1, 'yesterday', '{-1,0,1}');
+ insert into test values (default, 'today', 0, 0, 'today', '{0,1,2}');
+ insert into test values (default, 'tomorrow', 1, 1.1, 'tomorrow', '{1,2,3}');
+
+ insert into reftest values (1,3);
+ insert into reftest values (2,2);
+ insert into reftest values (3,1);
+SQL;
+
+const PQ_TEST_TEARDOWN_SQL = <<<SQL
+ drop table if exists test cascade;
+ drop table if exists reftest cascade;
+SQL;
+
+include_once __DIR__ . "/../lib/autoload.php";
+
+function executeInConcurrentTransaction(\pq\Query\ExecutorInterface $exec, $sql, array $params = null) {
+ $conn = $exec->getConnection();
+ $exec->setConnection(new pq\Connection(PQ_TEST_DSN));
+ $exec->execute(new \pq\Query\Writer($sql, $params), function(){});
+ $exec->setConnection($conn);
+}