Raise limit for PimItem.remoteId to 1024 characters
ClosedPublic

Authored by dvratil on Jun 10 2019, 9:09 AM.

Details

Summary

Some DAV servers produce exteremely long RIDs that do not fit into the
current 255 character limit. This is only problem on MySQL, on other
DBs we use TEXT, which has no length limit.

On MySQL, just increasing the column length to 1024 is not enough,
there's a limit on maximum length of VARBINARY/VARCHAR index, which is
756 bytes (255 characters). To be able to have an index on a VARBINARY
column with up to 1024 characters we need to enable innodb_large_prefix
and change how the extra characters are stored on the disk (ROW_FORMAT).

BUG: 394839

Test Plan

Modified a unit-test to attempt creating an Item with 1024 characters long RID

Diff Detail

Repository
R165 Akonadi
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.
dvratil created this revision.Jun 10 2019, 9:09 AM
Restricted Application added a project: KDE PIM. · View Herald TranscriptJun 10 2019, 9:09 AM
Restricted Application added a subscriber: kde-pim. · View Herald Transcript
dvratil requested review of this revision.Jun 10 2019, 9:09 AM
dvratil updated this revision to Diff 59484.Jun 10 2019, 9:10 AM
  • Fix initializing Postgres database
dvratil updated this revision to Diff 59485.Jun 10 2019, 9:12 AM
  • Fix initializing Postgres database
dvratil updated this revision to Diff 59486.Jun 10 2019, 9:12 AM
  • Remove arcanist mess up
vkrause accepted this revision.Jun 10 2019, 9:14 AM
This revision is now accepted and ready to land.Jun 10 2019, 9:14 AM
dvratil updated this revision to Diff 59487.Jun 10 2019, 9:14 AM
  • Add bug reference
dvratil edited the summary of this revision. (Show Details)Jun 10 2019, 9:16 AM
This revision was automatically updated to reflect the committed changes.