fb-cpp 0.0.1
A modern C++ wrapper for the Firebird database API
Loading...
Searching...
No Matches
fbcpp::Statement Class Referencefinal

Prepares, executes, and fetches SQL statements against a Firebird attachment. More...

#include <Statement.h>

Public Member Functions

 Statement (Attachment &attachment, Transaction &transaction, std::string_view sql, const StatementOptions &options={})
 Prepares an SQL statement.
 
 Statement (Statement &&o) noexcept
 Transfers ownership of an existing prepared statement.
 
Statementoperator= (Statement &&)=delete
 
 Statement (const Statement &)=delete
 
Statementoperator= (const Statement &)=delete
 
 ~Statement () noexcept
 Releases resources; ignores failures to keep destructor noexcept.
 
void free ()
 Releases the prepared handle and any associated result set.
 
std::string getLegacyPlan ()
 Retrieves the textual legacy plan if the server produced one.
 
std::string getPlan ()
 Retrieves the structured textual plan if the server produced one.
 
bool execute (Transaction &transaction)
 Executes a prepared statement using the supplied transaction.
 
template<typename T >
get (unsigned index)
 Retrieves a column using the most appropriate typed accessor specialization.
 
Handle accessors

Reports whether the statement currently owns a prepared handle.

bool isValid () noexcept
 Returns whether the Statement object is valid.
 
FbRef< fb::IStatement > getStatementHandle () noexcept
 Provides direct access to the underlying Firebird statement handle.
 
FbRef< fb::IResultSet > getResultSetHandle () noexcept
 Provides access to the underlying Firebird currently open result set handle, if any.
 
FbRef< fb::IMessageMetadata > getInputMetadata () noexcept
 Returns the metadata describing prepared input parameters.
 
FbRef< fb::IMessageMetadata > getOutputMetadata () noexcept
 Returns the metadata describing columns produced by the statement.
 
StatementType getType () noexcept
 Returns the type classification reported by the server.
 
Descriptor accessors

Provides cached descriptors for each input parameter.

const std::vector< Descriptor > & getInputDescriptors () noexcept
 Provides cached descriptors for each input column.
 
const std::vector< Descriptor > & getOutputDescriptors () noexcept
 Provides cached descriptors for each output column.
 
Cursor movement
bool fetchNext ()
 Fetches the next row in the current result set.
 
bool fetchPrior ()
 Fetches the previous row in the current result set.
 
bool fetchFirst ()
 Positions the cursor on the first row.
 
bool fetchLast ()
 Positions the cursor on the last row.
 
bool fetchAbsolute (unsigned position)
 Positions the cursor on the given absolute row number.
 
bool fetchRelative (int offset)
 Moves the cursor by the requested relative offset.
 
Parameter writing
void clearParameters ()
 Marks all bound parameters as null values.
 
void setNull (unsigned index)
 Marks the specified parameter as null.
 
void setBool (unsigned index, std::optional< bool > optValue)
 Binds a boolean parameter value or null.
 
void setInt16 (unsigned index, std::optional< std::int16_t > optValue)
 Binds a 16-bit signed integer value or null.
 
void setScaledInt16 (unsigned index, std::optional< ScaledInt16 > optValue)
 Binds a scaled 16-bit signed integer value or null.
 
void setInt32 (unsigned index, std::optional< std::int32_t > optValue)
 Binds a 32-bit signed integer value or null.
 
void setScaledInt32 (unsigned index, std::optional< ScaledInt32 > optValue)
 Binds a scaled 32-bit signed integer value or null.
 
void setInt64 (unsigned index, std::optional< std::int64_t > optValue)
 Binds a 64-bit signed integer value or null.
 
void setScaledInt64 (unsigned index, std::optional< ScaledInt64 > optValue)
 Binds a scaled 64-bit signed integer value or null.
 
void setOpaqueInt128 (unsigned index, std::optional< OpaqueInt128 > optValue)
 Binds a raw 128-bit integer value in Firebird's representation or null.
 
void setBoostInt128 (unsigned index, std::optional< BoostInt128 > optValue)
 Binds a 128-bit integer value expressed with Boost.Multiprecision or null.
 
void setScaledBoostInt128 (unsigned index, std::optional< ScaledBoostInt128 > optValue)
 Binds a scaled 128-bit integer value expressed with Boost.Multiprecision or null.
 
void setFloat (unsigned index, std::optional< float > optValue)
 Binds a single precision floating-point value or null.
 
void setDouble (unsigned index, std::optional< double > optValue)
 Binds a double precision floating-point value or null.
 
void setOpaqueDecFloat16 (unsigned index, std::optional< OpaqueDecFloat16 > optValue)
 Binds a 16-digit decimal floating-point value in Firebird's representation or null.
 
void setBoostDecFloat16 (unsigned index, std::optional< BoostDecFloat16 > optValue)
 Binds a 16-digit decimal floating-point value using Boost.Multiprecision or null.
 
