Harlinn.Windows 0.1
Loading...
Searching...
No Matches
Harlinn::OCI::ErrorHandle Class Referencefinal

The error handle is passed as a parameter to most OCI calls. More...

#include <HOCI.h>

Inheritance diagram for Harlinn::OCI::ErrorHandle:
[legend]
Collaboration diagram for Harlinn::OCI::ErrorHandle:
[legend]

Public Member Functions

constexpr ErrorHandle () noexcept
 Default constructor creates an empty invalid ErrorHandle that can be used as the target for a move assignment.
 
constexpr ErrorHandle (const OCI::Environment &environment, void *ocierror, bool ownsHandle) noexcept
 Constructs a new ErrorHandle object.
 
 ErrorHandle (const ErrorHandle &other)=delete
 
constexpr ErrorHandle (ErrorHandle &&other) noexcept
 
ErrorHandleoperator= (const ErrorHandle &other)=delete
 
constexpr ErrorHandleoperator= (ErrorHandle &&other) noexcept
 
constexpr void swap (ErrorHandle &other) noexcept
 
virtual const OCI::ErrorHandleError () const noexcept final override
 Provides access to the OCIError that will be used for OCI calls for this object.
 
HO_EXPORT Int32 CheckResult (void *errorHandle, OCI::HandleType handleType, Int32 rc) const
 
HO_EXPORT Int32 CheckResult (Int32 rc) const
 
const EnvironmentEnvironment () const
 
HO_EXPORT UInt32 DMLRowOffset () const
 Returns the offset (into the DML array) at which the error occurred.
 
- Public Member Functions inherited from Harlinn::OCI::HandleBase
constexpr void * Handle () const noexcept
 Provides access to the value of the handle object.
 
constexpr operator bool () const noexcept
 Test if the handle value is assigned.
 
constexpr bool IsValid () const noexcept
 Test if the handle value is assigned.
 
constexpr OCI::HandleType HandleType () const noexcept
 Returns a value identifying the type of the wrapped handle object.
 

Static Public Attributes

static constexpr OCI::HandleType OCIHandleType = OCI::HandleType::Error
 

Private Types

using Base = HandleBase
 

Private Attributes

const Environmentenvironment_
 Pointer to the Environment used to create this ErrorHandle object.
 

Additional Inherited Members

- Protected Member Functions inherited from Harlinn::OCI::HandleBase
constexpr HandleBase () noexcept
 Default constructor.
 
constexpr HandleBase (OCI::HandleType handleType, void *handle, bool ownsHandle) noexcept
 Constructs a new HandleBase object.
 
 HandleBase (const HandleBase &other)=delete
 
constexpr HandleBase (HandleBase &&other) noexcept
 Move constructor.
 
virtual ~HandleBase ()
 Destructor.
 
constexpr void SetHandle (void *newHandleValue, bool ownsHandle) noexcept
 Assigns the handle value and ownership to this object.
 
constexpr bool OwnsHandle () const noexcept
 Returns true if this object is the owner of the handle value.
 
void * DetachHandle ()
 If this object is the owner of a handle this function rescinds that ownership, and returns the handle value without closing the handle.
 
void DestroyHandle ()
 Destroys the handle if it is owned by this object.
 
HandleBaseoperator= (const HandleBase &other)=delete
 
constexpr HandleBaseoperator= (HandleBase &&other) noexcept
 
constexpr void swap (HandleBase &other) noexcept
 
template<typename Derived >
constexpr void Take (Derived &&derived) noexcept
 Template function used to implement move assignement in derived classes.
 
void InitializeHandle (void *handle, bool ownsHandle)
 Provides a "safe" mechanism for assigning a handle value. This functions throws if a handle value is already assigned to this object.
 
HO_EXPORT Int32 GetAttribute (void *buffer, UInt32 *size, Attribute attribute) const
 Gets the value of an attribute from the handle.
 
HO_EXPORT Int32 SetAttribute (void *buffer, UInt32 size, Attribute attribute) const
 Sets the value of an attribute on the handle.
 
DateTime GetDateTimeAttribute (Attribute attribute) const
 Gets the value of an attribute from the handle as a DateTime.
 
void SetDateTimeAttribute (Attribute attribute, const DateTime &value) const
 Sets the value of an attribute on the handle as a DateTime.
 
template<WideStringLike StringT = WideString>
StringT GetStringAttribute (Attribute attribute) const
 Gets the value of an attribute from the handle as a WideString.
 
template<WideStringLike StringT = WideString>
StringT GetStringAttributeFromByteString (Attribute attribute) const
 Gets the value of an attribute from the handle as a WideString For use with attributes that are not returned as UTF-16.
 
template<WideStringLike StringT>
void SetStringAttribute (Attribute attribute, const StringT &value) const
 Sets the value of an attribute on the handle as a WideString.
 
void SetStringAttribute (Attribute attribute, const wchar_t *value, size_t valueLength) const
 
bool GetBooleanAttribute (Attribute attribute) const
 Gets the value of an attribute from the handle as a bool.
 
void SetBooleanAttribute (Attribute attribute, bool value) const
 Sets the value of an attribute on the handle as a bool.
 
Byte GetByteAttribute (Attribute attribute) const
 Gets the value of an attribute from the handle as a Byte.
 
void SetByteAttribute (Attribute attribute, Byte value) const
 Sets the value of an attribute on the handle as a Byte.
 
