Merge branch 'async'
authorMichael Wallner <mike@php.net>
Wed, 20 May 2015 15:42:36 +0000 (17:42 +0200)
committerMichael Wallner <mike@php.net>
Wed, 20 May 2015 15:42:36 +0000 (17:42 +0200)
lib/pq/Gateway/Table.php
tests/setup.inc

index e365e3772f836ce19a58bc8f2e7a788b07a4f4ee..2789963a35f2ee0ac38620820004a84d0979d35e 100644 (file)
@@ -405,14 +405,26 @@ class Table implements \SplSubject
                        if (!($relation instanceof Table\Reference)) {
                                $relation = static::resolve($relation)->getRelation($this->getName());
                        }
-                       $query->write("JOIN", $relation->foreignTable)->write("ON");
-                       foreach ($relation as $key => $ref) {
-                               $query->criteria(
-                                       array(
-                                               "{$relation->referencedTable}.{$ref}=" => 
-                                                       new QueryExpr("{$relation->foreignTable}.{$key}")
-                                       )
-                               );
+                       if ($this->getName() === $relation->foreignTable) {
+                               $query->write("JOIN", $relation->referencedTable)->write("ON");
+                               foreach ($relation as $key => $ref) {
+                                       $query->criteria(
+                                               array(
+                                                       "{$relation->referencedTable}.{$ref}=" => 
+                                                               new QueryExpr("{$relation->foreignTable}.{$key}")
+                                               )
+                                       );
+                               }
+                       } else {
+                               $query->write("JOIN", $relation->foreignTable)->write("ON");
+                               foreach ($relation as $key => $ref) {
+                                       $query->criteria(
+                                               array(
+                                                       "{$relation->referencedTable}.{$ref}=" => 
+                                                               new QueryExpr("{$relation->foreignTable}.{$key}")
+                                               )
+                                       );
+                               }
                        }
                }
                if ($where) {
index ec2236bf19f9d0131bbf7ecf3dc6511311c72354..bdee9d3ac2da135ab436f61e7644b14ac4df6296 100644 (file)
@@ -3,7 +3,7 @@
 ini_set("date.timezone", "UTC");
 ini_set("error_reporting", E_ALL);
 
-const PQ_TEST_DSN = "";
+define("PQ_TEST_DSN", getenv("PQ_TEST_DSN"));
 
 const PQ_TEST_SETUP_SQL = <<<SQL
        create extension if not exists hstore;