Doctrine 1
  1. Doctrine 1
  2. DC-370

Doctrine serializes arrays, objects, etc. like 'string', which is never bigger than a TEXT, limited to 65535 characters (in MySQL)

    Details

    • Type: Improvement Improvement
    • Status: Open
    • Priority: Major 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.

        Activity

        Hide
        David Abdemoulaie added a comment -

        Array and Object data types now behave identically to clob.

        See r7077

        Show
        David Abdemoulaie added a comment - Array and Object data types now behave identically to clob. See r7077
        Hide
        Tom Boutell added a comment -

        Thanks David!

        Show
        Tom Boutell added a comment - Thanks David!

          People

          • Assignee:
            Jonathan H. Wage
            Reporter:
            Tom Boutell
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated: