Skip to content
  • Christian Kuhn's avatar
    [BUGFIX] mssql: Proper types inserting / updating rows · 325d95b9
    Christian Kuhn authored and Frank Nägler's avatar Frank Nägler committed
    MS SQL server is more picky about types than postgres and
    mysql. This is especially true for LOB columns - even empty
    strings need a proper cast and specific handling.
    
    Various parts of the core deal with arbitrary tables and
    don't know if a column is int, text or lob, or whatever.
    Those are blindly updated / inserted, resulting in mssql
    saying "no".
    
    Solution is to fetch column schema and to set proper types
    based on that schema. This is expensive. We will have to
    refactor that again, and we will probably end up with a
    (cache?) entry that knows the entire table schema of an
    instance.
    
    Solving that in a good way would also fix various mysql strict
    issues we still have in the core. However, this needs more work.
    
    Goal of the current patch is to bring mssql to a working state.
    The solution must be seen as hacky, but is restricted to that
    platform only and can be relaxed and improved as soon as we
    take the next steps with schema handling in the TYPO3 core.
    
    Change-Id: I9b582a9bde7461cfbcc2414192518fb7b7b1341d
    Resolves: #81498
    Releases: master, 8.7
    Reviewed-on: https://review.typo3.org/53150
    
    
    Tested-by: default avatarTYPO3com <no-reply@typo3.com>
    Reviewed-by: default avatarJan Helke <typo3@helke.de>
    Tested-by: default avatarJan Helke <typo3@helke.de>
    Reviewed-by: default avatarFrank Naegler <frank.naegler@typo3.org>
    Tested-by: default avatarFrank Naegler <frank.naegler@typo3.org>
    325d95b9