void setOpaqueDecFloat34 (unsigned index, std::optional< OpaqueDecFloat34 > optValue)
 Binds a 34-digit decimal floating-point value in Firebird's representation or null.
 
void setBoostDecFloat34 (unsigned index, std::optional< BoostDecFloat34 > optValue)
 Binds a 34-digit decimal floating-point value using Boost.Multiprecision or null.
 
void setDate (unsigned index, std::optional< Date > optValue)
 Binds a date value or null.
 
void setOpaqueDate (unsigned index, std::optional< OpaqueDate > optValue)
 Binds a raw date value in Firebird's representation or null.
 
void setTime (unsigned index, std::optional< Time > optValue)
 Binds a time-of-day value without timezone or null.
 
void setOpaqueTime (unsigned index, std::optional< OpaqueTime > optValue)
 Binds a raw time-of-day value in Firebird's representation or null.
 
void setTimestamp (unsigned index, std::optional< Timestamp > optValue)
 Binds a timestamp value without timezone or null.
 
void setOpaqueTimestamp (unsigned index, std::optional< OpaqueTimestamp > optValue)
 Binds a raw timestamp value in Firebird's representation or null.
 
void setTimeTz (unsigned index, std::optional< TimeTz > optValue)
 Binds a time-of-day value with timezone or null.
 
void setOpaqueTimeTz (unsigned index, std::optional< OpaqueTimeTz > optValue)
 Binds a raw time-of-day value with timezone in Firebird's representation or null.
 
void setTimestampTz (unsigned index, std::optional< TimestampTz > optValue)
 Binds a timestamp value with timezone or null.
 
void setOpaqueTimestampTz (unsigned index, std::optional< OpaqueTimestampTz > optValue)
 Binds a raw timestamp value with timezone in Firebird's representation or null.
 
void setString (unsigned index, std::optional< std::string_view > optValue)
 Binds a textual parameter or null, performing direct conversions where supported.
 
void setBlobId (unsigned index, std::optional< BlobId > optValue)
 Binds a blob identifier to the specified parameter or null.
 
void set (unsigned index, std::nullopt_t)
 Convenience overload that binds a null value.
 
void set (unsigned index, BlobId value)
 Convenience overload that binds a blob identifier.
 
void set (unsigned index, std::optional< BlobId > value)
 Convenience overload that binds an optional blob identifier.
 
void set (unsigned index, bool value)
 Convenience overload that binds a boolean value.
 
void set (unsigned index, std::int16_t value)
 Convenience overload that binds a 16-bit signed integer.
 
void set (unsigned index, ScaledInt16 value)
 Convenience overload that binds a scaled 16-bit signed integer.
 
void set (unsigned index, std::int32_t value)
 Convenience overload that binds a 32-bit signed integer.
 
void set (unsigned index, ScaledInt32 value)
 Convenience overload that binds a scaled 32-bit signed integer.
 
void set (unsigned index, std::int64_t value)
 Convenience overload that binds a 64-bit signed integer.
 
void set (unsigned index, ScaledInt64 value)
 Convenience overload that binds a scaled 64-bit signed integer.
 
void set (unsigned index, OpaqueInt128 value)
 Convenience overload that binds a Firebird 128-bit integer.
 
void set (unsigned index, BoostInt128 value)
 Convenience overload that binds a Boost-provided 128-bit integer.
 
void set (unsigned index, ScaledBoostInt128 value)
 Convenience overload that binds a scaled Boost-provided 128-bit integer.
 
void set (unsigned index, float value)
 Convenience overload that binds a single precision floating-point value.
 
void set (unsigned index, double value)
 Convenience overload that binds a double precision floating-point value.
 
void set (unsigned index, OpaqueDecFloat16 value)
 Convenience overload that binds a Firebird 16-digit decimal floating-point value.
 
void set (unsigned index, BoostDecFloat16 value)
 Convenience overload that binds a Boost 16-digit decimal floating-point value.
 
void set (unsigned index, OpaqueDecFloat34 value)
 Convenience overload that binds a Firebird 34-digit decimal floating-point value.
 
void set (unsigned index, BoostDecFloat34 value)
 Convenience overload that binds a Boost 34-digit decimal floating-point value.
 
void set (unsigned index, Date value)
 Convenience overload that binds a Firebird date value.
 
void set (unsigned index, OpaqueDate value)
 Convenience overload that binds a Firebird date value.
 
void set (unsigned index, Time value)
 Convenience overload that binds a Firebird time value.
 
void set (unsigned index, OpaqueTime value)
 Convenience overload that binds a Firebird time value.
 
void set (unsigned index, Timestamp value)
 Convenience overload that binds a Firebird timestamp value.
 
void set (unsigned index, OpaqueTimestamp value)
 Convenience overload that binds a Firebird timestamp value.
 
void set (unsigned index, TimeTz value)
 Convenience overload that binds a Firebird time with timezone value.
 
void set (unsigned index, OpaqueTimeTz value)
 Convenience overload that binds a Firebird time with timezone value.
 
