Jay Pipes wrote:
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.
It's non-standard, but I've always been partial to the syntactic sugar:
<expression> [ not ] between <expression> and <expression>
In other words, "a not between 1 and 3" is nicer than "not a between 1
and 3".
--
Jim Starkey
President, NimbusDB, Inc.
978 526-1376
_______________________________________________
Mailing list: https://launchpad.net/~drizzle-discuss
Post to : [email protected]
Unsubscribe : https://launchpad.net/~drizzle-discuss
More help : https://help.launchpad.net/ListHelp