Hi Thomas,
I'm looking for the syntax diagram for MySQL and can't find it. I have
Just to give you a complete answer to your question, this is what is valid (I've stripped out the C code parts to leave just the definition):
where_clause:
/* empty */
| WHERE expr
expr: expr_expr | simple_expr
expr_expr:
expr IN_SYM '(' expr_list ')'
| expr NOT IN_SYM '(' expr_list ')'
| expr BETWEEN_SYM no_and_expr AND expr
| expr NOT BETWEEN_SYM no_and_expr AND expr
| expr OR_OR_CONCAT expr
| expr OR expr
| expr XOR expr
| expr AND expr
| expr LIKE simple_expr opt_escape
| expr NOT LIKE simple_expr opt_escape
| expr REGEXP expr
| expr NOT REGEXP expr
| expr IS NULL_SYM
| expr IS NOT NULL_SYM
| expr EQ expr
| expr EQUAL_SYM expr
| expr GE expr
| expr GT_SYM expr
| expr LE expr
| expr LT expr
| expr NE expr
| expr SHIFT_LEFT expr
| expr SHIFT_RIGHT expr
| expr '+' expr
| expr '-' expr
| expr '*' expr
| expr '/' expr
| expr '|' expr
| expr '^' expr
| expr '&' expr
| expr '%' expr
| expr '+' INTERVAL_SYM expr interval
| expr '-' INTERVAL_SYM expr intervalsimple_expr:
simple_ident
| literal
| '@' ident_or_text SET_VAR expr
| '@' ident_or_text
| '@' '@' opt_var_ident_type ident_or_text
| sum_expr
| '-' expr %prec NEG
| '~' expr %prec NEG
| NOT expr %prec NEG
| '!' expr %prec NEG
| '(' expr ')'
| '{' ident expr '}'
| MATCH ident_list_arg AGAINST '(' expr ')'
| MATCH ident_list_arg AGAINST '(' expr IN_SYM BOOLEAN_SYM MODE_SYM ')'
| BINARY expr %prec NEG
Maybe this is more along the lines of what you're looking for...
<snip all of the random functions>
Regards,
Jeremy
-- Jeremy Cole Technical Yahoo - MySQL (Database) Geek
-- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]