void set (unsigned index, TimestampTz value)
 Convenience overload that binds a Firebird timestamp with timezone value.
 
void set (unsigned index, OpaqueTimestampTz value)
 Convenience overload that binds a Firebird timestamp with timezone value.
 
void set (unsigned index, std::string_view value)
 Convenience overload that binds a textual value.
 
template<typename T >
void set (unsigned index, std::optional< T > value)
 Convenience template that forwards optional values to specialized overloads.
 
Result reading
bool isNull (unsigned index)
 Reports whether the most recently fetched row has a null at the given column.
 
std::optional< bool > getBool (unsigned index)
 Reads a boolean column from the current row.
 
std::optional< std::int16_t > getInt16 (unsigned index)
 Reads a 16-bit signed integer column.
 
std::optional< ScaledInt16getScaledInt16 (unsigned index)
 Reads a scaled 16-bit signed integer column.
 
std::optional< std::int32_t > getInt32 (unsigned index)
 Reads a 32-bit signed integer column.
 
std::optional< ScaledInt32getScaledInt32 (unsigned index)
 Reads a scaled 32-bit signed integer column.
 
std::optional< std::int64_t > getInt64 (unsigned index)
 Reads a 64-bit signed integer column.
 
std::optional< ScaledInt64getScaledInt64 (unsigned index)
 Reads a scaled 64-bit signed integer column.
 
std::optional< ScaledOpaqueInt128getScaledOpaqueInt128 (unsigned index)
 Reads a Firebird 128-bit integer column.
 
std::optional< BoostInt128getBoostInt128 (unsigned index)
 Reads a Boost 128-bit integer column.
 
std::optional< ScaledBoostInt128getScaledBoostInt128 (unsigned index)
 Reads a scaled Boost 128-bit integer column.
 
std::optional< float > getFloat (unsigned index)
 Reads a single precision floating-point column.
 
std::optional< double > getDouble (unsigned index)
 Reads a double precision floating-point column.
 
std::optional< OpaqueDecFloat16getOpaqueDecFloat16 (unsigned index)
 Reads a Firebird 16-digit decimal floating-point column.
 
std::optional< BoostDecFloat16getBoostDecFloat16 (unsigned index)
 Reads a Boost-based 16-digit decimal floating-point column.
 
std::optional< OpaqueDecFloat34getOpaqueDecFloat34 (unsigned index)
 Reads a Firebird 34-digit decimal floating-point column.
 
std::optional< BoostDecFloat34getBoostDecFloat34 (unsigned index)
 Reads a Boost-based 34-digit decimal floating-point column.
 
std::optional< DategetDate (unsigned index)
 Reads a date column.
 
std::optional< OpaqueDategetOpaqueDate (unsigned index)
 Reads a raw date column in Firebird's representation.
 
std::optional< TimegetTime (unsigned index)
 Reads a time-of-day column without timezone.
 
std::optional< OpaqueTimegetOpaqueTime (unsigned index)
 Reads a raw time-of-day column in Firebird's representation.
 
std::optional< TimestampgetTimestamp (unsigned index)
 Reads a timestamp column without timezone.
 
std::optional< OpaqueTimestampgetOpaqueTimestamp (unsigned index)
 Reads a raw timestamp column in Firebird's representation.
 
std::optional< TimeTzgetTimeTz (unsigned index)
 Reads a time-of-day column with timezone.
 
std::optional< OpaqueTimeTzgetOpaqueTimeTz (unsigned index)
 Reads a raw time-of-day column with timezone in Firebird's representation.
 
std::optional< TimestampTzgetTimestampTz (unsigned index)
 Reads a timestamp-with-time-zone column.
 
std::optional< OpaqueTimestampTzgetOpaqueTimestampTz (unsigned index)
 Reads a raw timestamp-with-time-zone column in Firebird's representation.
 
std::optional< BlobIdgetBlobId (unsigned index)
 Reads a blob identifier column.
 
std::optional< std::string > getString (unsigned index)
 Reads a textual column, applying number-to-string conversions when needed.
 

Detailed Description

Prepares, executes, and fetches SQL statements against a Firebird attachment.

Definition at line 182 of file Statement.h.

Constructor & Destructor Documentation

◆ Statement() [1/2]

Statement::Statement ( Attachment attachment,
Transaction transaction,
std::string_view  sql,
const StatementOptions options = {} 
)
explicit

Prepares an SQL statement.

attachment supplies the database connection. transaction is used for statement preparation. sql is the text to prepare. options provides fine-grained prepare controls.

Definition at line 34 of file Statement.cpp.

◆ Statement() [2/2]

fbcpp::Statement::Statement ( Statement &&  o)
inlinenoexcept

Transfers ownership of an existing prepared statement.

Definition at line 198 of file Statement.h.

◆ ~Statement()

fbcpp::Statement::~Statement ( )
inlinenoexcept

Releases resources; ignores failures to keep destructor noexcept.

