libpqxx  4.0.1
pqxx::internal Namespace Reference

Private namespace for libpqxx's internal use; do not access. More...

Namespaces

namespace  gate

Classes

class  reactivation_avoidance_counter
class  reactivation_avoidance_exemption
 Scoped exemption to reactivation avoidance. More...
class  sql_cursor
 Cursor with SQL positioning semantics. More...
class  notify_listener_forwarder
 Internal helper class to support old-style, payloadless notifications. More...
class  Escaper
class  transactionfocus
class  parameterized_invocation
struct  dereference
 Functor: dereference iterator. More...
struct  deref_ptr
class  refcount
class  PQAlloc
 Reference-counted smart pointer to libpq-allocated object. More...
class  scoped_array
class  namedclass
class  unique
 Ensure proper opening/closing of GUEST objects related to a "host" object. More...

Typedefs

typedef unsigned long result_size_type
typedef long result_difference_type
typedef const char * cstring
 Work around problem with library export directives and pointers.

Functions

void wait_read (const internal::pq::PGconn *)
void wait_read (const internal::pq::PGconn *, long seconds, long microseconds)
void wait_write (const internal::pq::PGconn *)
result::size_type obtain_stateless_cursor_size (sql_cursor &)
result stateless_cursor_retrieve (sql_cursor &, result::difference_type size, result::difference_type begin_pos, result::difference_type end_pos)
void PQXX_NORETURN throw_null_conversion (const std::string &type)
 Throw exception for attempt to convert null to given type.
int digit_to_number (char c) throw ()
 Compute numeric value of given textual digit (assuming that it is a digit)
char number_to_digit (int i) throw ()
std::string Escape (const std::string &s, const std::string &null)
std::string EscapeAny (const std::string &s, const std::string &null)
std::string EscapeAny (const char s[], const std::string &null)
template<typename T >
std::string EscapeAny (const T &t, const std::string &null)
void freepqmem (const void *) throw ()
template<typename P >
void freepqmem_templated (P *p) throw ()
void freemallocmem (const void *) throw ()
template<typename P >
void freemallocmem_templated (P *p) throw ()
void CheckUniqueRegistration (const namedclass *New, const namedclass *Old)
void CheckUniqueUnregistration (const namedclass *New, const namedclass *Old)
void sleep_seconds (int)
 Sleep for the given number of seconds.
cstring strerror_wrapper (int err, char buf[], std::size_t len) throw ()
 Human-readable description for error code, possibly using given buffer.
template<typename T >
std::ptrdiff_t distance (T first, T last)
 Wrapper for std::distance; not all platforms have std::distance().

Variables

const char sql_begin_work [] = "BEGIN"
 Commonly used SQL commands.
const char sql_commit_work [] = "COMMIT"
const char sql_rollback_work [] = "ROLLBACK"

Detailed Description

Private namespace for libpqxx's internal use; do not access.

This namespace hides definitions internal to libpqxx. These are not supposed to be used by client programs, and they may change at any time without notice.

Conversely, if you find something in this namespace tremendously useful, by all means do lodge a request for its publication.

Warning
Here be dragons!

Typedef Documentation

typedef const char* pqxx::internal::cstring

Work around problem with library export directives and pointers.

typedef unsigned long pqxx::internal::result_size_type

Function Documentation

void pqxx::internal::CheckUniqueRegistration ( const namedclass New,
const namedclass Old 
)
void pqxx::internal::CheckUniqueUnregistration ( const namedclass New,
const namedclass Old 
)
int pqxx::internal::digit_to_number ( char  c) throw ()

Compute numeric value of given textual digit (assuming that it is a digit)

template<typename T >
std::ptrdiff_t pqxx::internal::distance ( first,
last 
)

Wrapper for std::distance; not all platforms have std::distance().

string pqxx::internal::Escape ( const std::string &  s,
const std::string &  null 
)

Referenced by EscapeAny().

std::string pqxx::internal::EscapeAny ( const std::string &  s,
const std::string &  null 
)
std::string pqxx::internal::EscapeAny ( const char  s[],
const std::string &  null 
)

References Escape().

template<typename T >
std::string pqxx::internal::EscapeAny ( const T &  t,
const std::string &  null 
)

References Escape(), and pqxx::to_string().

void pqxx::internal::freemallocmem ( const void *  p) throw ()

Referenced by freemallocmem_templated().

template<typename P >
void pqxx::internal::freemallocmem_templated ( P *  p) throw ()

References freemallocmem().

void pqxx::internal::freepqmem ( const void *  p) throw ()

Referenced by freepqmem_templated().

template<typename P >
void pqxx::internal::freepqmem_templated ( P *  p) throw ()

References freepqmem().

char pqxx::internal::number_to_digit ( int  i) throw ()
void pqxx::internal::sleep_seconds ( int  s)

Sleep for the given number of seconds.

May return early, e.g. when interrupted by a signal. Completes instantly if a zero or negative sleep time is requested.

References pqxx::to_string().

cstring pqxx::internal::strerror_wrapper ( int  err,
char  buf[],
std::size_t  len 
) throw ()

Human-readable description for error code, possibly using given buffer.

Wrapper for strerror() or thread-safe variant, as available. The default code copies the string to the provided buffer, but this may not always be necessary. The result is guaranteed to remain usable for as long as the given buffer does.

Parameters
errsystem error code as copied from errno
bufcaller-provided buffer for message to be stored in, if needed
lenusable size (in bytes) of provided buffer
Returns
human-readable error string, which may or may not reside in buf

Referenced by pqxx::largeobject::Reason().

void pqxx::internal::throw_null_conversion ( const std::string &  type)
void pqxx::internal::wait_read ( const internal::pq::PGconn *  )
void pqxx::internal::wait_read ( const internal::pq::PGconn *  ,
long  seconds,
long  microseconds 
)
void pqxx::internal::wait_write ( const internal::pq::PGconn *  )

Variable Documentation

const char pqxx::internal::sql_begin_work = "BEGIN"

Commonly used SQL commands.

const char pqxx::internal::sql_commit_work = "COMMIT"
const char pqxx::internal::sql_rollback_work = "ROLLBACK"