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(&ltime);
+       _localtime64_s(&loctime, &ltime);
+       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

Reply via email to