Definition at line 223 of file Statement.h.

Member Function Documentation

◆ clearParameters()

void fbcpp::Statement::clearParameters ( )
inline

Marks all bound parameters as null values.

Definition at line 392 of file Statement.h.

◆ execute()

bool Statement::execute ( Transaction transaction)

Executes a prepared statement using the supplied transaction.

Parameters
transactionTransaction that will own the execution context.
Returns
true when execution yields a result set that can be fetched.

Definition at line 199 of file Statement.cpp.

◆ fetchAbsolute()

bool Statement::fetchAbsolute ( unsigned  position)

Positions the cursor on the given absolute row number.

Definition at line 261 of file Statement.cpp.

◆ fetchFirst()

bool Statement::fetchFirst ( )

Positions the cursor on the first row.

Definition at line 247 of file Statement.cpp.

◆ fetchLast()

bool Statement::fetchLast ( )

Positions the cursor on the last row.

Definition at line 254 of file Statement.cpp.

◆ fetchNext()

bool Statement::fetchNext ( )

Fetches the next row in the current result set.

Definition at line 233 of file Statement.cpp.

◆ fetchPrior()

bool Statement::fetchPrior ( )

Fetches the previous row in the current result set.

Definition at line 240 of file Statement.cpp.

◆ fetchRelative()

bool Statement::fetchRelative ( int  offset)

Moves the cursor by the requested relative offset.

Definition at line 270 of file Statement.cpp.

◆ free()

void Statement::free ( )

Releases the prepared handle and any associated result set.

Definition at line 171 of file Statement.cpp.

◆ getBlobId()

std::optional< BlobId > fbcpp::Statement::getBlobId ( unsigned  index)
inline

Reads a blob identifier column.

Definition at line 1972 of file Statement.h.

◆ getBool()

std::optional< bool > fbcpp::Statement::getBool ( unsigned  index)
inline

Reads a boolean column from the current row.

Definition at line 1524 of file Statement.h.

◆ getBoostDecFloat16()

std::optional< BoostDecFloat16 > fbcpp::Statement::getBoostDecFloat16 ( unsigned  index)
inline

Reads a Boost-based 16-digit decimal floating-point column.

Definition at line 1693 of file Statement.h.

◆ getBoostDecFloat34()

std::optional< BoostDecFloat34 > fbcpp::Statement::getBoostDecFloat34 ( unsigned  index)
inline

Reads a Boost-based 34-digit decimal floating-point column.

Definition at line 1727 of file Statement.h.

◆ getBoostInt128()

std::optional< BoostInt128 > fbcpp::Statement::getBoostInt128 ( unsigned  index)
inline

Reads a Boost 128-bit integer column.

Definition at line 1630 of file Statement.h.

◆ getDate()

std::optional< Date > fbcpp::Statement::getDate ( unsigned  index)
inline

Reads a date column.

Definition at line 1737 of file Statement.h.

◆ getDouble()

std::optional< double > fbcpp::Statement::getDouble ( unsigned  index)
inline

Reads a double precision floating-point column.

Definition at line 1660 of file Statement.h.

◆ getFloat()

std::optional< float > fbcpp::Statement::getFloat ( unsigned  index)
inline

Reads a single precision floating-point column.

Definition at line 1651 of file Statement.h.

◆ getInputDescriptors()

const std::vector< Descriptor > & fbcpp::Statement::getInputDescriptors ( )
inlinenoexcept

Provides cached descriptors for each input column.

Definition at line 308 of file Statement.h.

◆ getInputMetadata()

FbRef< fb::IMessageMetadata > fbcpp::Statement::getInputMetadata ( )
inlinenoexcept

Returns the metadata describing prepared input parameters.

Definition at line 274 of file Statement.h.

◆ getInt16()

std::optional< std::int16_t > fbcpp::Statement::getInt16 ( unsigned  index)
inline

Reads a 16-bit signed integer column.

Definition at line 1547 of file Statement.h.

◆ getInt32()

std::optional< std::int32_t > fbcpp::Statement::getInt32 ( unsigned  index)
inline

Reads a 32-bit signed integer column.

Definition at line 1566 of file Statement.h.

◆ getInt64()

std::optional< std::int64_t > fbcpp::Statement::getInt64 ( unsigned  index)
inline

Reads a 64-bit signed integer column.

Definition at line 1585 of file Statement.h.

◆ getLegacyPlan()

std::string Statement::getLegacyPlan ( )

Retrieves the textual legacy plan if the server produced one.

Definition at line 185 of file Statement.cpp.

◆ getOpaqueDate()

std::optional< OpaqueDate > fbcpp::Statement::getOpaqueDate ( unsigned  index)
inline

Reads a raw date column in Firebird's representation.

Definition at line 1761 of file Statement.h.

◆ getOpaqueDecFloat16()

std::optional< OpaqueDecFloat16 > fbcpp::Statement::getOpaqueDecFloat16 ( unsigned  index)
inline

Reads a Firebird 16-digit decimal floating-point column.

