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 -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org