I concur.

On Thu, Sep 11, 2008 at 6:34 PM, Chris Esquibel <[EMAIL PROTECTED]>wrote:

> I am new to the thread, but I think if the goal of Drizzle is aimed at
> being optimized and accurate, we should follow the SQL standard.
> Optimize the DB, not the user.
>
> Jay Pipes wrote:
> > Hi all,
> >
> > Unbeknownst to most (including myself until tonight when I was
> > re-enabling test cases in Drizzle), there is a MySQL SQL_MODE called
> > 'high_not_precedence' which affects the behaviour of NOT comparisons in
> > the following way (shown from MySQL 5.0.67):
> >
> > mysql> create table t1 (a int);
> > Query OK, 0 rows affected (0.07 sec)
> >
> > mysql> insert into t1 values (0),(1),(NULL);
> > Query OK, 3 rows affected (0.00 sec)
> > Records: 3  Duplicates: 0  Warnings: 0
> >
> > mysql> set sql_mode='high_not_precedence';
> > Query OK, 0 rows affected (0.00 sec)
> >
> > mysql> select * from t1 where not a between 2 and 3;
> > Empty set (0.00 sec)
> >
> > mysql> set sql_mode=default;
> > Query OK, 0 rows affected (0.00 sec)
> >
> > mysql> select * from t1 where not a between 2 and 3;
> > +------+
> > | a    |
> > +------+
> > |    0 |
> > |    1 |
> > +------+
> > 2 rows in set (0.00 sec)
> >
> > Technically, the SQL Standard calls for NOT to have high precedence,
> > meaning that the evaluation of "NOT a" occurs before the filter on
> > whether the result of that evaluation is between 2 and 3.
> >
> > The previous MySQL behaviour, as shown above, applies the NOT to the
> > filter on BETWEEN 2 and 3.
> >
> > Currently, Drizzle implements the *old* behaviour (i.e. non-SQL
> > standard) behaviour.
> >
> > Should we keep it this way or switch to the SQL standard way?  The code
> > shouldn't be too much of a change.  Here are the options, though:
> >
> > If we stick with the current behaviour of Drizzle, there is a simple
> > workaround to enable the SQL Standard behaviour: use parentheses around
> > the "NOT a" in the example above.
> >
> > If we implement the SQL standard behaviour in Drizzle, there is no
> > workaround to enable the old behaviour.
> >
> > Thoughts and votes on this are appreciated, even if that though is "I
> > couldn't care less; people should learn to write SQL in a manner that is
> > not idiotic."
> >
> > Cheers,
> >
> > Jay
> >
> > _______________________________________________
> > Mailing list: 
> > https://launchpad.net/~drizzle-discuss<https://launchpad.net/%7Edrizzle-discuss>
> > Post to     : [email protected]
> > Unsubscribe : 
> > https://launchpad.net/~drizzle-discuss<https://launchpad.net/%7Edrizzle-discuss>
> > More help   : https://help.launchpad.net/ListHelp
> >
>
> _______________________________________________
> Mailing list: 
> https://launchpad.net/~drizzle-discuss<https://launchpad.net/%7Edrizzle-discuss>
> Post to     : [email protected]
> Unsubscribe : 
> https://launchpad.net/~drizzle-discuss<https://launchpad.net/%7Edrizzle-discuss>
> More help   : https://help.launchpad.net/ListHelp
>



-- 
val tirman
[EMAIL PROTECTED]
_______________________________________________
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