Changeset: a789e702d25c for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=a789e702d25c
Added Files:
monetdb5/tools/Tests/mserver5--help.stable.err.Windows
sql/backends/monet5/sql_cat.c
sql/backends/monet5/sql_cat.h
sql/backends/monet5/sql_transaction.c
sql/backends/monet5/sql_transaction.h
sql/backends/monet5/sql_transaction.mal
sql/backends/monet5/sqlcatalog.mal
sql/test/Tests/bincopycollist-prepare.py
sql/test/sys-schema/Tests/All
sql/test/sys-schema/Tests/check_AlternateKey_uniqueness.sql
sql/test/sys-schema/Tests/check_AlternateKey_uniqueness.stable.err
sql/test/sys-schema/Tests/check_AlternateKey_uniqueness.stable.out
sql/test/sys-schema/Tests/check_PrimaryKey_uniqueness.sql
sql/test/sys-schema/Tests/check_PrimaryKey_uniqueness.stable.err
sql/test/sys-schema/Tests/check_PrimaryKey_uniqueness.stable.out
Removed Files:
sql/test/Tests/bincopycollist-prepare.bat
sql/test/Tests/bincopycollist-prepare.sh
sql/test/Tests/bincopyint.bin
Modified Files:
clients/Tests/exports.stable.out
monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out
monetdb5/mal/mal_parser.c
monetdb5/optimizer/Tests/dataflow.stable.out
monetdb5/optimizer/Tests/dataflow3.stable.out
monetdb5/optimizer/opt_emptybind.c
monetdb5/optimizer/opt_garbageCollector.c
monetdb5/optimizer/opt_mergetable.c
monetdb5/optimizer/opt_prelude.c
monetdb5/optimizer/opt_prelude.h
monetdb5/optimizer/opt_support.c
sql/backends/monet5/40_sql.mal
sql/backends/monet5/Makefile.ag
sql/backends/monet5/UDF/cudf/Tests/udf-fuse.stable.out
sql/backends/monet5/UDF/cudf/Tests/udf-reverse.stable.out
sql/backends/monet5/sql.c
sql/backends/monet5/sql.h
sql/backends/monet5/sql.mal
sql/backends/monet5/sql_statement.c
sql/test/BugTracker-2009/Tests/POWER_vs_prod.SF-2596114.stable.out
sql/test/BugTracker-2009/Tests/segfault_when_quitting_debugger.SF-2538837.stable.out
sql/test/BugTracker-2010/Tests/LIMIT_OFFSET_big-endian.Bug-2622.stable.out
sql/test/BugTracker-2012/Tests/rewrite_like_into_likesubselect.Bug-3179.stable.out
sql/test/BugTracker-2014/Tests/manifold.Bug-3556.stable.out
sql/test/BugTracker-2015/Tests/schemadiff.Bug-3778.stable.out
sql/test/BugTracker-2016/Tests/All
sql/test/BugTracker-2016/Tests/decimal_vs_integer.Bug-3941.stable.out
sql/test/BugTracker-2016/Tests/storagemodel.stable.out
sql/test/BugTracker-2016/Tests/storagemodel.stable.out.32bit
sql/test/BugTracker-2016/Tests/storagemodel.stable.out.int128
sql/test/BugTracker/Tests/groupby_orderby_nonselected.SF-1723863.stable.err
sql/test/BugTracker/Tests/jdbc_no_debug.SF-1739356.stable.out.32bit
sql/test/BugTracker/Tests/subquery_orderby.SF-1688915.stable.err
sql/test/BugTracker/Tests/subquery_orderby.SF-1688915.stable.out
sql/test/Tests/bincopycollist-prepare.stable.err
sql/test/Tests/bincopycollist-prepare.stable.out
sql/test/mapi/Tests/sql_int128.stable.out
sql/test/mergetables/Tests/mergequery.stable.out
sql/test/mosaic/Tests/compression.stable.out
sql/test/mosaic/Tests/compressionRLE.stable.out
sql/test/mosaic/Tests/compressionRLE2.stable.out
sql/test/mosaic/Tests/xqueries.stable.out
sql/test/mosaic/Tests/xqueries_delta.stable.out
sql/test/mosaic/Tests/xqueries_rle.stable.out
sql/test/remote/Tests/partition_elim.stable.out
Branch: mosaic
Log Message:
Merge with default
diffs (truncated from 8739 to 300 lines):
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
@@ -2046,6 +2046,21 @@ str affectedRowsRef;
str aggrRef;
str alarmRef;
str algebraRef;
+str alter_add_tableRef;
+str alter_constraintRef;
+str alter_del_tableRef;
+str alter_functionRef;
+str alter_indexRef;
+str alter_roleRef;
+str alter_schemaRef;
+str alter_seqRef;
+str alter_set_tableRef;
+str alter_tableRef;
+str alter_triggerRef;
+str alter_typeRef;
+str alter_userRef;
+str alter_userRef;
+str alter_viewRef;
str andRef;
str antijoinRef;
str appendRef;
@@ -2088,7 +2103,6 @@ str bstream_read_wrapwrap(int *res, Bstr
str calcRef;
str callMAL(Client cntxt, MalBlkPtr mb, MalStkPtr *glb, ValPtr argv[], char
debug);
int callString(Client c, str s, int listing);
-str catalogRef;
str catchKernelException(Client cntxt, str ret);
void chkDeclarations(stream *out, MalBlkPtr mb);
void chkFlow(stream *out, MalBlkPtr mb);
@@ -2128,6 +2142,18 @@ str count_no_nilRef;
int cpyConstant(MalBlkPtr mb, VarPtr vr);
str createException(enum malexception, const char *, _In_z_
_Printf_format_string_ const char *, ...) __attribute__((__format__(__printf__,
3, 4)));
str createRef;
+str create_constraintRef;
+str create_functionRef;
+str create_indexRef;
+str create_roleRef;
+str create_schemaRef;
+str create_seqRef;
+str create_tableRef;
+str create_triggerRef;
+str create_typeRef;
+str create_userRef;
+str create_userRef;
+str create_viewRef;
str crossRef;
str dataflowRef;
str dateRef;
@@ -2150,9 +2176,22 @@ str deltaRef;
str dense_rankRef;
str depositRef;
malType destinationType(MalBlkPtr mb, InstrPtr p);
+str diffRef;
str differenceRef;
str disconnectRef;
str divRef;
+str drop_constraintRef;
+str drop_functionRef;
+str drop_indexRef;
+str drop_roleRef;
+str drop_schemaRef;
+str drop_seqRef;
+str drop_tableRef;
+str drop_triggerRef;
+str drop_typeRef;
+str drop_userRef;
+str drop_userRef;
+str drop_viewRef;
void dumpExceptionsToStream(stream *out, str msg);
str emptybindRef;
str emptybindidxRef;
@@ -2239,7 +2278,9 @@ str getTypeName(malType tpe);
lng getUserTime(void);
lng getVolume(MalStkPtr stk, InstrPtr pci, int rd);
int getprofilerlimit(void);
-str grabRef;
+str grantRef;
+str grant_functionRef;
+str grant_rolesRef;
str groupRef;
str groupbyRef;
str groupdoneRef;
@@ -2519,11 +2560,13 @@ str reconnectRef;
str reenterMAL(Client cntxt, MalBlkPtr mb, int startpc, int stoppc, MalStkPtr
stk);
str refineRef;
str registerRef;
+str releaseRef;
str remapRef;
str remoteRef;
void removeInstruction(MalBlkPtr mb, InstrPtr p);
void removeInstructionBlock(MalBlkPtr mb, int pc, int cnt);
void renameVariable(MalBlkPtr mb, int i, str pattern, int newid);
+str rename_userRef;
str replaceRef;
str replicatorRef;
void resetMalBlk(MalBlkPtr mb, int stop);
@@ -2532,6 +2575,9 @@ void resizeMalBlk(MalBlkPtr mb, int maxs
int resolveType(int dsttype, int srctype);
str resultSetRef;
str reuseRef;
+str revokeRef;
+str revoke_functionRef;
+str revoke_rolesRef;
str row_numberRef;
str rpcRef;
str rsColumnRef;
@@ -2592,6 +2638,7 @@ str soundex_impl(str *res, str *Name);
str sqlRef;
int sqlblob_fromstr(char *instr, int *l, blob **val);
int sqlblob_tostr(str *tostr, int *l, const blob *p);
+str sqlcatalogRef;
str srvpoolRef;
str startProfiler(void);
str startRef;
@@ -2611,9 +2658,11 @@ str stringdiff_impl(int *res, str *s1, s
str subavgRef;
str subcountRef;
str subdeltaRef;
+str subdiffRef;
str subeval_aggrRef;
str subgroupRef;
str subgroupdoneRef;
+str subinterRef;
str submaxRef;
str submedianRef;
str subminRef;
@@ -2633,7 +2682,12 @@ timestamp *timestamp_nil;
int timestamp_tostr(str *buf, int *len, const timestamp *val);
int timestamp_tz_fromstr(const char *buf, int *len, timestamp **ret);
int timestamp_tz_tostr(str *buf, int *len, const timestamp *val, const tzone
*timezone);
-str transRef;
+str transactionRef;
+str transaction_abortRef;
+str transaction_beginRef;
+str transaction_commitRef;
+str transaction_releaseRef;
+str transaction_rollbackRef;
void trimMalVariables(MalBlkPtr mb, MalStkPtr stk);
void trimMalVariables_(MalBlkPtr mb, MalStkPtr glb);
void typeChecker(stream *out, Module scope, MalBlkPtr mb, InstrPtr p, int
silent);
diff --git
a/monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out
b/monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out
--- a/monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out
+++ b/monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out
@@ -63,15 +63,14 @@ Ready.
% clob # type
% 158 # length
function user.s8_1():void;
- X_0:void := querylog.define("explain copy into ttt from \\'/tmp/xyz\\';",
"default_pipe", 21:int);
- X_3 := sql.mvc();
- (X_24:bat[:int], X_25:bat[:int], X_26:bat[:int]) := sql.copy_from(nil:ptr,
"|", "\\n", nil:str, "null", "/tmp/xyz", -1:lng, 0:lng, 0:int, 0:int, nil:str);
-# querylog.define("explain copy into ttt from \\'/tmp/xyz\\';","default_pipe")
- X_28 := sql.append(X_3, "sys", "ttt", "a", X_24);
- X_33 := sql.append(X_28, "sys", "ttt", "b", X_25);
- X_36 := sql.append(X_33, "sys", "ttt", "c", X_26);
- X_38 := aggr.count(X_26);
- sql.affectedRows(X_36, X_38);
+ X_1:void := querylog.define("explain copy into ttt from \\'/tmp/xyz\\';",
"default_pipe", 21:int);
+ X_4 := sql.mvc();
+ (X_25:bat[:int], X_26:bat[:int], X_27:bat[:int]) := sql.copy_from(nil:ptr,
"|", "\\n", nil:str, "null", "/tmp/xyz", -1:lng, 0:lng, 0:int, 0:int, nil:str);
+ X_29 := sql.append(X_4, "sys", "ttt", "a", X_25);
+ X_34 := sql.append(X_29, "sys", "ttt", "b", X_26);
+ X_37 := sql.append(X_34, "sys", "ttt", "c", X_27);
+ X_39 := aggr.count(X_27);
+ sql.affectedRows(X_37, X_39);
end user.s8_1;
#inline actions= 0 time=1 usec
#candidates actions= 1 time=14 usec
@@ -123,15 +122,14 @@ end user.s8_1;
% clob # type
% 158 # length
function user.s24_1():void;
- X_0:void := querylog.define("explain copy into ttt from \\'/tmp/xyz\\';",
"user_1", 21:int);
- X_3 := sql.mvc();
- (X_24:bat[:int], X_25:bat[:int], X_26:bat[:int]) := sql.copy_from(nil:ptr,
"|", "\\n", nil:str, "null", "/tmp/xyz", -1:lng, 0:lng, 0:int, 0:int, nil:str);
-# querylog.define("explain copy into ttt from \\'/tmp/xyz\\';","user_1")
- X_28 := sql.append(X_3, "sys", "ttt", "a", X_24);
- X_33 := sql.append(X_28, "sys", "ttt", "b", X_25);
- X_38 := aggr.count(X_26);
- X_36 := sql.append(X_33, "sys", "ttt", "c", X_26);
- sql.affectedRows(X_36, X_38);
+ X_1:void := querylog.define("explain copy into ttt from \\'/tmp/xyz\\';",
"user_1", 21:int);
+ X_4 := sql.mvc();
+ (X_25:bat[:int], X_26:bat[:int], X_27:bat[:int]) := sql.copy_from(nil:ptr,
"|", "\\n", nil:str, "null", "/tmp/xyz", -1:lng, 0:lng, 0:int, 0:int, nil:str);
+ X_29 := sql.append(X_4, "sys", "ttt", "a", X_25);
+ X_34 := sql.append(X_29, "sys", "ttt", "b", X_26);
+ X_39 := aggr.count(X_27);
+ X_37 := sql.append(X_34, "sys", "ttt", "c", X_27);
+ sql.affectedRows(X_37, X_39);
end user.s24_1;
#inline actions= 0 time=1 usec
#candidates actions= 1 time=14 usec
diff --git a/monetdb5/mal/mal_parser.c b/monetdb5/mal/mal_parser.c
--- a/monetdb5/mal/mal_parser.c
+++ b/monetdb5/mal/mal_parser.c
@@ -949,6 +949,15 @@ static str parseModule(Client cntxt)
return "";
}
+
+static int
+malLibraryEnabled(str name) {
+ if (strcmp(name, "pyapi") == 0) {
+ return GDKgetenv_istrue("embedded_py") ||
GDKgetenv_isyes("embedded_py");
+ }
+ return 1;
+}
+
/*
* Include statement
* An include statement is immediately taken into effect. This
@@ -995,6 +1004,10 @@ parseInclude(Client cntxt)
}
skipToEnd(cntxt);
+ if (!malLibraryEnabled(modnme)) {
+ return "";
+ }
+
s = loadLibrary(modnme, FALSE);
if (s) {
parseError(cntxt, s);
diff --git a/monetdb5/optimizer/Tests/dataflow.stable.out
b/monetdb5/optimizer/Tests/dataflow.stable.out
--- a/monetdb5/optimizer/Tests/dataflow.stable.out
+++ b/monetdb5/optimizer/Tests/dataflow.stable.out
@@ -30,7 +30,7 @@ function user.tst():void;
h:int := l:int; #[3] (0) 6 <- 5
#mdb.setTimer(true);
#mdb.setThread(true);
-barrier X_14:bit := language.dataflow(); #[6] (0) MALstartDataflow 28
+barrier X_28:bit := language.dataflow(); #[6] (0) MALstartDataflow 28
z:bat[:oid] := nil:bat[:oid]; #[7] (0) 9 <- 10
t1:bat[:oid] := algebra.select(s:bat[:int], l:int, h:int, true:bit,
true:bit, false:bit); #[8] (0) ALGselect1 11 <- 1 5 6 12 13 14
t2:bat[:oid] := algebra.select(s:bat[:int], l:int, h:int, true:bit,
true:bit, false:bit); #[9] (0) ALGselect1 15 <- 1 5 6 12 12 14
@@ -41,7 +41,7 @@ barrier X_14:bit := language.dataflow();
t7:bat[:oid] := algebra.select(s:bat[:int], l:int, h:int, true:bit,
true:bit, false:bit); #[14] (0) ALGselect1 20 <- 1 5 6 12 12 14
t8:bat[:oid] := algebra.select(s:bat[:int], l:int, h:int, true:bit,
true:bit, false:bit); #[15] (0) ALGselect1 21 <- 1 5 6 12 12 14
language.pass(s:bat[:int]); #[16] (0) MALpass 27 <- 1
-exit X_14:bit; #[17] (0) 28
+exit X_28:bit; #[17] (0) 28
z:bat[:oid] := mat.pack(t1:bat[:oid], t2:bat[:oid], t3:bat[:oid],
t4:bat[:oid], t5:bat[:oid], t6:bat[:oid], t7:bat[:oid], t8:bat[:oid]); #[18]
(0) MATpack 9 <- 11 15 16 17 18 19 20 21
mdb.var(); #[19] (0) MDBvar 22
c:lng := aggr.count(z:bat[:oid]); #[20] (0) ALGcount_bat 23 <- 9
diff --git a/monetdb5/optimizer/Tests/dataflow3.stable.out
b/monetdb5/optimizer/Tests/dataflow3.stable.out
--- a/monetdb5/optimizer/Tests/dataflow3.stable.out
+++ b/monetdb5/optimizer/Tests/dataflow3.stable.out
@@ -26,13 +26,13 @@ Ready.
#mdb.list("user","s1_0");
function user.s1_0():void;
-barrier X_30 := language.dataflow();
+barrier X_52 := language.dataflow();
X17 := bat.new(:lng);
X54 := bat.new(:lng);
X55 := bat.new(:lng);
X56 := bat.new(:lng);
X57 := bat.new(:lng);
-exit X_30;
+exit X_52;
X59 := remote.connect("mapi:monetdb://volund.ins.cwi.nl:50000/sn4",
"monetdb", "monetdb", "msql");
remote.register(X59, "user", "s1_0map");
X66 := remote.put(X59, X54);
diff --git a/monetdb5/optimizer/opt_emptybind.c
b/monetdb5/optimizer/opt_emptybind.c
--- a/monetdb5/optimizer/opt_emptybind.c
+++ b/monetdb5/optimizer/opt_emptybind.c
@@ -154,7 +154,7 @@ OPTemptybindImplementation(Client cntxt,
break;
}
}
- if(q && getModuleId(q) == sqlRef &&
getFunctionId(q) == catalogRef){
+ if(q && getModuleId(q) == sqlcatalogRef){
if (
strcmp(getVarConstant(mb,getArg(q,2)).val.sval, sch) == 0 ){
marked[getArg(p,0)] = 0;
if( p->retc == 2){
@@ -218,7 +218,7 @@ OPTemptybindImplementation(Client cntxt,
break;
}
}
- if(q && getModuleId(q) == sqlRef &&
getFunctionId(q) == catalogRef){
+ if(q && getModuleId(q) == sqlcatalogRef){
if (
strcmp(getVarConstant(mb,getArg(q,2)).val.sval, sch) == 0 ){
marked[getArg(p,0)] = 0;
break;
diff --git a/monetdb5/optimizer/opt_garbageCollector.c
b/monetdb5/optimizer/opt_garbageCollector.c
--- a/monetdb5/optimizer/opt_garbageCollector.c
+++ b/monetdb5/optimizer/opt_garbageCollector.c
@@ -121,6 +121,14 @@ OPTgarbageCollectorImplementation(Client
}
#endif
+ /* rename all temporaries for ease of debugging */
+ for( i = 0; i < mb->vtop; i++)
+ if( sscanf(getVarName(mb,i),"X_%d", &j) == 1)
+ snprintf(getVarName(mb,i),IDLENGTH,"X_%d",i);
+ else
+ if( sscanf(getVarName(mb,i),"C_%d", &j) == 1)
+ snprintf(getVarName(mb,i),IDLENGTH,"C_%d",i);
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list