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

Reply via email to