Branch 'dev/kolab-cache-refactoring' - plugins/libkolab

Thomas Brüderli bruederli at kolabsys.com
Mon Oct 7 19:21:17 CEST 2013


 plugins/libkolab/SQL/mysql.initial.sql        |    1 -
 plugins/libkolab/SQL/mysql/2013100400.sql     |    1 -
 plugins/libkolab/lib/kolab_storage_folder.php |   13 ++++++-------
 3 files changed, 6 insertions(+), 9 deletions(-)

New commits:
commit 6fb8c71095b0963f8396c995126dcfb02a86e25c
Author: Thomas Bruederli <bruederli at kolabsys.com>
Date:   Mon Oct 7 19:20:45 2013 +0200

    Fix queries to kolab_storage that include (obsolete) 'type'

diff --git a/plugins/libkolab/SQL/mysql.initial.sql b/plugins/libkolab/SQL/mysql.initial.sql
index 97218b6..c6bcb89 100644
--- a/plugins/libkolab/SQL/mysql.initial.sql
+++ b/plugins/libkolab/SQL/mysql.initial.sql
@@ -126,7 +126,6 @@ CREATE TABLE `kolab_cache_file` (
   `xml` TEXT NOT NULL,
   `tags` VARCHAR(255) NOT NULL,
   `words` TEXT NOT NULL,
-  `type` VARCHAR(32) CHARACTER SET ascii NOT NULL,
   `filename` varchar(255) DEFAULT NULL,
   CONSTRAINT `fk_kolab_cache_file_folder` FOREIGN KEY (`folder_id`)
     REFERENCES `kolab_folders`(`ID`) ON DELETE CASCADE ON UPDATE CASCADE,
diff --git a/plugins/libkolab/SQL/mysql/2013100400.sql b/plugins/libkolab/SQL/mysql/2013100400.sql
index aed3557..efd4962 100644
--- a/plugins/libkolab/SQL/mysql/2013100400.sql
+++ b/plugins/libkolab/SQL/mysql/2013100400.sql
@@ -101,7 +101,6 @@ CREATE TABLE `kolab_cache_file` (
   `xml` TEXT NOT NULL,
   `tags` VARCHAR(255) NOT NULL,
   `words` TEXT NOT NULL,
-  `type` VARCHAR(32) CHARACTER SET ascii NOT NULL,
   `filename` varchar(255) DEFAULT NULL,
   CONSTRAINT `fk_kolab_cache_file_folder` FOREIGN KEY (`folder_id`)
     REFERENCES `kolab_folders`(`ID`) ON DELETE CASCADE ON UPDATE CASCADE,
diff --git a/plugins/libkolab/lib/kolab_storage_folder.php b/plugins/libkolab/lib/kolab_storage_folder.php
index ecb41d9..34d119e 100644
--- a/plugins/libkolab/lib/kolab_storage_folder.php
+++ b/plugins/libkolab/lib/kolab_storage_folder.php
@@ -431,17 +431,16 @@ class kolab_storage_folder
     private function _prepare_query($query)
     {
         // string equals type query
+        // FIXME: should not be called this way!
         if (is_string($query)) {
-            if ($this->cache->has_type_col()) {
-                $query = array(array('type','=',$query));
-            }
-            else {
-                return array();
-            }
+            return $this->cache->has_type_col() ? array(array('type','=',$query)) : array();
         }
 
         foreach ((array)$query as $i => $param) {
-            if (($param[0] == 'dtstart' || $param[0] == 'dtend' || $param[0] == 'changed')) {
+            if ($param[0] == 'type' && !$this->cache->has_type_col()) {
+                unset($query[$i]);
+            }
+            else if (($param[0] == 'dtstart' || $param[0] == 'dtend' || $param[0] == 'changed')) {
                 if (is_object($param[2]) && is_a($param[2], 'DateTime'))
                     $param[2] = $param[2]->format('U');
                 if (is_numeric($param[2]))




More information about the commits mailing list