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
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list