Update of /cvsroot/monetdb/sql/src/server
In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv20432
Modified Files:
sql_parser.mx
Log Message:
fixed bug in parsing NULL values in coalesce function
Index: sql_parser.mx
===================================================================
RCS file: /cvsroot/monetdb/sql/src/server/sql_parser.mx,v
retrieving revision 1.266
retrieving revision 1.267
diff -u -d -r1.266 -r1.267
--- sql_parser.mx 19 Dec 2007 22:45:57 -0000 1.266
+++ sql_parser.mx 20 Dec 2007 08:52:02 -0000 1.267
@@ -372,6 +372,7 @@
simple_table
table_ref
case_exp
+ case_scalar_exp
cast_exp
when_value
when_search
@@ -493,6 +494,7 @@
single_datetime_field
interval_qualifier
scalar_exp_list2
+ case_scalar_exp_list2
when_value_list
when_search_list
opt_seps
@@ -3983,12 +3985,12 @@
append_symbol(
append_symbol(
L(), $3), $5)); }
- | COALESCE '(' scalar_exp ',' scalar_exp ')'
+ | COALESCE '(' case_scalar_exp ',' case_scalar_exp ')'
{ $$ = _symbol_create_list(SQL_COALESCE,
append_symbol(
append_symbol(
L(), $3), $5)); }
- | COALESCE '(' scalar_exp_list2 ')'
+ | COALESCE '(' case_scalar_exp_list2 ')'
{ $$ = _symbol_create_list(SQL_COALESCE, $3); }
| CASE scalar_exp when_value_list case_opt_else END
{ $$ = _symbol_create_list(SQL_CASE,
@@ -4013,6 +4015,17 @@
{ $$ = append_symbol( $1, $3); }
;
+case_scalar_exp_list2:
+ case_scalar_exp ',' case_scalar_exp ',' case_scalar_exp
+ { $$ = append_symbol( L(), $1);
+ $$ = append_symbol( $$, $3);
+ $$ = append_symbol( $$, $5);
+ }
+ | case_scalar_exp_list2 ',' case_scalar_exp
+ { $$ = append_symbol( $1, $3); }
+ ;
+
+
when_value:
WHEN scalar_exp THEN scalar_exp
{ $$ = _symbol_create_list( SQL_WHEN,
@@ -4049,6 +4062,10 @@
| ELSE sqlNULL { $$ = _newAtomNode(NULL); }
;
+case_scalar_exp:
+ sqlNULL { $$ = _newAtomNode(NULL); }
+ | scalar_exp
+ ;
/* data types, more types to come */
nonzero:
-------------------------------------------------------------------------
SF.Net email is sponsored by:
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services
for just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
_______________________________________________
Monetdb-sql-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/monetdb-sql-checkins