monetdb-java: embedded - Merge with default
Changeset: 0a118436067b for monetdb-java URL: https://dev.monetdb.org/hg/monetdb-java?cmd=changeset;node=0a118436067b Modified Files: .hgtags build.properties pom.xml release.txt Branch: embedded Log Message: Merge with default diffs (8 lines): diff --git a/.hgtags b/.hgtags --- a/.hgtags +++ b/.hgtags @@ -2,3 +2,4 @@ 80de05f07508fec938845b4a6e05f600bf0b48c0 c43c293f3d5841517cbe0d858108c4da5fb1ec0c v2.26 a6a2f4ee2d42d7e192f9d8d37f79ea99178d7f2c v2.25 fe8170e2b549c22ceb2d96301022b9304f62424d v2.27 +6423fb0bf9ebba64167ca1b40b79aeacbb8e7c47 v2.28 ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
monetdb-java: embedded - Continuing to add support for snapshot ...
Changeset: 3799054f098e for monetdb-java URL: https://dev.monetdb.org/hg/monetdb-java?cmd=changeset;node=3799054f098e Modified Files: Makefile build.xml src/main/java/nl/cwi/monetdb/jdbc/MonetDriver.java.in tests/build.xml Branch: embedded Log Message: Continuing to add support for snapshot releases. diffs (93 lines): diff --git a/Makefile b/Makefile --- a/Makefile +++ b/Makefile @@ -3,7 +3,7 @@ all: src/main/java/nl/cwi/monetdb/jdbc/M cd tests; ant -f build.xml jar_jdbctests src/main/java/nl/cwi/monetdb/jdbc/MonetDriver.java: build.properties src/main/java/nl/cwi/monetdb/jdbc/MonetDriver.java.in - . ./build.properties; sed -e "s/@MCL_MAJOR@/$$MCL_MAJOR/g;s/@MCL_MINOR@/$$MCL_MINOR/g;s/@JDBC_MAJOR@/$$JDBC_MAJOR/g;s/@JDBC_MINOR@/$$JDBC_MINOR/g;s/@JDBC_VER_SUFFIX@/$$JDBC_VER_SUFFIX $$buildno/g;s/@JDBC_DEF_PORT@/$$JDBC_DEF_PORT/g" src/main/java/nl/cwi/monetdb/jdbc/MonetDriver.java.in > src/main/java/nl/cwi/monetdb/jdbc/MonetDriver.java + . ./build.properties; sed -e "s/@MCL_MAJOR@/$$MCL_MAJOR/g;s/@MCL_MINOR@/$$MCL_MINOR/g;s/@JDBC_MAJOR@/$$JDBC_MAJOR/g;s/@JDBC_MINOR@/$$JDBC_MINOR/g;s/@JDBC_SNAPSHOT@/$$JDBC_SNAPSHOT/g;s/@JDBC_VER_SUFFIX@/$$JDBC_VER_SUFFIX $$buildno/g;s/@JDBC_DEF_PORT@/$$JDBC_DEF_PORT/g" src/main/java/nl/cwi/monetdb/jdbc/MonetDriver.java.in > src/main/java/nl/cwi/monetdb/jdbc/MonetDriver.java doc: ant -f build.xml doc diff --git a/build.xml b/build.xml --- a/build.xml +++ b/build.xml @@ -32,13 +32,13 @@ Copyright 1997 - July 2008 CWI, August 2 + value="${jardir}/monetdb-jdbc-new-${JDBC_MAJOR}.${JDBC_MINOR}${JDBC_SNAPSHOT}.jar" /> +value="${jardir}/monetdb-mcl-${MCL_MAJOR}.${MCL_MINOR}${MCL_SNAPSHOT}.jar" /> @@ -263,8 +263,10 @@ Copyright 1997 - July 2008 CWI, August 2 + + @@ -279,7 +281,7 @@ Copyright 1997 - July 2008 CWI, August 2 tofile="src/main/java/nl/cwi/monetdb/jdbc/MonetDriver.java.in" filtering="yes" /> - + diff --git a/src/main/java/nl/cwi/monetdb/jdbc/MonetDriver.java.in b/src/main/java/nl/cwi/monetdb/jdbc/MonetDriver.java.in --- a/src/main/java/nl/cwi/monetdb/jdbc/MonetDriver.java.in +++ b/src/main/java/nl/cwi/monetdb/jdbc/MonetDriver.java.in @@ -48,7 +48,7 @@ import java.util.logging.Logger; * given the default (@JDBC_DEF_PORT@) will be used. * * @author Fabian Groffen, Pedro Ferreira - * @version @JDBC_MAJOR@.@JDBC_MINOR@ (@JDBC_VER_SUFFIX@) + * @version @JDBC_MAJOR@.@JDBC_MINOR@@JDBC_SNAPSHOT@ (@JDBC_VER_SUFFIX@) */ public final class MonetDriver implements Driver { // the url kind will be jdbc:monetdb://[:]/ (in a MAPI connection) @@ -60,6 +60,8 @@ public final class MonetDriver implement private static final int DRIVERMAJOR = @JDBC_MAJOR@; /** Minor version of this driver */ private static final int DRIVERMINOR = @JDBC_MINOR@; + /** Is a snapshot release of the driver */ + private static final String DRIVERSNAPSHOT = "@JDBC_SNAPSHOT@"; /** Version suffix string */ private static final String DRIVERVERSIONSUFFIX = @@ -330,7 +332,7 @@ public final class MonetDriver implement * @return the version string */ public static String getDriverVersion() { - return DRIVERMAJOR + "." + DRIVERMINOR + " (" + DRIVERVERSIONSUFFIX + ")"; + return DRIVERMAJOR + "." + DRIVERMINOR + DRIVERSNAPSHOT + " (" + DRIVERVERSIONSUFFIX + ")"; } public static int getDriverMajorVersion() { diff --git a/tests/build.xml b/tests/build.xml --- a/tests/build.xml +++ b/tests/build.xml @@ -25,7 +25,7 @@ Copyright 1997 - July 2008 CWI, August 2 + value="${jardir}/monetdb-jdbc-new-${JDBC_MAJOR}.${JDBC_MINOR}${JDBC_SNAPSHOT}.jar" /> https://www.monetdb.org/mailman/listinfo/checkin-list
monetdb-java: embedded - Added support for snapshot releases in ...
Changeset: 9471ac1f8520 for monetdb-java URL: https://dev.monetdb.org/hg/monetdb-java?cmd=changeset;node=9471ac1f8520 Added Files: upload_jdbc_new.sh Removed Files: upload_jdbc_new.sh.in Modified Files: .hgignore Makefile build.properties pom.xml release.txt version.sh Branch: embedded Log Message: Added support for snapshot releases in the version numbering. I will be starting doing them now. diffs (192 lines): diff --git a/.hgignore b/.hgignore --- a/.hgignore +++ b/.hgignore @@ -5,7 +5,6 @@ syntax: glob *.jar build/META-INF/services/java.sql.Driver src/main/java/nl/cwi/monetdb/jdbc/MonetDriver.java -upload_jdbc_new.sh # files generated by various editors *.swp diff --git a/Makefile b/Makefile --- a/Makefile +++ b/Makefile @@ -1,5 +1,4 @@ all: src/main/java/nl/cwi/monetdb/jdbc/MonetDriver.java - . ./build.properties; sed -e "s/@JDBC_MAJOR@/$$JDBC_MAJOR/g;s/@JDBC_MINOR@/$$JDBC_MINOR/g" upload_jdbc_new.sh.in > upload_jdbc_new.sh ant -f build.xml distjdbc distmerocontrol cd tests; ant -f build.xml jar_jdbctests diff --git a/build.properties b/build.properties --- a/build.properties +++ b/build.properties @@ -10,7 +10,8 @@ MCL_MAJOR=1 # minor release number MCL_MINOR=14 - +# snapshot release string +MCL_SNAPSHOT= ## ## JDBC (and client) @@ -20,6 +21,8 @@ MCL_MINOR=14 JDBC_MAJOR=2 # minor release number JDBC_MINOR=37 +# snapshot release string +JDBC_SNAPSHOT=-SNAPSHOT # an additional identifying string JDBC_VER_SUFFIX=Liberica # the default port to connect on, if no port given when using SQL diff --git a/pom.xml b/pom.xml --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ monetdb monetdb-jdbc-new - 2.36 + 2.37-SNAPSHOT MonetDB JDBC new MonetDB Adapted JDBC driver for embedded connection https://www.monetdb.org diff --git a/release.txt b/release.txt --- a/release.txt +++ b/release.txt @@ -1,6 +1,6 @@ RELEASE NOTES -MonetDB JDBC driver version 2.27 (Liberica/MCL-1.16) -Release date: 2017-10-23 +MonetDB JDBC driver version 2.37-SNAPSHOT (Liberica/MCL-1.16) +Release date: 2018-06-12 This JDBC driver is designed for use with MonetDB, a main-memory column-store RDBMS. For more information see https://www.monetdb.org/ diff --git a/upload_jdbc_new.sh b/upload_jdbc_new.sh new file mode 100644 --- /dev/null +++ b/upload_jdbc_new.sh @@ -0,0 +1,21 @@ +#!/bin/bash + +set -e + +function echo_and_exit { + echo $1 >&2 + exit 1 +} + +if [[ -z $JAVA_HOME ]] ; then +echo_and_exit "The JAVA_HOME directory must be set" +fi + +# Prepare the directory to upload to our website +mkdir synchronizing +# Move the monetdb-jdbc-new jar +mv jars/monetdb-jdbc-new-2.37-SNAPSHOT.jar synchronizing/monetdb-jdbc-new-2.37-SNAPSHOT.jar +# Rsync the library files to the monet.org machine +rsync -aqz --ignore-times synchronizing/* ferre...@monetdb.org:/var/www/html/downloads/Java-Experimental/ +# Remove it in the end +rm -rf synchronizing diff --git a/upload_jdbc_new.sh.in b/upload_jdbc_new.sh.in deleted file mode 100644 --- a/upload_jdbc_new.sh.in +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/bash - -set -e - -function echo_and_exit { - echo $1 >&2 - exit 1 -} - -if [[ -z $JAVA_HOME ]] ; then -echo_and_exit "The JAVA_HOME directory must be set" -fi - -# Prepare the directory to upload to our website -mkdir synchronizing -# Move the monetdb-jdbc-new jar -mv jars/monetdb-jdbc-new-@JDBC_MAJOR@.@JDBC_MINOR@.jar synchronizing/monetdb-jdbc-new-@JDBC_MAJOR@.@JDBC_MINOR@.jar -# Rsync the library files to the monet.org machine -rsync -aqz --ignore-times synchronizing/* ferre...@monetdb.org:/var/www/html/downloads/Java-Experimental/ -# Remove it in the end -rm -rf synchronizing diff --git a/version.sh b/version.sh --- a/version.sh +++ b/version.sh @@ -7,7 +7,7 @@ # Copyright 1997 - July 2008 CWI, August 2008 - 2018 MonetDB B.V. if [[ -z $1 ]] ; then - echo "Usage: $0 [-w] <(jdbc|mcl)> <(major|minor|suffix)=newversion> [...]" + echo "Usage: $0 [-w] <(jdbc|mcl)> <(major|minor|suffix|snapshot)=newversion> [...]" echo "where -w activates actual write of changes" exit -1 fi @@ -51,14 +51,17 @@ shift CUR_MAJOR=$(eval "get_value '${TYPE}_MAJOR'") CUR_MINOR=$(eval "get_value '${TYPE}_MINOR'") CUR_SUFFIX=$(eval "get_value '${TYPE}_VER_SUFFIX'") +CUR_SNAPSHOT=$(eval "get_value '${TYPE}_SNAPSHOT'") NEW_MAJOR=${CUR_MAJOR} NEW_MINOR=${CUR_MINOR} NEW_SUFFIX=${CUR_SUFFIX} +NEW_SNAPSHOT=${CUR_SNAPSHOT} ESC_MAJOR=$(escape_value ${CUR_MAJOR}) ESC_MINOR=$(escape_value ${CUR_MINOR}) ESC_SUFFIX=$(escape_value ${CUR_SUFFIX}) +ESC_SNAPSHOT=$(escape_value ${CUR_SNAPSHOT}) for param in $* ; do arg=${param%%=*} @@ -82,18 +85,21 @@ for param in $* ; do suffix) NEW_SUFFIX=${val} ;; + snapshot) + NEW_SNAPSHOT=${val} + ;; esac done -echo "Current
monetdb-java: embedded - Cast a ByteBuffer to a Buffer before ca...
Changeset: 6d6e62ca590d for monetdb-java URL: https://dev.monetdb.org/hg/monetdb-java?cmd=changeset;node=6d6e62ca590d Modified Files: src/main/java/nl/cwi/monetdb/mcl/connection/helpers/BufferReallocator.java src/main/java/nl/cwi/monetdb/mcl/connection/mapi/AbstractSocket.java src/main/java/nl/cwi/monetdb/mcl/connection/mapi/OldMapiSocket.java src/main/java/nl/cwi/monetdb/mcl/protocol/oldmapi/OldMapiProtocol.java src/main/java/nl/cwi/monetdb/mcl/protocol/oldmapi/OldMapiTupleLineParser.java Branch: embedded Log Message: Cast a ByteBuffer to a Buffer before calling flip. This fixes compiling to JDK 7 from JDK9+ compilers. Details: https://github.com/plasma-umass/doppio/issues/497 diffs (127 lines): diff --git a/src/main/java/nl/cwi/monetdb/mcl/connection/helpers/BufferReallocator.java b/src/main/java/nl/cwi/monetdb/mcl/connection/helpers/BufferReallocator.java --- a/src/main/java/nl/cwi/monetdb/mcl/connection/helpers/BufferReallocator.java +++ b/src/main/java/nl/cwi/monetdb/mcl/connection/helpers/BufferReallocator.java @@ -8,6 +8,7 @@ package nl.cwi.monetdb.mcl.connection.helpers; +import java.nio.Buffer; import java.nio.CharBuffer; /** @@ -56,7 +57,7 @@ public final class BufferReallocator { public static CharBuffer reallocateBuffer(CharBuffer buffer) { int newCapacity = getNewCapacity(buffer); CharBuffer newBuffer = CharBuffer.wrap(new char[newCapacity]); - buffer.flip(); + ((Buffer)buffer).flip(); newBuffer.put(buffer.array()); return newBuffer; } diff --git a/src/main/java/nl/cwi/monetdb/mcl/connection/mapi/AbstractSocket.java b/src/main/java/nl/cwi/monetdb/mcl/connection/mapi/AbstractSocket.java --- a/src/main/java/nl/cwi/monetdb/mcl/connection/mapi/AbstractSocket.java +++ b/src/main/java/nl/cwi/monetdb/mcl/connection/mapi/AbstractSocket.java @@ -14,6 +14,7 @@ import java.io.Closeable; import java.io.IOException; import java.net.Socket; import java.net.SocketException; +import java.nio.Buffer; import java.nio.ByteBuffer; import java.nio.ByteOrder; import java.nio.CharBuffer; @@ -56,7 +57,7 @@ public abstract class AbstractSocket imp this.bufferIn = ByteBuffer.wrap(new byte[getFullBlockSize()]); this.bufferOut = ByteBuffer.wrap(new byte[getFullBlockSize()]); this.stringsDecoded = CharBuffer.allocate(getFullBlockSize()); - this.stringsDecoded.flip(); + ((Buffer)this.stringsDecoded).flip(); this.stringsEncoded = CharBuffer.allocate(getFullBlockSize()); } @@ -151,7 +152,7 @@ public abstract class AbstractSocket imp this.utf8Decoder.reset(); this.utf8Decoder.decode(this.bufferIn, this.stringsDecoded,true); this.utf8Decoder.flush(this.stringsDecoded); - this.stringsDecoded.flip(); + ((Buffer)this.stringsDecoded).flip(); } /** @@ -193,7 +194,7 @@ public abstract class AbstractSocket imp } this.stringsDecoded.position(sourcePosition); lineBuffer.position(destinationPosition); - lineBuffer.flip(); + ((Buffer)lineBuffer).flip(); return lineBuffer; } @@ -204,7 +205,7 @@ public abstract class AbstractSocket imp * @throws IOException If an error in the underlying connection happened */ private void writeToOutputBuffer(boolean toFlush) throws IOException { - this.stringsEncoded.flip(); + ((Buffer)this.stringsEncoded).flip(); this.utf8Encoder.reset(); CoderResult res; int written = 0; diff --git a/src/main/java/nl/cwi/monetdb/mcl/connection/mapi/OldMapiSocket.java b/src/main/java/nl/cwi/monetdb/mcl/connection/mapi/OldMapiSocket.java --- a/src/main/java/nl/cwi/monetdb/mcl/connection/mapi/OldMapiSocket.java +++ b/src/main/java/nl/cwi/monetdb/mcl/connection/mapi/OldMapiSocket.java @@ -11,6 +11,7 @@ package nl.cwi.monetdb.mcl.connection.ma import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; +import java.nio.Buffer; import java.nio.ByteBuffer; /** @@ -241,7 +242,7 @@ public class OldMapiSocket extends Abstr connection.getPort() + ": Incomplete block read from stream"); } b.position(size); - b.flip(); + ((Buffer)b).flip(); return size; } diff --git a/src/main/java/nl/cwi/monetdb/mcl/protocol/oldmapi/OldMapiProtocol.java b/src/main/java/nl/cwi/monetdb/mcl/protocol/oldmapi/OldMapiProtocol.java --- a/src/main/java/nl/cwi/monetdb/mcl/protocol/oldmapi/OldMapiProtocol.java +++
MonetDB: rel-weld - rel_weld: only print when WELD_DEBUG is set
Changeset: 8ea8ecbaba55 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=8ea8ecbaba55 Modified Files: sql/backends/monet5/rel_weld.c Branch: rel-weld Log Message: rel_weld: only print when WELD_DEBUG is set diffs (13 lines): diff --git a/sql/backends/monet5/rel_weld.c b/sql/backends/monet5/rel_weld.c --- a/sql/backends/monet5/rel_weld.c +++ b/sql/backends/monet5/rel_weld.c @@ -1514,7 +1514,9 @@ root_produce(backend *be, sql_rel *rel) final_stmt = create_result_instr(be, weld_program_stmt, root->exps); cleanup: +#ifdef WELD_DEBUG dump_program(wstate); +#endif list_destroy(wstate->stmt_list); sa_destroy(wstate->sa); free(wstate); ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: mal-weld - apply experimental transforms
Changeset: d41f0c867084 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=d41f0c867084 Modified Files: monetdb5/modules/mal/mal_weld.c Branch: mal-weld Log Message: apply experimental transforms diffs (11 lines): diff --git a/monetdb5/modules/mal/mal_weld.c b/monetdb5/modules/mal/mal_weld.c --- a/monetdb5/modules/mal/mal_weld.c +++ b/monetdb5/modules/mal/mal_weld.c @@ -270,6 +270,7 @@ WeldRun(Client cntxt, MalBlkPtr mb, MalS sprintf(memLimit, "%ld", 256L * 1L << 30); /* 256 GB */ weld_conf_set(conf, "weld.threads", nrThreads); weld_conf_set(conf, "weld.memory.limit", memLimit); + weld_conf_set(conf, "weld.optimization.applyExperimentalTransforms", "true"); long start = getTimeNowMs(); weld_module_t m = weld_module_compile(wstate->program, conf, e); if (weld_error_code(e)) { ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: mal-weld - better code dumping
Changeset: 9206954c297e for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=9206954c297e Modified Files: monetdb5/modules/mal/mal_weld.c Branch: mal-weld Log Message: better code dumping diffs (37 lines): diff --git a/monetdb5/modules/mal/mal_weld.c b/monetdb5/modules/mal/mal_weld.c --- a/monetdb5/modules/mal/mal_weld.c +++ b/monetdb5/modules/mal/mal_weld.c @@ -143,20 +143,28 @@ static str getWeldCandListFull(int sid, return candList; } +int run_no = 0; static void dumpProgram(weldState *wstate, MalBlkPtr mb) { - FILE *f = fopen(tmpnam(NULL), "w"); + (void)mb; + char fname[64]; + sprintf(fname, "/tmp/weld-%d.asd", run_no++); + FILE *f = fopen(fname, "w"); int i; - for (i = 0; i < mb->stop; i++) { - fprintInstruction(f, mb, NULL, mb->stmt[i], LIST_MAL_ALL); - } - fprintf(f, "\n\n\n"); + int count = 0; for (i = 0; i < (int)strlen(wstate->program); i++) { fputc(wstate->program[i], f); + if (wstate->program[i] == '|') { + count++; + if (count == 2) { + fputc('\n', f); + } + } if (wstate->program[i] != '\t' && wstate->program[i + 1] == '\t') fputc('\n', f); if (wstate->program[i] == ';') fputc('\n', f); } + fputc('\n', f); fclose(f); } ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: rel-weld - removed the debug flag
Changeset: 225e4cd977d7 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=225e4cd977d7 Modified Files: monetdb5/modules/mal/mal_weld.c Branch: rel-weld Log Message: removed the debug flag diffs (11 lines): diff --git a/monetdb5/modules/mal/mal_weld.c b/monetdb5/modules/mal/mal_weld.c --- a/monetdb5/modules/mal/mal_weld.c +++ b/monetdb5/modules/mal/mal_weld.c @@ -15,7 +15,6 @@ #include "weld.h" #define STR_BUF_SIZE 4096 -#define WELD_DEBUG 1 #define getOrSetStructMemberImpl(ADDR, TYPE, VALUE, OP) \ if ((long)*ADDR % sizeof(TYPE) != 0)\ ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: rel-weld - removed the loop fuison optimization pass
Changeset: 2d125c5b6570 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=2d125c5b6570 Modified Files: monetdb5/modules/mal/mal_weld.c Branch: rel-weld Log Message: removed the loop fuison optimization pass diffs (11 lines): diff --git a/monetdb5/modules/mal/mal_weld.c b/monetdb5/modules/mal/mal_weld.c --- a/monetdb5/modules/mal/mal_weld.c +++ b/monetdb5/modules/mal/mal_weld.c @@ -234,6 +234,7 @@ WeldRun(Client cntxt, MalBlkPtr mb, MalS sprintf(memLimit, "%ld", 256L * 1L << 30); /* 256 GB */ weld_conf_set(conf, "weld.threads", nrThreads); weld_conf_set(conf, "weld.memory.limit", memLimit); + weld_conf_set(conf,"weld.optimization.passes", "infer-size,short-circuit-booleans,predicate,vectorize,fix-iterate"); long start = getTimeNowMs(); weld_module_t m = weld_module_compile(program, conf, e); if (weld_error_code(e)) { ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: rel-weld - in and not_int fix
Changeset: b842360cdfa2 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=b842360cdfa2 Modified Files: sql/backends/monet5/rel_weld.c Branch: rel-weld Log Message: in and not_int fix diffs (25 lines): diff --git a/sql/backends/monet5/rel_weld.c b/sql/backends/monet5/rel_weld.c --- a/sql/backends/monet5/rel_weld.c +++ b/sql/backends/monet5/rel_weld.c @@ -340,9 +340,7 @@ exp_to_weld(backend *be, weld_state *wst wprintf(wstate, "("); } if (cmp == cmp_in || cmp == cmp_notin) { - if (cmp == cmp_notin) { - wprintf(wstate, "("); - } + wprintf(wstate, "("); node *en; for (en = ((list*)exp->r)->h; en; en = en->next) { exp_to_weld(be, wstate, exp->l); @@ -352,8 +350,9 @@ exp_to_weld(backend *be, weld_state *wst wprintf(wstate, " || "); } } + wprintf(wstate, ")"); if (cmp == cmp_notin) { - wprintf(wstate, ") == false"); + wprintf(wstate, " == false"); } } else if (get_cmp(exp) == cmp_or) { wprintf(wstate, "("); ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: rel-weld - aggregation fixes
Changeset: e69ec33b9846 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=e69ec33b9846 Modified Files: sql/backends/monet5/rel_weld.c Branch: rel-weld Log Message: aggregation fixes diffs (141 lines): diff --git a/sql/backends/monet5/rel_weld.c b/sql/backends/monet5/rel_weld.c --- a/sql/backends/monet5/rel_weld.c +++ b/sql/backends/monet5/rel_weld.c @@ -856,31 +856,37 @@ groupby_produce(backend *be, sql_rel *re } else { len += sprintf(new_builder + len, "merger["); } - if (list_length(aggr_exps) > 1 || have_avg) { - len += sprintf(new_builder + len, "{"); /* value is a struct */ + + if (list_length(aggr_exps) == 0) { + /* No aggregations, so we'll have to add one ourselves */ + len += sprintf(new_builder + len, "i8, +]"); + } else { + if (list_length(aggr_exps) > 1 || have_avg) { + len += sprintf(new_builder + len, "{"); /* value is a struct */ + } + for (en = aggr_exps->h; en; en = en->next) { + exp = en->data; + int type = exp_subtype(exp)->type->localtype; + len += sprintf(new_builder + len, "%s", getWeldType(type)); + if (strcmp(get_func_name(exp->f), "avg") == 0) { + len += sprintf(new_builder + len, ", i64"); + } + if (en->next != NULL) { + len += sprintf(new_builder + len, ", "); + } + } + if (list_length(aggr_exps) > 1 || have_avg) { + len += sprintf(new_builder + len, "}"); /* value is a struct */ + } + len += sprintf(new_builder + len, ", %s]", aggr_func); } - for (en = aggr_exps->h; en; en = en->next) { - exp = en->data; - int type = exp_subtype(exp)->type->localtype; - len += sprintf(new_builder + len, "%s", getWeldType(type)); - if (strcmp(get_func_name(exp->f), "avg") == 0) { - len += sprintf(new_builder + len, ", i64"); - } - if (en->next != NULL) { - len += sprintf(new_builder + len, ", "); - } - } - if (list_length(aggr_exps) > 1 || have_avg) { - len += sprintf(new_builder + len, "}"); /* value is a struct */ - } - len += sprintf(new_builder + len, ", %s]", aggr_func); wstate->builder = new_builder; input_produce = getproduce_func(rel->l); if (input_produce == NULL) { wstate->error = 1; goto cleanup; } - input_produce(be, rel->l, wstate); + input_produce(be, rel->l, wstate); /* === Consume === */ wprintf(wstate, "merge(b%d, ", wstate->num_loops); @@ -912,28 +918,44 @@ groupby_produce(backend *be, sql_rel *re for (en = aggr_exps->h; en; en = en->next) { exp = en->data; /* We might have different types when doing the aggregation so we need to cast */ + int orig_type = 0; + str orig_weld_type = NULL; + if (exp->l) { + sql_exp *orig_exp = ((list*)exp->l)->h->data; + orig_type = exp_subtype(orig_exp)->type->localtype; + orig_weld_type = getWeldType(orig_type); + } int type = exp_subtype(exp)->type->localtype; str weld_type = getWeldType(type); - if (has_nil(exp) && need_no_nil(exp)) { - wprintf(wstate, "if("); - } - wprintf(wstate, "%s(", weld_type); - exp_to_weld(be, wstate, exp); - wprintf(wstate, ")"); - if (has_nil(exp) && need_no_nil(exp)) { + if (need_no_nil(exp)) { /* if (x == TYPEnil, identity, x) */ - wprintf(wstate, " == %snil, %s, ", weld_type, get_identity(wstate->sa, aggr_func, weld_type, type)); - wprintf(wstate, "%s(", weld_type); + wprintf(wstate, "if("); exp_to_weld(be, wstate, exp); - wprintf(wstate, "))"); - } - if (strcmp(get_func_name(exp->f), "avg") == 0) { - if (has_nil(exp) && need_no_nil(exp)) { - wprintf(wstate, ", if("); + wprintf(wstate, " == %snil, %s, ", orig_weld_type, + get_identity(wstate->sa, aggr_func, weld_type, type)); + if (strcmp(((sql_subfunc*)exp->f)->func->imp, "count") == 0) { + wprintf(wstate, "1L"); + } else {
MonetDB: rel-weld - fixed min/max typo
Changeset: 75089da7811f for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=75089da7811f Modified Files: sql/backends/monet5/rel_weld.c Branch: rel-weld Log Message: fixed min/max typo diffs (15 lines): diff --git a/sql/backends/monet5/rel_weld.c b/sql/backends/monet5/rel_weld.c --- a/sql/backends/monet5/rel_weld.c +++ b/sql/backends/monet5/rel_weld.c @@ -194,9 +194,9 @@ get_identity(sql_allocator *sa, str weld } len += sprintf(identity + len, "%s", getWeldTypeSuffix(type)); } else if (strcmp(weld_func, "min") == 0) { - len += sprintf(identity, "MAX%s", weld_type); + len += sprintf(identity, "%sMAX", weld_type); } else if (strcmp(weld_func, "max") == 0) { - len += sprintf(identity + len, "MIN%s", weld_type); + len += sprintf(identity + len, "%sMIN", weld_type); } else { return NULL; } ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: rel-weld - left outer join
Changeset: 3f24776fae2e for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=3f24776fae2e Modified Files: sql/backends/monet5/rel_weld.c Branch: rel-weld Log Message: left outer join diffs (101 lines): diff --git a/sql/backends/monet5/rel_weld.c b/sql/backends/monet5/rel_weld.c --- a/sql/backends/monet5/rel_weld.c +++ b/sql/backends/monet5/rel_weld.c @@ -237,7 +237,11 @@ rel_returns_bat(sql_rel *rel) { return ((list*)rel->r)->h != NULL ? 1 : 0; case op_basetable: case op_topn: + case op_left: + case op_right: case op_join: + case op_semi: + case op_anti: return 1; default: return -1; @@ -1020,9 +1024,9 @@ cleanup: static void join_produce(backend *be, sql_rel *rel, weld_state *wstate) { - char new_builder[STR_BUF_SIZE], probe_key[STR_BUF_SIZE], struct_mbr[64]; + char new_builder[STR_BUF_SIZE], probe_key[STR_BUF_SIZE], nulls[STR_BUF_SIZE], struct_mbr[64]; str col_name, old_builder; - int len = 0, i, count, is_filter = 0, result_var, old_num_loops, old_num_parens; + int len, nulls_len, i, count, is_filter = 0, result_var, old_num_loops, old_num_parens; node *en; sql_exp *exp; sql_rel *right = rel->r; @@ -1124,23 +1128,29 @@ join_produce(backend *be, sql_rel *rel, /* We only need a dictionary to lookup the key */ len += sprintf(new_builder + len, "i64, +"); } else { + nulls_len = 0; if (list_length(right->exps) > 1) { len += sprintf(new_builder + len, "{"); /* value is a struct */ + nulls_len += sprintf(nulls + nulls_len, "{"); } for (en = right->exps->h; en; en = en->next) { exp = en->data; int type = exp_subtype(exp)->type->localtype; if (type == TYPE_str) { len += sprintf(new_builder + len, "i64"); + nulls_len += sprintf(nulls + nulls_len, "i64nil"); } else { len += sprintf(new_builder + len, "%s", getWeldType(type)); + nulls_len += sprintf(nulls + nulls_len, "%snil", getWeldType(type)); } if (en->next != NULL) { len += sprintf(new_builder + len, ", "); + nulls_len += sprintf(nulls + nulls_len, ", "); } } if (list_length(right->exps) > 1) { len += sprintf(new_builder + len, "}"); /* value is a struct */ + nulls_len += sprintf(nulls + nulls_len, "}"); } } len += sprintf(new_builder + len, "]"); @@ -1216,15 +1226,22 @@ join_produce(backend *be, sql_rel *rel, len += sprintf(probe_key + len, "}"); } - wstate->num_parens++; if (rel->op == op_semi) { /* Reverse the condition */ + wstate->num_parens++; wprintf(wstate, "if(keyexists(v%d, %s) == false, b%d, ", result_var, probe_key, wstate->num_loops); } else if (rel->op == op_anti) { /* Reverse the condition */ + wstate->num_parens++; wprintf(wstate, "if(keyexists(v%d, %s) == true, b%d, ", result_var, probe_key, wstate->num_loops); } else { - wprintf(wstate, "if(keyexists(v%d, %s) == false, b%d, ", result_var, probe_key, wstate->num_loops); + if (rel->op == op_join) { + wprintf(wstate, "let match = if(keyexists(v%d, %s), lookup(v%d, %s), []);", result_var, + probe_key, result_var, probe_key); + } else if (rel->op == op_left) { + wprintf(wstate, "let match = if(keyexists(v%d, %s), lookup(v%d, %s), [%s]);", result_var, + probe_key, result_var, probe_key, nulls); + } wstate->num_parens++; wstate->num_loops++; wprintf(wstate, "for(lookup(v%d, %s), b%d, |b%d, i_%d, n%d|", result_var, probe_key, @@ -1237,8 +1254,8 @@ join_produce(backend *be, sql_rel *rel, exp = en->data; col_name = list_fetch(right_cols, count); if (exp_subtype(exp)->type->localtype == TYPE_str) { - wprintf(wstate, "let %s = strslice(%s_strcol, %s);", - col_name, col_name, struct_mbr); + wprintf(wstate, "let %s = strslice(%s_strcol, %s);", col_name, col_name, + struct_mbr);
MonetDB: rel-weld - always use get_cmp to get the cmp flag
Changeset: 9581ecabc335 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=9581ecabc335 Modified Files: sql/backends/monet5/rel_weld.c Branch: rel-weld Log Message: always use get_cmp to get the cmp flag diffs (72 lines): diff --git a/sql/backends/monet5/rel_weld.c b/sql/backends/monet5/rel_weld.c --- a/sql/backends/monet5/rel_weld.c +++ b/sql/backends/monet5/rel_weld.c @@ -248,6 +248,7 @@ static int exp_has_column(sql_exp *exp) { node *en; int ret = 0; + int cmp = get_cmp(exp); switch (exp->type) { case e_atom: case e_psm: @@ -261,14 +262,14 @@ exp_has_column(sql_exp *exp) { ret = exp_has_column(exp->l); break; case e_cmp: - if (exp->flag == cmp_filter || exp->flag == cmp_or) { + if (cmp == cmp_filter || cmp == cmp_or) { for (en = ((list*)exp->l)->h; en; en = en->next) { ret |= exp_has_column(en->data); } } else if (exp->l) { ret |= exp_has_column(exp->l); } - if (exp->flag == cmp_filter || exp->flag == cmp_or || exp->flag == cmp_in || exp->flag == cmp_notin) { + if (cmp == cmp_filter || cmp == cmp_or || cmp == cmp_in || cmp == cmp_notin) { for (en = ((list*)exp->r)->h; en; en = en->next) { ret |= exp_has_column(en->data); } @@ -330,11 +331,12 @@ exp_to_weld(backend *be, weld_state *wst break; } case e_cmp: { + int cmp = get_cmp(exp); if (is_anti(exp)) { wprintf(wstate, "("); } - if (exp->flag == cmp_in || exp->flag == cmp_notin) { - if (exp->flag == cmp_notin) { + if (cmp == cmp_in || cmp == cmp_notin) { + if (cmp == cmp_notin) { wprintf(wstate, "("); } node *en; @@ -346,7 +348,7 @@ exp_to_weld(backend *be, weld_state *wst wprintf(wstate, " || "); } } - if (exp->flag == cmp_notin) { + if (cmp == cmp_notin) { wprintf(wstate, ") == false"); } } else if (get_cmp(exp) == cmp_or) { @@ -379,16 +381,16 @@ exp_to_weld(backend *be, weld_state *wst return; } } else if (exp->f) { - if (get_weld_cmp(swap_compare(range2lcompare(exp->flag))) == NULL) { + if (get_weld_cmp(swap_compare(range2lcompare(cmp))) == NULL) { wstate->error = 1; return; } exp_to_weld(be, wstate, exp->r); - wprintf(wstate, " %s ", get_weld_cmp(swap_compare(range2lcompare(exp->flag; + wprintf(wstate, " %s ", get_weld_cmp(swap_compare(range2lcompare(cmp; exp_to_weld(be, wstate, exp->l); wprintf(wstate, " && "); exp_to_weld(be, wstate, exp->l); - wprintf(wstate, " %s ", get_weld_cmp(range2rcompare(exp->flag))); + wprintf(wstate, " %s ", get_weld_cmp(range2rcompare(cmp))); exp_to_weld(be, wstate, exp->f); } else { if (get_weld_cmp(get_cmp(exp)) == NULL) { ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: rel-weld - antijoin + joins that are actually filters
Changeset: bcc04d7a8c9e for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=bcc04d7a8c9e Modified Files: sql/backends/monet5/rel_weld.c Branch: rel-weld Log Message: antijoin + joins that are actually filters diffs (258 lines): diff --git a/sql/backends/monet5/rel_weld.c b/sql/backends/monet5/rel_weld.c --- a/sql/backends/monet5/rel_weld.c +++ b/sql/backends/monet5/rel_weld.c @@ -1018,9 +1018,9 @@ cleanup: static void join_produce(backend *be, sql_rel *rel, weld_state *wstate) { - char new_builder[STR_BUF_SIZE], struct_mbr[64]; - str col_name; - int len = 0, i, count; + char new_builder[STR_BUF_SIZE], probe_key[STR_BUF_SIZE], struct_mbr[64]; + str col_name, old_builder; + int len = 0, i, count, is_filter = 0, result_var, old_num_loops, old_num_parens; node *en; sql_exp *exp; sql_rel *right = rel->r; @@ -1029,14 +1029,42 @@ join_produce(backend *be, sql_rel *rel, list *left_cmp_cols = sa_list(wstate->sa); produce_func left_produce, right_produce; + if (rel->exps == NULL) { + /* Cross product */ + wstate->error = 1; + goto cleanup; + } + for (en = rel->exps->h; en; en = en->next) { + exp = en->data; + if (get_cmp(exp) == cmp_notequal) { + /* We don't support this yet */ + wstate->error = 1; + goto cleanup; + } else if (get_cmp(exp) != cmp_equal) { + is_filter = 1; + } + } + + right_produce = getproduce_func(rel->r); + left_produce = getproduce_func(rel->l); + if (right_produce == NULL || left_produce == NULL) { + wstate->error = 1; + goto cleanup; + } + if (is_filter) { + right_produce(be, rel->r, wstate); + select_produce(be, rel, wstate); + goto cleanup; + } + /* === Produce === */ - int old_num_parens = wstate->num_parens; - int old_num_loops = wstate->num_loops; - str old_builder = wstate->builder; + old_num_parens = wstate->num_parens; + old_num_loops = wstate->num_loops; + old_builder = wstate->builder; /* Create a new builder */ wstate->num_parens = wstate->num_loops = 0; - int result_var = wstate->next_var++; + result_var = wstate->next_var++; wprintf(wstate, "let v%d = (", result_var); wstate->num_parens++; @@ -1053,7 +1081,11 @@ join_produce(backend *be, sql_rel *rel, } len = 0; - len += sprintf(new_builder + len, "groupmerger["); + if (rel->op == op_semi || rel->op == op_anti) { + len += sprintf(new_builder + len, "dictmerger["); + } else { + len += sprintf(new_builder + len, "groupmerger["); + } if (list_length(rel->exps) > 1) { len += sprintf(new_builder + len, "{"); /* key is a struct */ } @@ -1086,33 +1118,32 @@ join_produce(backend *be, sql_rel *rel, len += sprintf(new_builder + len, "}"); /* key is a struct */ } len += sprintf(new_builder + len, ", "); - if (list_length(right->exps) > 1) { - len += sprintf(new_builder + len, "{"); /* value is a struct */ - } - for (en = right->exps->h; en; en = en->next) { - exp = en->data; - int type = exp_subtype(exp)->type->localtype; - if (type == TYPE_str) { - len += sprintf(new_builder + len, "i64"); - } else { - len += sprintf(new_builder + len, "%s", getWeldType(type)); + if (rel->op == op_semi || rel->op == op_anti) { + /* We only need a dictionary to lookup the key */ + len += sprintf(new_builder + len, "i64, +"); + } else { + if (list_length(right->exps) > 1) { + len += sprintf(new_builder + len, "{"); /* value is a struct */ } - if (en->next != NULL) { - len += sprintf(new_builder + len, ", "); + for (en = right->exps->h; en; en = en->next) { + exp = en->data; + int type = exp_subtype(exp)->type->localtype; + if (type == TYPE_str) { + len += sprintf(new_builder + len, "i64"); + } else { + len += sprintf(new_builder + len, "%s", getWeldType(type)); + } + if (en->next != NULL) { + len += sprintf(new_builder + len, ", "); + } } - } - if (list_length(right->exps) > 1) { - len += sprintf(new_builder + len, "}"); /* value is a struct */ +
MonetDB: merge-partitions - Merge with default
Changeset: c56fc93f2055 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=c56fc93f2055 Added Files: sql/test/BugTracker-2018/Tests/sqlitelogictest-algebra-rangejoin-undefined.Bug-6610.sql Removed Files: sql/scripts/21_dependency_functions.sql Modified Files: clients/Tests/MAL-signatures.stable.out clients/Tests/MAL-signatures.stable.out.int128 monetdb5/modules/mal/wlc.mal sql/ChangeLog sql/backends/monet5/sql_upgrades.c sql/backends/monet5/wlr.mal sql/scripts/Makefile.ag sql/test/BugTracker-2016/Tests/catalog_name_qualifier.Bug-3948.sql sql/test/BugTracker-2016/Tests/catalog_name_qualifier.Bug-3948.stable.err sql/test/BugTracker-2016/Tests/catalog_name_qualifier.Bug-3948.stable.out sql/test/BugTracker-2016/Tests/fk-smaller-pk.Bug-3983.sql sql/test/BugTracker-2016/Tests/fk-smaller-pk.Bug-3983.stable.out sql/test/BugTracker-2018/Tests/All sql/test/Dependencies/Tests/Dependencies.stable.out sql/test/Dependencies/Tests/Dependencies.stable.out.int128 sql/test/Tests/systemfunctions.stable.out sql/test/Tests/systemfunctions.stable.out.int128 sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.int128 sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.32bit sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.int128 sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.powerpc64.int128 sql/test/emptydb-upgrade-hge/Tests/upgrade.stable.out.int128 sql/test/emptydb-upgrade/Tests/upgrade.stable.out sql/test/emptydb-upgrade/Tests/upgrade.stable.out.32bit sql/test/emptydb-upgrade/Tests/upgrade.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/remote/Tests/partition_elim.stable.out sql/test/testdb-upgrade-chain-hge/Tests/upgrade.stable.out.int128 sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out.32bit sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out.int128 sql/test/testdb-upgrade-hge/Tests/upgrade.stable.out.int128 sql/test/testdb-upgrade/Tests/upgrade.stable.out sql/test/testdb-upgrade/Tests/upgrade.stable.out.32bit sql/test/testdb-upgrade/Tests/upgrade.stable.out.int128 Branch: merge-partitions Log Message: Merge with default diffs (truncated from 3469 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 @@ -11176,6 +11176,7 @@ stdout of test 'MAL-signatures` in direc [ "wlc", "append", "pattern wlc.append(sname:str, tname:str, cname:str, ins:any):int ","WLCappend;", "Keep the insertions in the workload-capture-replay list" ] [ "wlc", "catalog", "pattern wlc.catalog(q:str):void ", "WLCcatalog;", "Keep the catalog changing queries for replay. "] [ "wlc", "clear_table", "pattern wlc.clear_table(sname:str, tname:str):int ", "WLCclear_table;", "Keep the deletions in the workload-capture-replay list"] +[ "wlc", "comment_on", "pattern wlc.comment_on(objid:int, remark:str):void ", "WLCgeneric;", "Catalog operation comment_on" ] [ "wlc", "commit", "pattern wlc.commit():void ", "WLCcommitCmd;","Commit the workload-capture-replay record" ] [ "wlc", "commit", "pattern wlc.commit():void ", "WLCcommitCmd;","Mark the end of the work unit" ] [ "wlc", "create_function", "pattern wlc.create_function(sname:str, fname:str):void ", "WLCgeneric;", "Catalog operation create_function" ] @@ -11238,6 +11239,7 @@ stdout of test 'MAL-signatures` in direc [ "wlr", "append", "pattern wlr.append(sname:str, tname:str, cname:str, ins:any...):int ", "WLRappend;", "Apply the insertions in the workload-capture-replay list" ] [ "wlr", "catalog", "pattern wlr.catalog(q:str):void ", "WLRcatalog;", "A catalog changing query" ] [ "wlr", "clear_table", "pattern wlr.clear_table(sname:str, tname:str):int ", "WLRclear_table;", "Destroy the tuples in the table" ] +[ "wlr", "comment_on", "pattern wlr.comment_on(objid:int, remark:str):void ", "WLRgeneric;", "Catalog operation comment_on" ] [ "wlr", "commit", "pattern wlr.commit():void ", "WLRcommit;", "Mark the end of the work unit" ] [ "wlr", "create_function", "pattern wlr.create_function(sname:str, fname:str):void ", "WLRgeneric;", "Catalog operation create_function" ] [ "wlr",
MonetDB: default - Merge with Mar2018
Changeset: d18b0a317120 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=d18b0a317120 Added Files: sql/test/BugTracker-2018/Tests/sqlitelogictest-algebra-rangejoin-undefined.Bug-6610.sql Modified Files: clients/Tests/MAL-signatures.stable.out clients/Tests/MAL-signatures.stable.out.int128 monetdb5/modules/mal/wlc.mal sql/backends/monet5/wlr.mal sql/test/BugTracker-2018/Tests/All Branch: default Log Message: Merge with Mar2018 diffs (96 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 @@ -11170,6 +11170,7 @@ stdout of test 'MAL-signatures` in direc [ "wlc", "append", "pattern wlc.append(sname:str, tname:str, cname:str, ins:any):int ","WLCappend;", "Keep the insertions in the workload-capture-replay list" ] [ "wlc", "catalog", "pattern wlc.catalog(q:str):void ", "WLCcatalog;", "Keep the catalog changing queries for replay. "] [ "wlc", "clear_table", "pattern wlc.clear_table(sname:str, tname:str):int ", "WLCclear_table;", "Keep the deletions in the workload-capture-replay list"] +[ "wlc", "comment_on", "pattern wlc.comment_on(objid:int, remark:str):void ", "WLCgeneric;", "Catalog operation comment_on" ] [ "wlc", "commit", "pattern wlc.commit():void ", "WLCcommitCmd;","Commit the workload-capture-replay record" ] [ "wlc", "commit", "pattern wlc.commit():void ", "WLCcommitCmd;","Mark the end of the work unit" ] [ "wlc", "create_function", "pattern wlc.create_function(sname:str, fname:str):void ", "WLCgeneric;", "Catalog operation create_function" ] @@ -11229,6 +11230,7 @@ stdout of test 'MAL-signatures` in direc [ "wlr", "append", "pattern wlr.append(sname:str, tname:str, cname:str, ins:any...):int ", "WLRappend;", "Apply the insertions in the workload-capture-replay list" ] [ "wlr", "catalog", "pattern wlr.catalog(q:str):void ", "WLRcatalog;", "A catalog changing query" ] [ "wlr", "clear_table", "pattern wlr.clear_table(sname:str, tname:str):int ", "WLRclear_table;", "Destroy the tuples in the table" ] +[ "wlr", "comment_on", "pattern wlr.comment_on(objid:int, remark:str):void ", "WLRgeneric;", "Catalog operation comment_on" ] [ "wlr", "commit", "pattern wlr.commit():void ", "WLRcommit;", "Mark the end of the work unit" ] [ "wlr", "create_function", "pattern wlr.create_function(sname:str, fname:str):void ", "WLRgeneric;", "Catalog operation create_function" ] [ "wlr", "create_role", "pattern wlr.create_role(sname:str, role:str, grator:int):void ", "WLRgeneric;", "Catalog operation create_role" ] 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 @@ -15386,6 +15386,7 @@ Ready. [ "wlc", "append", "pattern wlc.append(sname:str, tname:str, cname:str, ins:any):int ","WLCappend;", "Keep the insertions in the workload-capture-replay list" ] [ "wlc", "catalog", "pattern wlc.catalog(q:str):void ", "WLCcatalog;", "Keep the catalog changing queries for replay. "] [ "wlc", "clear_table", "pattern wlc.clear_table(sname:str, tname:str):int ", "WLCclear_table;", "Keep the deletions in the workload-capture-replay list"] +[ "wlc", "comment_on", "pattern wlc.comment_on(objid:int, remark:str):void ", "WLCgeneric;", "Catalog operation comment_on" ] [ "wlc", "commit", "pattern wlc.commit():void ", "WLCcommitCmd;","Commit the workload-capture-replay record" ] [ "wlc", "commit", "pattern wlc.commit():void ", "WLCcommitCmd;","Mark the end of the work unit" ] [ "wlc", "create_function", "pattern wlc.create_function(sname:str, fname:str):void ", "WLCgeneric;", "Catalog operation create_function" ] @@ -15445,6 +15446,7 @@ Ready. [ "wlr", "append", "pattern wlr.append(sname:str, tname:str, cname:str, ins:any...):int ", "WLRappend;", "Apply the insertions in the workload-capture-replay list" ] [ "wlr", "catalog", "pattern wlr.catalog(q:str):void ", "WLRcatalog;", "A catalog changing query" ] [ "wlr", "clear_table", "pattern wlr.clear_table(sname:str, tname:str):int ", "WLRclear_table;", "Destroy the tuples in the table" ] +[ "wlr", "comment_on", "pattern wlr.comment_on(objid:int, remark:str):void ", "WLRgeneric;", "Catalog operation comment_on" ] [ "wlr", "commit", "pattern wlr.commit():void ",
MonetDB: Mar2018 - The comment_on catalog operation should be in...
Changeset: a07511c7487c for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=a07511c7487c Modified Files: clients/Tests/MAL-signatures.stable.out clients/Tests/MAL-signatures.stable.out.int128 monetdb5/modules/mal/wlc.mal sql/backends/monet5/wlr.mal Branch: Mar2018 Log Message: The comment_on catalog operation should be in the wlc and wlr modules as well. diffs (66 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 @@ -11170,6 +11170,7 @@ Ready. [ "wlc", "append", "pattern wlc.append(sname:str, tname:str, cname:str, ins:any):int ","WLCappend;", "Keep the insertions in the workload-capture-replay list" ] [ "wlc", "catalog", "pattern wlc.catalog(q:str):void ", "WLCcatalog;", "Keep the catalog changing queries for replay. "] [ "wlc", "clear_table", "pattern wlc.clear_table(sname:str, tname:str):int ", "WLCclear_table;", "Keep the deletions in the workload-capture-replay list"] +[ "wlc", "comment_on", "pattern wlc.comment_on(objid:int, remark:str):void ", "WLCgeneric;", "Catalog operation comment_on" ] [ "wlc", "commit", "pattern wlc.commit():void ", "WLCcommitCmd;","Commit the workload-capture-replay record" ] [ "wlc", "commit", "pattern wlc.commit():void ", "WLCcommitCmd;","Mark the end of the work unit" ] [ "wlc", "create_function", "pattern wlc.create_function(sname:str, fname:str):void ", "WLCgeneric;", "Catalog operation create_function" ] @@ -11229,6 +11230,7 @@ Ready. [ "wlr", "append", "pattern wlr.append(sname:str, tname:str, cname:str, ins:any...):int ", "WLRappend;", "Apply the insertions in the workload-capture-replay list" ] [ "wlr", "catalog", "pattern wlr.catalog(q:str):void ", "WLRcatalog;", "A catalog changing query" ] [ "wlr", "clear_table", "pattern wlr.clear_table(sname:str, tname:str):int ", "WLRclear_table;", "Destroy the tuples in the table" ] +[ "wlr", "comment_on", "pattern wlr.comment_on(objid:int, remark:str):void ", "WLRgeneric;", "Catalog operation comment_on" ] [ "wlr", "commit", "pattern wlr.commit():void ", "WLRcommit;", "Mark the end of the work unit" ] [ "wlr", "create_function", "pattern wlr.create_function(sname:str, fname:str):void ", "WLRgeneric;", "Catalog operation create_function" ] [ "wlr", "create_role", "pattern wlr.create_role(sname:str, role:str, grator:int):void ", "WLRgeneric;", "Catalog operation create_role" ] 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 @@ -15384,6 +15384,7 @@ Ready. [ "wlc", "append", "pattern wlc.append(sname:str, tname:str, cname:str, ins:any):int ","WLCappend;", "Keep the insertions in the workload-capture-replay list" ] [ "wlc", "catalog", "pattern wlc.catalog(q:str):void ", "WLCcatalog;", "Keep the catalog changing queries for replay. "] [ "wlc", "clear_table", "pattern wlc.clear_table(sname:str, tname:str):int ", "WLCclear_table;", "Keep the deletions in the workload-capture-replay list"] +[ "wlc", "comment_on", "pattern wlc.comment_on(objid:int, remark:str):void ", "WLCgeneric;", "Catalog operation comment_on" ] [ "wlc", "commit", "pattern wlc.commit():void ", "WLCcommitCmd;","Commit the workload-capture-replay record" ] [ "wlc", "commit", "pattern wlc.commit():void ", "WLCcommitCmd;","Mark the end of the work unit" ] [ "wlc", "create_function", "pattern wlc.create_function(sname:str, fname:str):void ", "WLCgeneric;", "Catalog operation create_function" ] @@ -15443,6 +15444,7 @@ Ready. [ "wlr", "append", "pattern wlr.append(sname:str, tname:str, cname:str, ins:any...):int ", "WLRappend;", "Apply the insertions in the workload-capture-replay list" ] [ "wlr", "catalog", "pattern wlr.catalog(q:str):void ", "WLRcatalog;", "A catalog changing query" ] [ "wlr", "clear_table", "pattern wlr.clear_table(sname:str, tname:str):int ", "WLRclear_table;", "Destroy the tuples in the table" ] +[ "wlr", "comment_on", "pattern wlr.comment_on(objid:int, remark:str):void ", "WLRgeneric;", "Catalog operation comment_on" ] [ "wlr", "commit", "pattern wlr.commit():void ", "WLRcommit;", "Mark the end of the work unit" ] [ "wlr", "create_function", "pattern wlr.create_function(sname:str, fname:str):void ", "WLRgeneric;",