Definition at line 1669 of file Statement.h.

◆ getOpaqueDecFloat34()

std::optional< OpaqueDecFloat34 > fbcpp::Statement::getOpaqueDecFloat34 ( unsigned  index)
inline

Reads a Firebird 34-digit decimal floating-point column.

Definition at line 1703 of file Statement.h.

◆ getOpaqueTime()

std::optional< OpaqueTime > fbcpp::Statement::getOpaqueTime ( unsigned  index)
inline

Reads a raw time-of-day column in Firebird's representation.

Definition at line 1808 of file Statement.h.

◆ getOpaqueTimestamp()

std::optional< OpaqueTimestamp > fbcpp::Statement::getOpaqueTimestamp ( unsigned  index)
inline

Reads a raw timestamp column in Firebird's representation.

Definition at line 1855 of file Statement.h.

◆ getOpaqueTimestampTz()

std::optional< OpaqueTimestampTz > fbcpp::Statement::getOpaqueTimestampTz ( unsigned  index)
inline

Reads a raw timestamp-with-time-zone column in Firebird's representation.

Definition at line 1949 of file Statement.h.

◆ getOpaqueTimeTz()

std::optional< OpaqueTimeTz > fbcpp::Statement::getOpaqueTimeTz ( unsigned  index)
inline

Reads a raw time-of-day column with timezone in Firebird's representation.

Definition at line 1902 of file Statement.h.

◆ getOutputDescriptors()

const std::vector< Descriptor > & fbcpp::Statement::getOutputDescriptors ( )
inlinenoexcept

Provides cached descriptors for each output column.

Definition at line 316 of file Statement.h.

◆ getOutputMetadata()

FbRef< fb::IMessageMetadata > fbcpp::Statement::getOutputMetadata ( )
inlinenoexcept

Returns the metadata describing columns produced by the statement.

Definition at line 282 of file Statement.h.

◆ getPlan()

std::string Statement::getPlan ( )

Retrieves the structured textual plan if the server produced one.

Definition at line 192 of file Statement.cpp.

◆ getResultSetHandle()

FbRef< fb::IResultSet > fbcpp::Statement::getResultSetHandle ( )
inlinenoexcept

Provides access to the underlying Firebird currently open result set handle, if any.

Returns
Smart pointer to the active result set interface.

Definition at line 266 of file Statement.h.

◆ getScaledBoostInt128()

std::optional< ScaledBoostInt128 > fbcpp::Statement::getScaledBoostInt128 ( unsigned  index)
inline

Reads a scaled Boost 128-bit integer column.

Definition at line 1640 of file Statement.h.

◆ getScaledInt16()

std::optional< ScaledInt16 > fbcpp::Statement::getScaledInt16 ( unsigned  index)
inline

Reads a scaled 16-bit signed integer column.

Definition at line 1556 of file Statement.h.

◆ getScaledInt32()

std::optional< ScaledInt32 > fbcpp::Statement::getScaledInt32 ( unsigned  index)
inline

Reads a scaled 32-bit signed integer column.

Definition at line 1575 of file Statement.h.

◆ getScaledInt64()

std::optional< ScaledInt64 > fbcpp::Statement::getScaledInt64 ( unsigned  index)
inline

Reads a scaled 64-bit signed integer column.

Definition at line 1594 of file Statement.h.

◆ getScaledOpaqueInt128()

std::optional< ScaledOpaqueInt128 > fbcpp::Statement::getScaledOpaqueInt128 ( unsigned  index)
inline

Reads a Firebird 128-bit integer column.

Definition at line 1604 of file Statement.h.

◆ getStatementHandle()

FbRef< fb::IStatement > fbcpp::Statement::getStatementHandle ( )
inlinenoexcept

Provides direct access to the underlying Firebird statement handle.

Returns
Smart pointer to the low-level fb::IStatement interface.

Definition at line 257 of file Statement.h.

◆ getString()

std::optional< std::string > fbcpp::Statement::getString ( unsigned  index)
inline

Reads a textual column, applying number-to-string conversions when needed.

Definition at line 1999 of file Statement.h.

◆ getTime()

std::optional< Time > fbcpp::Statement::getTime ( unsigned  index)
inline

Reads a time-of-day column without timezone.

Definition at line 1784 of file Statement.h.

◆ getTimestamp()

std::optional< Timestamp > fbcpp::Statement::getTimestamp ( unsigned  index)
inline

Reads a timestamp column without timezone.

Definition at line 1831 of file Statement.h.

◆ getTimestampTz()

std::optional< TimestampTz > fbcpp::Statement::getTimestampTz ( unsigned  index)
inline

Reads a timestamp-with-time-zone column.

Definition at line 1925 of file Statement.h.

◆ getTimeTz()

std::optional< TimeTz > fbcpp::Statement::getTimeTz ( unsigned  index)
inline

Reads a time-of-day column with timezone.

Definition at line 1878 of file Statement.h.

◆ getType()

