Changeset: 7945f55dc54a for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=7945f55dc54a
Modified Files:
        monetdb5/mal/mal_parser.c
Branch: default
Log Message:

Limit use of inline/unsafe markers


diffs (38 lines):

diff --git a/monetdb5/mal/mal_parser.c b/monetdb5/mal/mal_parser.c
--- a/monetdb5/mal/mal_parser.c
+++ b/monetdb5/mal/mal_parser.c
@@ -1843,8 +1843,9 @@ parseMAL(Client cntxt, Symbol curPrg, in
                case 'C': case 'c':
                        if (MALkeyword(cntxt, "command", 7)) {
                                parseCommandPattern(cntxt, COMMANDsymbol);
-                               cntxt->curprg->def->inlineProp = inlineProp;
                                cntxt->curprg->def->unsafeProp = unsafeProp;
+                               if( inlineProp )
+                                       showException(cntxt->fdout, SYNTAX, 
"parseError", "INLINE ignored");
                                inlineProp = 0;
                                unsafeProp = 0;
                                continue;
@@ -1875,6 +1876,12 @@ parseMAL(Client cntxt, Symbol curPrg, in
                                        break;
                                }
                        } else if (MALkeyword(cntxt, "factory", 7)) {
+                               if( inlineProp )
+                                       showException(cntxt->fdout, SYNTAX, 
"parseError", "INLINE ignored");
+                               if( unsafeProp)
+                                       showException(cntxt->fdout, SYNTAX, 
"parseError", "UNSAFE ignored");
+                               inlineProp = 0;
+                               unsafeProp = 0;
                                cntxt->blkmode++;
                                parseFunction(cntxt, FACTORYsymbol);
                                break;
@@ -1904,8 +1911,9 @@ parseMAL(Client cntxt, Symbol curPrg, in
                        goto allLeft;
                case 'P': case 'p':
                        if (MALkeyword(cntxt, "pattern", 7)) {
+                               if( inlineProp )
+                                       showException(cntxt->fdout, SYNTAX, 
"parseError", "INLINE ignored");
                                parseCommandPattern(cntxt, PATTERNsymbol);
-                               cntxt->curprg->def->inlineProp = inlineProp;
                                cntxt->curprg->def->unsafeProp = unsafeProp;
                                inlineProp = 0;
                                unsafeProp = 0;
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to