Public Member Functions | Public Attributes | Protected Attributes | Private Member Functions | Private Attributes | List of all members
soci::details::statement_impl Class Reference

#include <statement.h>

Inheritance diagram for soci::details::statement_impl:
Inheritance graph
[legend]

Public Member Functions

void alloc ()
 
void bind (values &v)
 
void clean_up ()
 
void dec_ref ()
 
void define_and_bind ()
 
void describe ()
 
void exchange (into_type_ptr const &i)
 
template<typename T , typename Indicator >
void exchange (into_container< T, Indicator > const &ic)
 
void exchange (use_type_ptr const &u)
 
template<typename T , typename Indicator >
void exchange (use_container< T, Indicator > const &uc)
 
void exchange_for_rowset (into_type_ptr const &i)
 
template<typename T , typename Indicator >
void exchange_for_rowset (into_container< T, Indicator > const &ic)
 
bool execute (bool withDataExchange=false)
 
bool fetch ()
 
long long get_affected_rows ()
 
statement_backendget_backend ()
 
void inc_ref ()
 
standard_into_type_backendmake_into_type_backend ()
 
standard_use_type_backendmake_use_type_backend ()
 
vector_into_type_backendmake_vector_into_type_backend ()
 
vector_use_type_backendmake_vector_use_type_backend ()
 
void prepare (std::string const &query, statement_type eType=st_repeatable_query)
 
std::string rewrite_for_procedure_call (std::string const &query)
 
void set_row (row *r)
 
 statement_impl (session &s)
 
 statement_impl (prepare_temp_type const &prep)
 
void undefine_and_bind ()
 
 ~statement_impl ()
 

Public Attributes

sessionsession_
 

Protected Attributes

std::vector< indicator * > indicators_
 
into_type_vector intos_
 
use_type_vector uses_
 

Private Member Functions

template<data_type >
void bind_into ()
 
template<>
void bind_into ()
 
template<>
void bind_into ()
 
template<>
void bind_into ()
 
template<>
void bind_into ()
 
template<>
void bind_into ()
 
template<>
void bind_into ()
 
void define_for_row ()
 
template<typename T , typename Indicator >
void exchange_for_row (into_container< T, Indicator > const &ic)
 
void exchange_for_row (into_type_ptr const &i)
 
template<typename Into >
void exchange_for_rowset_ (Into const &i)
 
template<typename T >
void into_row ()
 
std::size_t intos_size ()
 
statement_imploperator= (statement_impl const &)
 
void post_fetch (bool gotData, bool calledFromFetch)
 
void post_use (bool gotData)
 
void pre_fetch ()
 
void pre_use ()
 
bool resize_intos (std::size_t upperBound=0)
 
 statement_impl (statement_impl const &)
 
void truncate_intos ()
 
std::size_t uses_size ()
 

Private Attributes

bool alreadyDescribed_
 
soci::details::statement_backendbackEnd_
 
int definePositionForRow_
 
std::size_t fetchSize_
 
std::size_t initialFetchSize_
 
into_type_vector intosForRow_
 
std::map< std::string, use_type_base * > namedUses_
 
std::string query_
 
int refCount_
 
rowrow_
 

Detailed Description

Definition at line 37 of file statement.h.

Constructor & Destructor Documentation

◆ statement_impl() [1/3]

statement_impl::statement_impl ( session s)
explicit

Definition at line 25 of file core/statement.cpp.

◆ statement_impl() [2/3]

statement_impl::statement_impl ( prepare_temp_type const &  prep)
explicit

Definition at line 33 of file core/statement.cpp.

◆ ~statement_impl()

statement_impl::~statement_impl ( )

Definition at line 63 of file core/statement.cpp.

◆ statement_impl() [3/3]

soci::details::statement_impl::statement_impl ( statement_impl const &  )
private

Member Function Documentation

◆ alloc()

void statement_impl::alloc ( )

Definition at line 68 of file core/statement.cpp.

◆ bind()

void statement_impl::bind ( values v)

Definition at line 73 of file core/statement.cpp.

◆ bind_into() [1/7]

template<data_type >
void soci::details::statement_impl::bind_into ( )
private

◆ bind_into() [2/7]