StatementType fbcpp::Statement::getType ( )
inlinenoexcept

Returns the type classification reported by the server.

Definition at line 290 of file Statement.h.

◆ isNull()

bool fbcpp::Statement::isNull ( unsigned  index)
inline

Reports whether the most recently fetched row has a null at the given column.

Definition at line 1511 of file Statement.h.

◆ isValid()

bool fbcpp::Statement::isValid ( )
inlinenoexcept

Returns whether the Statement object is valid.

Definition at line 248 of file Statement.h.

◆ set() [1/31]

void fbcpp::Statement::set ( unsigned  index,
BlobId  value 
)
inline

Convenience overload that binds a blob identifier.

Definition at line 1253 of file Statement.h.

◆ set() [2/31]

void fbcpp::Statement::set ( unsigned  index,
bool  value 
)
inline

Convenience overload that binds a boolean value.

Definition at line 1269 of file Statement.h.

◆ set() [3/31]

void fbcpp::Statement::set ( unsigned  index,
BoostDecFloat16  value 
)
inline

Convenience overload that binds a Boost 16-digit decimal floating-point value.

Definition at line 1376 of file Statement.h.

◆ set() [4/31]

void fbcpp::Statement::set ( unsigned  index,
BoostDecFloat34  value 
)
inline

Convenience overload that binds a Boost 34-digit decimal floating-point value.

Definition at line 1394 of file Statement.h.

◆ set() [5/31]

void fbcpp::Statement::set ( unsigned  index,
BoostInt128  value 
)
inline

Convenience overload that binds a Boost-provided 128-bit integer.

Definition at line 1334 of file Statement.h.

◆ set() [6/31]

void fbcpp::Statement::set ( unsigned  index,
Date  value 
)
inline

Convenience overload that binds a Firebird date value.

Definition at line 1403 of file Statement.h.

◆ set() [7/31]

void fbcpp::Statement::set ( unsigned  index,
double  value 
)
inline

Convenience overload that binds a double precision floating-point value.

Definition at line 1359 of file Statement.h.

◆ set() [8/31]

void fbcpp::Statement::set ( unsigned  index,
float  value 
)
inline

Convenience overload that binds a single precision floating-point value.

Definition at line 1351 of file Statement.h.

◆ set() [9/31]

void fbcpp::Statement::set ( unsigned  index,
OpaqueDate  value 
)
inline

Convenience overload that binds a Firebird date value.

Definition at line 1411 of file Statement.h.

◆ set() [10/31]

void fbcpp::Statement::set ( unsigned  index,
OpaqueDecFloat16  value 
)
inline

Convenience overload that binds a Firebird 16-digit decimal floating-point value.

Definition at line 1367 of file Statement.h.

◆ set() [11/31]

void fbcpp::Statement::set ( unsigned  index,
OpaqueDecFloat34  value 
)
inline

Convenience overload that binds a Firebird 34-digit decimal floating-point value.

Definition at line 1385 of file Statement.h.

◆ set() [12/31]

void fbcpp::Statement::set ( unsigned  index,
OpaqueInt128  value 
)
inline

Convenience overload that binds a Firebird 128-bit integer.

Definition at line 1325 of file Statement.h.

◆ set() [13/31]

void fbcpp::Statement::set ( unsigned  index,
OpaqueTime  value 
)
inline

Convenience overload that binds a Firebird time value.

Definition at line 1427 of file Statement.h.

◆ set() [14/31]

void fbcpp::Statement::set ( unsigned  index,
OpaqueTimestamp  value 
)
inline

Convenience overload that binds a Firebird timestamp value.

Definition at line 1443 of file Statement.h.

◆ set() [15/31]

void fbcpp::Statement::set ( unsigned  index,
OpaqueTimestampTz  value 
)
inline

Convenience overload that binds a Firebird timestamp with timezone value.

Definition at line 1475 of file Statement.h.

◆ set() [16/31]

void fbcpp::Statement::set ( unsigned  index,
OpaqueTimeTz  value 
)
inline

Convenience overload that binds a Firebird time with timezone value.

Definition at line 1459 of file Statement.h.

◆ set() [17/31]

void fbcpp::Statement::set ( unsigned  index,
ScaledBoostInt128  value 
)
inline

Convenience overload that binds a scaled Boost-provided 128-bit integer.

Definition at line 1342 of file Statement.h.

◆ set() [18/31]

void fbcpp::Statement::set ( unsigned  index,
ScaledInt16  value 
)
inline

Convenience overload that binds a scaled 16-bit signed integer.

Definition at line 1285 of file Statement.h.

◆ set() [19/31]

void fbcpp::Statement::set ( unsigned  index,
ScaledInt32  value 
)
inline

Convenience overload that binds a scaled 32-bit signed integer.

Definition at line 1301 of file Statement.h.

◆ set() [20/31]

void fbcpp::Statement::set ( unsigned  index,
ScaledInt64  value 
)
inline

Convenience overload that binds a scaled 64-bit signed integer.

