In SSWODBCColAttr>>postCreate, forcing the use of SQL_LONGVARBINARY instead of SQL_BINARY causes MariaDB 3.2 ODBC driver to report short binary type (e.g. BINARY(16)) columns as NULL when they are not, breaking storage of UUIDs and any short binary data. Using SQL_BINARY works fine—not sure what the comment is about re: ReStore not supporting SQL_BINARY.
The obvious thing to do is to conditionalize this based on the sqlDialect, but at a glance it doesn't look like we have reliable access to it at this point. If we have a field then we do, but at least sometimes this is nil when postCreate is called. I just removed it unconditionally since we don't use SQLite...
In
SSWODBCColAttr>>postCreate, forcing the use ofSQL_LONGVARBINARYinstead ofSQL_BINARYcauses MariaDB 3.2 ODBC driver to report short binary type (e.g.BINARY(16)) columns as NULL when they are not, breaking storage of UUIDs and any short binary data. UsingSQL_BINARYworks fine—not sure what the comment is about re: ReStore not supportingSQL_BINARY.The obvious thing to do is to conditionalize this based on the
sqlDialect, but at a glance it doesn't look like we have reliable access to it at this point. If we have afieldthen we do, but at least sometimes this isnilwhenpostCreateis called. I just removed it unconditionally since we don't use SQLite...