Changeset: 69ab66b771de for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=69ab66b771de
Added Files:
        debian/monetdb5-server-hugeint.install
        debian/monetdb5-sql-hugeint.install
Modified Files:
        MonetDB.spec
        clients/Tests/exports.stable.out
        debian/control
        debian/monetdb5-server.install
        debian/monetdb5-sql.install
        gdk/gdk_join.c
        gdk/gdk_select.c
        monetdb5/mal/mal.c
        monetdb5/mal/mal.h
        monetdb5/mal/mal_parser.c
        sql/backends/monet5/sql_upgrades.c
        sql/common/Makefile.ag
        sql/common/sql_types.c
        sql/server/rel_exp.c
        sql/server/rel_optimizer.c
        sql/server/rel_select.c
        sql/server/sql_parser.y
        sql/server/sql_scan.c
Branch: default
Log Message:

Merge with default.


diffs (truncated from 783 to 300 lines):

diff --git a/MonetDB.spec b/MonetDB.spec
--- a/MonetDB.spec
+++ b/MonetDB.spec
@@ -637,6 +637,7 @@ fi
 %exclude %{_libdir}/monetdb5/rapi.mal
 %endif
 %exclude %{_libdir}/monetdb5/sql*.mal
+%exclude %{_libdir}/monetdb5/*_hge.mal
 %{_libdir}/monetdb5/*.mal
 %if %{?with_geos:1}%{!?with_geos:0}
 %exclude %{_libdir}/monetdb5/autoload/*_geom.mal
@@ -663,6 +664,26 @@ fi
 %{_libdir}/monetdb5/*.so
 %doc %{_mandir}/man1/mserver5.1.gz
 
+%package -n MonetDB5-server-hugeint
+Summary: MonetDB - 128-bit integer support for MonetDB5-server
+Group: Application/Databases
+Requires: MonetDB5-server
+
+%description -n MonetDB5-server-hugeint
+MonetDB is a database management system that is developed from a
+main-memory perspective with use of a fully decomposed storage model,
+automatic index management, extensibility of data types and search
+accelerators.  It also has an SQL frontend.
+
+This package provides HUGEINT (128-bit integer) support for the
+MonetDB5-server component.
+
+%files -n MonetDB5-server-hugeint
+%exclude %{_libdir}/monetdb5/sql*_hge.mal
+%{_libdir}/monetdb5/*_hge.mal
+%exclude %{_libdir}/monetdb5/autoload/??_sql_hge.mal
+%{_libdir}/monetdb5/autoload/*_hge.mal
+
 %package -n MonetDB5-server-devel
 Summary: MonetDB development files
 Group: Applications/Databases
@@ -723,7 +744,7 @@ systemd-tmpfiles --create %{_sysconfdir}
 %exclude %{_sysconfdir}/tmpfiles.d/monetdbd.conf
 %endif
 %config(noreplace) %{_localstatedir}/monetdb5/dbfarm/.merovingian_properties
-%{_libdir}/monetdb5/autoload/??_sql*.mal
+%{_libdir}/monetdb5/autoload/??_sql.mal
 %{_libdir}/monetdb5/lib_sql.so
 %{_libdir}/monetdb5/*.sql
 %dir %{_libdir}/monetdb5/createdb
@@ -734,7 +755,9 @@ systemd-tmpfiles --create %{_sysconfdir}
 %if %{?with_samtools:1}%{!?with_samtools:0}
 %exclude %{_libdir}/monetdb5/createdb/*_bam.sql
 %endif
-%{_libdir}/monetdb5/createdb/*
+%exclude %{_libdir}/monetdb5/createdb/*_hge.sql
+%{_libdir}/monetdb5/createdb/*.sql
+%exclude %{_libdir}/monetdb5/sql*_hge.mal
 %{_libdir}/monetdb5/sql*.mal
 %doc %{_mandir}/man1/monetdb.1.gz
 %doc %{_mandir}/man1/monetdbd.1.gz
@@ -748,6 +771,27 @@ systemd-tmpfiles --create %{_sysconfdir}
 %{_datadir}/doc/MonetDB-SQL-%{version}/*
 %endif
 
+%package SQL-server5-hugeint
+Summary: MonetDB5 128 bit integer (hugeint) support for SQL
+Group: Applications/Databases
+Requires: MonetDB5-server-hugeint = %{version}-%{release}
+Requires: MonetDB-SQL-server5 = %{version}-%{release}
+
+%description SQL-server5-hugeint
+MonetDB is a database management system that is developed from a
+main-memory perspective with use of a fully decomposed storage model,
+automatic index management, extensibility of data types and search
+accelerators.  It also has an SQL frontend.
+
+This package provides HUGEINT (128-bit integer) support for the SQL
+frontend of MonetDB.
+
+%files SQL-server5-hugeint
+%defattr(-,root,root)
+%{_libdir}/monetdb5/autoload/??_sql_hge.mal
+%{_libdir}/monetdb5/createdb/*_hge.sql
+%{_libdir}/monetdb5/sql*_hge.mal
+
 %package -n python-monetdb
 Summary: Native MonetDB client Python API
 Group: Applications/Databases
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
@@ -2271,6 +2271,7 @@ int hasSameArguments(MalBlkPtr mb, Instr
 int hasSameSignature(MalBlkPtr mb, InstrPtr p, InstrPtr q, int stop);
 int hasSideEffects(InstrPtr p, int strict);
 str hashRef;
+int have_hge;
 int headProp;
 str hgeRef;
 int hlbProp;
diff --git a/debian/control b/debian/control
--- a/debian/control
+++ b/debian/control
@@ -245,6 +245,18 @@ Description: MonetDB database server ver
  package if you want to use the MonetDB database system.  If you want
  to use the SQL frontend, you also need monetdb5-sql.
 
+Package: monetdb5-server-hugeint
+Architecture: any
+Depends: monetdb5-server (= ${source:Version})
+Description: MonetDB - 128-bit integer support for MonetDB5-server
+ MonetDB is a database management system that is developed from a
+ main-memory perspective with use of a fully decomposed storage model,
+ automatic index management, extensibility of data types and search
+ accelerators.  It also has an SQL frontend.
+ .
+ This package provides HUGEINT (128-bit integer) support for the
+ MonetDB5-server component.
+
 Package: monetdb5-server-dev
 Architecture: any
 Depends: ${shlibs:Depends}, ${misc:Depends}, monetdb5-server
@@ -270,6 +282,18 @@ Description: MonetDB SQL support for mon
  .
  This package contains the SQL frontend for MonetDB.
 
+Package: monetdb5-sql-hugeint
+Architecture: any
+Depends: monetdb5-sql (= ${source:Version}), monetdb5-server-hugeint (= 
${source:Version})
+Description: MonetDB5 128 bit integer (hugeint) support for SQL
+ MonetDB is a database management system that is developed from a
+ main-memory perspective with use of a fully decomposed storage model,
+ automatic index management, extensibility of data types and search
+ accelerators.  It also has an SQL frontend.
+ .
+ This package provides HUGEINT (128-bit integer) support for the SQL
+ frontend of MonetDB.
+
 Package: monetdb-testing
 Architecture: any
 Depends: ${shlibs:Depends}, ${misc:Depends}
diff --git a/debian/monetdb5-server-hugeint.install 
b/debian/monetdb5-server-hugeint.install
new file mode 100644
--- /dev/null
+++ b/debian/monetdb5-server-hugeint.install
@@ -0,0 +1,5 @@
+# usr/lib/monetdb5/*_hge.mal EXCEPT: sql*_hge.mal
+debian/tmp/usr/lib/monetdb5/[!s]*_hge.mal usr/lib/monetdb5
+
+# usr/lib/monetdb5/autoload/*_hge.mal EXCEPT: ??_sql_hge.mal
+debian/tmp/usr/lib/monetdb5/autoload/[0-9][0-9]_[!s]*_hge.mal
diff --git a/debian/monetdb5-server.install b/debian/monetdb5-server.install
--- a/debian/monetdb5-server.install
+++ b/debian/monetdb5-server.install
@@ -8,17 +8,21 @@ debian/tmp/usr/lib/monetdb5/lib_opt_sql_
 debian/tmp/usr/lib/monetdb5/lib_udf.so usr/lib/monetdb5
 debian/tmp/usr/lib/monetdb5/lib_vault.so usr/lib/monetdb5
 
-# usr/lib/monetdb5/*.mal EXCEPT: bam.mal, geom.mal, gsl.mal, sql*.mal
-debian/tmp/usr/lib/monetdb5/[!bgs]*.mal usr/lib/monetdb5
+# usr/lib/monetdb5/*.mal EXCEPT: bam.mal, geom.mal, gsl.mal, sql*.mal *_hge.mal
+debian/tmp/usr/lib/monetdb5/[!bgsu]*.mal usr/lib/monetdb5
 debian/tmp/usr/lib/monetdb5/ba[!m]*.mal usr/lib/monetdb5
 debian/tmp/usr/lib/monetdb5/b[!a]*.mal usr/lib/monetdb5
-debian/tmp/usr/lib/monetdb5/ge[!o]*.mal usr/lib/monetdb5
+debian/tmp/usr/lib/monetdb5/generator.mal usr/lib/monetdb5
 debian/tmp/usr/lib/monetdb5/g[!es]*.mal usr/lib/monetdb5
 debian/tmp/usr/lib/monetdb5/s[!q]*.mal usr/lib/monetdb5
+debian/tmp/usr/lib/monetdb5/udf.mal usr/lib/monetdb5
+debian/tmp/usr/lib/monetdb5/u[!d]*.mal usr/lib/monetdb5
 
-# usr/lib/monetdb5/autoload/*.mal EXCEPT: *_bam.mal, *_geom.mal, *_gsl.mal, 
*_sql.mal
-debian/tmp/usr/lib/monetdb5/autoload/*_generator.mal usr/lib/monetdb5/autoload
-debian/tmp/usr/lib/monetdb5/autoload/*_lsst.mal usr/lib/monetdb5/autoload
-debian/tmp/usr/lib/monetdb5/autoload/*_opt_sql_append.mal 
usr/lib/monetdb5/autoload
-debian/tmp/usr/lib/monetdb5/autoload/*_udf*.mal usr/lib/monetdb5/autoload
-debian/tmp/usr/lib/monetdb5/autoload/*_vault.mal usr/lib/monetdb5/autoload
+# usr/lib/monetdb5/autoload/*.mal EXCEPT: *_bam.mal, *_geom.mal, *_gsl.mal, 
*_hge.mal *_sql.mal
+debian/tmp/usr/lib/monetdb5/autoload/??_batcalc.mal usr/lib/monetdb5/autoload
+debian/tmp/usr/lib/monetdb5/autoload/??_calc.mal usr/lib/monetdb5/autoload
+debian/tmp/usr/lib/monetdb5/autoload/??_generator.mal usr/lib/monetdb5/autoload
+debian/tmp/usr/lib/monetdb5/autoload/??_lsst.mal usr/lib/monetdb5/autoload
+debian/tmp/usr/lib/monetdb5/autoload/??_opt_sql_append.mal 
usr/lib/monetdb5/autoload
+debian/tmp/usr/lib/monetdb5/autoload/??_udf.mal usr/lib/monetdb5/autoload
+debian/tmp/usr/lib/monetdb5/autoload/??_vault.mal usr/lib/monetdb5/autoload
diff --git a/debian/monetdb5-sql-hugeint.install 
b/debian/monetdb5-sql-hugeint.install
new file mode 100644
--- /dev/null
+++ b/debian/monetdb5-sql-hugeint.install
@@ -0,0 +1,3 @@
+debian/tmp/usr/lib/monetdb5/sql*_hge.mal usr/lib/monetdb5
+debian/tmp/usr/lib/monetdb5/autoload/??_sql_hge.mal usr/lib/monetdb5/autoload
+debian/tmp/usr/lib/monetdb5/createdb/*_hge.sql usr/lib/monetdb5/createdb
diff --git a/debian/monetdb5-sql.install b/debian/monetdb5-sql.install
--- a/debian/monetdb5-sql.install
+++ b/debian/monetdb5-sql.install
@@ -1,12 +1,18 @@
 debian/tmp/usr/bin/monetdbd usr/bin
 debian/tmp/usr/bin/monetdb usr/bin
 debian/tmp/usr/lib/monetdb5/*.sql usr/lib/monetdb5
-debian/tmp/usr/lib/monetdb5/autoload/??_sql*.mal usr/lib/monetdb5/autoload
-debian/tmp/usr/lib/monetdb5/sql*.mal usr/lib/monetdb5
+debian/tmp/usr/lib/monetdb5/autoload/??_sql.mal usr/lib/monetdb5/autoload
+# usr/lib/monetdb5/sql*.mal EXCEPT: sql*_hge.mal
+debian/tmp/usr/lib/monetdb5/sql.mal usr/lib/monetdb5
+debian/tmp/usr/lib/monetdb5/sql_aggr_[!h]*.mal usr/lib/monetdb5
+debian/tmp/usr/lib/monetdb5/sql_decimal.mal usr/lib/monetdb5
+debian/tmp/usr/lib/monetdb5/sql_[!adh]*.mal usr/lib/monetdb5
 debian/tmp/usr/lib/monetdb5/lib_sql.so usr/lib/monetdb5
 debian/tmp/var/monetdb5/dbfarm/.merovingian_properties var/monetdb5/dbfarm
 
 # usr/lib/monetdb5/createdb/*.sql EXCEPT: *_bam.sql, *_geom.sql, *_gsl.sql
-debian/tmp/usr/lib/monetdb5/createdb/??_[!bg]*.sql usr/lib/monetdb5/createdb
-# only files currently starting with ??_g is ??_generator*
-debian/tmp/usr/lib/monetdb5/createdb/??_gen*.sql usr/lib/monetdb5/createdb
+debian/tmp/usr/lib/monetdb5/createdb/??_[!abgju]*.sql usr/lib/monetdb5/createdb
+debian/tmp/usr/lib/monetdb5/createdb/??_analytics.sql usr/lib/monetdb5/createdb
+debian/tmp/usr/lib/monetdb5/createdb/??_json.sql usr/lib/monetdb5/createdb
+debian/tmp/usr/lib/monetdb5/createdb/??_generator.sql usr/lib/monetdb5/createdb
+debian/tmp/usr/lib/monetdb5/createdb/??_udf.sql usr/lib/monetdb5/createdb
diff --git a/gdk/gdk_join.c b/gdk/gdk_join.c
--- a/gdk/gdk_join.c
+++ b/gdk/gdk_join.c
@@ -1739,16 +1739,16 @@ binsearchcand(const oid *cand, BUN lo, B
        for (hb = HASHget(h, HASHprobe((h), v));        \
             hb != HASHnil(h);                          \
             hb = HASHgetlink(h,hb))                    \
-               if (hb >= (lo) && hb < (hi) &&          \
+               if (misses += hb >= (hi), (hb >= (lo) && hb < (hi) &&   \
                    (cmp == NULL ||                     \
-                    (*cmp)(v, BUNtail(bi, hb)) == 0))
+                    (*cmp)(v, BUNtail(bi, hb)) == 0)))
 
 #define HASHloop_bound_TYPE(bi, h, hb, v, lo, hi, TYPE)                \
        for (hb = HASHget(h, hash_##TYPE(h, v));                \
             hb != HASHnil(h);                                  \
             hb = HASHgetlink(h,hb))                            \
-               if (hb >= (lo) && hb < (hi) &&                  \
-                   simple_EQ(v, BUNtloc(bi, hb), TYPE))
+               if (misses += hb >= (hi), (hb >= (lo) && hb < (hi) &&   \
+                                          simple_EQ(v, BUNtloc(bi, hb), TYPE)))
 
 static gdk_return
 hashjoin(BAT *r1, BAT *r2, BAT *l, BAT *r, BAT *sl, BAT *sr, int nil_matches, 
int nil_on_miss, int semi, int must_match)
@@ -1771,6 +1771,7 @@ hashjoin(BAT *r1, BAT *r2, BAT *l, BAT *
        oid lval = oid_nil;     /* hold value if l has dense tail */
        const char *v = (const char *) &lval;
        int lskipped = 0;       /* whether we skipped values in l */
