Changeset: 386936771f91 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=386936771f91 Modified Files: monetdb5/modules/mal/batExtensions.c sql/server/sql_parser.y Branch: default Log Message:
Merge with Jun2016 branch. diffs (119 lines): diff --git a/monetdb5/modules/mal/batExtensions.c b/monetdb5/modules/mal/batExtensions.c --- a/monetdb5/modules/mal/batExtensions.c +++ b/monetdb5/modules/mal/batExtensions.c @@ -75,7 +75,7 @@ CMDBATsingle(Client cntxt, MalBlkPtr mb, if (ATOMextern(b->ttype)) u = (ptr) *(str *)u; BUNappend(b, u, FALSE); - BBPincref(*ret = b->batCacheid, TRUE); + BBPkeepref(*ret = b->batCacheid); return MAL_SUCCEED; } diff --git a/sql/server/sql_parser.y b/sql/server/sql_parser.y --- a/sql/server/sql_parser.y +++ b/sql/server/sql_parser.y @@ -1808,8 +1808,11 @@ func_def: lang = FUNC_LANG_C; else if (l == 'J' || l == 'j') lang = FUNC_LANG_J; - else - yyerror(m, sql_message("Language name R, C, P(ython), PYTHON_MAP or J(avascript):expected, received '%c'", l)); + else { + char *msg = sql_message("Language name R, C, P(ython), PYTHON_MAP or J(avascript):expected, received '%c'", l); + yyerror(m, msg); + _DELETE(msg); + } append_list(f, $3); append_list(f, $5); @@ -1865,8 +1868,11 @@ func_def: lang = FUNC_LANG_C; else if (l == 'J' || l == 'j') lang = FUNC_LANG_J; - else - yyerror(m, sql_message("Language name R, C, P(ython), PYTHON_MAP or J(avascript):expected, received '%c'", l)); + else { + char *msg = sql_message("Language name R, C, P(ython), PYTHON_MAP or J(avascript):expected, received '%c'", l); + yyerror(m, msg); + _DELETE(msg); + } append_list(f, $3); append_list(f, $5); @@ -3396,9 +3402,7 @@ like_exp: | scalar_exp ESCAPE string { const char *s = sql2str($3); if (_strlen(s) != 1) { - char *msg = sql_message("\b22025!ESCAPE must be one character"); - yyerror(m, msg); - _DELETE(msg); + yyerror(m, "\b22025!ESCAPE must be one character"); $$ = NULL; YYABORT; } else { @@ -3681,10 +3685,7 @@ simple_scalar_exp: if (!atom_neg(a)) { $$ = $2; } else { - char *msg = sql_message("\b22003!value too large or not a number"); - - yyerror(m, msg); - _DELETE(msg); + yyerror(m, "\b22003!value too large or not a number"); $$ = NULL; YYABORT; } @@ -4977,7 +4978,11 @@ data_type: } } | GEOMETRY { - sql_find_subtype(&$$, "geometry", 0, 0 ); + if (!sql_find_subtype(&$$, "geometry", 0, 0 )) { + yyerror(m, "\b22000!type (geometry) unknown"); + $$.type = NULL; + YYABORT; + } } | GEOMETRY '(' subgeometry_type ')' { int geoSubType = $3; @@ -5010,7 +5015,11 @@ data_type: } } | GEOMETRYA { - sql_find_subtype(&$$, "geometrya", 0, 0 ); + if (!sql_find_subtype(&$$, "geometrya", 0, 0 )) { + yyerror(m, "\b22000!type (geometrya) unknown"); + $$.type = NULL; + YYABORT; + } } | GEOMETRYSUBTYPE { int geoSubType = find_subgeometry_type($1); @@ -5022,7 +5031,7 @@ data_type: _DELETE(msg); YYABORT; } else if (!sql_find_subtype(&$$, "geometry", geoSubType, 0 )) { - char *msg = sql_message("\b22000!type (%s) unknown", $1); + char *msg = sql_message("\b22000!type (%s) unknown", $1); yyerror(m, msg); _DELETE(msg); $$.type = NULL; @@ -5040,7 +5049,7 @@ subgeometry_type: char *msg = sql_message("\b22000!type (%s) unknown", geoSubType); yyerror(m, msg); _DELETE(msg); - + YYABORT; } $$ = subtype; } @@ -5052,7 +5061,7 @@ subgeometry_type: char *msg = sql_message("\b22000!type (%s) unknown", geoSubType); yyerror(m, msg); _DELETE(msg); - + YYABORT; } $$ = subtype; } _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list