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

Reply via email to