Details
-
Type:
Improvement
-
Status:
Open
-
Priority:
Major
-
Resolution: Unresolved
-
Affects Version/s: 1.2.1
-
Fix Version/s: None
-
Component/s: Connection
-
Labels:None
Description
Doctrine supports storing objects and arrays, and implements this via serialize().
However in DataDict/Mysql they are handled like the 'string' type, which means they are subject to the rules there that ensure nothing bigger than a 'TEXT' is ever used to represent them.
TEXT is not a great choice for objects and arrays because it's difficult to ensure they will not exceed 65,535 bytes in size.
This would be most easily fixed by moving them to the next block of case statements there, used for CLOBs. The logic there already picks suitable large types (MEDIUMTEXT and LONGTEXT) as needed, and defaults to LONGTEXT which is a good choice for objects and arrays.
Array and Object data types now behave identically to clob.
See r7077