Branch 'roundcubemail-plugins-kolab-3.1' - plugins/libkolab

Thomas Brüderli bruederli at kolabsys.com
Tue Aug 19 19:14:50 CEST 2014


 plugins/libkolab/SQL/mysql.initial.sql       |   16 ++++++++--------
 plugins/libkolab/SQL/mysql/2014040900.sql    |    8 ++++++++
 plugins/libkolab/lib/kolab_storage_cache.php |    2 +-
 3 files changed, 17 insertions(+), 9 deletions(-)

New commits:
commit fe2f86e4e2fc681251243d58506e2ab012e870c5
Author: Thomas Bruederli <bruederli at kolabsys.com>
Date:   Tue Aug 19 19:14:34 2014 +0200

    Adjust cache tables to store large object data; don't break return data if reading one single cache entry fails (#3429)

diff --git a/plugins/libkolab/SQL/mysql.initial.sql b/plugins/libkolab/SQL/mysql.initial.sql
index 89b7244..cc83ad3 100644
--- a/plugins/libkolab/SQL/mysql.initial.sql
+++ b/plugins/libkolab/SQL/mysql.initial.sql
@@ -29,7 +29,7 @@ CREATE TABLE `kolab_cache_contact` (
   `uid` VARCHAR(128) CHARACTER SET ascii NOT NULL,
   `created` DATETIME DEFAULT NULL,
   `changed` DATETIME DEFAULT NULL,
-  `data` TEXT NOT NULL,
+  `data` LONGTEXT NOT NULL,
   `xml` LONGBLOB NOT NULL,
   `tags` VARCHAR(255) NOT NULL,
   `words` TEXT NOT NULL,
@@ -52,7 +52,7 @@ CREATE TABLE `kolab_cache_event` (
   `uid` VARCHAR(128) CHARACTER SET ascii NOT NULL,
   `created` DATETIME DEFAULT NULL,
   `changed` DATETIME DEFAULT NULL,
-  `data` TEXT NOT NULL,
+  `data` LONGTEXT NOT NULL,
   `xml` LONGBLOB NOT NULL,
   `tags` VARCHAR(255) NOT NULL,
   `words` TEXT NOT NULL,
@@ -71,7 +71,7 @@ CREATE TABLE `kolab_cache_task` (
   `uid` VARCHAR(128) CHARACTER SET ascii NOT NULL,
   `created` DATETIME DEFAULT NULL,
   `changed` DATETIME DEFAULT NULL,
-  `data` TEXT NOT NULL,
+  `data` LONGTEXT NOT NULL,
   `xml` LONGBLOB NOT NULL,
   `tags` VARCHAR(255) NOT NULL,
   `words` TEXT NOT NULL,
@@ -90,7 +90,7 @@ CREATE TABLE `kolab_cache_journal` (
   `uid` VARCHAR(128) CHARACTER SET ascii NOT NULL,
   `created` DATETIME DEFAULT NULL,
   `changed` DATETIME DEFAULT NULL,
-  `data` TEXT NOT NULL,
+  `data` LONGTEXT NOT NULL,
   `xml` LONGBLOB NOT NULL,
   `tags` VARCHAR(255) NOT NULL,
   `words` TEXT NOT NULL,
@@ -109,7 +109,7 @@ CREATE TABLE `kolab_cache_note` (
   `uid` VARCHAR(128) CHARACTER SET ascii NOT NULL,
   `created` DATETIME DEFAULT NULL,
   `changed` DATETIME DEFAULT NULL,
-  `data` TEXT NOT NULL,
+  `data` LONGTEXT NOT NULL,
   `xml` LONGBLOB NOT NULL,
   `tags` VARCHAR(255) NOT NULL,
   `words` TEXT NOT NULL,
@@ -126,7 +126,7 @@ CREATE TABLE `kolab_cache_file` (
   `uid` VARCHAR(128) CHARACTER SET ascii NOT NULL,
   `created` DATETIME DEFAULT NULL,
   `changed` DATETIME DEFAULT NULL,
-  `data` TEXT NOT NULL,
+  `data` LONGTEXT NOT NULL,
   `xml` LONGBLOB NOT NULL,
   `tags` VARCHAR(255) NOT NULL,
   `words` TEXT NOT NULL,
@@ -145,7 +145,7 @@ CREATE TABLE `kolab_cache_configuration` (
   `uid` VARCHAR(128) CHARACTER SET ascii NOT NULL,
   `created` DATETIME DEFAULT NULL,
   `changed` DATETIME DEFAULT NULL,
-  `data` TEXT NOT NULL,
+  `data` LONGTEXT NOT NULL,
   `xml` LONGBLOB NOT NULL,
   `tags` VARCHAR(255) NOT NULL,
   `words` TEXT NOT NULL,
@@ -164,7 +164,7 @@ CREATE TABLE `kolab_cache_freebusy` (
   `uid` VARCHAR(128) CHARACTER SET ascii NOT NULL,
   `created` DATETIME DEFAULT NULL,
   `changed` DATETIME DEFAULT NULL,
-  `data` TEXT NOT NULL,
+  `data` LONGTEXT NOT NULL,
   `xml` LONGBLOB NOT NULL,
   `tags` VARCHAR(255) NOT NULL,
   `words` TEXT NOT NULL,
diff --git a/plugins/libkolab/SQL/mysql/2014040900.sql b/plugins/libkolab/SQL/mysql/2014040900.sql
new file mode 100644
index 0000000..61649c1
--- /dev/null
+++ b/plugins/libkolab/SQL/mysql/2014040900.sql
@@ -0,0 +1,8 @@
+ALTER TABLE `kolab_cache_contact` CHANGE `data` `data` LONGTEXT NOT NULL;
+ALTER TABLE `kolab_cache_event` CHANGE `data` `data` LONGTEXT NOT NULL;
+ALTER TABLE `kolab_cache_task` CHANGE `data` `data` LONGTEXT NOT NULL;
+ALTER TABLE `kolab_cache_journal` CHANGE `data` `data` LONGTEXT NOT NULL;
+ALTER TABLE `kolab_cache_note` CHANGE `data` `data` LONGTEXT NOT NULL;
+ALTER TABLE `kolab_cache_file` CHANGE `data` `data` LONGTEXT NOT NULL;
+ALTER TABLE `kolab_cache_configuration` CHANGE `data` `data` LONGTEXT NOT NULL;
+ALTER TABLE `kolab_cache_freebusy` CHANGE `data` `data` LONGTEXT NOT NULL;
diff --git a/plugins/libkolab/lib/kolab_storage_cache.php b/plugins/libkolab/lib/kolab_storage_cache.php
index f41c53d..42321c5 100644
--- a/plugins/libkolab/lib/kolab_storage_cache.php
+++ b/plugins/libkolab/lib/kolab_storage_cache.php
@@ -462,7 +462,7 @@ class kolab_storage_cache
                 else if ($fetchall && ($object = $this->_unserialize($sql_arr))) {
                     $result[] = $object;
                 }
-                else {
+                else if (!$fetchall) {
                     // only add msguid to dataset index
                     $result[] = $sql_arr;
                 }




More information about the commits mailing list