Changeset: cef718e2ef35 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=cef718e2ef35
Modified Files:
        sql/backends/monet5/sql_execute.c
        sql/backends/monet5/sql_gencode.c
        sql/backends/monet5/sql_statement.c
        sql/common/sql_types.c
        sql/server/rel_dump.c
        sql/test/Tests/systemfunctions.stable.out.int128
        sql/test/emptydb/Tests/check.stable.out
        sql/test/emptydb/Tests/check.stable.out.32bit
        sql/test/emptydb/Tests/check.stable.out.int128
        sql/test/leaks/Tests/check1.stable.out
        sql/test/leaks/Tests/check1.stable.out.int128
        sql/test/leaks/Tests/check2.stable.out
        sql/test/leaks/Tests/check2.stable.out.int128
        sql/test/leaks/Tests/check3.stable.out
        sql/test/leaks/Tests/check3.stable.out.int128
        sql/test/leaks/Tests/check4.stable.out
        sql/test/leaks/Tests/check4.stable.out.int128
        sql/test/leaks/Tests/check5.stable.out
        sql/test/leaks/Tests/check5.stable.out.int128
        sql/test/leaks/Tests/select1.stable.out
        sql/test/leaks/Tests/select1.stable.out.int128
        sql/test/leaks/Tests/select2.stable.out
        sql/test/leaks/Tests/select2.stable.out.int128
        sql/test/leaks/Tests/temp1.stable.out
Branch: default
Log Message:

Merge with Jul2017 branch.


diffs (truncated from 1290 to 300 lines):

diff --git a/sql/backends/monet5/sql_execute.c 
b/sql/backends/monet5/sql_execute.c
--- a/sql/backends/monet5/sql_execute.c
+++ b/sql/backends/monet5/sql_execute.c
@@ -813,6 +813,17 @@ RAstatement(Client c, MalBlkPtr mb, MalS
        return msg;
 }
 
