Source Files

FileDescription
parquet.f90
parquet_argsort.f90
parquet_argsort_engine.f90
parquet_argsort_kernel.f90
parquet_columns.f90
parquet_columns_access.f90
parquet_columns_mutate.f90
parquet_columns_string.f90
parquet_columns_structural.f90
parquet_columns_util.f90
parquet_columns_validity.f90
parquet_core.f90
parquet_expkey.f90
parquet_io.f90
parquet_maml_base.f90
parquet_maml_base_add_col_qc.f90
parquet_metadata.f90
parquet_metadata_base.f90
parquet_metadata_get.f90
parquet_metadata_maml.f90
parquet_random.f90
parquet_read.f90
parquet_read_filter.f90
parquet_read_numeric.f90
parquet_read_sort.f90
parquet_read_string.f90
parquet_read_temporal.f90
parquet_sampling.f90
parquet_settings.f90
parquet_settings_base.f90
parquet_sorting.f90
parquet_sorting_argsort.f90
parquet_sorting_keys.f90
parquet_sorting_oracle.f90
parquet_sorting_permute.f90
parquet_sorting_reduce.f90
parquet_sorting_search.f90
parquet_sorting_select.f90
parquet_sorting_unique.f90
parquet_strings.f90
parquet_table_example.f90
parquet_tables.f90
parquet_tables_access.f90
parquet_tables_addcol.f90
parquet_tables_clone.f90
parquet_tables_col.f90
parquet_tables_colaccess.f90
parquet_tables_lifecycle.f90
parquet_tables_maml.f90
parquet_tables_materialize.f90
parquet_tables_mutate.f90
parquet_tables_parallel.f90
parquet_tables_predefined.f90
parquet_tables_query.f90
parquet_tables_read.f90
parquet_tables_row.f90
parquet_tables_rowmutate.f90
parquet_tables_slice.f90
parquet_tables_sort.f90
parquet_tables_write.f90
parquet_temporal.f90
parquet_version.f90
parquet_write.f90

Safety net for a writer whose handle is still open when it goes out of scope or is overwritten (e.g. reassigned, or an early RETURN between parquet_open_writer and parquet_close_writer): frees the underlying C++ object so the process doesn't leak it. Uses abandon_parquet_writer, not close_parquet_writer: the latter builds/writes the final table and checks that every declared column was written and every row group finished, and throws (an uncaught C++ exception that crosses the extern "C" boundary and aborts the process) if not -- erroring, let alone crashing, from an implicit finalizer on an incompletely-written file would be surprising. The resulting output file is therefore not guaranteed complete/valid when reached this way -- always prefer calling parquet_close_writer explicitly.

parquet_write_numeric.f90
parquet_write_string.f90
parquet_write_temporal.f90
parquet_ziggurat.f90