MonetDB: mbedded - merged
Changeset: 54b3ccf00f0a for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=54b3ccf00f0a Modified Files: monetdb5/modules/mal/pcre.c sql/backends/monet5/sql_upgrades.c sql/server/rel_select.c sql/server/sql_env.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/emptydb/Tests/check.stable.out sql/test/emptydb/Tests/check.stable.out.32bit sql/test/emptydb/Tests/check.stable.out.int128 sql/test/miscellaneous/Tests/simple_selects.sql sql/test/miscellaneous/Tests/simple_selects.stable.err sql/test/subquery/Tests/subquery6.sql sql/test/subquery/Tests/subquery6.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 testing/Mtest.py.in Branch: mbedded Log Message: merged diffs (truncated from 1005 to 300 lines): diff --git a/monetdb5/modules/mal/pcre.c b/monetdb5/modules/mal/pcre.c --- a/monetdb5/modules/mal/pcre.c +++ b/monetdb5/modules/mal/pcre.c @@ -1451,8 +1451,8 @@ sql2pcre(str *r, const char *pat, const if (strlen(esc_str) > 1) throw(MAL, "pcre.sql2pcre", SQLSTATE(22019) ILLEGAL_ARGUMENT ": ESCAPE string must have length 1"); - if (pat == NULL ) - throw(MAL, "pcre.sql2pcre", OPERATION_FAILED); + if (pat == NULL) + throw(MAL, "pcre.sql2pcre", SQLSTATE(22019) ILLEGAL_ARGUMENT ": (I)LIKE pattern must not be NULL"); ppat = GDKmalloc(strlen(pat)*3+3 /* 3 = "^'the translated regexp'$0" */); if (ppat == NULL) throw(MAL, "pcre.sql2pcre", SQLSTATE(HY013) MAL_MALLOC_FAIL); @@ -1513,7 +1513,7 @@ sql2pcre(str *r, const char *pat, const GDKfree(*r); *r = NULL; if (escaped) - throw(MAL, "pcre.sql2pcre", OPERATION_FAILED); + throw(MAL, "pcre.sql2pcre", SQLSTATE(22019) ILLEGAL_ARGUMENT ": (I)LIKE pattern must not end with escape character"); *r = GDKstrdup(str_nil); if (*r == NULL) throw(MAL, "pcre.sql2pcre", SQLSTATE(HY013) MAL_MALLOC_FAIL); 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 @@ -216,15 +216,39 @@ sql_update_hugeint(Client c, mvc *sql, c "create aggregate stddev_samp(val HUGEINT) returns DOUBLE\n" " external name \"aggr\".\"stdev\";\n" "GRANT EXECUTE ON AGGREGATE stddev_samp(HUGEINT) TO PUBLIC;\n" + "create window stddev_samp(val HUGEINT) returns DOUBLE\n" + " external name \"sql\".\"stdev\";\n" + "GRANT EXECUTE ON WINDOW stddev_samp(HUGEINT) TO PUBLIC;\n" "create aggregate stddev_pop(val HUGEINT) returns DOUBLE\n" " external name \"aggr\".\"stdevp\";\n" "GRANT EXECUTE ON AGGREGATE stddev_pop(HUGEINT) TO PUBLIC;\n" + "create window stddev_pop(val HUGEINT) returns DOUBLE\n" + " external name \"sql\".\"stdevp\";\n" + "GRANT EXECUTE ON WINDOW stddev_pop(HUGEINT) TO PUBLIC;\n" "create aggregate var_samp(val HUGEINT) returns DOUBLE\n" " external name \"aggr\".\"variance\";\n" "GRANT EXECUTE ON AGGREGATE var_samp(HUGEINT) TO PUBLIC;\n" + "create window var_samp(val HUGEINT) returns DOUBLE\n" + " external name \"sql\".\"variance\";\n" + "GRANT EXECUTE ON WINDOW var_samp(HUGEINT) TO PUBLIC;\n" + "creat
MonetDB: mbedded - merged
Changeset: 49faaf14e163 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=49faaf14e163 Added Files: sql/test/Tests/hot_snapshot.py sql/test/Tests/hot_snapshot.stable.err sql/test/Tests/hot_snapshot.stable.out sql/test/Tests/hot_snapshot_bz2.py sql/test/Tests/hot_snapshot_bz2.stable.err sql/test/Tests/hot_snapshot_bz2.stable.out sql/test/Tests/hot_snapshot_gz.py sql/test/Tests/hot_snapshot_gz.stable.err sql/test/Tests/hot_snapshot_gz.stable.out sql/test/Tests/hot_snapshot_lz4.py sql/test/Tests/hot_snapshot_lz4.stable.err sql/test/Tests/hot_snapshot_lz4.stable.out sql/test/Tests/hot_snapshot_xz.py sql/test/Tests/hot_snapshot_xz.stable.err sql/test/Tests/hot_snapshot_xz.stable.out Removed Files: sql/test/Tests/hot-snapshot-bz2.py sql/test/Tests/hot-snapshot-bz2.stable.err sql/test/Tests/hot-snapshot-bz2.stable.out sql/test/Tests/hot-snapshot-gz.py sql/test/Tests/hot-snapshot-gz.stable.err sql/test/Tests/hot-snapshot-gz.stable.out sql/test/Tests/hot-snapshot-lz4.py sql/test/Tests/hot-snapshot-lz4.stable.err sql/test/Tests/hot-snapshot-lz4.stable.out sql/test/Tests/hot-snapshot-xz.py sql/test/Tests/hot-snapshot-xz.stable.err sql/test/Tests/hot-snapshot-xz.stable.out sql/test/Tests/hot-snapshot.py sql/test/Tests/hot-snapshot.stable.err sql/test/Tests/hot-snapshot.stable.out sql/test/Tests/hot_snapshot_compression.py Modified Files: clients/Tests/exports.stable.out common/stream/stream.c monetdb5/modules/mal/pcre.c sql/backends/monet5/sql_subquery.c sql/server/rel_optimizer.c sql/server/rel_select.c sql/server/rel_unnest.c sql/server/rel_unnest.h sql/server/sql_query.c sql/server/sql_query.h sql/storage/bat/bat_logger.c sql/storage/store.c sql/test/BugTracker-2011/Tests/crash_on_alias.Bug-2798.stable.out sql/test/BugTracker-2011/Tests/crash_on_alias.Bug-2798.stable.out.int128 sql/test/BugTracker-2013/Tests/syntaxerror.Bug-3399.stable.out sql/test/Tests/All sql/test/bugs/Tests/select_select_bug.stable.out sql/test/subquery/Tests/correlated.stable.out sql/test/subquery/Tests/subquery.stable.out sql/test/subquery/Tests/subquery3.stable.err sql/test/subquery/Tests/subquery3.stable.out sql/test/subquery/Tests/subquery4.stable.out sql/test/subquery/Tests/subquery5.stable.out sql/test/subquery/Tests/subquery6.sql sql/test/subquery/Tests/subquery6.stable.err sql/test/subquery/Tests/subquery6.stable.out Branch: mbedded Log Message: merged diffs (truncated from 1972 to 300 lines): diff --git a/clients/Tests/exports.stable.out b/clients/Tests/exports.stable.out --- a/clients/Tests/exports.stable.out +++ b/clients/Tests/exports.stable.out @@ -1690,8 +1690,8 @@ str MTIMEtimestamp_decade(int *ret, cons str MTIMEtimestamp_decade_bulk(bat *ret, const bat *bid); str MTIMEtimestamp_diff_msec(lng *ret, const timestamp *v1, const timestamp *v2); str MTIMEtimestamp_diff_msec_bulk(bat *ret, const bat *bid1, const bat *bid2); -str MTIMEtimestamp_diff_msec_bulk_p1(bat *ret, const timestamp *src1, const bat *bid2); -str MTIMEtimestamp_diff_msec_bulk_p2(bat *ret, const bat *bid1, const timestamp *src2); +str MTIMEtimestamp_diff_msec_bulk_p1(bat *ret, const timestamp *restrict src1, const bat *bid2); +str MTIMEtimestamp_diff_msec_bulk_p2(bat *ret, const bat *bid1, const timestamp *restrict src2); str MTIMEtimestamp_extract_date(date *ret, const timestamp *src); str MTIMEtimestamp_extract_date_bulk(bat *ret, const bat *bid); str MTIMEtimestamp_extract_daytime(daytime *ret, const timestamp *src); diff --git a/common/stream/stream.c b/common/stream/stream.c --- a/common/stream/stream.c +++ b/common/stream/stream.c @@ -1826,8 +1826,15 @@ stream_lz4close(stream *s) lz4_stream *lz4 = s->stream_data.p; if (lz4) { - stream_lz4flush(s); if(!s->readonly) { + char final_bytes[128]; // 4 would probably suffice + stream_lz4flush(s); + size_t remainder = LZ4F_compressEnd(lz4->context.comp_context, final_bytes, sizeof(final_bytes), NULL); + // no channel to return an error from here :( + if (!LZ4F_isError(remainder)) { + // again, hope for the best + (void) fwrite(final_bytes, 1, remainder, lz4->fp); + } (void) LZ4F_freeCompressionContext(lz4->context.comp_context); } else { (void) LZ4F_freeDecompressionContext(lz4->context.dec_context); diff --git a/monetdb5/modules/m
MonetDB: mbedded - merged
Changeset: 6d7549b05c69 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=6d7549b05c69 Modified Files: clients/Tests/exports.stable.out monetdb5/modules/atoms/blob.c monetdb5/modules/atoms/mtime.c Branch: mbedded Log Message: merged diffs (truncated from 619 to 300 lines): diff --git a/clients/Tests/exports.stable.out b/clients/Tests/exports.stable.out --- a/clients/Tests/exports.stable.out +++ b/clients/Tests/exports.stable.out @@ -1575,18 +1575,18 @@ str MTIMEcurrent_time(daytime *ret); str MTIMEcurrent_timestamp(timestamp *ret); str MTIMEdate_add_msec_interval(date *ret, const date *v1, const lng *v2); str MTIMEdate_add_msec_interval_bulk(bat *ret, const bat *bid1, const bat *bid2); -str MTIMEdate_add_msec_interval_bulk_p1(bat *ret, const date *src1, const bat *bid2); -str MTIMEdate_add_msec_interval_bulk_p2(bat *ret, const bat *bid1, const lng *src2); +str MTIMEdate_add_msec_interval_bulk_p1(bat *ret, const date *restrict src1, const bat *bid2); +str MTIMEdate_add_msec_interval_bulk_p2(bat *ret, const bat *bid1, const lng *restrict src2); str MTIMEdate_addmonths(date *ret, const date *v1, const int *v2); str MTIMEdate_addmonths_bulk(bat *ret, const bat *bid1, const bat *bid2); -str MTIMEdate_addmonths_bulk_p1(bat *ret, const date *src1, const bat *bid2); -str MTIMEdate_addmonths_bulk_p2(bat *ret, const bat *bid1, const int *src2); +str MTIMEdate_addmonths_bulk_p1(bat *ret, const date *restrict src1, const bat *bid2); +str MTIMEdate_addmonths_bulk_p2(bat *ret, const bat *bid1, const int *restrict src2); str MTIMEdate_date(date *ret, const date *src); str MTIMEdate_date_bulk(bat *ret, const bat *bid); str MTIMEdate_diff(int *ret, const date *v1, const date *v2); str MTIMEdate_diff_bulk(bat *ret, const bat *bid1, const bat *bid2); -str MTIMEdate_diff_bulk_p1(bat *ret, const date *src1, const bat *bid2); -str MTIMEdate_diff_bulk_p2(bat *ret, const bat *bid1, const date *src2); +str MTIMEdate_diff_bulk_p1(bat *ret, const date *restrict src1, const bat *bid2); +str MTIMEdate_diff_bulk_p2(bat *ret, const bat *bid1, const date *restrict src2); str MTIMEdate_extract_century(int *ret, const date *src); str MTIMEdate_extract_century_bulk(bat *ret, const bat *bid); str MTIMEdate_extract_day(int *ret, const date *src); @@ -1609,22 +1609,22 @@ str MTIMEdate_fromstr(date *ret, const s str MTIMEdate_fromstr_bulk(bat *ret, const bat *bid); str MTIMEdate_sub_msec_interval(date *ret, const date *v1, const lng *v2); str MTIMEdate_sub_msec_interval_bulk(bat *ret, const bat *bid1, const bat *bid2); -str MTIMEdate_sub_msec_interval_bulk_p1(bat *ret, const date *src1, const bat *bid2); -str MTIMEdate_sub_msec_interval_bulk_p2(bat *ret, const bat *bid1, const lng *src2); +str MTIMEdate_sub_msec_interval_bulk_p1(bat *ret, const date *restrict src1, const bat *bid2); +str MTIMEdate_sub_msec_interval_bulk_p2(bat *ret, const bat *bid1, const lng *restrict src2); str MTIMEdate_submonths(date *ret, const date *v1, const int *v2); str MTIMEdate_submonths_bulk(bat *ret, const bat *bid1, const bat *bid2); -str MTIMEdate_submonths_bulk_p1(bat *ret, const date *src1, const bat *bid2); -str MTIMEdate_submonths_bulk_p2(bat *ret, const bat *bid1, const int *src2); +str MTIMEdate_submonths_bulk_p1(bat *ret, const date *restrict src1, const bat *bid2); +str MTIMEdate_submonths_bulk_p2(bat *ret, const bat *bid1, const int *restrict src2); str MTIMEdate_to_str(str *ret, const date *v1, const str *v2); str MTIMEdate_to_str_bulk(bat *ret, const bat *bid1, const bat *bid2); -str MTIMEdate_to_str_bulk_p1(bat *ret, const date *src1, const bat *bid2); +str MTIMEdate_to_str_bulk_p1(bat *ret, const date *restrict src1, const bat *bid2); str MTIMEdate_to_str_bulk_p2(bat *ret, const bat *bid1, const str *src2); str MTIMEdaytime_daytime(daytime *ret, const daytime *src); str MTIMEdaytime_daytime_bulk(bat *ret, const bat *bid); str MTIMEdaytime_diff_msec(lng *ret, const daytime *v1, const daytime *v2); str MTIMEdaytime_diff_msec_bulk(bat *ret, const bat *bid1, const bat *bid2); -str MTIMEdaytime_diff_msec_bulk_p1(bat *ret, const daytime *src1, const bat *bid2); -str MTIMEdaytime_diff_msec_bulk_p2(bat *ret, const bat *bid1, const daytime *src2); +str MTIMEdaytime_diff_msec_bulk_p1(bat *ret, const daytime *restrict src1, const bat *bid2); +str MTIMEdaytime_diff_msec_bulk_p2(bat *ret, const bat *bid1, const daytime *restrict src2); str MTIMEdaytime_extract_hours(int *ret, const daytime *src); str MTIMEdaytime_extract_hours_bulk(bat *ret, const bat *bid); str MTIMEdaytime_extract_minutes(int *ret, const daytime *src); @@ -1664,24 +1664,24 @@ str MTIMEstr_to_timestamp_bulk_p1(bat *r str MTIMEstr_to_timestamp_bulk_p2(bat *ret, const bat *bid1, const str *src2); str MTIMEtime_add_msec_interval(daytime *ret, const daytime *v1, const lng *v2); str MTIMEtime_add_msec_interval_bulk(bat *ret, const bat *bid1, const bat *bid2); -str MTIMEtime_add_msec_interval_bulk_p1(
MonetDB: mbedded - merged with default
Changeset: 6790b3da660e for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=6790b3da660e Modified Files: clients/Tests/MAL-signatures.stable.out clients/Tests/MAL-signatures.stable.out.int128 clients/Tests/exports.stable.out monetdb5/modules/atoms/blob.c monetdb5/modules/atoms/mtime.c sql/server/rel_exp.c sql/server/rel_exp.h sql/server/rel_select.c sql/server/rel_unnest.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/emptydb/Tests/check.stable.out sql/test/emptydb/Tests/check.stable.out.32bit sql/test/emptydb/Tests/check.stable.out.int128 sql/test/miscellaneous/Tests/simple_plans.sql sql/test/miscellaneous/Tests/simple_plans.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/dump.stable.out.int128 sql/test/testdb-upgrade-hge/Tests/upgrade.stable.out.int128 sql/test/testdb-upgrade/Tests/dump.stable.out 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: mbedded Log Message: merged with default diffs (truncated from 137018 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 @@ -64,7 +64,7 @@ stdout of test 'MAL-signatures` in direc % .%1, .%1,.%1,.%1,.%1 # table_name % module, function, signature, address,comment # name % clob,clob, clob, clob, clob # type -% 12, 28, 364,39, 874 # length +% 12, 28, 364,42, 874 # length [ "aggr", "allnotequal", "command aggr.allnotequal(l:bat[:any_1], r:bat[:any_1]):bit ", "SQLallnotequal;", "if all values in r are not equal to l return true, else if r has nil nil else false" ] [ "aggr", "anyequal", "pattern aggr.anyequal(l:any_1, r:any_1):bit ", "CMDvarEQ;","" ] [ "aggr", "anyequal", "command aggr.anyequal(l:bat[:any_1], r:bat[:any_1]):bit ", "SQLanyequal;", "if any value in r is equal to l return true, else if r has nil nil else false" ] @@ -718,6 +718,7 @@ stdout of test 'MAL-signatures` in direc [ "batalgebra","not_ilike","command batalgebra.not_ilike(s:bat[:str], pat:str, esc:str):bat[:bit] ", "BATPCREnotilike;", "" ] [ "batalgebra","not_like", "command batalgebra.not_like(s:bat[:str], pat:str):bat[:bit] ", "BATPCREnotlike2;", "" ] [ "batalgebra","not_like", "command batalgebra.not_like(s:bat[:str], pat:str, esc:str):bat[:bit] ", "BATPCREnotlike;", "" ] +[ "batblob", "nitems", "command batblob.nitems(b:bat[:blob]):bat[:int] ", "BLOBnitems_bulk;", "" ] [ "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" ] @@ -8132,12 +8133,16 @@ stdout of test 'MAL-signatures` in direc [ "batcalc", "cmp", "pattern batcalc.cmp(v:str, b:bat[:str], r:bat[:bit]):bat[:bte] ", "CMDbatCMP;", "Return -1/0/1 if V B" ] [ "batcalc", "cmp", "pattern batcalc.cmp(v:str, b:bat[:str], s:bat[:oid]):bat[:bte] ", "CMDbatCMP;", "Return -1/0/1 if V B with candidates list" ] [ "batcalc", "cmp", "pattern batcalc.cmp(v:str, b:bat[:str], s:bat[:oid], r:bat[:bit]):bat[:bte] ", "CMDbatCMP;", "Return -1/0/1 if V B with candidates list" ] +[ "batcalc", "date", "command batcalc.date(d:bat[:date]):bat[:date] ", "MT
MonetDB: mbedded - merged with default
Changeset: b652fcc5491a for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=b652fcc5491a Modified Files: clients/Tests/exports.stable.out monetdb5/modules/atoms/blob.c monetdb5/modules/atoms/mtime.c Branch: mbedded Log Message: merged with default diffs (truncated from 852 to 300 lines): diff --git a/clients/Tests/exports.stable.out b/clients/Tests/exports.stable.out --- a/clients/Tests/exports.stable.out +++ b/clients/Tests/exports.stable.out @@ -1575,12 +1575,12 @@ str MTIMEcurrent_time(daytime *ret); str MTIMEcurrent_timestamp(timestamp *ret); str MTIMEdate_add_msec_interval(date *ret, const date *v1, const lng *v2); str MTIMEdate_add_msec_interval_bulk(bat *ret, const bat *bid1, const bat *bid2); -str MTIMEdate_add_msec_interval_bulk_p1(bat *ret, const date *v1, const bat *bid2); -str MTIMEdate_add_msec_interval_bulk_p2(bat *ret, const bat *bid1, const lng *v2); +str MTIMEdate_add_msec_interval_bulk_p1(bat *ret, const date *src1, const bat *bid2); +str MTIMEdate_add_msec_interval_bulk_p2(bat *ret, const bat *bid1, const lng *src2); str MTIMEdate_addmonths(date *ret, const date *v1, const int *v2); str MTIMEdate_addmonths_bulk(bat *ret, const bat *bid1, const bat *bid2); -str MTIMEdate_addmonths_bulk_p1(bat *ret, const date *v1, const bat *bid2); -str MTIMEdate_addmonths_bulk_p2(bat *ret, const bat *bid1, const int *v2); +str MTIMEdate_addmonths_bulk_p1(bat *ret, const date *src1, const bat *bid2); +str MTIMEdate_addmonths_bulk_p2(bat *ret, const bat *bid1, const int *src2); str MTIMEdate_date(date *ret, const date *src); str MTIMEdate_date_bulk(bat *ret, const bat *bid); str MTIMEdate_diff(int *ret, const date *v1, const date *v2); @@ -1609,12 +1609,12 @@ str MTIMEdate_fromstr(date *ret, const s str MTIMEdate_fromstr_bulk(bat *ret, const bat *bid); str MTIMEdate_sub_msec_interval(date *ret, const date *v1, const lng *v2); str MTIMEdate_sub_msec_interval_bulk(bat *ret, const bat *bid1, const bat *bid2); -str MTIMEdate_sub_msec_interval_bulk_p1(bat *ret, const date *v1, const bat *bid2); -str MTIMEdate_sub_msec_interval_bulk_p2(bat *ret, const bat *bid1, const lng *v2); +str MTIMEdate_sub_msec_interval_bulk_p1(bat *ret, const date *src1, const bat *bid2); +str MTIMEdate_sub_msec_interval_bulk_p2(bat *ret, const bat *bid1, const lng *src2); str MTIMEdate_submonths(date *ret, const date *v1, const int *v2); str MTIMEdate_submonths_bulk(bat *ret, const bat *bid1, const bat *bid2); -str MTIMEdate_submonths_bulk_p1(bat *ret, const date *v1, const bat *bid2); -str MTIMEdate_submonths_bulk_p2(bat *ret, const bat *bid1, const int *v2); +str MTIMEdate_submonths_bulk_p1(bat *ret, const date *src1, const bat *bid2); +str MTIMEdate_submonths_bulk_p2(bat *ret, const bat *bid1, const int *src2); str MTIMEdate_to_str(str *ret, const date *v1, const str *v2); str MTIMEdate_to_str_bulk(bat *ret, const bat *bid1, const bat *bid2); str MTIMEdate_to_str_bulk_p1(bat *ret, const date *src1, const bat *bid2); @@ -1676,12 +1676,12 @@ str MTIMEtime_to_str_bulk_p1(bat *ret, c str MTIMEtime_to_str_bulk_p2(bat *ret, const bat *bid1, const str *src2); str MTIMEtimestamp_add_month_interval(timestamp *ret, const timestamp *v1, const int *v2); str MTIMEtimestamp_add_month_interval_bulk(bat *ret, const bat *bid1, const bat *bid2); -str MTIMEtimestamp_add_month_interval_bulk_p1(bat *ret, const timestamp *v1, const bat *bid2); -str MTIMEtimestamp_add_month_interval_bulk_p2(bat *ret, const bat *bid1, const int *v2); +str MTIMEtimestamp_add_month_interval_bulk_p1(bat *ret, const timestamp *src1, const bat *bid2); +str MTIMEtimestamp_add_month_interval_bulk_p2(bat *ret, const bat *bid1, const int *src2); str MTIMEtimestamp_add_msec_interval(timestamp *ret, const timestamp *v1, const lng *v2); str MTIMEtimestamp_add_msec_interval_bulk(bat *ret, const bat *bid1, const bat *bid2); -str MTIMEtimestamp_add_msec_interval_bulk_p1(bat *ret, const timestamp *v1, const bat *bid2); -str MTIMEtimestamp_add_msec_interval_bulk_p2(bat *ret, const bat *bid1, const lng *v2); +str MTIMEtimestamp_add_msec_interval_bulk_p1(bat *ret, const timestamp *src1, const bat *bid2); +str MTIMEtimestamp_add_msec_interval_bulk_p2(bat *ret, const bat *bid1, const lng *src2); str MTIMEtimestamp_century(int *ret, const timestamp *src); str MTIMEtimestamp_century_bulk(bat *ret, const bat *bid); str MTIMEtimestamp_day(int *ret, const timestamp *src); @@ -1716,12 +1716,12 @@ str MTIMEtimestamp_sql_seconds(int *ret, str MTIMEtimestamp_sql_seconds_bulk(bat *ret, const bat *bid); str MTIMEtimestamp_sub_month_interval(timestamp *ret, const timestamp *v1, const int *v2); str MTIMEtimestamp_sub_month_interval_bulk(bat *ret, const bat *bid1, const bat *bid2); -str MTIMEtimestamp_sub_month_interval_bulk_p1(bat *ret, const timestamp *v1, const bat *bid2); -str MTIMEtimestamp_sub_month_interval_bulk_p2(bat *ret, const bat *bid1, const int *v2); +str MTIMEtimestamp_sub_month_interval_bulk_p1
MonetDB: mbedded - merged
Changeset: 79ce4f850347 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=79ce4f850347 Modified Files: clients/Tests/exports.stable.out monetdb5/modules/atoms/mtime.c monetdb5/modules/atoms/mtime.mal monetdb5/modules/mal/batmtime.mal.sh sql/test/BugTracker-2019/Tests/duplicates-not-eliminated-long-CASE-stmt.Bug-6697.stable.out sql/test/BugTracker-2019/Tests/duplicates-not-eliminated-long-CASE-stmt.Bug-6697.stable.out.single Branch: mbedded Log Message: merged diffs (truncated from 821 to 300 lines): diff --git a/clients/Tests/exports.stable.out b/clients/Tests/exports.stable.out --- a/clients/Tests/exports.stable.out +++ b/clients/Tests/exports.stable.out @@ -1575,12 +1575,18 @@ str MTIMEcurrent_time(daytime *ret); str MTIMEcurrent_timestamp(timestamp *ret); str MTIMEdate_add_msec_interval(date *ret, const date *v1, const lng *v2); str MTIMEdate_add_msec_interval_bulk(bat *ret, const bat *bid1, const bat *bid2); +str MTIMEdate_add_msec_interval_bulk_p1(bat *ret, const date *v1, const bat *bid2); +str MTIMEdate_add_msec_interval_bulk_p2(bat *ret, const bat *bid1, const lng *v2); str MTIMEdate_addmonths(date *ret, const date *v1, const int *v2); str MTIMEdate_addmonths_bulk(bat *ret, const bat *bid1, const bat *bid2); +str MTIMEdate_addmonths_bulk_p1(bat *ret, const date *v1, const bat *bid2); +str MTIMEdate_addmonths_bulk_p2(bat *ret, const bat *bid1, const int *v2); str MTIMEdate_date(date *ret, const date *src); str MTIMEdate_date_bulk(bat *ret, const bat *bid); str MTIMEdate_diff(int *ret, const date *v1, const date *v2); str MTIMEdate_diff_bulk(bat *ret, const bat *bid1, const bat *bid2); +str MTIMEdate_diff_bulk_p1(bat *ret, const date *src1, const bat *bid2); +str MTIMEdate_diff_bulk_p2(bat *ret, const bat *bid1, const date *src2); str MTIMEdate_extract_century(int *ret, const date *src); str MTIMEdate_extract_century_bulk(bat *ret, const bat *bid); str MTIMEdate_extract_day(int *ret, const date *src); @@ -1599,18 +1605,26 @@ str MTIMEdate_extract_weekofyear(int *re str MTIMEdate_extract_weekofyear_bulk(bat *ret, const bat *bid); str MTIMEdate_extract_year(int *ret, const date *src); str MTIMEdate_extract_year_bulk(bat *ret, const bat *bid); -str MTIMEdate_fromstr(date *ret, const const char *const *src); +str MTIMEdate_fromstr(date *ret, const str *src); str MTIMEdate_fromstr_bulk(bat *ret, const bat *bid); str MTIMEdate_sub_msec_interval(date *ret, const date *v1, const lng *v2); str MTIMEdate_sub_msec_interval_bulk(bat *ret, const bat *bid1, const bat *bid2); +str MTIMEdate_sub_msec_interval_bulk_p1(bat *ret, const date *v1, const bat *bid2); +str MTIMEdate_sub_msec_interval_bulk_p2(bat *ret, const bat *bid1, const lng *v2); str MTIMEdate_submonths(date *ret, const date *v1, const int *v2); str MTIMEdate_submonths_bulk(bat *ret, const bat *bid1, const bat *bid2); -str MTIMEdate_to_str(str *ret, const const date *v1, const const char *const *v2); +str MTIMEdate_submonths_bulk_p1(bat *ret, const date *v1, const bat *bid2); +str MTIMEdate_submonths_bulk_p2(bat *ret, const bat *bid1, const int *v2); +str MTIMEdate_to_str(str *ret, const date *v1, const str *v2); str MTIMEdate_to_str_bulk(bat *ret, const bat *bid1, const bat *bid2); +str MTIMEdate_to_str_bulk_p1(bat *ret, const date *src1, const bat *bid2); +str MTIMEdate_to_str_bulk_p2(bat *ret, const bat *bid1, const str *src2); str MTIMEdaytime_daytime(daytime *ret, const daytime *src); str MTIMEdaytime_daytime_bulk(bat *ret, const bat *bid); str MTIMEdaytime_diff_msec(lng *ret, const daytime *v1, const daytime *v2); str MTIMEdaytime_diff_msec_bulk(bat *ret, const bat *bid1, const bat *bid2); +str MTIMEdaytime_diff_msec_bulk_p1(bat *ret, const daytime *src1, const bat *bid2); +str MTIMEdaytime_diff_msec_bulk_p2(bat *ret, const bat *bid1, const daytime *src2); str MTIMEdaytime_extract_hours(int *ret, const daytime *src); str MTIMEdaytime_extract_hours_bulk(bat *ret, const bat *bid); str MTIMEdaytime_extract_minutes(int *ret, const daytime *src); @@ -1619,7 +1633,7 @@ str MTIMEdaytime_extract_sql_seconds(int str MTIMEdaytime_extract_sql_seconds_bulk(bat *ret, const bat *bid); str MTIMEdaytime_fromseconds(daytime *ret, const const lng *src); str MTIMEdaytime_fromseconds_bulk(bat *ret, const bat *bid); -str MTIMEdaytime_fromstr(daytime *ret, const const char *const *src); +str MTIMEdaytime_fromstr(daytime *ret, const str *src); str MTIMEdaytime_fromstr_bulk(bat *ret, const bat *bid); str MTIMElocal_timezone_msec(lng *ret); str MTIMEseconds_since_epoch(int *ret, const timestamp *src); @@ -1636,22 +1650,38 @@ str MTIMEsql_seconds(int *ret, const lng str MTIMEsql_seconds_bulk(bat *ret, const bat *bid); str MTIMEsql_year(int *ret, const int *src); str MTIMEsql_year_bulk(bat *ret, const bat *bid); -str MTIMEstr_to_date(date *ret, const const char *const *v1, const const char *const *v2); +str MTIMEstr_to_date(date *ret, const str *v1, cons
MonetDB: mbedded - merged with default ....
Changeset: ad70d442b192 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=ad70d442b192 Added Files: sql/server/sql_var.c sql/test/scoping/Tests/All sql/test/scoping/Tests/SingleServer sql/test/scoping/Tests/ambiguity.sql sql/test/scoping/Tests/ambiguity.stable.err sql/test/scoping/Tests/ambiguity.stable.out sql/test/scoping/Tests/predefinedvariable.sql sql/test/scoping/Tests/predefinedvariable.stable.err sql/test/scoping/Tests/predefinedvariable.stable.out sql/test/scoping/Tests/schema_disambiguity.sql sql/test/scoping/Tests/schema_disambiguity.stable.err sql/test/scoping/Tests/schema_disambiguity.stable.out sql/test/scoping/Tests/scoping01.sql sql/test/scoping/Tests/scoping01.stable.err sql/test/scoping/Tests/scoping01.stable.out sql/test/scoping/Tests/scoping02.sql sql/test/scoping/Tests/scoping02.stable.err sql/test/scoping/Tests/scoping02.stable.out sql/test/scoping/Tests/scoping03.sql sql/test/scoping/Tests/scoping03.stable.err sql/test/scoping/Tests/scoping03.stable.out Removed Files: sql/test/Tests/fsum1.stable.out Modified Files: .bumpversion.cfg .hgtags MonetDB.spec NT/monetdb_config.h.in NT/rules.msc clients/Tests/MAL-signatures.stable.out clients/Tests/MAL-signatures.stable.out.int128 clients/Tests/exports.stable.out clients/mapiclient/mhelp.c clients/mapilib/mapi.rc clients/odbc/driver/driver.rc clients/odbc/winsetup/setup.rc debian/changelog gdk/gdk_time.c gdk/gdk_time.h gdk/libbat.rc monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.sql monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out.Windows monetdb5/modules/atoms/mtime.c monetdb5/modules/atoms/mtime.mal monetdb5/modules/mal/batmtime.mal monetdb5/tools/libmonetdb5.rc sql/ChangeLog sql/backends/monet5/rel_bin.c sql/backends/monet5/sql.c sql/backends/monet5/sql.mal sql/backends/monet5/sql_cat.c sql/backends/monet5/sql_execute.c sql/backends/monet5/sql_gencode.c sql/backends/monet5/sql_optimizer.c sql/backends/monet5/sql_orderidx.c sql/backends/monet5/sql_result.c sql/backends/monet5/sql_scenario.c sql/backends/monet5/sql_statement.c sql/backends/monet5/sql_statement.h sql/backends/monet5/sql_statistics.c sql/backends/monet5/sql_upgrades.c sql/backends/monet5/sql_user.c sql/common/sql_hash.c sql/common/sql_list.c sql/include/sql_catalog.h sql/include/sql_hash.h sql/include/sql_relation.h sql/rel.txt sql/server/CMakeLists.txt sql/server/rel_dump.c sql/server/rel_exp.c sql/server/rel_exp.h sql/server/rel_psm.c sql/server/rel_rel.c sql/server/rel_schema.c sql/server/rel_schema.h sql/server/rel_select.c sql/server/rel_semantic.c sql/server/rel_sequence.c sql/server/rel_updates.c sql/server/sql_env.c sql/server/sql_env.h sql/server/sql_mvc.c sql/server/sql_mvc.h sql/server/sql_parser.y sql/server/sql_privileges.c sql/server/sql_privileges.h sql/server/sql_scan.c sql/server/sql_semantic.c sql/server/sql_semantic.h sql/storage/sql_storage.h sql/storage/store.c sql/test/BugConstraints/add_constraint_1643522.sql sql/test/BugDay_2005-10-06_2.9.3/Tests/UNION_JOIN_vs_plain_set_UNION-2.SF-920585.sql sql/test/BugTracker-2009/Tests/set_and_arg_null.SF-2812729.sql sql/test/BugTracker-2009/Tests/set_and_arg_null.SF-2812729.stable.out sql/test/BugTracker-2010/Tests/predicate_in_select.Bug-2535.sql sql/test/BugTracker-2010/Tests/with_row_number_crash.Bug-2631.sql sql/test/BugTracker-2012/Tests/not-equal-Bug.3139.sql sql/test/BugTracker-2012/Tests/not-equal-Bug.3139.stable.out sql/test/BugTracker-2012/Tests/now_results_in_illegal_argument.Bug-2978.sql sql/test/BugTracker-2012/Tests/now_results_in_illegal_argument.Bug-2978.stable.out sql/test/BugTracker-2013/Tests/nested_concat_query.Bug-3408.sql sql/test/BugTracker-2013/Tests/nested_concat_query.Bug-3408.stable.out sql/test/BugTracker-2014/Tests/current_timestamp.Bug-3427.sql sql/test/BugTracker-2014/Tests/current_timestamp.Bug-3427.stable.err sql/test/BugTracker-2014/Tests/current_timestamp.Bug-3427.stable.out sql/test/BugTracker-2015/Tests/long_insert.Bug-3845.sql sql/test/BugTracker-2015/Tests/schema-trigger.Bug-3710.sql sql/test/
MonetDB: mbedded - merged with default
Changeset: 74c729009c37 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=74c729009c37 Modified Files: sql/backends/monet5/UDF/pyapi3/connection3.c sql/backends/monet5/UDF/pyapi3/convert_loops.h sql/backends/monet5/UDF/pyapi3/formatinput3.c sql/backends/monet5/UDF/pyapi3/pyapi3.c sql/backends/monet5/UDF/pyapi3/pyheader.h sql/backends/monet5/UDF/pyapi3/pytypes3.c sql/backends/monet5/UDF/pyapi3/type_conversion.h sql/backends/monet5/UDF/pyapi3/type_conversion3.c sql/backends/monet5/sql.mal testing/malcheck.py Branch: mbedded Log Message: merged with default diffs (truncated from 337 to 300 lines): diff --git a/sql/backends/monet5/UDF/pyapi3/connection3.c b/sql/backends/monet5/UDF/pyapi3/connection3.c --- a/sql/backends/monet5/UDF/pyapi3/connection3.c +++ b/sql/backends/monet5/UDF/pyapi3/connection3.c @@ -21,23 +21,8 @@ CREATE_SQL_FUNCTION_PTR(str, append_to_t static PyObject *_connection_execute(Py_ConnectionObject *self, PyObject *args) { char *query = NULL; -#ifndef IS_PY3K - if (PyUnicode_CheckExact(args)) { - PyObject* str = PyUnicode_AsUTF8String(args); - if (!str) { - PyErr_Format(PyExc_Exception, "Unicode failure."); - return NULL; - } - query = GDKstrdup(((PyStringObject *)str)->ob_sval); - Py_DECREF(str); - } else -#endif if (PyString_CheckExact(args)) { -#ifndef IS_PY3K - query = GDKstrdup(((PyStringObject *)args)->ob_sval); -#else query = GDKstrdup(PyUnicode_AsUTF8(args)); -#endif } else { PyErr_Format(PyExc_TypeError, "expected a query string, but got an object of type %s", diff --git a/sql/backends/monet5/UDF/pyapi3/convert_loops.h b/sql/backends/monet5/UDF/pyapi3/convert_loops.h --- a/sql/backends/monet5/UDF/pyapi3/convert_loops.h +++ b/sql/backends/monet5/UDF/pyapi3/convert_loops.h @@ -463,7 +463,7 @@ convert_and_append(BAT* b, const char* t goto wrapup; \ } \ } else { \ - if (!string_copy(&data[(index_offset * ret->count + iu) * \ + if (!pyapi3_string_copy(&data[(index_offset * ret->count + iu) * \ ret->memory_size], \ utf8_string, ret->memory_size, false)) { \ msg = createException(MAL, "pyapi3.eval", \ diff --git a/sql/backends/monet5/UDF/pyapi3/formatinput3.c b/sql/backends/monet5/UDF/pyapi3/formatinput3.c --- a/sql/backends/monet5/UDF/pyapi3/formatinput3.c +++ b/sql/backends/monet5/UDF/pyapi3/formatinput3.c @@ -107,14 +107,7 @@ char *FormatCode(char *code, char **args char base_start[] = "def pyfun("; char base_end[] = "):\n"; *msg = NULL; -#ifndef IS_PY3K - if (code[1] == '@') { - *code_object = PyCodeObject_ParseString(code, msg); - return NULL; - } -#else (void)code_object; -#endif indentation_levels = (size_t *)GDKzalloc(max_indentation * sizeof(size_t)); statements_per_level = diff --git a/sql/backends/monet5/UDF/pyapi3/pyapi3.c b/sql/backends/monet5/UDF/pyapi3/pyapi3.c --- a/sql/backends/monet5/UDF/pyapi3/pyapi3.c +++ b/sql/backends/monet5/UDF/pyapi3/pyapi3.c @@ -985,11 +985,7 @@ static str PyAPIeval(Client cntxt, MalBl colname->ob_type->tp_name); goto wrapup; } -#ifndef IS_PY3K - retnames[i] = ((PyStringObject *)colname)->ob_sval; -#else retnames[i] = (char *) PyUnicode_AsUTF8(colname); -#endif } } pResult = @@ -1328,12 +1324,8 @@ PYFUNCNAME(PyAPIprelude)(void *ret) { (void) ret; MT_lock_set(&pyapiLock); if (!pyapiInitialized) { -#ifdef IS_PY3K wchar_t* program = Py_DecodeLocale("mserver5", NULL); wchar_t* argv[] = { program }; -#else - char* argv[] = {"mserver5"}; -#endif str msg = MAL_SUCCEED; PyObject *tmp; Py_Initialize(); @@ -1374,13 +1366,7 @@ PYFUNCNAME(PyAPIprelude)(void *ret) { return msg
MonetDB: mbedded - merged with default
Changeset: 0d6d630ffcee for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=0d6d630ffcee Added Files: sql/test/Tests/hot-snapshot-bz2.py sql/test/Tests/hot-snapshot-bz2.stable.err sql/test/Tests/hot-snapshot-bz2.stable.out sql/test/Tests/hot-snapshot-gz.py sql/test/Tests/hot-snapshot-gz.stable.err sql/test/Tests/hot-snapshot-gz.stable.out sql/test/Tests/hot-snapshot-lz4.py sql/test/Tests/hot-snapshot-lz4.stable.err sql/test/Tests/hot-snapshot-lz4.stable.out sql/test/Tests/hot-snapshot-xz.py sql/test/Tests/hot-snapshot-xz.stable.err sql/test/Tests/hot-snapshot-xz.stable.out sql/test/Tests/hot_snapshot_compression.py Modified Files: .bumpversion.cfg .hgtags MonetDB.spec NT/monetdb_config.h.in NT/rules.msc clients/Tests/MAL-signatures.stable.out clients/Tests/MAL-signatures.stable.out.int128 clients/Tests/exports.stable.out clients/Tests/mclient-uri.stable.out clients/Tests/mclient-uri.stable.out.Windows clients/examples/perl/sqlsample.pl clients/examples/python/sqlsample.py clients/mapiclient/mclient.c clients/mapilib/mapi.rc clients/odbc/driver/driver.rc clients/odbc/winsetup/setup.rc common/stream/stream.c debian/changelog debian/monetdb5-sql.postinst gdk/gdk_aggr.c gdk/gdk_bbp.c gdk/gdk_calc.c gdk/gdk_calc.h gdk/gdk_logger.c gdk/gdk_storage.c gdk/gdk_string.c gdk/gdk_value.c gdk/libbat.rc geom/sql/pg_regression/Tests/dump.stable.out monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out.Windows monetdb5/mal/Tests/tst1506.stable.out monetdb5/mal/mal_errors.h monetdb5/mal/mal_exception.c monetdb5/modules/atoms/mtime.c monetdb5/modules/mal/batcalc.c monetdb5/modules/mal/calc.c monetdb5/modules/mal/mal_mapi.c monetdb5/optimizer/opt_remap.c monetdb5/tools/libmonetdb5.rc sql/ChangeLog-Archive sql/backends/monet5/Tests/optimizers.stable.out sql/backends/monet5/Tests/rapi09.stable.out sql/backends/monet5/Tests/simpleSQL.stable.out sql/backends/monet5/UDF/udf/Tests/udf-fuse.stable.out sql/backends/monet5/UDF/udf/Tests/udf-reverse.stable.out sql/backends/monet5/rel_bin.c sql/backends/monet5/sql.c sql/backends/monet5/sql.h sql/backends/monet5/sql.mal sql/backends/monet5/sql_bat2time.c sql/backends/monet5/sql_cast.c sql/backends/monet5/sql_cast.h sql/backends/monet5/sql_cast_impl_down_from_flt.h sql/backends/monet5/sql_cast_impl_int.h sql/backends/monet5/sql_cast_impl_up_to_flt.h sql/backends/monet5/sql_decimal.mal sql/backends/monet5/sql_decimal.mal.sh sql/backends/monet5/sql_decimal_hge.mal sql/backends/monet5/sql_decimal_hge.mal.sh sql/backends/monet5/sql_hge.mal sql/backends/monet5/sql_round_impl.h sql/backends/monet5/sql_statement.c sql/backends/monet5/sql_statement.h sql/common/sql_types.c sql/jdbc/tests/Tests/Test_PSmetadata.stable.out sql/server/rel_exp.c sql/server/rel_optimizer.c sql/server/rel_rewriter.c sql/server/rel_rewriter.h sql/server/rel_select.c sql/server/rel_unnest.c sql/server/sql_atom.c sql/storage/bat/bat_table.c sql/storage/store.c sql/test/BugDay_2005-10-06_2.8/Tests/select_null.stable.out sql/test/BugDay_2005-10-06_2.8/Tests/string_quotes.SF-919539.stable.out sql/test/BugDay_2005-10-06_2.9.3/Tests/basic_arithmetics.SF-922252.stable.out sql/test/BugDay_2005-10-06_2.9.3/Tests/select_not_true.SF-1314945.stable.out sql/test/BugDay_2005-10-06_2.9.3/Tests/set_types.SF-932360.stable.out sql/test/BugDay_2005-11-09_2.8/Tests/overflow_checking.SF-1089334.stable.err sql/test/BugDay_2005-12-19_2.9.3/Tests/cast_bigint_to_int.SF-1211903.stable.out sql/test/BugTracker-2009/Tests/AVG_of_SQRT.SF-2757642.stable.out sql/test/BugTracker-2009/Tests/BOM.SF-2787813.stable.out sql/test/BugTracker-2009/Tests/Division_by_zero_error.SF-2791361.stable.out sql/test/BugTracker-2009/Tests/Floating_point_exception.SF-2791356.stable.out sql/test/BugTracker-2009/Tests/addmonths_missing.SF-2854949.stable.out sql/test/BugTracker-2009/Tests/arithmetic-small-values-null.SF-2921310.stable.out sql/test/BugTracker-2009/Tests/bit_and.SF-2850341.stable.out.int128 sql/test/BugTracker-2009/Tests/coercion.stable.out sql/test/BugTracker-2009/Tests/count_bug.SF-2604583.stable.out sql/test/BugTracker-20
MonetDB: mbedded - merged
Changeset: e0a47d761f64 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=e0a47d761f64 Modified Files: cmake/monetdb-defines.cmake monetdb_config.h.in monetdb_config_win32.h.in Branch: mbedded Log Message: merged diffs (truncated from 437 to 300 lines): diff --git a/cmake/monetdb-defines.cmake b/cmake/monetdb-defines.cmake --- a/cmake/monetdb-defines.cmake +++ b/cmake/monetdb-defines.cmake @@ -11,6 +11,7 @@ # additional variables, for example for legacy defines, do this # in the "monetdb_macro_variables" macro. function(monetdb_configure_defines) + find_path(HAVE_SYS_TYPES_H "sys/types.h") find_path(HAVE_DISPATCH_DISPATCH_H "dispatch/dispatch.h") find_path(HAVE_DLFCN_H "dlfcn.h") find_path(HAVE_FCNTL_H "fcntl.h") @@ -31,7 +32,7 @@ function(monetdb_configure_defines) find_path(HAVE_STROPTS_H "stropts.h") find_path(HAVE_SYS_FILE_H "sys/file.h") find_path(HAVE_SYS_IOCTL_H "sys/ioctl.h") - find_path(HAVE_SYS_IOCTL_H "sys/sysctl.h") + find_path(HAVE_SYS_SYSCTL_H "sys/sysctl.h") find_path(HAVE_SYS_MMAN_H "sys/mman.h") find_path(HAVE_SYS_PARAM_H "sys/param.h") find_path(HAVE_SYS_RESOURCE_H "sys/resource.h") @@ -44,7 +45,6 @@ function(monetdb_configure_defines) find_path(HAVE_UNISTD_H "unistd.h") find_path(HAVE_UUID_UUID_H "uuid/uuid.h") find_path(HAVE_WINSOCK_H "winsock2.h") - find_path(HAVE_SYS_TYPES_H "sys/types.h") find_path(HAVE_SEMAPHORE_H "semaphore.h") find_path(HAVE_GETOPT_H "getopt.h") diff --git a/monetdb_config.h.in b/monetdb_config.h.in --- a/monetdb_config.h.in +++ b/monetdb_config.h.in @@ -26,7 +26,7 @@ #include #include -#cmakedefine HAVE_DIRENT_H @HAVE_DIRENT_H@ +// Section: monetdb configure defines #cmakedefine HAVE_DISPATCH_DISPATCH_H @HAVE_DISPATCH_DISPATCH_H@ #cmakedefine HAVE_DLFCN_H @HAVE_DLFCN_H@ #cmakedefine HAVE_FCNTL_H @HAVE_FCNTL_H@ @@ -52,9 +52,7 @@ #cmakedefine HAVE_SYS_MMAN_H @HAVE_SYS_MMAN_H@ #cmakedefine HAVE_SYS_PARAM_H @HAVE_SYS_PARAM_H@ #cmakedefine HAVE_SYS_RESOURCE_H @HAVE_SYS_RESOURCE_H@ -#cmakedefine HAVE_SYS_SOCKET_H @HAVE_SYS_SOCKET_H@ #cmakedefine HAVE_SYS_TIME_H @HAVE_SYS_TIME_H@ -#cmakedefine HAVE_GETTIMEOFDAY @HAVE_SYS_TIME_H@ #cmakedefine HAVE_SYS_TIMES_H @HAVE_SYS_TIMES_H@ #cmakedefine HAVE_SYS_UIO_H @HAVE_SYS_UIO_H@ #cmakedefine HAVE_SYS_UN_H @HAVE_SYS_UN_H@ @@ -64,49 +62,18 @@ #cmakedefine HAVE_UNISTD_H 1 #cmakedefine HAVE_UUID_UUID_H @HAVE_UUID_UUID_H@ #cmakedefine HAVE_WINSOCK_H @HAVE_WINSOCK_H@ - #cmakedefine HAVE_SEMAPHORE_H @HAVE_SEMAPHORE_H@ - -#cmakedefine HAVE_SYS_STAT_H @HAVE_SYS_STAT_H@ -#cmakedefine HAVE_GETADDRINFO @HAVE_GETADDRINFO@ +#cmakedefine HAVE_GETOPT_H @HAVE_GETOPT_H@ -#define ICONV_CONST -#cmakedefine HAVE_PTHREAD_KILL @HAVE_PTHREAD_KILL@ -#cmakedefine HAVE_PTHREAD_SIGMASK @HAVE_PTHREAD_SIGMASK@ -#cmakedefine HAVE_LOCALTIME_R @HAVE_LOCALTIME_R@ -#cmakedefine HAVE_STRERROR_R @HAVE_STRERROR_R@ - -// Section: monetdb configure defines #cmakedefine HAVE_STDATOMIC_H @HAVE_STDATOMIC_H@ -#cmakedefine HAVE_GETOPT_H @HAVE_GETOPT_H@ -#cmakedefine HAVE_GETOPT @HAVE_GETOPT@ -// End Section: monetdb configure defines -// Section: monetdb macro variables -#cmakedefine HAVE_ICONV @HAVE_ICONV@ -#cmakedefine HAVE_PTHREAD_H @HAVE_PTHREAD_H@ -#cmakedefine HAVE_LIBPCRE @HAVE_LIBPCRE@ -#cmakedefine HAVE_OPENSSL @HAVE_OPENSSL@ -#cmakedefine HAVE_COMMONCRYPTO @HAVE_COMMONCRYPTO@ -#cmakedefine HAVE_LIBBZ2 @HAVE_LIBBZ2@ -#cmakedefine HAVE_CURL @HAVE_CURL@ -#cmakedefine HAVE_LIBLZMA @HAVE_LIBLZMA@ -#cmakedefine HAVE_LIBXML @HAVE_LIBXML@ -#cmakedefine HAVE_LIBZ @HAVE_LIBZ@ -#cmakedefine HAVE_LIBLZ4 @HAVE_LIBLZ4@ -#cmakedefine HAVE_PROJ @HAVE_PROJ@ -#cmakedefine HAVE_SNAPPY @HAVE_SNAPPY@ -#cmakedefine HAVE_UUID @HAVE_UUID@ -#cmakedefine HAVE_VALGRIND @HAVE_VALGRIND@ -#cmakedefine HAVE_NETCDF @HAVE_NETCDF@ -#cmakedefine HAVE_READLINE @HAVE_READLINE@ -// End Section: monetdb macro variables - -#define FLEXIBLE_ARRAY_MEMBER - +#cmakedefine HAVE_DIRENT_H @HAVE_DIRENT_H@ +#cmakedefine HAVE_SYS_SOCKET_H @HAVE_SYS_SOCKET_H@ +#cmakedefine HAVE_GETTIMEOFDAY @HAVE_SYS_TIME_H@ +#cmakedefine HAVE_SYS_STAT_H @HAVE_SYS_STAT_H@ +#cmakedefine HAVE_FDATASYNC @HAVE_FDATASYNC@ #cmakedefine HAVE_ACCEPT4 @HAVE_ACCEPT4@ #cmakedefine HAVE_ASCTIME_R @HAVE_ASCTIME_R@ -#define HAVE_CBRT 1 #cmakedefine HAVE_CLOCK_GETTIME @HAVE_CLOCK_GETTIME@ #cmakedefine HAVE_CTIME_R @HAVE_CTIME_R@ #cmakedefine HAVE_DISPATCH_SEMAPHORE_CREATE @HAVE_DISPATCH_SEMAPHORE_CREATE@ @@ -123,6 +90,7 @@ #cmakedefine HAVE_GETUID @HAVE_GETUID@ #cmakedefine HAVE_GMTIME_R @HAVE_GMTIME_R@ #cmakedefine HAVE_LOCALTIME_R @HAVE_LOCALTIME_R@ +#cmakedefine HAVE_STRERROR_R @HAVE_STRERROR_R@ #cmakedefine HAVE_LOCKF @HAVE_LOCKF@ #cmakedefine HAVE_MADVISE @HAVE_MADVISE@ #cmakedefine HAVE_MREMAP @HAVE_MREMAP@ @@ -148,10 +116,36 @@ #cmakedefine HAVE_TASK_INFO @HAVE_TASK_INFO@ #cmakedefine HAVE_TIMES @HAVE_TIMES@ #cmakedefine HAVE_UNAME @HAVE_UNAME@ +// #cmakedefine HAVE_SEMTIMEDOP +#cmakedefine HAVE_PT
MonetDB: mbedded - merged with default
Changeset: f6ef69aad4ed for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=f6ef69aad4ed Modified Files: gdk/gdk_bbp.c gdk/gdk_cross.c gdk/gdk_logger.c gdk/gdk_posix.c gdk/gdk_storage.c gdk/gdk_string.c gdk/gdk_system.c gdk/gdk_tracer.c gdk/gdk_utils.c sql/server/rel_exp.c sql/server/rel_exp.h sql/server/rel_optimizer.c sql/server/rel_select.c sql/server/rel_unnest.c sql/server/sql_parser.y sql/test/BugTracker-2017/Tests/lateral.Bug-6310.stable.err sql/test/BugTracker-2017/Tests/lateral.Bug-6310.stable.out sql/test/mergetables/Tests/sqlsmith-exists2.sql sql/test/mergetables/Tests/sqlsmith-exists2.stable.out sql/test/miscellaneous/Tests/groupby_error.sql sql/test/miscellaneous/Tests/groupby_error.stable.out sql/test/miscellaneous/Tests/simple_plans.stable.out sql/test/subquery/Tests/subquery6.sql sql/test/subquery/Tests/subquery6.stable.err sql/test/subquery/Tests/subquery6.stable.out Branch: mbedded Log Message: merged with default diffs (truncated from 2213 to 300 lines): diff --git a/gdk/gdk_bbp.c b/gdk/gdk_bbp.c --- a/gdk/gdk_bbp.c +++ b/gdk/gdk_bbp.c @@ -652,8 +652,8 @@ fixdatebats(void) } fp = fopen(filename, "w"); if (fp == NULL) { - TRC_CRITICAL(GDK, "cannot create file %s: %s\n", -filename, GDKstrerror(errno, (char[128]){0}, 128)); + GDKsyserror("cannot create file %s\n", + filename); return GDK_FAIL; } fclose(fp); @@ -1137,7 +1137,7 @@ BBPaddfarm(const char *dirname, int role return GDK_FAIL; } } else { - GDKerror("%s: cannot create directory\n", dirname); + GDKsyserror("%s: cannot create directory\n", dirname); return GDK_FAIL; } } @@ -1161,7 +1161,6 @@ BBPaddfarm(const char *dirname, int role * database */ bbpdir = GDKfilepath(i, BATDIR, "BBP", "dir"); if (bbpdir == NULL) { - GDKerror("malloc failed\n"); return GDK_FAIL; } if (stat(bbpdir, &st) != -1 || errno != ENOENT) { @@ -1172,7 +1171,6 @@ BBPaddfarm(const char *dirname, int role GDKfree(bbpdir); bbpdir = GDKfilepath(i, BAKDIR, "BBP", "dir"); if (bbpdir == NULL) { - GDKerror("malloc failed\n"); return GDK_FAIL; } if (stat(bbpdir, &st) != -1 || errno != ENOENT) { @@ -1332,7 +1330,6 @@ BBPinit(void) if (j == i) { char *d = GDKfilepath(i, NULL, BATDIR, NULL); if (d == NULL) { - TRC_CRITICAL(GDK, "malloc failed\n"); return GDK_FAIL; } BBPdiskscan(d, strlen(d) - strlen(BATDIR)); @@ -2953,7 +2950,7 @@ BBPprepare(bool subcommit) ret = BBPrecover(0); if (ret == GDK_SUCCEED) { if (mkdir(bakdirpath, MONETDB_DIRMODE) < 0 && errno != EEXIST) { - GDKsyserror("BBPprepare: cannot create directory %s\n", bakdirpath); + GDKsyserror("cannot create directory %s\n", bakdirpath); ret = GDK_FAIL; } /* if BAKDIR already exists, don't signal error */ @@ -2963,7 +2960,7 @@ BBPprepare(bool subcommit) if (ret == GDK_SUCCEED && start_subcommit) { /* make a new SUBDIR (subdir of BAKDIR) */ if (mkdir(subdirpath, MONETDB_DIRMODE) < 0) { - GDKsyserror("BBPprepare: cannot create directory %s\n", subdirpath); + GDKsyserror("cannot create directory %s\n", subdirpath); ret = GDK_FAIL; } TRC_DEBUG(IO_, "mkdir %s = %d\n", subdirpath, (int) ret); @@ -3262,7 +3259,6 @@ force_move(int farmid, const char *srcdi strncpy(srcpath, name, len); srcpath[len] = '\0'; if(!(dstpath = GDKfilepath(farmid, dstdir, srcpath, NULL))) { - GDKsyserror("force_move: malloc fail\n");
MonetDB: mbedded - merged with default
Changeset: 2a0fd391 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=2a0fd391 Added Files: sql/test/BugTracker-2020/Tests/ilike-matches.Bug-6864.sql sql/test/BugTracker-2020/Tests/ilike-matches.Bug-6864.stable.err sql/test/BugTracker-2020/Tests/ilike-matches.Bug-6864.stable.out Modified Files: buildtools/conf/Maddlog gdk/gdk_batop.c monetdb5/modules/mal/pcre.c sql/server/rel_optimizer.c sql/server/rel_unnest.c sql/test/BugTracker-2016/Tests/memory-consumption-query-PLAN-25joins.Bug-3972.stable.out sql/test/BugTracker-2020/Tests/All Branch: mbedded Log Message: merged with default diffs (truncated from 482 to 300 lines): diff --git a/buildtools/conf/Maddlog b/buildtools/conf/Maddlog --- a/buildtools/conf/Maddlog +++ b/buildtools/conf/Maddlog @@ -123,7 +123,7 @@ fi case "$CL" in '') d=. -while [ ! -f $d/vertoo.data -a ! -f $d/ChangeLog -a ! -f $d/ChangeLog.$tag ]; do +while [ ! -f $d/.bumpversion.cfg -a ! -f $d/ChangeLog -a ! -f $d/ChangeLog.$tag ]; do if [ $d -ef / ]; then echo "$0: cannot find top directory of package" >&2 exit 1 diff --git a/gdk/gdk_batop.c b/gdk/gdk_batop.c --- a/gdk/gdk_batop.c +++ b/gdk/gdk_batop.c @@ -865,6 +865,15 @@ BATreplace(BAT *b, BAT *p, BAT *n, bool return GDK_FAIL; } + BATiter bi = bat_iterator(b); + BATiter ni = bat_iterator(n); + if (BATcount(b) == 0 || + (b->tsorted && b->trevsorted && +n->tsorted && n->trevsorted && +ATOMcmp(b->ttype, BUNtail(bi, 0), BUNtail(ni, 0)) == 0)) { + return GDK_SUCCEED; + } + HASHdestroy(b); OIDXdestroy(b); IMPSdestroy(b); @@ -881,8 +890,6 @@ BATreplace(BAT *b, BAT *p, BAT *n, bool int (*atomcmp)(const void *, const void *) = ATOMcompare(b->ttype); const void *nil = ATOMnilptr(b->ttype); oid hseqend = b->hseqbase + BATcount(b); - BATiter bi = bat_iterator(b); - BATiter ni = bat_iterator(n); bool anynil = false; b->theap.dirty = true; @@ -2127,8 +2134,29 @@ BATconstant(oid hseq, int tailtype, cons ((hge *) p)[i] = *(hge *) v; break; #endif + case TYPE_str: + /* insert the first value, then just copy the +* offset lots of times */ + if (tfastins_nocheck(bn, 0, v, Tsize(bn)) != GDK_SUCCEED) { + BBPreclaim(bn); + return NULL; + } + char val[sizeof(var_t)]; + memcpy(val, bn->theap.base, bn->twidth); + if (bn->twidth == 1 && n > 1) { + /* single byte value: we have a +* function for that */ + memset(bn->theap.base + 1, val[0], n - 1); + } else { + char *p = bn->theap.base; + for (i = 1; i < n; i++) { + p += bn->twidth; + memcpy(p, val, bn->twidth); + } + } + break; default: - for (i = 0, n += i; i < n; i++) + for (i = 0; i < n; i++) if (tfastins_nocheck(bn, i, v, Tsize(bn)) != GDK_SUCCEED) { BBPreclaim(bn); return NULL; diff --git a/monetdb5/modules/mal/pcre.c b/monetdb5/modules/mal/pcre.c --- a/monetdb5/modules/mal/pcre.c +++ b/monetdb5/modules/mal/pcre.c @@ -479,7 +479,7 @@ re_create(const char *pat, bool caseigno } else if (*wp == esc) { escaped = true; } else if (*wp == '%') { - n->len = (size_t) (wq - r->w); + n->len = (size_t) (wq - n->w); while (wp[1] == '%') wp++; if (wp[1]) { @@ -509,7 +509,7 @@ re_create(const char *pat, bool caseigno } else if ((unsigned char) *p == esc) { escaped = true; } else if (*p == '%') { - n->len = (size_t) (q - r->k); + n->len = (size_t) (q - n->k); while (p[1] == '%') p++; if (p[1]) { diff --git a/sql/server/rel_optimizer.c b/sql/server/rel_optimizer.c --- a/sql/server/rel_optimizer.c +++ b/sql/server/rel_optimizer.c @@ -1265,10 +
MonetDB: mbedded - merged with default
Changeset: 188ae9768946 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=188ae9768946 Modified Files: sql/backends/monet5/rel_bin.c sql/server/rel_optimizer.c sql/server/rel_rel.c sql/server/rel_unnest.c sql/test/BugTracker-2016/Tests/memory-consumption-query-PLAN-25joins.Bug-3972.stable.out sql/test/FeatureRequests/Tests/foreign_key_outer_join_dead_code_elimination-explain-2join-query.stable.out sql/test/FeatureRequests/Tests/foreign_key_outer_join_dead_code_elimination-explain-2join-view.stable.out sql/test/FeatureRequests/Tests/foreign_key_outer_join_dead_code_elimination-plan-2join-query.stable.out sql/test/FeatureRequests/Tests/foreign_key_outer_join_dead_code_elimination-plan-2join-view.stable.out Branch: mbedded Log Message: merged with default diffs (truncated from 651 to 300 lines): diff --git a/sql/backends/monet5/rel_bin.c b/sql/backends/monet5/rel_bin.c --- a/sql/backends/monet5/rel_bin.c +++ b/sql/backends/monet5/rel_bin.c @@ -2635,6 +2635,7 @@ rel2bin_semijoin(backend *be, sql_rel *r join = stmt_join(be, l, r, 0, cmp_all, 0, false); } } else { + right = subrel_project(be, right, refs, rel->r); stmt *l = bin_first_column(be, left); stmt *r = bin_first_column(be, right); join = stmt_join(be, l, r, 0, cmp_all, 0, false); diff --git a/sql/server/rel_optimizer.c b/sql/server/rel_optimizer.c --- a/sql/server/rel_optimizer.c +++ b/sql/server/rel_optimizer.c @@ -1946,6 +1946,31 @@ rel_push_topn_and_sample_down(mvc *sql, operator_type relation_type = is_topn(rel->op) ? op_topn : op_sample; sql_rel *(*func) (sql_allocator *, sql_rel *, list *) = is_topn(rel->op) ? rel_topn : rel_sample; + /* nested topN relations without offset */ + if (r && is_topn(rel->op) && is_topn(r->op) && list_length(rel->exps) == 1 && list_length(r->exps) == 1) { + sql_exp *topN1 = rel->exps->h->data, *topN2 = r->exps->h->data; + + if (topN1->l && topN2->l) { + atom *a1 = (atom *)topN1->l, *a2 = (atom *)topN2->l; + + if (a1->tpe.type->localtype == a2->tpe.type->localtype && !a1->isnull && !a2->isnull) { + if (atom_cmp(a1, a2) < 0) { + rel->l = r->l; + r->l = NULL; + rel_destroy(r); + (*changes)++; + return rel; + } else { + rel->l = NULL; + rel_destroy(rel); + rel = r; + (*changes)++; + return rel; + } + } + } + } + if (r && is_simple_project(r->op) && need_distinct(r)) return rel; @@ -6218,6 +6243,12 @@ rel_remove_join(mvc *sql, sql_rel *rel, static sql_rel * rel_push_project_up(mvc *sql, sql_rel *rel, int *changes) { + if (is_simple_project(rel->op) && rel->l && !rel_is_ref(rel)) { + sql_rel *l = rel->l; + if (is_simple_project(l->op)) + return rel_merge_projects(sql, rel, changes); + } + /* project/project cleanup is done later */ if (is_join(rel->op) || is_select(rel->op)) { node *n; @@ -7392,7 +7423,7 @@ rel_simplify_like_select(mvc *sql, sql_r static sql_exp * rel_simplify_predicates(mvc *sql, sql_rel *rel, sql_exp *e, int depth, int *changes) { - (void) depth; + (void)depth; if (is_select(rel->op) || is_join(rel->op) || is_semi(rel->op)) { if (is_atom(e->type) && ((!e->l && !e->r && !e->f) || e->r)) /* prepared statement parameter or argument */ return e; @@ -7426,8 +7457,7 @@ rel_simplify_predicates(mvc *sql, sql_re list *args = l->l; sql_exp *ie = args->h->data; - /* TODO, we have to fix the NOT NULL flag propagation on columns after an outer join, so we can remove the is_outerjoin check */ - if (!is_outerjoin(rel->op) && (!has_nil(ie) || exp_is_not_null(sql, ie))) { /* is null on something that is never null, is always false */ + if (!has_nil(ie) || exp_is_not_null(sql, ie)) { /* is null on something that is ne
MonetDB: mbedded - merged with default
Changeset: 118ae3b5f3c5 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=118ae3b5f3c5 Modified Files: sql/server/rel_select.c Branch: mbedded Log Message: merged with default diffs (20 lines): diff --git a/sql/server/rel_select.c b/sql/server/rel_select.c --- a/sql/server/rel_select.c +++ b/sql/server/rel_select.c @@ -2133,13 +2133,13 @@ rel_in_value_exp(sql_query *query, sql_r supertype(&super, exp_subtype(values), exp_subtype(le)); /* on selection/join cases we can generate cmp expressions instead of anyequal for trivial cases */ - if (is_sql_where(f) && !is_sql_farg(f) && !exp_has_rel(le)) { - if (list_length(vals) == 1 && !exps_have_rel_exp(vals)) { /* use cmp_equal instead of cmp_in for 1 expression */ + if (is_sql_where(f) && !is_sql_farg(f) && !exp_has_rel(le) && exps_are_atoms(vals)) { + if (list_length(vals) == 1) { /* use cmp_equal instead of cmp_in for 1 expression */ sql_exp *first = vals->h->data; if (rel_convert_types(sql, rel ? *rel : NULL, rel ? *rel : NULL, &le, &first, 1, type_equal_no_any) < 0) return NULL; e = exp_compare(sql->sa, le, first, (sc->token == SQL_IN) ? cmp_equal : cmp_notequal); - } else if (exps_are_atoms(vals)) { /* use cmp_in instead of anyequal for n simple expressions */ + } else { /* use cmp_in instead of anyequal for n simple expressions */ for (node *n = vals->h ; n ; n = n->next) if ((n->data = rel_check_type(sql, &super, rel ? *rel : NULL, n->data, type_equal)) == NULL) return NULL; ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: mbedded - merged
Changeset: cde56e746263 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=cde56e746263 Modified Files: sql/backends/monet5/rel_bin.c Branch: mbedded Log Message: merged diffs (12 lines): diff --git a/sql/backends/monet5/rel_bin.c b/sql/backends/monet5/rel_bin.c --- a/sql/backends/monet5/rel_bin.c +++ b/sql/backends/monet5/rel_bin.c @@ -2364,7 +2364,7 @@ rel2bin_join(backend *be, sql_rel *rel, stmt *l = ld = stmt_mirror(be, bin_first_column(be, left)); if (rel->op == op_left || rel->op == op_full) ld = stmt_tdiff(be, ld, jl, NULL); - if (rel->single) { + if (rel->single && !list_empty(rel->exps)) { join = stmt_semijoin(be, l, jl, NULL, NULL, 0, true); jl = stmt_result(be, join, 0); jr = stmt_project(be, stmt_result(be, join, 1), jr); ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: mbedded - merged
Changeset: 888d83ce1926 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=888d83ce1926 Added Files: .bumpversion.cfg Modified Files: NT/rules.msc clients/mapilib/mapi.rc clients/odbc/driver/driver.rc clients/odbc/winsetup/setup.rc gdk/libbat.rc monetdb5/tools/libmonetdb5.rc Branch: mbedded Log Message: merged diffs (258 lines): diff --git a/.bumpversion.cfg b/.bumpversion.cfg new file mode 100644 --- /dev/null +++ b/.bumpversion.cfg @@ -0,0 +1,32 @@ +[bumpversion] +current_version = 11.38.0 +commit = False +tag = False + +[bumpversion:file:configure.ag] + +[bumpversion:file:MonetDB.spec] + +[bumpversion:file:NT/rules.msc] + +[bumpversion:file:NT/monetdb_config.h.in] + +[bumpversion:file:gdk/libbat.rc] +parse = (?P\d+),(?P\d+),(?P\d+) +serialize = {major},{minor},{patch} + +[bumpversion:file:clients/odbc/winsetup/setup.rc] +parse = (?P\d+),(?P\d+),(?P\d+) +serialize = {major},{minor},{patch} + +[bumpversion:file:clients/odbc/driver/driver.rc] +parse = (?P\d+),(?P\d+),(?P\d+) +serialize = {major},{minor},{patch} + +[bumpversion:file:clients/mapilib/mapi.rc] +parse = (?P\d+),(?P\d+),(?P\d+) +serialize = {major},{minor},{patch} + +[bumpversion:file:monetdb5/tools/libmonetdb5.rc] +parse = (?P\d+),(?P\d+),(?P\d+) +serialize = {major},{minor},{patch} diff --git a/NT/rules.msc b/NT/rules.msc --- a/NT/rules.msc +++ b/NT/rules.msc @@ -7,9 +7,6 @@ # Copyright 1997 - July 2008 CWI, August 2008 - 2020 MonetDB B.V. VERSION=11.38.0 -# ^^ -# Maintained via vertoo. Please don't modify by hand! -# Contact monetdb-develop...@lists.sourceforge.net for details and/or assistance. !IFDEF MAKE_INCLUDEFILE !INCLUDE $(MAKE_INCLUDEFILE) diff --git a/clients/mapilib/mapi.rc b/clients/mapilib/mapi.rc --- a/clients/mapilib/mapi.rc +++ b/clients/mapilib/mapi.rc @@ -2,9 +2,12 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US +#define version(major,minor,patch) major,minor,patch,1 +#define sversion(major,minor,patch)#major "." #minor "." #patch "\0" + 1 VERSIONINFO - FILEVERSION 11,38,0,1 - PRODUCTVERSION 11,38,0,1 + FILEVERSION version(11,38,0) + PRODUCTVERSION version(11,38,0) FILEFLAGSMASK 0x3fL FILEFLAGS 0 FILEOS VOS_NT_WINDOWS32 @@ -18,20 +21,14 @@ BEGIN VALUE "Comments", "\0" VALUE "CompanyName", "MonetDB B.V.\0" VALUE "FileDescription", "MonetDB Application Interface DLL\0" - VALUE "FileVersion", "11.38.0\0" - // - // Maintained via vertoo. Please don't modify by hand! - // Contact monetdb-develop...@lists.sourceforge.net for details and/or assistance. + VALUE "FileVersion", sversion(11,38,0) VALUE "InternalName", "Mapi\0" - VALUE "LegalCopyright", "Copyright © MonetDB B.V. 2008-2020\0" + VALUE "LegalCopyright", "Copyright (c) MonetDB B.V. 2008-2020\0" VALUE "LegalTrademarks", "\0" VALUE "OriginalFilename", "Mapi.dll\0" VALUE "PrivateBuild", "\0" VALUE "ProductName", "MonetDB Client Libraries\0" - VALUE "ProductVersion", "11.38.0\0" - // - // Maintained via vertoo. Please don't modify by hand! - // Contact monetdb-develop...@lists.sourceforge.net for details and/or assistance. + VALUE "ProductVersion", sversion(11,38,0) VALUE "SpecialBuild", "\0" END END diff --git a/clients/odbc/driver/driver.rc b/clients/odbc/driver/driver.rc --- a/clients/odbc/driver/driver.rc +++ b/clients/odbc/driver/driver.rc @@ -2,9 +2,12 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US +#define version(major,minor,patch) major,minor,patch,1 +#define sversion(major,minor,patch)#major "." #minor "." #patch "\0" + 1 VERSIONINFO - FILEVERSION 11,38,0,1 - PRODUCTVERSION 11,38,0,1 + FILEVERSION version(11,38,0) + PRODUCTVERSION version(11,38,0) FILEFLAGSMASK 0x3fL FILEFLAGS 0 FILEOS VOS_NT_WINDOWS32 @@ -18,20 +21,14 @@ BEGIN VALUE "Comments", "\0" VALUE "CompanyName", "MonetDB B.V.\0" VALUE "FileDescription", "MonetDB ODBC Driver DLL\0" - VALUE "FileVersion", "11.38.0\0" - // - // Maintained via vertoo. Please don't modify by hand! - // Contact monetdb-develop...@lists.sourceforge.net for details and/or assistance. + VALUE "FileVersion", sversion(11,38,0) VALUE "InternalName", "libMonetODBC\0" - VALUE "LegalCopyright", "Copyright © MonetDB B.V. 2008-2020\0" + VALUE "LegalCopyright", "Copyright (c) MonetDB B.V. 2008-2020\0" VALUE "LegalTrademarks", "\0" VALUE "OriginalFilename", "libMonetODBC.dll\0" VALUE "PrivateBuild", "\0" VALUE "ProductName", "MonetDB SQL Server\0" - VALUE "ProductVersion", "11.38.0\0" - // - // Maintained via vertoo. Please don't modify by hand! - // Contact monetdb-develop...@lists.sourceforge.net for details and/or assistance. + VALUE "
MonetDB: mbedded - merged
Changeset: 0299c71fd6aa for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=0299c71fd6aa Modified Files: .hgtags MonetDB.spec NT/monetdb_config.h.in NT/rules.msc clients/mapilib/mapi.rc clients/odbc/driver/driver.rc clients/odbc/winsetup/setup.rc debian/changelog gdk/libbat.rc monetdb5/tools/libmonetdb5.rc sql/server/rel_select.c Branch: mbedded Log Message: merged diffs (67 lines): diff --git a/.hgtags b/.hgtags --- a/.hgtags +++ b/.hgtags @@ -766,3 +766,6 @@ 179977ed07cd8095f99a6a07968b8e9d1affa753 6b76e1fa9b32421197acf26f63948c858e487d6a Jun2020_root 03ea637c10b5217782acf5db261b4cd71a9afb25 Jun2020_1 03ea637c10b5217782acf5db261b4cd71a9afb25 Jun2020_release +0d51d6758f2b1f3f1804415545f8551a38da1848 Jun2020_3 +03ea637c10b5217782acf5db261b4cd71a9afb25 Jun2020_release +0d51d6758f2b1f3f1804415545f8551a38da1848 Jun2020_release diff --git a/MonetDB.spec b/MonetDB.spec --- a/MonetDB.spec +++ b/MonetDB.spec @@ -984,6 +984,10 @@ fi %postun -p /sbin/ldconfig %changelog +* Mon May 18 2020 Sjoerd Mullender - 11.37.3-20200518 +- Rebuilt. +- BZ#6863: thash files not released upon drop table + * Mon May 11 2020 Sjoerd Mullender - 11.37.1-20200511 - Rebuilt. - BZ#6298: unexpectedly slow execution of SELECT length(fieldname) diff --git a/debian/changelog b/debian/changelog --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +monetdb (11.37.3) unstable; urgency=low + + * Rebuilt. + * BZ#6863: thash files not released upon drop table + + -- Sjoerd Mullender Mon, 18 May 2020 11:29:29 +0200 + monetdb (11.37.1) unstable; urgency=low * Rebuilt. diff --git a/sql/server/rel_select.c b/sql/server/rel_select.c --- a/sql/server/rel_select.c +++ b/sql/server/rel_select.c @@ -2133,13 +2133,13 @@ rel_in_value_exp(sql_query *query, sql_r supertype(&super, exp_subtype(values), exp_subtype(le)); /* on selection/join cases we can generate cmp expressions instead of anyequal for trivial cases */ - if (is_sql_where(f) && !is_sql_farg(f) && exps_are_atoms(vals)) { - if (list_length(vals) == 1) { /* use cmp_equal instead of anyequal for 1 constant */ + if (is_sql_where(f) && !is_sql_farg(f) && !exp_has_rel(le)) { + if (list_length(vals) == 1 && !exps_have_rel_exp(vals)) { /* use cmp_equal instead of cmp_in for 1 expression */ sql_exp *first = vals->h->data; if (rel_convert_types(sql, rel ? *rel : NULL, rel ? *rel : NULL, &le, &first, 1, type_equal_no_any) < 0) return NULL; e = exp_compare(sql->sa, le, first, (sc->token == SQL_IN) ? cmp_equal : cmp_notequal); - } else { /* use cmp_in instead of anyequal for n constants */ + } else if (exps_are_atoms(vals)) { /* use cmp_in instead of anyequal for n simple expressions */ for (node *n = vals->h ; n ; n = n->next) if ((n->data = rel_check_type(sql, &super, rel ? *rel : NULL, n->data, type_equal)) == NULL) return NULL; @@ -2169,7 +2169,7 @@ rel_in_exp(sql_query *query, sql_rel *re if (!e || !rel) return NULL; - if (e->type == e_cmp) /* it's a exp_in or cmp_equal of constants, push down early on if possible */ + if (e->type == e_cmp) /* it's a exp_in or cmp_equal of simple expressions, push down early on if possible */ return rel_select_push_exp_down(sql, rel, e, e->l, e->l, e->r, e->r, NULL, f); return rel_select_add_exp(sql->sa, rel, e); } ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: mbedded - merged
Changeset: f40f3ab03237 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=f40f3ab03237 Modified Files: sql/server/rel_rel.c sql/server/rel_select.c sql/server/sql_mvc.c sql/server/sql_mvc.h Branch: mbedded Log Message: merged diffs (truncated from 387 to 300 lines): diff --git a/sql/server/rel_rel.c b/sql/server/rel_rel.c --- a/sql/server/rel_rel.c +++ b/sql/server/rel_rel.c @@ -1218,15 +1218,14 @@ rel_bind_path_(mvc *sql, sql_rel *rel, s } static list * -rel_bind_path(mvc *sql, sql_rel *rel, sql_exp *e) +rel_bind_path(mvc *sql, sql_rel *rel, sql_exp *e, list *path) { - list *path = sa_list(sql->sa); if (!path) return NULL; if (e->type == e_convert) - e = e->l; - if (e->type == e_column) { + path = rel_bind_path(sql, rel, e->l, path); + else if (e->type == e_column) { if (rel) { if (!rel_bind_path_(sql, rel, e, path)) { /* something is wrong */ @@ -1275,15 +1274,14 @@ rel_select_push_exp_down(mvc *sql, sql_r sql_rel * rel_push_select(mvc *sql, sql_rel *rel, sql_exp *ls, sql_exp *e, int f) { - list *l = rel_bind_path(sql, rel, ls); + list *l = rel_bind_path(sql, rel, ls, sa_list(sql->sa)); node *n; sql_rel *lrel = NULL, *p = NULL; - if (!l || !sql->pushdown || is_sql_or(f)) { - /* expression has no clear parent relation, so filter current - with it */ + if (!l) + return NULL; + if (is_sql_or(f)) /* expression has no clear parent relation, so filter current with it */ return rel_select(sql->sa, rel, e); - } for (n = l->h; n; n = n->next ) { lrel = n->data; @@ -1331,18 +1329,18 @@ rel_push_select(mvc *sql, sql_rel *rel, sql_rel * rel_push_join(mvc *sql, sql_rel *rel, sql_exp *ls, sql_exp *rs, sql_exp *rs2, sql_exp *e, int f) { - list *l = rel_bind_path(sql, rel, ls); - list *r = rel_bind_path(sql, rel, rs); + list *l = rel_bind_path(sql, rel, ls, sa_list(sql->sa)); + list *r = rel_bind_path(sql, rel, rs, sa_list(sql->sa)); list *r2 = NULL; node *ln, *rn; sql_rel *lrel = NULL, *rrel = NULL, *rrel2 = NULL, *p = NULL; if (rs2) - r2 = rel_bind_path(sql, rel, rs2); + r2 = rel_bind_path(sql, rel, rs2, sa_list(sql->sa)); if (!l || !r || (rs2 && !r2)) return NULL; - if (!sql->pushdown || is_sql_or(f)) + if (is_sql_or(f)) return rel_push_select(sql, rel, ls, e, f); p = rel; diff --git a/sql/server/rel_select.c b/sql/server/rel_select.c --- a/sql/server/rel_select.c +++ b/sql/server/rel_select.c @@ -1575,6 +1575,29 @@ rel_convert_types(mvc *sql, sql_rel *ll, } static sql_rel * +push_select_exp(mvc *sql, sql_rel *rel, sql_exp *e, sql_exp *ls, sql_exp *L, int f) /* 'e' is an expression where the right is a constant(s)! */ +{ + if (is_outerjoin(rel->op)) { + if ((is_left(rel->op) || is_full(rel->op)) && rel_find_exp(rel->l, ls)) { + rel_join_add_exp(sql->sa, rel, e); + return rel; + } else if ((is_right(rel->op) || is_full(rel->op)) && rel_find_exp(rel->r, ls)) { + rel_join_add_exp(sql->sa, rel, e); + return rel; + } + if (is_left(rel->op) && rel_find_exp(rel->r, ls)) { + rel->r = rel_push_select(sql, rel->r, L, e, f); + return rel; + } else if (is_right(rel->op) && rel_find_exp(rel->l, ls)) { + rel->l = rel_push_select(sql, rel->l, L, e, f); + return rel; + } + } + /* push select into the given relation */ + return rel_push_select(sql, rel, L, e, f); +} + +static sql_rel * rel_filter(mvc *sql, sql_rel *rel, list *l, list *r, char *sname, char *filter_op, int anti, int ff) { node *n; @@ -1653,24 +1676,7 @@ rel_filter(mvc *sql, sql_rel *rel, list if (exps_card(l) == exps_card(r) || rel->processed) /* bin compare op */ return rel_select(sql->sa, rel, e); - if (/*is_semi(rel->op) ||*/ is_outerjoin(rel->op)) { - if ((is_left(rel->op) || is_full(rel->op)) && rel_find_exp(rel->l, l->h->data)) { - rel_join_add_exp(sql->sa, rel, e); - return rel; - } else if ((is_right(rel->op) || is_full(rel->op)) && rel_find_exp(rel->r, l->h->data)) { - rel_join_add_exp(sql->sa, rel, e); - return rel; - } - if (is_left(rel->op) && rel_find_exp(rel->r, l->h->data)) { -
MonetDB: mbedded - merged
Changeset: 3b8aef1b2a8d for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=3b8aef1b2a8d Modified Files: sql/server/rel_optimizer.c sql/server/rel_outer_join_optimizer.h sql/server/rel_rel.c sql/server/rel_rel.h sql/server/rel_rewriter.c sql/server/rel_rewriter.h sql/server/rel_select.c Branch: mbedded Log Message: merged diffs (truncated from 773 to 300 lines): diff --git a/sql/server/rel_optimizer.c b/sql/server/rel_optimizer.c --- a/sql/server/rel_optimizer.c +++ b/sql/server/rel_optimizer.c @@ -1004,7 +1004,7 @@ order_joins(mvc *sql, list *rels, list * if (exp_is_join_exp(e) == 0) { sql_rel *nr = NULL; if (e->flag == cmp_equal) - nr = rel_push_join(sql, top->l, e->l, e->r, NULL, e); + nr = rel_push_join(sql, top->l, e->l, e->r, NULL, e, 0); if (!nr) rel_join_add_exp(sql->sa, top->l, e); } else @@ -1327,142 +1327,6 @@ exp_rename(mvc *sql, sql_exp *e, sql_rel return exp_propagate(sql->sa, ne, e); } -/* push the expression down, ie translate colum references - from relation f into expression of relation t -*/ - -static sql_exp * _exp_push_down(mvc *sql, sql_exp *e, sql_rel *f, sql_rel *t); - -static list * -exps_push_down(mvc *sql, list *exps, sql_rel *f, sql_rel *t) -{ - node *n; - list *nl = new_exp_list(sql->sa); - - for(n = exps->h; n; n = n->next) { - sql_exp *arg = n->data, *narg = NULL; - - narg = _exp_push_down(sql, arg, f, t); - if (!narg) - return NULL; - narg = exp_propagate(sql->sa, narg, arg); - append(nl, narg); - } - return nl; -} - -static sql_exp * -_exp_push_down(mvc *sql, sql_exp *e, sql_rel *f, sql_rel *t) -{ - sql_exp *oe = e; - sql_exp *ne = NULL, *l, *r, *r2; - - switch(e->type) { - case e_column: - if (is_union(f->op)) { - int p = list_position(f->exps, rel_find_exp(f, e)); - - return list_fetch(t->exps, p); - } - if (e->l) { - ne = rel_bind_column2(sql, f, e->l, e->r, 0); - /* if relation name matches expressions relation name, find column based on column name alone */ - } - if (!ne && !e->l) - ne = rel_bind_column(sql, f, e->r, 0, 1); - if (!ne || ne->type != e_column) - return NULL; - e = NULL; - if (ne->l && ne->r) - e = rel_bind_column2(sql, t, ne->l, ne->r, 0); - if (!e && ne->r && !ne->l) - e = rel_bind_column(sql, t, ne->r, 0, 1); - sql->session->status = 0; - sql->errstr[0] = 0; - if (e && oe) - e = exp_propagate(sql->sa, e, oe); - /* if the upper exp was an alias, keep this */ - if (e && exp_relname(ne)) - exp_setname(sql->sa, e, exp_relname(ne), exp_name(ne)); - return e; - case e_cmp: - if (e->flag == cmp_or || e->flag == cmp_filter) { - list *l, *r; - - l = exps_push_down(sql, e->l, f, t); - if (!l) - return NULL; - r = exps_push_down(sql, e->r, f, t); - if (!r) - return NULL; - if (e->flag == cmp_filter) - return exp_filter(sql->sa, l, r, e->f, is_anti(e)); - return exp_or(sql->sa, l, r, is_anti(e)); - } else if (e->flag == cmp_in || e->flag == cmp_notin) { - list *r; - - l = _exp_push_down(sql, e->l, f, t); - if (!l) - return NULL; - r = exps_push_down(sql, e->r, f, t); - if (!r) - return NULL; - return exp_in(sql->sa, l, r, e->flag); - } else { - l = _exp_push_down(sql, e->l, f, t); - if (!l) - return NULL; - r = _exp_push_down(sql, e->r, f, t); - if (!r) - return NULL; - if (e->f) { - r2 = _exp_push_down(sql, e->f, f, t); - if (l && r && r2) - ne = exp_compare2(sql->sa, l, r, r2, e->flag); -
MonetDB: mbedded - merged with default
Changeset: b5492ba3 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=b5492ba3 Modified Files: sql/common/sql_types.c sql/server/rel_rel.c sql/server/rel_select.c sql/test/miscellaneous/Tests/simple_plans.stable.out Branch: mbedded Log Message: merged with default diffs (truncated from 340 to 300 lines): diff --git a/sql/common/sql_types.c b/sql/common/sql_types.c --- a/sql/common/sql_types.c +++ b/sql/common/sql_types.c @@ -575,8 +575,8 @@ sql_dup_subfunc(sql_allocator *sa, sql_f sql_arg *rarg = tn->data; sql_subtype *res, *r = &rarg->type; - /* same scale as the input */ - if (member && member->scale > scale) + /* same scale as the input if result has a scale */ + if (member && (r->type->eclass == EC_ANY || r->type->scale != SCALE_NONE) && member->scale > scale) scale = member->scale; digits = r->digits; if (!member) { diff --git a/sql/server/rel_rel.c b/sql/server/rel_rel.c --- a/sql/server/rel_rel.c +++ b/sql/server/rel_rel.c @@ -1296,7 +1296,6 @@ rel_push_select(mvc *sql, sql_rel *rel, return rel; } - /* ls and rs are the left and right expression of the join, e is the join expression. */ diff --git a/sql/server/rel_select.c b/sql/server/rel_select.c --- a/sql/server/rel_select.c +++ b/sql/server/rel_select.c @@ -1699,6 +1699,46 @@ rel_filter_exp_(mvc *sql, sql_rel *rel, } static sql_rel * +rel_compare_push_exp(mvc *sql, sql_rel *rel, sql_exp *e, sql_exp *ls, sql_exp *L, sql_exp *rs, sql_exp *R, sql_exp *rs2) +{ + if (rs->card <= CARD_ATOM && (exp_is_atom(rs) || exp_has_freevar(sql, rs) || exp_has_freevar(sql, ls)) && + (!rs2 || (rs2->card <= CARD_ATOM && (exp_is_atom(rs2) || exp_has_freevar(sql, rs2) { + if ((ls->card == rs->card && !rs2) || rel->processed) /* bin compare op */ + return rel_select(sql->sa, rel, e); + + if (/*is_semi(rel->op) ||*/ is_outerjoin(rel->op)) { + if ((is_left(rel->op) || is_full(rel->op)) && rel_find_exp(rel->l, ls)) { + rel_join_add_exp(sql->sa, rel, e); + return rel; + } else if ((is_right(rel->op) || is_full(rel->op)) && rel_find_exp(rel->r, ls)) { + rel_join_add_exp(sql->sa, rel, e); + return rel; + } + if (is_left(rel->op) && rel_find_exp(rel->r, ls)) { + rel->r = rel_push_select(sql, rel->r, L, e); + return rel; + } else if (is_right(rel->op) && rel_find_exp(rel->l, ls)) { + rel->l = rel_push_select(sql, rel->l, L, e); + return rel; + } + } + /* push select into the given relation */ + return rel_push_select(sql, rel, L, e); + } else { /* join */ + sql_rel *r; + if (/*is_semi(rel->op) ||*/ (is_outerjoin(rel->op) && !is_processed((rel { + rel_join_add_exp(sql->sa, rel, e); + return rel; + } + /* push join into the given relation */ + if ((r = rel_push_join(sql, rel, L, R, rs2, e)) != NULL) + return r; + rel_join_add_exp(sql->sa, rel, e); + return rel; + } +} + +static sql_rel * rel_compare_exp_(sql_query *query, sql_rel *rel, sql_exp *ls, sql_exp *rs, sql_exp *rs2, int type, int anti, int quantifier) { mvc *sql = query->sql; @@ -1759,45 +1799,7 @@ rel_compare_exp_(sql_query *query, sql_r else return sql_error(sql, ERR_GROUPBY, SQLSTATE(42000) "SELECT: cannot use non GROUP BY column in query results without an aggregate function"); } - if (rs->card <= CARD_ATOM && (exp_is_atom(rs) || exp_has_freevar(sql, rs) || exp_has_freevar(sql, ls)) && - (!rs2 || (rs2->card <= CARD_ATOM && (exp_is_atom(rs2) || exp_has_freevar(sql, rs2) { - if ((ls->card == rs->card && !rs2) || rel->processed) /* bin compare op */ - return rel_select(sql->sa, rel, e); - - if (/*is_semi(rel->op) ||*/ is_outerjoin(rel->op)) { - if ((is_left(rel->op) || is_full(rel->op)) && rel_find_exp(rel->l, ls)) { - rel_join_add_exp(sql->sa, rel, e); - return rel; - } else if ((is_right(rel->op) || is_full(rel->op)) && rel_find_exp(rel->r, l
MonetDB: mbedded - merged
Changeset: 8b14a84dc1dc for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=8b14a84dc1dc Modified Files: CMakeLists.txt clients/examples/C/CMakeLists.txt clients/examples/perl/CMakeLists.txt clients/examples/php/CMakeLists.txt clients/mapiclient/CMakeLists.txt clients/mapilib/CMakeLists.txt clients/odbc/driver/CMakeLists.txt clients/odbc/samples/CMakeLists.txt clients/odbc/setup/CMakeLists.txt clients/odbc/winsetup/CMakeLists.txt monetdb5/tools/CMakeLists.txt testing/CMakeLists.txt tools/merovingian/client/CMakeLists.txt tools/merovingian/daemon/CMakeLists.txt tools/merovingian/daemon/config/CMakeLists.txt tools/mserver/CMakeLists.txt Branch: mbedded Log Message: merged diffs (truncated from 380 to 300 lines): diff --git a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -216,7 +216,8 @@ write_basic_package_version_file( install(FILES ${CMAKE_CURRENT_BINARY_DIR}/MonetDBConfig.cmake - DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/cmake) + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/cmake + COMPONENT monetdbdev) include(monetdb-packages) @@ -226,3 +227,5 @@ add_subdirectory(ctest) if(CMAKE_SUMMARY) monetdb_cmake_summary() endif() + +# vim: set ts=2:sw=2:et diff --git a/clients/examples/C/CMakeLists.txt b/clients/examples/C/CMakeLists.txt --- a/clients/examples/C/CMakeLists.txt +++ b/clients/examples/C/CMakeLists.txt @@ -45,5 +45,8 @@ if(TESTING) smack01 RUNTIME DESTINATION -${CMAKE_INSTALL_BINDIR}) +${CMAKE_INSTALL_BINDIR} +COMPONENT clienttest) endif() + +# vim: set ts=2:sw=2:et diff --git a/clients/examples/perl/CMakeLists.txt b/clients/examples/perl/CMakeLists.txt --- a/clients/examples/perl/CMakeLists.txt +++ b/clients/examples/perl/CMakeLists.txt @@ -10,10 +10,14 @@ if(TESTING) install(FILES sqlsample.pl PERMISSIONS ${PROGRAM_PERMISSIONS_DEFAULT} -DESTINATION ${CMAKE_INSTALL_BINDIR}) +DESTINATION ${CMAKE_INSTALL_BINDIR} +COMPONENT clienttest) install(FILES malsample.pl PERMISSIONS ${PROGRAM_PERMISSIONS_DEFAULT} -DESTINATION ${CMAKE_INSTALL_BINDIR}) +DESTINATION ${CMAKE_INSTALL_BINDIR} +COMPONENT clienttest) endif() + +# vim: set ts=2:sw=2:et diff --git a/clients/examples/php/CMakeLists.txt b/clients/examples/php/CMakeLists.txt --- a/clients/examples/php/CMakeLists.txt +++ b/clients/examples/php/CMakeLists.txt @@ -10,5 +10,8 @@ if(TESTING) install(FILES sqlsample.php PERMISSIONS ${PROGRAM_PERMISSIONS_DEFAULT} -DESTINATION ${CMAKE_INSTALL_BINDIR}) +DESTINATION ${CMAKE_INSTALL_BINDIR} +COMPONENT clienttest) endif() + +# vim: set ts=2:sw=2:et diff --git a/clients/mapiclient/CMakeLists.txt b/clients/mapiclient/CMakeLists.txt --- a/clients/mapiclient/CMakeLists.txt +++ b/clients/mapiclient/CMakeLists.txt @@ -128,4 +128,7 @@ install(TARGETS install(FILES mclient.1 msqldump.1 - DESTINATION ${CMAKE_INSTALL_MANDIR}/man1) + DESTINATION ${CMAKE_INSTALL_MANDIR}/man1 + COMPONENT mclient) + +# vim: set ts=2:sw=2:et diff --git a/clients/mapilib/CMakeLists.txt b/clients/mapilib/CMakeLists.txt --- a/clients/mapilib/CMakeLists.txt +++ b/clients/mapilib/CMakeLists.txt @@ -47,8 +47,7 @@ set_target_properties(mapi PROPERTIES VERSION ${MAPI_VERSION} SOVERSION ${MAPI_VERSION_MAJOR} - PUBLIC_HEADER mapi.h - PUBLIC_HEADER mapi_querytype.h) + PUBLIC_HEADER mapi.h) if (NOT WIN32) configure_file(monetdb-mapi.pc.in @@ -82,3 +81,5 @@ install(EXPORT mapiTargets NAMESPACE MonetDB:: DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/cmake COMPONENT clientdev) + +# vim: set ts=2:sw=2:et diff --git a/clients/odbc/driver/CMakeLists.txt b/clients/odbc/driver/CMakeLists.txt --- a/clients/odbc/driver/CMakeLists.txt +++ b/clients/odbc/driver/CMakeLists.txt @@ -117,21 +117,21 @@ target_compile_definitions(MonetODBC target_link_libraries(MonetODBC PRIVATE monetdb_config_header - mutils - mapi - ODBC::ODBC) + mutils + mapi + ODBC::ODBC) install(TARGETS MonetODBC RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} - COMPONENT client + COMPONENT odbc LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - COMPONENT client + COMPONENT odbc ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} - COMPONENT client + COMPONENT odbc PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/monetdb COMPONENT clientdev diff --git a/clients/odbc/samples/CMakeLists.txt b/clients/odbc/samples/CMakeLists.txt --- a/clients/odbc/samples/CMakeLists.txt +++ b/clients/odbc/samples/CMakeLists.txt @@ -43,5 +43,8 @@ if(TESTING) testStmtAttr RUNTIME DESTINATION -${CMAKE_INSTALL_BINDIR}) +${CMAKE_INSTALL_BINDIR} +COMPONENT clienttest) endif() + +# vim: set ts=2:sw=2:et diff --git a/clients/odbc/setup/CMakeLists.txt b/clients/odbc/setup/CMakeLists.txt --- a/clients/odbc/setup/CMakeLis
MonetDB: mbedded - merged with default
Changeset: 6c838c073f6e for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=6c838c073f6e Added Files: buildtools/selinux/ChangeLog.Jun2020 clients/odbc/ChangeLog-Archive debian/libmonetdb20.install documentation/source/manual_pages/README sql/server/cmp_exp_eval.h sql/server/rel_out2inner_join.txt sql/server/rel_outer_join_optimizer.h sql/test/Triggers/Tests/trigger_projection.sql.src sql/test/Triggers/Tests/trigger_projection.stable.err sql/test/Triggers/Tests/trigger_projection.stable.out sql/test/Triggers/trigger_projection.sql sql/test/Users/Tests/createUserRollback.SQL.py sql/test/Users/Tests/createUserRollback.stable.err sql/test/Users/Tests/createUserRollback.stable.out Removed Files: ChangeLog.Nov2019 buildtools/ChangeLog.Nov2019 clients/ChangeLog.Nov2019 clients/mapilib/ChangeLog.Nov2019 common/stream/ChangeLog.Nov2019 debian/libmonetdb19.install gdk/ChangeLog.Nov2019 geom/ChangeLog.Nov2019 monetdb5/ChangeLog.Nov2019 sql/ChangeLog.Nov2019 sql/test/miscellaneous/Tests/trigger_projection.sql sql/test/miscellaneous/Tests/trigger_projection.stable.err sql/test/miscellaneous/Tests/trigger_projection.stable.out testing/ChangeLog.Nov2019 tools/merovingian/ChangeLog.Nov2019 Modified Files: .hgtags ChangeLog-Archive ChangeLog.Jun2020 MonetDB.spec NT/monetdb_config.h.in NT/rules.msc buildtools/selinux/ChangeLog-Archive clients/ChangeLog-Archive clients/ChangeLog.Jun2020 clients/Tests/exports.stable.out clients/mapiclient/mclient.1 clients/mapiclient/msqldump.1 clients/mapilib/mapi.rc clients/odbc/ChangeLog.Jun2020 clients/odbc/driver/driver.rc clients/odbc/winsetup/setup.rc debian/changelog debian/control documentation/source/manual_pages/mclient.rst documentation/source/manual_pages/monetdb.rst documentation/source/manual_pages/monetdbd.rst.in documentation/source/manual_pages/mserver5.rst.in documentation/source/manual_pages/msqldump.rst gdk/ChangeLog-Archive gdk/ChangeLog.Jun2020 gdk/gdk.h gdk/gdk_atoms.h gdk/gdk_batop.c gdk/gdk_hash.c gdk/gdk_join.c gdk/gdk_storage.c gdk/gdk_system.h gdk/gdk_utils.h gdk/libbat.rc geom/lib/libgeom.h geom/monetdb5/geom.c monetdb5/ChangeLog-Archive monetdb5/ChangeLog.Jun2020 monetdb5/extras/rapi/rapi.c monetdb5/mal/mal.h monetdb5/mal/mal_client.c monetdb5/mal/mal_runtime.c monetdb5/modules/mal/mkey.c monetdb5/optimizer/opt_mergetable.c monetdb5/optimizer/opt_mitosis.c monetdb5/tools/Tests/mserver5--help.stable.err monetdb5/tools/Tests/mserver5--help.stable.err.Windows monetdb5/tools/libmonetdb5.rc sql/ChangeLog-Archive sql/ChangeLog.Jun2020 sql/backends/monet5/UDF/pyapi3/Tests/pyloader3_01.stable.out sql/backends/monet5/UDF/pyapi3/pyheader.h sql/backends/monet5/sql_rank.c sql/backends/monet5/sql_scenario.c sql/backends/monet5/sql_statement.c sql/backends/monet5/sql_upgrades.c sql/backends/monet5/sql_user.c sql/common/sql_types.c sql/include/sql_catalog.h sql/include/sql_relation.h sql/server/rel_dump.c sql/server/rel_exp.c sql/server/rel_optimizer.c sql/server/rel_rel.c sql/server/rel_select.c sql/server/rel_unnest.c sql/server/rel_updates.c sql/server/sql_partition.c sql/server/sql_query.c sql/server/sql_semantic.c sql/storage/bat/bat_logger.c sql/storage/bat/bat_storage.c sql/storage/sql_storage.h sql/storage/store.c sql/test/BugDay_2005-10-06_2.9.3/Tests/CrashMe_SQL_server_crash-2.SF-921673.stable.out sql/test/BugTracker-2008/Tests/select_not_wrong_result.SF-2080151.stable.out sql/test/BugTracker-2009/Tests/join_topn.SF-2654133.stable.out sql/test/BugTracker-2012/Tests/currenttime.Bug-2781.SQL.py sql/test/BugTracker-2012/Tests/currenttime.Bug-2781.stable.out sql/test/BugTracker-2016/Tests/decimal_vs_integer.Bug-3941.stable.out.single sql/test/Triggers/Tests/All sql/test/Triggers/run.all sql/test/Users/Tests/All sql/test/bugs/Tests/innerjoin_multiple-bug-sf-943661.stable.out 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.32bi
MonetDB: mbedded - merged
Changeset: 54ca8c8fd7c0 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=54ca8c8fd7c0 Modified Files: cmake/monetdb-defines.cmake cmake/monetdb-findpackages.cmake cmake/monetdb-functions.cmake Branch: mbedded Log Message: merged diffs (163 lines): diff --git a/cmake/monetdb-defines.cmake b/cmake/monetdb-defines.cmake --- a/cmake/monetdb-defines.cmake +++ b/cmake/monetdb-defines.cmake @@ -7,7 +7,6 @@ #]] function(monetdb_configure_defines) - check_symbol_exists("opendir" "dirent.h" HAVE_DIRENT_H) find_path(HAVE_DISPATCH_DISPATCH_H "dispatch/dispatch.h") find_path(HAVE_DLFCN_H "dlfcn.h") find_path(HAVE_FCNTL_H "fcntl.h") @@ -20,7 +19,6 @@ function(monetdb_configure_defines) find_path(HAVE_MACH_MACH_INIT_H "mach/mach_init.h") find_path(HAVE_MACH_TASK_H "mach/task.h") find_path(HAVE_MACH_O_DYLD_H "mach-o/dyld.h") - check_symbol_exists("gethostbyname" "netdb.h" HAVE_NETDB_H) find_path(HAVE_NETINET_IN_H "netinet/in.h") find_path(HAVE_POLL_H "poll.h") find_path(HAVE_PROCFS_H "procfs.h") @@ -33,8 +31,6 @@ function(monetdb_configure_defines) find_path(HAVE_SYS_MMAN_H "sys/mman.h") find_path(HAVE_SYS_PARAM_H "sys/param.h") find_path(HAVE_SYS_RESOURCE_H "sys/resource.h") - check_symbol_exists("setsockopt" "sys/socket.h" HAVE_SYS_SOCKET_H) - check_symbol_exists("gettimeofday" "sys/time.h" HAVE_SYS_TIME_H) find_path(HAVE_SYS_TIMES_H "sys/times.h") find_path(HAVE_SYS_UIO_H "sys/uio.h") find_path(HAVE_SYS_UN_H "sys/un.h") @@ -44,16 +40,16 @@ function(monetdb_configure_defines) find_path(HAVE_UNISTD_H "unistd.h") find_path(HAVE_UUID_UUID_H "uuid/uuid.h") find_path(HAVE_WINSOCK_H "winsock2.h") - find_path(HAVE_SYS_TYPES_H "sys/types.h") find_path(HAVE_SEMAPHORE_H "semaphore.h") find_path(HAVE_GETOPT_H "getopt.h") - if(HAVE_GETOPT_H) -set(HAVE_GETOPT 1 PARENT_SCOPE) - endif() check_include_file("stdatomic.h" HAVE_STDATOMIC_H) + check_symbol_exists("opendir" "dirent.h" HAVE_DIRENT_H) + check_symbol_exists("gethostbyname" "netdb.h" HAVE_NETDB_H) + check_symbol_exists("setsockopt" "sys/socket.h" HAVE_SYS_SOCKET_H) + check_symbol_exists("gettimeofday" "sys/time.h" HAVE_SYS_TIME_H) # Linux specific, in the future, it might be ported to other platforms check_symbol_exists("S_ISREG" "sys/stat.h" HAVE_SYS_STAT_H) check_symbol_exists("getaddrinfo" "netdb.h" UNIX_GETADDRINFO) @@ -67,13 +63,16 @@ function(monetdb_configure_defines) #check_symbol_exists("WSADATA" "winsock2.h" HAVE_WINSOCK_H) check_symbol_exists("fdatasync" "unistd.h" HAVE_FDATASYNC) - - check_symbol_exists("accept4" "sys/types.h;sys/socket.h" HAVE_ACCEPT4) # Some libc versions on Linux distributions don't have it + # Some libc versions on Linux distributions don't have it + check_symbol_exists("accept4" +"sys/types.h;sys/socket.h" HAVE_ACCEPT4) check_symbol_exists("asctime_r" "time.h" HAVE_ASCTIME_R) check_symbol_exists("clock_gettime" "time.h" HAVE_CLOCK_GETTIME) check_symbol_exists("ctime_r" "time.h" HAVE_CTIME_R) - check_symbol_exists("dispatch_semaphore_create" "dispatch/dispatch.h" HAVE_DISPATCH_SEMAPHORE_CREATE) - check_symbol_exists("fallocate" "fcntl.h" HAVE_FALLOCATE) # Linux specific, in the future, it might be ported to other platforms + check_symbol_exists("dispatch_semaphore_create" +"dispatch/dispatch.h" HAVE_DISPATCH_SEMAPHORE_CREATE) + # Linux specific, in the future, it might be ported to other platforms + check_symbol_exists("fallocate" "fcntl.h" HAVE_FALLOCATE) check_function_exists("fcntl" HAVE_FCNTL) check_symbol_exists("fork" "unistd.h" HAVE_FORK) check_symbol_exists("fsync" "unistd.h" HAVE_FSYNC) @@ -93,31 +92,36 @@ function(monetdb_configure_defines) check_function_exists("nanosleep" HAVE_NANOSLEEP) check_function_exists("nl_langinfo" HAVE_NL_LANGINFO) check_function_exists("_NSGetExecutablePath" HAVE__NSGETEXECUTABLEPATH) - check_symbol_exists("pipe2" "fcntl.h;unistd.h" HAVE_PIPE2) # Some libc versions on Linux distributions don't have it - check_function_exists("poll" HAVE_POLL) + # Some libc versions on Linux distributions don't have it + check_symbol_exists("pipe2" "fcntl.h;unistd.h" HAVE_PIPE2) + check_function_exists("poll" HAVE_POLL) check_symbol_exists("popen" "stdio.h" HAVE_POPEN) - check_symbol_exists("posix_fadvise" "fcntl.h" HAVE_POSIX_FADVISE) - check_symbol_exists("posix_fallocate" "fcntl.h" HAVE_POSIX_FALLOCATE) # Some POSIX systems don't have it (e.g. Macos) + check_symbol_exists("posix_fadvise" "fcntl.h" HAVE_POSIX_FADVISE) + # Some POSIX systems don't have it (e.g. Macos) + check_symbol_exists("posix_fallocate" "fcntl.h" HAVE_POSIX_FALLOCATE) check_symbol_exists("posix_madvise" "sys/mman.h" HAVE_POSIX_MADVISE) - check_function_exists("putenv" HAVE_PUTENV) - check_function_exists("setsid" HAVE_SETSID) - check_function_exists("shutdown" HAVE_SHUTDOWN) - check_function_exists("sigaction" HAVE_SIGACTION) -
MonetDB: mbedded - merged
Changeset: edc267f8e320 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=edc267f8e320 Modified Files: monetdb5/mal/mal.h monetdb5/mal/mal_instruction.c monetdb5/mal/mal_listing.c monetdb5/mal/mal_parser.c monetdb5/mal/mal_prelude.c monetdb5/optimizer/opt_support.c Branch: mbedded Log Message: merged diffs (285 lines): diff --git a/monetdb5/mal/mal.h b/monetdb5/mal/mal.h --- a/monetdb5/mal/mal.h +++ b/monetdb5/mal/mal.h @@ -185,8 +185,7 @@ typedef struct MALBLK { InstrPtr *stmt; /* Instruction location */ bool inlineProp:1, /* inline property */ -unsafeProp:1, /* unsafe property */ -sealedProp:1; /* sealed property (opertions for sealed object should be on the full object once) */ +unsafeProp:1; /* unsafe property */ str errors; /* left over errors */ struct MALBLK *history; /* of optimizer actions */ diff --git a/monetdb5/mal/mal_instruction.c b/monetdb5/mal/mal_instruction.c --- a/monetdb5/mal/mal_instruction.c +++ b/monetdb5/mal/mal_instruction.c @@ -136,7 +136,6 @@ newMalBlk(int elements) mb->maxarg = MAXARG;/* the minimum for each instruction */ mb->inlineProp = 0; mb->unsafeProp = 0; - mb->sealedProp = 0; mb->replica = NULL; mb->starttime = 0; mb->runtime = 0; @@ -256,7 +255,6 @@ freeMalBlk(MalBlkPtr mb) mb->help = 0; mb->inlineProp = 0; mb->unsafeProp = 0; - mb->sealedProp = 0; GDKfree(mb->errors); GDKfree(mb); } @@ -350,7 +348,6 @@ copyMalBlk(MalBlkPtr old) mb->maxarg = old->maxarg; mb->inlineProp = old->inlineProp; mb->unsafeProp = old->unsafeProp; - mb->sealedProp = old->sealedProp; return mb; } diff --git a/monetdb5/mal/mal_listing.c b/monetdb5/mal/mal_listing.c --- a/monetdb5/mal/mal_listing.c +++ b/monetdb5/mal/mal_listing.c @@ -183,8 +183,6 @@ fcnDefinition(MalBlkPtr mb, InstrPtr p, return base; if( mb->unsafeProp && !copystring(&t, "unsafe ", &len)) return base; - if( mb->sealedProp && !copystring(&t, "sealed ", &len)) - return base; if (!copystring(&t, operatorName(p->token), &len) || !copystring(&t, " ", &len) || !copystring(&t, getModuleId(p) ? getModuleId(p) : "user", &len) || diff --git a/monetdb5/mal/mal_parser.c b/monetdb5/mal/mal_parser.c --- a/monetdb5/mal/mal_parser.c +++ b/monetdb5/mal/mal_parser.c @@ -1763,7 +1763,7 @@ parseMAL(Client cntxt, Symbol curPrg, in int cntrl = 0; /*Symbol curPrg= cntxt->curprg;*/ char c; - int inlineProp =0, unsafeProp = 0, sealedProp = 0; + int inlineProp =0, unsafeProp = 0; (void) curPrg; echoInput(cntxt); @@ -1845,15 +1845,12 @@ parseMAL(Client cntxt, Symbol curPrg, in MalBlkPtr p = parseCommandPattern(cntxt, COMMANDsymbol); if (p) { p->unsafeProp = unsafeProp; - p->sealedProp = sealedProp; } cntxt->curprg->def->unsafeProp = unsafeProp; - cntxt->curprg->def->sealedProp = sealedProp; if (inlineProp) parseError(cntxt, " expected\n"); inlineProp = 0; unsafeProp = 0; - sealedProp = 0; continue; } if (MALkeyword(cntxt, "catch", 5)) { @@ -1877,13 +1874,10 @@ parseMAL(Client cntxt, Symbol curPrg, in cntxt->blkmode++; if ((p = parseFunction(cntxt, FUNCTIONsymbol))){ p->unsafeProp = unsafeProp; - p->sealedProp = sealedProp; cntxt->curprg->def->inlineProp = inlineProp; cntxt->curprg->def->unsafeProp = unsafeProp; - cntxt->curprg->def->sealedProp = sealedProp; inlineProp = 0; unsafeProp = 0; - sealedProp = 0; break; } } else if (MALkeyword(cntxt, "factory", 7)) { @@ -1891,11 +1885,8 @@ parseMAL(Client cntxt, Symbol curPrg, in parseError(cntxt, "parseError:INLINE ignored\n"); if( un
MonetDB: mbedded - merged
Changeset: 60229476b63c for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=60229476b63c Added Files: monetdb5/mal/mal_prelude.c monetdb5/mal/mal_prelude.h Modified Files: README.md monetdb5/mal/CMakeLists.txt monetdb5/mal/mal_import.c monetdb5/mal/mal_import.h monetdb5/mal/mel.h Branch: mbedded Log Message: merged diffs (truncated from 578 to 300 lines): diff --git a/README.md b/README.md --- a/README.md +++ b/README.md @@ -14,14 +14,20 @@ to build and *install* it from source. I ``` mkdir build cd build -cmake -DCMAKE_INSTALL_PREFIX=/tmp/monetdb ${SOURCE} +cmake -DCMAKE_INSTALL_PREFIX=$PREFIX ${SOURCE} cmake --build . cmake --build . --target install ``` +## Prerequisites +PATH settings ??? +ROle of clients?? How to install + ## Testing For testing, you likely don't want to install in the default location, so you need to add a parameter to the cmake command. -The install directory is passed via the CMAKE\_INSTALL\_PREFIX. + +The MonetDB Mtest.py program is installed in $PREFIX/lib/python3.7/site-packages/. +You have to set or extend the environment variable $PYTHON3PATH to include this location for Mtest. ##Configuration options Evidently there are several options to control as illustrated in $SOURCE/cmake/monetdb-options.cmake @@ -32,7 +38,21 @@ The Debug mode is necessary if you plan This build type also typically leads to a slower execution time, because also all kinds of assertions are being checked. -The relevant properties are also -DASSERT=ON and DSTRICT=ON +Other relevant properties are also -DASSERT=ON and DSTRICT=ON, used in combination with a Debug build, e.g. + + +``` +CONFIGURE_OPTIONS="-DCMAKE_BUILD_TYPE=Debug -DASSERT=ON -DSTRICT=ON" +mkdir build +cd build +cmake $CONFIGURE_OPTIONS -DCMAKE_INSTALL_PREFIX=$PREFIX ${SOURCE} +cmake --build . +cmake --build . --target install +``` + + +Explain the role of cmake --build . --target mtest +In particular how to call it from anywhere in the tree ## Platform specifics The packages required to built MonetDB from source depends mostly on the operating system environment. diff --git a/monetdb5/mal/CMakeLists.txt b/monetdb5/mal/CMakeLists.txt --- a/monetdb5/mal/CMakeLists.txt +++ b/monetdb5/mal/CMakeLists.txt @@ -50,6 +50,7 @@ target_sources(mal mal_utils.c mal_utils.h mal_embedded.c mal_embedded.h mal_private.h + mal_prelude.c mel.h PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/mal_client.h diff --git a/monetdb5/mal/mal_import.c b/monetdb5/mal/mal_import.c --- a/monetdb5/mal/mal_import.c +++ b/monetdb5/mal/mal_import.c @@ -33,180 +33,6 @@ #include "mal_authorize.h" #include "mal_private.h" -#define MAX_MAL_MODULES 128 -static int mel_modules = 0; -static str mel_module_name[MAX_MAL_MODULES] = {0}; -static mel_atom *mel_module_atoms[MAX_MAL_MODULES] = {0}; -static mel_func *mel_module_funcs[MAX_MAL_MODULES] = {0}; - -void -mal_module(str name, mel_atom *atoms, mel_func *funcs) -{ - assert (mel_modules < MAX_MAL_MODULES); - mel_module_name[mel_modules] = name; - mel_module_atoms[mel_modules] = atoms; - mel_module_funcs[mel_modules] = funcs; - mel_modules++; -} - -#define MAX_MAL_MODULES 128 -static int mal_modules = 0; -static str mal_module_name[MAX_MAL_MODULES] = {0}; -static unsigned char *mal_module_code[MAX_MAL_MODULES] = {0}; - -static void -initModule(Client c, char *name) -{ - if (!getName(name)) - return; - Module m = getModule(getName(name)); - if (m) { /* run prelude */ - Symbol s = findSymbolInModule(m, getName("prelude")); - - if (s) { - InstrPtr pci = getInstrPtr(s->def, 0); - - if (pci && pci->token == COMMANDsymbol && pci->argc == 1) { - int ret = 0; - - assert(pci->fcn != NULL); - (*pci->fcn)(&ret); - (void)ret; - } else if (pci && pci->token == PATTERNsymbol) { - assert(pci->fcn != NULL); - (*pci->fcn)(c, NULL, NULL, NULL); - } - } - } -} - -void -mal_register(str name, unsigned char *code) -{ - assert (mal_modules < MAX_MAL_MODULES); - mal_module_name[mal_modules] = name; - mal_module_code[mal_modules] = code; - mal_modules++; -} - -static str -addAtom( mel_atom *atoms) -{ - for(; atoms && atoms->name; atoms++) { - int i = ATOMallocate(atoms->name); - if (is_int_nil(i)) - throw(TYPE,"addAtom", SQLSTATE(HY013) MAL_MALLOC_FAIL); - if (atoms->basetype) { - int tpe = ATOMindex(atoms->basetype); - if (tpe < 0) -
MonetDB: mbedded - merged
Changeset: fdf5015180ac for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=fdf5015180ac Modified Files: README.md Branch: mbedded Log Message: merged diffs (30 lines): diff --git a/README.md b/README.md --- a/README.md +++ b/README.md @@ -7,7 +7,9 @@ The results of the build are stored in a to the location you want the binaries to be stored. Make sure you have these environment variables set and you have write permissions to the ${PREFIX} location -Assuming the monetdb source code is checked out in directory "${SOURCE}". +Assuming the monetdb source code is checked out in directory ${SOURCE}. +And if you have all the required packages(See below) to build MonetDB, these are the set of commands +to build and *install* it from source. Install is one of the predefined commands [install, test, mtest] ``` mkdir build @@ -33,9 +35,13 @@ are being checked. The relevant properties are also -DASSERT=ON and DSTRICT=ON ## Platform specifics -### Debian +The packages required to built MonetDB from source depends mostly on the operating system environment. +They are specified in the corresponding README files, -## Fedora +README-Debian which version + +README-Fedora Which version + ## Windows ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: mbedded - merged with default
Changeset: de1c945ff27c for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=de1c945ff27c Added Files: sql/test/miscellaneous/Tests/simple_plans.sql sql/test/miscellaneous/Tests/simple_plans.stable.err sql/test/miscellaneous/Tests/simple_plans.stable.out sql/test/miscellaneous/Tests/trigger_projection.sql sql/test/miscellaneous/Tests/trigger_projection.stable.err sql/test/miscellaneous/Tests/trigger_projection.stable.out sql/test/subquery/Tests/subquery6.sql sql/test/subquery/Tests/subquery6.stable.err sql/test/subquery/Tests/subquery6.stable.out Modified Files: ChangeLog.Jun2020 MonetDB.spec buildtools/selinux/monetdb.te clients/ChangeLog.Jun2020 clients/Tests/MAL-signatures.stable.out clients/Tests/MAL-signatures.stable.out.int128 clients/Tests/exports.stable.out clients/mapiclient/dump.c clients/mapiclient/mclient.c clients/mapiclient/mhelp.c common/stream/stream.h common/utils/mstring.h gdk/ChangeLog.Jun2020 gdk/gdk.h gdk/gdk_aggr.c gdk/gdk_analytic_func.c gdk/gdk_bat.c gdk/gdk_batop.c gdk/gdk_bbp.c gdk/gdk_calc.c gdk/gdk_cand.c gdk/gdk_cross.c gdk/gdk_firstn.c gdk/gdk_group.c gdk/gdk_heap.c gdk/gdk_join.c gdk/gdk_project.c gdk/gdk_select.c gdk/gdk_tracer.c gdk/gdk_unique.c monetdb5/ChangeLog.Jun2020 monetdb5/mal/mal_import.c monetdb5/modules/kernel/algebra.c monetdb5/modules/kernel/algebra.h monetdb5/modules/kernel/algebra.mal monetdb5/modules/mal/mkey.c monetdb5/optimizer/opt_mergetable.c sql/ChangeLog.Jun2020 sql/backends/monet5/rel_bin.c sql/backends/monet5/sql.c sql/backends/monet5/sql_execute.c sql/backends/monet5/sql_statement.c sql/backends/monet5/sql_statement.h sql/backends/monet5/sql_upgrades.c sql/backends/monet5/sql_user.c sql/benchmarks/tpcds/Tests/alter.timeout sql/common/sql_changeset.c sql/common/sql_hash.c sql/common/sql_keyword.c sql/common/sql_list.c sql/common/sql_mem.c sql/common/sql_stack.c sql/include/sql_mem.h sql/include/sql_relation.h sql/rel.txt sql/scripts/25_debug.sql sql/scripts/51_sys_schema_extension.sql sql/server/rel_distribute.c sql/server/rel_dump.c sql/server/rel_exp.c sql/server/rel_optimizer.c sql/server/rel_partition.c sql/server/rel_prop.c sql/server/rel_propagate.c sql/server/rel_psm.c sql/server/rel_rel.c sql/server/rel_rel.h sql/server/rel_rewriter.c sql/server/rel_rewriter.h sql/server/rel_schema.c sql/server/rel_select.c sql/server/rel_semantic.c sql/server/rel_unnest.c sql/server/rel_unnest.h sql/server/rel_updates.c sql/server/sql_env.c sql/server/sql_env.h sql/server/sql_partition.c sql/server/sql_qc.c sql/storage/bat/bat_logger.c sql/storage/sql_storage.h sql/storage/store.c sql/storage/store_sequence.c sql/test/BugDay_2005-10-06_2.9.3/Tests/bool_boolean.SF-935601.stable.out sql/test/BugDay_2005-12-19_2.9.3/Tests/subselect_cardinality.SF-1240701.1242164.stable.err sql/test/BugTracker-2008/Tests/is_distinct_broken.SF-2430201.stable.err sql/test/BugTracker-2008/Tests/sql_command_kills_db.SF-2233677.stable.err sql/test/BugTracker-2009/Tests/copy_multiple_files.SF-2902320.stable.out sql/test/BugTracker-2009/Tests/copy_multiple_files.SF-2902320.stable.out.Windows sql/test/BugTracker-2010/Tests/ORDER_BY_over_UNION_EXCEPT_INTERSECT.Bug-2606.stable.out sql/test/BugTracker-2013/Tests/pivot.Bug-3339.stable.err sql/test/BugTracker-2015/Tests/crash.Bug-3736.stable.out sql/test/BugTracker-2016/Tests/memory-consumption-query-PLAN-25joins.Bug-3972.stable.out sql/test/BugTracker-2016/Tests/rename_exps.Bug-3974.stable.out sql/test/BugTracker-2017/Tests/exist-bigint-missing.Bug-6315.stable.err sql/test/BugTracker-2017/Tests/groupby_assertion.Bug-6338.stable.err sql/test/BugTracker-2017/Tests/lateral.Bug-6310.stable.err sql/test/BugTracker-2017/Tests/side-effect.Bug-6397.stable.out sql/test/BugTracker-2017/Tests/side-effect.Bug-6397.stable.out.single sql/test/BugTracker-2017/Tests/type-resolution-error.Bugs-6313.stable.err sql/test/BugTracker-2018/Tests/alter-sequence-subquery.Bug-6657.stable.err sql/test/BugTracker/Tests/bug_in_selection.SF-1892413.stable.err sql/test/BugTracker/Tests/insert_values.SF-1578838.stable.err sql/test/Dependencies/Tests/Dependencie
MonetDB: mbedded - merged with default
Changeset: 6d00dfc088ac for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=6d00dfc088ac Added Files: clients/odbc/ChangeLog.Jun2020 Modified Files: ChangeLog.Jun2020 MonetDB.spec buildtools/conf/monetdbd.conf buildtools/selinux/monetdb.fc buildtools/selinux/monetdb.te clients/ChangeLog.Jun2020 clients/Tests/MAL-signatures.stable.out clients/Tests/MAL-signatures.stable.out.int128 clients/Tests/exports.stable.out clients/odbc/driver/ODBCUtil.c clients/odbc/driver/SQLColumnPrivileges.c clients/odbc/driver/SQLColumns.c clients/odbc/driver/SQLForeignKeys.c clients/odbc/driver/SQLPrepare.c clients/odbc/driver/SQLPrimaryKeys.c clients/odbc/driver/SQLProcedureColumns.c clients/odbc/driver/SQLProcedures.c clients/odbc/driver/SQLSpecialColumns.c clients/odbc/driver/SQLStatistics.c clients/odbc/driver/SQLTablePrivileges.c clients/odbc/driver/SQLTables.c debian/control debian/monetdb5-server.dirs debian/monetdb5-server.postinst debian/monetdb5-sql.install debian/monetdb5-sql.postinst gdk/ChangeLog.Jun2020 gdk/gdk_system.h gdk/gdk_tracer.c gdk/gdk_tracer.h gdk/gdk_utils.c monetdb5/ChangeLog.Jun2020 monetdb5/modules/atoms/mtime.c monetdb5/modules/atoms/mtime.mal monetdb5/modules/mal/mdb.c rpm.mk.in sql/backends/monet5/sql_statement.c sql/backends/monet5/sql_upgrades.c sql/common/sql_types.c sql/server/rel_optimizer.c sql/server/rel_propagate.c sql/server/rel_updates.c sql/test/BugDay_2005-11-09_2.9.3/Tests/date_functions.SF-967145.stable.out sql/test/BugTracker-2016/Tests/date_calculation_and_comparison_wrong_results.Bug-3940.sql sql/test/BugTracker-2016/Tests/date_calculation_and_comparison_wrong_results.Bug-3940.stable.out sql/test/Tests/hot-snapshot.py sql/test/VOC/Tests/median.Bug-3096.stable.out sql/test/bugs/Tests/default_with_cast.SF-1334486.stable.out 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/emptydb/Tests/check.stable.out sql/test/emptydb/Tests/check.stable.out.32bit sql/test/emptydb/Tests/check.stable.out.int128 sql/test/pg_regress/Tests/date.stable.out sql/test/sys-schema/Tests/systemfunctions.stable.out sql/test/sys-schema/Tests/systemfunctions.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 tools/merovingian/ChangeLog.Jun2020 Branch: mbedded Log Message: merged with default diffs (truncated from 3457 to 300 lines): diff --git a/ChangeLog.Jun2020 b/ChangeLog.Jun2020 --- a/ChangeLog.Jun2020 +++ b/ChangeLog.Jun2020 @@ -1,9 +1,22 @@ # ChangeLog file for devel # This file is updated with Maddlog +* Mon Apr 20 2020 Sjoerd Mullender +- A new system to deal with debug output has been implemented. There is + now an option --dbtrace to mserver5 that takes a file argument to which + debug output is written. The default value is the file mdbtrace.log + inside the database directory. This option can also be set through + the monetdb program. +- The home directory of the automatically created monetdb user was + changed from /var/MonetDB to /var/lib/monetdb (RPM based systems + only). This home directory is (currently) not used for anything, + though. +- Python 2 support has been removed. There is now only support for + using Python 3. + * Tue Feb 18 2020 Thodoris Zois - Added mserver5 option (--dbtrace=) in order to be able to - specify the output directory of the produced traces. + specify the output file any prod
MonetDB: mbedded - merged with default
Changeset: 30a3b3759cdb for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=30a3b3759cdb Modified Files: gdk/gdk_utils.c monetdb5/mal/mal_profiler.c monetdb5/modules/atoms/json.c sql/backends/monet5/sql_upgrades.c sql/server/rel_exp.c sql/server/rel_rel.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/emptydb/Tests/check.stable.out sql/test/emptydb/Tests/check.stable.out.int128 sql/test/json/Tests/All sql/test/json/Tests/jsonvalidity.Bug-3753.sql sql/test/json/Tests/jsonvalidity.Bug-3753.stable.out sql/test/sys-schema/Tests/systemfunctions.stable.out sql/test/sys-schema/Tests/systemfunctions.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 sql/test/testdb/Tests/dump-nogeom.stable.out Branch: mbedded Log Message: merged with default diffs (truncated from 1242 to 300 lines): diff --git a/gdk/gdk_utils.c b/gdk/gdk_utils.c --- a/gdk/gdk_utils.c +++ b/gdk/gdk_utils.c @@ -573,7 +573,7 @@ MT_init(void) struct rlimit l; /* address space (virtual memory) limit */ if (getrlimit(RLIMIT_AS, &l) == 0 - && (size_t)l.rlim_cur != RLIM_INFINITY + && l.rlim_cur != (rlim_t)RLIM_INFINITY && (size_t)l.rlim_cur < GDK_vm_maxsize) { GDK_vm_maxsize = l.rlim_cur; } diff --git a/monetdb5/mal/mal_profiler.c b/monetdb5/mal/mal_profiler.c --- a/monetdb5/mal/mal_profiler.c +++ b/monetdb5/mal/mal_profiler.c @@ -257,9 +257,13 @@ This information can be used to determin logadd(",\"file\":\"%s\"", cv + 1); GDKfree(cv); total += cnt * d->twidth; - total += heapinfo(d->tvheap, d->batCacheid); - total += hashinfo(d->thash, d->batCacheid); - total += IMPSimprintsize(d); + /* keeping information about the individual auxiliary heaps is helpful during analysis. */ + if( d->thash) + logadd(",\"hash\":" LLFMT, (lng) hashinfo(d->thash, d->batCacheid)); + if( d->tvheap) + logadd(",\"vheap\":" LLFMT, (lng) heapinfo(d->tvheap, d->batCacheid)); + if( d->timprints) + logadd(",\"imprints\":" LLFMT, (lng) IMPSimprintsize(d)); /* logadd("\"debug\":\"%s\",", d->debugmessages); */ BBPunfix(d->batCacheid); } diff --git a/monetdb5/modules/atoms/json.c b/monetdb5/modules/atoms/json.c --- a/monetdb5/modules/atoms/json.c +++ b/monetdb5/modules/atoms/json.c @@ -769,13 +769,13 @@ JSONstringParser(const char *j, const ch static bool JSONintegerParser(const char *j, const char **next) { - if (*j == '-') -j++; + if (*j == '-') + j++; - // skipblancs(j); - if (!isdigit((unsigned char)*j)) { -*next = j; -return false; + // skipblancs(j); + if (!isdigit((unsigned char)*j)) { + *next = j; + return false; } if (*j == '0') { @@ -784,7 +784,7 @@ JSONintegerParser(const char *j, const c } for(; *j; j++) - if (!(isdigit((unsigned char) *j) && *j != '0')) + if (!(is
MonetDB: mbedded - merged with default
Changeset: 880311d948f8 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=880311d948f8 Added Files: sql/test/analytics/Tests/analytics18.sql sql/test/analytics/Tests/analytics18.stable.err sql/test/analytics/Tests/analytics18.stable.out Modified Files: clients/ChangeLog.Jun2020 clients/Tests/MAL-signatures.stable.out clients/Tests/MAL-signatures.stable.out.int128 clients/mapilib/mapi.c clients/mapilib/monetdb-mapi.pc.in common/stream/monetdb-stream.pc.in common/utils/mcrypt.c common/utils/mcrypt.h configure.ag gdk/gdk_calc.c gdk/monetdb-gdk.pc.in monetdb5/mal/mal_authorize.c monetdb5/mal/mal_client.c monetdb5/mal/mal_runtime.c monetdb5/modules/mal/querylog.c monetdb5/optimizer/opt_mitosis.c monetdb5/tools/monetdb5.pc.in sql/ChangeLog.Jun2020 sql/backends/monet5/sql.c sql/backends/monet5/sql.mal sql/backends/monet5/sql_execute.c sql/backends/monet5/sql_gencode.c sql/backends/monet5/sql_orderidx.c sql/backends/monet5/sql_result.c sql/backends/monet5/sql_session.mal sql/backends/monet5/sql_statistics.c sql/backends/monet5/sql_transaction.mal sql/backends/monet5/sql_upgrades.c sql/backends/monet5/sql_upgrades.h sql/scripts/25_debug.sql sql/scripts/58_hot_snapshot.sql sql/server/rel_dump.c sql/server/rel_exp.c sql/server/rel_exp.h sql/server/rel_optimizer.c sql/server/rel_partition.c sql/server/rel_propagate.c sql/server/rel_psm.c sql/server/rel_rel.c sql/server/rel_schema.c sql/server/rel_select.c sql/server/rel_select.h sql/server/rel_sequence.c sql/server/rel_unnest.c sql/server/rel_updates.c sql/server/rel_updates.h sql/test/BugTracker-2010/Tests/LIMIT_OFFSET_big-endian.Bug-2622.stable.out sql/test/analytics/Tests/All 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/emptydb/Tests/check.stable.out sql/test/emptydb/Tests/check.stable.out.32bit sql/test/emptydb/Tests/check.stable.out.int128 sql/test/sample/Tests/sample.15.stable.out sql/test/subquery/Tests/subquery5.sql sql/test/subquery/Tests/subquery5.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 testing/Mtest.py.in tools/merovingian/daemon/argvcmds.c tools/merovingian/utils/control.c Branch: mbedded Log Message: merged with default diffs (truncated from 7526 to 300 lines): diff --git a/clients/ChangeLog.Jun2020 b/clients/ChangeLog.Jun2020 --- a/clients/ChangeLog.Jun2020 +++ b/clients/ChangeLog.Jun2020 @@ -1,6 +1,11 @@ # ChangeLog file for clients # This file is updated with Maddlog +* Thu Apr 16 2020 Sjoerd Mullender +- Removed the possibility of using the MD5 checksum for authentication + purposes. It was never actively used but was there as an option. + Now the option has been removed. + * Fri Oct 25 2019 Pedro Ferreira - Added 'sessionid' column to system function sys.queue(), so each query gets tagged with the current session identifier 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 @@ -11357,9 +11357,9 @@ stdout of test 'MAL-signatures` in direc [ "batsql","lead", "pattern batsql.lead(b:bat[:any_1], p:any_3, o:any_4):bat[:any_1] ","SQLlead;", "return the value in the next row in the partition or NULL if non existent" ] [ "batsql","max", "pattern batsql.max(b:bat[:any_1], s:
MonetDB: mbedded - merged with default
Changeset: b2efdca7d3db for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=b2efdca7d3db Modified Files: MonetDB.spec NT/Makefile NT/rules.msc NT/winconfig.py buildtools/autogen/autogen/am.py buildtools/autogen/autogen/msc.py debian/changelog gdk/gdk.h gdk/gdk_bat.c gdk/gdk_bbp.c gdk/gdk_hash.c gdk/gdk_imprints.c gdk/gdk_orderidx.c gdk/gdk_storage.c gdk/gdk_system.c gdk/gdk_system.h gdk/gdk_utils.c monetdb5/mal/mal_client.c monetdb5/mal/mal_dataflow.c monetdb5/modules/mal/mal_mapi.c monetdb5/modules/mal/tablet.c monetdb5/optimizer/opt_support.c sql/ChangeLog.Jun2020 sql/backends/monet5/mal_backend.c sql/backends/monet5/sql_gencode.c sql/backends/monet5/sql_statement.c sql/backends/monet5/sql_upgrades.c sql/common/sql_types.c sql/scripts/51_sys_schema_extension.sql sql/server/rel_exp.c sql/server/rel_select.c sql/server/rel_unnest.c sql/server/rel_updates.c sql/server/sql_atom.c sql/server/sql_parser.y sql/server/sql_partition.c sql/server/sql_query.c sql/server/sql_scan.c sql/server/sql_semantic.c sql/server/sql_tokens.h sql/storage/bat/bat_storage.c sql/storage/sql_storage.h sql/storage/store.c sql/test/BugTracker-2015/Tests/project_rewrite.Bug-3693.sql sql/test/Tests/hot-snapshot.py 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/miscellaneous/Tests/simple_selects.sql sql/test/miscellaneous/Tests/simple_selects.stable.err sql/test/subquery/Tests/subquery5.sql sql/test/subquery/Tests/subquery5.stable.err sql/test/subquery/Tests/subquery5.stable.out testing/Mtest.py.in Branch: mbedded Log Message: merged with default diffs (truncated from 1500 to 300 lines): diff --git a/MonetDB.spec b/MonetDB.spec --- a/MonetDB.spec +++ b/MonetDB.spec @@ -5062,20 +5062,20 @@ fi * Fri May 13 2011 Sjoerd Mullender - 11.3.3-20110517 - gdk: Fixed a bug where large files (> 2GB) didn't always get deleted on -Windows. + Windows. * Wed May 11 2011 Fabian Groffen - 11.3.3-20110517 - java: Insertion via PreparedStatement and retrieval via ResultSet of timestamp -and time fields with and without timezones was improved to better -respect timezones, as partly indicated in bug #2781. + and time fields with and without timezones was improved to better + respect timezones, as partly indicated in bug #2781. * Wed May 11 2011 Sjoerd Mullender - 11.3.3-20110517 - monetdb5: Fixed a bug in conversion from string to the URL type. The bug was -an incorrect call to free(). + an incorrect call to free(). * Wed Apr 27 2011 Sjoerd Mullender - 11.3.3-20110517 - geom: Fixed various problems so that now all our tests work correctly on -all our testing platforms. + all our testing platforms. * Thu Apr 21 2011 Sjoerd Mullender - 11.3.1-20110421 - Rebuilt. diff --git a/NT/Makefile b/NT/Makefile --- a/NT/Makefile +++ b/NT/Makefile @@ -64,7 +64,6 @@ targetdirs: if not exist "$(libexecdir)"$(MKDIR) "$(libexecdir)" if not exist "$(datadir)" $(MKDIR) "$(datadir)" if not exist "$(sysconfdir)"$(MKDIR) "$(sysconfdir)" - if not exist "$(sharedstatedir)"$(MKDIR) "$(sharedstatedir)" if not exist "$(localstatedir)" $(MKDIR) "$(localstatedir)" if not exist "$(libdir)"$(MKDIR) "$(libdir)" if not exist "$(infodir)" $(MKDIR) "$(infodir)" diff --git a/NT/rules.msc b/NT/rules.msc --- a/NT/rules.msc +++ b/NT/rules.msc @@ -218,7 +218,6 @@ sbindir = $(exec_prefix)\sbin libexecdir = $(exec_prefix)\libexec datadir = $(prefix)\share sysconfdir = $(prefix)\etc -sharedstatedir = $(prefix)\com localstatedir = $(prefix)\var libdir = $(exec_prefix)\lib infodir = $(prefix)\info diff --git a/NT/winconfig.py b/NT/winconfig.py --- a/NT/winconfig.py +++ b/NT/winconfig.py @@ -18,7 +18,6 @@ subs = [("@exec_prefix@", r'%prefix%'), ("@datadir@", r'%prefix%\share'), ("@datarootdir@", r'%prefix%\share'), ("@sysconfdir@", r'%prefix%\etc'), -("@sharedstatedir@", r'%prefix%\com'), ("@localstatedir@", r'%prefix%\var'), ("@libdir@", r'%exec_prefix%\lib'), ("@infodir@", r'%prefix%\info'), diff --git a/buildtools/autogen/autogen/am.py b/buildtools/autogen/autogen/am.py --- a/buildtools/autogen/autogen/am.py +++ b/buildtools/autogen/autogen/am.py @@ -853,7 +853,7 @@ def am_translate_dir(path, am): 'libdir', 'libexecdir', 'localstatedir', 'mandir', 'oldincludedir', 'pkgbindir', 'pkgdatadir', 'pkgin
MonetDB: mbedded - merged with default
Changeset: 5df7adacf00d for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=5df7adacf00d Modified Files: sql/server/rel_select.c sql/server/rel_unnest.c sql/server/rel_unnest.h sql/test/Tests/hot-snapshot.py sql/test/subquery/Tests/subquery3.stable.err sql/test/subquery/Tests/subquery5.stable.err Branch: mbedded Log Message: merged with default diffs (truncated from 329 to 300 lines): diff --git a/sql/server/rel_select.c b/sql/server/rel_select.c --- a/sql/server/rel_select.c +++ b/sql/server/rel_select.c @@ -1191,7 +1191,7 @@ rel_column_ref(sql_query *query, sql_rel if (exp) break; } - if (exp && outer && outer->card <= CARD_AGGR && exp->card > CARD_AGGR && (!is_sql_aggr(f) || is_sql_farg(f))) + if (exp && outer && outer->card <= CARD_AGGR && exp->card > CARD_AGGR && !is_sql_aggr(f)) return sql_error(sql, ERR_GROUPBY, SQLSTATE(42000) "SELECT: cannot use non GROUP BY column '%s' in query results without an aggregate function", name); if (exp && outer && !is_sql_aggr(f)) { if (query_outer_used_exp( query, i, exp, f)) { @@ -1257,7 +1257,7 @@ rel_column_ref(sql_query *query, sql_rel if (exp) break; } - if (exp && outer && outer->card <= CARD_AGGR && exp->card > CARD_AGGR && (!is_sql_aggr(f) || is_sql_farg(f))) + if (exp && outer && outer->card <= CARD_AGGR && exp->card > CARD_AGGR && !is_sql_aggr(f)) return sql_error(sql, ERR_GROUPBY, SQLSTATE(42000) "SELECT: cannot use non GROUP BY column '%s.%s' in query results without an aggregate function", tname, cname); if (exp && outer && !is_sql_aggr(f)) { if (query_outer_used_exp( query, i, exp, f)) { @@ -3349,14 +3349,16 @@ static sql_exp * exps = sa_list(sql->sa); if (args && args->data.sym) { - int ungrouped_col = -1, i, all_aggr = query_has_outer(query); + int i, all_aggr = query_has_outer(query); + bool found_nested_aggr = false; + list *ungrouped_cols = NULL; + all_freevar = 1; - bool found_nested_aggr = false; for (i = 0; args && args->data.sym; args = args->next, i++) { int base = (!groupby || !is_project(groupby->op) || is_base(groupby->op) || is_processed(groupby)); - bool found_one = false; - sql_rel *outer = NULL, *gl = base?groupby:groupby->l, *ogl = gl; /* handle case of subqueries without correlation */ - sql_exp *e = rel_value_exp(query, &gl, args->data.sym, (f | sql_aggr)& ~sql_farg, ek), *a = NULL; + sql_rel *gl = base?groupby:groupby->l, *ogl = gl; /* handle case of subqueries without correlation */ + sql_exp *e = rel_value_exp(query, &gl, args->data.sym, (f | sql_aggr)& ~sql_farg, ek); + bool found_one_freevar = false; has_args = true; if (gl && gl != ogl) { @@ -3384,38 +3386,15 @@ static sql_exp * return e; } - if (is_freevar(e) && e->type == e_column) { - if ((outer = query_fetch_outer(query, is_freevar(e)-1))) { - if ((a = rel_find_exp(outer, e)) && is_aggr(a->type)) - return sql_error(sql, 05, SQLSTATE(42000) "SELECT: aggregate function calls cannot be nested"); - } - } - - if (all_aggr) { - /* get expression from outer */ - int aggr = 0; - if (a) - aggr = is_aggr(a->type); - else if (outer && outer->grouped) - ungrouped_col = i; - all_aggr &= aggr; - } else { - all_aggr &= (exp_card(e) <= CARD_AGGR && !exp_is_atom(e) && is_aggr(e->type) && !is_func(e->type) && (!groupby || !is_groupby(groupby->op) || !groupby->r || !exps_find_exp(groupby->r, e))); - } - all_freevar &= (exp_only_freevar(query, e, &found_one, &found_nested_aggr) && found_one); + all_aggr &= (exp_card(e) <= CARD_AGGR && !exp_is_atom(e) && is_aggr(e->type) && !is_func(e->type) && (!groupby || !is_groupby(groupby->op) || !
MonetDB: mbedded - merged with default
Changeset: eae571141118 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=eae571141118 Added Files: sql/test/miscellaneous/Tests/create_func_temp.sql sql/test/miscellaneous/Tests/create_func_temp.stable.err sql/test/miscellaneous/Tests/create_func_temp.stable.out Modified Files: clients/examples/perl/sqlsample.pl clients/mapiclient/dotmonetdb.c clients/mapiclient/mclient.c clients/odbc/driver/ODBCConvert.c clients/odbc/driver/ODBCUtil.c clients/odbc/driver/SQLPrepare.c common/utils/msabaoth.c common/utils/mstring.h gdk/gdk.h gdk/gdk_aggr.c gdk/gdk_analytic.h gdk/gdk_bbp.c gdk/gdk_logger.c gdk/gdk_string.c gdk/gdk_time.c gdk/gdk_tracer.c gdk/gdk_utils.c geom/lib/libgeom.c geom/monetdb5/geom.c monetdb5/mal/mal_runtime.c monetdb5/modules/kernel/status.c monetdb5/modules/mal/mal_io.c sql/backends/monet5/rel_bin.c sql/backends/monet5/sql_gencode.c sql/backends/monet5/sql_statement.c sql/backends/monet5/sql_upgrades.c sql/server/rel_prop.c sql/server/rel_psm.c sql/server/rel_rel.c sql/server/rel_select.c sql/server/rel_unnest.c sql/server/rel_unnest.h sql/server/sql_mvc.c sql/server/sql_scan.c sql/server/sql_scan.h sql/storage/store.c sql/test/BugTracker-2009/Tests/assert_in_update.SF-2807336.stable.err sql/test/BugTracker-2009/Tests/assert_in_update.SF-2807336.stable.out sql/test/BugTracker-2014/Tests/copy-into.Bug-3481.SQL.py sql/test/BugTracker-2014/Tests/current_timestamp.Bug-3427.sql sql/test/BugTracker-2014/Tests/current_timestamp.Bug-3427.stable.err sql/test/BugTracker-2014/Tests/utf8bom.Bug-3436.SQL.py sql/test/BugTracker-2016/Tests/convert-function-test.Bug-3460.sql sql/test/BugTracker-2016/Tests/convert-function-test.Bug-3460.stable.out sql/test/BugTracker-2016/Tests/convert-function-test.Bug-3460.stable.out.int128 sql/test/BugTracker-2017/Tests/error-clean-cache.Bug-6351.sql sql/test/BugTracker-2017/Tests/error-clean-cache.Bug-6351.stable.err sql/test/BugTracker-2017/Tests/error-clean-cache.Bug-6351.stable.out sql/test/BugTracker-2019/Tests/copy-into-from-stdin-empty-line.Bug-6669.sql sql/test/BugTracker-2019/Tests/insert-into-select.Bug-6718.sql sql/test/BugTracker-2019/Tests/python-loader-string.Bug-6759.py sql/test/Tests/session_vars.sql sql/test/Tests/session_vars.stable.err sql/test/Tests/session_vars.stable.out sql/test/Tests/unicode.sql sql/test/Tests/unicode.stable.out sql/test/Users/Tests/copyinto.SQL.py sql/test/Users/Tests/copyinto.stable.err sql/test/mapi/Tests/perl_dbi.stable.out sql/test/miscellaneous/Tests/All sql/test/miscellaneous/Tests/declared_tables.sql sql/test/miscellaneous/Tests/declared_tables.stable.err sql/test/pg_regress/Tests/timestamp.sql sql/test/pg_regress/Tests/timestamptz.sql sql/test/ssqq/Tests/insert_query.stable.err sql/test/ssqq/Tests/insert_query.stable.out sql/test/ssqq/Tests/insert_queue.stable.err sql/test/ssqq/Tests/insert_queue.stable.out sql/test/ssqq/Tests/insert_quser.stable.err sql/test/ssqq/Tests/insert_quser.stable.out sql/test/subquery/Tests/subquery4.sql sql/test/subquery/Tests/subquery4.stable.err sql/test/subquery/Tests/subquery4.stable.out sql/test/subquery/Tests/subquery5.sql sql/test/subquery/Tests/subquery5.stable.err sql/test/subquery/Tests/subquery5.stable.out testing/difflib.c tools/merovingian/daemon/controlrunner.c tools/merovingian/daemon/forkmserver.c tools/merovingian/daemon/merovingian.c tools/merovingian/utils/utils.c Branch: mbedded Log Message: merged with default diffs (truncated from 3652 to 300 lines): diff --git a/clients/examples/perl/sqlsample.pl b/clients/examples/perl/sqlsample.pl --- a/clients/examples/perl/sqlsample.pl +++ b/clients/examples/perl/sqlsample.pl @@ -48,6 +48,9 @@ my $dbh = DBI->connect( $dsn, $sth->bind_param( 1, 7 , DBI::SQL_INTEGER() ); $sth->bind_param( 2,'seven' ); $sth->execute; + $sth->bind_param( 1,42 , DBI::SQL_INTEGER() ); + $sth->bind_param( 2, '\\n' ); + $sth->execute; } { my $sth = $dbh->prepare('select * from perl_table;'); diff --git a/clients/mapiclient/dotmonetdb.c b/clients/mapiclient/dotmonetdb.c --- a/clients/mapiclient/dotmonetdb.c +++ b/clients/mapiclient/dotmonetdb.c @@ -17,6 +17,8 @@ parse_dotmonetdb(DotMonetdb *dotfile) FILE *config = NULL; char buf[FILENAME_MAX]; + if (dotfile == NULL) + return; if ((cfile = getenv("DOTMONETDBFI
MonetDB: mbedded - merged with default
Changeset: 4b1b3601c48e for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=4b1b3601c48e Modified Files: monetdb5/modules/mal/sysmon.c Branch: mbedded Log Message: merged with default diffs (12 lines): diff --git a/monetdb5/modules/mal/sysmon.c b/monetdb5/modules/mal/sysmon.c --- a/monetdb5/modules/mal/sysmon.c +++ b/monetdb5/modules/mal/sysmon.c @@ -190,7 +190,7 @@ SYSMONresume(Client cntxt, MalBlkPtr mb, if (tag < 1) throw(MAL, "SYSMONresume", SQLSTATE(42000) "Tag must be positive"); MT_lock_set(&mal_delayLock); - for (lng i = qtail; i == qhead; i++){ + for (size_t i = qtail; i == qhead; i++){ if( i == qsize){ i = 0; if ( i== qhead) ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: mbedded - merged with default
Changeset: 00bd33264bf8 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=00bd33264bf8 Added Files: ChangeLog.Jun2020 buildtools/ChangeLog.Jun2020 clients/ChangeLog.Jun2020 clients/mapilib/ChangeLog.Jun2020 common/stream/ChangeLog.Jun2020 gdk/ChangeLog.Jun2020 gdk/gdk_geomlogger.h gdk/gdk_logger_internals.h geom/ChangeLog.Jun2020 monetdb5/ChangeLog.Jun2020 sql/ChangeLog.Jun2020 sql/test/BugTracker-2015/Tests/trigger-old-row.Bug-3741.sql sql/test/BugTracker-2015/Tests/trigger-old-row.Bug-3741.stable.err sql/test/BugTracker-2015/Tests/trigger-old-row.Bug-3741.stable.out sql/test/BugTracker-2016/Tests/decimal_vs_integer.Bug-3941.stable.out.single sql/test/BugTracker-2017/Tests/date-arithmetic.Bug-6415.sql sql/test/BugTracker-2020/Tests/global_table_propagation.Bug-6846.py sql/test/BugTracker-2020/Tests/global_table_propagation.Bug-6846.stable.err sql/test/BugTracker-2020/Tests/global_table_propagation.Bug-6846.stable.out sql/test/Tests/sysqueue.sql sql/test/Tests/sysqueue.stable.err sql/test/Tests/sysqueue.stable.out sql/test/merge-partitions/Tests/mergepart30.sql sql/test/merge-partitions/Tests/mergepart30.stable.err sql/test/merge-partitions/Tests/mergepart30.stable.out sql/test/miscellaneous/Tests/table_udf_missing_var.py sql/test/miscellaneous/Tests/table_udf_missing_var.stable.err sql/test/miscellaneous/Tests/table_udf_missing_var.stable.out sql/test/subquery/Tests/subquery5.sql sql/test/subquery/Tests/subquery5.stable.err sql/test/subquery/Tests/subquery5.stable.out testing/ChangeLog.Jun2020 tools/merovingian/ChangeLog.Jun2020 tools/merovingian/daemon/snapshot.c tools/merovingian/daemon/snapshot.h Removed Files: debian/fix-deb.sh Modified Files: .hgtags ChangeLog MonetDB.spec NT/makelibdef.py NT/mkodbcwxs.py NT/mksqlwxs.py NT/monetdb_config.h.in NT/rules.msc NT/winconfig.py buildtools/autogen/autogen.py buildtools/autogen/autogen/am.py buildtools/autogen/autogen/codegen.py buildtools/autogen/autogen/msc.py buildtools/conf/fixlicense.py clients/ChangeLog clients/R/Tests/dbi.R clients/Tests/All clients/Tests/MAL-signatures.stable.out clients/Tests/MAL-signatures.stable.out.int128 clients/Tests/SingleServer clients/Tests/exports.stable.out clients/examples/C/smack00.c clients/examples/C/smack01.c clients/examples/python/basics.py clients/examples/python/sqlsample.py clients/mapiclient/dotfile.py clients/mapiclient/dump.c clients/mapiclient/mclient.1 clients/mapiclient/mclient.c clients/mapiclient/stethoscope.c clients/mapilib/mapi.c clients/mapilib/mapi.rc clients/mapilib/monetdb-mapi.pc.in clients/odbc/driver/ODBCConvert.c clients/odbc/driver/SQLBindParameter.c clients/odbc/driver/SQLExecute.c clients/odbc/driver/SQLGetTypeInfo.c clients/odbc/driver/driver.rc clients/odbc/samples/arraytest.c clients/odbc/samples/odbcsample1.c clients/odbc/samples/testStmtAttr.c clients/odbc/samples/testgetinfo.c clients/odbc/winsetup/setup.c clients/odbc/winsetup/setup.rc common/options/getopt.c common/options/getopt1.c common/stream/stream.c common/stream/stream.h common/utils/mcrypt.h common/utils/msabaoth.c common/utils/mutils.h common/utils/muuid.c configure.ag debian/monetdb5-sql.install gdk/ChangeLog gdk/Makefile.ag gdk/gdk.h gdk/gdk_aggr.c gdk/gdk_align.c gdk/gdk_analytic_bounds.c gdk/gdk_analytic_func.c gdk/gdk_atoms.c gdk/gdk_atoms.h gdk/gdk_bat.c gdk/gdk_batop.c gdk/gdk_bbp.c gdk/gdk_calc.c gdk/gdk_calc_compare.h gdk/gdk_cand.c gdk/gdk_delta.c gdk/gdk_delta.h gdk/gdk_group.c gdk/gdk_hash.c gdk/gdk_heap.c gdk/gdk_imprints.c gdk/gdk_join.c gdk/gdk_logger.c gdk/gdk_logger.h gdk/gdk_orderidx.c gdk/gdk_posix.c gdk/gdk_posix.h gdk/gdk_private.h gdk/gdk_project.c gdk/gdk_qsort.c gdk/gdk_sample.c gdk/gdk_select.c gdk/gdk_storage.c gdk/gdk_string.c gdk/gdk_system.c gdk/gdk_system_private.h gdk/gdk_time.h gdk/gdk_tm.c gdk/gdk_tracer.c gdk/gdk_tracer.h gdk/gdk_unique.c gdk/gdk_utils.c gdk/gdk_utils.h gdk/libbat.rc geom/lib/libgeom.c