+static int 
+is_a_number(char *v)
+{
+       while(*v) {
+               if (!isdigit(*v))
+                       return 0;
+               v++;
+       }
+       return 1;
+}
+
 str
 RAstatement2(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci)
 {
@@ -835,19 +846,22 @@ RAstatement2(Client cntxt, MalBlkPtr mb,
        if (!m->sa)
                m->sa = sa_create();
 
-       //fprintf(stderr, "#(%s){{%s}}\n", *sig, *expr);
-       //fflush(stderr);
-               ops = sa_list(m->sa);
+       /* keep copy of signature and relational expression */
        snprintf(buf, BUFSIZ, "%s %s", *sig, *expr);
+
+       stack_push_frame(m, NULL);
+       ops = sa_list(m->sa);
        while (c && *c && !isspace(*c)) {
                char *vnme = c, *tnme; 
                char *p = strchr(++c, (int)' ');
-               int d,s,nr;
+               int d,s,nr = -1;
                sql_subtype t;
                atom *a;
 
                *p++ = 0;
-               nr = strtol(vnme+1, NULL, 10);
+               /* vnme can be name or number */
+               if (is_a_number(vnme+1))
+                       nr = strtol(vnme+1, NULL, 10);
                tnme = p;
                p = strchr(p, (int)'(');
                *p++ = 0;
@@ -863,14 +877,22 @@ RAstatement2(Client cntxt, MalBlkPtr mb,
                 * don't use sql_add_arg, but special numbered version
                 * sql_set_arg(m, a, nr);
                 * */
-               append(ops, exp_atom_ref(m->sa, nr, &t));
-               sql_set_arg(m, nr, a);
+               if (nr >= 0) { 
+                       append(ops, exp_atom_ref(m->sa, nr, &t));
+                       sql_set_arg(m, nr, a);
+               } else {
+                       stack_push_var(m, vnme+1, &t);
+                       append(ops, exp_var(m->sa, sa_strdup(m->sa, vnme+1), 
&t, m->frame));
+               }
                c = strchr(p, (int)',');
                if (c)
                        c++;
        }
        refs = sa_list(m->sa);
        rel = rel_read(m, *expr, &pos, refs);
+       stack_pop_frame(m);
+       if (rel)
+               rel = rel_optimizer(m, rel);
        if (!rel || monet5_create_relational_function(m, *mod, *nme, rel, NULL, 
ops, 0) < 0)
                throw(SQL, "sql.register", SQLSTATE(42000) "Cannot register 
%s", buf);
        rel_destroy(rel);
diff --git a/sql/backends/monet5/sql_gencode.c 
b/sql/backends/monet5/sql_gencode.c
--- a/sql/backends/monet5/sql_gencode.c
+++ b/sql/backends/monet5/sql_gencode.c
@@ -139,11 +139,9 @@ relational_func_create_result(mvc *sql, 
        return q;
 }
 
-
 static int
-_create_relational_function(mvc *m, const char *mod, const char *name, sql_rel 
*rel, stmt *call, list *rel_ops, int inline_func)
+_create_relational_function(mvc *m, const char *mod, const char *name, sql_rel 
*r, stmt *call, list *rel_ops, int inline_func)
 {
-       sql_rel *r;
        Client c = MCgetClient(m->clientid);
        backend *be = (backend *) c->sqlcontext;
        MalBlkPtr curBlk = 0;
@@ -151,8 +149,6 @@ static int
        Symbol backup = NULL, curPrg = NULL;
        int old_argc = be->mvc->argc;
 
-       r = rel_optimizer(m, rel);
-
        backup = c->curprg;
        curPrg = c->curprg = newFunction(putName(mod), putName(name), 
FUNCTIONsymbol);
        if( curPrg == NULL)
@@ -196,7 +192,10 @@ static int
                        int varid = 0;
                        char buf[64];
 
-                       snprintf(buf,64,"A%d",e->flag);
+                       if (e->type == e_atom) 
+                               snprintf(buf,64,"A%d",e->flag);
+                       else
+                               snprintf(buf,64,"A%s",e->name);
                        varid = newVariable(curBlk, (char *)buf, strlen(buf), 
type);
                        curInstr = pushArgument(curBlk, curInstr, varid);
                        setVarType(curBlk, varid, type);
@@ -247,7 +246,6 @@ rel2str( mvc *sql, sql_rel *rel)
        return res;
 }
 
-
 /* stub and remote function */
 static int
 _create_relational_remote(mvc *m, const char *mod, const char *name, sql_rel 
*rel, stmt *call, prop *prp)
diff --git a/sql/backends/monet5/sql_statement.c 
b/sql/backends/monet5/sql_statement.c
--- a/sql/backends/monet5/sql_statement.c
+++ b/sql/backends/monet5/sql_statement.c
@@ -13,6 +13,7 @@
 #include "sql_gencode.h"
 #include "rel_rel.h"
 #include "rel_exp.h"
+#include "rel_optimizer.h"
 
 #include "mal_namespace.h"
 #include "mal_builder.h"
@@ -2681,6 +2682,9 @@ stmt_func(backend *be, stmt *ops, const 
        /* dump args */
        if (ops && ops->nr < 0)
                return NULL;
+
+       rel = rel_optimizer(be->mvc, rel);
+
        if (monet5_create_relational_function(be->mvc, mod, name, rel, ops, 
NULL, 1) < 0)
                 return NULL;
 
diff --git a/sql/common/sql_types.c b/sql/common/sql_types.c
--- a/sql/common/sql_types.c
+++ b/sql/common/sql_types.c
@@ -1527,6 +1527,7 @@ sqltypeinit( sql_allocator *sa)
                for (u = numerical, u++; u != decimals; u++) {
                        if (t != u && (*t)->localtype >  (*u)->localtype) {
                                sql_create_func(sa, "sql_mul", "calc", "*", *t, 
*u, *t, SCALE_MUL);
+                               sql_create_func(sa, "sql_mul", "calc", "*", *u, 
*t, *t, SCALE_MUL);
                                sql_create_func(sa, "sql_div", "calc", "/", *t, 
*u, *t, SCALE_DIV);
                        }
                }
diff --git a/sql/server/rel_dump.c b/sql/server/rel_dump.c
--- a/sql/server/rel_dump.c
+++ b/sql/server/rel_dump.c
@@ -905,7 +905,8 @@ exp_read(mvc *sql, sql_rel *lrel, sql_re
                        for( n = exps->h; n; n = n->next)
                                append(ops, exp_subtype(n->data));
                        f = sql_bind_func_(sql->sa, s, cname, ops, F_FUNC);
-                       exp = exp_op( sql->sa, exps, f);
+                       if (f)
+                               exp = exp_op( sql->sa, exps, f);
                }
        }
 
@@ -920,6 +921,16 @@ exp_read(mvc *sql, sql_rel *lrel, sql_re
                                exp = exp_atom_ref(sql->sa, nr, &a->tpe);
                        }
                }
+               if (!exp) {
+                       old = *e;
+                       *e = 0;
+                       if (stack_find_var(sql, b)) {
+                               sql_subtype *tpe = stack_find_type(sql, b);
+                               int frame = stack_find_frame(sql, b);
+                               exp = exp_param(sql->sa, sa_strdup(sql->sa, b), 
tpe, frame);
+                       }
+                       *e = old;
+               }
                if (!exp && lrel) { 
                        int amb = 0;
                        char *cname;
diff --git a/sql/test/Tests/systemfunctions.stable.out.int128 
b/sql/test/Tests/systemfunctions.stable.out.int128
--- a/sql/test/Tests/systemfunctions.stable.out.int128
+++ b/sql/test/Tests/systemfunctions.stable.out.int128
@@ -3849,33 +3849,63 @@ Ready.
 [ "sys",       "sql_mul",      0,      "smallint",     "*"     ]
 [ "sys",       "sql_mul",      1,      "smallint",     ""      ]
 [ "sys",       "sql_mul",      2,      "tinyint",      ""      ]
+[ "sys",       "sql_mul",      0,      "smallint",     "*"     ]
+[ "sys",       "sql_mul",      1,      "tinyint",      ""      ]
+[ "sys",       "sql_mul",      2,      "smallint",     ""      ]
 [ "sys",       "sql_mul",      0,      "int",  "*"     ]
 [ "sys",       "sql_mul",      1,      "int",  ""      ]
 [ "sys",       "sql_mul",      2,      "tinyint",      ""      ]
 [ "sys",       "sql_mul",      0,      "int",  "*"     ]
+[ "sys",       "sql_mul",      1,      "tinyint",      ""      ]
+[ "sys",       "sql_mul",      2,      "int",  ""      ]
+[ "sys",       "sql_mul",      0,      "int",  "*"     ]
 [ "sys",       "sql_mul",      1,      "int",  ""      ]
 [ "sys",       "sql_mul",      2,      "smallint",     ""      ]
+[ "sys",       "sql_mul",      0,      "int",  "*"     ]
+[ "sys",       "sql_mul",      1,      "smallint",     ""      ]
+[ "sys",       "sql_mul",      2,      "int",  ""      ]
 [ "sys",       "sql_mul",      0,      "bigint",       "*"     ]
 [ "sys",       "sql_mul",      1,      "bigint",       ""      ]
 [ "sys",       "sql_mul",      2,      "tinyint",      ""      ]
 [ "sys",       "sql_mul",      0,      "bigint",       "*"     ]
+[ "sys",       "sql_mul",      1,      "tinyint",      ""      ]
+[ "sys",       "sql_mul",      2,      "bigint",       ""      ]
+[ "sys",       "sql_mul",      0,      "bigint",       "*"     ]
 [ "sys",       "sql_mul",      1,      "bigint",       ""      ]
 [ "sys",       "sql_mul",      2,      "smallint",     ""      ]
 [ "sys",       "sql_mul",      0,      "bigint",       "*"     ]
+[ "sys",       "sql_mul",      1,      "smallint",     ""      ]
+[ "sys",       "sql_mul",      2,      "bigint",       ""      ]
+[ "sys",       "sql_mul",      0,      "bigint",       "*"     ]
 [ "sys",       "sql_mul",      1,      "bigint",       ""      ]
 [ "sys",       "sql_mul",      2,      "int",  ""      ]
+[ "sys",       "sql_mul",      0,      "bigint",       "*"     ]
+[ "sys",       "sql_mul",      1,      "int",  ""      ]
+[ "sys",       "sql_mul",      2,      "bigint",       ""      ]
 [ "sys",       "sql_mul",      0,      "hugeint",      "*"     ]
 [ "sys",       "sql_mul",      1,      "hugeint",      ""      ]
 [ "sys",       "sql_mul",      2,      "tinyint",      ""      ]
 [ "sys",       "sql_mul",      0,      "hugeint",      "*"     ]
+[ "sys",       "sql_mul",      1,      "tinyint",      ""      ]
+[ "sys",       "sql_mul",      2,      "hugeint",      ""      ]
+[ "sys",       "sql_mul",      0,      "hugeint",      "*"     ]
 [ "sys",       "sql_mul",      1,      "hugeint",      ""      ]
 [ "sys",       "sql_mul",      2,      "smallint",     ""      ]
 [ "sys",       "sql_mul",      0,      "hugeint",      "*"     ]
+[ "sys",       "sql_mul",      1,      "smallint",     ""      ]
+[ "sys",       "sql_mul",      2,      "hugeint",      ""      ]
+[ "sys",       "sql_mul",      0,      "hugeint",      "*"     ]
 [ "sys",       "sql_mul",      1,      "hugeint",      ""      ]
 [ "sys",       "sql_mul",      2,      "int",  ""      ]
 [ "sys",       "sql_mul",      0,      "hugeint",      "*"     ]
+[ "sys",       "sql_mul",      1,      "int",  ""      ]
+[ "sys",       "sql_mul",      2,      "hugeint",      ""      ]
+[ "sys",       "sql_mul",      0,      "hugeint",      "*"     ]
 [ "sys",       "sql_mul",      1,      "hugeint",      ""      ]
 [ "sys",       "sql_mul",      2,      "bigint",       ""      ]
+[ "sys",       "sql_mul",      0,      "hugeint",      "*"     ]
+[ "sys",       "sql_mul",      1,      "bigint",       ""      ]
+[ "sys",       "sql_mul",      2,      "hugeint",      ""      ]
 [ "sys",       "sql_mul",      0,      "decimal",      "*"     ]
 [ "sys",       "sql_mul",      1,      "decimal",      ""      ]
 [ "sys",       "sql_mul",      2,      "decimal",      ""      ]
diff --git a/sql/test/emptydb/Tests/check.stable.out 
b/sql/test/emptydb/Tests/check.stable.out
--- a/sql/test/emptydb/Tests/check.stable.out
+++ b/sql/test/emptydb/Tests/check.stable.out
@@ -2978,6 +2978,9 @@ drop function pcre_replace(string, strin
 [ "sys",       "sql_mul",      "*",    "calc", 0,      "function",     false,  
false,  false,  "res_0",        "bigint",       64,     0,      "out",  
"arg_1",        "bigint",       64,     0,      "in",   "arg_2",        "int",  
32,     0,      "in",   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL    ]
 [ "sys",       "sql_mul",      "*",    "calc", 0,      "function",     false,  
false,  false,  "res_0",        "bigint",       64,     0,      "out",  
"arg_1",        "bigint",       64,     0,      "in",   "arg_2",        
"smallint",     16,     0,      "in",   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL    
]
 [ "sys",       "sql_mul",      "*",    "calc", 0,      "function",     false,  
false,  false,  "res_0",        "bigint",       64,     0,      "out",  
"arg_1",        "bigint",       64,     0,      "in",   "arg_2",        
"tinyint",      8,      0,      "in",   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL    
]
+[ "sys",       "sql_mul",      "*",    "calc", 0,      "function",     false,  
false,  false,  "res_0",        "bigint",       64,     0,      "out",  
"arg_1",        "int",  32,     0,      "in",   "arg_2",        "bigint",       
64,     0,      "in",   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL    ]
+[ "sys",       "sql_mul",      "*",    "calc", 0,      "function",     false,  
false,  false,  "res_0",        "bigint",       64,     0,      "out",  
"arg_1",        "smallint",     16,     0,      "in",   "arg_2",        
"bigint",       64,     0,      "in",   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL    
]
+[ "sys",       "sql_mul",      "*",    "calc", 0,      "function",     false,  
false,  false,  "res_0",        "bigint",       64,     0,      "out",  
"arg_1",        "tinyint",      8,      0,      "in",   "arg_2",        
"bigint",       64,     0,      "in",   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL    
]
 [ "sys",       "sql_mul",      "*",    "calc", 0,      "function",     false,  
false,  false,  "res_0",        "decimal",      2,      0,      "out",  
"arg_1",        "decimal",      2,      0,      "in",   "arg_2",        
"decimal",      2,      0,      "in",   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL    
]
 [ "sys",       "sql_mul",      "*",    "calc", 0,      "function",     false,  
false,  false,  "res_0",        "decimal",      4,      0,      "out",  
"arg_1",        "decimal",      2,      0,      "in",   "arg_2",        
"decimal",      4,      0,      "in",   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL    
]
 [ "sys",       "sql_mul",      "*",    "calc", 0,      "function",     false,  
false,  false,  "res_0",        "decimal",      4,      0,      "out",  
"arg_1",        "decimal",      4,      0,      "in",   "arg_2",        
"decimal",      2,      0,      "in",   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL    
]
@@ -3041,6 +3044,7 @@ drop function pcre_replace(string, strin
 [ "sys",       "sql_mul",      "*",    "calc", 0,      "function",     false,  
false,  false,  "res_0",        "sec_interval", 13,     0,      "out",  
"arg_1",        "sec_interval", 13,     0,      "in",   "arg_2",        
"tinyint",      8,      0,      "in",   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL    
]
 [ "sys",       "sql_mul",      "*",    "calc", 0,      "function",     false,  
false,  false,  "res_0",        "smallint",     16,     0,      "out",  
"arg_1",        "smallint",     16,     0,      "in",   "arg_2",        
"smallint",     16,     0,      "in",   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL    
]
 [ "sys",       "sql_mul",      "*",    "calc", 0,      "function",     false,  
false,  false,  "res_0",        "smallint",     16,     0,      "out",  
"arg_1",        "smallint",     16,     0,      "in",   "arg_2",        
"tinyint",      8,      0,      "in",   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL    
]
+[ "sys",       "sql_mul",      "*",    "calc", 0,      "function",     false,  
false,  false,  "res_0",        "smallint",     16,     0,      "out",  
"arg_1",        "tinyint",      8,      0,      "in",   "arg_2",        
"smallint",     16,     0,      "in",   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL    
]
 [ "sys",       "sql_mul",      "*",    "calc", 0,      "function",     false,  
false,  false,  "res_0",        "tinyint",      8,      0,      "out",  
"arg_1",        "tinyint",      8,      0,      "in",   "arg_2",        
"tinyint",      8,      0,      "in",   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL    
]
 [ "sys",       "sql_neg",      "-",    "calc", 0,      "function",     false,  
false,  false,  "res_0",        "bigint",       64,     0,      "out",  
"arg_1",        "bigint",       64,     0,      "in",   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL    ]
 [ "sys",       "sql_neg",      "-",    "calc", 0,      "function",     false,  
false,  false,  "res_0",        "decimal",      2,      0,      "out",  
"arg_1",        "decimal",      2,      0,      "in",   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL    ]
@@ -5481,6 +5485,16 @@ drop function pcre_replace(string, strin
 [ "sql_mul"    ]
 [ "sql_mul"    ]
 [ "sql_mul"    ]
+[ "sql_mul"    ]
+[ "sql_mul"    ]
+[ "sql_mul"    ]
+[ "sql_mul"    ]
+[ "sql_mul"    ]
+[ "sql_mul"    ]
+[ "sql_mul"    ]
+[ "sql_mul"    ]
+[ "sql_mul"    ]
+[ "sql_mul"    ]
 [ "sql_neg"    ]
 [ "sql_neg"    ]
 [ "sql_neg"    ]
diff --git a/sql/test/emptydb/Tests/check.stable.out.32bit 
b/sql/test/emptydb/Tests/check.stable.out.32bit
--- a/sql/test/emptydb/Tests/check.stable.out.32bit
+++ b/sql/test/emptydb/Tests/check.stable.out.32bit
@@ -2982,6 +2982,9 @@ drop function pcre_replace(string, strin
 [ "sys",       "sql_mul",      "*",    "calc", 0,      "function",     false,  
false,  false,  "res_0",        "bigint",       64,     0,      "out",  
"arg_1",        "bigint",       64,     0,      "in",   "arg_2",        "int",  
32,     0,      "in",   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL    ]
 [ "sys",       "sql_mul",      "*",    "calc", 0,      "function",     false,  
false,  false,  "res_0",        "bigint",       64,     0,      "out",  
"arg_1",        "bigint",       64,     0,      "in",   "arg_2",        
"smallint",     16,     0,      "in",   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL    
]
 [ "sys",       "sql_mul",      "*",    "calc", 0,      "function",     false,  
false,  false,  "res_0",        "bigint",       64,     0,      "out",  
"arg_1",        "bigint",       64,     0,      "in",   "arg_2",        
"tinyint",      8,      0,      "in",   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL    
]
+[ "sys",       "sql_mul",      "*",    "calc", 0,      "function",     false,  
false,  false,  "res_0",        "bigint",       64,     0,      "out",  
"arg_1",        "int",  32,     0,      "in",   "arg_2",        "bigint",       
64,     0,      "in",   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL    ]
+[ "sys",       "sql_mul",      "*",    "calc", 0,      "function",     false,  
false,  false,  "res_0",        "bigint",       64,     0,      "out",  
"arg_1",        "smallint",     16,     0,      "in",   "arg_2",        
"bigint",       64,     0,      "in",   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL    
]
+[ "sys",       "sql_mul",      "*",    "calc", 0,      "function",     false,  
false,  false,  "res_0",        "bigint",       64,     0,      "out",  
"arg_1",        "tinyint",      8,      0,      "in",   "arg_2",        
"bigint",       64,     0,      "in",   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL    
]
 [ "sys",       "sql_mul",      "*",    "calc", 0,      "function",     false,  
false,  false,  "res_0",        "decimal",      2,      0,      "out",  
"arg_1",        "decimal",      2,      0,      "in",   "arg_2",        
"decimal",      2,      0,      "in",   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL    
]
 [ "sys",       "sql_mul",      "*",    "calc", 0,      "function",     false,  
false,  false,  "res_0",        "decimal",      4,      0,      "out",  
"arg_1",        "decimal",      2,      0,      "in",   "arg_2",        
"decimal",      4,      0,      "in",   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL    
]
 [ "sys",       "sql_mul",      "*",    "calc", 0,      "function",     false,  
false,  false,  "res_0",        "decimal",      4,      0,      "out",  
"arg_1",        "decimal",      4,      0,      "in",   "arg_2",        
"decimal",      2,      0,      "in",   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL    
]
@@ -3045,6 +3048,7 @@ drop function pcre_replace(string, strin
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to