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 checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list