Changeset: 8e85578fb7db for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=8e85578fb7db
Added Files:
sql/test/orderidx/Tests/imprints_all_types.sql
sql/test/orderidx/Tests/imprints_all_types.stable.err
sql/test/orderidx/Tests/imprints_all_types.stable.out
sql/test/orderidx/Tests/imprints_hge_type.sql
sql/test/orderidx/Tests/imprints_hge_type.stable.err
sql/test/orderidx/Tests/imprints_hge_type.stable.out.int128
Modified Files:
clients/Tests/exports.stable.out
clients/mapiclient/mhelp.c
gdk/gdk.h
gdk/gdk_bat.c
gdk/gdk_batop.c
gdk/gdk_bbp.c
monetdb5/mal/mal_authorize.c
monetdb5/modules/kernel/algebra.c
monetdb5/modules/kernel/bat5.c
monetdb5/modules/kernel/batmmath.c
monetdb5/modules/kernel/microbenchmark.c
monetdb5/modules/mal/mkey.c
monetdb5/modules/mal/pcre.c
monetdb5/optimizer/opt_mergetable.c
sql/ChangeLog.Mar2018
sql/backends/monet5/UDF/capi/capi.c
sql/backends/monet5/sql.c
sql/backends/monet5/sql_cast_impl_int.h
sql/backends/monet5/sql_cast_impl_up_to_flt.h
sql/backends/monet5/sql_fround_impl.h
sql/backends/monet5/sql_round_impl.h
sql/backends/monet5/sql_upgrades.c
sql/backends/monet5/vaults/netcdf/netcdf.c
sql/storage/bat/bat_storage.c
sql/test/BugTracker-2017/Tests/oidx-on-strings.Bug-6202.sql
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
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/orderidx/Tests/All
sql/test/orderidx/Tests/oidx_all_types.sql
sql/test/orderidx/Tests/oidx_all_types.stable.out
sql/test/orderidx/Tests/oidx_hge_type.sql
sql/test/orderidx/Tests/oidx_hge_type.stable.out.int128
sql/test/testdb-upgrade-chain-hge/Tests/upgrade.stable.out.int128
sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out
sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out.32bit
sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out.int128
sql/test/testdb-upgrade-hge/Tests/upgrade.stable.out.int128
sql/test/testdb-upgrade/Tests/upgrade.stable.out
sql/test/testdb-upgrade/Tests/upgrade.stable.out.32bit
sql/test/testdb-upgrade/Tests/upgrade.stable.out.int128
Branch: data-vaults
Log Message:
Merge with default
diffs (truncated from 3904 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
@@ -141,7 +141,7 @@ void BAThseqbase(BAT *b, oid o);
gdk_return BATimprints(BAT *b);
BAT *BATintersectcand(BAT *a, BAT *b);
gdk_return BATjoin(BAT **r1p, BAT **r2p, BAT *l, BAT *r, BAT *sl, BAT *sr, int
nil_matches, BUN estimate) __attribute__((__warn_unused_result__));
-gdk_return BATkey(BAT *b, int onoff);
+gdk_return BATkey(BAT *b, bool onoff);
int BATkeyed(BAT *b);
gdk_return BATleftjoin(BAT **r1p, BAT **r2p, BAT *l, BAT *r, BAT *sl, BAT *sr,
int nil_matches, BUN estimate) __attribute__((__warn_unused_result__));
void *BATmax(BAT *b, void *aggr);
diff --git a/clients/mapiclient/mhelp.c b/clients/mapiclient/mhelp.c
--- a/clients/mapiclient/mhelp.c
+++ b/clients/mapiclient/mhelp.c
@@ -71,11 +71,11 @@ SQLhelp sqlhelp[] = {
"See also
https://www.monetdb.org/Documentation/Manuals/SQLreference/SerialTypes"},
{"ALTER USER",
"",
- "ALTER USER ident WITH [ ENCRYPTED | UNENCRYPTED] PASSWORD string\n"
- "ALTER USER ident SET SCHEMA ident\n"
- "ALTER USER ident WITH [ENCRYPTED | UNENCRYPTED] PASSWORD SET SCHEMA
ident\n"
+ "ALTER USER ident WITH [ENCRYPTED | UNENCRYPTED] PASSWORD string\n"
+ "ALTER USER ident SET SCHEMA schemaname\n"
+ "ALTER USER ident WITH [ENCRYPTED | UNENCRYPTED] PASSWORD string SET
SCHEMA schemaname\n"
"ALTER USER RENAME TO ident\n"
- "ALTER USER SET [ ENCRYPTED | UNENCRYPTED] PASSWORD string USING OLD
PASSWORD string",
+ "ALTER USER SET [ENCRYPTED | UNENCRYPTED] PASSWORD string USING OLD
PASSWORD string",
NULL,
"See also https://www.monetdb.org/Documentation/SQLreference/Users"},
{"ANALYZE",
diff --git a/gdk/gdk.h b/gdk/gdk.h
--- a/gdk/gdk.h
+++ b/gdk/gdk.h
@@ -797,9 +797,6 @@ typedef struct {
/* assert that atom width is power of 2, i.e., width == 1<<shift */
#define assert_shift_width(shift,width) assert(((shift) == 0 && (width) == 0)
|| ((unsigned)1<<(shift)) == (unsigned)(width))
-#define GDKLIBRARY_SORTEDPOS 061030U /* version where we can't trust
no(rev)sorted */
-#define GDKLIBRARY_OLDWKB 061031U /* old geom WKB format */
-#define GDKLIBRARY_INSERTED 061032U /* inserted and deleted in BBP.dir */
#define GDKLIBRARY_HEADED 061033U /* head properties are stored */
#define GDKLIBRARY_NOKEY 061034U /* nokey values can't be trusted */
#define GDKLIBRARY_BADEMPTY 061035U /* possibility of duplicate empty str */
@@ -1302,7 +1299,7 @@ bat_iterator(BAT *b)
* @item void
* @tab BATsetcount (BAT *b, BUN cnt)
* @item BAT *
- * @tab BATkey (BAT *b, int onoff)
+ * @tab BATkey (BAT *b, bool onoff)
* @item BAT *
* @tab BATmode (BAT *b, int mode)
* @item BAT *
@@ -1344,7 +1341,7 @@ gdk_export BUN BATcount_no_nil(BAT *b);
gdk_export void BATsetcapacity(BAT *b, BUN cnt);
gdk_export void BATsetcount(BAT *b, BUN cnt);
gdk_export BUN BATgrows(BAT *b);
-gdk_export gdk_return BATkey(BAT *b, int onoff);
+gdk_export gdk_return BATkey(BAT *b, bool onoff);
gdk_export gdk_return BATmode(BAT *b, int onoff);
gdk_export gdk_return BATroles(BAT *b, const char *tnme);
gdk_export void BAThseqbase(BAT *b, oid o);
diff --git a/gdk/gdk_bat.c b/gdk/gdk_bat.c
--- a/gdk/gdk_bat.c
+++ b/gdk/gdk_bat.c
@@ -830,7 +830,7 @@ COLcopy(BAT *b, int tt, int writable, in
bn->trevsorted = b->trevsorted;
bn->tdense = b->tdense && ATOMtype(bn->ttype) == TYPE_oid;
if (b->tkey)
- BATkey(bn, TRUE);
+ BATkey(bn, true);
bn->tnonil = b->tnonil;
if (b->tnosorted > 0 && b->tnosorted < h)
bn->tnosorted = b->tnosorted;
@@ -1210,7 +1210,7 @@ BUNinplace(BAT *b, BUN p, const void *t,
} else if (b->tnorevsorted >= p)
b->tnorevsorted = 0;
if (((b->ttype != TYPE_void) & b->tkey & !b->tunique) && b->batCount >
1) {
- BATkey(b, FALSE);
+ BATkey(b, false);
} else if (!b->tkey && (b->tnokey[0] == p || b->tnokey[1] == p))
b->tnokey[0] = b->tnokey[1] = 0;
if (b->tnonil)
@@ -1427,25 +1427,24 @@ BATsetcount(BAT *b, BUN cnt)
* key property of the association head.
*/
gdk_return
-BATkey(BAT *b, int flag)
+BATkey(BAT *b, bool flag)
{
BATcheck(b, "BATkey", GDK_FAIL);
assert(b->batCacheid > 0);
- assert(flag == 0 || flag == 1);
assert(!b->tunique || flag);
if (b->ttype == TYPE_void) {
- if (!is_oid_nil(b->tseqbase) && flag == FALSE) {
+ if (!is_oid_nil(b->tseqbase) && !flag) {
GDKerror("BATkey: dense column must be unique.\n");
return GDK_FAIL;
}
- if (is_oid_nil(b->tseqbase) && flag == TRUE && b->batCount > 1)
{
+ if (is_oid_nil(b->tseqbase) && flag && b->batCount > 1) {
GDKerror("BATkey: void column cannot be unique.\n");
return GDK_FAIL;
}
}
- if (b->tkey != (flag != 0))
+ if (b->tkey != flag)
b->batDirtydesc = TRUE;
- b->tkey = flag != 0;
+ b->tkey = flag;
if (!flag)
b->tdense = 0;
else
@@ -1459,7 +1458,7 @@ BATkey(BAT *b, int flag)
!BATtkey(bp) &&
((BATtvoid(b) && BATtvoid(bp) && b->tseqbase ==
bp->tseqbase) ||
BATcount(b) == 0))
- return BATkey(bp, TRUE);
+ return BATkey(bp, true);
}
return GDK_SUCCEED;
}
@@ -1513,7 +1512,7 @@ BATtseqbase(BAT *b, oid o)
}
} else {
if (!b->tkey) {
- b->tkey = TRUE;
+ b->tkey = true;
b->tnokey[0] = b->tnokey[1] = 0;
}
b->tnonil = 1;
diff --git a/gdk/gdk_batop.c b/gdk/gdk_batop.c
--- a/gdk/gdk_batop.c
+++ b/gdk/gdk_batop.c
@@ -690,7 +690,7 @@ BATappend(BAT *b, BAT *n, BAT *s, bit fo
b->tkey &&
(!(BATtordered(b) || BATtrevordered(b)) ||
!n->tkey || xx == 0)) {
- BATkey(b, FALSE);
+ BATkey(b, false);
}
if (b->ttype != TYPE_void && b->tsorted && b->tdense &&
(BATtdense(n) == 0 ||
@@ -991,7 +991,7 @@ BATslice(BAT *b, BUN l, BUN h)
if (bn->batCount <= 1) {
bn->tsorted = ATOMlinear(b->ttype);
bn->trevsorted = ATOMlinear(b->ttype);
- BATkey(bn, 1);
+ BATkey(bn, true);
} else {
bn->tsorted = b->tsorted;
bn->trevsorted = b->trevsorted;
diff --git a/gdk/gdk_bbp.c b/gdk/gdk_bbp.c
--- a/gdk/gdk_bbp.c
+++ b/gdk/gdk_bbp.c
@@ -395,230 +395,6 @@ static gdk_return BBPrecover(int farmid)
static gdk_return BBPrecover_subdir(void);
static bool BBPdiskscan(const char *, size_t);
-#ifdef GDKLIBRARY_SORTEDPOS
-static void
-fixsorted(void)
-{
- bat bid;
- BAT *b;
- BATiter bi;
- int dbg = GDKdebug;
- bool loaded;
-
- GDKdebug &= ~(CHECKMASK | PROPMASK);
- for (bid = 1; bid < (bat) ATOMIC_GET(BBPsize, BBPsizeLock); bid++) {
- if ((b = BBP_desc(bid)) == NULL)
- continue; /* not a valid BAT */
- loaded = false;
- if (b->tnosorted != 0) {
- if (b->tsorted) {
- /* position should not be set */
- b->batDirtydesc = 1;
- b->tnosorted = 0;
- } else if (b->tnosorted == 0 ||
- b->tnosorted >= b->batCount ||
- b->ttype < 0) {
- /* out of range */
- b->batDirtydesc = 1;
- b->tnosorted = 0;
- } else if (b->ttype == TYPE_void) {
- /* void is always sorted */
- b->batDirtydesc = 1;
- b->tnosorted = 0;
- b->tsorted = 1;
- } else {
- if (!loaded) {
- b = BATdescriptor(bid);
- bi = bat_iterator(b);
- if (b == NULL)
- b = BBP_desc(bid);
- else
- loaded = true;
- }
- if (!loaded ||
- ATOMcmp(b->ttype,
- BUNtail(bi, b->tnosorted - 1),
- BUNtail(bi, b->tnosorted)) <= 0) {
- /* incorrect hint */
- b->batDirtydesc = 1;
- b->tnosorted = 0;
- }
- }
- }
- if (b->tnorevsorted != 0) {
- if (b->trevsorted) {
- /* position should not be set */
- b->batDirtydesc = 1;
- b->tnorevsorted = 0;
- } else if (b->tnorevsorted == 0 ||
- b->tnorevsorted >= b->batCount ||
- b->ttype < 0) {
- /* out of range */
- b->batDirtydesc = 1;
- b->tnorevsorted = 0;
- } else if (b->ttype == TYPE_void) {
- /* void is only revsorted if nil */
- b->batDirtydesc = 1;
- if (is_oid_nil(b->tseqbase) ||
- b->batCount <= 1) {
- b->tnorevsorted = 0;
- b->trevsorted = 1;
- } else {
- b->tnorevsorted = 1;
- }
- } else {
- if (!loaded) {
- b = BATdescriptor(bid);
- bi = bat_iterator(b);
- if (b == NULL)
- b = BBP_desc(bid);
- else
- loaded = true;
- }
- if (!loaded ||
- ATOMcmp(b->ttype,
- BUNtail(bi, b->tnorevsorted - 1),
- BUNtail(bi, b->tnorevsorted)) >= 0)
{
- /* incorrect hint */
- b->batDirtydesc = 1;
- b->tnorevsorted = 0;
- }
- }
- }
- if (loaded)
- BBPunfix(bid);
- }
- GDKdebug = dbg;
-}
-#endif
-
-#ifdef GDKLIBRARY_OLDWKB
-/* "Danger, Will Robinson".
- *
- * Upgrade the Well-known Binary (WKB) from older geom versions to the
- * one in current use. This function must be called before the SQL
- * Write-ahead Log (WAL) is processed, and in order to be able to
- * recover safely, we call it here. The WAL may create new BATs with
- * the WKB type, or append values to an existing BAT. In the first
- * case it is hard, and in the second impossible, to upgrade the BAT
- * later.
- *
- * This function is located here, since it needs to be called early
- * (as discussed), and because it calls functions that are GDK only.
- * There is a little knowledge about the MonetDB WKB type, but nothing
- * about the internals of the type. The only knowledge is the layout
- * of the old and new structures.
- *
- * All errors are fatal.
- */
-static void
-fixwkbheap(void)
-{
- bat bid, bbpsize = getBBPsize();
- BAT *b;
- int utypewkb = ATOMunknown_find("wkb");
- const char *nme, *bnme;
- char filename[64];
- Heap h1, h2;
- const var_t *restrict old;
- var_t *restrict new;
- BUN i;
- struct old_wkb {
- int len;
- char data[FLEXIBLE_ARRAY_MEMBER];
- } *owkb;
- struct new_wkb {
- int len;
- int srid;
- char data[FLEXIBLE_ARRAY_MEMBER];
- } *nwkb;
- char *oldname, *newname;
-
- if (utypewkb == 0)
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list