Edgewall Software

Changes between Initial Version and Version 4 of Ticket #7305


Ignore:
Timestamp:
Jun 10, 2008, 11:01:14 AM (16 years ago)
Author:
Christian Boos
Comment:

Setting the collation to "utf8_bin" will work as long as you don't have to deal with non-ascii characters, see #4378 (which has now a patch to cope with utf8_bin and unicode).

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #7305

    • Property Status newclosed
    • Property Resolutionduplicate
    • Property Milestone 0.11
  • Ticket #7305 – Description

    initial v4  
    11Trac creates tables in MySQL (during initenv) with the field "node_change.path" having the type of TEXT. Also, Trac creates a primary index of the three fields (rev, path, change_type). So far so good.
    22However, when trying to resync with perforce, which allows two files to be of names like "john.txt" and "john.TXT", MySQL (through Trac) claims that
    3 
     3{{{
    44Traceback (most recent call last):
    55  File "/usr/bin/trac-admin", line 8, in <module>
     
    2525_mysql_exceptions.IntegrityError: (1062, "Duplicate entry 'XXX' for key 1")
    2626(where XXX is the name of the first file that was inserted into the table)
    27 
     27}}}
    2828It seems that replacing the type of path from TEXT to BLOB solves the problem, probably because it forces MySQL to compare binary values rather than text values.
    2929I didn't try to reproduce this with SVN.