ion_flat_file_t Struct Reference

Metadata container that holds flat file specific information. More...

#include <flat_file_types.h>

Collaboration diagram for ion_flat_file_t:

Public Attributes

ion_dictionary_parent_t super
ion_boolean_t sorted_mode
ion_fpos_t start_of_data
ion_fpos_t eof_position
ion_dictionary_size_t num_buffered
FILE * data_file
size_t row_size
ion_fpos_t current_loaded_region
size_t num_in_buffer

Detailed Description

Metadata container that holds flat file specific information.

Definition at line 73 of file flat_file_types.h.

Member Data Documentation

ion_byte_t* ion_flat_file_t::buffer

Memory buffer capable of holding row_size number of rows. This is used

for many purposes throughout the flat file.

Definition at line 89 of file flat_file_types.h.

ion_fpos_t ion_flat_file_t::current_loaded_region

When a scan is performed, a region (defined as num_in_buffer number of records) is loaded into

memory. We can utilize this fact to do efficient cached reads as long as the buffer is intact. This is expressed as an index that points to the first record in the region. num_in_buffer-1 would be the last index in the region.

Definition at line 99 of file flat_file_types.h.

FILE* ion_flat_file_t::data_file

The file descriptor of the file this flat file instance operates on.

Definition at line 91 of file flat_file_types.h.

ion_fpos_t ion_flat_file_t::eof_position

This marks the eof position within the file, so that we can efficiently find it.

Definition at line 82 of file flat_file_types.h.

ion_dictionary_size_t ion_flat_file_t::num_buffered

This comes from the given dictionary size, and signifies how many

records we want to buffer at a time. This is a trade-off between better performance and increased memory usage.

Definition at line 86 of file flat_file_types.h.

size_t ion_flat_file_t::num_in_buffer

Expresses how many valid records are currently in the buffer.

Definition at line 101 of file flat_file_types.h.

size_t ion_flat_file_t::row_size

This value expresses the size of one row inside the data_file. A row is defined

as a record + metadata. Change this if ion_flat_file_row_t changes!

Definition at line 94 of file flat_file_types.h.

ion_boolean_t ion_flat_file_t::sorted_mode

Flag to toggle whether or not to activate "sorted mode" for storage.

Definition at line 77 of file flat_file_types.h.

ion_fpos_t ion_flat_file_t::start_of_data

This signifies where the actual record data starts, in case we want to

write some metadata at the beginning of the flat file's file.

Definition at line 80 of file flat_file_types.h.

ion_dictionary_parent_t ion_flat_file_t::super

Parent structure that holds dictionary level information.

Definition at line 75 of file flat_file_types.h.

The documentation for this struct was generated from the following file: