Changeset: 2107e12b431c for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=2107e12b431c
Added Files:
sql/test/BugTracker-2014/Tests/locate-offset.Bug-3563.sql
sql/test/BugTracker-2014/Tests/locate-offset.Bug-3563.stable.err
sql/test/BugTracker-2014/Tests/locate-offset.Bug-3563.stable.out
sql/test/BugTracker-2014/Tests/round-sorted.Bug-3562.sql
sql/test/BugTracker-2014/Tests/round-sorted.Bug-3562.stable.err
sql/test/BugTracker-2014/Tests/round-sorted.Bug-3562.stable.out
Modified Files:
NT/installer32/MonetDB-ODBC-Installer.vdproj
NT/installer32/MonetDB5-Geom-Module.vdproj
NT/installer32/MonetDB5-SQL-Installer.vdproj
NT/monetdb_config.h.in
clients/Tests/MAL-signatures_all.stable.out
clients/Tests/MAL-signatures_all.stable.out.int128
clients/Tests/MAL-signatures_fits_geom.stable.out
clients/Tests/MAL-signatures_fits_geom.stable.out.int128
clients/Tests/MAL-signatures_geom.stable.out
clients/Tests/MAL-signatures_geom.stable.out.int128
clients/Tests/MAL-signatures_none.stable.out
clients/Tests/MAL-signatures_none.stable.out.int128
clients/mapiclient/mclient.c
clients/odbc/driver/ODBCUtil.c
clients/odbc/driver/README
clients/odbc/driver/SQLParamOptions.c
clients/odbc/driver/SQLSetConnectAttr.c
clients/odbc/driver/SQLSetConnectOption.c
clients/odbc/driver/SQLSetDescField.c
clients/odbc/driver/SQLSetEnvAttr.c
clients/odbc/driver/SQLSetStmtAttr.c
clients/odbc/driver/SQLSetStmtOption.c
clients/odbc/samples/arraytest.c
clients/odbc/samples/odbcsample1.c
clients/odbc/samples/testgetinfo.c
clients/odbc/winsetup/setup.c
configure.ag
gdk/gdk.h
gdk/gdk_aggr.c
gdk/gdk_atoms.c
gdk/gdk_bat.c
gdk/gdk_batop.c
gdk/gdk_calc.c
gdk/gdk_group.c
gdk/gdk_heap.c
gdk/gdk_imprints.c
gdk/gdk_private.h
gdk/gdk_select.c
gdk/gdk_setop.c
gdk/gdk_utils.c
gdk/gdk_value.c
monetdb5/mal/mal_instruction.c
monetdb5/modules/atoms/str.c
monetdb5/modules/mal/pcre.c
monetdb5/modules/mal/pcre.mal
sql/backends/monet5/LSST/Tests/lsst_htmxmatch.sql
sql/backends/monet5/rel_bin.c
sql/backends/monet5/sql.c
sql/backends/monet5/sql_fround_impl.h
sql/backends/monet5/sql_gencode.c
sql/backends/monet5/sql_optimizer.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/benchmarks/tpch/Tests/02-plan.stable.out
sql/benchmarks/tpch/Tests/09-plan.stable.out.int128
sql/benchmarks/tpch/Tests/13-plan.stable.out
sql/benchmarks/tpch/Tests/16-plan.stable.out
sql/benchmarks/tpch/Tests/17-explain.stable.out.int128
sql/benchmarks/tpch/Tests/17-plan.stable.out.int128
sql/benchmarks/tpch/Tests/20-explain.stable.out.int128
sql/benchmarks/tpch/Tests/20-plan.stable.out.int128
sql/include/sql_catalog.h
sql/server/rel_dump.c
sql/server/rel_exp.c
sql/server/rel_exp.h
sql/server/rel_optimizer.c
sql/server/rel_select.c
sql/server/sql_parser.y
sql/storage/bat/bat_storage.c
sql/storage/bat/bat_table.c
sql/storage/store.c
sql/test/BugTracker-2009/Tests/primekeyconstraint.SF-2783425.stable.err
sql/test/BugTracker-2014/Tests/All
sql/test/leaks/Tests/check1.stable.out.int128
sql/test/leaks/Tests/check2.stable.out.int128
sql/test/leaks/Tests/check3.stable.out.int128
sql/test/leaks/Tests/check4.stable.out.int128
sql/test/leaks/Tests/check5.stable.out.int128
sql/test/leaks/Tests/select1.stable.out.int128
sql/test/leaks/Tests/select2.stable.out.int128
sql/test/pg_regress/Tests/alter_table.sql
sql/test/pg_regress/Tests/alter_table.stable.err
sql/test/pg_regress/Tests/alter_table.stable.out
sql/test/pg_regress/Tests/float4.sql
sql/test/pg_regress/Tests/float4.stable.err
sql/test/pg_regress/Tests/float4.stable.out
sql/test/pg_regress/Tests/float8.sql
sql/test/pg_regress/Tests/float8.stable.err
sql/test/pg_regress/Tests/float8.stable.out
sql/test/pg_regress/Tests/insert.sql
sql/test/pg_regress/Tests/insert.stable.err
sql/test/pg_regress/Tests/insert.stable.out
sql/test/pg_regress/Tests/oid.sql
sql/test/pg_regress/Tests/oid.stable.err
sql/test/pg_regress/Tests/oid.stable.out
sql/test/pg_regress/Tests/strings.sql
sql/test/pg_regress/Tests/strings.stable.err
sql/test/pg_regress/Tests/strings.stable.out
Branch: mosaic
Log Message:
Merge with default branch.
diffs (truncated from 10379 to 300 lines):
diff --git a/NT/installer32/MonetDB-ODBC-Installer.vdproj
b/NT/installer32/MonetDB-ODBC-Installer.vdproj
--- a/NT/installer32/MonetDB-ODBC-Installer.vdproj
+++ b/NT/installer32/MonetDB-ODBC-Installer.vdproj
@@ -566,8 +566,8 @@
{
"Name" = "8:Microsoft Visual Studio"
"ProductName" = "8:MonetDB ODBC Driver"
- "ProductCode" = "8:{66BABD32-D69D-4A89-A7F3-2655D4CD0641}"
- "PackageCode" = "8:{D9B2D386-1461-43BC-9A63-93F1BA0D7921}"
+ "ProductCode" = "8:{2343A06A-C2EE-4093-A9D0-76BD33BD911E}"
+ "PackageCode" = "8:{3D25FE62-3ACA-4E4F-8C44-00F612B05AF2}"
"UpgradeCode" = "8:{C1F69378-3F5C-4120-8224-32F07D3458F3}"
"AspNetVersion" = "8:4.0.30319.0"
"RestartWWWService" = "11:FALSE"
diff --git a/NT/installer32/MonetDB5-Geom-Module.vdproj
b/NT/installer32/MonetDB5-Geom-Module.vdproj
--- a/NT/installer32/MonetDB5-Geom-Module.vdproj
+++ b/NT/installer32/MonetDB5-Geom-Module.vdproj
@@ -420,8 +420,8 @@
{
"Name" = "8:Microsoft Visual Studio"
"ProductName" = "8:MonetDB5 SQL GIS Module"
- "ProductCode" = "8:{66BABD32-D69D-4A89-A7F3-2655D4CD0641}"
- "PackageCode" = "8:{D9B2D386-1461-43BC-9A63-93F1BA0D7921}"
+ "ProductCode" = "8:{C3E5CF14-CA74-4A9C-8051-AC733123C5F6}"
+ "PackageCode" = "8:{E77DD8EF-7830-4D56-97BE-26A2296F7008}"
"UpgradeCode" = "8:{92C89C36-0E86-45E1-B3D8-0D6C91108F30}"
"AspNetVersion" = "8:4.0.30319.0"
"RestartWWWService" = "11:FALSE"
diff --git a/NT/installer32/MonetDB5-SQL-Installer.vdproj
b/NT/installer32/MonetDB5-SQL-Installer.vdproj
--- a/NT/installer32/MonetDB5-SQL-Installer.vdproj
+++ b/NT/installer32/MonetDB5-SQL-Installer.vdproj
@@ -4288,8 +4288,8 @@
{
"Name" = "8:Microsoft Visual Studio"
"ProductName" = "8:MonetDB5"
- "ProductCode" = "8:{66BABD32-D69D-4A89-A7F3-2655D4CD0641}"
- "PackageCode" = "8:{D9B2D386-1461-43BC-9A63-93F1BA0D7921}"
+ "ProductCode" = "8:{38BA5ECB-FCAA-46C3-BBEE-AA6A09D97B92}"
+ "PackageCode" = "8:{E537E35E-EB72-4AA5-A2F9-E4A4E5D92635}"
"UpgradeCode" = "8:{730C595B-DBA6-48D7-94B8-A98780AC92B6}"
"AspNetVersion" = "8:4.0.30319.0"
"RestartWWWService" = "11:FALSE"
diff --git a/NT/monetdb_config.h.in b/NT/monetdb_config.h.in
--- a/NT/monetdb_config.h.in
+++ b/NT/monetdb_config.h.in
@@ -99,9 +99,6 @@
/* there is something very similar to asctime_r on Windows: */
#define asctime_r(t,b,s) asctime_s(b,s,t)
-/* Define to 1 if the system has the type `bool'. */
-/* #undef HAVE_BOOL */
-
/* Define if you have the cfitsio library */
/* #undef HAVE_CFITSIO */
@@ -699,7 +696,7 @@
/* #undef HAVE_XMMINTRIN_H */
/* Define to 1 if the system has the type `_Bool'. */
-#define HAVE__BOOL 1
+/* #undef HAVE__BOOL */
#ifdef _WIN64
/* Define to 1 if you have the `_mul128' function. */
@@ -1035,6 +1032,12 @@ typedef unsigned __int64 uint64_t;
#include <assert.h>
+/* normally defined in stdbool.h, but that doesn't exist on Windows */
+#define true 1
+#define false 0
+#define __bool_true_false_are_defined 1
+
+
#define SLASH_2_DIR_SEP(s) {char *t; for(t=strchr(s, '/' ); t;
t=strchr(t+1, '/' )) *t=DIR_SEP;}
#define DIR_SEP_2_SLASH(s) {char *t; for(t=strchr(s, DIR_SEP); t;
t=strchr(t+1, DIR_SEP)) *t='/' ;}
@@ -1091,20 +1094,7 @@ typedef __int128_t hge;
#error no definition for PDFMT
#endif
-/* On Windows, always use 64 bit integers (even on 32-bit architectures)
- * to not get the warning C4311: 'type cast' : pointer truncation from
- * 'void *' to 'unsigned int' */
-#define PTRFMT "%I64x"
-#define PTRFMTCAST (unsigned __int64)
-
-#ifdef LIBGDK4
-#define LIBGDK 1
-#endif
-#ifdef LIBSTREAM4
-#define LIBSTREAM 1
-#endif
-#ifdef LIBMAPI4
-#define LIBMAPI 1
-#endif
+#define PTRFMT "%p"
+#define PTRFMTCAST
#endif /* _SEEN_MONETDB_CONFIG_H */
diff --git a/clients/Tests/MAL-signatures_all.stable.out
b/clients/Tests/MAL-signatures_all.stable.out
--- a/clients/Tests/MAL-signatures_all.stable.out
+++ b/clients/Tests/MAL-signatures_all.stable.out
@@ -2338,6 +2338,10 @@ command algebra.ilikesubselect(s:bat[:oi
address PCREilike_join_pcre;
function
algebra.ilikesubselect(b:bat[:oid,:str],cand:bat[:oid,:oid],pat:str,esc:str,anti:bit):bat[:oid,:oid];
function
algebra.ilikesubselect(b:bat[:oid,:str],pat:str,esc:str,anti:bit):bat[:oid,:oid];
+command algebra.ilike(s:str,pat:str):bit
+address PCREilike2;
+command algebra.ilike(s:str,pat:str,esc:str):bit
+address PCREilike3;
command
algebra.indexjoin(left:bat[:any_1,:any_2],right:bat[:any_2,:any_3]):bat[:any_1,:any_3]
address ALGindexjoin;
comment Hook directly into the index implementation of the join.
@@ -2401,6 +2405,10 @@ command algebra.likesubselect(b:bat[:oid
address PCRElikesubselect1;
comment Select all head values for which the tail value is "like" the
given (SQL-style) pattern. Input is a dense-headed BAT, output is a
dense-headed BAT with in the tail the head value of the input BAT for
which the relationship holds. The output BAT is sorted on the tail value.
+command algebra.like(s:str,pat:str):bit
+address PCRElike2;
+command algebra.like(s:str,pat:str,esc:str):bit
+address PCRElike3;
command
algebra.leftfetchjoin(left:bat[:oid,:oid],right:bat[:oid,:any_3]):bat[:oid,:any_3]
address ALGleftfetchjoin;
comment Hook directly into the left fetch join implementation.
@@ -2449,6 +2457,14 @@ command algebra.markT(b:bat[:any_1,:any_
address ALGtmark;
comment Produces a BAT with fresh unique dense sequense of OIDs in
the tail that starts at base (i.e. [base,..base+b.count()-1] ).
+command algebra.not_ilike(s:str,pat:str):bit
+address PCREnotilike2;
+command algebra.not_ilike(s:str,pat:str,esc:str):bit
+address PCREnotilike3;
+command algebra.not_like(s:str,pat:str):bit
+address PCREnotlike2;
+command algebra.not_like(s:str,pat:str,esc:str):bit
+address PCREnotlike3;
command
algebra.outerjoin(outer:bat[:any_1,:any_2],inner:bat[:any_2,:any_3],estimate:lng):bat[:any_1,:any_3]
address ALGouterjoinestimate;
command
algebra.outerjoin(outer:bat[:any_1,:oid],inner:bat[:oid,:any_3]):bat[:any_1,:any_3]
@@ -2869,6 +2885,22 @@ command batgeom.point(x:bat[:oid,:dbl],y
address wkbcreatepoint_bat;
comment Construct a point-BAT from two geometry-BATs
+command batalgebra.ilike(s:bat[:oid,:str],pat:str):bat[:oid,:bit]
+address BATPCREilike2;
+command batalgebra.ilike(s:bat[:oid,:str],pat:str,esc:str):bat[:oid,:bit]
+address BATPCREilike;
+command batalgebra.like(s:bat[:oid,:str],pat:str):bat[:oid,:bit]
+address BATPCRElike2;
+command batalgebra.like(s:bat[:oid,:str],pat:str,esc:str):bat[:oid,:bit]
+address BATPCRElike;
+command batalgebra.not_ilike(s:bat[:oid,:str],pat:str):bat[:oid,:bit]
+address BATPCREnotliike2;
+command batalgebra.not_ilike(s:bat[:oid,:str],pat:str,esc:str):bat[:oid,:bit]
+address BATPCREnotilike;
+command batalgebra.not_like(s:bat[:oid,:str],pat:str):bat[:oid,:bit]
+address BATPCREnotlike2;
+command batalgebra.not_like(s:bat[:oid,:str],pat:str,esc:str):bat[:oid,:bit]
+address BATPCREnotlike;
command batcolor.blue(c:bat[:oid,:color]):bat[:oid,:int]
address CLRbatBlue;
comment Extracts blue component from a color atom
diff --git a/clients/Tests/MAL-signatures_all.stable.out.int128
b/clients/Tests/MAL-signatures_all.stable.out.int128
--- a/clients/Tests/MAL-signatures_all.stable.out.int128
+++ b/clients/Tests/MAL-signatures_all.stable.out.int128
@@ -2855,6 +2855,10 @@ command algebra.ilikesubselect(s:bat[:oi
address PCREilike_join_pcre;
function
algebra.ilikesubselect(b:bat[:oid,:str],cand:bat[:oid,:oid],pat:str,esc:str,anti:bit):bat[:oid,:oid];
function
algebra.ilikesubselect(b:bat[:oid,:str],pat:str,esc:str,anti:bit):bat[:oid,:oid];
+command algebra.ilike(s:str,pat:str):bit
+address PCREilike2;
+command algebra.ilike(s:str,pat:str,esc:str):bit
+address PCREilike3;
command
algebra.indexjoin(left:bat[:any_1,:any_2],right:bat[:any_2,:any_3]):bat[:any_1,:any_3]
address ALGindexjoin;
comment Hook directly into the index implementation of the join.
@@ -2918,6 +2922,10 @@ command algebra.likesubselect(b:bat[:oid
address PCRElikesubselect1;
comment Select all head values for which the tail value is "like" the
given (SQL-style) pattern. Input is a dense-headed BAT, output is a
dense-headed BAT with in the tail the head value of the input BAT for
which the relationship holds. The output BAT is sorted on the tail value.
+command algebra.like(s:str,pat:str):bit
+address PCRElike2;
+command algebra.like(s:str,pat:str,esc:str):bit
+address PCRElike3;
command
algebra.leftfetchjoin(left:bat[:oid,:oid],right:bat[:oid,:any_3]):bat[:oid,:any_3]
address ALGleftfetchjoin;
comment Hook directly into the left fetch join implementation.
@@ -2966,6 +2974,14 @@ command algebra.markT(b:bat[:any_1,:any_
address ALGtmark;
comment Produces a BAT with fresh unique dense sequense of OIDs in
the tail that starts at base (i.e. [base,..base+b.count()-1] ).
+command algebra.not_ilike(s:str,pat:str):bit
+address PCREnotilike2;
+command algebra.not_ilike(s:str,pat:str,esc:str):bit
+address PCREnotilike3;
+command algebra.not_like(s:str,pat:str):bit
+address PCREnotlike2;
+command algebra.not_like(s:str,pat:str,esc:str):bit
+address PCREnotlike3;
command
algebra.outerjoin(outer:bat[:any_1,:any_2],inner:bat[:any_2,:any_3],estimate:lng):bat[:any_1,:any_3]
address ALGouterjoinestimate;
command
algebra.outerjoin(outer:bat[:any_1,:oid],inner:bat[:oid,:any_3]):bat[:any_1,:any_3]
@@ -3398,6 +3414,22 @@ command batgeom.point(x:bat[:oid,:dbl],y
address wkbcreatepoint_bat;
comment Construct a point-BAT from two geometry-BATs
+command batalgebra.ilike(s:bat[:oid,:str],pat:str):bat[:oid,:bit]
+address BATPCREilike2;
+command batalgebra.ilike(s:bat[:oid,:str],pat:str,esc:str):bat[:oid,:bit]
+address BATPCREilike;
+command batalgebra.like(s:bat[:oid,:str],pat:str):bat[:oid,:bit]
+address BATPCRElike2;
+command batalgebra.like(s:bat[:oid,:str],pat:str,esc:str):bat[:oid,:bit]
+address BATPCRElike;
+command batalgebra.not_ilike(s:bat[:oid,:str],pat:str):bat[:oid,:bit]
+address BATPCREnotliike2;
+command batalgebra.not_ilike(s:bat[:oid,:str],pat:str,esc:str):bat[:oid,:bit]
+address BATPCREnotilike;
+command batalgebra.not_like(s:bat[:oid,:str],pat:str):bat[:oid,:bit]
+address BATPCREnotlike2;
+command batalgebra.not_like(s:bat[:oid,:str],pat:str,esc:str):bat[:oid,:bit]
+address BATPCREnotlike;
command batcolor.blue(c:bat[:oid,:color]):bat[:oid,:int]
address CLRbatBlue;
comment Extracts blue component from a color atom
@@ -27430,11 +27462,11 @@ command batcalc.bte(v:bat[:oid,:str],dig
address batstr_2num_bte;
comment cast to bte and check for overflow
-command batcalc.bte(v:bat[:oid,:void],digits:int,scale:int):bat[:oid,:bte]
+command batcalc.bte(v:bat[:oid,:oid],digits:int,scale:int):bat[:oid,:bte]
address batnil_2dec_bte;
comment cast to dec(bte) and check for overflow
-command batcalc.bte(v:bat[:oid,:void],digits:int):bat[:oid,:bte]
+command batcalc.bte(v:bat[:oid,:oid],digits:int):bat[:oid,:bte]
address batnil_2num_bte;
comment cast to bte and check for overflow
@@ -27598,19 +27630,19 @@ pattern batcalc.bte(b:bat[:oid,:bit]):ba
address CMDconvertsignal_bte;
comment cast from bit to bte, signal error on overflow
-pattern batcalc.bte_noerror(b:bat[:oid,:void],s:bat[:oid,:oid]):bat[:oid,:bte]
+pattern batcalc.bte_noerror(b:bat[:oid,:oid],s:bat[:oid,:oid]):bat[:oid,:bte]
address CMDconvert_bte;
comment cast from void to bte with candidates list
-pattern batcalc.bte_noerror(b:bat[:oid,:void]):bat[:oid,:bte]
+pattern batcalc.bte_noerror(b:bat[:oid,:oid]):bat[:oid,:bte]
address CMDconvert_bte;
comment cast from void to bte
-pattern batcalc.bte(b:bat[:oid,:void],s:bat[:oid,:oid]):bat[:oid,:bte]
+pattern batcalc.bte(b:bat[:oid,:oid],s:bat[:oid,:oid]):bat[:oid,:bte]
address CMDconvertsignal_bte;
comment cast from void to bte with candidates list, signal error on overflow
-pattern batcalc.bte(b:bat[:oid,:void]):bat[:oid,:bte]
+pattern batcalc.bte(b:bat[:oid,:oid]):bat[:oid,:bte]
address CMDconvertsignal_bte;
comment cast from void to bte, signal error on overflow
@@ -27774,19 +27806,19 @@ pattern batcalc.bit(b:bat[:oid,:bit]):ba
address CMDconvertsignal_bit;
comment cast from bit to bit, signal error on overflow
-pattern batcalc.bit_noerror(b:bat[:oid,:void],s:bat[:oid,:oid]):bat[:oid,:bit]
+pattern batcalc.bit_noerror(b:bat[:oid,:oid],s:bat[:oid,:oid]):bat[:oid,:bit]
address CMDconvert_bit;
comment cast from void to bit with candidates list
-pattern batcalc.bit_noerror(b:bat[:oid,:void]):bat[:oid,:bit]
+pattern batcalc.bit_noerror(b:bat[:oid,:oid]):bat[:oid,:bit]
address CMDconvert_bit;
comment cast from void to bit
-pattern batcalc.bit(b:bat[:oid,:void],s:bat[:oid,:oid]):bat[:oid,:bit]
+pattern batcalc.bit(b:bat[:oid,:oid],s:bat[:oid,:oid]):bat[:oid,:bit]
address CMDconvertsignal_bit;
comment cast from void to bit with candidates list, signal error on overflow
-pattern batcalc.bit(b:bat[:oid,:void]):bat[:oid,:bit]
+pattern batcalc.bit(b:bat[:oid,:oid]):bat[:oid,:bit]
address CMDconvertsignal_bit;
comment cast from void to bit, signal error on overflow
@@ -29605,7 +29637,7 @@ command batcalc.date(v:bat[:oid,:str]):b
address batstr_2_date;
comment cast to date
-command batcalc.date(v:bat[:oid,:void]):bat[:oid,:date]
+command batcalc.date(v:bat[:oid,:oid]):bat[:oid,:date]
address batnil_2_date;
comment cast to date
@@ -29621,11 +29653,11 @@ command batcalc.daytime(v:bat[:oid,:str]
address batstr_2_daytime;
comment Cast to daytime
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list