compatibility with ext-pq/master
[m6w6/pq-gateway] / tests / setup.inc
index bec6c718515da035756d829d47f00b548e065a2b..fa7af13428ec71522b02d220dd6d81eb3ff0eb8e 100644 (file)
@@ -1,47 +1,45 @@
 <?php
 
+ini_set("date.timezone", "UTC");
+ini_set("error_reporting", E_ALL);
+
 const PQ_TEST_DSN = "";
 
-const PQ_TEST_TABLE_CREATE = <<<SQL
+const PQ_TEST_SETUP_SQL = <<<SQL
+       create extension if not exists hstore;
+       
        drop table if exists test cascade;
        create table test (
                id serial primary key, 
                created timestamp, 
                counter int, 
                number decimal, 
-               data text
-       )
-SQL;
-
-const PQ_TEST_TABLE_DROP = <<<SQL
-       drop table if exists test cascade;
-SQL;
-
-const PQ_TEST_REFTABLE_CREATE = <<<SQL
+               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
        );
-SQL;
-
-const PQ_TEST_REFTABLE_DROP = <<<SQL
-       drop table if exists reftest cascade;
-SQL;
-
-const PQ_TEST_DATA = <<<SQL
-       insert into test values (default, 'yesterday', -1, -1.1, 'yesterday');
-       insert into test values (default, 'today', 0, 0, 'today');
-       insert into test values (default, 'tomorrow', 1, 1.1, 'tomorrow');
+       
+       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;
 
-spl_autoload_register(function($c) {
-       if (substr($c,0,3) == "pq\\") return require_once sprintf("%s/../lib/%s.php", __DIR__, strtr($c, "\\", "/"));
-});
+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();
@@ -74,12 +72,7 @@ class QueryLogger implements \SplObserver
                if (isset($result)) {
                        fprintf($this->fp, "[%s] R %s\n", 
                                date_create()->format("Y-m-d H:i:s"),
-                               json_encode([
-                                       "S" => $result->statusMessage, 
-                                       "N" => $result->numRows, 
-                                       "C" => $result->numCols,
-                                       "A" => $result->affectedRows
-                               ]));
+                               json_encode($result));
                } elseif (($query = $executor->getQuery())) {
                        fprintf($this->fp, "[%s] Q %s %% %s\n", 
                                date_create()->format("Y-m-d H:i:s"),