at some point commands should become patterns. There is no limitation on the number of arguments per se.
On 1/27/12 10:14 PM, Fabian Groffen wrote: > 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 > checkin-l...@monetdb.org > http://mail.monetdb.org/mailman/listinfo/checkin-list ------------------------------------------------------------------------------ Try before you buy = See our experts in action! The most comprehensive online learning library for Microsoft developers is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3, Metro Style Apps, more. Free future releases when you subscribe now! http://p.sf.net/sfu/learndevnow-dev2 _______________________________________________ Monetdb-developers mailing list Monetdb-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/monetdb-developers