mutable
A Database System for Research and Fast Prototyping
Loading...
Searching...
No Matches
Data Structures | Public Member Functions | Data Fields | Private Member Functions | Private Attributes
m::DSVReader Struct Reference

A reader for delimiter separated value (DSV) files. More...

#include <Reader.hpp>

Inheritance diagram for m::DSVReader:
[legend]
Collaboration diagram for m::DSVReader:
[legend]

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 Configconfig () 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 Tabletable
 the table to insert the data into
 
Diagnosticdiag
 
Scheduler::Transactiontransaction
 

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
 

Detailed Description

A reader for delimiter separated value (DSV) files.

Definition at line 29 of file Reader.hpp.

Constructor & Destructor Documentation

◆ DSVReader()

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().

Member Function Documentation

◆ accept()

bool m::DSVReader::accept ( char  chr)
inlineprivate

Definition at line 121 of file Reader.hpp.

Referenced by operator()().

◆ config()

const Config & m::DSVReader::config ( ) const
inline

Definition at line 85 of file Reader.hpp.

Referenced by DSVReader(), and operator()().

◆ delimiter()

size_t m::DSVReader::delimiter ( ) const
inline

Definition at line 87 of file Reader.hpp.

References m::DSVReader::Config::delimiter.

Referenced by DSVReader(), and operator()().

◆ discard_cell()

void m::DSVReader::discard_cell ( )
inlineprivate

Definition at line 123 of file Reader.hpp.

References and(), and m::quote().

Referenced by operator()().

◆ discard_row()

void m::DSVReader::discard_row ( )
inlineprivate

Definition at line 131 of file Reader.hpp.

References and().

Referenced by operator()().

◆ escape()

size_t m::DSVReader::escape ( ) const
inline

Definition at line 88 of file Reader.hpp.

References m::DSVReader::Config::escape.

Referenced by operator()().

◆ has_header()

size_t m::DSVReader::has_header ( ) const
inline

Definition at line 90 of file Reader.hpp.

References m::DSVReader::Config::has_header.

Referenced by operator()().

◆ num_rows()

size_t m::DSVReader::num_rows ( ) const
inline

Definition at line 86 of file Reader.hpp.

References m::DSVReader::Config::num_rows.

Referenced by operator()().

◆ operator()() [1/10]

void DSVReader::operator() ( Const< Bitmap > &  ty)
overrideprivate

Definition at line 373 of file DSVReader.cpp.

References M_unreachable.

◆ operator()() [2/10]

void DSVReader::operator() ( Const< Boolean > &  ty)
overrideprivate

◆ operator()() [3/10]

void DSVReader::operator() ( Const< CharacterSequence > &  ty)
overrideprivate

◆ operator()() [4/10]

void DSVReader::operator() ( Const< Date > &  ty)
overrideprivate

◆ operator()() [5/10]

void DSVReader::operator() ( Const< DateTime > &  ty)
overrideprivate

◆ operator()() [6/10]

void DSVReader::operator() ( Const< ErrorType > &  ty)
overrideprivate

Definition at line 371 of file DSVReader.cpp.

References M_unreachable.

◆ operator()() [7/10]

void DSVReader::operator() ( Const< FnType > &  ty)
overrideprivate

Definition at line 374 of file DSVReader.cpp.

References M_unreachable.

◆ operator()() [8/10]

void DSVReader::operator() ( Const< NoneType > &  ty)
overrideprivate

Definition at line 372 of file DSVReader.cpp.

References M_unreachable.

◆ operator()() [9/10]

void DSVReader::operator() ( Const< Numeric > &  ty)
overrideprivate

◆ operator()() [10/10]

void DSVReader::operator() ( std::istream &  in,
const char *  name 
)
overridevirtual

◆ push()

void m::DSVReader::push ( )
inlineprivate

Definition at line 119 of file Reader.hpp.

Referenced by operator()().

◆ quote()

size_t m::DSVReader::quote ( ) const
inline

Definition at line 89 of file Reader.hpp.

References m::DSVReader::Config::quote.

Referenced by DSVReader(), and operator()().

◆ read_unsigned_int()

int64_t DSVReader::read_unsigned_int ( )
private

Definition at line 376 of file DSVReader.cpp.

References c, m::is_dec(), and step().

Referenced by operator()().

◆ skip_header()

size_t m::DSVReader::skip_header ( ) const
inline

Definition at line 91 of file Reader.hpp.

References m::DSVReader::Config::skip_header.

Referenced by operator()().

◆ step()

int m::DSVReader::step ( )
inlineprivate

Definition at line 105 of file Reader.hpp.

References m::Position::column, and m::Position::line.

Referenced by operator()(), and read_unsigned_int().

Field Documentation

◆ buf

std::vector<char> m::DSVReader::buf
private

Definition at line 76 of file Reader.hpp.

Referenced by operator()().

◆ c

char m::DSVReader::c
private

Definition at line 74 of file Reader.hpp.

Referenced by operator()(), and read_unsigned_int().

◆ cfg_

Config m::DSVReader::cfg_
private

Definition at line 71 of file Reader.hpp.

◆ col_idx

std::size_t m::DSVReader::col_idx
private

Definition at line 78 of file Reader.hpp.

Referenced by operator()().

◆ diag

Diagnostic& m::Reader::diag
inherited

Definition at line 18 of file Reader.hpp.

Referenced by operator()().

◆ in

std::istream* m::DSVReader::in = nullptr
private

Definition at line 75 of file Reader.hpp.

Referenced by operator()().

◆ pos

Position m::DSVReader::pos
private

Definition at line 73 of file Reader.hpp.

Referenced by operator()().

◆ table

const Table& m::Reader::table
inherited

the table to insert the data into

Definition at line 17 of file Reader.hpp.

Referenced by operator()().

◆ transaction

Scheduler::Transaction* m::Reader::transaction
inherited

Definition at line 19 of file Reader.hpp.

Referenced by operator()().

◆ tup

Tuple m::DSVReader::tup
private

intermediate tuple to store values of a row

Definition at line 77 of file Reader.hpp.

Referenced by operator()().


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