MySQL: Declare VARCHAR columns as BINARY

In MySQL a VARCHAR column that is a member of a table's primary
key will be treated as case-insensitive, that is "BOB" and "bob"
are identical and cannot both appear in the table.  This does not
match with the other implementations that gwtorm supports, in both
H2 and PostgreSQL these are distinct rows, and Gerrit Code Review
relies on this to support projects like the Linux kernel where
files may appear in the same directory and differ only by case.

Declare all MySQL varchar columns as binary to ensure the server
uses case-sensitive sorting and compare rules.

Change-Id: Idebf6994f71c3a054d003b8061abaff48c113ed5
Signed-off-by: Shawn O. Pearce <>
2 files changed