From 284ee2bba1fe5d705cd90bff8fb2c47cc8e8ae84 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Mon, 8 Aug 2016 08:03:38 +0200 Subject: [PATCH 1/4] set field of type 'text' to NULL instead of '' mysql doesn't support setting '' in STRICT_TRANS_MODE --- install/create_tables-innodb.sql | 4 ++-- install/create_tables-sqlite3.sql | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/install/create_tables-innodb.sql b/install/create_tables-innodb.sql index cd065b66f..292537e88 100644 --- a/install/create_tables-innodb.sql +++ b/install/create_tables-innodb.sql @@ -490,9 +490,9 @@ CREATE TABLE `tblSessions` ( `lastAccess` int(11) NOT NULL default '0', `theme` varchar(30) NOT NULL default '', `language` varchar(30) NOT NULL default '', - `clipboard` text default '', + `clipboard` text default NULL, `su` INTEGER DEFAULT NULL, - `splashmsg` text default '', + `splashmsg` text default NULL, PRIMARY KEY (`id`), CONSTRAINT `tblSessions_user` FOREIGN KEY (`userID`) REFERENCES `tblUsers` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; diff --git a/install/create_tables-sqlite3.sql b/install/create_tables-sqlite3.sql index 13378361e..e80406b0e 100644 --- a/install/create_tables-sqlite3.sql +++ b/install/create_tables-sqlite3.sql @@ -427,9 +427,9 @@ CREATE TABLE `tblSessions` ( `lastAccess` INTEGER NOT NULL default '0', `theme` varchar(30) NOT NULL default '', `language` varchar(30) NOT NULL default '', - `clipboard` text default '', + `clipboard` text default NULL, `su` INTEGER DEFAULT NULL, - `splashmsg` text default '' + `splashmsg` text default NULL ) ; -- -------------------------------------------------------- From 5f1d38bba314a31556af4a758760929fb3027b80 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Mon, 8 Aug 2016 08:09:01 +0200 Subject: [PATCH 2/4] do not set TEXT field to default ''. Use NULL instead mysql STRICT_TRANS_MODE does not allow it --- install/create_tables-sqlite3.sql | 2 +- install/update-4.0.0/update.sql | 2 +- install/update-4.3.0/update-sqlite3.sql | 4 ++-- install/update-4.3.0/update.sql | 4 ++-- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/install/create_tables-sqlite3.sql b/install/create_tables-sqlite3.sql index e80406b0e..abd977de6 100644 --- a/install/create_tables-sqlite3.sql +++ b/install/create_tables-sqlite3.sql @@ -37,7 +37,7 @@ CREATE TABLE `tblAttributeDefinitions` ( `minvalues` INTEGER NOT NULL default '0', `maxvalues` INTEGER NOT NULL default '0', `valueset` TEXT default NULL, - `regex` TEXT DEFAULT '', + `regex` TEXT DEFAULT NULL, UNIQUE(`name`) ) ; diff --git a/install/update-4.0.0/update.sql b/install/update-4.0.0/update.sql index 385dd2199..bb9c5229b 100644 --- a/install/update-4.0.0/update.sql +++ b/install/update-4.0.0/update.sql @@ -12,7 +12,7 @@ ALTER TABLE tblDocumentContent ADD COLUMN `checksum` char(32); ALTER TABLE tblUsers ADD COLUMN `quota` bigint; -ALTER TABLE tblSessions ADD COLUMN `clipboard` text DEFAULT ''; +ALTER TABLE tblSessions ADD COLUMN `clipboard` text DEFAULT NULL; CREATE TABLE tblWorkflowStates ( `id` int(11) NOT NULL auto_increment, diff --git a/install/update-4.3.0/update-sqlite3.sql b/install/update-4.3.0/update-sqlite3.sql index 8589754cd..45ce3ba66 100644 --- a/install/update-4.3.0/update-sqlite3.sql +++ b/install/update-4.3.0/update-sqlite3.sql @@ -1,8 +1,8 @@ BEGIN; -ALTER TABLE tblSessions ADD COLUMN `splashmsg` TEXT DEFAULT ''; +ALTER TABLE tblSessions ADD COLUMN `splashmsg` TEXT DEFAULT NULL; -ALTER TABLE tblAttributeDefinitions ADD COLUMN `regex` TEXT DEFAULT ''; +ALTER TABLE tblAttributeDefinitions ADD COLUMN `regex` TEXT DEFAULT NULL; UPDATE tblVersion set major=4, minor=3, subminor=0; diff --git a/install/update-4.3.0/update.sql b/install/update-4.3.0/update.sql index 9ad72c978..c21cb71fc 100644 --- a/install/update-4.3.0/update.sql +++ b/install/update-4.3.0/update.sql @@ -1,8 +1,8 @@ START TRANSACTION; -ALTER TABLE tblSessions ADD COLUMN `splashmsg` TEXT DEFAULT ''; +ALTER TABLE tblSessions ADD COLUMN `splashmsg` TEXT DEFAULT NULL; -ALTER TABLE tblAttributeDefinitions ADD COLUMN `regex` TEXT DEFAULT ''; +ALTER TABLE tblAttributeDefinitions ADD COLUMN `regex` TEXT DEFAULT NULL; UPDATE tblVersion set major=4, minor=3, subminor=0; From bdb448e7e88b6f3bb24762b1168164b7424a7d50 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Mon, 8 Aug 2016 11:41:07 +0200 Subject: [PATCH 3/4] add entry for 4.3.28 --- CHANGELOG | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG b/CHANGELOG index 3c870e46b..656520d9b 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -11,6 +11,7 @@ fixes #239) - make UserView look similar to UserList - log correct ip even after a reverse proxy (Closes #206) +- fix sql error in table creation if sql mode is set to STRICT_TRANS_TABLE -------------------------------------------------------------------------------- Changes in version 4.3.27 From 176fb7967b659286cad8bb7f6ce9fb3ead70d3e9 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Mon, 8 Aug 2016 12:58:06 +0200 Subject: [PATCH 4/4] use getCurrentDatetime() instead of CURRENT_TIMESTAMP --- inc/inc.ClassPasswordHistoryManager.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/inc/inc.ClassPasswordHistoryManager.php b/inc/inc.ClassPasswordHistoryManager.php index 7579b1c10..6c8b8f1f5 100644 --- a/inc/inc.ClassPasswordHistoryManager.php +++ b/inc/inc.ClassPasswordHistoryManager.php @@ -48,7 +48,7 @@ class SeedDMS_PasswordHistoryManager { function add($user, $pwd) { /* {{{ */ $queryStr = "INSERT INTO tblUserPasswordHistory (userID, pwd, `date`) ". - "VALUES (".$this->db->qstr($user->getId()).", ".$this->db->qstr($pwd).", CURRENT_TIMESTAMP)"; + "VALUES (".$this->db->qstr($user->getId()).", ".$this->db->qstr($pwd).", ".$this->db->getCurrentDatetime().")"; if (!$this->db->getResult($queryStr)) { return false; }