Changeset: 2dda11d2eb24 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=2dda11d2eb24
Removed Files:
monetdb5/modules/atoms/identifier.h
monetdb5/modules/atoms/inet.h
Modified Files:
gdk/gdk_join.c
gdk/gdk_select.c
monetdb5/modules/atoms/Makefile.ag
monetdb5/modules/atoms/identifier.c
monetdb5/modules/atoms/inet.c
monetdb5/modules/kernel/bat5.c
sql/backends/monet5/sql.c
sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out
sql/test/testdb-upgrade-chain/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.int128
Branch: default
Log Message:
Merge with Oct2014 branch.
diffs (truncated from 575 to 300 lines):
diff --git a/gdk/gdk_join.c b/gdk/gdk_join.c
--- a/gdk/gdk_join.c
+++ b/gdk/gdk_join.c
@@ -2372,8 +2372,7 @@ BATsubthetajoin(BAT **r1p, BAT **r2p, BA
if (joinparamcheck(l, r, NULL, sl, sr, "BATsubthetajoin") == GDK_FAIL)
return GDK_FAIL;
if (joininitresults(&r1, &r2,
- estimate != BUN_NONE ? estimate :
- (sl ? BATcount(sl) : BATcount(l)) * (sr ?
BATcount(sr) : BATcount(r)),
+ estimate != BUN_NONE ? estimate : sl ? BATcount(sl)
: BATcount(l),
"BATsubthetajoin") == GDK_FAIL)
return GDK_FAIL;
*r1p = r1;
@@ -2479,8 +2478,7 @@ BATsubbandjoin(BAT **r1p, BAT **r2p, BAT
if (joinparamcheck(l, r, NULL, sl, sr, "BATsubbandjoin") == GDK_FAIL)
return GDK_FAIL;
if (joininitresults(&r1, &r2,
- estimate != BUN_NONE ? estimate :
- (sl ? BATcount(sl) : BATcount(l)) * (sr ?
BATcount(sr) : BATcount(r)),
+ estimate != BUN_NONE ? estimate : sl ? BATcount(sl)
: BATcount(l),
"BATsubbandjoin") == GDK_FAIL)
return GDK_FAIL;
*r1p = r1;
@@ -2500,8 +2498,7 @@ BATsubrangejoin(BAT **r1p, BAT **r2p, BA
if (joinparamcheck(l, rl, rh, sl, sr, "BATsubrangejoin") == GDK_FAIL)
return GDK_FAIL;
if (joininitresults(&r1, &r2,
- estimate != BUN_NONE ? estimate :
- (sl ? BATcount(sl) : BATcount(l)) * (sr ?
BATcount(sr) : BATcount(rl)),
+ estimate != BUN_NONE ? estimate : sl ? BATcount(sl)
: BATcount(l),
"BATsubrangejoin") == GDK_FAIL)
return GDK_FAIL;
*r1p = r1;
diff --git a/gdk/gdk_select.c b/gdk/gdk_select.c
--- a/gdk/gdk_select.c
+++ b/gdk/gdk_select.c
@@ -208,15 +208,11 @@ BAT_hashselect(BAT *b, BAT *s, BAT *bn,
}
BATsetcount(bn, cnt);
bn->tkey = 1;
- bn->tdense = bn->tsorted = bn->trevsorted = bn->batCount <= 1;
+ GDKqsort(dst, NULL, NULL, BATcount(bn), SIZEOF_OID, 0, TYPE_oid);
+ bn->tsorted = 1;
+ bn->tdense = bn->trevsorted = bn->batCount <= 1;
if (bn->batCount == 1)
bn->tseqbase = *dst;
- /* temporarily set head to nil so that BATorder doesn't materialize */
- BATseqbase(bn, oid_nil);
- if (BATorder(BATmirror(bn)) == GDK_FAIL) {
- BBPreclaim(bn);
- return NULL;
- }
BATseqbase(bn, 0);
return bn;
}
diff --git a/monetdb5/modules/atoms/Makefile.ag
b/monetdb5/modules/atoms/Makefile.ag
--- a/monetdb5/modules/atoms/Makefile.ag
+++ b/monetdb5/modules/atoms/Makefile.ag
@@ -29,8 +29,8 @@ lib_atoms = {
batxml.c \
blob.c blob.h \
color.c color.h \
- identifier.c identifier.h \
- inet.c inet.h \
+ identifier.c \
+ inet.c \
mtime.c mtime.h \
streams.c streams.h \
str.c str.h \
diff --git a/monetdb5/modules/atoms/identifier.c
b/monetdb5/modules/atoms/identifier.c
--- a/monetdb5/modules/atoms/identifier.c
+++ b/monetdb5/modules/atoms/identifier.c
@@ -29,7 +29,26 @@
*
*/
#include "monetdb_config.h"
-#include "identifier.h" /* for the implementation of the functions */
+#include "mal.h"
+#include "mal_exception.h"
+
+typedef str identifier;
+
+#ifdef WIN32
+#if !defined(LIBMAL) && !defined(LIBATOMS) && !defined(LIBKERNEL) &&
!defined(LIBMAL) && !defined(LIBOPTIMIZER) && !defined(LIBSCHEDULER) &&
!defined(LIBMONETDB5)
+#define identifier_export extern __declspec(dllimport)
+#else
+#define identifier_export extern __declspec(dllexport)
+#endif
+#else
+#define identifier_export extern
+#endif
+
+identifier_export int TYPE_identifier;
+identifier_export str IDprelude(void *ret);
+identifier_export int IDfromString(str src, int *len, identifier *retval);
+identifier_export int IDtoString(str *retval, int *len, identifier handle);
+identifier_export str IDentifier(identifier *retval, str *in);
int TYPE_identifier;
diff --git a/monetdb5/modules/atoms/identifier.h
b/monetdb5/modules/atoms/identifier.h
deleted file mode 100644
--- a/monetdb5/modules/atoms/identifier.h
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * The contents of this file are subject to the MonetDB Public License
- * Version 1.1 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License at
- * http://www.monetdb.org/Legal/MonetDBLicense
- *
- * Software distributed under the License is distributed on an "AS IS"
- * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
- * License for the specific language governing rights and limitations
- * under the License.
- *
- * The Original Code is the MonetDB Database System.
- *
- * The Initial Developer of the Original Code is CWI.
- * Portions created by CWI are Copyright (C) 1997-July 2008 CWI.
- * Copyright August 2008-2015 MonetDB B.V.
- * All Rights Reserved.
- */
-
-/*
- * @- Implementation
- */
-#ifndef _IDtype_DEF
-#define _IDtype_DEF
-#include "mal.h"
-#include "mal_exception.h"
-
-typedef str identifier;
-
-#ifdef WIN32
-#if !defined(LIBMAL) && !defined(LIBATOMS) && !defined(LIBKERNEL) &&
!defined(LIBMAL) && !defined(LIBOPTIMIZER) && !defined(LIBSCHEDULER) &&
!defined(LIBMONETDB5)
-#define identifier_export extern __declspec(dllimport)
-#else
-#define identifier_export extern __declspec(dllexport)
-#endif
-#else
-#define identifier_export extern
-#endif
-
-identifier_export int TYPE_identifier;
-identifier_export str IDprelude(void *ret);
-identifier_export int IDfromString(str src, int *len, identifier *retval);
-identifier_export int IDtoString(str *retval, int *len, identifier handle);
-identifier_export str IDentifier(identifier *retval, str *in);
-#endif /* _IDTYPE_DEF */
-
diff --git a/monetdb5/modules/atoms/inet.c b/monetdb5/modules/atoms/inet.c
--- a/monetdb5/modules/atoms/inet.c
+++ b/monetdb5/modules/atoms/inet.c
@@ -32,7 +32,68 @@
#include <gdk.h>
#include "mal.h"
#include "mal_exception.h"
-#include "inet.h"
+
+/*
+ * @* Implementation Code
+ * The first 4 bytes of the used lng are in use by the four quads of the
+ * IPv4 address, stored in network order. In the four bytes left,
+ * additional information is stored.
+ * Currently the fifth byte holds the number of bits from the IPv4 address
+ * that should match (ie. /8, /16, /24, /32) also known as subnet mask.
+ * The last byte holds whether inet atom represents the value nil or not.
+ * The value nil is represented as (per byte) 0000 0001.
+ *
+ */
+typedef struct _inet {
+ unsigned char q1;
+ unsigned char q2;
+ unsigned char q3;
+ unsigned char q4;
+ unsigned char mask;
+ unsigned char filler1;
+ unsigned char filler2;
+ unsigned char isnil;
+} inet;
+#define in_isnil(i) ((i)->q1 == 0 && (i)->q2 == 0 && (i)->q3 == 0 && (i)->q4
== 0 && (i)->mask == 0 && (i)->isnil != 0)
+#define in_setnil(i) (i)->q1 = (i)->q2 = (i)->q3 = (i)->q4 = (i)->mask =
(i)->filler1 = (i)->filler2 = 0; (i)->isnil = 1
+
+#ifdef WIN32
+#if !defined(LIBMAL) && !defined(LIBATOMS) && !defined(LIBKERNEL) &&
!defined(LIBMAL) && !defined(LIBOPTIMIZER) && !defined(LIBSCHEDULER) &&
!defined(LIBMONETDB5)
+#define inet_export extern __declspec(dllimport)
+#else
+#define inet_export extern __declspec(dllexport)
+#endif
+#else
+#define inet_export extern
+#endif
+
+inet_export int INETfromString(str src, int *len, inet **retval);
+inet_export int INETtoString(str *retval, int *len, inet *handle);
+inet_export int INETcompare(inet *l, inet *r);
+inet_export str INETnew(inet * retval, str *in);
+inet_export str INET_isnil(bit *retval, inet * val);
+inet_export str INET_comp_EQ(bit *retval, inet * val1, inet *val2);
+inet_export str INET_comp_NEQ(bit *retval, inet * val1, inet *val2);
+inet_export str INET_comp_LT(bit *retval, inet * val1, inet *val2);
+inet_export str INET_comp_GT(bit *retval, inet * val1, inet *val2);
+inet_export str INET_comp_LE(bit *retval, inet * val1, inet *val2);
+inet_export str INET_comp_GE(bit *retval, inet * val1, inet *val2);
+inet_export str INET_comp_CW(bit *retval, inet * val1, inet *val2);
+inet_export str INET_comp_CWE(bit *retval, inet * val1, inet *val2);
+inet_export str INET_comp_CS(bit *retval, inet * val1, inet *val2);
+inet_export str INET_comp_CSE(bit *retval, inet * val1, inet *val2);
+inet_export str INETbroadcast(inet * retval, inet *val);
+inet_export str INEThost(str *retval, inet *val);
+inet_export str INETmasklen(int *retval, inet *val);
+inet_export str INETsetmasklen(inet *retval, inet *val, int *mask);
+inet_export str INETnetmask(inet *retval, inet *val);
+inet_export str INEThostmask(inet *retval, inet *val);
+inet_export str INETnetwork(inet *retval, inet *val);
+inet_export str INETtext(str *retval, inet *val);
+inet_export str INETabbrev(str *retval, inet *val);
+inet_export str INET_inet(inet *d, inet *s);
+inet_export str INET_fromstr(inet *ret, str *s);
+inet_export inet *INETnull(void);
static inet inet_nil = {0,0,0,0,0,0,0,1};
diff --git a/monetdb5/modules/atoms/inet.h b/monetdb5/modules/atoms/inet.h
deleted file mode 100644
--- a/monetdb5/modules/atoms/inet.h
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * The contents of this file are subject to the MonetDB Public License
- * Version 1.1 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License at
- * http://www.monetdb.org/Legal/MonetDBLicense
- *
- * Software distributed under the License is distributed on an "AS IS"
- * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
- * License for the specific language governing rights and limitations
- * under the License.
- *
- * The Original Code is the MonetDB Database System.
- *
- * The Initial Developer of the Original Code is CWI.
- * Portions created by CWI are Copyright (C) 1997-July 2008 CWI.
- * Copyright August 2008-2015 MonetDB B.V.
- * All Rights Reserved.
- */
-
-/*
- * @* Implementation Code
- * The first 4 bytes of the used lng are in use by the four quads of the
- * IPv4 address, stored in network order. In the four bytes left,
- * additional information is stored.
- * Currently the fifth byte holds the number of bits from the IPv4 address
- * that should match (ie. /8, /16, /24, /32) also known as subnet mask.
- * The last byte holds whether inet atom represents the value nil or not.
- * The value nil is represented as (per byte) 0000 0001.
- *
- */
-typedef struct _inet {
- unsigned char q1;
- unsigned char q2;
- unsigned char q3;
- unsigned char q4;
- unsigned char mask;
- unsigned char filler1;
- unsigned char filler2;
- unsigned char isnil;
-} inet;
-#define in_isnil(i) ((i)->q1 == 0 && (i)->q2 == 0 && (i)->q3 == 0 && (i)->q4
== 0 && (i)->mask == 0 && (i)->isnil != 0)
-#define in_setnil(i) (i)->q1 = (i)->q2 = (i)->q3 = (i)->q4 = (i)->mask =
(i)->filler1 = (i)->filler2 = 0; (i)->isnil = 1
-
-#ifdef WIN32
-#if !defined(LIBMAL) && !defined(LIBATOMS) && !defined(LIBKERNEL) &&
!defined(LIBMAL) && !defined(LIBOPTIMIZER) && !defined(LIBSCHEDULER) &&
!defined(LIBMONETDB5)
-#define inet_export extern __declspec(dllimport)
-#else
-#define inet_export extern __declspec(dllexport)
-#endif
-#else
-#define inet_export extern
-#endif
-
-inet_export int INETfromString(str src, int *len, inet **retval);
-inet_export int INETtoString(str *retval, int *len, inet *handle);
-inet_export int INETcompare(inet *l, inet *r);
-inet_export str INETnew(inet * retval, str *in);
-inet_export str INET_isnil(bit *retval, inet * val);
-inet_export str INET_comp_EQ(bit *retval, inet * val1, inet *val2);
-inet_export str INET_comp_NEQ(bit *retval, inet * val1, inet *val2);
-inet_export str INET_comp_LT(bit *retval, inet * val1, inet *val2);
-inet_export str INET_comp_GT(bit *retval, inet * val1, inet *val2);
-inet_export str INET_comp_LE(bit *retval, inet * val1, inet *val2);
-inet_export str INET_comp_GE(bit *retval, inet * val1, inet *val2);
-inet_export str INET_comp_CW(bit *retval, inet * val1, inet *val2);
-inet_export str INET_comp_CWE(bit *retval, inet * val1, inet *val2);
-inet_export str INET_comp_CS(bit *retval, inet * val1, inet *val2);
-inet_export str INET_comp_CSE(bit *retval, inet * val1, inet *val2);
-inet_export str INETbroadcast(inet * retval, inet *val);
-inet_export str INEThost(str *retval, inet *val);
-inet_export str INETmasklen(int *retval, inet *val);
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list