[BUGFIX] Fix SQL error in createEntryData 97/51397/5
authorThomas Hohn <thomas@hohn.dk>
Mon, 23 Jan 2017 08:35:45 +0000 (09:35 +0100)
committerChristian Kuhn <lolli@schwarzbu.ch>
Thu, 26 Jan 2017 13:41:48 +0000 (14:41 +0100)
The database field definition for ref_string is limited to varchar(200)
and can cause an SQL error when bigger strings are inserted.
In addition it makes sense to add a mb_substr() to avoid an error if
longer strings are inserted.

Fixes: #79425
Releases: master
Change-Id: I1f1e672f610f830ad5e02509cb1f0529c9cbeb41
Reviewed-on: https://review.typo3.org/51397
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
Tested-by: Georg Ringer <georg.ringer@gmail.com>
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
typo3/sysext/core/Classes/Database/ReferenceIndex.php
typo3/sysext/core/ext_tables.sql

index 455cfa0..015bb83 100644 (file)
@@ -417,7 +417,7 @@ class ReferenceIndex
             'workspace' => $this->getWorkspaceId(),
             'ref_table' => $ref_table,
             'ref_uid' => $ref_uid,
-            'ref_string' => $ref_string
+            'ref_string' => mb_substr($ref_string, 0, 1024)
         ];
     }
 
index 60b2356..811876f 100644 (file)
@@ -580,7 +580,7 @@ CREATE TABLE sys_refindex (
        workspace int(11) DEFAULT '0' NOT NULL,
        ref_table varchar(255) DEFAULT '' NOT NULL,
        ref_uid int(11) DEFAULT '0' NOT NULL,
-       ref_string varchar(200) DEFAULT '' NOT NULL,
+       ref_string varchar(1024) DEFAULT '' NOT NULL,
 
        PRIMARY KEY (hash),
        KEY lookup_rec (tablename,recuid),