OmniSciDB
bf83d84833
|
#include <CsvReader.h>
Public Member Functions | |
SingleFileReader (const std::string &file_path, const import_export::CopyParams ©_params) | |
SingleFileReader (const std::string &file_path, const import_export::CopyParams ©_params, const rapidjson::Value &value) | |
~SingleFileReader () override | |
SingleFileReader (const SingleFileReader &)=delete | |
SingleFileReader & | operator= (const SingleFileReader &)=delete |
size_t | read (void *buffer, size_t max_size) override |
size_t | readRegion (void *buffer, size_t offset, size_t size) override |
bool | isScanFinished () override |
size_t | getRemainingSize () override |
bool | isRemainingSizeKnown () override |
void | checkForMoreRows (size_t file_offset, const ForeignServer *server_options, const UserMapping *user_mapping) override |
void | serialize (rapidjson::Value &value, rapidjson::Document::AllocatorType &allocator) const override |
![]() | |
CsvReader (const std::string &file_path, const import_export::CopyParams ©_params) | |
virtual | ~CsvReader ()=default |
Private Attributes | |
std::FILE * | file_ |
size_t | data_size_ |
bool | scan_finished_ |
size_t | header_offset_ |
size_t | total_bytes_read_ |
Additional Inherited Members | |
![]() | |
import_export::CopyParams | copy_params_ |
std::string | file_path_ |
Definition at line 107 of file CsvReader.h.
foreign_storage::SingleFileReader::SingleFileReader | ( | const std::string & | file_path, |
const import_export::CopyParams & | copy_params | ||
) |
Definition at line 69 of file CsvReader.cpp.
References CHECK, data_size_, file_, omnisci::fopen(), foreign_storage::anonymous_namespace{CsvReader.cpp}::get_data_size(), import_export::CopyParams::has_header, header_offset_, parse_ast::line, import_export::CopyParams::line_delim, and import_export::NO_HEADER.
foreign_storage::SingleFileReader::SingleFileReader | ( | const std::string & | file_path, |
const import_export::CopyParams & | copy_params, | ||
const rapidjson::Value & | value | ||
) |
Definition at line 100 of file CsvReader.cpp.
References data_size_, file_, omnisci::fopen(), foreign_storage::json_utils::get_value_from_object(), header_offset_, and total_bytes_read_.
|
inlineoverride |
|
delete |
|
overridevirtual |
Rescan the target files Throws an exception if the rescan fails (ie files are not in a valid appended state or not supported)
file_offset | - where to resume the scan from (end of the last row) as not all of the bytes may have been consumed by the upstream compoennet |
server_options | - only needed for S3 backed CSV |
user_mapping | - only needed for S3 backed CSV |
Reimplemented from foreign_storage::CsvReader.
Definition at line 126 of file CsvReader.cpp.
References CHECK, data_size_, file_, foreign_storage::CsvReader::file_path_, omnisci::fopen(), foreign_storage::anonymous_namespace{CsvReader.cpp}::get_data_size(), header_offset_, isScanFinished(), scan_finished_, foreign_storage::throw_removed_row_error(), to_string(), and total_bytes_read_.
|
inlineoverridevirtual |
Implements foreign_storage::CsvReader.
Definition at line 142 of file CsvReader.h.
References data_size_, and total_bytes_read_.
|
inlineoverridevirtual |
Implements foreign_storage::CsvReader.
Definition at line 144 of file CsvReader.h.
|
inlineoverridevirtual |
Implements foreign_storage::CsvReader.
Definition at line 140 of file CsvReader.h.
References scan_finished_.
Referenced by checkForMoreRows(), and readRegion().
|
delete |
|
inlineoverridevirtual |
Read up to max_size bytes from archive into buffer starting starting from the end of the last read
buffer | - buffer to load into |
max_size | - maximum number of bytes to read into the buffer |
Implements foreign_storage::CsvReader.
Definition at line 120 of file CsvReader.h.
References file_, scan_finished_, and total_bytes_read_.
|
inlineoverridevirtual |
Read up to max_size bytes from archive, starting at given offset isScanFinished() must return true to use readRegion
buffer | - buffer to load into |
offset | - starting point into the archive to read |
size | - maximum number of bytes to read into the buffer |
Implements foreign_storage::CsvReader.
Definition at line 130 of file CsvReader.h.
References CHECK, file_, foreign_storage::CsvReader::file_path_, header_offset_, isScanFinished(), and to_string().
|
overridevirtual |
Serialize internal state to given json object This Json will later be used to restore the reader state through a constructor must be called when isScanFinished() is true
value | - json object to store needed state to this function can store any needed data or none |
allocator | - allocator to use for json contruction |
Implements foreign_storage::CsvReader.
Definition at line 117 of file CsvReader.cpp.
References foreign_storage::json_utils::add_value_to_object(), CHECK, data_size_, header_offset_, scan_finished_, and total_bytes_read_.
|
private |
Definition at line 155 of file CsvReader.h.
Referenced by checkForMoreRows(), getRemainingSize(), serialize(), and SingleFileReader().
|
private |
Definition at line 153 of file CsvReader.h.
Referenced by checkForMoreRows(), read(), readRegion(), SingleFileReader(), and ~SingleFileReader().
|
private |
Definition at line 160 of file CsvReader.h.
Referenced by checkForMoreRows(), readRegion(), serialize(), and SingleFileReader().
|
private |
Definition at line 157 of file CsvReader.h.
Referenced by checkForMoreRows(), isScanFinished(), read(), and serialize().
|
private |
Definition at line 162 of file CsvReader.h.
Referenced by checkForMoreRows(), getRemainingSize(), read(), serialize(), and SingleFileReader().