[Kde-pim] Review Request: fix collation and charsets in mysql database

Volker Krause vkrause at kde.org
Tue May 4 08:39:01 BST 2010


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://reviewboard.kde.org/r/3877/#review5394
-----------------------------------------------------------

Ship it!


Looks good to me.
There are two additional places where table charsets seem to be set, maybe some of this is no longer needed or has to be adapted as well:
- server/src/storage/mysql-global.conf (probably not a good place to define it, since it is only used when starting our own mysql server)
- server/src/storage/akonadidb.xml, Collection -> name, not a good place either, since this should be db independent ideally

- Volker


On 2010-05-03 16:57:42, Milian Wolff wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://reviewboard.kde.org/r/3877/
> -----------------------------------------------------------
> 
> (Updated 2010-05-03 16:57:42)
> 
> 
> Review request for KDE PIM.
> 
> 
> Summary
> -------
> 
> Akonadi works with UTF internally but the MySQL database uses latin1 for collation and default charsets, which this patch should fix.
> 
> I have no idea how to do that for SQLite or PSQL, nor whether it's actually a problem there. But for MySQL this also
> fixes the test cases which currently emit:
> 
> FAIL!  : CollectionJobTest::testRidCreateDelete(UTF8) 'delJob->exec()' returned FALSE. (Unknown error. (Unable to execute collection query))
>    Loc: [/home/speedy/projects/kde4/kdepimlibs/akonadi/tests/collectionjobtest.cpp(639)]
> [akonadiserver] Error during executing query "SELECT CollectionTable.id, CollectionTable.remoteId, CollectionTable.remoteRevision, CollectionTable.name, CollectionTable.parentId, CollectionTable.resourceId, CollectionTable.subscribed, CollectionTable.cachePolicyInherit, CollectionTable.cachePolicyCheckInterval, CollectionTable.cachePolicyCacheTimeout, CollectionTable.cachePolicySyncOnDemand, CollectionTable.cachePolicyLocalParts, CollectionTable.queryString, CollectionTable.queryLanguage FROM CollectionTable WHERE ( CollectionTable.remoteId = ( :0 ) AND CollectionTable.resourceId = :1 )" :  "Illegal mix of collations (latin1_general_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '=' QMYSQL3: Unable to execute statement"
> 
> 
> Diffs
> -----
> 
>   /trunk/kdesupport/akonadi/server/src/storage/dbinitializer.cpp 1122335 
>   /trunk/kdesupport/akonadi/server/src/storage/dbupdate.xml 1122335 
> 
> Diff: http://reviewboard.kde.org/r/3877/diff
> 
> 
> Testing
> -------
> 
> currently failing test cases work again (see above), I successfully updated my test-akonadidb.
> 
> 
> Thanks,
> 
> Milian
> 
>

_______________________________________________
KDE PIM mailing list kde-pim at kde.org
https://mail.kde.org/mailman/listinfo/kde-pim
KDE PIM home page at http://pim.kde.org/



More information about the kde-pim mailing list