Changeset: c415fc9c556c for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=c415fc9c556c
Modified Files:
sql/backends/monet5/Tests/inlineR.sql
sql/server/sql_parser.y
Branch: RIntegration
Log Message:
The language identifier is checked for conformaty.
diffs (35 lines):
diff --git a/sql/backends/monet5/Tests/inlineR.sql
b/sql/backends/monet5/Tests/inlineR.sql
--- a/sql/backends/monet5/Tests/inlineR.sql
+++ b/sql/backends/monet5/Tests/inlineR.sql
@@ -1,8 +1,8 @@
-- Simple MonetDB inline R interface
-create function one() returns integer language R { return(1); }
-create function addtwo(i integer, j integer) returns integer language R { ret
<- i + j; return(ret);}
-create function adderror(i integer, j integer) returns integer language R { if
( i == int_nil || j == int_nil) throw(SQL,"udf","Nil not allowed"); ret <- i +
j; return(nil);}
+create function one() returns integer language R { return(1); };
+create function addtwo(i integer, j integer) returns integer language R { ret
<- i + j; return(ret);};
+create function adderror(i integer, j integer) returns integer language R { if
( i == int_nil || j == int_nil) throw(SQL,"udf","Nil not allowed"); ret <- i +
j; return(nil);};
select one();
select addtwo(one(),one());
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
@@ -1871,8 +1871,14 @@ routine_body:
;
language_body:
- LANGUAGE 'R' X_BODY { $$ =L(); append_string($$,$3); append_int($$,F_FUNC);
append_int($$,F_RBODY);}
- | LANGUAGE 'C' X_BODY { $$ =L(); append_string($$,$3); append_int($$,F_FUNC);
append_int($$,F_CBODY);}
+ LANGUAGE IDENT X_BODY { $$ =L();
+ append_string($$,$3);
+ append_int($$,F_FUNC);
+ if ( strcmp($2,"R") && strcmp($2,"r") && strcmp($2,"C") &&
strcmp($2,"c") )
+ yyerror(m, sql_message("Language name R or C expected,
received %s", $2));
+ append_string($$,$2);
+ append_int($$,F_RBODY);
+ }
;
/* change into compound statement
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list