MonetDB: linear-hashing - Added crashing renaming test
Changeset: 2faf7fad3ed7 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=2faf7fad3ed7 Added Files: sql/test/rename/Tests/rename12.sql Modified Files: sql/test/rename/Tests/All Branch: linear-hashing Log Message: Added crashing renaming test diffs (59 lines): diff --git a/sql/test/rename/Tests/All b/sql/test/rename/Tests/All --- a/sql/test/rename/Tests/All +++ b/sql/test/rename/Tests/All @@ -10,3 +10,4 @@ rename08 rename09 rename10 HAVE_PYMONETDB?rename11 +rename12 diff --git a/sql/test/rename/Tests/rename12.sql b/sql/test/rename/Tests/rename12.sql new file mode 100644 --- /dev/null +++ b/sql/test/rename/Tests/rename12.sql @@ -0,0 +1,46 @@ +create schema "SA"; +create schema "SB"; + +create table "SA"."t1" (a uuid); +insert into "SA"."t1" values (null), ('be887b3d-08f7-c308-7285-354a1857cbd9'); + +start transaction; +select "a" from "SA"."t1"; +alter table "SA"."t1" set schema "SB"; +select "a" from "SB"."t1"; +drop table "SB"."t1"; +rollback; + +select "a" from "SA"."t1"; +select "a" from "SB"."t1"; --error + +start transaction; +select "a" from "SA"."t1"; +alter table "SA"."t1" rename column "a" to "b"; +select "b" from "SA"."t1"; +commit; + +select "b" from "SA"."t1"; +select "a" from "SA"."t1"; --error + +start transaction; +select "b" from "SA"."t1"; +alter table "SA"."t1" rename column "b" to "c"; +select "c" from "SA"."t1"; +select "b" from "SA"."t1"; --error +rollback; + +select "b" from "SA"."t1"; +select "c" from "SA"."t1"; --error + +start transaction; +select "b" from "SA"."t1"; +alter table "SA"."t1" set schema "SB"; +select "b" from "SB"."t1"; +commit; + +select "b" from "SB"."t1"; +select "b" from "SA"."t1"; --error + +drop schema "SA" cascade; +drop schema "SB" cascade; ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - Added option for setting the output directory...
Changeset: d96cd1ea02c3 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=d96cd1ea02c3 Modified Files: ChangeLog gdk/gdk_tracer.c gdk/gdk_tracer.h tools/merovingian/ChangeLog tools/merovingian/daemon/forkmserver.c tools/merovingian/utils/properties.c tools/mserver/mserver5.c Branch: default Log Message: Added option for setting the output directory for the produced tracefiles (mserver5 and merovingian) diffs (212 lines): diff --git a/ChangeLog b/ChangeLog --- a/ChangeLog +++ b/ChangeLog @@ -1,6 +1,10 @@ # ChangeLog file for devel # This file is updated with Maddlog +* Tue Feb 18 2020 Thodoris Zois +- Added mserver5 option (--dbtrace=) in order to be able to + specify the output directory of the produced traces. + * Thu Feb 6 2020 Panagiotis Koutsourakis - Add port and host as fields in the .monetdb file. diff --git a/gdk/gdk_tracer.c b/gdk/gdk_tracer.c --- a/gdk/gdk_tracer.c +++ b/gdk/gdk_tracer.c @@ -34,20 +34,25 @@ LOG_LEVEL LVL_PER_COMPONENT[] = { static gdk_return _GDKtracer_init_basic_adptr(void) { - char file_name[FILENAME_MAX]; - snprintf(file_name, sizeof(file_name), "%s%c%s%c%s%s", GDKgetenv("gdk_dbpath"), DIR_SEP, FILE_NAME, NAME_SEP, GDKtracer_get_timestamp("%Y%m%d_%H%M%S", (char[20]){0}, 20), ".log"); + char file_name[FILENAME_MAX]; + const char* TRACE_PATH = GDKgetenv("gdk_dbpath"); - output_file = fopen(file_name, "w"); + if(GDKgetenv("gdk_dbtrace") != NULL) + TRACE_PATH = GDKgetenv("gdk_dbtrace"); + + snprintf(file_name, sizeof(file_name), "%s%c%s", TRACE_PATH, DIR_SEP, FILE_NAME); + output_file = fopen(file_name, "a"); // Even if creating the file failed, the adapter has // still tried to initialize and we shouldn't retry it INIT_BASIC_ADAPTER = true; - - if (!output_file) { + + if(!output_file) + { GDK_TRACER_EXCEPTION(BASIC_INIT_FAILED ": %s\n", file_name); return GDK_FAIL; } - + return GDK_SUCCEED; } diff --git a/gdk/gdk_tracer.h b/gdk/gdk_tracer.h --- a/gdk/gdk_tracer.h +++ b/gdk/gdk_tracer.h @@ -38,7 +38,7 @@ #define DEFAULT_LOG_LEVEL M_ERROR #define DEFAULT_FLUSH_LEVEL M_INFO -#define FILE_NAME "trace" +#define FILE_NAME "mdbtrace.log" #define NAME_SEP '_' #define NULL_CHAR '\0' #define NEW_LINE '\n' diff --git a/tools/merovingian/ChangeLog b/tools/merovingian/ChangeLog --- a/tools/merovingian/ChangeLog +++ b/tools/merovingian/ChangeLog @@ -1,3 +1,7 @@ # ChangeLog file for sql/src/backends/monet5/merovingian # This file is updated with mchangelog +* Tue Feb 18 2020 Thodoris Zois +- Added dbtrace mserver5 option to the daemon in order to set + mserver5's output directory for the produced traces. + diff --git a/tools/merovingian/daemon/forkmserver.c b/tools/merovingian/daemon/forkmserver.c --- a/tools/merovingian/daemon/forkmserver.c +++ b/tools/merovingian/daemon/forkmserver.c @@ -201,6 +201,7 @@ forkMserver(char *database, sabdb** stat char *sabdbfarm; char dbpath[1024]; char dbextra_path[1024]; + char dbtrace_path[1024]; char port[32]; char listenaddr[512]; char muri[512]; /* possibly undersized */ @@ -218,6 +219,7 @@ forkMserver(char *database, sabdb** stat char *raw_strings = NULL; char *ipv6 = NULL; char *dbextra = NULL; + char *dbtrace = NULL; char *mserver5_extra = NULL; char *mserver5_extra_token = NULL; char *argv[MAX_NR_ARGS+1]; /* for the exec arguments */ @@ -522,6 +524,10 @@ forkMserver(char *database, sabdb** stat dbextra = kv->val; } + kv = findConfKey(ckv, "dbtrace"); + if (kv != NULL && kv->val != NULL) + dbtrace = kv->val; + kv = findConfKey(ckv, "listenaddr"); if (kv->val != NULL) { if (mydoproxy) { @@ -561,6 +567,13 @@ forkMserver(char *database, sabdb** stat "--dbextra=%s", dbextra); argv[c++] = dbextra_path; } + + if (dbtrace != NULL) { + snprintf(dbtrace_path, sizeof(dbtrace_path), +"--dbtrace=%s", dbtrace); + argv[c++] = dbtrace_path; + } + if (mydoproxy) { argv[c++] = set; argv[c++] = "mapi_open=false"; /* we "proxy", so we can just solely use UNIX domain sockets diff --git a/tools/merovingian/utils/properties.c b/tools/merovingian/utils/properties.c --- a/tools/merovingian/utils/properties.c +++ b/tools/merovingian/utils/properties.c @@ -39,6 +39,7 @@ static const confkeyval _internal_prop_k {"nclients",NULL, 0, INT}, {"mfunnel", NULL, 0, STR}, {"dbextra", NULL, 0, STR}, + {"dbtrace", NULL, 0, STR}, {"memmaxsize", NULL, 0, INT}, {"vmmaxsize", N
MonetDB: default - Minor fixes in spelling
Changeset: 9e42de913bd1 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=9e42de913bd1 Modified Files: gdk/gdk_tracer.c gdk/gdk_tracer.h sql/scripts/81_tracer.sql Branch: default Log Message: Minor fixes in spelling diffs (44 lines): diff --git a/gdk/gdk_tracer.c b/gdk/gdk_tracer.c --- a/gdk/gdk_tracer.c +++ b/gdk/gdk_tracer.c @@ -445,7 +445,7 @@ GDKtracer_flush_buffer(void) gdk_return -GDKtracer_fill_comp_info(BAT *id, BAT *component, BAT *log_Level) +GDKtracer_fill_comp_info(BAT *id, BAT *component, BAT *log_level) { for (int i = 0; i < COMPONENTS_COUNT; i++) { if (BUNappend(id, &i, false) != GDK_SUCCEED) @@ -454,7 +454,7 @@ GDKtracer_fill_comp_info(BAT *id, BAT *c if (BUNappend(component, COMPONENT_STR[i], false) != GDK_SUCCEED) return GDK_FAIL; - if (BUNappend(log_Level, LEVEL_STR[LVL_PER_COMPONENT[i]], false) != GDK_SUCCEED) + if (BUNappend(log_level, LEVEL_STR[LVL_PER_COMPONENT[i]], false) != GDK_SUCCEED) return GDK_FAIL; } diff --git a/gdk/gdk_tracer.h b/gdk/gdk_tracer.h --- a/gdk/gdk_tracer.h +++ b/gdk/gdk_tracer.h @@ -368,6 +368,6 @@ gdk_export gdk_return GDKtracer_log(LOG_ gdk_export gdk_return GDKtracer_flush_buffer(void); -gdk_export gdk_return GDKtracer_fill_comp_info(BAT *id, BAT *component, BAT *log_Level); +gdk_export gdk_return GDKtracer_fill_comp_info(BAT *id, BAT *component, BAT *log_level); #endif /* _GDK_TRACER_H_ */ diff --git a/sql/scripts/81_tracer.sql b/sql/scripts/81_tracer.sql --- a/sql/scripts/81_tracer.sql +++ b/sql/scripts/81_tracer.sql @@ -43,7 +43,7 @@ CREATE PROCEDURE logging.resetadapter() EXTERNAL NAME logging.resetadapter; -- Returns in the form of a SQL result-set all the --- components along with their ID the their current +-- components along with their ID and their current -- logging level being set CREATE FUNCTION logging.compinfo() RETURNS TABLE( ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: batcalc-updated - Implemented extra BAT argument to ind...
Changeset: b9274fa8b671 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=b9274fa8b671 Modified Files: clients/Tests/MAL-signatures.stable.out clients/Tests/MAL-signatures.stable.out.int128 clients/Tests/exports.stable.out gdk/gdk_aggr.c gdk/gdk_calc.c gdk/gdk_calc.h gdk/gdk_calc_compare.h gdk/gdk_string.c monetdb5/modules/mal/00_batcalc_hge.mal monetdb5/modules/mal/00_batcalc_hge.mal.sh monetdb5/modules/mal/01_batcalc.mal monetdb5/modules/mal/01_batcalc.mal.sh monetdb5/modules/mal/batcalc.c Branch: batcalc-updated Log Message: Implemented extra BAT argument to indicate for which values to do calculations. diffs (truncated from 89324 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 @@ -719,28 +719,52 @@ stdout of test 'MAL-signatures` in direc [ "batalgebra","not_like", "command batalgebra.not_like(s:bat[:str], pat:str, esc:str):bat[:bit] ", "BATPCREnotlike;", "" ] [ "batcalc", "!=", "pattern batcalc.!=(b1:bat[:any_1], b2:bat[:any_1]):bat[:bit] ","CMDbatNE;","Return B1 != B2" ] [ "batcalc", "!=", "pattern batcalc.!=(b1:bat[:any_1], b2:bat[:any_1], nil_matches:bit):bat[:bit] ", "CMDbatNE;","Return B1 != B2" ] +[ "batcalc", "!=", "pattern batcalc.!=(b1:bat[:any_1], b2:bat[:any_1], r:bat[:bit]):bat[:bit] ", "CMDbatNE;","Return B1 != B2" ] +[ "batcalc", "!=", "pattern batcalc.!=(b1:bat[:any_1], b2:bat[:any_1], r:bat[:bit], nil_matches:bit):bat[:bit] ", "CMDbatNE;","Return B1 != B2" ] [ "batcalc", "!=", "pattern batcalc.!=(b1:bat[:any_1], b2:bat[:any_1], s1:bat[:oid], s2:bat[:oid]):bat[:bit] ","CMDbatNE;","Return B1 != B2 with candidates list" ] [ "batcalc", "!=", "pattern batcalc.!=(b1:bat[:any_1], b2:bat[:any_1], s1:bat[:oid], s2:bat[:oid], nil_matches:bit):bat[:bit] ", "CMDbatNE;", "Return B1 != B2 with candidates list" ] +[ "batcalc", "!=", "pattern batcalc.!=(b1:bat[:any_1], b2:bat[:any_1], s1:bat[:oid], s2:bat[:oid], r:bat[:bit]):bat[:bit] ", "CMDbatNE;", "Return B1 != B2 with candidates list" ] +[ "batcalc", "!=", "pattern batcalc.!=(b1:bat[:any_1], b2:bat[:any_1], s1:bat[:oid], s2:bat[:oid], r:bat[:bit], nil_matches:bit):bat[:bit] ", "CMDbatNE;","Return B1 != B2 with candidates list" ] [ "batcalc", "!=", "pattern batcalc.!=(b1:bat[:bte], b2:bat[:dbl]):bat[:bit] ","CMDbatNE;","Return B1 != B2" ] [ "batcalc", "!=", "pattern batcalc.!=(b1:bat[:bte], b2:bat[:dbl], nil_matches:bit):bat[:bit] ", "CMDbatNE;","Return B1 != B2" ] +[ "batcalc", "!=", "pattern batcalc.!=(b1:bat[:bte], b2:bat[:dbl], r:bat[:bit]):bat[:bit] ", "CMDbatNE;","Return B1 != B2" ] +[ "batcalc", "!=", "pattern batcalc.!=(b1:bat[:bte], b2:bat[:dbl], r:bat[:bit], nil_matches:bit):bat[:bit] ", "CMDbatNE;","Return B1 != B2" ] [ "batcalc", "!=", "pattern batcalc.!=(b1:bat[:bte], b2:bat[:dbl], s1:bat[:oid], s2:bat[:oid]):bat[:bit] ","CMDbatNE;","Return B1 != B2 with candidates list" ] [ "batcalc", "!=", "pattern batcalc.!=(b1:bat[:bte], b2:bat[:dbl], s1:bat[:oid], s2:bat[:oid], nil_matches:bit):bat[:bit] ", "CMDbatNE;", "Return B1 != B2 with candidates list" ] +[ "batcalc", "!=", "pattern batcalc.!=(b1:bat[:bte], b2:bat[:dbl], s1:bat[:oid], s2:bat[:oid], r:bat[:bit]):bat[:bit] ", "CMDbatNE;","Return B1 != B2 with candidates list" ] +[ "batcalc", "!=", "pattern batcalc.!=(b1:bat[:bte], b2:bat[:dbl], s1:bat[:oid], s2:bat[:oid], r:bat[:bit], nil_matches:bit):bat[:bit] ", "CMDbatNE;","Return B1 != B2 with candidates list" ] [ "batcalc", "!=", "pattern batcalc.!=(b1:bat[:bte], b2:bat[:flt]):bat[:bit] ","CMDbatNE;","Return B1 != B2" ] [ "batcalc", "!=", "pattern batcalc.!=(b1:bat[:bte], b2:bat[:flt], nil_matches:bit):bat[:bit] ", "CMDbatNE;","Return B1 != B2" ] +[ "batcalc", "!=", "pattern batcalc.!=(b1:bat[:bte], b2:bat[:flt], r:bat[:bit]):bat[:bit] ", "CMDbatNE;","Return B1 != B2" ] +[ "batcalc", "!=", "pattern batcalc.!=(b1:bat[:bte], b2:bat[:flt], r:bat[:bit], nil_matches:bit):bat[:bit] ", "CMDbatNE;","Return B1 != B2" ] [ "batcalc", "!=", "pattern batcalc.!=(b1:bat[:bte], b2:bat[:flt], s1:bat[:oid], s2:bat[:oid]):bat[:bit] ","CMDbatNE;","Return B1 != B2 with candidates list" ] [ "batcalc", "!=", "pattern batcalc.!=(b1:bat[:bte], b2:bat[:flt], s1:bat[:oid], s2:bat[:oid], nil_matches:bit):bat[:bit] ", "CMDbatNE;", "Return B1 != B2 with candidates list" ] +[ "batcalc", "!=", "pattern batcalc.!=(b1:bat[:bte], b2:bat[:flt], s1:bat[:oid], s2:bat[:
MonetDB: default - Don't add restrict constraint on memory areas...
Changeset: c1f45a1be010 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=c1f45a1be010 Modified Files: gdk/gdk_aggr.c gdk/gdk_string.c Branch: default Log Message: Don't add restrict constraint on memory areas that might overlap diffs (57 lines): diff --git a/gdk/gdk_aggr.c b/gdk/gdk_aggr.c --- a/gdk/gdk_aggr.c +++ b/gdk/gdk_aggr.c @@ -3169,7 +3169,7 @@ BATcalcvariance_sample(dbl *avgp, BAT *b } while (0) static dbl -calccovariance(const void *restrict v1, const void *restrict v2, BUN cnt, int tp, bool issample, const char *func) +calccovariance(const void *v1, const void *v2, BUN cnt, int tp, bool issample, const char *func) { BUN n = 0, i; dbl mean1 = 0, mean2 = 0, m2 = 0, delta1, delta2; @@ -3246,7 +3246,7 @@ BATcalccorrelation(BAT *b1, BAT *b2) { BUN n = 0, i, cnt = BATcount(b1); dbl mean1 = 0, mean2 = 0, up = 0, down1 = 0, down2 = 0, delta1, delta2, aux; - const void *restrict v1 = (const void *) Tloc(b1, 0), *restrict v2 = (const void *) Tloc(b2, 0); + const void *v1 = (const void *) Tloc(b1, 0), *v2 = (const void *) Tloc(b2, 0); int tp = b1->ttype; switch (tp) { @@ -3517,8 +3517,8 @@ BATgroupvariance_population(BAT *b, BAT #define AGGR_COVARIANCE(TYPE) \ do {\ - const TYPE *restrict vals1 = (const TYPE *) Tloc(b1, 0); \ - const TYPE *restrict vals2 = (const TYPE *) Tloc(b2, 0); \ + const TYPE *vals1 = (const TYPE *) Tloc(b1, 0); \ + const TYPE *vals2 = (const TYPE *) Tloc(b2, 0); \ while (ncand > 0) { \ ncand--;\ i = canditer_next(&ci) - b1->hseqbase; \ @@ -3691,8 +3691,8 @@ BATgroupcovariance_population(BAT *b1, B #define AGGR_CORRELATION(TYPE) \ do {\ - const TYPE *restrict vals1 = (const TYPE *) Tloc(b1, 0); \ - const TYPE *restrict vals2 = (const TYPE *) Tloc(b2, 0); \ + const TYPE *vals1 = (const TYPE *) Tloc(b1, 0); \ + const TYPE *vals2 = (const TYPE *) Tloc(b2, 0); \ while (ncand > 0) { \ ncand--;\ i = canditer_next(&ci) - b1->hseqbase; \ diff --git a/gdk/gdk_string.c b/gdk/gdk_string.c --- a/gdk/gdk_string.c +++ b/gdk/gdk_string.c @@ -794,8 +794,8 @@ concat_strings(BAT **bnp, ValPtr pt, BAT { oid gid; BUN i, p, nils = 0; - size_t *lengths = NULL, *lastseplength = NULL, separator_length = 0, next_length; - str *astrings = NULL, s, sl; + size_t *restrict lengths = NULL, *restrict lastseplength = NULL, separator_length = 0, next_length; + str *restrict astrings = NULL, s, sl; BATiter bi, bis = (BATiter) {0}; BAT *bn = NULL; gdk_return rres = GDK_SUCCEED; ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - Approved output
Changeset: f2e01ae3026b for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=f2e01ae3026b Modified Files: sql/backends/monet5/UDF/pyapi3/Tests/pyloader3_01.stable.out Branch: default Log Message: Approved output diffs (14 lines): diff --git a/sql/backends/monet5/UDF/pyapi3/Tests/pyloader3_01.stable.out b/sql/backends/monet5/UDF/pyapi3/Tests/pyloader3_01.stable.out --- a/sql/backends/monet5/UDF/pyapi3/Tests/pyloader3_01.stable.out +++ b/sql/backends/monet5/UDF/pyapi3/Tests/pyloader3_01.stable.out @@ -41,8 +41,8 @@ stdout of test 'pyloader3_01` in directo % sys.functions, sys.functions, sys.functions, sys.functions, sys.functions, sys.functions, sys.functions, sys.functions # table_name % name,func, mod,language, type, side_effect,varres, vararg # name % varchar, varchar,varchar,int,int,boolean, boolean,boolean # type -% 6, 32, 6, 1, 1, 5, 5, 5 # length -[ "myfunc","{\n\t_emit.emit({'a':42,'d':1})\n};", "pyapi3", 6, 7, true, true, false ] +% 6, 32, 5, 1, 1, 5, 5, 5 # length +[ "myfunc","{\n\t_emit.emit({'a':42,'d':1})\n};", "pyapi",6, 7, true, true, false ] #COPY LOADER INTO mytable FROM myfunc(); #COPY LOADER INTO mytable FROM myfunc3(46, 'asdf', 3.2); #COPY LOADER INTO mytable FROM myfunc2(45, 'asdf'); ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - Sending SIGHUP to mserver5 will cause GDKtrac...
Changeset: b6bde489af97 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=b6bde489af97 Modified Files: gdk/gdk_tracer.c gdk/gdk_tracer.h tools/mserver/mserver5.c Branch: default Log Message: Sending SIGHUP to mserver5 will cause GDKtracer to reopen the trace file (logrotation) diffs (120 lines): diff --git a/gdk/gdk_tracer.c b/gdk/gdk_tracer.c --- a/gdk/gdk_tracer.c +++ b/gdk/gdk_tracer.c @@ -16,6 +16,8 @@ static gdk_tracer *active_tracer = &trac MT_Lock lock = MT_LOCK_INITIALIZER("GDKtracer_1"); static FILE *output_file; +static char file_name[FILENAME_MAX]; + static ATOMIC_TYPE CUR_ADAPTER = ATOMIC_VAR_INIT(DEFAULT_ADAPTER); static bool INIT_BASIC_ADAPTER = false; static bool LOG_EXC_REP = false; @@ -29,12 +31,11 @@ LOG_LEVEL LVL_PER_COMPONENT[] = { -// When BASIC adapter is active, all the log messages are getting output to a file. +// When BASIC adapter is active, all the log messages are getting printed to a file. // This function prepares a file in order to write the contents of the buffer when necessary. static gdk_return _GDKtracer_init_basic_adptr(void) { - char file_name[FILENAME_MAX]; const char* TRACE_PATH = GDKgetenv("gdk_dbpath"); if(GDKgetenv("gdk_dbtrace") != NULL) @@ -42,17 +43,17 @@ static gdk_return snprintf(file_name, sizeof(file_name), "%s%c%s", TRACE_PATH, DIR_SEP, FILE_NAME); output_file = fopen(file_name, "a"); - + // Even if creating the file failed, the adapter has // still tried to initialize and we shouldn't retry it INIT_BASIC_ADAPTER = true; - + if(!output_file) { - GDK_TRACER_EXCEPTION(BASIC_INIT_FAILED ": %s\n", file_name); + GDK_TRACER_EXCEPTION(OPENFILE_FAILED); return GDK_FAIL; } - + return GDK_SUCCEED; } @@ -190,6 +191,35 @@ GDKtracer_get_timestamp(const char *fmt, } +void +GDKtracer_reinit_basic(int sig) +{ + (void) sig; + + // GDKtracer needs to reopen the file only in + // case the adapter is BASIC + if ((int) ATOMIC_GET(&CUR_ADAPTER) != BASIC) + return; + + // BASIC adapter has been initialized already and file is open + if(INIT_BASIC_ADAPTER && output_file) { + // Make sure that GDKtracer is not trying to flush the buffer + MT_lock_set(&lock); + { + // Close file + fclose(output_file); + output_file = NULL; + + // Open a new file in append mode + output_file = fopen(file_name, "a"); + if(!output_file) + GDK_TRACER_EXCEPTION(OPENFILE_FAILED); + } + MT_lock_unset(&lock); + } +} + + gdk_return GDKtracer_stop(void) { diff --git a/gdk/gdk_tracer.h b/gdk/gdk_tracer.h --- a/gdk/gdk_tracer.h +++ b/gdk/gdk_tracer.h @@ -44,7 +44,7 @@ #define NEW_LINE '\n' #define MXW "20" -#define BASIC_INIT_FAILED "Failed to initialize BASIC adapter" +#define OPENFILE_FAILED "Failed to open "FILE_NAME #define GDKTRACER_FAILED "Failed to write logs" #define AS_STR(x) #x @@ -334,6 +334,10 @@ typedef struct GDKtracer { gdk_export char *GDKtracer_get_timestamp(const char *fmt, char *buf, size_t sz); +// Used for logrotate +gdk_export void GDKtracer_reinit_basic(int sig); + + gdk_export gdk_return GDKtracer_stop(void); diff --git a/tools/mserver/mserver5.c b/tools/mserver/mserver5.c --- a/tools/mserver/mserver5.c +++ b/tools/mserver/mserver5.c @@ -733,6 +733,9 @@ main(int argc, char **av) free(err); } + // Register signal to GDKtracer (logrotate) + signal(SIGHUP, GDKtracer_reinit_basic); + #ifdef _MSC_VER printf("# MonetDB server is started. To stop server press Ctrl-C.\n"); #endif ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - merge with default
Changeset: 873347ebd047 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=873347ebd047 Modified Files: gdk/gdk_aggr.c gdk/gdk_string.c sql/backends/monet5/UDF/pyapi3/Tests/pyloader3_01.stable.out Branch: default Log Message: merge with default diffs (71 lines): diff --git a/gdk/gdk_aggr.c b/gdk/gdk_aggr.c --- a/gdk/gdk_aggr.c +++ b/gdk/gdk_aggr.c @@ -3169,7 +3169,7 @@ BATcalcvariance_sample(dbl *avgp, BAT *b } while (0) static dbl -calccovariance(const void *restrict v1, const void *restrict v2, BUN cnt, int tp, bool issample, const char *func) +calccovariance(const void *v1, const void *v2, BUN cnt, int tp, bool issample, const char *func) { BUN n = 0, i; dbl mean1 = 0, mean2 = 0, m2 = 0, delta1, delta2; @@ -3246,7 +3246,7 @@ BATcalccorrelation(BAT *b1, BAT *b2) { BUN n = 0, i, cnt = BATcount(b1); dbl mean1 = 0, mean2 = 0, up = 0, down1 = 0, down2 = 0, delta1, delta2, aux; - const void *restrict v1 = (const void *) Tloc(b1, 0), *restrict v2 = (const void *) Tloc(b2, 0); + const void *v1 = (const void *) Tloc(b1, 0), *v2 = (const void *) Tloc(b2, 0); int tp = b1->ttype; switch (tp) { @@ -3517,8 +3517,8 @@ BATgroupvariance_population(BAT *b, BAT #define AGGR_COVARIANCE(TYPE) \ do {\ - const TYPE *restrict vals1 = (const TYPE *) Tloc(b1, 0); \ - const TYPE *restrict vals2 = (const TYPE *) Tloc(b2, 0); \ + const TYPE *vals1 = (const TYPE *) Tloc(b1, 0); \ + const TYPE *vals2 = (const TYPE *) Tloc(b2, 0); \ while (ncand > 0) { \ ncand--;\ i = canditer_next(&ci) - b1->hseqbase; \ @@ -3691,8 +3691,8 @@ BATgroupcovariance_population(BAT *b1, B #define AGGR_CORRELATION(TYPE) \ do {\ - const TYPE *restrict vals1 = (const TYPE *) Tloc(b1, 0); \ - const TYPE *restrict vals2 = (const TYPE *) Tloc(b2, 0); \ + const TYPE *vals1 = (const TYPE *) Tloc(b1, 0); \ + const TYPE *vals2 = (const TYPE *) Tloc(b2, 0); \ while (ncand > 0) { \ ncand--;\ i = canditer_next(&ci) - b1->hseqbase; \ diff --git a/gdk/gdk_string.c b/gdk/gdk_string.c --- a/gdk/gdk_string.c +++ b/gdk/gdk_string.c @@ -794,8 +794,8 @@ concat_strings(BAT **bnp, ValPtr pt, BAT { oid gid; BUN i, p, nils = 0; - size_t *lengths = NULL, *lastseplength = NULL, separator_length = 0, next_length; - str *astrings = NULL, s, sl; + size_t *restrict lengths = NULL, *restrict lastseplength = NULL, separator_length = 0, next_length; + str *restrict astrings = NULL, s, sl; BATiter bi, bis = (BATiter) {0}; BAT *bn = NULL; gdk_return rres = GDK_SUCCEED; diff --git a/sql/backends/monet5/UDF/pyapi3/Tests/pyloader3_01.stable.out b/sql/backends/monet5/UDF/pyapi3/Tests/pyloader3_01.stable.out --- a/sql/backends/monet5/UDF/pyapi3/Tests/pyloader3_01.stable.out +++ b/sql/backends/monet5/UDF/pyapi3/Tests/pyloader3_01.stable.out @@ -41,8 +41,8 @@ stdout of test 'pyloader3_01` in directo % sys.functions, sys.functions, sys.functions, sys.functions, sys.functions, sys.functions, sys.functions, sys.functions # table_name % name,func, mod,language, type, side_effect,varres, vararg # name % varchar, varchar,varchar,int,int,boolean, boolean,boolean # type -% 6, 32, 6, 1, 1, 5, 5, 5 # length -[ "myfunc","{\n\t_emit.emit({'a':42,'d':1})\n};", "pyapi3", 6, 7, true, true, false ] +% 6, 32, 5, 1, 1, 5, 5, 5 # length +[ "myfunc","{\n\t_emit.emit({'a':42,'d':1})\n};", "pyapi",6, 7, true, true, false ] #COPY LOADER INTO mytable FROM myfunc(); #COPY LOADER INTO mytable FROM myfunc3(46, 'asdf', 3.2); #COPY LOADER INTO mytable FROM myfunc2(45, 'asdf'); ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: linear-hashing - make sure that incorrect protocol usag...
Changeset: 08bf0f3ee0e2 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=08bf0f3ee0e2 Modified Files: sql/backends/monet5/sql_scenario.c Branch: linear-hashing Log Message: make sure that incorrect protocol usage is directly stopped. diffs (12 lines): diff --git a/sql/backends/monet5/sql_scenario.c b/sql/backends/monet5/sql_scenario.c --- a/sql/backends/monet5/sql_scenario.c +++ b/sql/backends/monet5/sql_scenario.c @@ -1136,6 +1136,8 @@ SQLparser(Client c) } if (be->language !='S') { msg = createException(SQL, "SQLparser", SQLSTATE(42000) "Unrecognized language prefix: %ci\n", be->language); + in->pos = in->len; /* skip rest of the input */ + c->mode = FINISHCLIENT; /* and disconnect, as client doesn't respect the mapi protocol */ goto finalize; } ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: linear-hashing - cleanup true=true early, solves later ...
Changeset: 4d07d0070afb for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=4d07d0070afb Modified Files: sql/server/rel_exp.c sql/server/rel_unnest.c Branch: linear-hashing Log Message: cleanup true=true early, solves later problems in rel_bin rel2bin_semijoin diffs (23 lines): diff --git a/sql/server/rel_exp.c b/sql/server/rel_exp.c --- a/sql/server/rel_exp.c +++ b/sql/server/rel_exp.c @@ -1597,6 +1597,8 @@ exp_is_true(mvc *sql, sql_exp *e) return atom_is_true(sql->args[e->flag]); } } + if (e->type == e_cmp && e->flag == cmp_equal) + return (exp_is_true(sql, e->l) && exp_is_true(sql, e->r)); return 0; } diff --git a/sql/server/rel_unnest.c b/sql/server/rel_unnest.c --- a/sql/server/rel_unnest.c +++ b/sql/server/rel_unnest.c @@ -2793,6 +2793,7 @@ rel_unnest(mvc *sql, sql_rel *rel) rel = rel_visitor(sql, rel, &rewrite_join2semi);/* where possible convert anyequal functions into marks */ rel = rel_visitor(sql, rel, &rewrite_compare_exp); /* only allow for e_cmp in selects and handling */ rel = rel_visitor(sql, rel, &rewrite_remove_xp_project);/* remove crossproducts with project ( project [ atom ] ) [ etc ] */ + rel = rel_visitor(sql, rel, &rewrite_simplify); /* as expressions got merged before, lets try to simplify again */ rel = _rel_unnest(sql, rel); rel = rel_visitor(sql, rel, &rewrite_fix_count);/* fix count inside a left join (adds a project (if (cnt IS null) then (0) else (cnt)) */ rel = rel_visitor(sql, rel, &rewrite_remove_xp);/* remove crossproducts with project [ atom ] */ ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: hitchhiker - Merge with default
Changeset: daa17a255eea for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=daa17a255eea Added Files: sql/server/rel_rewriter.c sql/server/rel_rewriter.h sql/test/BugTracker-2020/Tests/functions-not-persist.Bug-6819.py sql/test/BugTracker-2020/Tests/functions-not-persist.Bug-6819.stable.err sql/test/BugTracker-2020/Tests/functions-not-persist.Bug-6819.stable.out Modified Files: .hgtags ChangeLog MonetDB.spec NT/monetdb_config.h.in NT/rules.msc clients/Tests/exports.stable.out clients/mapilib/mapi.rc clients/odbc/driver/driver.rc clients/odbc/winsetup/setup.rc configure.ag debian/changelog gdk/gdk.h gdk/gdk_aggr.c gdk/gdk_atoms.h gdk/gdk_batop.c gdk/gdk_bbp.c gdk/gdk_hash.c gdk/gdk_hash.h gdk/gdk_private.h gdk/gdk_string.c gdk/gdk_system.h gdk/gdk_tracer.c gdk/gdk_tracer.h gdk/gdk_utils.c gdk/gdk_utils.h gdk/libbat.rc geom/monetdb5/geom.c libversions monetdb5/mal/mal_exception.c monetdb5/mal/mal_module.c monetdb5/mal/mal_private.h monetdb5/modules/atoms/blob.h monetdb5/modules/kernel/bat5.c monetdb5/modules/mal/remote.c monetdb5/optimizer/opt_oltp.c monetdb5/tools/libmonetdb5.rc sql/backends/monet5/UDF/capi/capi.c sql/backends/monet5/UDF/capi/capi.h sql/backends/monet5/UDF/pyapi3/Tests/pyloader3_01.stable.out sql/backends/monet5/UDF/pyapi3/pyheader.h sql/backends/monet5/sql_scenario.c sql/scripts/81_tracer.sql sql/server/Makefile.ag sql/server/rel_optimizer.c sql/server/rel_psm.c sql/server/rel_rel.c sql/server/rel_rel.h sql/server/rel_schema.c sql/server/rel_unnest.c sql/server/sql_mvc.c sql/storage/store.c sql/test/BugTracker-2016/Tests/memory-consumption-query-PLAN-25joins.Bug-3972.stable.out sql/test/BugTracker-2017/Tests/not_plus.Bug-6294.stable.out sql/test/BugTracker-2018/Tests/sqlitelogictest-mal-calc-undefined.Bug-6566.stable.out sql/test/BugTracker-2020/Tests/All sql/test/BugTracker-2020/Tests/analyze-stream-table.Bug-6817.sql sql/test/BugTracker-2020/Tests/analyze-stream-table.Bug-6817.stable.err sql/test/BugTracker-2020/Tests/analyze-stream-table.Bug-6817.stable.out sql/test/BugTracker-2020/Tests/select-where-in-rtrim-crash.Bug-6818.sql sql/test/BugTracker-2020/Tests/select-where-in-rtrim-crash.Bug-6818.stable.out sql/test/mergetables/Tests/sqlsmith-exists2.sql sql/test/subquery/Tests/subquery3.sql sql/test/subquery/Tests/subquery3.stable.out tools/merovingian/ChangeLog tools/merovingian/daemon/forkmserver.c tools/merovingian/utils/properties.c tools/mserver/mserver5.c vertoo.data Branch: hitchhiker Log Message: Merge with default diffs (truncated from 5069 to 300 lines): diff --git a/.hgtags b/.hgtags --- a/.hgtags +++ b/.hgtags @@ -755,3 +755,6 @@ c35ea84b568b792c5fd073f6a1e1a24372de0e20 4eb6068f63cf87fc6996daed59fbcc917c8b2881 Nov2019_13 c35ea84b568b792c5fd073f6a1e1a24372de0e20 Nov2019_SP2_release 4eb6068f63cf87fc6996daed59fbcc917c8b2881 Nov2019_SP2_release +7186b517a584f0244e20eb7abe61f7a7c0c9ea1b Nov2019_15 +4eb6068f63cf87fc6996daed59fbcc917c8b2881 Nov2019_SP2_release +7186b517a584f0244e20eb7abe61f7a7c0c9ea1b Nov2019_SP2_release diff --git a/ChangeLog b/ChangeLog --- a/ChangeLog +++ b/ChangeLog @@ -1,6 +1,10 @@ # ChangeLog file for devel # This file is updated with Maddlog +* Tue Feb 18 2020 Thodoris Zois +- Added mserver5 option (--dbtrace=) in order to be able to + specify the output directory of the produced traces. + * Thu Feb 6 2020 Panagiotis Koutsourakis - Add port and host as fields in the .monetdb file. diff --git a/MonetDB.spec b/MonetDB.spec --- a/MonetDB.spec +++ b/MonetDB.spec @@ -941,6 +941,12 @@ fi %postun -p /sbin/ldconfig %changelog +* Mon Feb 17 2020 Sjoerd Mullender - 11.35.15-20200217 +- Rebuilt. +- BZ#6817: running analyze on a schema which contains a stream table + stops with an error +- BZ#6819: functions do not persist + * Wed Feb 12 2020 Sjoerd Mullender - 11.35.13-20200212 - Rebuilt. 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 @@ -512,7 +512,6 @@ ssize_t shtFromStr(const char *src, size ssize_t shtToStr(str *dst, size_t *len, const sht *src, bool external); const sht sht_nil; ssize_t strFromStr(const char *restrict src, size_t *restrict len, str *restrict dst, bool external); -BUN strHash(const char *s); const char str_nil[2]; gdk_return void_inplace(BAT *b, oid id, const void *val, bool force) __attribute__((__warn_unuse
MonetDB: default - Replaced fprintf
Changeset: 97db6d79429c for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=97db6d79429c Modified Files: sql/backends/monet5/sql_upgrades.c Branch: default Log Message: Replaced fprintf diffs (12 lines): diff --git a/sql/backends/monet5/sql_upgrades.c b/sql/backends/monet5/sql_upgrades.c --- a/sql/backends/monet5/sql_upgrades.c +++ b/sql/backends/monet5/sql_upgrades.c @@ -3178,7 +3178,7 @@ SQLupgrades(Client c, mvc *m) sql_find_subtype(&tp, "hugeint", 0, 0); if (!sql_bind_func(m->sa, s, "median_avg", &tp, NULL, F_AGGR)) { if ((err = sql_update_nov2019_sp1_hugeint(c, m, prev_schema, &systabfixed)) != NULL) { - fprintf(stderr, "!%s\n", err); + TRC_ERROR(SQL_UPGRADES, "%s\n", err); freeException(err); res = -1; } ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: hitchhiker - Merge with default
Changeset: 6e2d11ae973b for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=6e2d11ae973b Modified Files: sql/backends/monet5/sql_upgrades.c Branch: hitchhiker Log Message: Merge with default diffs (12 lines): diff --git a/sql/backends/monet5/sql_upgrades.c b/sql/backends/monet5/sql_upgrades.c --- a/sql/backends/monet5/sql_upgrades.c +++ b/sql/backends/monet5/sql_upgrades.c @@ -3178,7 +3178,7 @@ SQLupgrades(Client c, mvc *m) sql_find_subtype(&tp, "hugeint", 0, 0); if (!sql_bind_func(m->sa, s, "median_avg", &tp, NULL, F_AGGR)) { if ((err = sql_update_nov2019_sp1_hugeint(c, m, prev_schema, &systabfixed)) != NULL) { - fprintf(stderr, "!%s\n", err); + TRC_ERROR(SQL_UPGRADES, "%s\n", err); freeException(err); res = -1; } ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: linear-hashing - Rename function: upgrade to linear-has...
Changeset: 9eec1f9568ad for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=9eec1f9568ad Modified Files: sql/backends/monet5/sql_upgrades.c Branch: linear-hashing Log Message: Rename function: upgrade to linear-hashing branch, not default. diffs (21 lines): diff --git a/sql/backends/monet5/sql_upgrades.c b/sql/backends/monet5/sql_upgrades.c --- a/sql/backends/monet5/sql_upgrades.c +++ b/sql/backends/monet5/sql_upgrades.c @@ -2352,7 +2352,7 @@ sql_update_nov2019_sp1_hugeint(Client c, #endif static str -sql_update_default(Client c, mvc *sql, const char *prev_schema, bool *systabfixed) +sql_update_linear_hashing(Client c, mvc *sql, const char *prev_schema, bool *systabfixed) { sql_table *t; size_t bufsize = 8192, pos = 0; @@ -2870,7 +2870,7 @@ SQLupgrades(Client c, mvc *m) #endif if (!res && !sql_bind_func(m->sa, s, "suspend_log_flushing", NULL, NULL, F_PROC)) { - if ((err = sql_update_default(c, m, prev_schema, &systabfixed)) != NULL) { + if ((err = sql_update_linear_hashing(c, m, prev_schema, &systabfixed)) != NULL) { fprintf(stderr, "!%s\n", err); freeException(err); res = -1; ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - Merge with linear-hashing branch.
Changeset: 9bf2372c34c2 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=9bf2372c34c2 Added Files: sql/test/rename/Tests/rename12.sql Modified Files: sql/backends/monet5/sql_scenario.c sql/backends/monet5/sql_upgrades.c sql/server/rel_exp.c sql/server/rel_unnest.c sql/test/rename/Tests/All Branch: default Log Message: Merge with linear-hashing branch. diffs (115 lines): diff --git a/sql/backends/monet5/sql_scenario.c b/sql/backends/monet5/sql_scenario.c --- a/sql/backends/monet5/sql_scenario.c +++ b/sql/backends/monet5/sql_scenario.c @@ -1123,6 +1123,8 @@ SQLparser(Client c) } if (be->language !='S') { msg = createException(SQL, "SQLparser", SQLSTATE(42000) "Unrecognized language prefix: %ci\n", be->language); + in->pos = in->len; /* skip rest of the input */ + c->mode = FINISHCLIENT; /* and disconnect, as client doesn't respect the mapi protocol */ goto finalize; } diff --git a/sql/backends/monet5/sql_upgrades.c b/sql/backends/monet5/sql_upgrades.c --- a/sql/backends/monet5/sql_upgrades.c +++ b/sql/backends/monet5/sql_upgrades.c @@ -2272,7 +2272,7 @@ sql_update_nov2019_sp1_hugeint(Client c, #endif static str -sql_update_default(Client c, mvc *sql, const char *prev_schema, bool *systabfixed) +sql_update_linear_hashing(Client c, mvc *sql, const char *prev_schema, bool *systabfixed) { sql_table *t; size_t bufsize = 32768, pos = 0; @@ -3187,7 +3187,7 @@ SQLupgrades(Client c, mvc *m) #endif if (!res && !sql_bind_func(m->sa, s, "suspend_log_flushing", NULL, NULL, F_PROC)) { - if ((err = sql_update_default(c, m, prev_schema, &systabfixed)) != NULL) { + if ((err = sql_update_linear_hashing(c, m, prev_schema, &systabfixed)) != NULL) { TRC_ERROR(SQL_UPGRADES, "%s\n", err); freeException(err); res = -1; diff --git a/sql/server/rel_exp.c b/sql/server/rel_exp.c --- a/sql/server/rel_exp.c +++ b/sql/server/rel_exp.c @@ -1592,6 +1592,8 @@ exp_is_true(mvc *sql, sql_exp *e) return atom_is_true(sql->args[e->flag]); } } + if (e->type == e_cmp && e->flag == cmp_equal) + return (exp_is_true(sql, e->l) && exp_is_true(sql, e->r)); return 0; } diff --git a/sql/server/rel_unnest.c b/sql/server/rel_unnest.c --- a/sql/server/rel_unnest.c +++ b/sql/server/rel_unnest.c @@ -2662,6 +2662,7 @@ rel_unnest(mvc *sql, sql_rel *rel) rel = rel_visitor_bottomup(sql, rel, &rewrite_join2semi, &changes); /* where possible convert anyequal functions into marks */ rel = rel_visitor_bottomup(sql, rel, &rewrite_compare_exp, &changes); /* only allow for e_cmp in selects and handling */ rel = rel_visitor_bottomup(sql, rel, &rewrite_remove_xp_project, &changes); /* remove crossproducts with project ( project [ atom ] ) [ etc ] */ + rel = rel_visitor_bottomup(sql, rel, &rewrite_simplify, &changes); /* as expressions got merged before, lets try to simplify again */ rel = _rel_unnest(sql, rel); rel = rel_visitor_bottomup(sql, rel, &rewrite_fix_count, &changes); /* fix count inside a left join (adds a project (if (cnt IS null) then (0) else (cnt)) */ rel = rel_visitor_bottomup(sql, rel, &rewrite_remove_xp, &changes); /* remove crossproducts with project [ atom ] */ diff --git a/sql/test/rename/Tests/All b/sql/test/rename/Tests/All --- a/sql/test/rename/Tests/All +++ b/sql/test/rename/Tests/All @@ -10,3 +10,4 @@ rename08 rename09 rename10 HAVE_PYMONETDB?rename11 +rename12 diff --git a/sql/test/rename/Tests/rename12.sql b/sql/test/rename/Tests/rename12.sql new file mode 100644 --- /dev/null +++ b/sql/test/rename/Tests/rename12.sql @@ -0,0 +1,46 @@ +create schema "SA"; +create schema "SB"; + +create table "SA"."t1" (a uuid); +insert into "SA"."t1" values (null), ('be887b3d-08f7-c308-7285-354a1857cbd9'); + +start transaction; +select "a" from "SA"."t1"; +alter table "SA"."t1" set schema "SB"; +select "a" from "SB"."t1"; +drop table "SB"."t1"; +rollback; + +select "a" from "SA"."t1"; +select "a" from "SB"."t1"; --error + +start transaction; +select "a" from "SA"."t1"; +alter table "SA"."t1" rename column "a" to "b"; +select "b" from "SA"."t1"; +commit; + +select "b" from "SA"."t1"; +select "a" from "SA"."t1"; --error + +start transaction; +select "b" from "SA"."t1"; +alter table "SA"."t1" rename column "b" to "c"; +select "c" from "SA"."t1"; +select "b" from "SA"."t1"; --error +rollback; + +select "b" from "SA"."t1"; +select "c" from "SA"."t1"; --error + +start transaction; +select "b" from "SA"."t1"; +alter table "SA"."t1" set schema "SB"; +select "b" from "SB"."t1"; +commit; + +select "b" from "SB"."t1"; +select "b" from "SA"."t1"; --error + +drop schema "SA" cascade; +drop schema "SB"
MonetDB: default - Split upgrade to default branch off from upgr...
Changeset: 1d9520089df0 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=1d9520089df0 Modified Files: sql/backends/monet5/sql_upgrades.c sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.int128 sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.powerpc64.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 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/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: default Log Message: Split upgrade to default branch off from upgrade to linear-hashing branch. diffs (truncated from 461 to 300 lines): diff --git a/sql/backends/monet5/sql_upgrades.c b/sql/backends/monet5/sql_upgrades.c --- a/sql/backends/monet5/sql_upgrades.c +++ b/sql/backends/monet5/sql_upgrades.c @@ -2275,7 +2275,7 @@ static str sql_update_linear_hashing(Client c, mvc *sql, const char *prev_schema, bool *systabfixed) { sql_table *t; - size_t bufsize = 32768, pos = 0; + size_t bufsize = 8192, pos = 0; char *err = NULL, *buf = GDKmalloc(bufsize); sql_schema *sys = mvc_bind_schema(sql, "sys"); @@ -2486,6 +2486,41 @@ sql_update_linear_hashing(Client c, mvc "('STATEMENT'),('TABLE'),('TEMP'),('TEMPORARY'),('TEXT'),('TIME'),('TIMESTAMP'),('TRACE'),('TYPE'),('UNIONJOIN')," "('WEEK'),('YEAR'),('ZONE');\n"); + pos += snprintf(buf + pos, bufsize - pos, "commit;\n"); + pos += snprintf(buf + pos, bufsize - pos, "set schema \"%s\";\n", prev_schema); + assert(pos < bufsize); + + printf("Running database upgrade commands:\n%s\n", buf); + err = SQLstatementIntern(c, &buf, "update", true, false, NULL); + if (err == MAL_SUCCEED) { + pos = snprintf(buf, bufsize, "set schema \"sys\";\n" + "ALTER TABLE sys.keywords SET READ ONLY;\n"); + pos += snprintf(buf + pos, bufsize - pos, "set schema \"%s\";\n", prev_schema); + assert(pos < bufsize); + printf("Running database upgrade commands:\n%s\n", buf); + err = SQLstatementIntern(c, &buf, "update", true, false, NULL); + } + GDKfree(buf); + return err; /* usually MAL_SUCCEED */ +} + +static str +sql_update_default(Client c, mvc *sql, const char *prev_schema, bool *systabfixed) +{ + size_t bufsize = 32768, pos = 0; + char *err = NULL, *buf = GDKmalloc(bufsize); + + if (!*systabfixed && + (err = sql_fix_system_tables(c, sql, prev_schema)) != NULL) + return err; + *systabfixed = true; + + if (buf == NULL) + throw(SQL, __func__, SQLSTATE(HY013) MAL_MALLOC_FAIL); + + pos += snprintf(buf + pos, bufsize - pos, + "set schema \"sys\";\n"); + /* 39_analytics.sql */ pos += snprintf(buf + pos, bufsize - pos, "create window stddev_samp(val TINYINT) returns DOUBLE\n" @@ -3192,14 +3227,24 @@ SQLupgrades(Client c, mvc *m) freeException(err); res = -1; } - if (!res && - (err = sql_update_default_bam(c, m, prev_schema)) != NULL) { + } + + sql_find_subtype(&tp, "tinyint", 0, 0); + if (!sql_bind_func(m->sa, s, "stddev_samp", &tp, NULL, F_ANALYTIC)) { + if ((err = sql_update_default(c, m, prev_schema, &systabfixed)) != NULL) { TRC_ERROR(SQL_UPGRADES, "%s\n", err); freeException(err); res = -1; } } + if (!res && + (err = sql_update_default_bam(c, m, prev_schema)) != NULL) { + TRC_ERROR(SQL_UPGRADES, "%s\n", err); + freeException(err); + res = -1; + } + GDKfree(prev_schema); return res; } diff --git a/sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.sta
MonetDB: linear-hashing - Fixed rename12 test by passing the rig...
Changeset: 13bc30886798 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=13bc30886798 Added Files: sql/test/rename/Tests/rename12.stable.err sql/test/rename/Tests/rename12.stable.out Modified Files: sql/server/sql_mvc.c sql/storage/bat/bat_storage.c sql/storage/sql_storage.h sql/storage/store.c Branch: linear-hashing Log Message: Fixed rename12 test by passing the right transaction at update_table. Also added missing functions for SQL objects propagation between transactions diffs (truncated from 565 to 300 lines): diff --git a/sql/server/sql_mvc.c b/sql/server/sql_mvc.c --- a/sql/server/sql_mvc.c +++ b/sql/server/sql_mvc.c @@ -1109,7 +1109,7 @@ mvc_bind_trigger(mvc *m, sql_schema *s, } sql_type * -mvc_create_type(mvc *sql, sql_schema * s, const char *name, int digits, int scale, int radix, const char *impl) +mvc_create_type(mvc *sql, sql_schema *s, const char *name, int digits, int scale, int radix, const char *impl) { sql_type *t = NULL; @@ -1441,7 +1441,7 @@ mvc_create_column(mvc *m, sql_table *t, fprintf(stderr, "#mvc_create_column %s %s %s\n", t->base.name, name, tpe->type->sqlname); if (t->persistence == SQL_DECLARED_TABLE && (!t->s || strcmp(t->s->base.name, dt_schema))) /* declared tables should not end up in the catalog */ - return create_sql_column(m->sa, t, name, tpe); + return create_sql_column(m->session->tr, t, name, tpe); else return sql_trans_create_column(m->session->tr, t, name, tpe); } diff --git a/sql/storage/bat/bat_storage.c b/sql/storage/bat/bat_storage.c --- a/sql/storage/bat/bat_storage.c +++ b/sql/storage/bat/bat_storage.c @@ -2822,7 +2822,7 @@ update_table(sql_trans *tr, sql_table *f } } - dup_sql_type(tr, ft->s, &(cc->type), &(oc->type)); + dup_sql_type(tr->parent, ft->s, &(cc->type), &(oc->type)); oc->colnr = cc->colnr; oc->null = cc->null; oc->unique = cc->unique; diff --git a/sql/storage/sql_storage.h b/sql/storage/sql_storage.h --- a/sql/storage/sql_storage.h +++ b/sql/storage/sql_storage.h @@ -470,7 +470,7 @@ extern int sql_trans_check_dependency(sq extern list* sql_trans_owner_schema_dependencies(sql_trans *tr, sqlid id); extern sql_table *create_sql_table(sql_allocator *sa, const char *name, sht type, bit system, int persistence, int commit_action, bit properties); -extern sql_column *create_sql_column(sql_allocator *sa, sql_table *t, const char *name, sql_subtype *tpe); +extern sql_column *create_sql_column(sql_trans *tr, sql_table *t, const char *name, sql_subtype *tpe); extern sql_ukey *create_sql_ukey(sql_allocator *sa, sql_table *t, const char *nme, key_type kt); extern sql_fkey *create_sql_fkey(sql_allocator *sa, sql_table *t, const char *nme, key_type kt, sql_key *rkey, int on_delete, int on_update ); extern sql_key *create_sql_kc(sql_allocator *sa, sql_key *k, sql_column *c); diff --git a/sql/storage/store.c b/sql/storage/store.c --- a/sql/storage/store.c +++ b/sql/storage/store.c @@ -1578,7 +1578,9 @@ create_sql_table(sql_allocator *sa, cons void dup_sql_type(sql_trans *tr, sql_schema *os, sql_subtype *oc, sql_subtype *nc) { - *nc = *oc; + nc->digits = oc->digits; + nc->scale = oc->scale; + nc->type = oc->type; if (nc->type->s) { /* user type */ sql_type *lt = NULL; @@ -3448,6 +3450,8 @@ type_dup(sql_trans *tr, int flags, sql_t t->bits = ot->bits; t->localtype = ot->localtype; t->s = s; + if (isNew(ot) && newFlagSet(flags) && tr->parent == gtrans) + removeNewFlag(ot); return t; } @@ -3494,11 +3498,13 @@ func_dup(sql_trans *tr, int flags, sql_f } f->s = s; f->sa = sa; + if (isNew(of) && newFlagSet(flags) && tr->parent == gtrans) + removeNewFlag(of); return f; } static sql_sequence * -seq_dup(sql_trans *tr, int flags, sql_sequence *oseq, sql_schema * s) +seq_dup(sql_trans *tr, int flags, sql_sequence *oseq, sql_schema *s) { sql_allocator *sa = (newFlagSet(flags))?tr->parent->sa:tr->sa; sql_sequence *seq = SA_ZNEW(sa, sql_sequence); @@ -3512,6 +3518,8 @@ seq_dup(sql_trans *tr, int flags, sql_se seq->cacheinc = oseq->cacheinc; seq->cycle = oseq->cycle; seq->s = s; + if (isNew(oseq) && newFlagSet(flags) && tr->parent == gtrans) + removeNewFlag(oseq); return seq; } @@ -3658,6 +3666,30 @@ trans_init(sql_trans *tr, backend_stack assert(0); } } + if (ps->seqs.set && s->seqs.set) + for (k = ps->seqs.set->h, l = s->seqs.set->h; k && l; k = k->next, l = l->next ) { +
MonetDB: default - Merged with linear-hashing
Changeset: a9c8b842f3ed for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=a9c8b842f3ed Added Files: sql/test/rename/Tests/rename12.stable.err sql/test/rename/Tests/rename12.stable.out Modified Files: sql/server/sql_mvc.c sql/storage/bat/bat_storage.c sql/storage/sql_storage.h sql/storage/store.c Branch: default Log Message: Merged with linear-hashing diffs (truncated from 565 to 300 lines): diff --git a/sql/server/sql_mvc.c b/sql/server/sql_mvc.c --- a/sql/server/sql_mvc.c +++ b/sql/server/sql_mvc.c @@ -1055,7 +1055,7 @@ mvc_bind_trigger(mvc *m, sql_schema *s, } sql_type * -mvc_create_type(mvc *sql, sql_schema * s, const char *name, int digits, int scale, int radix, const char *impl) +mvc_create_type(mvc *sql, sql_schema *s, const char *name, int digits, int scale, int radix, const char *impl) { sql_type *t = NULL; @@ -1355,7 +1355,7 @@ mvc_create_column(mvc *m, sql_table *t, TRC_DEBUG(SQL_MVC, "Create column: %s %s %s\n", t->base.name, name, tpe->type->sqlname); if (t->persistence == SQL_DECLARED_TABLE && (!t->s || strcmp(t->s->base.name, dt_schema))) /* declared tables should not end up in the catalog */ - return create_sql_column(m->sa, t, name, tpe); + return create_sql_column(m->session->tr, t, name, tpe); else return sql_trans_create_column(m->session->tr, t, name, tpe); } diff --git a/sql/storage/bat/bat_storage.c b/sql/storage/bat/bat_storage.c --- a/sql/storage/bat/bat_storage.c +++ b/sql/storage/bat/bat_storage.c @@ -2822,7 +2822,7 @@ update_table(sql_trans *tr, sql_table *f } } - dup_sql_type(tr, ft->s, &(cc->type), &(oc->type)); + dup_sql_type(tr->parent, ft->s, &(cc->type), &(oc->type)); oc->colnr = cc->colnr; oc->null = cc->null; oc->unique = cc->unique; diff --git a/sql/storage/sql_storage.h b/sql/storage/sql_storage.h --- a/sql/storage/sql_storage.h +++ b/sql/storage/sql_storage.h @@ -470,7 +470,7 @@ extern int sql_trans_check_dependency(sq extern list* sql_trans_owner_schema_dependencies(sql_trans *tr, sqlid id); extern sql_table *create_sql_table(sql_allocator *sa, const char *name, sht type, bit system, int persistence, int commit_action, bit properties); -extern sql_column *create_sql_column(sql_allocator *sa, sql_table *t, const char *name, sql_subtype *tpe); +extern sql_column *create_sql_column(sql_trans *tr, sql_table *t, const char *name, sql_subtype *tpe); extern sql_ukey *create_sql_ukey(sql_allocator *sa, sql_table *t, const char *nme, key_type kt); extern sql_fkey *create_sql_fkey(sql_allocator *sa, sql_table *t, const char *nme, key_type kt, sql_key *rkey, int on_delete, int on_update ); extern sql_key *create_sql_kc(sql_allocator *sa, sql_key *k, sql_column *c); diff --git a/sql/storage/store.c b/sql/storage/store.c --- a/sql/storage/store.c +++ b/sql/storage/store.c @@ -1549,7 +1549,9 @@ create_sql_table(sql_allocator *sa, cons void dup_sql_type(sql_trans *tr, sql_schema *os, sql_subtype *oc, sql_subtype *nc) { - *nc = *oc; + nc->digits = oc->digits; + nc->scale = oc->scale; + nc->type = oc->type; if (nc->type->s) { /* user type */ sql_type *lt = NULL; @@ -3407,6 +3409,8 @@ type_dup(sql_trans *tr, int flags, sql_t t->bits = ot->bits; t->localtype = ot->localtype; t->s = s; + if (isNew(ot) && newFlagSet(flags) && tr->parent == gtrans) + removeNewFlag(ot); return t; } @@ -3453,11 +3457,13 @@ func_dup(sql_trans *tr, int flags, sql_f } f->s = s; f->sa = sa; + if (isNew(of) && newFlagSet(flags) && tr->parent == gtrans) + removeNewFlag(of); return f; } static sql_sequence * -seq_dup(sql_trans *tr, int flags, sql_sequence *oseq, sql_schema * s) +seq_dup(sql_trans *tr, int flags, sql_sequence *oseq, sql_schema *s) { sql_allocator *sa = (newFlagSet(flags))?tr->parent->sa:tr->sa; sql_sequence *seq = SA_ZNEW(sa, sql_sequence); @@ -3471,6 +3477,8 @@ seq_dup(sql_trans *tr, int flags, sql_se seq->cacheinc = oseq->cacheinc; seq->cycle = oseq->cycle; seq->s = s; + if (isNew(oseq) && newFlagSet(flags) && tr->parent == gtrans) + removeNewFlag(oseq); return seq; } @@ -3617,6 +3625,30 @@ trans_init(sql_trans *tr, backend_stack assert(0); } } + if (ps->seqs.set && s->seqs.set) + for (k = ps->seqs.set->h, l = s->seqs.set->h; k && l; k = k->next, l = l->next ) { + sql_sequence *pt = k->data; /* parent transactions sequence */ + sql_sequence *t = l->data;
MonetDB: default - Approved output
Changeset: bc00d1fe3349 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=bc00d1fe3349 Modified Files: sql/test/mergetables/Tests/sqlsmith-exists2.stable.out Branch: default Log Message: Approved output diffs (59 lines): diff --git a/sql/test/mergetables/Tests/sqlsmith-exists2.stable.out b/sql/test/mergetables/Tests/sqlsmith-exists2.stable.out --- a/sql/test/mergetables/Tests/sqlsmith-exists2.stable.out +++ b/sql/test/mergetables/Tests/sqlsmith-exists2.stable.out @@ -114,6 +114,55 @@ stdout of test 'sqlsmith-exists2` in dir % c0, c1, c2, c3, c4 # name % int, tinyint,int,int,real # type % 1, 1, 1, 1, 15 # length +#select +# subq_0.c4 as c0, +# subq_0.c8 as c1, +# subq_0.c2 as c2, +# 1 as c3, +# subq_0.c0 as c4, +# subq_0.c9 as c5, +# subq_0.c9 as c6, +# subq_0.c6 as c7 +#from +# (select +# ref_4.i as c0, +# case when (false) +# or (ref_7.col3 is not null) then ref_2.col2 else ref_2.col2 end +# as c1, +# ref_7.col6 as c2, +# ref_7.col1 as c3, +# ref_4.i as c4, +# ref_2.col0 as c5, +# ref_3.col3 as c6, +# ref_0.col1 as c7, +# ref_2.col2 as c8, +# ref_3.col2 as c9, +# ref_7.col1 as c10, +# ref_1.aa as c11, +# ref_2.col1 as c12, +# ref_1.cc as c13, +% sys.,sys., sys., ., sys., sys., sys., sys. # table_name +% c0, c1, c2, c3, c4, c5, c6, c7 # name +% int, int,date, tinyint,int,int,int,int # type +% 1, 1, 10, 1, 1, 1, 1, 1 # length +#select +# 1 +# from +# tab0 +# inner join analytics as ref_1 +# inner join integers as ref_4 +# on (exists ( +# select +# 1 +# where (exists ( +# select +# 1) +# and (ref_4.i is not null +# on (ref_1.bb is null); +% . # table_name +% single_value # name +% tinyint # type +% 1 # length #ROLLBACK; # 22:12:15 > ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - Remove obsolete profiler connection mode
Changeset: 350ef0482b0c for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=350ef0482b0c Modified Files: monetdb5/modules/mal/profiler.mal Branch: default Log Message: Remove obsolete profiler connection mode diffs (14 lines): diff --git a/monetdb5/modules/mal/profiler.mal b/monetdb5/modules/mal/profiler.mal --- a/monetdb5/modules/mal/profiler.mal +++ b/monetdb5/modules/mal/profiler.mal @@ -38,10 +38,6 @@ pattern openstream():void address CMDopenProfilerStream comment "Start profiling the events, send to output stream"; -pattern openstream(mode:int):void -address CMDopenProfilerStream -comment "Start profiling the events, send to output stream"; - pattern closestream():void address CMDcloseProfilerStream comment "Stop offline proviling"; ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: linear-hashing - small fix for dup_sql_type, for the de...
Changeset: e921a5dbff3b for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=e921a5dbff3b Modified Files: sql/storage/store.c Branch: linear-hashing Log Message: small fix for dup_sql_type, for the declared (internal) tables diffs (12 lines): diff --git a/sql/storage/store.c b/sql/storage/store.c --- a/sql/storage/store.c +++ b/sql/storage/store.c @@ -1581,7 +1581,7 @@ dup_sql_type(sql_trans *tr, sql_schema * nc->digits = oc->digits; nc->scale = oc->scale; nc->type = oc->type; - if (nc->type->s) { /* user type */ + if (os && nc->type->s) { /* user type */ sql_type *lt = NULL; if (os->base.id == nc->type->s->base.id) { ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - merged with linear-hashing
Changeset: 1c2c1cbdd417 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=1c2c1cbdd417 Modified Files: sql/storage/store.c Branch: default Log Message: merged with linear-hashing diffs (12 lines): diff --git a/sql/storage/store.c b/sql/storage/store.c --- a/sql/storage/store.c +++ b/sql/storage/store.c @@ -1552,7 +1552,7 @@ dup_sql_type(sql_trans *tr, sql_schema * nc->digits = oc->digits; nc->scale = oc->scale; nc->type = oc->type; - if (nc->type->s) { /* user type */ + if (os && nc->type->s) { /* user type */ sql_type *lt = NULL; if (os->base.id == nc->type->s->base.id) { ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - approved output
Changeset: 975ab3c2d3e9 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=975ab3c2d3e9 Modified Files: clients/Tests/exports.stable.out clients/mapilib/monetdb-mapi.pc.in Branch: default Log Message: approved output diffs (44 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 @@ -300,10 +300,11 @@ ssize_t GDKstrFromStr(unsigned char *res str GDKstrdup(const char *s) __attribute__((__warn_unused_result__)); str GDKstrndup(const char *s, size_t n) __attribute__((__warn_unused_result__)); void GDKsyserror(_In_z_ _Printf_format_string_ const char *format, ...) __attribute__((__format__(__printf__, 1, 2))); -gdk_return GDKtracer_fill_comp_info(BAT *id, BAT *component, BAT *log_Level); +gdk_return GDKtracer_fill_comp_info(BAT *id, BAT *component, BAT *log_level); gdk_return GDKtracer_flush_buffer(void); char *GDKtracer_get_timestamp(const char *fmt, char *buf, size_t sz); gdk_return GDKtracer_log(LOG_LEVEL level, const char *fmt, ...) __attribute__((format(printf, 2, 3))); +void GDKtracer_reinit_basic(int sig); gdk_return GDKtracer_reset_adapter(void); gdk_return GDKtracer_reset_component_level(int comp); gdk_return GDKtracer_reset_flush_level(void); diff --git a/clients/mapilib/monetdb-mapi.pc.in b/clients/mapilib/monetdb-mapi.pc.in --- a/clients/mapilib/monetdb-mapi.pc.in +++ b/clients/mapilib/monetdb-mapi.pc.in @@ -2,17 +2,17 @@ # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. # -# Copyright 1997 - July 2008 CWI, August 2008 - 2020 MonetDB B.V. +# Copyright 1997 - July 2008 CWI, August 2008 - 2019 MonetDB B.V. -prefix=@prefix@ -exec_prefix=@exec_prefix@ -libdir=@libdir@ -includedir=@includedir@ +prefix=@CMAKE_INSTALL_PREFIX@ +exec_prefix=${exec_prefix} +libdir=${libdir} +includedir=${includedir} Name: monetdb-mapi Description: MonetDB MAPI C-client libary -Version: @PACKAGE_VERSION@ +Version: @MONETDB_VERSION@ Requires: monetdb-stream openssl -Libs: -L${libdir} -lmapi @SOCKET_LIBS@ +Libs: -L${libdir} -lmapi Cflags: -I${includedir}/monetdb ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - approved errors
Changeset: 45eb35eb1b38 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=45eb35eb1b38 Modified Files: monetdb5/tools/Tests/mserver5--help.stable.err monetdb5/tools/Tests/mserver5--help.stable.err.Windows Branch: default Log Message: approved errors diffs (22 lines): diff --git a/monetdb5/tools/Tests/mserver5--help.stable.err b/monetdb5/tools/Tests/mserver5--help.stable.err --- a/monetdb5/tools/Tests/mserver5--help.stable.err +++ b/monetdb5/tools/Tests/mserver5--help.stable.err @@ -13,6 +13,7 @@ stderr of test 'mserver5--help` in direc Usage: mserver5 [options] --dbpath= Specify database location --dbextra= Directory for transient BATs +--dbtrace= Directory for produced traces --in-memory Run database in-memory only --config=Use config_file to read options from --single-user Allow only one user at a time diff --git a/monetdb5/tools/Tests/mserver5--help.stable.err.Windows b/monetdb5/tools/Tests/mserver5--help.stable.err.Windows --- a/monetdb5/tools/Tests/mserver5--help.stable.err.Windows +++ b/monetdb5/tools/Tests/mserver5--help.stable.err.Windows @@ -8,6 +8,7 @@ stderr of test 'mserver5--help` in direc Usage: mserver5.exe [options] --dbpath= Specify database location --dbextra= Directory for transient BATs +--dbtrace= Directory for produced traces --in-memory Run database in-memory only --config=Use config_file to read options from --single-user Allow only one user at a time ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: hitchhiker - Optimizer start
Changeset: 8e11b67b43a4 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=8e11b67b43a4 Modified Files: monetdb5/optimizer/opt_hitchhiker.c Branch: hitchhiker Log Message: Optimizer start diffs (88 lines): diff --git a/monetdb5/optimizer/opt_hitchhiker.c b/monetdb5/optimizer/opt_hitchhiker.c --- a/monetdb5/optimizer/opt_hitchhiker.c +++ b/monetdb5/optimizer/opt_hitchhiker.c @@ -10,14 +10,80 @@ #include "opt_hitchhiker.h" #include "mal_interpreter.h" + + +static int +OPThitchhiker(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci) +{ +(void) cntxt; + (void) pci; + (void) stk; +(void) mb; +return 0; +} + + str OPThitchhikerImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci) { (void) cntxt; -(void) mb; -(void) stk; -(void) pci; + +str modnme; + str fcnnme; +str msg; +Symbol s = NULL; +int actions = 0; +char buf[256]; +lng clk= GDKusec(); + +if(pci) +removeInstruction(mb, pci); + +if(pci && pci->argc > 1){ +if( getArgType(mb, pci, 1) != TYPE_str || +getArgType(mb, pci, 2) != TYPE_str || +!isVarConstant(mb, getArg(pci, 1)) || +!isVarConstant(mb, getArg(pci, 2)) +) { +throw(MAL, "optimizer.hitchhiker", ILLARG_CONSTANTS); +} +if(stk != 0) { +modnme = *getArgReference_str(stk, pci, 1); +fcnnme = *getArgReference_str(stk, pci, 2); +} else { +modnme = getArgDefault(mb, pci, 1); +fcnnme = getArgDefault(mb, pci, 2); +} +s = findSymbol(cntxt->usermodule, putName(modnme), putName(fcnnme)); -str msg = MAL_SUCCEED; +if(s == NULL) { +char buf[1024]; +snprintf(buf, 1024, "%s.%s", modnme, fcnnme); +throw(MAL, "optimizer.hitchhiker", RUNTIME_OBJECT_UNDEFINED ":%s", buf); +} + +mb = s->def; +stk = 0; +} + +if(mb->errors) { +// when we have errors, we still want to see them +addtoMalBlkHistory(mb); +return MAL_SUCCEED; +} + +// number of successfull changes to the code +actions = OPThitchhiker(cntxt, mb, stk, pci); + +// defense line against incorrect plans +msg = chkTypes(cntxt->usermodule, mb, FALSE); +if(msg == MAL_SUCCEED) msg = chkFlow(mb); +if(msg == MAL_SUCCEED) msg = chkDeclarations(mb); + +clk = GDKusec() - clk; +snprintf(buf, 256, "%-20s actions=%2d time=" LLFMT " usec", "optimizer.hitchhiker", actions, clk); +newComment(mb,buf); +addtoMalBlkHistory(mb); + return msg; } ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - ifdef SIGHUP
Changeset: cde3d1278c6b for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=cde3d1278c6b Modified Files: tools/mserver/mserver5.c Branch: default Log Message: ifdef SIGHUP diffs (14 lines): diff --git a/tools/mserver/mserver5.c b/tools/mserver/mserver5.c --- a/tools/mserver/mserver5.c +++ b/tools/mserver/mserver5.c @@ -733,8 +733,10 @@ main(int argc, char **av) free(err); } +#ifdef SIGHUP // Register signal to GDKtracer (logrotate) signal(SIGHUP, GDKtracer_reinit_basic); +#endif #ifdef _MSC_VER printf("# MonetDB server is started. To stop server press Ctrl-C.\n"); ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list