Changeset: 7de3fb6be10c for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/7de3fb6be10c
Modified Files:
sql/backends/monet5/vaults/parquet/parquet.c
sql/backends/monet5/vaults/parquet/parquet.h
sql/server/rel_select.c
Branch: parquet
Log Message:
improve pointer stuff
diffs (82 lines):
diff --git a/sql/backends/monet5/vaults/parquet/parquet.c
b/sql/backends/monet5/vaults/parquet/parquet.c
--- a/sql/backends/monet5/vaults/parquet/parquet.c
+++ b/sql/backends/monet5/vaults/parquet/parquet.c
@@ -7,19 +7,26 @@
#include <arrow-glib/arrow-glib.h>
#include <parquet-glib/metadata.h>
-parquet_file open_file(char* filename) {
+
+extern void *GDKmalloc(size_t size); /* FIXME */
+
+parquet_file *open_file(char* filename) {
GParquetArrowFileReader *reader;
- GError *error;
+ GError *g_error;
+ char* error = NULL;
- reader = gparquet_arrow_file_reader_new_path(filename, &error);
+ reader = gparquet_arrow_file_reader_new_path(filename, &g_error);
if(!reader) {
- printf("%s", error->message);
- /* TODO: Throw a SQLState Error. */
reader = NULL;
+ error = g_error->message;
}
- parquet_file file = { filename, reader };
+ parquet_file *file = GDKmalloc(sizeof(parquet_file));
+
+ file->filename = filename;
+ file->reader = reader;
+ file->error = error;
return file;
}
@@ -43,4 +50,4 @@ parquet_table_metadata get_table_metadat
parquet_table_metadata metadata = {"foo", n_rows};
return metadata;
-}
+}
\ No newline at end of file
diff --git a/sql/backends/monet5/vaults/parquet/parquet.h
b/sql/backends/monet5/vaults/parquet/parquet.h
--- a/sql/backends/monet5/vaults/parquet/parquet.h
+++ b/sql/backends/monet5/vaults/parquet/parquet.h
@@ -6,6 +6,7 @@
typedef struct parquet_file {
char* filename;
GParquetArrowFileReader *reader;
+ char* error;
} parquet_file;
typedef struct parquet_table_metadata {
@@ -14,7 +15,7 @@ typedef struct parquet_table_metadata {
} parquet_table_metadata;
/* Opens the file, and returns a struct containing the reader. */
-parquet_file open_file(char* filename);
+parquet_file *open_file(char* filename);
parquet_table_metadata get_table_metadata(parquet_file *file);
diff --git a/sql/server/rel_select.c b/sql/server/rel_select.c
--- a/sql/server/rel_select.c
+++ b/sql/server/rel_select.c
@@ -547,8 +547,13 @@ file_loader_add_table_column_types(sql_s
(void)sa;
(void)e;
- parquet_file file = open_file(filename);
- get_table_metadata(&file);
+ parquet_file *file = open_file(filename);
+
+ if(file->error) {
+ return file->error;
+ }
+
+ get_table_metadata(file);
/* ext -> call back */
/*
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]