Changeset: ff9dc7b6f851 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=ff9dc7b6f851
Modified Files:
clients/Tests/MAL-signatures.stable.out
clients/Tests/MAL-signatures.stable.out.int128
clients/Tests/exports.stable.out
monetdb5/modules/kernel/bat5.c
monetdb5/optimizer/opt_prelude.c
monetdb5/optimizer/opt_prelude.h
monetdb5/optimizer/opt_support.c
sql/backends/monet5/sql.c
sql/backends/monet5/sql.h
sql/backends/monet5/sql.mal
sql/backends/monet5/sql_statement.c
sql/test/miscellaneous/Tests/declared_tables.sql
sql/test/miscellaneous/Tests/declared_tables.stable.out
Branch: default
Log Message:
Merged with Jun2020
diffs (truncated from 392 to 300 lines):
diff --git a/clients/Tests/MAL-signatures.stable.out
b/clients/Tests/MAL-signatures.stable.out
--- a/clients/Tests/MAL-signatures.stable.out
+++ b/clients/Tests/MAL-signatures.stable.out
@@ -14077,7 +14077,7 @@ stdout of test 'MAL-signatures` in direc
[ "sql", "dec_round", "command sql.dec_round(v:int, r:int):int ",
"int_dec_round_wrap;", "round off the value v to nearests multiple of r"
]
[ "sql", "dec_round", "command sql.dec_round(v:lng, r:lng):lng ",
"lng_dec_round_wrap;", "round off the value v to nearests multiple of r"
]
[ "sql", "dec_round", "command sql.dec_round(v:sht, r:sht):sht ",
"sht_dec_round_wrap;", "round off the value v to nearests multiple of r"
]
-[ "sql", "delete", "unsafe pattern sql.delete(mvc:int, sname:str,
tname:str, b:any):int ", "mvc_delete_wrap;", "Delete a row from a table.
Returns sequence number for order dependece." ]
+[ "sql", "delete", "unsafe pattern sql.delete(mvc:int, sname:str,
tname:str, b:any):int ", "mvc_delete_wrap;", "Delete a row from a table.
Returns sequence number for order dependence." ]
[ "sql", "delta", "command sql.delta(col:bat[:any_3],
uid:bat[:oid], uval:bat[:any_3]):bat[:any_3] ", "DELTAbat2;", "Return
column bat with delta's applied." ]
[ "sql", "delta", "command sql.delta(col:bat[:any_3],
uid:bat[:oid], uval:bat[:any_3], ins:bat[:any_3]):bat[:any_3] ",
"DELTAbat;", "Return column bat with delta's applied." ]
[ "sql", "deltas", "pattern sql.deltas(schema:str) (ids:bat[:int],
cleared:bat[:bit], readonly:bat[:lng], inserted:bat[:lng], updated:bat[:lng],
deleted:bat[:lng], tr_level:bat[:int]) ", "mvc_delta_values;", "Return the
delta values sizes of all columns of the schema's tables, plus the current
transaction level" ]
diff --git a/clients/Tests/MAL-signatures.stable.out.int128
b/clients/Tests/MAL-signatures.stable.out.int128
--- a/clients/Tests/MAL-signatures.stable.out.int128
+++ b/clients/Tests/MAL-signatures.stable.out.int128
@@ -19534,7 +19534,7 @@ stdout of test 'MAL-signatures` in direc
[ "sql", "dec_round", "command sql.dec_round(v:int, r:int):int ",
"int_dec_round_wrap;", "round off the value v to nearests multiple of r"
]
[ "sql", "dec_round", "command sql.dec_round(v:lng, r:lng):lng ",
"lng_dec_round_wrap;", "round off the value v to nearests multiple of r"
]
[ "sql", "dec_round", "command sql.dec_round(v:sht, r:sht):sht ",
"sht_dec_round_wrap;", "round off the value v to nearests multiple of r"
]
-[ "sql", "delete", "unsafe pattern sql.delete(mvc:int, sname:str,
tname:str, b:any):int ", "mvc_delete_wrap;", "Delete a row from a table.
Returns sequence number for order dependece." ]
+[ "sql", "delete", "unsafe pattern sql.delete(mvc:int, sname:str,
tname:str, b:any):int ", "mvc_delete_wrap;", "Delete a row from a table.
Returns sequence number for order dependence." ]
[ "sql", "delta", "command sql.delta(col:bat[:any_3],
uid:bat[:oid], uval:bat[:any_3]):bat[:any_3] ", "DELTAbat2;", "Return
column bat with delta's applied." ]
[ "sql", "delta", "command sql.delta(col:bat[:any_3],
uid:bat[:oid], uval:bat[:any_3], ins:bat[:any_3]):bat[:any_3] ",
"DELTAbat;", "Return column bat with delta's applied." ]
[ "sql", "deltas", "pattern sql.deltas(schema:str) (ids:bat[:int],
cleared:bat[:bit], readonly:bat[:lng], inserted:bat[:lng], updated:bat[:lng],
deleted:bat[:lng], tr_level:bat[:int]) ", "mvc_delta_values;", "Return the
delta values sizes of all columns of the schema's tables, plus the current
transaction level" ]
diff --git a/clients/Tests/exports.stable.out b/clients/Tests/exports.stable.out
--- a/clients/Tests/exports.stable.out
+++ b/clients/Tests/exports.stable.out
@@ -2043,6 +2043,7 @@ int bstream_destroy_wrap(Bstream *BS);
str bstream_destroy_wrapwrap(void *ret, Bstream *BS);
int bstream_read_wrap(int *res, Bstream *BS, int *size);
str bstream_read_wrapwrap(int *res, Bstream *BS, int *size);
+str bulk_rotate_xor_hashRef;
str calcRef;
str callMAL(Client cntxt, MalBlkPtr mb, MalStkPtr *glb, ValPtr argv[], char
debug);
str callString(Client c, str s, int listing);
@@ -2214,6 +2215,7 @@ malType getType(MalBlkPtr mb, str nme);
str getTypeIdentifier(malType tpe);
str getTypeName(malType tpe);
lng getUserTime(void);
+str getVariableRef;
lng getVolume(MalStkPtr stk, InstrPtr pci, int rd);
int getprofilerlimit(void);
Module globalModule(str nme);
@@ -2224,6 +2226,7 @@ str groupRef;
str group_concatRef;
str groupbyRef;
str groupdoneRef;
+str growRef;
int hasCommonResults(InstrPtr p, InstrPtr q);
int hasSameArguments(MalBlkPtr mb, InstrPtr p, InstrPtr q);
int hasSameSignature(MalBlkPtr mb, InstrPtr p, InstrPtr q);
@@ -2243,7 +2246,6 @@ void initParser(void);
void initProfiler(void);
str initQlog(void);
int inlineMALblock(MalBlkPtr mb, int pc, MalBlkPtr mc);
-str inplaceRef;
void insertSymbol(Module scope, Symbol prg);
str instruction2str(MalBlkPtr mb, MalStkPtr stl, InstrPtr p, int hidden);
str intRef;
diff --git a/monetdb5/modules/kernel/bat5.c b/monetdb5/modules/kernel/bat5.c
--- a/monetdb5/modules/kernel/bat5.c
+++ b/monetdb5/modules/kernel/bat5.c
@@ -226,7 +226,7 @@ BKCmirror(bat *ret, const bat *bid)
return MAL_SUCCEED;
}
-char *
+str
BKCdelete(bat *r, const bat *bid, const oid *h)
{
BAT *b;
@@ -274,7 +274,7 @@ BKCdelete_all(bat *r, const bat *bid)
throw(MAL, "bat.delete", SQLSTATE(HY002)
RUNTIME_OBJECT_MISSING);
if (BATclear(b, false) != GDK_SUCCEED) {
BBPunfix(b->batCacheid);
- throw(MAL, "bat.delete_all", GDK_EXCEPTION);
+ throw(MAL, "bat.delete", GDK_EXCEPTION);
}
if( !b->batTransient)
BATmsync(b);
@@ -282,7 +282,7 @@ BKCdelete_all(bat *r, const bat *bid)
return MAL_SUCCEED;
}
-char *
+str
BKCappend_cand_force_wrap(bat *r, const bat *bid, const bat *uid, const bat
*sid, const bit *force)
{
BAT *b, *u, *s = NULL;
@@ -315,19 +315,19 @@ BKCappend_cand_force_wrap(bat *r, const
return MAL_SUCCEED;
}
-char *
+str
BKCappend_cand_wrap(bat *r, const bat *bid, const bat *uid, const bat *sid)
{
return BKCappend_cand_force_wrap(r, bid, uid, sid, NULL);
}
-char *
+str
BKCappend_wrap(bat *r, const bat *bid, const bat *uid)
{
return BKCappend_cand_force_wrap(r, bid, uid, NULL, NULL);
}
-char *
+str
BKCappend_force_wrap(bat *r, const bat *bid, const bat *uid, const bit *force)
{
return BKCappend_cand_force_wrap(r, bid, uid, NULL, force);
diff --git a/monetdb5/optimizer/opt_prelude.c b/monetdb5/optimizer/opt_prelude.c
--- a/monetdb5/optimizer/opt_prelude.c
+++ b/monetdb5/optimizer/opt_prelude.c
@@ -68,6 +68,7 @@ str bindRef;
str blockRef;
str bpmRef;
str bstreamRef;
+str bulk_rotate_xor_hashRef;
str calcRef;
str capiRef;
str catalogRef;
@@ -135,6 +136,7 @@ str first_valueRef;
str generatorRef;
str getRef;
str getTraceRef;
+str getVariableRef;
str grant_functionRef;
str grantRef;
str grant_rolesRef;
@@ -142,6 +144,7 @@ str groupbyRef;
str group_concatRef;
str groupdoneRef;
str groupRef;
+str growRef;
str hashRef;
str hgeRef;
str identityRef;
@@ -149,7 +152,6 @@ str ifthenelseRef;
str ilikeRef;
str ilikeselectRef;
str ilikethetaselectRef;
-str inplaceRef;
str intersectcandRef;
str intersectRef;
str intRef;
@@ -370,6 +372,7 @@ void optimizerInit(void)
blockRef = putName("block");
bpmRef = putName("bpm");
bstreamRef = putName("bstream");
+ bulk_rotate_xor_hashRef = putName("bulk_rotate_xor_hash");
calcRef = putName("calc");
capiRef = putName("capi");
catalogRef = putName("catalog");
@@ -437,6 +440,7 @@ void optimizerInit(void)
generatorRef = putName("generator");
getRef = putName("get");
getTraceRef = putName("getTrace");
+ getVariableRef = putName("getVariable");
grant_functionRef = putName("grant_function");
grantRef = putName("grant");
grant_rolesRef = putName("grant_roles");
@@ -444,6 +448,7 @@ void optimizerInit(void)
group_concatRef = putName("group_concat");
groupdoneRef = putName("groupdone");
groupRef = putName("group");
+ growRef = putName("grow");
hashRef = putName("hash");
hgeRef = putName("hge");
identityRef = putName("identity");
@@ -451,7 +456,6 @@ void optimizerInit(void)
ilikeRef = putName("ilike");
ilikeselectRef = putName("ilikeselect");
ilikethetaselectRef = putName("ilikethetaselect");
- inplaceRef = putName("inplace");
intersectcandRef= putName("intersectcand");
intersectRef = putName("intersect");
intRef = putName("int");
diff --git a/monetdb5/optimizer/opt_prelude.h b/monetdb5/optimizer/opt_prelude.h
--- a/monetdb5/optimizer/opt_prelude.h
+++ b/monetdb5/optimizer/opt_prelude.h
@@ -64,6 +64,7 @@ mal_export str bindRef;
mal_export str blockRef;
mal_export str bpmRef;
mal_export str bstreamRef;
+mal_export str bulk_rotate_xor_hashRef;
mal_export str calcRef;
mal_export str capiRef;
mal_export str catalogRef;
@@ -132,6 +133,7 @@ mal_export str first_valueRef;
mal_export str generatorRef;
mal_export str getRef;
mal_export str getTraceRef;
+mal_export str getVariableRef;
mal_export str grant_functionRef;
mal_export str grantRef;
mal_export str grant_rolesRef;
@@ -139,6 +141,7 @@ mal_export str groupbyRef;
mal_export str group_concatRef;
mal_export str groupdoneRef;
mal_export str groupRef;
+mal_export str growRef;
mal_export str hashRef;
mal_export str hgeRef;
mal_export str identityRef;
@@ -147,7 +150,6 @@ mal_export str ilikeRef;
mal_export str ilikeselectRef;
mal_export str ilikethetaselectRef;
mal_export str ilikeuselectRef;
-mal_export str inplaceRef;
mal_export str intersectcandRef;
mal_export str intersectRef;
mal_export str intRef;
diff --git a/monetdb5/optimizer/opt_support.c b/monetdb5/optimizer/opt_support.c
--- a/monetdb5/optimizer/opt_support.c
+++ b/monetdb5/optimizer/opt_support.c
@@ -295,22 +295,19 @@ safetyBarrier(InstrPtr p, InstrPtr q)
return FALSE;
}
-
inline int
isUpdateInstruction(InstrPtr p){
if ( getModuleId(p) == sqlRef &&
- ( getFunctionId(p) == inplaceRef ||
- getFunctionId(p) == appendRef ||
+ ( getFunctionId(p) == appendRef ||
getFunctionId(p) == updateRef ||
- getFunctionId(p) == replaceRef ||
+ getFunctionId(p) == deleteRef ||
+ getFunctionId(p) == growRef ||
getFunctionId(p) == clear_tableRef))
return TRUE;
if ( getModuleId(p) == batRef &&
- ( getFunctionId(p) == inplaceRef ||
- getFunctionId(p) == appendRef ||
- getFunctionId(p) == updateRef ||
+ ( getFunctionId(p) == appendRef ||
getFunctionId(p) == replaceRef ||
- getFunctionId(p) == clear_tableRef))
+ getFunctionId(p) == deleteRef))
return TRUE;
return FALSE;
}
diff --git a/sql/backends/monet5/sql.c b/sql/backends/monet5/sql.c
--- a/sql/backends/monet5/sql.c
+++ b/sql/backends/monet5/sql.c
@@ -1644,7 +1644,7 @@ mvc_grow_wrap(Client cntxt, MalBlkPtr mb
for(;cnt>0; cnt--, v++) {
if (BUNappend(tid, &v, false) != GDK_SUCCEED) {
BBPunfix(Tid);
- throw(SQL, "sql", SQLSTATE(HY013) MAL_MALLOC_FAIL);
+ throw(SQL, "sql.grow", SQLSTATE(HY013) MAL_MALLOC_FAIL);
}
}
BBPunfix(Tid);
diff --git a/sql/backends/monet5/sql.mal b/sql/backends/monet5/sql.mal
--- a/sql/backends/monet5/sql.mal
+++ b/sql/backends/monet5/sql.mal
@@ -304,7 +304,7 @@ comment "Return the tables tid column.";
unsafe pattern delete(mvc:int, sname:str, tname:str, b:any):int
address mvc_delete_wrap
-comment "Delete a row from a table. Returns sequence number for order
dependece.";
+comment "Delete a row from a table. Returns sequence number for order
dependence.";
unsafe pattern resultSet(tbl:str, attr:str, tpe:str, len:int, scale:int,
eclass:int, val:any) :int
address mvc_scalar_value_wrap
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
@@ -330,7 +330,7 @@ stmt_var(backend *be, const char *varnam
if (level == 1 ) { /* global */
int tt = t->type->localtype;
- q = newStmt(mb, sqlRef, putName("getVariable"));
+ q = newStmt(mb, sqlRef, getVariableRef);
q = pushArgument(mb, q, be->mvc_var);
q = pushStr(mb, q, varname);
if (q == NULL)
@@ -522,7 +522,7 @@ stmt_tid(backend *be, sql_table *t, int
s->nr = l[0];
return s;
}
- q = newStmt(mb, sqlRef, tidRef);
+ q = newStmt(mb, sqlRef, tidRef);
if (q == NULL)
return NULL;
setVarType(mb, getArg(q, 0), newBatType(tt));
@@ -695,7 +695,7 @@ stmt_append_col(backend *be, sql_column
int *l = c->t->data;
if (c->colnr == 0) { /* append to tid column */
- q = newStmt(mb, sqlRef, "grow");
+ q = newStmt(mb, sqlRef, growRef);
q = pushArgument(mb, q, l[0]);
q = pushArgument(mb, q, b->nr);
}
@@ -785,7 +785,7 @@ stmt_update_col(backend *be, sql_column
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list