From ead84035f8aed19f2475ff429a0f6d8f1e4bb2ff Mon Sep 17 00:00:00 2001
From: zYne <zYne@625475ce-881a-0410-a577-b389adb331d8>
Date: Mon, 15 Oct 2007 22:01:04 +0000
Subject: [PATCH]

---
 lib/Doctrine/Connection.php |  6 +++---
 lib/Doctrine/Table.php      | 22 ++++++++++++----------
 2 files changed, 15 insertions(+), 13 deletions(-)

diff --git a/lib/Doctrine/Connection.php b/lib/Doctrine/Connection.php
index cc0a56c4b..1e33e5971 100644
--- a/lib/Doctrine/Connection.php
+++ b/lib/Doctrine/Connection.php
@@ -900,12 +900,12 @@ abstract class Doctrine_Connection extends Doctrine_Configurable implements Coun
         $class = $name . 'Table';
 
         if (class_exists($class) && in_array('Doctrine_Table', class_parents($class))) {
-            $table = new $class($name, $this);
+            $table = new $class($name, $this, true);
         } else {
-            $table = new Doctrine_Table($name, $this);
+            $table = new Doctrine_Table($name, $this, true);
         }
 
-        $this->tables[$name] = $table; 
+        $this->tables[$name] = $table;
 
         return $table;
     }
diff --git a/lib/Doctrine/Table.php b/lib/Doctrine/Table.php
index 526e41037..4c432492e 100644
--- a/lib/Doctrine/Table.php
+++ b/lib/Doctrine/Table.php
@@ -176,7 +176,7 @@ class Doctrine_Table extends Doctrine_Configurable implements Countable
      * @param string $name                      the name of the component
      * @param Doctrine_Connection $conn         the connection associated with this table
      */
-    public function __construct($name, Doctrine_Connection $conn)
+    public function __construct($name, Doctrine_Connection $conn, $initDefinition = false)
     {
         $this->_conn = $conn;
 
@@ -185,15 +185,17 @@ class Doctrine_Table extends Doctrine_Configurable implements Countable
         $this->_options['name'] = $name;
         $this->_parser = new Doctrine_Relation_Parser($this);
 
-        $record = $this->initDefinition($name);
-
-        $this->initIdentifier();
-
-        $record->setUp();
-
-        // if tree, set up tree
-        if ($this->isTree()) {
-            $this->getTree()->setUp();
+        if ($initDefinition) {
+            $record = $this->initDefinition($name);
+    
+            $this->initIdentifier();
+    
+            $record->setUp();
+    
+            // if tree, set up tree
+            if ($this->isTree()) {
+                $this->getTree()->setUp();
+            }
         }
         $this->_filters[]  = new Doctrine_Record_Filter_Standard();
         $this->_repository = new Doctrine_Table_Repository($this);