OK, thank you to all who provided input, especially to Arjen and Roland
who made this confusing SQL mode a lot easier to understand.  Granted,
as Arjen pointed out, I had confused the HIGH_NOT_PRECEDENCE sql mode as
being something *that was added to provide SQL compatibility*.  Turns
out, as Arjen says, it was added to provide *backwards compatibility*
with the old, incorrect pre MySQL 4.1 behaviour.

This makes a lot more sense after looking at the following in the MySQL
5.1 source code, in the sql_var.cc file, in the function fix_sql_mode()
(lines 3843-46):

  if (sql_mode & MODE_MYSQL40)
    sql_mode|= MODE_HIGH_NOT_PRECEDENCE;
  if (sql_mode & MODE_MYSQL323)
    sql_mode|= MODE_HIGH_NOT_PRECEDENCE;

So, indeed, it is a backwards compatibility mode.

OK, so the behaviour that Drizzle will exhibit is what is currently in
Drizzle: the SQL standard behaviour.  I've gone ahead and updated the
bool.test test case to reflect this and will re-enable the test shortly.

Thanks all who commented/advised on this!

Cheers,

jay

_______________________________________________
Mailing list: https://launchpad.net/~drizzle-discuss
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~drizzle-discuss
More help   : https://help.launchpad.net/ListHelp

Reply via email to