template<>
void soci::details::statement_impl::bind_into ( )
private

Definition at line 561 of file core/statement.cpp.

◆ bind_into() [3/7]

template<>
void soci::details::statement_impl::bind_into ( )
private

Definition at line 567 of file core/statement.cpp.

◆ bind_into() [4/7]

template<>
void soci::details::statement_impl::bind_into ( )
private

Definition at line 573 of file core/statement.cpp.

◆ bind_into() [5/7]

template<>
void soci::details::statement_impl::bind_into ( )
private

Definition at line 579 of file core/statement.cpp.

◆ bind_into() [6/7]

template<>
void soci::details::statement_impl::bind_into ( )
private

Definition at line 585 of file core/statement.cpp.

◆ bind_into() [7/7]

template<>
void soci::details::statement_impl::bind_into ( )
private

Definition at line 591 of file core/statement.cpp.

◆ clean_up()

void statement_impl::clean_up ( )

Definition at line 145 of file core/statement.cpp.

◆ dec_ref()

void statement_impl::dec_ref ( )

Definition at line 669 of file core/statement.cpp.

◆ define_and_bind()

void statement_impl::define_and_bind ( )

Definition at line 196 of file core/statement.cpp.

◆ define_for_row()

void statement_impl::define_for_row ( )
private

Definition at line 219 of file core/statement.cpp.

◆ describe()

void soci::details::statement_impl::describe ( )

Definition at line 596 of file core/statement.cpp.

◆ exchange() [1/4]

void soci::details::statement_impl::exchange ( into_type_ptr const &  i)
inline

Definition at line 47 of file statement.h.

◆ exchange() [2/4]

template<typename T , typename Indicator >
void soci::details::statement_impl::exchange ( into_container< T, Indicator > const &  ic)
inline

Definition at line 49 of file statement.h.

◆ exchange() [3/4]

void soci::details::statement_impl::exchange ( use_type_ptr const &  u)
inline

Definition at line 52 of file statement.h.

◆ exchange() [4/4]

template<typename T , typename Indicator >
void soci::details::statement_impl::exchange ( use_container< T, Indicator > const &  uc)
inline

Definition at line 54 of file statement.h.

◆ exchange_for_row() [1/2]

template<typename T , typename Indicator >
void soci::details::statement_impl::exchange_for_row ( into_container< T, Indicator > const &  ic)
inlineprivate

Definition at line 127 of file statement.h.

◆ exchange_for_row() [2/2]

void soci::details::statement_impl::exchange_for_row ( into_type_ptr const &  i)
inlineprivate

Definition at line 129 of file statement.h.

◆ exchange_for_rowset() [1/2]

void soci::details::statement_impl::exchange_for_rowset ( into_type_ptr const &  i)
inline

Definition at line 68 of file statement.h.

◆ exchange_for_rowset() [2/2]

template<typename T , typename Indicator >
void soci::details::statement_impl::exchange_for_rowset ( into_container< T, Indicator > const &  ic)
inline

Definition at line 70 of file statement.h.

◆ exchange_for_rowset_()

template<typename Into >
void soci::details::statement_impl::exchange_for_rowset_ ( Into const &  i)
inlineprivate

Definition at line 108 of file statement.h.

◆ execute()

bool statement_impl::execute ( bool  withDataExchange = false)

Definition at line 249 of file core/statement.cpp.

◆ fetch()

bool statement_impl::fetch ( )

Definition at line 345 of file core/statement.cpp.

◆ get_affected_rows()

long long statement_impl::get_affected_rows ( )

Definition at line 340 of file core/statement.cpp.

◆ get_backend()

statement_backend* soci::details::statement_impl::get_backend ( )
inline

Definition at line 75 of file statement.h.

◆ inc_ref()

void statement_impl::inc_ref ( )

Definition at line 664 of file core/statement.cpp.

◆ into_row()

template<typename T >
void soci::details::statement_impl::into_row ( )
inlineprivate

Definition at line 133 of file statement.h.

◆ intos_size()

std::size_t statement_impl::intos_size ( )
private

Definition at line 410 of file core/statement.cpp.

◆ make_into_type_backend()

standard_into_type_backend * statement_impl::make_into_type_backend ( )

Definition at line 678 of file core/statement.cpp.