Definition at line 1317 of file Statement.h.

◆ set() [21/31]

void fbcpp::Statement::set ( unsigned  index,
std::int16_t  value 
)
inline

Convenience overload that binds a 16-bit signed integer.

Definition at line 1277 of file Statement.h.

◆ set() [22/31]

void fbcpp::Statement::set ( unsigned  index,
std::int32_t  value 
)
inline

Convenience overload that binds a 32-bit signed integer.

Definition at line 1293 of file Statement.h.

◆ set() [23/31]

void fbcpp::Statement::set ( unsigned  index,
std::int64_t  value 
)
inline

Convenience overload that binds a 64-bit signed integer.

Definition at line 1309 of file Statement.h.

◆ set() [24/31]

void fbcpp::Statement::set ( unsigned  index,
std::nullopt_t   
)
inline

Convenience overload that binds a null value.

Definition at line 1245 of file Statement.h.

◆ set() [25/31]

void fbcpp::Statement::set ( unsigned  index,
std::optional< BlobId value 
)
inline

Convenience overload that binds an optional blob identifier.

Definition at line 1261 of file Statement.h.

◆ set() [26/31]

template<typename T >
void fbcpp::Statement::set ( unsigned  index,
std::optional< T >  value 
)
inline

Convenience template that forwards optional values to specialized overloads.

Definition at line 1492 of file Statement.h.

◆ set() [27/31]

void fbcpp::Statement::set ( unsigned  index,
std::string_view  value 
)
inline

Convenience overload that binds a textual value.

Definition at line 1483 of file Statement.h.

◆ set() [28/31]

void fbcpp::Statement::set ( unsigned  index,
Time  value 
)
inline

Convenience overload that binds a Firebird time value.

Definition at line 1419 of file Statement.h.

◆ set() [29/31]

void fbcpp::Statement::set ( unsigned  index,
Timestamp  value 
)
inline

Convenience overload that binds a Firebird timestamp value.

Definition at line 1435 of file Statement.h.

◆ set() [30/31]

void fbcpp::Statement::set ( unsigned  index,
TimestampTz  value 
)
inline

Convenience overload that binds a Firebird timestamp with timezone value.

Definition at line 1467 of file Statement.h.

◆ set() [31/31]

void fbcpp::Statement::set ( unsigned  index,
TimeTz  value 
)
inline

Convenience overload that binds a Firebird time with timezone value.

Definition at line 1451 of file Statement.h.

◆ setBlobId()

void fbcpp::Statement::setBlobId ( unsigned  index,
std::optional< BlobId optValue 
)
inline

Binds a blob identifier to the specified parameter or null.

Definition at line 1216 of file Statement.h.

◆ setBool()

void fbcpp::Statement::setBool ( unsigned  index,
std::optional< bool >  optValue 
)
inline

Binds a boolean parameter value or null.

Parameters
indexZero-based parameter index.
optValueBoolean value to assign, or empty to bind null.

Definition at line 421 of file Statement.h.

◆ setBoostDecFloat16()

void fbcpp::Statement::setBoostDecFloat16 ( unsigned  index,
std::optional< BoostDecFloat16 optValue 
)
inline

Binds a 16-digit decimal floating-point value using Boost.Multiprecision or null.

Definition at line 658 of file Statement.h.

◆ setBoostDecFloat34()

void fbcpp::Statement::setBoostDecFloat34 ( unsigned  index,
std::optional< BoostDecFloat34 optValue 
)
inline

Binds a 34-digit decimal floating-point value using Boost.Multiprecision or null.

Definition at line 704 of file Statement.h.

◆ setBoostInt128()

void fbcpp::Statement::setBoostInt128 ( unsigned  index,
std::optional< BoostInt128 optValue 
)
inline

Binds a 128-bit integer value expressed with Boost.Multiprecision or null.

Definition at line 569 of file Statement.h.

◆ setDate()

void fbcpp::Statement::setDate ( unsigned  index,
std::optional< Date optValue 
)
inline

Binds a date value or null.

Definition at line 719 of file Statement.h.

◆ setDouble()

void fbcpp::Statement::setDouble ( unsigned  index,
std::optional< double >  optValue 
)
inline

Binds a double precision floating-point value or null.

Definition at line 613 of file Statement.h.

◆ setFloat()

void fbcpp::Statement::setFloat ( unsigned  index,
std::optional< float >  optValue 
)
inline

Binds a single precision floating-point value or null.

Definition at line 599 of file Statement.h.

◆ setInt16()

void fbcpp::Statement::setInt16 ( unsigned  index,
std::optional< std::int16_t >  optValue 
)
inline

Binds a 16-bit signed integer value or null.

Definition at line 451 of file Statement.h.

◆ setInt32()

void fbcpp::Statement::setInt32 ( unsigned  index,
std::optional< std::int32_t >  optValue 
)
inline

Binds a 32-bit signed integer value or null.

Definition at line 480 of file Statement.h.

◆ setInt64()

