From 9d33c5e8f0f0235f2620e63f3be4f57b058df9b5 Mon Sep 17 00:00:00 2001 From: Timothy Warren Date: Mon, 12 Mar 2012 15:46:55 -0400 Subject: [PATCH] Generalized query_builder '_reset' method --- sys/db/query_builder.php | 29 ++++++++++++++++++++++------- tests/test_dbs/FB_TEST_DB.FDB | Bin 802816 -> 802816 bytes 2 files changed, 22 insertions(+), 7 deletions(-) diff --git a/sys/db/query_builder.php b/sys/db/query_builder.php index 9b93b50..05f95b2 100644 --- a/sys/db/query_builder.php +++ b/sys/db/query_builder.php @@ -464,13 +464,28 @@ class Query_Builder { */ private function _reset() { - unset($this->table); - unset($this->where_array); - unset($this->where_string); - unset($this->select_string); - unset($this->from_string); - unset($this->limit); - unset($this->offset); + // Only unset class variables that + // are not callable. Otherwise, we'll + // delete class methods! + foreach($this as $name => $var) + { + // Skip properties that are needed for every query + $save_properties = array( + 'db', + 'sql' + ); + + if (in_array($name, $save_properties)) + { + continue; + } + + // Nothing query-generation related is safe! + if ( ! is_callable($this->$name)) + { + unset($this->$name); + } + } } // -------------------------------------------------------------------------- diff --git a/tests/test_dbs/FB_TEST_DB.FDB b/tests/test_dbs/FB_TEST_DB.FDB index e7d355c3f102b817faf4fa53b83b9e1ab1f72708..32b118f7eae24ebdb273433faf111197cc0bb598 100755 GIT binary patch delta 669 zcmYMy%}X3H6aetNB(rO0(wW$**lmkhM*N_c-II6|FCK)_g|e4|-D7Vp_zw&U@#0~( z1p|5&FG9Cgbn8J^-K)iW5%f~LwLP^es;p zeJ@Pti8w!$6+C3Fu7gp!EzE)^9@7D48efALHk`SKW*v>pjC97J3DK-LBdqxqOac-= zBfcZcNcxa0I+A1N&9@%m8R3q+MnaLiOv$4>t-?RTu)GD#bwksm-#GXJ;a}>GH1Bf# zrbhnh&P6EpN?!5MDB@auZws4MQxw{hbnmFB8tf;8>`VId1d>VXl$o47(vIS cX=7=pSlVHBrbCyfjd=>J)nAA2QKL5SA69FUiU0rr delta 270 zcmZo@Fl=Zr^kZbOG-%>wKmY;m24*M^M4Rw1FgO4)0|OJ|>{|>BA?D}REx8~H1Q?ir zFagYA1d=8^n-vo_@lO(9;av