SByte GetSByteAttribute (Attribute attribute) const
 Gets the value of an attribute from the handle as a SByte.
 
void SetSByteAttribute (Attribute attribute, SByte value) const
 Sets the value of an attribute on the handle as a Byte.
 
Int16 GetInt16Attribute (Attribute attribute) const
 Gets the value of an attribute from the handle as an Int16.
 
void SetInt16Attribute (Attribute attribute, Int16 value) const
 Sets the value of an attribute on the handle as an Int16.
 
UInt16 GetUInt16Attribute (Attribute attribute) const
 Gets the value of an attribute from the handle as an UInt16.
 
void SetUInt16Attribute (Attribute attribute, UInt16 value) const
 Sets the value of an attribute on the handle as an UInt16.
 
Int32 GetInt32Attribute (Attribute attribute) const
 Gets the value of an attribute from the handle as an Int32.
 
void SetInt32Attribute (Attribute attribute, Int32 value) const
 Sets the value of an attribute on the handle as an Int32.
 
UInt32 GetUInt32Attribute (Attribute attribute) const
 Gets the value of an attribute from the handle as an UInt32.
 
void SetUInt32Attribute (Attribute attribute, UInt32 value) const
 Sets the value of an attribute on the handle as an UInt32.
 
Int64 GetInt64Attribute (Attribute attribute) const
 Gets the value of an attribute from the handle as an Int64.
 
void SetInt64Attribute (Attribute attribute, Int64 value) const
 Sets the value of an attribute on the handle as an Int64.
 
UInt64 GetUInt64Attribute (Attribute attribute) const
 Gets the value of an attribute from the handle as an UInt64.
 
void SetUInt64Attribute (Attribute attribute, UInt64 value) const
 Sets the value of an attribute on the handle as an UInt64.
 
void * GetPointerAttribute (Attribute attribute) const
 Gets the value of an attribute from the handle as a pointer.
 
void SetPointerAttribute (Attribute attribute, void *value) const
 Sets the value of an attribute on the handle as a pointer.
 
OCI::NumberGetNumberAttribute (Attribute attribute) const
 Gets the value of an attribute from the handle as a pointer to an OCI::Number.
 
- Static Protected Member Functions inherited from Harlinn::OCI::HandleBase
static HO_EXPORT void HandleFree (void *handle, OCI::HandleType handleType) noexcept
 Calls OCIHandleFree to release the handle.
 

Detailed Description

The error handle is passed as a parameter to most OCI calls.

The error handle maintains information about errors that occur during an OCI operation. When an error occurs in a call, the error object retrieves the accosiated error message and error code and throws an exception.

Member Typedef Documentation

◆ Base

Constructor & Destructor Documentation

◆ ErrorHandle() [1/4]

Harlinn::OCI::ErrorHandle::ErrorHandle ( )
inlineconstexprnoexcept

Default constructor creates an empty invalid ErrorHandle that can be used as the target for a move assignment.

◆ ErrorHandle() [2/4]

Harlinn::OCI::ErrorHandle::ErrorHandle ( const OCI::Environment & environment,
void * ocierror,
bool ownsHandle )
inlineconstexprnoexcept

Constructs a new ErrorHandle object.

Parameters
environmentA reference to the environment used to create the error handle
handleThe handle wrapped by this object.
ownsHandleSet to true if the new object will take owneship of the handle value

◆ ErrorHandle() [3/4]

Harlinn::OCI::ErrorHandle::ErrorHandle ( const ErrorHandle & other)
delete

◆ ErrorHandle() [4/4]

Harlinn::OCI::ErrorHandle::ErrorHandle ( ErrorHandle && other)
inlineconstexprnoexcept

Member Function Documentation

◆ CheckResult() [1/2]

Int32 Harlinn::OCI::ErrorHandle::CheckResult ( Int32 rc) const

◆ CheckResult() [2/2]

Int32 Harlinn::OCI::ErrorHandle::CheckResult ( void * errorHandle,
OCI::HandleType handleType,
Int32 rc ) const

◆ DMLRowOffset()

UInt32 Harlinn::OCI::ErrorHandle::DMLRowOffset ( ) const

Returns the offset (into the DML array) at which the error occurred.

Returns
The offset at which the error occurred

◆ Environment()

const Environment & Harlinn::OCI::ErrorHandle::Environment ( ) const
inline

◆ Error()

virtual const OCI::ErrorHandle & Harlinn::OCI::ErrorHandle::Error ( ) const
inlinefinaloverridevirtualnoexcept

Provides access to the OCIError that will be used for OCI calls for this object.

Returns

Implements Harlinn::OCI::HandleBase.

◆ operator=() [1/2]

ErrorHandle & Harlinn::OCI::ErrorHandle::operator= ( const ErrorHandle & other)
delete

◆ operator=() [2/2]

ErrorHandle & Harlinn::OCI::ErrorHandle::operator= ( ErrorHandle && other)
inlineconstexprnoexcept
Parameters
other
Returns

◆ swap()

void Harlinn::OCI::ErrorHandle::swap ( ErrorHandle & other)
inlineconstexprnoexcept

Member Data Documentation

◆ environment_

const Environment* Harlinn::OCI::ErrorHandle::environment_
private

Pointer to the Environment used to create this ErrorHandle object.

◆ OCIHandleType

OCI::HandleType Harlinn::OCI::ErrorHandle::OCIHandleType = OCI::HandleType::Error
staticconstexpr

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