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