◆ make_use_type_backend()

standard_use_type_backend * statement_impl::make_use_type_backend ( )

Definition at line 684 of file core/statement.cpp.

◆ make_vector_into_type_backend()

vector_into_type_backend * statement_impl::make_vector_into_type_backend ( )

Definition at line 690 of file core/statement.cpp.

◆ make_vector_use_type_backend()

vector_use_type_backend * statement_impl::make_vector_use_type_backend ( )

Definition at line 696 of file core/statement.cpp.

◆ operator=()

statement_impl& soci::details::statement_impl::operator= ( statement_impl const &  )
private

◆ post_fetch()

void statement_impl::post_fetch ( bool  gotData,
bool  calledFromFetch 
)
private

Definition at line 524 of file core/statement.cpp.

◆ post_use()

void statement_impl::post_use ( bool  gotData)
private

Definition at line 543 of file core/statement.cpp.

◆ pre_fetch()

void statement_impl::pre_fetch ( )
private

Definition at line 500 of file core/statement.cpp.

◆ pre_use()

void statement_impl::pre_use ( )
private

Definition at line 515 of file core/statement.cpp.

◆ prepare()

void statement_impl::prepare ( std::string const &  query,
statement_type  eType = st_repeatable_query 
)

Definition at line 187 of file core/statement.cpp.

◆ resize_intos()

bool statement_impl::resize_intos ( std::size_t  upperBound = 0)
private

Definition at line 467 of file core/statement.cpp.

◆ rewrite_for_procedure_call()

std::string statement_impl::rewrite_for_procedure_call ( std::string const &  query)

Definition at line 659 of file core/statement.cpp.

◆ set_row()

void statement_impl::set_row ( row r)

Definition at line 647 of file core/statement.cpp.

◆ truncate_intos()

void statement_impl::truncate_intos ( )
private

Definition at line 491 of file core/statement.cpp.

◆ undefine_and_bind()

void statement_impl::undefine_and_bind ( )

Definition at line 228 of file core/statement.cpp.

◆ uses_size()

std::size_t statement_impl::uses_size ( )
private

Definition at line 438 of file core/statement.cpp.

Member Data Documentation

◆ alreadyDescribed_

bool soci::details::statement_impl::alreadyDescribed_
private

Definition at line 144 of file statement.h.

◆ backEnd_

soci::details::statement_backend* soci::details::statement_impl::backEnd_
private

Definition at line 155 of file statement.h.

◆ definePositionForRow_

int soci::details::statement_impl::definePositionForRow_
private

Definition at line 105 of file statement.h.

◆ fetchSize_

std::size_t soci::details::statement_impl::fetchSize_
private

Definition at line 99 of file statement.h.

◆ indicators_

std::vector<indicator *> soci::details::statement_impl::indicators_
protected

Definition at line 92 of file statement.h.

◆ initialFetchSize_

std::size_t soci::details::statement_impl::initialFetchSize_
private

Definition at line 100 of file statement.h.

◆ intos_

into_type_vector soci::details::statement_impl::intos_
protected

Definition at line 90 of file statement.h.

◆ intosForRow_

into_type_vector soci::details::statement_impl::intosForRow_
private

Definition at line 104 of file statement.h.

◆ namedUses_

std::map<std::string, use_type_base *> soci::details::statement_impl::namedUses_
private

Definition at line 102 of file statement.h.

◆ query_

std::string soci::details::statement_impl::query_
private

Definition at line 101 of file statement.h.

◆ refCount_

int soci::details::statement_impl::refCount_
private

Definition at line 96 of file statement.h.

◆ row_

row* soci::details::statement_impl::row_
private

Definition at line 98 of file statement.h.

◆ session_

session& soci::details::statement_impl::session_

Definition at line 85 of file statement.h.

◆ uses_

use_type_vector soci::details::statement_impl::uses_
protected

Definition at line 91 of file statement.h.


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


asr_lib_ism
Author(s): Hanselmann Fabian, Heller Florian, Heizmann Heinrich, Kübler Marcel, Mehlhaus Jonas, Meißner Pascal, Qattan Mohamad, Reckling Reno, Stroh Daniel
autogenerated on Mon Feb 28 2022 21:48:46