27#include "ocilibcpp/core.hpp"
28#include "ocilibcpp/support.hpp"
55 Oracle10gR1 = OCI_10_1,
56 Oracle10gR2 = OCI_10_2,
57 Oracle11gR1 = OCI_11_1,
58 Oracle11gR2 = OCI_11_2,
59 Oracle12cR1 = OCI_12_1,
60 Oracle12cR2 = OCI_12_2,
61 Oracle18cR1 = OCI_18_1,
62 Oracle18cR2 = OCI_18_2,
63 Oracle18cR3 = OCI_18_3,
64 Oracle18cR4 = OCI_18_4,
65 Oracle18cR5 = OCI_18_5,
66 Oracle19cR3 = OCI_19_3,
67 Oracle19cR5 = OCI_19_5,
68 Oracle21cR3 = OCI_21_3
448 unsigned int GetRow()
const;
458 const char*
what() const noexcept override;
476 void SetWhat(const otext* value) noexcept;
477 void CopyWhat(const
char* value) noexcept;
531 SourceInstance = OCI_HES_INSTANCE,
533 SourceDatabase = OCI_HES_DATABASE,
535 SourceNode = OCI_HES_NODE,
537 SourceService = OCI_HES_SERVICE,
539 SourceServiceMember = OCI_HES_SERVICE_MEMBER,
541 SourceASMInstance = OCI_HES_ASM_INSTANCE,
543 SourcePreConnect = OCI_HES_PRECONNECT
563 EventDown = OCI_HET_DOWN,
585 Default = OCI_ENV_DEFAULT,
587 Threaded = OCI_ENV_THREADED,
589 Events = OCI_ENV_EVENTS
609 ImportLinkage = OCI_IMPORT_MODE_LINKAGE,
611 ImportRuntime = OCI_IMPORT_MODE_RUNTIME
631 CharsetAnsi = OCI_CHAR_ANSI,
633 CharsetWide = OCI_CHAR_WIDE
653 SessionDefault = OCI_SESSION_DEFAULT,
655 SessionXa = OCI_SESSION_XA,
657 SessionSysDba = OCI_SESSION_SYSDBA,
659 SessionSysOper = OCI_SESSION_SYSOPER,
661 SessionSysAsm = OCI_SESSION_SYSASM,
663 SessionSysBkp = OCI_SESSION_SYSBKP,
665 SessionSysDgD = OCI_SESSION_SYSDGD,
667 SessionSysKmt = OCI_SESSION_SYSKMT,
669 SessionSysRac = OCI_SESSION_SYSRAC,
671 SessionPreAuth = OCI_SESSION_PRELIM_AUTH
691 StartOnly = OCI_DB_SPM_START,
693 StartMount = OCI_DB_SPM_MOUNT,
695 StartOpen = OCI_DB_SPM_OPEN,
697 StartFull = OCI_DB_SPM_FULL
717 StartDefault = OCI_DB_SPF_DEFAULT,
719 StartForce = OCI_DB_SPF_FORCE,
721 StartRestrict = OCI_DB_SPF_RESTRICT
741 ShutdownOnly = OCI_DB_SDM_SHUTDOWN,
743 ShutdownClose = OCI_DB_SDM_CLOSE,
745 ShutdownDismount = OCI_DB_SDM_DISMOUNT,
747 ShutdownFull = OCI_DB_SDM_FULL
768 ShutdowntDefault = OCI_DB_SDF_DEFAULT,
771 ShutdowTrans = OCI_DB_SDF_TRANS,
775 ShutdownTransLocal = OCI_DB_SDF_TRANS_LOCAL,
778 ShutdownImmediate = OCI_DB_SDF_IMMEDIATE,
784 ShutdownAbort = OCI_DB_SDF_ABORT
804 OracleClientBytes = OCI_MEM_ORACLE,
806 OcilibBytes = OCI_MEM_OCILIB,
808 AllBytes = OCI_MEM_ALL
827 LocaleDayname1 = OCI_LSI_DAYNAME1,
828 LocaleDayname2 = OCI_LSI_DAYNAME2,
829 LocaleDayname3 = OCI_LSI_DAYNAME3,
830 LocaleDayname4 = OCI_LSI_DAYNAME4,
831 LocaleDayname5 = OCI_LSI_DAYNAME5,
832 LocaleDayname6 = OCI_LSI_DAYNAME6,
833 LocaleDayname7 = OCI_LSI_DAYNAME7,
834 LocaleAbdayname1 = OCI_LSI_ABDAYNAME1,
835 LocaleAbdayname2 = OCI_LSI_ABDAYNAME2,
836 LocaleAbdayname3 = OCI_LSI_ABDAYNAME3,
837 LocaleAbdayname4 = OCI_LSI_ABDAYNAME4,
838 LocaleAbdayname5 = OCI_LSI_ABDAYNAME5,
839 LocaleAbdayname6 = OCI_LSI_ABDAYNAME6,
840 LocaleAbdayname7 = OCI_LSI_ABDAYNAME7,
841 LocaleMonthname1 = OCI_LSI_MONTHNAME1,
842 LocaleMonthname2 = OCI_LSI_MONTHNAME2,
843 LocaleMonthname3 = OCI_LSI_MONTHNAME3,
844 LocaleMonthname4 = OCI_LSI_MONTHNAME4,
845 LocaleMonthname5 = OCI_LSI_MONTHNAME5,
846 LocaleMonthname6 = OCI_LSI_MONTHNAME6,
847 LocaleMonthname7 = OCI_LSI_MONTHNAME7,
848 LocaleMonthname8 = OCI_LSI_MONTHNAME8,
849 LocaleMonthname9 = OCI_LSI_MONTHNAME9,
850 LocaleMonthname10 = OCI_LSI_MONTHNAME10,
851 LocaleMonthname11 = OCI_LSI_MONTHNAME11,
852 LocaleMonthname12 = OCI_LSI_MONTHNAME12,
853 LocaleAbmonthname1 = OCI_LSI_ABMONTHNAME1,
854 LocaleAbmonthname2 = OCI_LSI_ABMONTHNAME2,
855 LocaleAbmonthname3 = OCI_LSI_ABMONTHNAME3,
856 LocaleAbmonthname4 = OCI_LSI_ABMONTHNAME4,
857 LocaleAbmonthname5 = OCI_LSI_ABMONTHNAME5,
858 LocaleAbmonthname6 = OCI_LSI_ABMONTHNAME6,
859 LocaleAbmonthname7 = OCI_LSI_ABMONTHNAME7,
860 LocaleAbmonthname8 = OCI_LSI_ABMONTHNAME8,
861 LocaleAbmonthname9 = OCI_LSI_ABMONTHNAME9,
862 LocaleAbmonthname10 = OCI_LSI_ABMONTHNAME10,
863 LocaleAbmonthname11 = OCI_LSI_ABMONTHNAME11,
864 LocaleAbmonthname12 = OCI_LSI_ABMONTHNAME12,
865 LocaleYes = OCI_LSI_YES,
866 LocaleNo = OCI_LSI_NO,
867 LocaleAm = OCI_LSI_AM,
868 LocalePm = OCI_LSI_PM,
869 LocaleAd = OCI_LSI_AD,
870 LocaleBc = OCI_LSI_BC,
871 LocaleDecimal = OCI_LSI_DECIMAL,
872 LocaleGroup = OCI_LSI_GROUP,
873 LocaleDebit = OCI_LSI_DEBIT,
874 LocaleCredit = OCI_LSI_CREDIT,
875 LocaleDateformat = OCI_LSI_DATEFORMAT,
876 LocaleInt = OCI_LSI_INT_CURRENCY,
877 LocaleLoc = OCI_LSI_LOC_CURRENCY,
878 LocaleLanguage = OCI_LSI_LANGUAGE,
879 LocaleAblanguage = OCI_LSI_ABLANGUAGE,
880 LocaleTerritory = OCI_LSI_TERRITORY,
881 LocaleCharacterSEt = OCI_LSI_CHARACTER_SET,
882 LocaleLinguisticName = OCI_LSI_LINGUISTIC_NAME,
883 LocaleCalendar = OCI_LSI_CALENDAR,
884 LocaleDualCurrency = OCI_LSI_DUAL_CURRENCY,
885 LocaleWritingdir = OCI_LSI_WRITINGDIR,
886 LocaleAbterritory = OCI_LSI_ABTERRITORY,
887 LocaleDdateformat = OCI_LSI_DDATEFORMAT,
888 LocaleDtimeformat = OCI_LSI_DTIMEFORMAT,
889 LocaleSfdateformat = OCI_LSI_SFDATEFORMAT,
890 LocaleSftimeformat = OCI_LSI_SFTIMEFORMAT,
891 LocaleNumgrouping = OCI_LSI_NUMGROUPING,
892 LocaleListsep = OCI_LSI_LISTSEP,
893 LocaleMondecimal = OCI_LSI_MONDECIMAL,
894 LocaleMongroup = OCI_LSI_MONGROUP,
895 LocaleMongrouping = OCI_LSI_MONGROUPING,
896 LocaleIntCurrenySep = OCI_LSI_INT_CURRENCYSEP
951 static void Cleanup();
986 static unsigned int GetCharMaxSize();
1002 static bool Initialized();
1021 static unsigned int GetCompileMajorVersion();
1028 static unsigned int GetCompileMinorVersion();
1035 static unsigned int GetCompileRevisionVersion();
1053 static unsigned int GetRuntimeMajorVersion();
1060 static unsigned int GetRuntimeMinorVersion();
1067 static unsigned int GetRuntimeRevisionVersion();
1079 static void EnableWarnings(
bool value);
1165 const ostring& spfile = OTEXT(
""));
1225 static void SetHAHandler(HAHandlerProc handler);
1235 static unsigned int TAFHandler(
OCI_Connection* pConnection,
unsigned int type,
unsigned int event);
1236 static void NotifyHandler(
OCI_Event* pEvent);
1237 static void NotifyHandlerAQ(
OCI_Dequeue* pDequeue);
1243 static void SetUserCallback(
AnyPointer ptr, T callback);
1256 EnvironmentHandle _handle;
1257 EnvironmentFlags _mode;
1258 unsigned int _charMaxSize;
1465 ConnectionPool = OCI_POOL_CONNECTION,
1467 SessionPool = OCI_POOL_SESSION
1504 unsigned int minSize,
unsigned int maxSize,
unsigned int increment = 1,
1526 unsigned int minSize,
unsigned int maxSize,
unsigned int increment = 1,
1577 unsigned int GetTimeout()
const;
1592 void SetTimeout(
unsigned int value);
1603 bool GetNoWait()
const;
1620 void SetNoWait(
bool value);
1627 unsigned int GetBusyConnectionsCount()
const;
1634 unsigned int GetOpenedConnectionsCount()
const;
1641 unsigned int GetMinSize()
const;
1648 unsigned int GetMaxSize()
const;
1655 unsigned int GetIncrement()
const;
1665 unsigned int GetStatementCacheSize()
const;
1674 void SetStatementCacheSize(
unsigned int value);
1705 template<
class,
int>
1722 TimeoutSend = OCI_NTO_SEND,
1727 TimeoutReceive = OCI_NTO_RECEIVE,
1732 TimeoutCall = OCI_NTO_CALL
1752 FailoverRequestSession = OCI_FOT_SESSION,
1754 FailoverRequestSelect = OCI_FOT_SELECT
1774 FailoverEventEnd = OCI_FOE_END,
1776 FailoverEventAbort = OCI_FOE_ABORT,
1778 FailoverEventReauthentificate = OCI_FOE_REAUTH,
1780 FailoverEventBegin = OCI_FOE_BEGIN,
1782 FailoverEventError = OCI_FOE_ERROR
1802 FailoverOk = OCI_FOC_OK,
1804 FailoverRetry = OCI_FOC_RETRY
1824 TraceIdentity = OCI_TRC_IDENTITY,
1826 TraceModule = OCI_TRC_MODULE,
1828 TraceAction = OCI_TRC_ACTION,
1830 TraceDetail = OCI_TRC_DETAIL
1955 void SetAutoCommit(
bool enabled);
1962 bool GetAutoCommit()
const;
1972 bool IsServerAlive()
const;
1982 bool PingServer()
const;
1992 ostring GetConnectionString()
const;
2022 ostring GetServerVersion()
const;
2039 unsigned int GetServerMajorVersion()
const;
2046 unsigned int GetServerMinorVersion()
const;
2053 unsigned int GetServerRevisionVersion()
const;
2062 void ChangePassword(
const ostring& newPwd);
2069 ostring GetSessionTag()
const;
2085 void SetSessionTag(
const ostring& tag);
2107 void SetTransaction(
const Transaction& transaction);
2173 void EnableServerOutput(
unsigned int bufsize,
unsigned int arrsize,
unsigned int lnsize);
2183 void DisableServerOutput();
2193 bool GetServerOutput(
ostring& line)
const;
2200 void GetServerOutput(std::vector<ostring>& lines)
const;
2315 unsigned int GetStatementCacheSize()
const;
2327 void SetStatementCacheSize(
unsigned int value);
2345 unsigned int GetDefaultLobPrefetchSize()
const;
2371 void SetDefaultLobPrefetchSize(
unsigned int value);
2387 unsigned int GetMaxCursors()
const;
2397 bool IsTAFCapable()
const;
2412 void SetTAFHandler(TAFHandlerProc handler);
2472 void SetTimeout(
TimeoutType timeout,
unsigned int value);
2499 Unknown = OCI_UNKNOWN,
2503 Tight = OCI_TRS_TIGHT,
2505 Loose = OCI_TRS_LOOSE,
2511 Serializable = OCI_TRS_SERIALIZABLE
2588 unsigned int GetTimeout()
const;
2623 Number(
bool create =
false);
2632 template<class T, typename core::SupportedNumeric<T>::Type::type* =
nullptr>
2670 Number(
const otext* str,
const otext* format = OTEXT(
""));
2702 void FromString(
const ostring& str,
const ostring& format = OTEXT(
""))
const;
2724 ostring ToString()
const override;
2735 Number operator ++ (
int);
2736 Number operator -- (
int);
2738 bool operator == (
const Number& other)
const;
2739 bool operator != (
const Number& other)
const;
2740 bool operator > (
const Number& other)
const;
2741 bool operator < (
const Number& other)
const;
2742 bool operator >= (
const Number& other)
const;
2743 bool operator <= (
const Number& other)
const;
2745 template<class T, typename core::SupportedNumeric<T>::Type::type* =
nullptr>
2746 Number& operator = (
const T& lhs);
2748 template<class T, typename core::SupportedNumeric<T>::Type::type* =
nullptr>
2751 template<class T, typename core::SupportedNumeric<T>::Type::type* =
nullptr>
2752 Number operator - (
const T& value);
2754 template<class T, typename core::SupportedNumeric<T>::Type::type* =
nullptr>
2755 Number operator + (
const T& value);
2757 template<class T, typename core::SupportedNumeric<T>::Type::type* =
nullptr>
2758 Number operator * (
const T& value);
2760 template<class T, typename core::SupportedNumeric<T>::Type::type* =
nullptr>
2761 Number operator / (
const T& value);
2763 template<class T, typename core::SupportedNumeric<T>::Type::type* =
nullptr>
2764 Number& operator += (
const T& value);
2766 template<class T, typename core::SupportedNumeric<T>::Type::type* =
nullptr>
2767 Number& operator -= (
const T& value);
2769 template<class T, typename core::SupportedNumeric<T>::Type::type* =
nullptr>
2770 Number& operator *= (
const T& value);
2772 template<class T, typename core::SupportedNumeric<T>::Type::type* =
nullptr>
2773 Number& operator /= (
const T& value);
2778 static AnyPointer GetNativeValue(
const T& value);
2784 int Compare(
const Number& other)
const;
2787 inline T GetValue()
const;
2790 Number& SetValue(
const T& value);
2793 void Add(
const T& value);
2796 void Sub(
const T& value);
2799 void Multiply(
const T& value);
2802 void Divide(
const T& value);
2831 static Date SysDate();
2840 Date(
bool create =
false);
2860 Date& operator= (
const Date& other)
noexcept;
2876 Date(
const otext* str,
const otext* format = OTEXT(
""));
2900 bool IsValid()
const;
2907 int GetYear()
const;
2914 void SetYear(
int value);
2921 int GetMonth()
const;
2928 void SetMonth(
int value);
2942 void SetDay(
int value);
2949 int GetHours()
const;
2956 void SetHours(
int value);
2963 int GetMinutes()
const;
2970 void SetMinutes(
int value);
2977 int GetSeconds()
const;
2984 void SetSeconds(
int value);
2993 int DaysBetween(
const Date& other)
const;
3004 void SetDate(
int year,
int month,
int day);
3015 void SetTime(
int hour,
int min,
int sec);
3029 void SetDateTime(
int year,
int month,
int day,
int hour,
int min,
int sec);
3040 void GetDate(
int& year,
int& month,
int& day)
const;
3051 void GetTime(
int& hour,
int& min,
int& sec)
const;
3065 void GetDateTime(
int& year,
int& month,
int& day,
int& hour,
int& min,
int& sec)
const;
3074 void AddDays(
int days);
3083 void AddMonths(
int months);
3099 Date LastDay()
const;
3125 void FromString(
const ostring& str,
const ostring& format = OTEXT(
""));
3147 ostring ToString()
const override;
3161 Date& operator ++ ();
3168 Date operator ++ (
int);
3175 Date& operator -- ();
3182 Date operator -- (
int);
3189 Date operator + (
int value)
const;
3196 Date operator - (
int value)
const;
3203 Date& operator += (
int value);
3210 Date& operator -= (
int value);
3217 bool operator == (
const Date& other)
const;
3224 bool operator != (
const Date& other)
const;
3231 bool operator > (
const Date& other)
const;
3238 bool operator < (
const Date& other)
const;
3245 bool operator >= (
const Date& other)
const;
3252 bool operator <= (
const Date& other)
const;
3256 int Compare(
const Date& other)
const;
3290 YearMonth = OCI_INTERVAL_YM,
3292 DaySecond = OCI_INTERVAL_DS
3365 bool IsValid()
const;
3375 int GetYear()
const;
3385 void SetYear(
int value);
3395 int GetMonth()
const;
3405 void SetMonth(
int value);
3425 void SetDay(
int value);
3435 int GetHours()
const;
3445 void SetHours(
int value);
3455 int GetMinutes()
const;
3465 void SetMinutes(
int value);
3475 int GetSeconds()
const;
3485 void SetSeconds(
int value);
3492 int GetMilliSeconds()
const;
3499 void SetMilliSeconds(
int value);
3506 int GetNanoSeconds()
const;
3513 void SetNanoSeconds(
int value);
3529 void GetDaySecond(
int& day,
int& hour,
int& min,
int& sec,
int& nsec)
const;
3545 void SetDaySecond(
int day,
int hour,
int min,
int sec,
int nsec);
3558 void GetYearMonth(
int& year,
int& month)
const;
3571 void SetYearMonth(
int year,
int month);
3580 void UpdateTimeZone(
const ostring& timeZone);
3592 void FromString(
const ostring& data);
3602 ostring ToString(
int leadingPrecision,
int fractionPrecision)
const;
3609 ostring ToString()
const override;
3651 bool operator == (
const Interval& other)
const;
3658 bool operator != (
const Interval& other)
const;
3665 bool operator > (
const Interval& other)
const;
3672 bool operator < (
const Interval& other)
const;
3679 bool operator >= (
const Interval& other)
const;
3686 bool operator <= (
const Interval& other)
const;
3690 int Compare(
const Interval& other)
const;
3726 NoTimeZone = OCI_TIMESTAMP,
3728 WithTimeZone = OCI_TIMESTAMP_TZ,
3730 WithLocalTimeZone = OCI_TIMESTAMP_LTZ
3822 bool IsValid()
const;
3829 int GetYear()
const;
3836 void SetYear(
int value);
3843 int GetMonth()
const;
3850 void SetMonth(
int value);
3864 void SetDay(
int value);
3871 int GetHours()
const;
3878 void SetHours(
int value);
3885 int GetMinutes()
const;
3892 void SetMinutes(
int value);
3899 int GetSeconds()
const;
3906 void SetSeconds(
int value);
3913 int GetMilliSeconds()
const;
3920 void SetMilliSeconds(
int value);
3931 void GetDate(
int& year,
int& month,
int& day)
const;
3943 void GetTime(
int& hour,
int& min,
int& sec,
int& fsec)
const;
3954 void SetDate(
int year,
int month,
int day);
3966 void SetTime(
int hour,
int min,
int sec,
int fsec);
3981 void GetDateTime(
int& year,
int& month,
int& day,
int& hour,
int& min,
int& sec,
int& fsec)
const;
3997 void SetDateTime(
int year,
int month,
int day,
int hour,
int min,
int sec,
int fsec,
const ostring& timeZone = OTEXT(
""));
4018 void SetTimeZone(
const ostring& timeZone);
4028 void GetTimeZoneOffset(
int& hour,
int& min)
const;
4055 void FromString(
const ostring& data,
const ostring& format = OCI_STRING_FORMAT_DATE);
4075 ostring ToString()
const override;
4180 bool operator == (
const Timestamp& other)
const;
4187 bool operator != (
const Timestamp& other)
const;
4194 bool operator > (
const Timestamp& other)
const;
4201 bool operator < (
const Timestamp& other)
const;
4208 bool operator >= (
const Timestamp& other)
const;
4215 bool operator <= (
const Timestamp& other)
const;
4219 int Compare(
const Timestamp& other)
const;
4233 template<
class T,
int U>
4286 unsigned int Write(
const T& content);
4298 unsigned int Append(
const T& content);
4307 void Append(
const Lob& other);
4323 bool Seek(
SeekMode seekMode, big_uint offset);
4337 big_uint GetOffset()
const;
4344 big_uint GetLength()
const;
4351 big_uint GetMaxSize()
const;
4364 big_uint GetChunkSize()
const;
4380 void Truncate(big_uint length);
4397 big_uint Erase(big_uint offset, big_uint length);
4412 void Copy(
Lob& dest, big_uint offset, big_uint offsetDest, big_uint length)
const;
4419 bool IsTemporary()
const;
4426 bool IsRemote()
const;
4477 void EnableBuffering(
bool value);
4491 Lob& operator += (
const Lob& other);
4498 bool operator == (
const Lob& other)
const;
4505 bool operator != (
const Lob& other)
const;
4509 bool Equals(
const Lob& other)
const;
4612 Raw Read(
unsigned int size);
4628 bool Seek(
SeekMode seekMode, big_uint offset);
4638 bool Exists()
const;
4645 big_uint GetOffset()
const;
4652 big_uint GetLength()
const;
4708 bool IsOpened()
const;
4722 bool operator == (
const File& other)
const;
4729 bool operator != (
const File& other)
const;
4733 bool Equals(
const File& other)
const;
4762 Table = OCI_TIF_TABLE,
4764 View = OCI_TIF_VIEW,
4822 unsigned int GetColumnCount()
const;
4838 Column GetColumn(
unsigned int index)
const;
4852 boolean IsFinalType()
const;
4902 Persistent = OCI_OBJ_PERSISTENT,
4904 Transient = OCI_OBJ_TRANSIENT,
4906 Value = OCI_OBJ_VALUE
4941 bool IsAttributeNull(
const ostring& name)
const;
4950 void SetAttributeNull(
const ostring& name);
4986 T Get(
const ostring& name)
const;
5034 void Set(
const ostring& name,
const T& value);
5048 ostring ToString()
const override;
5104 Object GetObject()
const;
5111 bool IsReferenceNull()
const;
5121 void SetReferenceNull();
5135 ostring ToString()
const override;
5160 ostring ToString()
const override;
5188 Flex = OCI_VEC_FLEX,
5190 Int8 = OCI_VEC_INT8,
5192 Float32 = OCI_VEC_FLOAT32,
5194 Float64 = OCI_VEC_FLOAT64,
5196 Binary = OCI_VEC_BINARY
5235 template<class T, typename core::SupportedVectorNumeric<T>::Type::type* =
nullptr>
5236 void Set(T* values,
unsigned int size);
5256 template<class T, typename core::SupportedVectorNumeric<T>::Type::type* =
nullptr>
5257 void Get(T* values);
5266 template<class T, typename core::SupportedVectorNumeric<T>::Type::type* =
nullptr>
5267 void Set(
const std::vector<T>& values);
5281 template<class T, typename core::SupportedVectorNumeric<T>::Type::type* =
nullptr>
5282 std::vector<T> Get();
5289 unsigned int GetDimensionCount();
5315 ostring ToString()
const override;
5338 typedef T ValueType;
5346 bool IsNull()
const;
5370 typedef typename T::ValueType value_type;
5373 typedef std::random_access_iterator_tag iterator_category;
5374 typedef ptrdiff_t difference_type;
5375 typedef ptrdiff_t distance_type;
5376 typedef value_type* pointer;
5377 typedef value_type& reference;
5444 Varray = OCI_COLL_VARRAY,
5446 NestedTable = OCI_COLL_NESTED_TABLE,
5448 IndexedTable = OCI_COLL_INDEXED_TABLE
5488 unsigned int GetMax()
const;
5495 unsigned int GetSize()
const;
5507 unsigned int GetCount()
const;
5516 void Truncate(
unsigned int size);
5536 bool IsElementNull(
unsigned int index)
const;
5548 void SetElementNull(
unsigned int index);
5567 bool Delete(
unsigned int index)
const;
5576 T Get(
unsigned int index)
const;
5586 void Set(
unsigned int index,
const T& value);
5596 void Append(
const T& value);
5617 ostring ToString()
const override;
5679 static void SetElem(
OCI_Elem* elem,
const T& value);
5691 template<
class T,
int U>
5726 unsigned int Write(
const T& content);
5733 unsigned int GetLength()
const;
5794 InOut = OCI_BDM_IN_OUT
5861 unsigned int GetSubType()
const;
5872 unsigned int GetDataCount()
const;
5901 void SetDataNull(
bool value,
unsigned int index = 1);
5917 bool IsDataNull(
unsigned int index = 1)
const;
5957 template<
class,
int>
5960 friend class BindObject;
5972 TypeSelect = OCI_CST_SELECT,
5974 TypeUpdate = OCI_CST_UPDATE,
5976 TypeDelete = OCI_CST_DELETE,
5978 TypeInsert = OCI_CST_INSERT,
5980 TypeCreate = OCI_CST_CREATE,
5982 TypeDrop = OCI_CST_DROP,
5984 TypeAlter = OCI_CST_ALTER,
5986 TypeBegin = OCI_CST_BEGIN,
5988 TypeDeclare = OCI_CST_DECLARE,
5990 TypeCall = OCI_CST_CALL,
5992 TypeMerge = OCI_CST_MERGE
6012 FetchForward = OCI_SFM_DEFAULT,
6014 FetchScrollable = OCI_SFM_SCROLLABLE
6034 BindByPosition = OCI_BIND_BY_POS,
6036 BindByName = OCI_BIND_BY_NAME
6056 LongExplicit = OCI_LONG_EXPLICIT,
6058 LongImplicit = OCI_LONG_IMPLICIT
6122 void Describe(
const ostring& sql);
6147 void Parse(
const ostring& sql);
6159 void Prepare(
const ostring& sql);
6166 void ExecutePrepared();
6175 void Execute(
const ostring& sql);
6195 unsigned int ExecutePrepared(T callback);
6217 template<
class T,
class U>
6218 unsigned int ExecutePrepared(T callback, U adapter);
6239 unsigned int Execute(
const ostring& sql, T callback);
6262 template<
class T,
class U>
6263 unsigned int Execute(
const ostring& sql, T callback, U adapter);
6279 unsigned int GetAffectedRows()
const;
6293 ostring GetSqlIdentifier()
const;
6355 void SetBindArraySize(
unsigned int size);
6362 unsigned int GetBindArraySize()
const;
6379 void AllowRebinding(
bool value);
6389 bool IsRebindingAllowed()
const;
6407 unsigned int GetBindIndex(
const ostring& name)
const;
6414 unsigned int GetBindCount()
const;
6430 BindInfo GetBind(
unsigned int index)
const;
6487 template<
class T,
class U>
6589 template<
class T,
class U>
6632 template<
class T,
class U>
6653 template<
class T,
class U>
6672 unsigned int GetSqlErrorPos()
const;
6722 void SetFetchSize(
unsigned int value);
6732 unsigned int GetFetchSize()
const;
6744 void SetPrefetchSize(
unsigned int value);
6754 unsigned int GetPrefetchSize()
const;
6774 void SetPrefetchMemory(
unsigned int value);
6784 unsigned int GetPrefetchMemory()
const;
6793 void SetPieceSize(
unsigned int value);
6803 unsigned int GetPieceSize()
const;
6836 unsigned int GetSQLCommand()
const;
6868 std::vector<ostring> GetParseBindNames()
const;
6875 void GetBatchErrors(std::vector<Exception>& exceptions);
6880 static void OnFreeSmartHandle(SmartHandle* smartHandle);
6886 void ReleaseResultsets()
const;
6890 void SetInData()
const;
6891 void SetOutData()
const;
6892 void ClearBinds()
const;
6894 template<
typename M,
class T>
6897 template<
typename M,
class T>
6900 template<
typename M,
class T>
6903 template<
typename M,
class T,
class U>
6906 template<
typename T>
6907 unsigned int Fetch(T callback);
6909 template<
typename T,
typename U>
6910 unsigned int Fetch(T callback, U adapter);
6933 SeekAbsolute = OCI_SFD_ABSOLUTE,
6935 SeekRelative = OCI_SFD_RELATIVE
6960 T Get(
unsigned int index)
const;
6976 void Get(
unsigned int index, T& value)
const;
6991 T Get(
const ostring& name)
const;
7004 void Get(
const ostring& name, T& value)
const;
7020 template<
class T,
class U>
7021 bool Get(T& value, U adapter)
const;
7038 template<
typename T>
7063 template<
typename T,
typename U>
7064 unsigned int ForEach(T callback, U adapter);
7142 bool Seek(
SeekMode mode,
int offset);
7149 unsigned int GetCount()
const;
7161 unsigned int GetCurrentRow()
const;
7176 unsigned int GetColumnIndex(
const ostring& name)
const;
7183 unsigned int GetColumnCount()
const;
7195 Column GetColumn(
unsigned int index)
const;
7219 bool IsColumnNull(
unsigned int index)
const;
7228 bool IsColumnNull(
const ostring& name)
const;
7242 bool operator ++ (
int);
7249 bool operator -- (
int);
7257 bool operator += (
int offset);
7265 bool operator -= (
int offset);
7294 NoFlags = OCI_CPF_NONE,
7297 IsIdentity = OCI_CPF_IS_IDENTITY,
7301 IsGeneratedAlways = OCI_CPF_IS_GEN_ALWAYS,
7304 IsGeneratedByDefaultOnNull = OCI_CPF_IS_GEN_BY_DEFAULT_ON_NULL,
7306 IsLogicalPartitioning = OCI_CPF_IS_LPART,
7308 IsGeneratedByContainers = OCI_CPF_IS_CONID
7346 ostring GetFullSQLType()
const;
7372 unsigned int GetSubType()
const;
7397 unsigned int GetSize()
const;
7404 int GetScale()
const;
7411 int GetPrecision()
const;
7418 int GetFractionalPrecision()
const;
7425 int GetLeadingPrecision()
const;
7433 int GetDimension()
const;
7452 bool IsNullable()
const;
7463 bool IsCharSemanticUsed()
const;
7504 typedef void (*NotifyHandlerProc) (
Event& evt);
7514 ObjectChanges = OCI_CNT_OBJECTS,
7516 RowChanges = OCI_CNT_ROWS,
7518 DatabaseChanges = OCI_CNT_DATABASES,
7520 AllChanges = OCI_CNT_ALL
7554 void Register(
const Connection& connection,
const ostring& name,
ChangeTypes changeTypes, NotifyHandlerProc handler,
unsigned int port = 0,
unsigned int timeout = 0);
7577 void Watch(
const ostring& sql);
7591 unsigned int GetTimeout()
const;
7598 unsigned int GetPort()
const;
7640 DatabaseStart = OCI_ENT_STARTUP,
7642 DatabaseShutdown = OCI_ENT_SHUTDOWN,
7644 DatabaseShutdownAny = OCI_ENT_SHUTDOWN_ANY,
7646 DatabaseDrop = OCI_ENT_DROP_DATABASE,
7648 Unregister = OCI_ENT_DEREGISTER,
7650 ObjectChanged = OCI_ENT_OBJECT_CHANGED
7670 ObjectInserted = OCI_ONT_INSERT,
7672 ObjectUpdated = OCI_ONT_UPDATE,
7674 ObjectDeleted = OCI_ONT_DELETE,
7676 ObjectAltered = OCI_ONT_ALTER,
7678 ObjectDropped = OCI_ONT_DROP,
7680 ObjectGeneric = OCI_ONT_GENERIC
7714 ostring GetDatabaseName()
const;
7724 ostring GetObjectName()
const;
7803 void SetName(
const ostring& value);
7828 void SetAddress(
const ostring& value);
7856 Ready = OCI_AMS_READY,
7858 Waiting = OCI_AMS_WAITING,
7860 Processed = OCI_AMS_PROCESSED,
7862 Expired = OCI_AMS_EXPIRED
7941 Date GetEnqueueTime()
const;
7948 int GetAttemptCount()
const;
7977 int GetExpiration()
const;
7998 void SetExpiration(
int value);
8008 int GetEnqueueDelay()
const;
8032 void SetEnqueueDelay(
int value);
8042 int GetPriority()
const;
8056 void SetPriority(
int value);
8067 Raw GetOriginalID()
const;
8080 void SetOriginalID(
const Raw& value);
8090 ostring GetCorrelation()
const;
8102 void SetCorrelation(
const ostring& value);
8117 ostring GetExceptionQueue()
const;
8145 void SetExceptionQueue(
const ostring& value);
8155 Agent GetSender()
const;
8164 void SetSender(
const Agent& agent);
8177 void SetConsumers(std::vector<Agent>& agents);
8203 Before = OCI_ASD_BEFORE,
8225 Immediate = OCI_AMV_IMMEDIATE,
8227 OnCommit = OCI_AMV_ON_COMMIT
8269 void Put(
const Message& message);
8333 Raw GetRelativeMsgID()
const;
8348 void SetRelativeMsgID(
const Raw& value);
8371 typedef void (*NotifyAQHandlerProc) (
Dequeue& dequeue);
8381 Browse = OCI_ADM_BROWSE,
8383 Locked = OCI_ADM_LOCKED,
8385 Remove = OCI_ADM_REMOVE,
8387 Confirm = OCI_ADM_REMOVE_NODATA
8407 Immediate = OCI_AMV_IMMEDIATE,
8409 OnCommit = OCI_AMV_ON_COMMIT
8429 FirstMessage = OCI_ADN_FIRST_MSG,
8431 NextMessage = OCI_ADN_NEXT_MSG,
8434 NextTransaction = OCI_ADN_NEXT_TRANSACTION
8486 Agent Listen(
int timeout);
8509 void SetConsumer(
const ostring& value);
8519 ostring GetCorrelation()
const;
8532 void SetCorrelation(
const ostring& value);
8542 Raw GetRelativeMsgID()
const;
8551 void SetRelativeMsgID(
const Raw& value);
8640 int GetWaitTime()
const;
8659 void SetWaitTime(
int value);
8668 void SetAgents(std::vector<Agent>& agents);
8686 void Subscribe(
unsigned int port,
unsigned int timeout, NotifyAQHandlerProc handler);
8720 NormalQueue = OCI_AQT_NORMAL,
8722 ExceptionQueue = OCI_AQT_EXCEPTION,
8724 NonPersistentQueue = OCI_AQT_NON_PERSISTENT
8761 unsigned int maxRetries = 0,
unsigned int retryDelay = 0,
unsigned int retentionTime = 0,
8762 bool dependencyTracking =
false,
const ostring& comment = OTEXT(
""));
8785 unsigned int maxRetries = 0,
unsigned int retryDelay = 0,
8786 unsigned int retentionTime = 0,
const ostring& comment = OTEXT(
""));
8822 static void Start(
const Connection& connection,
const ostring& queue,
bool enableEnqueue =
true,
bool enableDequeue =
true);
8842 static void Stop(
const Connection& connection,
const ostring& queue,
bool stopEnqueue =
true,
bool stopDequeue =
true,
bool wait =
true);
8863 None = OCI_AGM_NONE,
8866 Transactionnal = OCI_AGM_TRANSACTIONNAL
8887 Buffered = OCI_APM_BUFFERED,
8889 Persistent = OCI_APM_PERSISTENT,
8937 static void Create(
const Connection& connection,
const ostring& table,
const ostring& payloadType,
bool multipleConsumers,
8938 const ostring& storageClause = OTEXT(
""),
const ostring& sortList = OTEXT(
""),
8940 unsigned int primaryInstance = 0,
unsigned int secondaryInstance = 0,
8941 const ostring& compatible = OTEXT(
""));
8961 static void Alter(
const Connection& connection,
const ostring& table,
const ostring& comment,
unsigned int primaryInstance = 0,
unsigned int secondaryInstance = 0);
8983 static void Drop(
const Connection& connection,
const ostring& table,
bool force =
true);
9049 Default = OCI_DCM_DEFAULT,
9051 Force = OCI_DCM_FORCE
9071 ResultComplete = OCI_DPR_COMPLETE,
9073 ResultError = OCI_DPR_ERROR,
9075 ResultFull = OCI_DPR_FULL,
9077 ResultPartial = OCI_DPR_PARTIAL,
9079 ResultEmpty = OCI_DPR_EMPTY
9130 void SetColumn(
unsigned int colIndex,
const ostring& name,
unsigned int maxSize,
const ostring& format = OTEXT(
""));
9163 void SetEntry(
unsigned int rowIndex,
unsigned int colIndex,
const T& value,
bool complete =
true);
9269 void SetCurrentRows(
unsigned int value);
9279 unsigned int GetCurrentRows()
const;
9289 unsigned int GetMaxRows()
const;
9299 unsigned int GetRowCount()
const;
9313 unsigned int GetAffectedRows()
const;
9328 void SetDateFormat(
const ostring& format);
9356 void SetParallel(
bool value);
9372 void SetNoLog(
bool value);
9387 void SetCacheSize(
unsigned int value);
9399 void SetBufferSize(
unsigned int value);
9444 unsigned int GetErrorColumn();
9479 unsigned int GetErrorRow();
9483#define OCILIB_DEFINE_FLAG_OPERATORS(T) \
9484 inline core::Flags<T> operator | (T a, T b) { return core::Flags<T>(a) | core::Flags<T>(b); } \
AQ identified agent for messages delivery.
Provides SQL bind information.
VectorTypeValues
Vector type values.
BindDirectionValues
Bind direction enumerated values.
core::Enum< VectorTypeValues > VectorType
Vector type.
core::Enum< BindDirectionValues > BindDirection
Bind direction.
Class used for handling transient collection value. it is used internally by the Collection<T> class:
Object identifying the SQL data types VARRAY and NESTED TABLE.
CollectionIterator< const CollectionElement< T > > const_iterator
Common const iterator declaration.
core::Enum< CollectionTypeValues > CollectionType
Collection type.
CollectionTypeValues
Collection type enumerated values.
CollectionIterator< CollectionElement< T > > iterator
Common iterator declaration.
STL compliant Collection Random iterator class.
Encapsulate a Resultset column or object member properties.
PropertyFlagsValues
Column properties flags values.
core::Flags< PropertyFlagsValues > PropertyFlags
Column properties flags.
A connection or session with a specific database.
FailoverEventValues
Failover events enumerated values.
core::Enum< SessionTraceValues > SessionTrace
Session traces.
core::Enum< FailoverResultValues > FailoverResult
Failover callback results.
core::Enum< TimeoutTypeValues > TimeoutType
Timeout Types.
FailoverRequestValues
Failover request enumerated values.
core::Enum< FailoverRequestValues > FailoverRequest
Failover requests.
SessionTraceValues
Session trace enumerated values.
core::Enum< FailoverEventValues > FailoverEvent
Failover events.
FailoverResultValues
Failover callback results enumerated values.
TimeoutTypeValues
Timeout enumerated values.
Object identifying the SQL data type DATE.
Dequeue object for dequeuing messages into an Oracle Queue.
DequeueVisibilityValues
Message visibility enumerated values.
core::Enum< DequeueVisibilityValues > DequeueVisibility
Message visibility after begin dequeued.
NavigationModeValues
Navigation Mode enumerated values.
DequeueModeValues
Dequeue mode enumerated values.
core::Enum< DequeueModeValues > DequeueMode
Dequeue mode.
core::Enum< NavigationModeValues > NavigationMode
Navigation Mode.
Oracle Direct path loading encapsulation.
ResultValues
Direct Operation Result enumerated values.
core::Enum< ConversionModeValues > ConversionMode
Conversion Mode.
core::Enum< ResultValues > Result
Direct Operation Result.
ConversionModeValues
Conversion mode enumerated values.
Enqueue object for queuing messages into an Oracle Queue.
EnqueueModeValues
Message enqueuing mode enumerated values.
core::Enum< EnqueueModeValues > EnqueueMode
Message enqueuing mode.
EnqueueVisibilityValues
Message visibility enumerated values.
core::Enum< EnqueueVisibilityValues > EnqueueVisibility
Message visibility after begin queued.
Static class in charge of library initialization / cleanup.
core::Flags< ShutdownModeValues > ShutdownMode
Oracle instance shutdown modes.
CharsetModeValues
Charset mode enumerated values.
StartModeValues
Oracle instance start modes enumerated values.
ImportModeValues
OCI libraries import mode enumerated values.
HAEventTypeValues
HA Event types enumerated values.
StartFlagsValues
Oracle instance start flags enumerated values.
core::Enum< LocaleCodeValues > LocaleCode
Locales string.
ShutdownFlagsValues
Oracle instance shutdown flags enumerated values.
LocaleCodeValues
Locales string enumerated values.
core::Enum< CharsetModeValues > CharsetMode
Environment charset mode.
core::Enum< ImportModeValues > ImportMode
OCI libraries import mode.
core::Flags< ShutdownFlagsValues > ShutdownFlags
Oracle instance shutdown flags.
core::Flags< StartFlagsValues > StartFlags
Oracle instance start flags.
HAEventSourceValues
HA Event sources enumerated values.
EnvironmentFlagsValues
Environment Flags enumerated values.
core::Enum< HAEventTypeValues > HAEventType
Type of HA events.
AllocatedBytesValues
Allocated Bytes enumerated values.
core::Flags< AllocatedBytesValues > AllocatedBytesFlags
Allocated Bytes.
SessionFlagsValues
Session flags enumerated values.
core::Flags< StartModeValues > StartMode
Oracle instance start modes.
core::Enum< HAEventSourceValues > HAEventSource
Source of HA events.
core::Flags< SessionFlagsValues > SessionFlags
Sessions flags.
ShutdownModeValues
Oracle instance shutdown modes enumerated values.
core::Flags< EnvironmentFlagsValues > EnvironmentFlags
Environment Flags.
ObjectEventValues
Object events enumerated values.
core::Enum< ObjectEventValues > ObjectEvent
Object events.
core::Enum< EventTypeValues > EventType
Event type.
EventTypeValues
Event type enumerated values.
Exception class handling all OCILIB errors.
ExceptionTypeValues
Exception type enumerated values.
core::Enum< ExceptionTypeValues > ExceptionType
Type of Exception.
ostring GetMessage() const
Retrieve the error message.
const char * what() const noexcept override
Override the std::exception::what() method.
int GetOracleErrorCode() const
Return the Oracle error code.
unsigned int GetRow() const
Return the row index which caused an error during statement execution.
ExceptionType GetType() const
Return the Exception type.
Connection GetConnection() const
Return the connection within the error occurred.
int GetInternalErrorCode() const
Return the OCILIB error code.
Statement GetStatement() const
Return the statement within the error occurred.
Object identifying the SQL data type BFILE.
Object identifying the SQL data type INTERVAL.
IntervalTypeValues
Interval types enumerated values.
core::Enum< IntervalTypeValues > IntervalType
Interval types.
Object identifying the SQL data type LOB (CLOB, NCLOB and BLOB)
T Read(unsigned int length)
Read a portion of a lob.
Object identifying the SQL data type LONG.
T GetContent() const
Return the string read from a fetch sequence.
MessageStateValues
Message state enumerated values.
void SetPayload(const T &value)
Set the object payload of the message.
core::Enum< MessageStateValues > MessageState
Message state.
T GetPayload()
Get the object payload of the message.
Static class allowing managing mutexes.
Object identifying the SQL data type NUMBER.
Object identifying the SQL data type OBJECT.
core::Enum< ObjectTypeValues > ObjectType
Object Type.
void Get(const ostring &name, Collection< T > &value) const
Assign the given collection with the given object attribute value of type collection.
ObjectTypeValues
Object Type enumerated values.
void Get(const ostring &name, T &value) const
Assign the given value with the given object attribute value.
A connection or session Pool.
PoolTypeValues
Pool type enumerated values.
core::Enum< PoolTypeValues > PoolType
Type of Pool.
Class allowing the administration of Oracle Queues.
QueueTypeValues
Queue Type enumerated values.
core::Enum< QueueTypeValues > QueueType
Queue Type.
Class allowing the administration of Oracle Queue tables.
GroupingModeValues
Grouping mode enumerated values.
PurgeModeValues
Purge mode enumerated values.
core::Enum< GroupingModeValues > GroupingMode
Grouping Mode.
core::Enum< PurgeModeValues > PurgeMode
Purge mode.
Object identifying the SQL data type REF.
unsigned int ForEach(T callback)
Fetch all rows in the resultset and call the given callback for row.
SeekModeValues
Seek Modes enumerated values.
bool Get(T &value, U adapter) const
Return a given user type from the current fetched row. It allow translating row column values returne...
core::Enum< SeekModeValues > SeekMode
Seek Modes.
Object used for executing SQL or PL/SQL statement and returning the produced results.
LongModeValues
LONG data type mapping modes enumerated values.
StatementTypeValues
Statement Type enumerated values.
core::Enum< BindModeValues > BindMode
Bind Modes.
void Register(const ostring &name, U extraInfo)
Register a host variable with more information as an output for a column present in a SQL RETURNING I...
void Bind(const ostring &name, T &value, BindInfo::BindDirection mode)
Bind an host variable.
void Bind(const ostring &name, std::vector< T > &values, U extraInfo, BindInfo::BindDirection mode, BindInfo::VectorType type=BindInfo::AsArray)
Bind a vector of host variables with more information.
BindModeValues
Bind Modes enumerated values.
void Bind(const ostring &name, std::vector< T > &values, BindInfo::BindDirection mode, BindInfo::VectorType type=BindInfo::AsArray)
Bind a vector of host variables.
FetchModeValues
Fetch Modes enumerated values.
core::Enum< FetchModeValues > FetchMode
Fetch Modes.
void Register(const ostring &name)
Register a host variable as an output for a column present in a SQL RETURNING INTO clause.
core::Enum< LongModeValues > LongMode
LONG data type mapping modes.
core::Enum< StatementTypeValues > StatementType
Statement Type.
void Bind(const ostring &name, T &value, U extraInfo, BindInfo::BindDirection mode)
Bind an host variable with more information.
void Register(const ostring &name, U &extraInfo)
Register a host variable with Oracle type information as an output for a column present in a SQL RETU...
Subscription to database or objects changes.
core::Flags< ChangeTypesValues > ChangeTypes
Subscription changes flags.
ChangeTypesValues
Subscription changes flags values.
static class allowing to manipulate threads
POCI_THREAD ThreadProc
Thread callback.
Static class allowing to set/get thread local storage (TLS) values for a given unique key.
POCI_THREADKEYDEST ThreadKeyFreeProc
Thread Key callback for freeing resources.
Object identifying the SQL data type TIMESTAMP.
core::Enum< TimestampTypeValues > TimestampType
Type of timestamp.
TimestampTypeValues
Interval types enumerated values.
Oracle Transaction object.
core::Flags< TransactionFlagsValues > TransactionFlags
Transaction flags.
TransactionFlagsValues
Transaction flags enumerated values.
Provides type information on Oracle Database objects.
TypeInfoTypeValues
Type of object information enumerated values.
core::Enum< TypeInfoTypeValues > TypeInfoType
Type of object information.
Object identifying the SQL data type VECTOR.
VectorFormatValues
Vector Format types enumerated values.
core::Enum< VectorFormatValues > VectorFormat
Type of Format.
Object identifying the SQL data type XMLTYPE.
Internal usage. Map supporting concurrent access from multiple threads.
Template Enumeration template class providing some type safety to some extends for manipulating enume...
Template Flags template class providing some type safety to some extends for manipulating flags set v...
Internal usage. Smart pointer class with reference counting for managing OCILIB object handles.
Internal usage. Interface for handling ownership and relationship of a C API handle.
Internal usage. Provide a store for C Handles to C++ Handles mapping.
Abstract class allowing derived classes to be compatible with any type supporting the operator << oci...
Internal usage. SynchronizationGuard object.
Internal usage. Class implementing bind translations between C++ vectors and C API arrays.
Internal usage. Class owning bind objects allowing to set/get C data prior/after a statement executio...
struct OCI_Ref OCI_Ref
Oracle REF type representation.
struct OCI_Elem OCI_Elem
Oracle Collection item representation.
struct OCI_XmlType OCI_XmlType
Oracle XMLTYPE type representation.
struct OCI_Dequeue OCI_Dequeue
OCILIB encapsulation of A/Q dequeuing operations.
struct OCI_Connection OCI_Connection
Oracle physical connection.
struct OCI_Object OCI_Object
Oracle Named types representation.
void(* POCI_THREAD)(OCI_Thread *thread, void *arg)
Thread procedure prototype.
struct OCI_Statement OCI_Statement
Oracle SQL or PL/SQL statement.
struct OCI_Timestamp OCI_Timestamp
Oracle internal timestamp representation.
struct OCI_Date OCI_Date
Oracle internal date representation.
struct OCI_Coll OCI_Coll
Oracle Collections (VARRAYs and Nested Tables) representation.
struct OCI_Bind OCI_Bind
Internal bind representation.
struct OCI_Error OCI_Error
Encapsulates an Oracle or OCILIB exception.
struct OCI_Lob OCI_Lob
Oracle Internal Large objects:
struct OCI_Long OCI_Long
Oracle Long data type.
struct OCI_Column OCI_Column
Oracle SQL Column and Type member representation.
struct OCI_Interval OCI_Interval
Oracle internal interval representation.
struct OCI_Transaction OCI_Transaction
Oracle Transaction.
struct OCI_Msg OCI_Msg
OCILIB encapsulation of A/Q message.
struct OCI_Number OCI_Number
Oracle NUMBER representation.
struct OCI_TypeInfo OCI_TypeInfo
Type info metadata handle.
struct OCI_File OCI_File
Oracle External Large objects:
void(* POCI_THREADKEYDEST)(void *data)
Thread key destructor prototype.
struct OCI_Event OCI_Event
OCILIB encapsulation of Oracle DCN event.
struct OCI_Resultset OCI_Resultset
Collection of output columns from a select statement.
struct OCI_Subscription OCI_Subscription
OCILIB encapsulation of Oracle DCN notification.
struct OCI_Agent OCI_Agent
OCILIB encapsulation of A/Q Agent.
struct OCI_Vector OCI_Vector
Oracle VECTOR type representation.
static T Check(T result)
Internal usage. Checks if the last OCILIB function call has raised an error. If so,...
OracleVersionValues
Oracle Version enumerated values.
std::basic_string< otext, std::char_traits< otext >, std::allocator< otext > > ostring
string class wrapping the OCILIB otext * type and OTEXT() macros ( see Character sets )
NumericTypeValues
Numeric type enumerated values.
core::Enum< OpenModeValues > OpenMode
Open Modes.
Long< Raw, LongBinary > Blong
Class handling LONG RAW oracle type.
core::Enum< NumericTypeValues > NumericType
Numeric data type.
Lob< ostring, LobNationalCharacter > NClob
Class handling NCLOB oracle type.
LongTypeValues
Long types enumerated values.
const void * ThreadId
Thread Unique ID.
CharsetFormValues
Charset form enumerated values.
OpenModeValues
Open Modes enumerated values.
CollationIDValues
Collation ID enumerated values.
@ CollationIDNlsSortVar1CI
@ CollationIDNlsSortVar1AI
@ CollationIDNlsSortVar1CS
SeekModeValues
Seek Modes enumerated values.
core::Enum< CollationIDValues > CollationID
Type of Collation ID.
Lob< ostring, LobCharacter > Clob
Class handling CLOB oracle type.
core::Enum< LobTypeValues > LobType
Type of Lob.
core::Enum< SeekModeValues > SeekMode
Seek Modes.
std::vector< unsigned char > Raw
C++ counterpart of SQL RAW data type.
core::Enum< LongTypeValues > LongType
Type of Long.
OCI_Mutex * MutexHandle
Alias for an OCI_Mutex pointer.
FormatTypeValues
Format type enumerated values.
void * AnyPointer
Alias for the generic void pointer.
DataTypeValues
Data type enumerated values.
LobTypeValues
Lob types enumerated values.
core::Enum< FormatTypeValues > FormatType
Format type.
Long< ostring, LongCharacter > Clong
Class handling LONG oracle type.
Lob< Raw, LobBinary > Blob
Class handling BLOB oracle type.
OCI_Thread * ThreadHandle
Alias for an OCI_Thread pointer.
core::Enum< CharsetFormValues > CharsetForm
Type of charsetForm.
core::Enum< DataTypeValues > DataType
Column data type.
core::Enum< OracleVersionValues > OracleVersion
Oracle Version.