Changeset: 93d869a8f5bf for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=93d869a8f5bf Added Files: sql/test/BugTracker-2018/Tests/sqlitelogictest-coalesce-division-by-zero.Bug-6556.stable.err sql/test/BugTracker-2018/Tests/sqlitelogictest-coalesce-division-by-zero.Bug-6556.stable.out sql/test/BugTracker-2018/Tests/sqlitelogictest-groupby-having-in-cast.Bug-6561.sql sql/test/BugTracker-2018/Tests/sqlitelogictest-groupby-having-in-cast.Bug-6561.stable.err sql/test/BugTracker-2018/Tests/sqlitelogictest-groupby-having-in-cast.Bug-6561.stable.out sql/test/BugTracker-2018/Tests/sqlitelogictest-groupby-having-in.Bug-6560.sql sql/test/BugTracker-2018/Tests/sqlitelogictest-groupby-having-in.Bug-6560.stable.err sql/test/BugTracker-2018/Tests/sqlitelogictest-groupby-having-in.Bug-6560.stable.out sql/test/BugTracker-2018/Tests/sqlitelogictest-groupby-having-not-null-not-in.Bug-6562.sql sql/test/BugTracker-2018/Tests/sqlitelogictest-groupby-having-not-null-not-in.Bug-6562.stable.err sql/test/BugTracker-2018/Tests/sqlitelogictest-groupby-having-not-null-not-in.Bug-6562.stable.out sql/test/BugTracker-2018/Tests/sqlitelogictest-having-not-null-not-in.Bug-6557.stable.err sql/test/BugTracker-2018/Tests/sqlitelogictest-having-not-null-not-in.Bug-6557.stable.out sql/test/BugTracker-2018/Tests/truncate_tmp_tables.Bug-6543.reqtests sql/test/BugTracker-2018/Tests/truncate_tmp_tables.Bug-6543.sql sql/test/BugTracker-2018/Tests/truncate_tmp_tables.Bug-6543.stable.err sql/test/BugTracker-2018/Tests/truncate_tmp_tables.Bug-6543.stable.out Removed Files: sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.powerpc64 Modified Files: .hgtags MonetDB.spec NT/monetdb_config.h.in NT/rules.msc clients/mapiclient/mclient.c clients/mapilib/mapi.rc clients/odbc/driver/driver.rc clients/odbc/winsetup/setup.rc configure.ag debian/changelog gdk/ChangeLog gdk/gdk.h gdk/gdk_align.c gdk/gdk_bat.c gdk/gdk_batop.c gdk/gdk_bbp.c gdk/gdk_calc.c gdk/gdk_cand.h gdk/gdk_cross.c gdk/gdk_firstn.c gdk/gdk_group.c gdk/gdk_join.c gdk/gdk_logger.c gdk/gdk_orderidx.c gdk/gdk_project.c gdk/gdk_sample.c gdk/gdk_select.c gdk/libbat.rc libversions monetdb5/extras/rapi/converters.c.h monetdb5/extras/rapi/rapi.c monetdb5/mal/mal.h monetdb5/mal/mal_authorize.c monetdb5/mal/mal_listing.c monetdb5/mal/mal_profiler.c monetdb5/mal/mal_session.c monetdb5/modules/atoms/json.c monetdb5/modules/atoms/mtime.c monetdb5/modules/kernel/algebra.c monetdb5/modules/kernel/bat5.c monetdb5/modules/kernel/batcolor.c monetdb5/modules/kernel/microbenchmark.c monetdb5/modules/mal/clients.c monetdb5/modules/mal/language.c monetdb5/modules/mal/mal_mapi.c monetdb5/modules/mal/pcre.c monetdb5/modules/mal/remote.c monetdb5/modules/mal/tablet.c monetdb5/modules/mal/wlc.c monetdb5/tools/libmonetdb5.rc sql/ChangeLog-Archive sql/ChangeLog.Mar2018 sql/backends/monet5/UDF/capi/capi.c sql/backends/monet5/UDF/pyapi/emit.c sql/backends/monet5/rel_bin.c sql/backends/monet5/sql_fround_impl.h sql/backends/monet5/sql_round_impl.h sql/backends/monet5/sql_statistics.c sql/backends/monet5/vaults/bam/Tests/mergetable.stable.out sql/backends/monet5/vaults/fits/fits.c sql/rel.txt sql/server/rel_optimizer.c sql/server/rel_psm.c sql/server/rel_rel.c sql/server/rel_rel.h sql/server/rel_select.c sql/server/rel_updates.c sql/server/sql_privileges.c sql/test/BugTracker-2009/Tests/segfault_when_quitting_debugger.SF-2538837.stable.out sql/test/BugTracker-2010/Tests/prepare_stmt.Bug-2533.Bug-2534.stable.out 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-2015/Tests/crash.Bug-3736.stable.out sql/test/BugTracker-2015/Tests/quantile_function_resolution.Bug-3773.stable.out sql/test/BugTracker-2016/Tests/decimal_vs_integer.Bug-3941.stable.out sql/test/BugTracker-2016/Tests/rename_exps.Bug-3974.stable.out sql/test/BugTracker-2017/Tests/caching_stats_bug.6374.stable.out sql/test/BugTracker-2017/Tests/cleanup_statistics.Bug-6439.stable.out sql/test/BugTracker-2017/Tests/cleanup_statistics.Bug-6439.stable.out.FreeBSD sql/test/BugTracker-2017/Tests/cleanup_statistics.Bug-6439.stable.out.Windows 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/statistics_nils_not_eq_zero.Bug-6331.stable.err sql/test/BugTracker-2018/Tests/All sql/test/BugTracker-2018/Tests/count_from_commented_function_signatures.Bug-6542.stable.out sql/test/BugTracker-2018/Tests/sqlitelogictest-case-coalesce.Bug-6550.sql sql/test/BugTracker-2018/Tests/sqlitelogictest-case-coalesce.Bug-6550.stable.out sql/test/BugTracker-2018/Tests/sqlitelogictest-count-not-in.Bug-6518.sql sql/test/BugTracker-2018/Tests/sqlitelogictest-count-not-in.Bug-6518.stable.out sql/test/BugTracker-2018/Tests/sqlitelogictest-wrong-aggregation-count.Bug-6510.sql sql/test/BugTracker-2018/Tests/sqlitelogictest-wrong-aggregation-count.Bug-6510.stable.out sql/test/BugTracker-2018/Tests/truncate_sys_tables.Bug-6543.sql sql/test/BugTracker-2018/Tests/truncate_sys_tables.Bug-6543.stable.out sql/test/BugTracker/Tests/jdbc_no_debug.SF-1739356.stable.out sql/test/FeatureRequests/Tests/foreign_key_outer_join_dead_code_elimination-plan-0join-query.stable.out sql/test/FeatureRequests/Tests/foreign_key_outer_join_dead_code_elimination-plan-0join-view.stable.out sql/test/FeatureRequests/Tests/foreign_key_outer_join_dead_code_elimination-plan-1join-query.stable.out sql/test/FeatureRequests/Tests/foreign_key_outer_join_dead_code_elimination-plan-1join-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 sql/test/Skyserver/Tests/Skyserver.stable.out sql/test/VOC/Tests/VOC.stable.out sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.int128 sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.powerpc64 sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.32bit sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.int128 sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.powerpc64.int128 sql/test/emptydb-upgrade-hge/Tests/upgrade.stable.out.int128 sql/test/emptydb-upgrade/Tests/upgrade.stable.out sql/test/emptydb-upgrade/Tests/upgrade.stable.out.32bit sql/test/emptydb-upgrade/Tests/upgrade.stable.out.int128 sql/test/pg_regress/Tests/alter_table.stable.err sql/test/pg_regress/Tests/alter_table.stable.out sql/test/pg_regress/Tests/random.stable.out sql/test/sys-schema/Tests/check_AlternateKey_uniqueness.stable.out sql/test/sys-schema/Tests/check_ForeignKey_referential_integrity.sql sql/test/sys-schema/Tests/check_ForeignKey_referential_integrity.stable.out sql/test/sys-schema/Tests/check_PrimaryKey_uniqueness.sql sql/test/sys-schema/Tests/check_PrimaryKey_uniqueness.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 testing/Mtest.py.in tools/merovingian/daemon/forkmserver.c tools/merovingian/daemon/merovingian.c tools/merovingian/utils/properties.c vertoo.data Branch: delete_in_vlist Log Message:
Merge with default. diffs (truncated from 129365 to 300 lines): diff --git a/.hgtags b/.hgtags --- a/.hgtags +++ b/.hgtags @@ -692,3 +692,6 @@ 4fd4a5c7b66747468a2b41930d1b987a4b0efff4 a294cafd5cac3397e148032bee9d8efc89f5c82a Mar2018_root 28edc063ceb6a3726af887911a3e4ac4a33c504f Mar2018_1 28edc063ceb6a3726af887911a3e4ac4a33c504f Mar2018_release +f34a57f73307a09909b3669ce5cfd9aad490f317 Mar2018_3 +28edc063ceb6a3726af887911a3e4ac4a33c504f Mar2018_release +f34a57f73307a09909b3669ce5cfd9aad490f317 Mar2018_release diff --git a/MonetDB.spec b/MonetDB.spec --- a/MonetDB.spec +++ b/MonetDB.spec @@ -1046,6 +1046,21 @@ done %postun -p /sbin/ldconfig %changelog +* Tue Mar 27 2018 Sjoerd Mullender <sjo...@acm.org> - 11.29.3-20180327 +- Rebuilt. +- BZ#3824: Created table not visible from ODBC +- BZ#6556: Sqlitelogictest division by zero on COALESCE call +- BZ#6557: Sqlitelogictest crash on aggregation query with not in +- BZ#6559: rows in sys.statistics are not removed when a temporary table + is dropped. +- BZ#6560: Sqlitelogictest crash on group by query with having in +- BZ#6561: Sqlitelogictest crash on group by query with having not + in clause + +* Thu Mar 15 2018 Sjoerd Mullender <sjo...@acm.org> - 11.29.3-20180327 +- sql: Extended support to use CREATE ORDERED INDEX on columns of type: char, + varchar, clob, blob, url, json, inet and uuid. + * Thu Mar 15 2018 Sjoerd Mullender <sjo...@acm.org> - 11.29.1-20180315 - Rebuilt. - BZ#3574: Add support for: create OR REPLACE view ... diff --git a/clients/mapiclient/mclient.c b/clients/mapiclient/mclient.c --- a/clients/mapiclient/mclient.c +++ b/clients/mapiclient/mclient.c @@ -269,7 +269,7 @@ timerHuman(int64_t sqloptimizer, int64_t /* * report only the times we do actually measure: - * - client-measured wall-clock time per query only when executing indivual queries, + * - client-measured wall-clock time per query only when executing individual queries, * otherwise only the total wall-clock time at the end of a batch; * - server-measured detailed performance measures only per query. */ diff --git a/debian/changelog b/debian/changelog --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,24 @@ +monetdb (11.29.3) unstable; urgency=low + + * Rebuilt. + * BZ#3824: Created table not visible from ODBC + * BZ#6556: Sqlitelogictest division by zero on COALESCE call + * BZ#6557: Sqlitelogictest crash on aggregation query with not in + * BZ#6559: rows in sys.statistics are not removed when a temporary table + is dropped. + * BZ#6560: Sqlitelogictest crash on group by query with having in + * BZ#6561: Sqlitelogictest crash on group by query with having not + in clause + + -- Sjoerd Mullender <sjo...@acm.org> Tue, 27 Mar 2018 14:27:04 +0200 + +monetdb (11.29.3) unstable; urgency=low + + * sql: Extended support to use CREATE ORDERED INDEX on columns of type: char, + varchar, clob, blob, url, json, inet and uuid. + + -- Sjoerd Mullender <sjo...@acm.org> Thu, 15 Mar 2018 14:27:04 +0200 + monetdb (11.29.1) unstable; urgency=low * Rebuilt. diff --git a/gdk/ChangeLog b/gdk/ChangeLog --- a/gdk/ChangeLog +++ b/gdk/ChangeLog @@ -1,3 +1,7 @@ # ChangeLog file for MonetDB # This file is updated with Maddlog +* Tue Mar 20 2018 Sjoerd Mullender <sjo...@acm.org> +- Removed the tdense property: it's function is completely replaced by + whether or not tseqbase is equal to oid_nil. + diff --git a/gdk/gdk.h b/gdk/gdk.h --- a/gdk/gdk.h +++ b/gdk/gdk.h @@ -345,23 +345,14 @@ #define GDKisalnum(c) isalnum((unsigned char) (c)) #define GDKisdigit(c) isdigit((unsigned char) (c)) -#define TEMPDIR_NAME "TEMP_DATA" +#define BATDIR "bat" +#define TEMPDIR_NAME "TEMP_DATA" -#ifndef NATIVE_WIN32 -#define BATDIR "bat" -#define DELDIR "bat/DELETE_ME" -#define BAKDIR "bat/BACKUP" -#define SUBDIR "bat/BACKUP/SUBCOMMIT" -#define LEFTDIR "bat/LEFTOVERS" -#define TEMPDIR "bat/"TEMPDIR_NAME -#else -#define BATDIR "bat" -#define DELDIR "bat\\DELETE_ME" -#define BAKDIR "bat\\BACKUP" -#define SUBDIR "bat\\BACKUP\\SUBCOMMIT" -#define LEFTDIR "bat\\LEFTOVERS" -#define TEMPDIR "bat\\"TEMPDIR_NAME -#endif +#define DELDIR BATDIR DIR_SEP_STR "DELETE_ME" +#define BAKDIR BATDIR DIR_SEP_STR "BACKUP" +#define SUBDIR BAKDIR DIR_SEP_STR "SUBCOMMIT" /* note K, not T */ +#define LEFTDIR BATDIR DIR_SEP_STR "LEFTOVERS" +#define TEMPDIR BATDIR DIR_SEP_STR TEMPDIR_NAME /* See `man mserver5` or tools/mserver/mserver5.1 @@ -751,7 +742,7 @@ typedef struct { restricted:2, /* access privileges */ persistence:1, /* should the BAT persist on disk? */ role:8, /* role of the bat */ - unused:15; /* value=0 for now (sneakily used by mat.c) */ + unused:17; /* value=0 for now (sneakily used by mat.c) */ int sharecnt; /* incoming view count */ /* delta status administration */ @@ -765,15 +756,14 @@ typedef struct PROPrec PROPrec; /* see also comment near BATassertProps() for more information about * the properties */ typedef struct { - str id; /* label for head/tail column */ + str id; /* label for column */ unsigned short width; /* byte-width of the atom array */ bte type; /* type id. */ bte shift; /* log2 of bun width */ - bool varsized:1, /* varsized (1) or fixedsized (0) */ + bool varsized:1, /* varsized/void (true) or fixedsized (false) */ key:1, /* no duplicate values present */ unique:1, /* no duplicate values allowed */ - dense:1, /* OID only: only consecutive values */ nonil:1, /* there are no nils in the column */ nil:1, /* there is a nil in the column */ sorted:1, /* column is sorted in ascending order */ @@ -781,7 +771,7 @@ typedef struct { BUN nokey[2]; /* positions that prove key==FALSE */ BUN nosorted; /* position that proves sorted==FALSE */ BUN norevsorted; /* position that proves revsorted==FALSE */ - oid seq; /* start of dense head sequence */ + oid seq; /* start of dense sequence */ Heap heap; /* space for the column. */ Heap *vheap; /* space for the varsized data. */ @@ -841,7 +831,6 @@ typedef struct BATiter { #define tseqbase T.seq #define tsorted T.sorted #define trevsorted T.revsorted -#define tdense T.dense #define tident T.id #define torderidx T.orderidx #define twidth T.width @@ -1055,7 +1044,7 @@ gdk_export bte ATOMelmshift(int sz); } else { \ ATOMputFIX((b)->ttype, (p), v); \ } \ - } while (0) + } while (false) #define Treplacevalue(b, p, v) \ do { \ if ((b)->tvarsized && (b)->ttype) { \ @@ -1080,7 +1069,7 @@ gdk_export bte ATOMelmshift(int sz); if ((b)->twidth < SIZEOF_VAR_T && \ ((b)->twidth <= 2 ? _d - GDK_VAROFFSET : _d) >= ((size_t) 1 << (8 * (b)->twidth))) { \ /* doesn't fit in current heap, upgrade it */ \ - if (GDKupgradevarheap((b), _d, 0, (b)->batRestricted == BAT_READ) != GDK_SUCCEED) \ + if (GDKupgradevarheap((b), _d, false, (b)->batRestricted == BAT_READ) != GDK_SUCCEED) \ goto bunins_failed; \ } \ _ptr = (p); \ @@ -1101,7 +1090,7 @@ gdk_export bte ATOMelmshift(int sz); } else { \ ATOMreplaceFIX((b)->ttype, (p), v); \ } \ - } while (0) + } while (false) #else #define Tputvalue(b, p, v, copyall) \ do { \ @@ -1130,7 +1119,7 @@ gdk_export bte ATOMelmshift(int sz); } else { \ ATOMputFIX((b)->ttype, (p), v); \ } \ - } while (0) + } while (false) #define Treplacevalue(b, p, v) \ do { \ if ((b)->tvarsized && (b)->ttype) { \ @@ -1152,7 +1141,7 @@ gdk_export bte ATOMelmshift(int sz); if ((b)->twidth < SIZEOF_VAR_T && \ ((b)->twidth <= 2 ? _d - GDK_VAROFFSET : _d) >= ((size_t) 1 << (8 * (b)->twidth))) { \ /* doesn't fit in current heap, upgrade it */ \ - if (GDKupgradevarheap((b), _d, 0, (b)->batRestricted == BAT_READ) != GDK_SUCCEED) \ + if (GDKupgradevarheap((b), _d, false, (b)->batRestricted == BAT_READ) != GDK_SUCCEED) \ goto bunins_failed; \ } \ _ptr = (p); \ @@ -1170,26 +1159,26 @@ gdk_export bte ATOMelmshift(int sz); } else { \ ATOMreplaceFIX((b)->ttype, (p), v); \ } \ - } while (0) + } while (false) #endif #define tfastins_nocheck(b, p, v, s) \ do { \ (b)->theap.free += (s); \ (b)->theap.dirty |= (s) != 0; \ Tputvalue((b), Tloc((b), (p)), (v), 0); \ - } while (0) + } while (false) #define bunfastapp_nocheck(b, p, t, ts) \ do { \ tfastins_nocheck(b, p, t, ts); \ (b)->batCount++; \ - } while (0) + } while (false) #define bunfastapp_nocheck_inc(b, p, t) \ do { \ bunfastapp_nocheck(b, p, t, Tsize(b)); \ p++; \ - } while (0) + } while (false) #define bunfastapp(b, t) \ do { \ @@ -1203,7 +1192,7 @@ gdk_export bte ATOMelmshift(int sz); goto bunins_failed; \ } \ bunfastapp_nocheck(b, _p, t, Tsize(b)); \ - } while (0) + } while (false) gdk_export gdk_return GDKupgradevarheap(BAT *b, var_t v, int copyall, int mayshare) __attribute__ ((__warn_unused_result__)); @@ -1241,8 +1230,7 @@ gdk_export BUN BUNfnd(BAT *b, const void BUN_NONE : \ (BUN) (*(const oid*)(v) - (b)->tseqbase)) -#define BATttype(b) ((b)->ttype == TYPE_void && !is_oid_nil((b)->tseqbase) ? \ - TYPE_oid : (b)->ttype) +#define BATttype(b) (BATtdense(b) ? TYPE_oid : (b)->ttype) #define Tbase(b) ((b)->tvheap->base) #define Tsize(b) ((b)->twidth) @@ -1350,10 +1338,10 @@ gdk_export gdk_return BATsetaccess(BAT * gdk_export int BATgetaccess(BAT *b); -#define BATdirty(b) ((b)->batCopiedtodisk == 0 || (b)->batDirty || \ +#define BATdirty(b) (!(b)->batCopiedtodisk || (b)->batDirty || \ (b)->batDirtydesc || \ (b)->theap.dirty || \ - ((b)->tvheap?(b)->tvheap->dirty:0)) + ((b)->tvheap?(b)->tvheap->dirty:false)) #define PERSISTENT 0 #define TRANSIENT 1 @@ -1467,66 +1455,64 @@ gdk_export gdk_return BATsort(BAT **sort gdk_export void GDKqsort(void *restrict h, void *restrict t, const void *restrict base, size_t n, int hs, int ts, int tpe); gdk_export void GDKqsort_rev(void *restrict h, void *restrict t, const void *restrict base, size_t n, int hs, int ts, int tpe); -#define BATtordered(b) ((b)->ttype == TYPE_void || (b)->tsorted) -#define BATtrevordered(b) (((b)->ttype == TYPE_void && is_oid_nil((b)->tseqbase)) || (b)->trevsorted) -#define BATtdense(b) (BATtvoid(b) && !is_oid_nil((b)->tseqbase)) -#define BATtvoid(b) (((b)->tdense && (b)->tsorted) || (b)->ttype==TYPE_void) -#define BATtkey(b) (b->tkey != FALSE || BATtdense(b)) +#define BATtordered(b) ((b)->tsorted) +#define BATtrevordered(b) ((b)->trevsorted) +/* BAT is dense (i.e., BATtvoid() is true and tseqbase is not NIL) */ +#define BATtdense(b) (!is_oid_nil((b)->tseqbase)) +/* BATtvoid: BAT can be (or actually is) represented by TYPE_void */ +#define BATtvoid(b) (BATtdense(b) || (b)->ttype==TYPE_void) +#define BATtkey(b) ((b)->tkey || BATtdense(b)) /* set some properties that are trivial to deduce */ #define BATsettrivprop(b) \ do { \ assert(!is_oid_nil((b)->hseqbase)); \ - (b)->batDirtydesc = 1; /* likely already set */ \ - /* the other head properties should already be correct */ \ + (b)->batDirtydesc = true; /* likely already set */ \ + assert(is_oid_nil((b)->tseqbase) || \ + ATOMtype((b)->ttype) == TYPE_oid); \ if ((b)->ttype == TYPE_void) { \ if (is_oid_nil((b)->tseqbase)) { \ _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list