Changeset: a9fa1c35a273 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=a9fa1c35a273
Modified Files:
        monetdb5/mal/mal_interpreter.mx
Branch: jacqueline
Log Message:

mal: allow command calls up to 16 arguments

future functions will need more arguments in total (in particular
because each json argument or return requires 7 separate variables)


diffs (76 lines):

diff --git a/monetdb5/mal/mal_interpreter.mx b/monetdb5/mal/mal_interpreter.mx
--- a/monetdb5/mal/mal_interpreter.mx
+++ b/monetdb5/mal/mal_interpreter.mx
@@ -2053,6 +2053,72 @@ safeguardStack(Client cntxt, MalBlkPtr m
                        (ptr)getArgReference(stk, pci, 10),
                        (ptr)getArgReference(stk, pci, 11));
                break;
+       case 13: ret = (str)(*pci->fcn)(
+                       (ptr)getArgReference(stk, pci, 0),
+                       (ptr)getArgReference(stk, pci, 1),
+                       (ptr)getArgReference(stk, pci, 2),
+                       (ptr)getArgReference(stk, pci, 3),
+                       (ptr)getArgReference(stk, pci, 4),
+                       (ptr)getArgReference(stk, pci, 5),
+                       (ptr)getArgReference(stk, pci, 6),
+                       (ptr)getArgReference(stk, pci, 7),
+                       (ptr)getArgReference(stk, pci, 8),
+                       (ptr)getArgReference(stk, pci, 9),
+                       (ptr)getArgReference(stk, pci, 10),
+                       (ptr)getArgReference(stk, pci, 11),
+                       (ptr)getArgReference(stk, pci, 12));
+               break;
+       case 14: ret = (str)(*pci->fcn)(
+                       (ptr)getArgReference(stk, pci, 0),
+                       (ptr)getArgReference(stk, pci, 1),
+                       (ptr)getArgReference(stk, pci, 2),
+                       (ptr)getArgReference(stk, pci, 3),
+                       (ptr)getArgReference(stk, pci, 4),
+                       (ptr)getArgReference(stk, pci, 5),
+                       (ptr)getArgReference(stk, pci, 6),
+                       (ptr)getArgReference(stk, pci, 7),
+                       (ptr)getArgReference(stk, pci, 8),
+                       (ptr)getArgReference(stk, pci, 9),
+                       (ptr)getArgReference(stk, pci, 10),
+                       (ptr)getArgReference(stk, pci, 11),
+                       (ptr)getArgReference(stk, pci, 12),
+                       (ptr)getArgReference(stk, pci, 13));
+               break;
+       case 15: ret = (str)(*pci->fcn)(
+                       (ptr)getArgReference(stk, pci, 0),
+                       (ptr)getArgReference(stk, pci, 1),
+                       (ptr)getArgReference(stk, pci, 2),
+                       (ptr)getArgReference(stk, pci, 3),
+                       (ptr)getArgReference(stk, pci, 4),
+                       (ptr)getArgReference(stk, pci, 5),
+                       (ptr)getArgReference(stk, pci, 6),
+                       (ptr)getArgReference(stk, pci, 7),
+                       (ptr)getArgReference(stk, pci, 8),
+                       (ptr)getArgReference(stk, pci, 9),
+                       (ptr)getArgReference(stk, pci, 10),
+                       (ptr)getArgReference(stk, pci, 11),
+                       (ptr)getArgReference(stk, pci, 12),
+                       (ptr)getArgReference(stk, pci, 13),
+                       (ptr)getArgReference(stk, pci, 14));
+               break;
+       case 16: ret = (str)(*pci->fcn)(
+                       (ptr)getArgReference(stk, pci, 0),
+                       (ptr)getArgReference(stk, pci, 1),
+                       (ptr)getArgReference(stk, pci, 2),
+                       (ptr)getArgReference(stk, pci, 3),
+                       (ptr)getArgReference(stk, pci, 4),
+                       (ptr)getArgReference(stk, pci, 5),
+                       (ptr)getArgReference(stk, pci, 6),
+                       (ptr)getArgReference(stk, pci, 7),
+                       (ptr)getArgReference(stk, pci, 8),
+                       (ptr)getArgReference(stk, pci, 9),
+                       (ptr)getArgReference(stk, pci, 10),
+                       (ptr)getArgReference(stk, pci, 11),
+                       (ptr)getArgReference(stk, pci, 12),
+                       (ptr)getArgReference(stk, pci, 13),
+                       (ptr)getArgReference(stk, pci, 14),
+                       (ptr)getArgReference(stk, pci, 15));
+               break;
        default:
                ret = createScriptException(mb, stkpc, MAL, NULL,
                        "too many arguments for command call");
_______________________________________________
Checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list

Reply via email to