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