Uploaded image for project: 'Crucible'
  1. Crucible
  2. CRUC-3122

Case Sensitivity check acting funny with MySQL using utf8_bin collation

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • High
    • 2.3-RC2, 2.3.0
    • 2.2.0
    • Server administration
    • None
    • Server version: 5.1.43 MySQL Community Server (GPL)
      Fisheye 2.2.0 using bundled drivers.

    Description

      We've had several report of the "database is using case-insensitive comparisons for character fields" message being showing in Crucible 2.2 despite having the character collation set to utf8_bin as suggested in our documentation.

      I ripped out some of the check we are doing for case sensitivity and ran it against a database on my machine to report the CASE_SENSITIVE property of all fields:

      [amyers@erdinger:~]$ java -cp Applications/fisheye/fecru-2.2.0/lib/dbdrivers/mysql/mysql-connector-java-5.1.10.jar:. Test  
      Successfully connected to MySQL server using TCP/IP...
       Type Name: BIT Case Sensitive: true
       Type Name: BOOL Case Sensitive: true
       Type Name: TINYINT Case Sensitive: false
       Type Name: TINYINT UNSIGNED Case Sensitive: false
       Type Name: BIGINT Case Sensitive: false
       Type Name: BIGINT UNSIGNED Case Sensitive: false
       Type Name: LONG VARBINARY Case Sensitive: true
       Type Name: MEDIUMBLOB Case Sensitive: true
       Type Name: LONGBLOB Case Sensitive: true
       Type Name: BLOB Case Sensitive: true
       Type Name: TINYBLOB Case Sensitive: true
       Type Name: VARBINARY Case Sensitive: true
       Type Name: BINARY Case Sensitive: true
       Type Name: LONG VARCHAR Case Sensitive: false
       Type Name: MEDIUMTEXT Case Sensitive: false
       Type Name: LONGTEXT Case Sensitive: false
       Type Name: TEXT Case Sensitive: false
       Type Name: TINYTEXT Case Sensitive: false
       Type Name: CHAR Case Sensitive: false
       Type Name: NUMERIC Case Sensitive: false
       Type Name: DECIMAL Case Sensitive: false
       Type Name: INTEGER Case Sensitive: false
       Type Name: INTEGER UNSIGNED Case Sensitive: false
       Type Name: INT Case Sensitive: false
       Type Name: INT UNSIGNED Case Sensitive: false
       Type Name: MEDIUMINT Case Sensitive: false
       Type Name: MEDIUMINT UNSIGNED Case Sensitive: false
       Type Name: SMALLINT Case Sensitive: false
       Type Name: SMALLINT UNSIGNED Case Sensitive: false
       Type Name: FLOAT Case Sensitive: false
       Type Name: DOUBLE Case Sensitive: false
       Type Name: DOUBLE PRECISION Case Sensitive: false
       Type Name: REAL Case Sensitive: false
       Type Name: VARCHAR Case Sensitive: false
       Type Name: ENUM Case Sensitive: false
       Type Name: SET Case Sensitive: false
       Type Name: DATE Case Sensitive: false
       Type Name: TIME Case Sensitive: false
       Type Name: DATETIME Case Sensitive: false
       Type Name: TIMESTAMP Case Sensitive: false
      
      Your database is using case-insensitive comparisons for character fields.
      
      [amyers@erdinger:~]$ mysql -e "show full columns from cru_stored_path" crucible 
      +-------------+---------+-----------+------+-----+---------+-------+---------------------------------+---------+
      | Field       | Type    | Collation | Null | Key | Default | Extra | Privileges                      | Comment |
      +-------------+---------+-----------+------+-----+---------+-------+---------------------------------+---------+
      | cru_path_id | int(11) | NULL      | NO   | PRI | NULL    |       | select,insert,update,references |         |
      | cru_path    | text    | utf8_bin  | YES  | MUL | NULL    |       | select,insert,update,references |         |
      +-------------+---------+-----------+------+-----+---------+-------+---------------------------------+---------+
      

      Attachments

        Issue Links

          Activity

            People

              tom@atlassian.com Tom Davies
              andrew.myers Andrew Myers [Atlassian]
              Votes:
              6 Vote for this issue
              Watchers:
              9 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: