Changeset: d04d0c17f9ec for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/d04d0c17f9ec
Modified Files:
        README.rst
        cmake/monetdb-defines.cmake
        cmake/monetdb-findpackages.cmake
        cmake/monetdb-options.cmake
        monetdb_config.h.in
        sql/backends/monet5/vaults/CMakeLists.txt
        sql/server/rel_updates.c
Branch: parquet
Log Message:

TODO: beginning of Parquet implementation


diffs (123 lines):

diff --git a/README.rst b/README.rst
--- a/README.rst
+++ b/README.rst
@@ -79,6 +79,7 @@ SANITIZER       Enable support for the G
 SHP             Enable support for ESRI Shapefiles
 STRICT          Enable strict compiler flags (default=ON for development 
sources, OFF for tarball installation)
 TESTING         Enable support for testing
+PARQUET         Enable support Apache Parquet files
 WITH_BZ2        Include bz2 support
 WITH_CMOCKA     Include cmocka support (default=OFF)
 WITH_CURL       Include curl support
diff --git a/cmake/monetdb-defines.cmake b/cmake/monetdb-defines.cmake
--- a/cmake/monetdb-defines.cmake
+++ b/cmake/monetdb-defines.cmake
@@ -140,6 +140,7 @@ macro(monetdb_macro_variables)
   set(HAVE_PROJ ${PROJ_FOUND})
   set(HAVE_SNAPPY ${SNAPPY_FOUND})
   set(HAVE_FITS ${CFITSIO_FOUND})
+  set(HAVE_PARQUET ${PARQUET_FOUND})
   set(HAVE_VALGRIND ${VALGRIND_FOUND})
   set(HAVE_NETCDF ${NETCDF_FOUND})
   set(HAVE_READLINE ${READLINE_FOUND})
diff --git a/cmake/monetdb-findpackages.cmake b/cmake/monetdb-findpackages.cmake
--- a/cmake/monetdb-findpackages.cmake
+++ b/cmake/monetdb-findpackages.cmake
@@ -80,6 +80,23 @@ if(GEOM)
   find_package(Geos)
 endif()
 
+if(PARQUET)
+    find_package(PkgConfig REQUIRED)
+    pkg_search_module(GLIB REQUIRED glib-2.0)
+
+    include_directories(${GLIB_INCLUDE_DIRS})
+    link_directories(${GLIB_LIBRARY_DIRS})
+
+    add_definitions(${GLIB_CFLAGS_OTHER})
+
+    find_package(Arrow CONFIG REQUIRED)
+    find_package(Parquet CONFIG REQUIRED
+        PATHS ${Arrow_DIR} 
+        NO_DEFAULT_PATH
+    )
+endif()
+
+
 if(SHP)
   if(NOT GEOS_FOUND)
     message(STATUS "Disable SHP, geom module required for ESRI Shapefile 
vault")
diff --git a/cmake/monetdb-options.cmake b/cmake/monetdb-options.cmake
--- a/cmake/monetdb-options.cmake
+++ b/cmake/monetdb-options.cmake
@@ -136,3 +136,7 @@ option(CMAKE_SUMMARY
 option(CMAKE_UNITTESTS
   "Build and run the unittest for the build system"
   OFF)
+
+option(PARQUET
+  "Add support for Apache Parquet files"
+  OFF)
diff --git a/monetdb_config.h.in b/monetdb_config.h.in
--- a/monetdb_config.h.in
+++ b/monetdb_config.h.in
@@ -189,6 +189,7 @@
 #cmakedefine HAVE_PROJ 1
 #cmakedefine HAVE_SNAPPY 1
 #cmakedefine HAVE_FITS 1
+#cmakedefine HAVE_PARQUET 1
 #cmakedefine HAVE_VALGRIND 1
 #cmakedefine HAVE_NETCDF 1
 #cmakedefine HAVE_READLINE 1
diff --git a/sql/backends/monet5/vaults/CMakeLists.txt 
b/sql/backends/monet5/vaults/CMakeLists.txt
--- a/sql/backends/monet5/vaults/CMakeLists.txt
+++ b/sql/backends/monet5/vaults/CMakeLists.txt
@@ -9,4 +9,5 @@
 add_subdirectory(fits)
 add_subdirectory(netcdf)
 add_subdirectory(shp)
+add_subdirectory(parquet)
 
diff --git a/sql/server/rel_updates.c b/sql/server/rel_updates.c
--- a/sql/server/rel_updates.c
+++ b/sql/server/rel_updates.c
@@ -21,6 +21,7 @@
 #include "sql_symbol.h"
 #include "rel_prop.h"
 
+
 static sql_exp *
 insert_value(sql_query *query, sql_column *c, sql_rel **r, symbol *s, const 
char* action)
 {
@@ -1658,6 +1659,15 @@ copyfrom(sql_query *query, dlist *qname,
                                return NULL;
                        }
 
+                       // Parquet file COPY INTO.
+                       char *dot = strrchr(fname, '.');
+                       if (dot && !strcmp(dot, ".parquet")) {
+                               char *fn = ATOMformat(TYPE_str, fname);
+                               sql_error(sql, 02, SQLSTATE(42000) "COPY INTO: 
parquet copy into not implemented");
+                               GDKfree(fn);
+                               return NULL;
+                       }
+
                        nrel = rel_import(sql, nt, tsep, rsep, ssep, ns, fname, 
nr, offset, best_effort, fwf_widths, onclient, escape);
 
                        if (!rel)
@@ -1864,6 +1874,7 @@ copyto(sql_query *query, symbol *sq, con
        exp_kind ek = {type_value, card_relation, TRUE};
        sql_rel *r = rel_subquery(query, sq, ek);
 
+
        if (!r)
                return NULL;
        r = rel_project(sql->sa, r, rel_projections(sql, r, NULL, 1, 0));
@@ -1971,6 +1982,7 @@ bincopyto(sql_query *query, symbol *qry,
        return rel;
 }
 
+
 sql_exp *
 rel_parse_val(mvc *m, sql_schema *sch, char *query, sql_subtype *tpe, char 
emode, sql_rel *from)
 {
_______________________________________________
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org

Reply via email to