void fbcpp::Statement::setInt64 ( unsigned  index,
std::optional< std::int64_t >  optValue 
)
inline

Binds a 64-bit signed integer value or null.

Definition at line 509 of file Statement.h.

◆ setNull()

void fbcpp::Statement::setNull ( unsigned  index)
inline

Marks the specified parameter as null.

Parameters
indexZero-based parameter index.

Definition at line 406 of file Statement.h.

◆ setOpaqueDate()

void fbcpp::Statement::setOpaqueDate ( unsigned  index,
std::optional< OpaqueDate optValue 
)
inline

Binds a raw date value in Firebird's representation or null.

Definition at line 750 of file Statement.h.

◆ setOpaqueDecFloat16()

void fbcpp::Statement::setOpaqueDecFloat16 ( unsigned  index,
std::optional< OpaqueDecFloat16 optValue 
)
inline

Binds a 16-digit decimal floating-point value in Firebird's representation or null.

Definition at line 627 of file Statement.h.

◆ setOpaqueDecFloat34()

void fbcpp::Statement::setOpaqueDecFloat34 ( unsigned  index,
std::optional< OpaqueDecFloat34 optValue 
)
inline

Binds a 34-digit decimal floating-point value in Firebird's representation or null.

Definition at line 673 of file Statement.h.

◆ setOpaqueInt128()

void fbcpp::Statement::setOpaqueInt128 ( unsigned  index,
std::optional< OpaqueInt128 optValue 
)
inline

Binds a raw 128-bit integer value in Firebird's representation or null.

Definition at line 538 of file Statement.h.

◆ setOpaqueTime()

void fbcpp::Statement::setOpaqueTime ( unsigned  index,
std::optional< OpaqueTime optValue 
)
inline

Binds a raw time-of-day value in Firebird's representation or null.

Definition at line 811 of file Statement.h.

◆ setOpaqueTimestamp()

void fbcpp::Statement::setOpaqueTimestamp ( unsigned  index,
std::optional< OpaqueTimestamp optValue 
)
inline

Binds a raw timestamp value in Firebird's representation or null.

Definition at line 872 of file Statement.h.

◆ setOpaqueTimestampTz()

void fbcpp::Statement::setOpaqueTimestampTz ( unsigned  index,
std::optional< OpaqueTimestampTz optValue 
)
inline

Binds a raw timestamp value with timezone in Firebird's representation or null.

Definition at line 994 of file Statement.h.

◆ setOpaqueTimeTz()

void fbcpp::Statement::setOpaqueTimeTz ( unsigned  index,
std::optional< OpaqueTimeTz optValue 
)
inline

Binds a raw time-of-day value with timezone in Firebird's representation or null.

Definition at line 933 of file Statement.h.

◆ setScaledBoostInt128()

void fbcpp::Statement::setScaledBoostInt128 ( unsigned  index,
std::optional< ScaledBoostInt128 optValue 
)
inline

Binds a scaled 128-bit integer value expressed with Boost.Multiprecision or null.

Definition at line 583 of file Statement.h.

◆ setScaledInt16()

void fbcpp::Statement::setScaledInt16 ( unsigned  index,
std::optional< ScaledInt16 optValue 
)
inline

Binds a scaled 16-bit signed integer value or null.

Definition at line 465 of file Statement.h.

◆ setScaledInt32()

void fbcpp::Statement::setScaledInt32 ( unsigned  index,
std::optional< ScaledInt32 optValue 
)
inline

Binds a scaled 32-bit signed integer value or null.

Definition at line 494 of file Statement.h.

◆ setScaledInt64()

void fbcpp::Statement::setScaledInt64 ( unsigned  index,
std::optional< ScaledInt64 optValue 
)
inline

Binds a scaled 64-bit signed integer value or null.

Definition at line 523 of file Statement.h.

◆ setString()

void fbcpp::Statement::setString ( unsigned  index,
std::optional< std::string_view >  optValue 
)
inline

Binds a textual parameter or null, performing direct conversions where supported.

Definition at line 1024 of file Statement.h.

◆ setTime()

void fbcpp::Statement::setTime ( unsigned  index,
std::optional< Time optValue 
)
inline

Binds a time-of-day value without timezone or null.

Definition at line 780 of file Statement.h.

◆ setTimestamp()

void fbcpp::Statement::setTimestamp ( unsigned  index,
std::optional< Timestamp optValue 
)
inline

Binds a timestamp value without timezone or null.

Definition at line 841 of file Statement.h.

◆ setTimestampTz()

void fbcpp::Statement::setTimestampTz ( unsigned  index,
std::optional< TimestampTz optValue 
)
inline

Binds a timestamp value with timezone or null.

Definition at line 963 of file Statement.h.

◆ setTimeTz()

void fbcpp::Statement::setTimeTz ( unsigned  index,
std::optional< TimeTz optValue 
)
inline

Binds a time-of-day value with timezone or null.

Definition at line 902 of file Statement.h.


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