class Gambit::Printers::SQLitePrinter

The main printer class for output to SQLite database.

#include <sqliteprinter.hpp>

Inherits from Gambit::Printers::BasePrinter, Gambit::Printers::SQLiteBase, Gambit::Printers::BaseBasePrinter

Public Functions

Name
virtual voidinitialise(const std::vector< int > & )
virtual voidflush()
virtual voidreset(bool force =false)
Function to signal to the printer to write buffer contents to disk.
virtual voidfinalise(bool abnormal =false)
Signal printer that scan is finished, and final output needs to be performed.
virtual Optionsresume_reader_options()
virtual void_print_metadata(map_str_str metadata)
template <typename T >
void
_print(T const & , const std::string & label, const int vertexID, const uint, const ulong)
Print functions.
template <typename T >
void
_print(T const & in, const std::string & label, const uint rank, const ulong pointID)
Print functions.
SQLitePrinter(const Options & options, BasePrinter *const primary =NULL)
Constructor (for construction via inifile options)
~SQLitePrinter()
Destructor.
std::size_tget_max_buffer_length()
template <class T >
void
template_print(T const & value, const std::string & label, const int , const unsigned int mpirank, const unsigned long pointID, const std::string & col_type)
Helper print functions.

Additional inherited members

Public Functions inherited from Gambit::Printers::BasePrinter

Name
BasePrinter()
BasePrinter(BasePrinter *const primary, bool is_aux_IN)
virtual~BasePrinter()
Destructor.
voidset_as_aux()
Set this as an auxilliary printer.
virtual voidauxilliary_init()
BasePrinter *get_primary_printer()
boolis_auxilliary_printer()
template <typename T >
void
print(T const & in, const std::string & label, const int vertexID, const uint rank, const ulong pointID)
template <typename T >
void
print(T const & in, const std::string & label, const uint rank, const ulong pointID)

Public Functions inherited from Gambit::Printers::SQLiteBase

Name
SQLiteBase()
~SQLiteBase()

Protected Functions inherited from Gambit::Printers::SQLiteBase

Name
std::stringget_database_file()
std::stringget_table_name()
std::stringget_metadata_table_name()
voidset_table_name(const std::string & table_name)
voidset_metadata_table_name(const std::string & metadata_table_name)
voidrequire_output_ready()
voidopen_db(const std::string & path, char access =‘r’)
voidclose_db()
sqlite3 *get_db()
voidcout_row(sqlite3_stmt * tmp_stmt)
voidcheck_table_exists()
voidset_table_exists()
std::map< std::string, std::string, Utils::ci_less >get_column_info()
intsubmit_sql(const std::string & local_info, const std::string & sqlstr, bool allow_fail =false, sql_callback_fptr callback =NULL, void * data =NULL, char ** zErrMsg =NULL)

Public Functions inherited from Gambit::Printers::BaseBasePrinter

Name
BaseBasePrinter()
virtual~BaseBasePrinter()
intgetRank()
Retrieve/Set MPI rank (setting is useful for e.g. the postprocessor to re-print points from other ranks)
voidsetRank(int r)
bool &get_printUnitcube()
voidset_printUnitcube(const bool & rflag)
std::set< std::string >getPrintList()
voidsetPrintList(const std::set< std::string > & in)
voidaddToPrintList(const std::string & in)
boolget_resume()
voidset_resume(bool rflag)
voiddisable(int n =-1)
voidenable()
template <typename T >
void
print(T const & in, const std::string & label, const int vertexID, const uint rank, const ulong pointID)
template <typename T >
void
print(T const & in, const std::string & label, const uint rank, const ulong pointID)
voidprint_metadata(map_str_str datasets)

Protected Attributes inherited from Gambit::Printers::BaseBasePrinter

Name
boolprinter_enabled
Flag to check if print functions are enabled or disabled.
intprinter_cooldown
Counter for printer cooldown. If non-zero printer can be disabled for a fixed number of print calls.

Public Functions Documentation

function initialise

virtual void initialise(
    const std::vector< int > & 
)

Reimplements: Gambit::Printers::BasePrinter::initialise

Virtual function overloads:

function flush

virtual void flush()

Reimplements: Gambit::Printers::BasePrinter::flush

Signal printer to flush data in buffers to disk Printers should do this automatically as needed, but this is useful if a scanner is printing a bunch of data as a batch, to make sure it is all on disk after the batch is done.

function reset

virtual void reset(
    bool force =false
)

Function to signal to the printer to write buffer contents to disk.

Reimplements: Gambit::Printers::BaseBasePrinter::reset

Signal printer to reset contents, i.e. delete old data in preperation for replacement

function finalise

virtual void finalise(
    bool abnormal =false
)

Signal printer that scan is finished, and final output needs to be performed.

Reimplements: Gambit::Printers::BaseBasePrinter::finalise

function resume_reader_options

virtual Options resume_reader_options()

Reimplements: Gambit::Printers::BasePrinter::resume_reader_options

function _print_metadata

virtual void _print_metadata(
    map_str_str metadata
)

Reimplements: Gambit::Printers::BaseBasePrinter::_print_metadata

function _print

template <typename T >
inline void _print(
    T const & ,
    const std::string & label,
    const int vertexID,
    const uint,
    const ulong
)

Print functions.

function _print

template <typename T >
inline void _print(
    T const & in,
    const std::string & label,
    const uint rank,
    const ulong pointID
)

Print functions.

function SQLitePrinter

SQLitePrinter(
    const Options & options,
    BasePrinter *const primary =NULL
)

Constructor (for construction via inifile options)

function ~SQLitePrinter

inline ~SQLitePrinter()

Destructor.

function get_max_buffer_length

std::size_t get_max_buffer_length()

function template_print

template <class T >
inline void template_print(
    T const & value,
    const std::string & label,
    const int ,
    const unsigned int mpirank,
    const unsigned long pointID,
    const std::string & col_type
)

Helper print functions.


Updated on 2023-06-26 at 21:36:52 +0000