Changeset: 31fd4cecb922 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=31fd4cecb922 Added Files: sql/backends/monet5/vaults/shp/75_shp.mal sql/backends/monet5/vaults/shp/75_shp.sql sql/backends/monet5/vaults/shp/Makefile.ag sql/backends/monet5/vaults/shp/shp.c sql/backends/monet5/vaults/shp/shp.h sql/backends/monet5/vaults/shp/shp.mal Removed Files: geom/sql/functions/Tests/ST_NumPoints.stable.err.Windows Modified Files: NT/rules.msc clients/Tests/All clients/mapiclient/mclient.c configure.ag gdk/gdk_hash.c gdk/gdk_imprints.c geom/lib/libgeom.c geom/lib/libgeom.h geom/monetdb5/geom.c geom/monetdb5/geom_upgrade.c monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out.Windows monetdb5/mal/mal_profiler.c monetdb5/mal/mal_resource.c monetdb5/mal/mal_resource.h sql/backends/monet5/sql.c sql/backends/monet5/vaults/Makefile.ag sql/benchmarks/tpch/Tests/16-explain.stable.out.32bit sql/benchmarks/tpch/Tests/20-explain.stable.out.32bit sql/benchmarks/tpch/Tests/21-explain.stable.out.32bit sql/benchmarks/tpch/Tests/22-explain.stable.out.32bit sql/test/BugTracker-2010/Tests/offset_limited_32bit.SF-2950579.stable.err.oid32 sql/test/SQLite_regress/sqllogictest/Tests/select1.test.stable.out sql/test/SQLite_regress/sqllogictest/Tests/select2.test.stable.out sql/test/SQLite_regress/sqllogictest/Tests/select3.test.stable.out sql/test/Tests/All sql/test/leaks/Tests/All testing/Mtest.py.in Branch: embedded Log Message:
merge with default diffs (truncated from 12227 to 300 lines): diff --git a/NT/rules.msc b/NT/rules.msc --- a/NT/rules.msc +++ b/NT/rules.msc @@ -361,6 +361,11 @@ create_winconfig_conds_new_py: !ELSE $(ECHO) HAVE_LIDAR_FALSE='' >> "$(TOPDIR)\winconfig_conds_new.py" !ENDIF +!IFDEF HAVE_SHP + $(ECHO) HAVE_SHP_FALSE='#' >> "$(TOPDIR)\winconfig_conds_new.py" +!ELSE + $(ECHO) HAVE_SHP_FALSE='' >> "$(TOPDIR)\winconfig_conds_new.py" +!ENDIF !IFDEF HAVE_MONETDB5 $(ECHO) HAVE_MONETDB5_FALSE='#' >> "$(TOPDIR)\winconfig_conds_new.py" !ELSE diff --git a/clients/Tests/All b/clients/Tests/All --- a/clients/Tests/All +++ b/clients/Tests/All @@ -1,4 +1,4 @@ exports -HAVE_FITS&HAVE_GEOM&HAVE_GSL&HAVE_LIBR&!HAVE_LIDAR&HAVE_NETCDF&HAVE_SAMTOOLS&HAVE_SPHINXCLIENT?MAL-signatures -!BITS32&!BITS64OID32&HAVE_FITS&HAVE_GEOM&HAVE_GSL&!HAVE_LIDAR&HAVE_NETCDF&HAVE_SAMTOOLS?SQL-dump +HAVE_FITS&HAVE_GEOM&HAVE_GSL&HAVE_LIBR&!HAVE_LIDAR&!HAVE_SHP&HAVE_NETCDF&HAVE_SAMTOOLS&HAVE_SPHINXCLIENT?MAL-signatures +!BITS32&!BITS64OID32&HAVE_FITS&HAVE_GEOM&HAVE_GSL&!HAVE_LIDAR&!HAVE_SHP&HAVE_NETCDF&HAVE_SAMTOOLS?SQL-dump MERCURIAL?malcheck diff --git a/clients/mapiclient/mclient.c b/clients/mapiclient/mclient.c --- a/clients/mapiclient/mclient.c +++ b/clients/mapiclient/mclient.c @@ -2838,13 +2838,14 @@ set_timezone(Mapi mid) /* figure out our current timezone */ #ifdef HAVE__GET_TIMEZONE - long tz; /* type long required by _get_timezone() */ - int dst; + __time64_t ltime, lt, gt; + struct tm loctime; - _tzset(); - _get_timezone(&tz); - _get_dstbias(&dst); - tzone = (int) (tz + dst); + _time64(<ime); + _localtime64_s(&loctime, <ime); + lt = _mktime64(&loctime); + gt = _mkgmtime64(&loctime); + tzone = (int) (lt - gt); #else time_t t, lt, gt; struct tm *tmp; diff --git a/configure.ag b/configure.ag --- a/configure.ag +++ b/configure.ag @@ -167,8 +167,8 @@ dft_lidar=auto AC_ARG_ENABLE(lidar, AS_HELP_STRING([--enable-lidar], [enable support for LiDAR data (default=auto)]), - enable_lidar=$enableval, - enable_lidar=$dft_lidar) + have_lidar=$enableval, + have_lidar=$dft_lidar) dft_sql=yes AC_ARG_ENABLE(sql, @@ -202,6 +202,22 @@ no-auto) ;; esac +dft_shp=auto +AC_ARG_ENABLE(shp, + AS_HELP_STRING([--enable-shp], + [enable support for ESRI Shapefiles (default=auto)]), + have_shp=$enableval, + have_shp=$dft_shp) +case "$enable_geom-$have_shp" in +no-yes) + AC_MSG_ERROR([ESRI Shapefile vault requires the geom module]) + ;; +no-auto) + have_shp=no + disable_shp="(ESRI Shapefile vault requires the geom module)" + ;; +esac + dft_embedded=no AC_ARG_ENABLE(embedded, AS_HELP_STRING([--enable-embedded], @@ -2644,7 +2660,7 @@ AC_ARG_WITH(liblas, AS_HELP_STRING([--with-liblas=DIR], [liblas library is installed in DIR]), have_liblas="$withval") -case "$enable_lidar" in +case "$have_lidar" in yes|auto) # liblas >= 1.8.0 required LIBLAS_VERSION_REQUIRED_MIN=1.8.0 @@ -2691,23 +2707,23 @@ yes|auto) fi # if lidar is enabled and liblas was not found abort if test "x$have_liblas" = xno; then - if test "x$enable_lidar" = xyes; then + if test "x$have_lidar" = xyes; then AC_MSG_ERROR([liblas library required for lidar module]) fi # no liblas, so don't compile lidar - enable_lidar=no + have_lidar=no if test "x$disable_lidar" = x; then disable_lidar=${why_have_liblas:-"(liblas library required for lidar module)"} fi fi ;; no) - enable_lidar=no + have_lidar=no have_liblas=no why_have_liblas="(lidar module is disabled)" ;; esac -case "$enable_lidar" in +case "$have_lidar" in no) LIBLAS_RPM=without;; *) LIBLAS_RPM=with;; esac @@ -2716,12 +2732,87 @@ AC_SUBST(LIBLAS_RPM) AC_SUBST(LIBLAS_INCS) AC_SUBST(LIBLAS_LIBS) -AC_MSG_CHECKING(['enable lidar: $enable_lidar']) +AC_MSG_CHECKING(['enable lidar: $have_lidar']) -AM_CONDITIONAL(HAVE_LIDAR, test "x$enable_lidar" = xyes -o "x$enable_lidar" = xauto) +AM_CONDITIONAL(HAVE_LIDAR, test "x$have_lidar" = xyes -o "x$have_lidar" = xauto) -AC_MSG_CHECKING(['enable lidar: $enable_lidar']) +AC_MSG_CHECKING(['enable lidar: $have_lidar']) +# gdal +org_have_gdal="auto" +have_gdal=$org_have_gdal +AC_ARG_WITH(gdal, + AS_HELP_STRING([--with-gdal=DIR], + [gdal library is installed in DIR]), + [have_gdal="$withval"], [have_gdal="auto"]) +# first autoconf for distributions that added a .pc file themselves (Fedora) +if test "x$have_gdal" != xno; then + case "$have_gdal" in + auto|yes) + PKG_CHECK_MODULES([GDAL], [gdal], [have_gdal="pkgconf"], [have_gdal="$have_gdal"]) + ;; + *) + GDAL_CFLAGS="-I$have_gdal/include" + GDAL_LIBS="-L$have_gdal/lib" + ;; + esac +fi +# try to detect it manually like upstream provides it +if test "x$have_gdal" != xno && test "x$have_gdal" != xpkgconf; then + save_CPPFLAGS="$CPPFLAGS" + save_LDFLAGS="$LDFLAGS" + save_LIBS="$LIBS" + CPPFLAGS="$CPPFLAGS $GDAL_CFLAGS" + LDFLAGS="$LDFLAGS $GDAL_LIBS" + LIBS="" + found_gdal_h=yes + AC_CHECK_HEADER(gdal.h,, + AC_CHECK_HEADER(gdal/gdal.h, + [if test "x$GDAL_CFLAGS" = x; then + GDAL_CFLAGS="-I/usr/include/gdal" + else + GDAL_CFLAGS="$GDAL_CFLAGS/gdal" + fi + CPPFLAGS="$save_CPPFLAGS $GDAL_CFLAGS"], + [found_gdal_h=no])) + if test "x$found_gdal_h" = xyes; then + AC_CHECK_LIB(gdal, GDALAllRegister, + [AC_DEFINE(HAVE_GDAL, 1, [Define if you have the gdal library]) + have_gdal=yes + LIBS="$LIBS -lgdal"], + [ if test "x$have_gdal" != xauto; then AC_MSG_ERROR([-lgdal library not found]); fi + have_gdal=no; why_have_gdal="(gdal library not found)" ], + [$MATH_LIBS]) + else + if test "x$have_gdal" != xauto; then AC_MSG_ERROR([gdal.h header not found]); fi + have_gdal=no; why_have_gdal="(gdal.h header not found)" + fi + GDAL_LIBS="$GDAL_LIBS $LIBS" + LDFLAGS="$save_LDFLAGS" + CPPFLAGS="$save_CPPFLAGS" + LIBS="$save_LIBS" + if test "x$have_gdal" != "xyes"; then + GDAL_CFLAGS="" + GDAL_LIBS="" + fi +fi + +AC_SUBST(gdal_CFLAGS, $GDAL_CFLAGS) +AC_SUBST(gdal_LIBS, $GDAL_LIBS) +AM_CONDITIONAL(HAVE_GDAL, test x"$have_gdal" != xno) + +# if shp is enabled and gdal was not found abort +if test "x$have_gdal" = xno; then + if test "x$have_shp" = xyes; then + AC_MSG_ERROR([gdal library required for ESRI Shapefile vault]) + fi + # no gdal, so don't compile shp + have_shp=no + if test "x$disable_shp" = x; then + disable_shp=${why_have_shp:-"(gdal library required for ESRI Shapefile vault)"} + fi +fi +AM_CONDITIONAL(HAVE_SHP, test x"$have_shp" != xno ) PKG_CHECK_MODULES([atomic_ops], [atomic_ops], [have_atomic_ops="yes"], [have_atomic_ops="no"; why_have_atomic_ops="(atomic_ops library not found)"]) @@ -3552,6 +3643,7 @@ for comp in \ 'curl ' \ 'fits ' \ 'getaddrinfo ' \ + 'gdal ' \ 'gsl ' \ 'java ' \ 'java_control ' \ @@ -3571,6 +3663,7 @@ for comp in \ 'readline ' \ 'rubygem ' \ 'samtools ' \ + 'shp ' \ 'sphinxclient ' \ 'unixodbc ' \ 'valgrind ' \ @@ -3579,6 +3672,7 @@ for comp in \ eval "org=\$org_have_$comp" eval "have=\$have_$comp" eval "why=\$why_have_$comp" + case "$why-$have-$org" in -no-no) why="(by default)";; -no-*) why="(by command line option)";; diff --git a/gdk/gdk_hash.c b/gdk/gdk_hash.c --- a/gdk/gdk_hash.c +++ b/gdk/gdk_hash.c @@ -250,6 +250,7 @@ BATcheckhash(BAT *b) h->Link = hp->base + HASH_HEADER_SIZE * SIZEOF_SIZE_T; h->Hash = (void *) ((char *) h->Link + h->lim * h->width); close(fd); + hp->parentid = b->batCacheid; b->T->hash = h; ALGODEBUG fprintf(stderr, "#BATcheckhash: reusing persisted hash %s\n", BATgetId(b)); MT_lock_unset(&GDKhashLock(abs(b->batCacheid))); @@ -490,6 +491,7 @@ BAThash(BAT *b, BUN masksize) } break; } + hp->parentid = b->batCacheid; #ifdef PERSISTENTHASH if (BBP_status(b->batCacheid) & BBPEXISTING) { MT_Id tid; diff --git a/gdk/gdk_imprints.c b/gdk/gdk_imprints.c --- a/gdk/gdk_imprints.c +++ b/gdk/gdk_imprints.c @@ -240,6 +240,7 @@ BATcheckimprints(BAT *b) imprints->imps = (void *) (imprints->stats + 64 * 3); imprints->dict = (void *) ((uintptr_t) ((char *) imprints->imps + pages * (imprints->bits / 8) + sizeof(uint64_t)) & ~(sizeof(uint64_t) - 1)); close(fd); + imprints->imprints->parentid = b->batCacheid; b->T->imprints = imprints; ALGODEBUG fprintf(stderr, "#BATcheckimprints: reusing persisted imprints %d\n", b->batCacheid); MT_lock_unset(&GDKimprintsLock(abs(b->batCacheid))); @@ -486,6 +487,7 @@ BATimprints(BAT *b) } close(fd); } + imprints->imprints->parentid = b->batCacheid; b->T->imprints = imprints; } diff --git a/geom/lib/libgeom.c b/geom/lib/libgeom.c --- a/geom/lib/libgeom.c +++ b/geom/lib/libgeom.c @@ -130,21 +130,21 @@ const char* geom_type2str(int t, int fla switch (t) { //case wkbGeometry: // return "GEOMETRY"; - case wkbPoint: + case wkbPoint_mdb: return "POINT"; - case wkbLineString: + case wkbLineString_mdb: return "LINESTRING"; - case wkbLinearRing: + case wkbLinearRing_mdb: return "LINEARRING"; - case wkbPolygon: + case wkbPolygon_mdb: return "POLYGON"; - case wkbMultiPoint: + case wkbMultiPoint_mdb: return "MULTIPOINT"; - case wkbMultiLineString: + case wkbMultiLineString_mdb: _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list