![]() |
mutable
A Database System for Research and Fast Prototyping
|
A reader for delimiter separated value (DSV) files. More...
#include <Reader.hpp>
Data Structures | |
struct | Config |
Configuration parameters for importing a DSV file. More... | |
Public Member Functions | |
DSVReader (const Table &table, Config cfg, Diagnostic &diag, Scheduler::Transaction *transaction=nullptr) | |
void | operator() (std::istream &in, const char *name) override |
const Config & | config () const |
size_t | num_rows () const |
size_t | delimiter () const |
size_t | escape () const |
size_t | quote () const |
size_t | has_header () const |
size_t | skip_header () const |
Data Fields | |
const Table & | table |
the table to insert the data into | |
Diagnostic & | diag |
Scheduler::Transaction * | transaction |
Private Member Functions | |
void | operator() (Const< ErrorType > &ty) override |
void | operator() (Const< NoneType > &ty) override |
void | operator() (Const< Boolean > &ty) override |
void | operator() (Const< Bitmap > &ty) override |
void | operator() (Const< CharacterSequence > &ty) override |
void | operator() (Const< Date > &ty) override |
void | operator() (Const< DateTime > &ty) override |
void | operator() (Const< Numeric > &ty) override |
void | operator() (Const< FnType > &ty) override |
int | step () |
void | push () |
bool | accept (char chr) |
void | discard_cell () |
void | discard_row () |
int64_t | read_unsigned_int () |
Private Attributes | |
Config | cfg_ |
Position | pos |
char | c |
std::istream * | in = nullptr |
std::vector< char > | buf |
Tuple | tup |
intermediate tuple to store values of a row | |
std::size_t | col_idx |
A reader for delimiter separated value (DSV) files.
Definition at line 29 of file Reader.hpp.
DSVReader::DSVReader | ( | const Table & | table, |
Config | cfg, | ||
Diagnostic & | diag, | ||
Scheduler::Transaction * | transaction = nullptr |
||
) |
Definition at line 23 of file DSVReader.cpp.
References config(), delimiter(), and quote().
|
inlineprivate |
Definition at line 121 of file Reader.hpp.
Referenced by operator()().
|
inline |
Definition at line 85 of file Reader.hpp.
Referenced by DSVReader(), and operator()().
|
inline |
Definition at line 87 of file Reader.hpp.
References m::DSVReader::Config::delimiter.
Referenced by DSVReader(), and operator()().
|
inlineprivate |
Definition at line 123 of file Reader.hpp.
References and(), and m::quote().
Referenced by operator()().
|
inlineprivate |
|
inline |
Definition at line 88 of file Reader.hpp.
References m::DSVReader::Config::escape.
Referenced by operator()().
|
inline |
Definition at line 90 of file Reader.hpp.
References m::DSVReader::Config::has_header.
Referenced by operator()().
|
inline |
Definition at line 86 of file Reader.hpp.
References m::DSVReader::Config::num_rows.
Referenced by operator()().
|
overrideprivate |
Definition at line 373 of file DSVReader.cpp.
References M_unreachable.
|
overrideprivate |
Definition at line 155 of file DSVReader.cpp.
References m::and, buf, c, col_idx, config(), delimiter(), m::Reader::diag, m::Diagnostic::e(), pos, push(), m::Tuple::set(), m::streq(), and tup.
|
overrideprivate |
Definition at line 168 of file DSVReader.cpp.
References accept(), m::and, buf, c, col_idx, config(), delimiter(), m::Reader::diag, m::Diagnostic::e(), escape(), m::Catalog::Get(), m::Tuple::null(), m::Catalog::pool(), pos, push(), m::DSVReader::Config::quote, quote(), m::Tuple::set(), step(), and tup.
|
overrideprivate |
Definition at line 219 of file DSVReader.cpp.
References accept(), m::and, buf, c, col_idx, config(), m::Reader::diag, DIGITS, m::Diagnostic::e(), m::Catalog::Get(), m::Tuple::null(), m::Catalog::pool(), pos, push(), quote(), m::Tuple::set(), and tup.
|
overrideprivate |
Definition at line 249 of file DSVReader.cpp.
References accept(), m::and, buf, c, col_idx, config(), m::Reader::diag, DIGITS, m::Diagnostic::e(), m::Catalog::Get(), m::Tuple::null(), m::Catalog::pool(), pos, push(), quote(), m::Tuple::set(), and tup.
|
overrideprivate |
Definition at line 371 of file DSVReader.cpp.
References M_unreachable.
|
overrideprivate |
Definition at line 374 of file DSVReader.cpp.
References M_unreachable.
|
overrideprivate |
Definition at line 372 of file DSVReader.cpp.
References M_unreachable.
|
overrideprivate |
Definition at line 284 of file DSVReader.cpp.
References accept(), m::and, c, col_idx, config(), delimiter(), m::Reader::diag, m::Diagnostic::e(), m::is_dec(), m::Tuple::null(), pos, m::powi(), read_unsigned_int(), m::Tuple::set(), step(), tup, and m::Diagnostic::w().
|
overridevirtual |
< maps column offset to attribute
Implements m::Reader.
Definition at line 32 of file DSVReader.cpp.
References accept(), m::Schema::add(), m::and, args, m::Table::at(), m::Table::begin_all(), buf, c, m::Table::cbegin_hidden(), col_idx, m::Interpreter::compile_store(), config(), m::DSVReader::Config::delimiter, delimiter(), m::Reader::diag, discard_cell(), discard_row(), m::Diagnostic::e(), m::Table::end_all(), m::Table::end_hidden(), m::Catalog::Get(), has_header(), in, m::Table::layout(), M_insist, m::Table::name(), m::Tuple::null(), num_rows(), pos, m::Tuple::set(), skip_header(), m::Scheduler::Transaction::start_time(), step(), m::Table::store(), m::Reader::table, m::Reader::transaction, and tup.
|
inlineprivate |
Definition at line 119 of file Reader.hpp.
Referenced by operator()().
|
inline |
Definition at line 89 of file Reader.hpp.
References m::DSVReader::Config::quote.
Referenced by DSVReader(), and operator()().
|
private |
Definition at line 376 of file DSVReader.cpp.
References c, m::is_dec(), and step().
Referenced by operator()().
|
inline |
Definition at line 91 of file Reader.hpp.
References m::DSVReader::Config::skip_header.
Referenced by operator()().
|
inlineprivate |
Definition at line 105 of file Reader.hpp.
References m::Position::column, and m::Position::line.
Referenced by operator()(), and read_unsigned_int().
|
private |
Definition at line 76 of file Reader.hpp.
Referenced by operator()().
|
private |
Definition at line 74 of file Reader.hpp.
Referenced by operator()(), and read_unsigned_int().
|
private |
Definition at line 71 of file Reader.hpp.
|
private |
Definition at line 78 of file Reader.hpp.
Referenced by operator()().
|
inherited |
Definition at line 18 of file Reader.hpp.
Referenced by operator()().
|
private |
Definition at line 75 of file Reader.hpp.
Referenced by operator()().
|
private |
Definition at line 73 of file Reader.hpp.
Referenced by operator()().
|
inherited |
the table to insert the data into
Definition at line 17 of file Reader.hpp.
Referenced by operator()().
|
inherited |
Definition at line 19 of file Reader.hpp.
Referenced by operator()().
|
private |
intermediate tuple to store values of a row
Definition at line 77 of file Reader.hpp.
Referenced by operator()().