+       BUN misses = 0;
 
        ALGODEBUG fprintf(stderr, "#hashjoin(l=%s#" BUNFMT "[%s]%s%s,"
                          "r=%s#" BUNFMT "[%s]%s%s,sl=%s#" BUNFMT "%s%s,"
@@ -2049,6 +2050,7 @@ hashjoin(BAT *r1, BAT *r2, BAT *l, BAT *
                                r1->trevsorted = 0;
                }
        }
+       fprintf(stderr, "#hashjoin: misses = "BUNFMT"\n", misses);
        assert(BATcount(r1) == BATcount(r2));
        /* also set other bits of heap to correct value to indicate size */
        BATsetcount(r1, BATcount(r1));
diff --git a/gdk/gdk_select.c b/gdk/gdk_select.c
--- a/gdk/gdk_select.c
+++ b/gdk/gdk_select.c
@@ -156,9 +156,9 @@ doubleslice(BAT *b, BUN l1, BUN h1, BUN 
        for (hb = HASHget(h, HASHprobe((h), v));        \
             hb != HASHnil(h);                          \
             hb = HASHgetlink(h,hb))                    \
-               if (hb >= (lo) && hb < (hi) &&          \
+               if (misses += hb >= (hi), (hb >= (lo) && hb < (hi) &&   \
                    (cmp == NULL ||                     \
-                    (*cmp)(v, BUNtail(bi, hb)) == 0))
+                    (*cmp)(v, BUNtail(bi, hb)) == 0)))
 
 static BAT *
 BAT_hashselect(BAT *b, BAT *s, BAT *bn, const void *tl, BUN maximum)
@@ -169,6 +169,7 @@ BAT_hashselect(BAT *b, BAT *s, BAT *bn, 
        BUN l, h;
        oid seq;
        int (*cmp)(const void *, const void *);
+       BUN misses = 0;
 
        assert(bn->htype == TYPE_void);
        assert(bn->ttype == TYPE_oid);
@@ -230,6 +231,7 @@ BAT_hashselect(BAT *b, BAT *s, BAT *bn, 
                        cnt++;
                }
        }
+       fprintf(stderr, "#BAT_hashselect: misses = "BUNFMT"\n", misses);
        BATsetcount(bn, cnt);
        bn->tkey = 1;
        if (cnt > 1) {
diff --git a/monetdb5/mal/mal.c b/monetdb5/mal/mal.c
--- a/monetdb5/mal/mal.c
+++ b/monetdb5/mal/mal.c
@@ -14,6 +14,9 @@ char monet_cwd[PATHLENGTH] = { 0 };
 size_t monet_memory;
 char   monet_characteristics[PATHLENGTH];
 int mal_trace;         /* enable profile events on console */
+#ifdef HAVE_HGE
+int have_hge;
+#endif
 
 #include "mal_stack.h"
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to