MySQLite serious bug
Posted: 19.01.2006, 22:14
When using a text-blob field a serious error occurs when the field contains
#0 characters.
So, when you have an update-statement containing such a field, the
sql statement is truncated at the first #0 character( by the string to pchar conversion)
and the resulting sql is missing the where part.
The sad result is then that instead of updating 1 record, ALL records in the table are updated!
I tracked the error down to function
TZSQLitePreparedStatement.GetEscapeString(Value: string): string;
in unit ZDbcSqLiteStatement, which should remove all #0 characters from 'value'
Thanks, ErikL
#0 characters.
So, when you have an update-statement containing such a field, the
sql statement is truncated at the first #0 character( by the string to pchar conversion)
and the resulting sql is missing the where part.
The sad result is then that instead of updating 1 record, ALL records in the table are updated!
I tracked the error down to function
TZSQLitePreparedStatement.GetEscapeString(Value: string): string;
in unit ZDbcSqLiteStatement, which should remove all #0 characters from 'value'
Thanks, ErikL