|
Lightweight 0.20260617.0
|
#include <Core.hpp>
Public Member Functions | |
| SqlDataBinderCallback ()=default | |
| Default constructor. | |
| SqlDataBinderCallback (SqlDataBinderCallback &&)=default | |
| Default move constructor. | |
| SqlDataBinderCallback (SqlDataBinderCallback const &)=default | |
| Default copy constructor. | |
| SqlDataBinderCallback & | operator= (SqlDataBinderCallback &&)=default |
| Default move assignment operator. | |
| SqlDataBinderCallback & | operator= (SqlDataBinderCallback const &)=default |
| Default copy assignment operator. | |
| virtual void | PlanPostExecuteCallback (std::function< void()> &&)=0 |
| virtual void | PlanPostProcessOutputColumn (std::function< void()> &&)=0 |
| virtual SQLLEN * | ProvideInputIndicator ()=0 |
| virtual SQLLEN * | ProvideInputIndicators (size_t rowCount)=0 |
| virtual std::byte * | ProvideBatchStagingBuffer (std::size_t byteCount)=0 |
| virtual SqlServerType | ServerType () const noexcept=0 |
| virtual std::string const & | DriverName () const noexcept=0 |
Callback interface for SqlDataBinder to allow post-processing of output columns.
This is needed because the SQLBindCol() function does not allow to specify a callback function to be called after the data has been fetched from the database. This is needed to trim strings to the correct size, for example.
|
pure virtual |
Plans a callback to be called after the statement has been executed.
|
pure virtual |
Plans a callback to be called after a column has been processed.
|
pure virtual |
Provides a pointer to a single indicator for a single input parameter.
|
pure virtual |
Provides a pointer to a contiguous array of indicators for a batch of input parameters.
| rowCount | The number of rows in the batch. |
|
pure virtual |
Provides a pointer to a contiguous, suitably aligned temporary byte buffer that remains valid until the statement is executed.
This is used by batch input parameter binders that need scratch storage whose lifetime must outlive the bind call but not the execution — for example a row-strided NULL/length indicator array used by native row-wise array binding of std::optional columns.
alignof(std::max_align_t). ~rowStride*rowCount bytes to hold only rowCount SQLLEN indicators. This over-allocation is intrinsic to ODBC row-wise binding, which strides the StrLen_or_IndPtr array by SQL_ATTR_PARAM_BIND_TYPE (the row stride) — there is no separate indicator stride — so a tightly packed indicator array would require descriptor-level binding.| byteCount | The number of bytes to provide. |
|
pure virtualnoexcept |
|
pure virtualnoexcept |