Crate odpic_sys

Crate odpic_sys 

Source
Expand description

§odpic-sys

The crate provides low-level Rust bindings to ODPI-C.

§Usage

Put this in your Cargo.toml:

[dependencies]
odpic-sys = "0.2.0"

The following Cargo features are supported:

  • separate_blocking separates functions which may be blocked by network round-trips.

    When the feature is enabled, functions whose column Round-Trips? value in ODPI-C Function Round-Trips is Yes or Maybe are moved from the top-level module to the blocking module.

§Note about doc comments

Doc comments in this crate are verbatim copies of ODPI-C doc. They are written for C language and may be inappropriate for Rust.

§Compile-time Requirements

See Compile-time Requirements.

§Relation between odpic-sys version and ODPI-C version

odpic-sys versionODPI-C versionRustTargetnote
0.2.05.5.01.59(*1)
0.1.15.4.11.59
0.1.05.4.01.59

*1: Some constants’ types were changed from u32 to appropriate ones.

§License

Same with ODPI-C

  1. the Universal Permissive License v 1.0 or at your option, any later version; and/or
  2. the Apache License v 2.0.

§Copyrights

Copyrights of src/binding_*.rs files belong to respective owners. The files were generated from ODPI-C header files and documents.

Modules§

blocking
functions which may be blocked by network-roundtrips
dpi_impl
This module provides constants in dpiImpl.h.

Structs§

dpiAccessToken
This structure is used when creating connection pools and standalone connections using token based authentication. Oracle Client libraries must be 19.14 (or later), or 21.5 (or later).
dpiAnnotation
This structure is part of the structure dpiDataTypeInfo and provides information about annotations associated with columns that are fetched from the database. Annotations are only available with Oracle Database 23ai (or later). Oracle Client libraries must also be 23.1 (or later).
dpiAppContext
This structure is used for passing application context to the database during the process of creating standalone connections. These values are ignored when acquiring a connection from a session pool or when using DRCP (Database Resident Connection Pooling). All values must be set to valid values prior to being used in the dpiConnCreateParams structure and must remain valid until the execution of dpiConn_create() completes. Values set using this structure are available in logon triggers by using the sys_context() SQL function.
dpiBytes
This structure is used for passing byte strings to and from the database in the structure dpiData.
dpiCommonCreateParams
This structure is used for creating session pools and standalone connections to the database. All members are initialized to default values using the dpiContext_initCommonCreateParams() function.
dpiConn
Connection handles are used to represent connections to the database. These can be standalone connections created by calling the function dpiConn_create() or acquired from a session pool by calling the function dpiPool_acquireConnection(). They can be closed by calling the function dpiConn_close() or releasing the last reference to the connection by calling the function dpiConn_release(). Connection handles are used to create all handles other than session pools and context handles.
dpiConnCreateParams
This structure is used for creating connections to the database, whether standalone or acquired from a session pool. All members are initialized to default values using the dpiContext_initConnCreateParams() function. Care should be taken to ensure a copy of this structure exists only as long as needed to create the connection since it can contain a clear text copy of credentials used for connecting to the database.
dpiConnInfo
This structure is used for passing information about a connection from ODPI-C. It is used by the function dpiConn_getInfo().
dpiContext
Context handles are the top level handles created by the library and are used for all error handling as well as creating pools and standalone connections to the database. The first call to ODPI-C by any application must be dpiContext_createWithParams() which will create the context as well as validate the version used by the application. Context handles are destroyed by using the function dpiContext_destroy().
dpiContextCreateParams
This structure is used for specifying parameters when creating an ODPI-C context by calling dpiContext_createWithParams().
dpiData
This structure is used for passing data to and from the database in variables and for getting and setting object attributes and collection values. The data that is stored in the structure will remain valid for differing durations depending on the source of the data.
dpiDataTypeInfo
This structure is used for passing data type information from ODPI-C. It is part of the structures dpiObjectAttrInfo, dpiObjectTypeInfo and dpiQueryInfo.
dpiDeqOptions
Dequeue option handles are used to represent the options specified when dequeuing messages using advanced queueing. They are created by calling the function dpiConn_newDeqOptions() and are destroyed by releasing the last reference by calling the function dpiDeqOptions_release().
dpiEncodingInfo
This structure is used for transferring encoding information from ODPI-C. All of the information here remains valid as long as a reference is held to the standalone connection (by calling dpiConn_getEncodingInfo()) or session pool (by calling dpiPool_getEncodingInfo()) from which the information was taken.
dpiEnqOptions
Enqueue option handles are used to represent the options specified when enqueuing messages using advanced queueing. They are created by calling the function dpiConn_newEnqOptions() and are destroyed by releasing the last reference by calling the function dpiEnqOptions_release().
dpiErrorInfo
This structure is used for transferring error information from ODPI-C. All of the strings referenced here may become invalid as soon as the next ODPI-C call is made.
dpiIntervalDS
This structure is used for passing interval (days to seconds) data to and from the database in the structure dpiData.
dpiIntervalYM
This structure is used for passing interval (years to months) data to and from the database in the structure dpiData.
dpiJson
JSON handles are used to represent JSON values stored in the database. They are only available from Oracle Client and Database 20 and higher. They cannot be created directly but are created implicitly when a variable of type DPI_ORACLE_TYPE_JSON is created. They are destroyed when the last reference is released by a call to the function dpiJson_release().
dpiJsonArray
This structure is used for passing JSON objects to and from the database.
dpiJsonNode
This structure is used for passing JSON node data to and from the database in the structure dpiData. Nodes can consist of scalar values, objects, or arrays.
dpiJsonObject
This structure is used for passing JSON objects to and from the database.
dpiLob
LOB handles are used to represent large objects (CLOB, BLOB, NCLOB, BFILE). Both persistent and temporary large objects can be represented. LOB handles can be created by calling the function dpiConn_newTempLob() or are created implicitly when a variable of type DPI_ORACLE_TYPE_CLOB, DPI_ORACLE_TYPE_NCLOB, DPI_ORACLE_TYPE_BLOB or DPI_ORACLE_TYPE_BFILE is created and are destroyed when the last reference is released by calling the function dpiLob_release(). They are used for reading and writing data to the database in smaller pieces than is contained in the large object.
dpiMsgProps
Message properties handles are used to represent the properties of messages that are enqueued and dequeued using advanced queuing. They are created by calling the function dpiConn_newMsgProps() and are destroyed by releasing the last reference by calling the function dpiMsgProps_release().
dpiMsgRecipient
This structure is used to set recipients for an AQ message.
dpiObject
Object handles are used to represent instances of the types created by the SQL command CREATE OR REPLACE TYPE. They are created by calling the function dpiObjectType_createObject() or calling the function dpiObject_copy() or implicitly by creating a variable of the type DPI_ORACLE_TYPE_OBJECT. The are destroyed when the last reference is released by calling the function dpiObject_release().
dpiObjectAttr
Object attribute handles are used to represent the attributes of types such as those created by the SQL command CREATE OR REPLACE TYPE. They are created by calling the function dpiObjectType_getAttributes() and are destroyed when the last reference is released by calling the function dpiObjectAttr_release().
dpiObjectAttrInfo
This structure is used for passing information about an object type from ODPI-C. It is used by the function dpiObjectAttr_getInfo().
dpiObjectType
Object type handles are used to represent types such as those created by the SQL command CREATE OR REPLACE TYPE. They are created using the function dpiConn_getObjectType() or implicitly when fetching from a column containing objects by calling the function dpiStmt_getQueryInfo(). Object types are also retrieved when used as attributes in another object by calling the function dpiObjectAttr_getInfo() or as the element type of a collection by calling the function dpiObjectType_getInfo(). They are destroyed when the last reference is released by calling the function dpiObjectType_release().
dpiObjectTypeInfo
This structure is used for passing information about an object type from ODPI-C. It is used by the function dpiObjectType_getInfo().
dpiPool
Pool handles are used to represent session pools. They are created using the function dpiPool_create() and can be closed by calling the function dpiPool_close() or releasing the last reference to the pool by calling the function dpiPool_release(). Pools can be used to create connections by calling the function dpiPool_acquireConnection().
dpiPoolCreateParams
This structure is used for creating session pools, which can in turn be used to create connections that are acquired from that session pool. All members are initialized to default values using the dpiContext_initPoolCreateParams() function.
dpiQueryInfo
This structure is used for passing query metadata from ODPI-C. It is populated by the function dpiStmt_getQueryInfo(). All values remain valid as long as a reference is held to the statement and the statement is not re-executed or closed.
dpiQueue
Queue handles are used to represent Advanced Queueing (AQ) queues. They are created by calling the function dpiConn_newQueue() and are destroyed when the last reference is released by calling the function dpiQueue_release().
dpiRowid
Rowid handles are used to represent the unique identifier of a row in the database. They cannot be created or set directly but are created implicitly when a variable of type DPI_ORACLE_TYPE_ROWID is created. They are destroyed when the last reference is released by a call to the function dpiRowid_release().
dpiShardingKeyColumn
This structure is used for passing sharding key column values to the database. It is part of the structure dpiConnCreateParams.
dpiSodaColl
SODA collection handles are used to represent SODA collections in the database. They are created by calling one of the functions dpiSodaDb_createCollection(), dpiSodaDb_openCollection() or dpiSodaCollCursor_getNext() and are destroyed when the last reference is released by calling the function dpiSodaColl_release().
dpiSodaCollCursor
SODA collection cursor handles are used to represent SODA collection cursors. They are created by calling the function dpiSodaDb_getCollections() and are destroyed when the last reference is released by calling the function dpiSodaCollCursor_release().
dpiSodaDb
SODA database handles are used to represent connections to the SODA database. They are created by calling the function dpiConn_getSodaDb(). They are destroyed when the last reference is released by calling dpiSodaDb_release().
dpiSodaDoc
SODA document handles are used to represent SODA documents in the database. They are created by calling one of the functions dpiSodaDb_createDocument(), dpiSodaDocCursor_getNext(), dpiSodaColl_findOne(), dpiSodaColl_getDataGuide(), dpiSodaColl_insertMany(), dpiSodaColl_insertOne(), dpiSodaColl_replaceOne() or dpiSodaColl_save() and are destroyed when the last reference is released by calling the function dpiSodaDoc_release().
dpiSodaDocCursor
SODA document cursor handles are used to represent SODA document cursors. They are created by calling the function dpiSodaColl_find() and are destroyed when the last reference is released by calling the function dpiSodaDocCursor_release().
dpiSodaOperOptions
This structure is used for passing search criteria to a number of SODA operations. It is initialized using the function dpiContext_initSodaOperOptions() and used by the functions dpiSodaColl_find(), dpiSodaColl_findOne(), dpiSodaColl_getDocCount(), dpiSodaColl_remove() and dpiSodaColl_replaceOne().
dpiStmt
Statement handles are used to represent statements of all types (queries, DML, DDL and PL/SQL). They are created by calling the function dpiConn_prepareStmt() or the function dpiSubscr_prepareStmt(). They are also created implicitly when a variable of type DPI_ORACLE_TYPE_STMT is created. Statement handles can be closed by calling the function dpiStmt_close() or by releasing the last reference to the statement by calling the function dpiStmt_release().
dpiStmtInfo
This structure is used for passing information about a statement from ODPI-C. It is used by the function dpiStmt_getInfo().
dpiStringList
This structure is used for receiving a list of strings from such functions as dpiSodaDb_getCollectionNames() and dpiSodaColl_listIndexes(). The memory referenced by this structure should be freed by the function dpiContext_freeStringList() and should not be manipulated directly.
dpiSubscr
Subscription handles are used to represent subscriptions to events such as continuous query notification and object change notification. They are created by calling the function dpiConn_subscribe() and are destroyed by calling the function dpiConn_unsubscribe() or releasing the last reference by calling the function dpiSubscr_release().
dpiSubscrCreateParams
This structure is used for creating subscriptions to messages sent for object change notification, query change notification or advanced queuing. All members are initialized to default values using the dpiContext_initSubscrCreateParams() function.
dpiSubscrMessage
This structure is used for passing messages sent by notifications to subscriptions. It is the second parameter to the callback method specified in the dpiSubscrCreateParams structure.
dpiSubscrMessageQuery
This structure is used for passing information on query change notification events and is part of the dpiSubscrMessage structure.
dpiSubscrMessageRow
This structure is used for passing information on the rows that were changed and resulted in the notification message of which this structure is a part.
dpiSubscrMessageTable
This structure is used for passing information on the tables that were changed and resulted in the notification message of which this structure is a part.
dpiTimestamp
This structure is used for passing timestamp data to and from the database in the structure dpiData.
dpiVar
Variable handles are used to represent memory areas used for transferring data to and from the database. They are created by calling the function dpiConn_newVar(). They are destroyed when the last reference to the variable is released by calling the function dpiVar_release(). They are bound to statements by calling the function dpiStmt_bindByName() or the function dpiStmt_bindByPos(). They can also be used for fetching data from the database by calling the function dpiStmt_define().
dpiVector
Vector handles are used to represent vector values stored in the database. They are only available from Oracle Client and Database 23.4 and higher. They can be created explicitly by a call to dpiConn_newVector() or implicitly when a variable of type DPI_ORACLE_TYPE_VECTOR is created. They are destroyed when the last reference is released by a call to the function dpiVector_release().
dpiVectorInfo
This structure is used for providing or receiving information about a vector.
dpiVersionInfo
This structure is used for returning Oracle version information about the Oracle Client (dpiContext_getClientVersion()) and Oracle Database (dpiConn_getServerVersion()).
dpiXid
This structure is used for identifying a TPC (two-phase commit) transaction. It is used by the TPC functions dpiConn_tpcBegin(), dpiConn_tpcCommit(), dpiConn_tpcEnd(), dpiConn_tpcForget(), dpiConn_tpcPrepare() and dpiConn_tpcRollback().

Constants§

DPI_DEBUG_LEVEL_ERRORS
DPI_DEBUG_LEVEL_FNS
DPI_DEBUG_LEVEL_LOAD_LIB
DPI_DEBUG_LEVEL_MEM
DPI_DEBUG_LEVEL_REFS
DPI_DEBUG_LEVEL_SQL
DPI_DEBUG_LEVEL_UNREPORTED_ERRORS
DPI_DEFAULT_FETCH_ARRAY_SIZE
DPI_DEFAULT_PING_INTERVAL
DPI_DEFAULT_PING_TIMEOUT
DPI_DEFAULT_PREFETCH_ROWS
DPI_DEFAULT_STMT_CACHE_SIZE
DPI_DEQ_NAV_FIRST_MSG
See dpiDeqNavigation
DPI_DEQ_NAV_NEXT_MSG
See dpiDeqNavigation
DPI_DEQ_NAV_NEXT_TRANSACTION
See dpiDeqNavigation
DPI_DEQ_WAIT_NO_WAIT
DPI_EVENT_AQ
See dpiEventType
DPI_EVENT_DEREG
See dpiEventType
DPI_EVENT_NONE
See dpiEventType
DPI_EVENT_OBJCHANGE
See dpiEventType
DPI_EVENT_QUERYCHANGE
See dpiEventType
DPI_EVENT_SHUTDOWN
See dpiEventType
DPI_EVENT_SHUTDOWN_ANY
See dpiEventType
DPI_EVENT_STARTUP
See dpiEventType
DPI_FAILURE
DPI_JSON_OPT_DATE_AS_DOUBLE
See dpiJsonOptions
DPI_JSON_OPT_DEFAULT
See dpiJsonOptions
DPI_JSON_OPT_NUMBER_AS_STRING
See dpiJsonOptions
DPI_MAJOR_VERSION
DPI_MAX_INT64_PRECISION
DPI_MINOR_VERSION
DPI_MODE_AUTH_DEFAULT
See dpiAuthMode
DPI_MODE_AUTH_PRELIM
See dpiAuthMode
DPI_MODE_AUTH_SYSASM
See dpiAuthMode
DPI_MODE_AUTH_SYSBKP
See dpiAuthMode
DPI_MODE_AUTH_SYSDBA
See dpiAuthMode
DPI_MODE_AUTH_SYSDGD
See dpiAuthMode
DPI_MODE_AUTH_SYSKMT
See dpiAuthMode
DPI_MODE_AUTH_SYSOPER
See dpiAuthMode
DPI_MODE_AUTH_SYSRAC
See dpiAuthMode
DPI_MODE_CONN_CLOSE_DEFAULT
See dpiConnCloseMode
DPI_MODE_CONN_CLOSE_DROP
See dpiConnCloseMode
DPI_MODE_CONN_CLOSE_RETAG
See dpiConnCloseMode
DPI_MODE_CREATE_DEFAULT
See dpiCreateMode
DPI_MODE_CREATE_EVENTS
See dpiCreateMode
DPI_MODE_CREATE_THREADED
See dpiCreateMode
DPI_MODE_DEQ_BROWSE
See dpiDeqMode
DPI_MODE_DEQ_LOCKED
See dpiDeqMode
DPI_MODE_DEQ_REMOVE
See dpiDeqMode
DPI_MODE_DEQ_REMOVE_NO_DATA
See dpiDeqMode
DPI_MODE_EXEC_ARRAY_DML_ROWCOUNTS
See dpiExecMode
DPI_MODE_EXEC_BATCH_ERRORS
See dpiExecMode
DPI_MODE_EXEC_COMMIT_ON_SUCCESS
See dpiExecMode
DPI_MODE_EXEC_DEFAULT
See dpiExecMode
DPI_MODE_EXEC_DESCRIBE_ONLY
See dpiExecMode
DPI_MODE_EXEC_PARSE_ONLY
See dpiExecMode
DPI_MODE_FETCH_ABSOLUTE
See dpiFetchMode
DPI_MODE_FETCH_FIRST
See dpiFetchMode
DPI_MODE_FETCH_LAST
See dpiFetchMode
DPI_MODE_FETCH_NEXT
See dpiFetchMode
DPI_MODE_FETCH_PRIOR
See dpiFetchMode
DPI_MODE_FETCH_RELATIVE
See dpiFetchMode
DPI_MODE_MSG_BUFFERED
See dpiMessageDeliveryMode
DPI_MODE_MSG_PERSISTENT
See dpiMessageDeliveryMode
DPI_MODE_MSG_PERSISTENT_OR_BUFFERED
See dpiMessageDeliveryMode
DPI_MODE_POOL_CLOSE_DEFAULT
See dpiPoolCloseMode
DPI_MODE_POOL_CLOSE_FORCE
See dpiPoolCloseMode
DPI_MODE_POOL_GET_FORCEGET
See dpiPoolGetMode
DPI_MODE_POOL_GET_NOWAIT
See dpiPoolGetMode
DPI_MODE_POOL_GET_TIMEDWAIT
See dpiPoolGetMode
DPI_MODE_POOL_GET_WAIT
See dpiPoolGetMode
DPI_MODE_SHUTDOWN_ABORT
See dpiShutdownMode
DPI_MODE_SHUTDOWN_DEFAULT
See dpiShutdownMode
DPI_MODE_SHUTDOWN_FINAL
See dpiShutdownMode
DPI_MODE_SHUTDOWN_IMMEDIATE
See dpiShutdownMode
DPI_MODE_SHUTDOWN_TRANSACTIONAL
See dpiShutdownMode
DPI_MODE_SHUTDOWN_TRANSACTIONAL_LOCAL
See dpiShutdownMode
DPI_MODE_STARTUP_DEFAULT
See dpiStartupMode
DPI_MODE_STARTUP_FORCE
See dpiStartupMode
DPI_MODE_STARTUP_RESTRICT
See dpiStartupMode
DPI_MSG_STATE_EXPIRED
See dpiMessageState
DPI_MSG_STATE_PROCESSED
See dpiMessageState
DPI_MSG_STATE_READY
See dpiMessageState
DPI_MSG_STATE_WAITING
See dpiMessageState
DPI_NATIVE_TYPE_BOOLEAN
See dpiNativeTypeNum
DPI_NATIVE_TYPE_BYTES
See dpiNativeTypeNum
DPI_NATIVE_TYPE_DOUBLE
See dpiNativeTypeNum
DPI_NATIVE_TYPE_FLOAT
See dpiNativeTypeNum
DPI_NATIVE_TYPE_INT64
See dpiNativeTypeNum
DPI_NATIVE_TYPE_INTERVAL_DS
See dpiNativeTypeNum
DPI_NATIVE_TYPE_INTERVAL_YM
See dpiNativeTypeNum
DPI_NATIVE_TYPE_JSON
See dpiNativeTypeNum
DPI_NATIVE_TYPE_JSON_ARRAY
See dpiNativeTypeNum
DPI_NATIVE_TYPE_JSON_OBJECT
See dpiNativeTypeNum
DPI_NATIVE_TYPE_LOB
See dpiNativeTypeNum
DPI_NATIVE_TYPE_NULL
See dpiNativeTypeNum
DPI_NATIVE_TYPE_OBJECT
See dpiNativeTypeNum
DPI_NATIVE_TYPE_ROWID
See dpiNativeTypeNum
DPI_NATIVE_TYPE_STMT
See dpiNativeTypeNum
DPI_NATIVE_TYPE_TIMESTAMP
See dpiNativeTypeNum
DPI_NATIVE_TYPE_UINT64
See dpiNativeTypeNum
DPI_NATIVE_TYPE_VECTOR
See dpiNativeTypeNum
DPI_OPCODE_ALL_OPS
See dpiOpCode
DPI_OPCODE_ALL_ROWS
See dpiOpCode
DPI_OPCODE_ALTER
See dpiOpCode
DPI_OPCODE_DELETE
See dpiOpCode
DPI_OPCODE_DROP
See dpiOpCode
DPI_OPCODE_INSERT
See dpiOpCode
DPI_OPCODE_UNKNOWN
See dpiOpCode
DPI_OPCODE_UPDATE
See dpiOpCode
DPI_ORACLE_TYPE_BFILE
See dpiOracleTypeNum
DPI_ORACLE_TYPE_BLOB
See dpiOracleTypeNum
DPI_ORACLE_TYPE_BOOLEAN
See dpiOracleTypeNum
DPI_ORACLE_TYPE_CHAR
See dpiOracleTypeNum
DPI_ORACLE_TYPE_CLOB
See dpiOracleTypeNum
DPI_ORACLE_TYPE_DATE
See dpiOracleTypeNum
DPI_ORACLE_TYPE_INTERVAL_DS
See dpiOracleTypeNum
DPI_ORACLE_TYPE_INTERVAL_YM
See dpiOracleTypeNum
DPI_ORACLE_TYPE_JSON
See dpiOracleTypeNum
DPI_ORACLE_TYPE_JSON_ARRAY
See dpiOracleTypeNum
DPI_ORACLE_TYPE_JSON_ID
See dpiOracleTypeNum
DPI_ORACLE_TYPE_JSON_OBJECT
See dpiOracleTypeNum
DPI_ORACLE_TYPE_LONG_NVARCHAR
See dpiOracleTypeNum
DPI_ORACLE_TYPE_LONG_RAW
See dpiOracleTypeNum
DPI_ORACLE_TYPE_LONG_VARCHAR
See dpiOracleTypeNum
DPI_ORACLE_TYPE_MAX
DPI_ORACLE_TYPE_NATIVE_DOUBLE
See dpiOracleTypeNum
DPI_ORACLE_TYPE_NATIVE_FLOAT
See dpiOracleTypeNum
DPI_ORACLE_TYPE_NATIVE_INT
See dpiOracleTypeNum
DPI_ORACLE_TYPE_NATIVE_UINT
See dpiOracleTypeNum
DPI_ORACLE_TYPE_NCHAR
See dpiOracleTypeNum
DPI_ORACLE_TYPE_NCLOB
See dpiOracleTypeNum
DPI_ORACLE_TYPE_NONE
DPI_ORACLE_TYPE_NUMBER
See dpiOracleTypeNum
DPI_ORACLE_TYPE_NVARCHAR
See dpiOracleTypeNum
DPI_ORACLE_TYPE_OBJECT
See dpiOracleTypeNum
DPI_ORACLE_TYPE_RAW
See dpiOracleTypeNum
DPI_ORACLE_TYPE_ROWID
See dpiOracleTypeNum
DPI_ORACLE_TYPE_STMT
See dpiOracleTypeNum
DPI_ORACLE_TYPE_TIMESTAMP
See dpiOracleTypeNum
DPI_ORACLE_TYPE_TIMESTAMP_LTZ
See dpiOracleTypeNum
DPI_ORACLE_TYPE_TIMESTAMP_TZ
See dpiOracleTypeNum
DPI_ORACLE_TYPE_UROWID
See dpiOracleTypeNum
DPI_ORACLE_TYPE_VARCHAR
See dpiOracleTypeNum
DPI_ORACLE_TYPE_VECTOR
See dpiOracleTypeNum
DPI_ORACLE_TYPE_XMLTYPE
See dpiOracleTypeNum
DPI_PATCH_LEVEL
DPI_PURITY_DEFAULT
See dpiPurity
DPI_PURITY_NEW
See dpiPurity
DPI_PURITY_SELF
See dpiPurity
DPI_SERVER_TYPE_DEDICATED
See dpiServerType
DPI_SERVER_TYPE_POOLED
See dpiServerType
DPI_SERVER_TYPE_SHARED
See dpiServerType
DPI_SERVER_TYPE_UNKNOWN
See dpiServerType
DPI_SODA_FLAGS_ATOMIC_COMMIT
See dpiSodaFlags
DPI_SODA_FLAGS_CREATE_COLL_MAP
See dpiSodaFlags
DPI_SODA_FLAGS_DEFAULT
See dpiSodaFlags
DPI_SODA_FLAGS_INDEX_DROP_FORCE
See dpiSodaFlags
DPI_STMT_TYPE_ALTER
See dpiStatementType
DPI_STMT_TYPE_BEGIN
See dpiStatementType
DPI_STMT_TYPE_CALL
See dpiStatementType
DPI_STMT_TYPE_COMMIT
See dpiStatementType
DPI_STMT_TYPE_CREATE
See dpiStatementType
DPI_STMT_TYPE_DECLARE
See dpiStatementType
DPI_STMT_TYPE_DELETE
See dpiStatementType
DPI_STMT_TYPE_DROP
See dpiStatementType
DPI_STMT_TYPE_EXPLAIN_PLAN
See dpiStatementType
DPI_STMT_TYPE_INSERT
See dpiStatementType
DPI_STMT_TYPE_MERGE
See dpiStatementType
DPI_STMT_TYPE_ROLLBACK
See dpiStatementType
DPI_STMT_TYPE_SELECT
See dpiStatementType
DPI_STMT_TYPE_UNKNOWN
See dpiStatementType
DPI_STMT_TYPE_UPDATE
See dpiStatementType
DPI_SUBSCR_GROUPING_CLASS_TIME
See dpiSubscrGroupingClass
DPI_SUBSCR_GROUPING_TYPE_LAST
See dpiSubscrGroupingType
DPI_SUBSCR_GROUPING_TYPE_SUMMARY
See dpiSubscrGroupingType
DPI_SUBSCR_NAMESPACE_AQ
See dpiSubscrNamespace
DPI_SUBSCR_NAMESPACE_DBCHANGE
See dpiSubscrNamespace
DPI_SUBSCR_PROTO_CALLBACK
See dpiSubscrProtocol
DPI_SUBSCR_PROTO_HTTP
See dpiSubscrProtocol
DPI_SUBSCR_PROTO_MAIL
See dpiSubscrProtocol
DPI_SUBSCR_PROTO_PLSQL
See dpiSubscrProtocol
DPI_SUBSCR_QOS_BEST_EFFORT
See dpiSubscrQOS
DPI_SUBSCR_QOS_DEREG_NFY
See dpiSubscrQOS
DPI_SUBSCR_QOS_QUERY
See dpiSubscrQOS
DPI_SUBSCR_QOS_RELIABLE
See dpiSubscrQOS
DPI_SUBSCR_QOS_ROWIDS
See dpiSubscrQOS
DPI_SUCCESS
DPI_TPC_BEGIN_JOIN
See dpiTpcBeginFlags
DPI_TPC_BEGIN_NEW
See dpiTpcBeginFlags
DPI_TPC_BEGIN_PROMOTE
See dpiTpcBeginFlags
DPI_TPC_BEGIN_RESUME
See dpiTpcBeginFlags
DPI_TPC_END_NORMAL
See dpiTpcEndFlags
DPI_TPC_END_SUSPEND
See dpiTpcEndFlags
DPI_VECTOR_FLAGS_FLEXIBLE_DIM
See dpiVectorFlags
DPI_VECTOR_FLAGS_SPARSE
See dpiVectorFlags
DPI_VECTOR_FORMAT_BINARY
See dpiVectorFormat
DPI_VECTOR_FORMAT_FLOAT32
See dpiVectorFormat
DPI_VECTOR_FORMAT_FLOAT64
See dpiVectorFormat
DPI_VECTOR_FORMAT_INT8
See dpiVectorFormat
DPI_VISIBILITY_IMMEDIATE
See dpiVisibility
DPI_VISIBILITY_ON_COMMIT
See dpiVisibility

Functions§

dpiConn_addRef
Adds a reference to the connection. This is intended for situations where a reference to the connection needs to be maintained independently of the reference returned when the connection was created.
dpiConn_breakExecution
Performs an immediate (asynchronous) termination of any currently executing function on the server associated with the connection.
dpiConn_changePassword
Changes the password of the specified user.
dpiConn_close
Closes the connection and makes it unusable for further activity. Any open statements and LOBs associated with the connection will also be closed and made unusable for further activity.
dpiConn_commit
Commits the current active transaction.
dpiConn_create
Creates a standalone connection to a database or acquires a connection from a session pool and returns a reference to the connection.
dpiConn_deqObject
Dequeues a message from a queue. This function is deprecated and will be removed in version 4. One of the functions dpiQueue_deqOne() or dpiQueue_deqMany() should be used instead.
dpiConn_enqObject
Enqueues a message to a queue. This function is deprecated and will be removed in version 4. One of the functions dpiQueue_enqOne() or dpiQueue_enqMany() should be used instead.
dpiConn_getCallTimeout
Returns the current call timeout (in milliseconds) used for round-trips to the database made with this connection. A value of 0 means that no timeouts will take place. This value can be set using the function dpiConn_setCallTimeout().
dpiConn_getCurrentSchema
Returns the current schema that is being used by the connection.
dpiConn_getDbDomain
Returns the Oracle Database Domain name associated with the connection. This is the same value returned by the SQL expression SELECT value FROM V$PARAMETER WHERE NAME = 'db_domain'.
dpiConn_getDbName
Returns the Oracle Database name associated with the connection. This is the same value returned by the SQL expression SELECT NAME FROM V$DATABASE.
dpiConn_getEdition
Returns the edition that is being used by the connection.
dpiConn_getEncodingInfo
Returns the encoding information used by the connection. This will be equivalent to the values passed when the standalone connection or session pool was created, or the values retrieved from the environment variables NLS_LANG and NLS_NCHAR.
dpiConn_getExternalName
Returns the external name that is being used by the connection. This value is used when logging distributed transactions.
dpiConn_getHandle
Returns the OCI service context handle in use by the connection.
dpiConn_getInfo
Returns information about the connection.
dpiConn_getInstanceName
Returns the Oracle Database instance name associated with the connection. This is the same value returned by the SQL expression sys_context('userenv', 'instance_name').
dpiConn_getInternalName
Returns the internal name that is being used by the connection. This value is used when logging distributed transactions.
dpiConn_getIsHealthy
Checks if a connection is usable. Connections may become unusable in several cases, such as if the network socket is broken, if an Oracle error indicates the connection is unusable or after receiving a planned down notification from the database.
dpiConn_getLTXID
Returns the logical transaction id for the connection. This value is used in Transaction Guard to determine if the last failed call was completed and if the transaction was committed using the procedure call dbms_app_cont.get_ltxid_outcome().
dpiConn_getMaxOpenCursors
Returns the maximum number of cursors that can be opened. This is the same value returned by the SQL expression SELECT VALUE FROM V$PARAMETER WHERE NAME = 'open_cursors'.
dpiConn_getObjectType
Looks up an object type by name in the database and returns a reference to it. The reference should be released as soon as it is no longer needed.
dpiConn_getOciAttr
Returns the value of an OCI attribute. This is intended solely for testing attributes that are not otherwise supported by ODPI-C and should not be used for any other purpose. Use only as directed by Oracle.
dpiConn_getServerVersion
Returns the version information of the Oracle Database to which the connection has been made.
dpiConn_getServiceName
Returns the Oracle Database service name associated with the connection. This is the same value returned by the SQL expression SELECT SYS_CONTEXT('USERENV', 'SERVICE_NAME') FROM DUAL.
dpiConn_getSodaDb
Return a reference to a SODA database which can be used to create, open and drop collections. The connection that is passed should remain open while SODA operations are being performed. If the connection is closed an error will take place when the next SODA operation is attempted.
dpiConn_getStmtCacheSize
Returns the size of the statement cache, in number of statements.
dpiConn_getTransactionInProgress
Returns whether a transaction is in progress or not.
dpiConn_newDeqOptions
Returns a reference to a new set of dequeue options, used in dequeuing objects from a queue. The reference should be released as soon as it is no longer needed. This function is deprecated and will be removed in version 4. The function dpiQueue_getDeqOptions() should be used instead.
dpiConn_newEnqOptions
Returns a reference to a new set of enqueue options, used in enqueuing objects into a queue. The reference should be released as soon as it is no longer needed. This function is deprecated and will be removed in version 4. The function dpiQueue_getEnqOptions() should be used instead.
dpiConn_newJson
Returns a reference to a new JSON object. This object can be used as the payload in a message enqueued in a JSON queue, or as the value for a variable. The reference should be released by calling dpiJson_release() as soon as it is no longer needed.
dpiConn_newJsonQueue
Returns a reference to a new queue which enqueues and dequeues messages from Advanced Queueing (AQ) with a JSON payload. The reference should be released by calling dpiQueue_release() as soon as it is no longer needed. For queues with RAW or Database Object payloads, use the method dpiConn_newQueue() instead.
dpiConn_newMsgProps
Returns a reference to a new set of message properties, used in enqueuing and dequeuing objects in a queue. The reference should be released as soon as it is no longer needed.
dpiConn_newQueue
Returns a reference to a new queue which may be used to enqueue and dequeue messages from Advanced Queuing (AQ) queues. The reference should be released by calling dpiQueue_release() as soon as it is no longer needed.
dpiConn_newTempLob
Returns a reference to a new temporary LOB which may subsequently be written and bound to a statement. The reference should be released as soon as it is no longer needed.
dpiConn_newVar
Returns a reference to a new variable which can be used for binding data to a statement or providing a buffer for querying data from the database. The reference should be released as soon as it is no longer needed.
dpiConn_newVector
Returns a reference to a new vector object. This object can be used as the value for a variable. The reference should be released by calling dpiVector_release() as soon as it is no longer needed.
dpiConn_ping
Pings the database to determine if a connection is usable.
dpiConn_prepareStmt
Returns a reference to a statement prepared for execution. The reference should be released as soon as it is no longer needed.
dpiConn_release
Releases a reference to the connection. A count of the references to the connection is maintained and when this count reaches zero, the memory associated with the connection is freed and the connection is closed or released back to the session pool if that has not already taken place using the function dpiConn_close().
dpiConn_rollback
Rolls back the current active transaction.
dpiConn_setAction
Sets the action attribute on the connection. This is one of the end-to-end tracing attributes that can be tracked in database views, shown in audit trails and seen in tools such as Enterprise Manager.
dpiConn_setCallTimeout
Sets the call timeout (in milliseconds) to be used for round-trips to the database made with this connection. A value of 0 means that no timeouts will take place. The current value can be acquired using the function dpiConn_getCallTimeout().
dpiConn_setClientIdentifier
Sets the client identifier attribute on the connection. This is one of the end-to-end tracing attributes that can be tracked in database views, shown in audit trails and seen in tools such as Enterprise Manager.
dpiConn_setClientInfo
Sets the client info attribute on the connection. This is one of the end-to-end tracing attributes that can be tracked in database views, shown in audit trails and seen in tools such as Enterprise Manager.
dpiConn_setCurrentSchema
Sets the current schema to be used on the connection. This has the same effect as the SQL statement ALTER SESSION SET CURRENT_SCHEMA. The value be changed when the next call requiring a round trip to the server is performed. If the new schema name does not exist, the same error is returned as when the alter session statement is executed. The new schema name is placed before database objects in statement that you execute that do not already have a schema.
dpiConn_setDbOp
Sets the database operation attribute on the connection. This is one of the end-to-end tracing attributes that can be tracked in database views, shown in audit trails and seen in tools such as Enterprise Manager.
dpiConn_setEcontextId
Sets the execution context id attribute on the connection. This is one of the end-to-end tracing attributes that can be tracked in database views, shown in audit trails and seen in tools such as Enterprise Manager.
dpiConn_setExternalName
Sets the external name that is being used by the connection. This value is used when logging distributed transactions.
dpiConn_setInternalName
Sets the internal name that is being used by the connection. This value is used when logging distributed transactions.
dpiConn_setModule
Sets the module attribute on the connection. This is one of the end-to-end tracing attributes that can be tracked in database views, shown in audit trails and seen in tools such as Enterprise Manager.
dpiConn_setOciAttr
Sets the value of an OCI attribute. This is intended solely for testing attributes that are not otherwise supported by ODPI-C and should not be used for any other purpose. Use only as directed by Oracle.
dpiConn_setStmtCacheSize
Sets the size of the statement cache.
dpiConn_shutdownDatabase
Shuts down the database. This function must be called twice for the database to be shut down successfully. After calling this function the first time, the SQL statements “alter database close normal” and “alter database dismount” must be executed. Once that is complete this function should be called again with the mode DPI_MODE_SHUTDOWN_FINAL in order to complete the orderly shutdown of the database.
dpiConn_startupDatabase
Starts up a database.
dpiConn_startupDatabaseWithPfile
Starts up a database with a parameter file (PFILE).
dpiConn_subscribe
Returns a reference to a subscription which is used for requesting notifications of events that take place in the database. Events that are supported are changes on tables or queries (continuous query notification) and the availability of messages to dequeue (advanced queuing). The reference should be released as soon as it is no longer needed.
dpiConn_tpcBegin
Begins a new TPC (two-phase commit) transaction with the given transaction id (XID).
dpiConn_tpcCommit
Commits a TPC (two-phase commit) transaction.
dpiConn_tpcEnd
Ends a TPC (two-phase commit) transaction with the given transaction id (XID).
dpiConn_tpcForget
Forgets a TPC (two-phase commit) transaction.
dpiConn_tpcPrepare
Prepares a TPC (two-phase commit) transaction for commit. This function should only be called after dpiConn_tpcBegin() is called and before dpiConn_tpcCommit() or dpiConn_commit() is called.
dpiConn_tpcRollback
Rolls back a TPC (two-phase commit) transaction.
dpiConn_unsubscribe
Unsubscribes from the events that were earlier subscribed to via the function dpiConn_subscribe(). Once this function completes successfully no further notifications will be sent for this subscription. Note that this method does not generate a notification either.
dpiContext_createWithParams
Creates a new context for interaction with the library. This is the first function that must be called and it must have completed successfully before any other functions can be called, including in other threads.
dpiContext_destroy
Destroys the context that was earlier created with the function dpiContext_createWithParams().
dpiContext_freeStringList
Frees the memory associated with the string list allocated by a call to one of the functions dpiSodaDb_getCollectionNames() or dpiSodaColl_listIndexes(). This function should not be called without first calling one of those functions first.
dpiContext_getClientVersion
Return information about the version of the Oracle Client that is being used.
dpiContext_getError
Returns information for the last error or warning that was raised by the library. This function must be called with the same thread that generated the error or warning. It must also be called before any other ODPI-C library calls are made on the calling thread since the error/warning information specific to that thread is cleared at the start of every ODPI-C function call.
dpiContext_initCommonCreateParams
Initializes the dpiCommonCreateParams structure to default values.
dpiContext_initConnCreateParams
Initializes the dpiConnCreateParams structure to default values.
dpiContext_initPoolCreateParams
Initializes the dpiPoolCreateParams structure to default values.
dpiContext_initSodaOperOptions
Initializes the dpiSodaOperOptions structure to default values.
dpiContext_initSubscrCreateParams
Initializes the dpiSubscrCreateParams structure to default values.
dpiData_getBool
Returns the value of the data when the native type is DPI_NATIVE_TYPE_BOOLEAN.
dpiData_getBytes
Returns a pointer to the value of the data when the native type is DPI_NATIVE_TYPE_BYTES.
dpiData_getDouble
Returns the value of the data when the native type is DPI_NATIVE_TYPE_DOUBLE.
dpiData_getFloat
Returns the value of the data when the native type is DPI_NATIVE_TYPE_FLOAT.
dpiData_getInt64
Returns the value of the data when the native type is DPI_NATIVE_TYPE_INT64.
dpiData_getIntervalDS
Returns a pointer to the value of the data when the native type is DPI_NATIVE_TYPE_INTERVAL_DS.
dpiData_getIntervalYM
Returns a pointer to the value of the data when the native type is DPI_NATIVE_TYPE_INTERVAL_YM.
dpiData_getIsNull
Returns whether the data refers to a null value (1) or not (0).
dpiData_getJson
Returns the value of the data when the native type is DPI_NATIVE_TYPE_JSON.
dpiData_getJsonArray
Returns the value of the data when the native type is DPI_NATIVE_TYPE_JSON_ARRAY.
dpiData_getJsonObject
Returns the value of the data when the native type is DPI_NATIVE_TYPE_JSON_OBJECT.
dpiData_getLOB
Returns the value of the data when the native type is DPI_NATIVE_TYPE_LOB.
dpiData_getObject
Returns the value of the data when the native type is DPI_NATIVE_TYPE_OBJECT.
dpiData_getStmt
Returns the value of the data when the native type is DPI_NATIVE_TYPE_STMT.
dpiData_getTimestamp
Returns a pointer to the value of the data when the native type is DPI_NATIVE_TYPE_TIMESTAMP.
dpiData_getUint64
Returns the value of the data when the native type is DPI_NATIVE_TYPE_UINT64.
dpiData_getVector
Returns the value of the data when the native type is DPI_NATIVE_TYPE_VECTOR.
dpiData_setBool
Sets the value of the data when the native type is DPI_NATIVE_TYPE_BOOLEAN.
dpiData_setBytes
Sets the value of the data when the native type is DPI_NATIVE_TYPE_BYTES. Do not use this function when setting data for variables. Instead, use the function dpiVar_setFromBytes().
dpiData_setDouble
Sets the value of the data when the native type is DPI_NATIVE_TYPE_DOUBLE.
dpiData_setFloat
Sets the value of the data when the native type is DPI_NATIVE_TYPE_FLOAT.
dpiData_setInt64
Sets the value of the data when the native type is DPI_NATIVE_TYPE_INT64.
dpiData_setIntervalDS
Sets the value of the data when the native type is DPI_NATIVE_TYPE_INTERVAL_DS.
dpiData_setIntervalYM
Sets the value of the data when the native type is DPI_NATIVE_TYPE_INTERVAL_YM.
dpiData_setLOB
Sets the value of the data when the native type is DPI_NATIVE_TYPE_LOB. Do not use this function when setting data for variables. Instead, use the function dpiVar_setFromLob().
dpiData_setNull
Sets the value of the data to be the null value.
dpiData_setObject
Sets the value of the data when the native type is DPI_NATIVE_TYPE_OBJECT. Do not use this function when setting data for variables. Instead, use the function dpiVar_setFromObject().
dpiData_setStmt
Sets the value of the data when the native type is DPI_NATIVE_TYPE_STMT. Do not use this function when setting data for variables. Instead, use the function dpiVar_setFromStmt().
dpiData_setTimestamp
Sets the value of the data when the native type is DPI_NATIVE_TYPE_TIMESTAMP.
dpiData_setUint64
Sets the value of the data when the native type is DPI_NATIVE_TYPE_UINT64.
dpiDeqOptions_addRef
Adds a reference to the dequeue options. This is intended for situations where a reference to the dequeue options needs to be maintained independently of the reference returned when the handle was created.
dpiDeqOptions_getCondition
Returns the condition that must be satisfied in order for a message to be dequeued. See function dpiDeqOptions_setCondition() for more information.
dpiDeqOptions_getConsumerName
Returns the name of the consumer that is dequeuing messages. See function dpiDeqOptions_setConsumerName() for more information.
dpiDeqOptions_getCorrelation
Returns the correlation of the message to be dequeued. See function dpiDeqOptions_setCorrelation() for more information.
dpiDeqOptions_getMode
Returns the mode that is to be used when dequeuing messages.
dpiDeqOptions_getMsgId
Returns the identifier of the specific message that is to be dequeued.
dpiDeqOptions_getNavigation
Returns the position of the message that is to be dequeued.
dpiDeqOptions_getTransformation
Returns the transformation of the message to be dequeued. See function dpiDeqOptions_setTransformation() for more information.
dpiDeqOptions_getVisibility
Returns whether the message being dequeued is part of the current transaction or constitutes a transaction on its own.
dpiDeqOptions_getWait
Returns the time to wait, in seconds, for a message matching the search criteria. See function dpiDeqOptions_setWait() for more information.
dpiDeqOptions_release
Releases a reference to the dequeue options. A count of the references to the dequeue options is maintained and when this count reaches zero, the memory associated with the options is freed.
dpiDeqOptions_setCondition
Sets the condition which must be true for messages to be dequeued. The condition must be a valid boolean expression similar to the where clause of a SQL query. The expression can include conditions on message properties, user data properties and PL/SQL or SQL functions. User data properties must be prefixed with tab.user_data as a qualifier to indicate the specific column of the queue table that stores the message payload.
dpiDeqOptions_setConsumerName
Sets the name of the consumer which will be dequeuing messages. This value should only be set if the queue is set up for multiple consumers.
dpiDeqOptions_setCorrelation
Sets the correlation of the message to be dequeued. Special pattern matching characters such as the percent sign (%) and the underscore (_) can be used. If multiple messages satisfy the pattern, the order of dequeuing is undetermined.
dpiDeqOptions_setDeliveryMode
Sets the message delivery mode that is to be used when dequeuing messages.
dpiDeqOptions_setMode
Sets the mode that is to be used when dequeuing messages.
dpiDeqOptions_setMsgId
Sets the identifier of the specific message to be dequeued.
dpiDeqOptions_setNavigation
Sets the position in the queue of the message that is to be dequeued.
dpiDeqOptions_setTransformation
Sets the transformation of the message to be dequeued. The transformation is applied after the message is dequeued but before it is returned to the application. It must be created using DBMS_TRANSFORM.
dpiDeqOptions_setVisibility
Sets whether the message being dequeued is part of the current transaction or constitutes a transaction on its own.
dpiDeqOptions_setWait
Set the time to wait, in seconds, for a message matching the search criteria.
dpiEnqOptions_addRef
Adds a reference to the enqueue options. This is intended for situations where a reference to the enqueue options needs to be maintained independently of the reference returned when the handle was created.
dpiEnqOptions_getTransformation
Returns the transformation of the message to be enqueued. See function dpiEnqOptions_setTransformation() for more information.
dpiEnqOptions_getVisibility
Returns whether the message being enqueued is part of the current transaction or constitutes a transaction on its own.
dpiEnqOptions_release
Releases a reference to the enqueue options. A count of the references to the enqueue options is maintained and when this count reaches zero, the memory associated with the options is freed.
dpiEnqOptions_setDeliveryMode
Sets the message delivery mode that is to be used when enqueuing messages.
dpiEnqOptions_setTransformation
Sets the transformation of the message to be enqueued. The transformation is applied after the message is enqueued but before it is returned to the application. It must be created using DBMS_TRANSFORM.
dpiEnqOptions_setVisibility
Sets whether the message being enqueued is part of the current transaction or constitutes a transaction on its own.
dpiJson_addRef
Adds a reference to the JSON value. This is intended for situations where a reference to the JSON value needs to be maintained independently of the reference returned when the JSON value was created.
dpiJson_getValue
Returns the top node of a hierarchy of nodes containing the data stored in the JSON value.
dpiJson_release
Releases a reference to the JSON value. A count of the references to the JSON value is maintained and when this count reaches zero, the memory associated with the JSON value is freed.
dpiJson_setFromText
Sets the JSON value from the JSON string passed as a byte string.
dpiJson_setValue
Sets the JSON value to the data found in the hierarchy of nodes pointed to by the top level node.
dpiLob_addRef
Adds a reference to the LOB. This is intended for situations where a reference to the LOB needs to be maintained independently of the reference returned when the LOB was created.
dpiLob_close
Closes the LOB and makes it unusable for further operations immediately, rather than when the reference count reaches zero.
dpiLob_closeResource
Closes the LOB resource. This should be done when a batch of writes has been completed so that the indexes associated with the LOB can be updated. It should only be performed if a call to function dpiLob_openResource() has been performed.
dpiLob_copy
Creates an independent copy of a LOB and returns a reference to the newly created LOB. This reference should be released as soon as it is no longer needed.
dpiLob_getBufferSize
Returns the size of the buffer needed to hold the number of characters specified for a buffer of the type associated with the LOB. If the LOB does not refer to a character LOB the value is returned unchanged.
dpiLob_getChunkSize
Returns the chunk size, in bytes, of the internal LOB. Reading and writing to the LOB in multiples of this size will improve performance.
dpiLob_getDirectoryAndFileName
Returns the directory alias name and file name for a BFILE type LOB.
dpiLob_getFileExists
Returns a boolean value indicating if the file referenced by the BFILE type LOB exists (1) or not (0).
dpiLob_getIsResourceOpen
Returns a boolean value indicating if the LOB resource has been opened by making a call to the function dpiLob_openResource() (1) or not (0).
dpiLob_getSize
Returns the size of the data stored in the LOB. For character LOBs the size is in characters; for binary LOBs the size is in bytes.
dpiLob_getType
Returns the type of the LOB.
dpiLob_openResource
Opens the LOB resource for writing. This will improve performance when writing to the LOB in chunks and there are functional or extensible indexes associated with the LOB. If this function is not called, the LOB resource will be opened and closed for each write that is performed. A call to the function dpiLob_closeResource() should be done before performing a call to the function dpiConn_commit().
dpiLob_readBytes
Reads data from the LOB at the specified offset into the provided buffer.
dpiLob_release
Releases a reference to the LOB. A count of the references to the LOB is maintained and when this count reaches zero, the memory associated with the LOB is freed. The LOB is also closed unless that has already taken place using the function dpiLob_close().
dpiLob_setDirectoryAndFileName
Sets the directory alias name and file name for a BFILE type LOB.
dpiLob_setFromBytes
Replaces all of the data in the LOB with the contents of the provided buffer. The LOB will first be cleared and then the provided data will be written.
dpiLob_trim
Trims the data in the LOB so that it only contains the specified amount of data.
dpiLob_writeBytes
Write data to the LOB at the specified offset using the provided buffer as the source. If multiple calls to this function are planned, the LOB should first be opened using the function dpiLob_openResource().
dpiMsgProps_addRef
Adds a reference to the message properties. This is intended for situations where a reference to the message properties needs to be maintained independently of the reference returned when the handle was created.
dpiMsgProps_getCorrelation
Returns the correlation supplied by the producer when the message was enqueued.
dpiMsgProps_getDelay
Returns the number of seconds the enqueued message will be delayed.
dpiMsgProps_getDeliveryMode
Returns the mode that was used to deliver the message.
dpiMsgProps_getEnqTime
Returns the time that the message was enqueued.
dpiMsgProps_getExceptionQ
Returns the name of the queue to which the message is moved if it cannot be processed successfully. See function dpiMsgProps_setExceptionQ() for more information.
dpiMsgProps_getExpiration
Returns the number of seconds the message is available to be dequeued. See function dpiMsgProps_setExpiration() for more information.
dpiMsgProps_getMsgId
Returns the id of the message in the queue that generated this message. No value is available until the message has been enqueued or dequeued.
dpiMsgProps_getNumAttempts
Returns the number of attempts that have been made to dequeue a message.
dpiMsgProps_getOriginalMsgId
Returns the id of the message in the last queue that generated this message. See function dpiMsgProps_setOriginalMsgId() for more information.
dpiMsgProps_getPayload
Returns the payload associated with the message properties. The payload can either be an object or an arbitrary series of bytes and is available after a call to dpiQueue_deqOne() or dpiQueue_deqMany().
dpiMsgProps_getPayloadJson
Returns the payload associated with the message properties, The payload must be a JSON object and is available after the call to dpiQueue_deqOne() or dpiQueue_deqMany(); otherwise, the value NULL will be returned.
dpiMsgProps_getPriority
Returns the priority assigned to the message. See function dpiMsgProps_setPriority() for more information.
dpiMsgProps_getState
Returns the state of the message at the time of dequeue.
dpiMsgProps_release
Releases a reference to the message properties. A count of the references to the message properties is maintained and when this count reaches zero, the memory associated with the properties is freed.
dpiMsgProps_setCorrelation
Sets the correlation of the message to be dequeued. Special pattern matching characters such as the percent sign (%) and the underscore (_) can be used. If multiple messages satisfy the pattern, the order of dequeuing is undetermined.
dpiMsgProps_setDelay
Sets the number of seconds to delay the message before it can be dequeued. Messages enqueued with a delay are put into the DPI_MSG_STATE_WAITING state. When the delay expires the message is put into the DPI_MSG_STATE_READY state. Dequeuing directly by message id overrides this delay specification. Note that delay processing requires the queue monitor to be started.
dpiMsgProps_setExceptionQ
Sets the name of the queue to which the message is moved if it cannot be processed successfully. Messages are moved if the number of unsuccessful dequeue attempts has reached the maximum allowed number or if the message has expired. All messages in the exception queue are in the DPI_MSG_STATE_EXPIRED state.
dpiMsgProps_setExpiration
Sets the number of seconds the message is available to be dequeued. This value is an offset from the delay. Expiration processing requires the queue monitor to be running. Until this time elapses, the messages are in the queue in the state DPI_MSG_STATE_READY. After this time elapses messages are moved to the exception queue in the DPI_MSG_STATE_EXPIRED state.
dpiMsgProps_setOriginalMsgId
Sets the id of the message in the last queue that generated this message.
dpiMsgProps_setPayloadBytes
Sets the payload for the message as a series of bytes. This value will be used when the message is enqueued using dpiQueue_enqOne() or dpiQueue_enqMany().
dpiMsgProps_setPayloadJson
Sets the payload for the message as a JSON object. This value will be used when the message is enqueued using dpiQueue_enqOne() or dpiQueue_enqMany().
dpiMsgProps_setPayloadObject
Sets the payload for the message as an object. This value will be used when the message is enqueued using dpiQueue_enqOne() or dpiQueue_enqMany().
dpiMsgProps_setPriority
Sets the priority assigned to the message. A smaller number indicates a higher priority. The priority can be any number, including negative numbers.
dpiMsgProps_setRecipients
Sets recipients list for the message to be enqueued.
dpiObjectAttr_addRef
Adds a reference to the attribute. This is intended for situations where a reference to the attribute needs to be maintained independently of the reference returned when the attribute was created.
dpiObjectAttr_getInfo
Returns information about the attribute.
dpiObjectAttr_release
Releases a reference to the attribute. A count of the references to the attribute is maintained and when this count reaches zero, the memory associated with the attribute is freed.
dpiObjectType_addRef
Adds a reference to the object type. This is intended for situations where a reference to the object type needs to be maintained independently of the reference returned when the object type was created.
dpiObjectType_createObject
Creates an object of the specified type and returns a reference to it. This reference should be released as soon as it is no longer needed.
dpiObjectType_getAttributes
Returns the list of attributes that belong to the object type.
dpiObjectType_getInfo
Returns information about the object type.
dpiObjectType_release
Releases a reference to the object type. A count of the references to the object type is maintained and when this count reaches zero, the memory associated with the object type is freed.
dpiObject_addRef
Adds a reference to the object. This is intended for situations where a reference to the object needs to be maintained independently of the reference returned when the object was created.
dpiObject_appendElement
Appends an element with the specified value to the collection.
dpiObject_copy
Creates an independent copy of an object and returns a reference to the newly created object. This reference should be released as soon as it is no longer needed.
dpiObject_deleteElementByIndex
Deletes an element from the collection. Note that the position ordinals of the remaining elements are not changed. The delete operation creates holes in the collection.
dpiObject_getAttributeValue
Returns the value of one of the object’s attributes.
dpiObject_getElementExistsByIndex
Returns whether an element exists at the specified index.
dpiObject_getElementValueByIndex
Returns the value of the element found at the specified index.
dpiObject_getFirstIndex
Returns the first index used in a collection.
dpiObject_getLastIndex
Returns the last index used in a collection.
dpiObject_getNextIndex
Returns the next index used in a collection following the specified index.
dpiObject_getPrevIndex
Returns the previous index used in a collection preceding the specified index.
dpiObject_getSize
Returns the number of elements in a collection.
dpiObject_release
Releases a reference to the object. A count of the references to the object is maintained and when this count reaches zero, the memory associated with the object is freed.
dpiObject_setAttributeValue
Sets the value of one of the object’s attributes.
dpiObject_setElementValueByIndex
Sets the value of the element found at the specified index.
dpiObject_trim
Trims a number of elements from the end of a collection.
dpiPool_acquireConnection
Acquires a connection from the pool and returns a reference to it. This reference should be released by calling dpiConn_release() as soon as it is no longer needed, which will also return the connection back to the pool for subsequent calls to this function. The connection can be returned back to the pool earlier by calling dpiConn_close().
dpiPool_addRef
Adds a reference to the pool. This is intended for situations where a reference to the pool needs to be maintained independently of the reference returned when the pool was created.
dpiPool_close
Closes the pool and makes it unusable for further activity.
dpiPool_create
Creates a session pool which creates and maintains a group of stateless sessions to the database. The main benefit of session pooling is performance since making a connection to the database is a time-consuming activity, especially when the database is remote.
dpiPool_getBusyCount
Returns the number of sessions in the pool that are busy.
dpiPool_getEncodingInfo
Returns the encoding information used by the pool. This will be equivalent to the values passed when the pool was created, or the values retrieved from the environment variables NLS_LANG and NLS_NCHAR.
dpiPool_getGetMode
Returns the mode used for acquiring or getting connections from the pool.
dpiPool_getMaxLifetimeSession
Returns the maximum lifetime a pooled session may exist, in seconds. Sessions in use will not be closed. They become candidates for termination only when they are released back to the pool and have existed for longer then the returned value. Note that termination only occurs when the pool is accessed. The value 0 means that there is no maximum length of time that a pooled session may exist.
dpiPool_getMaxSessionsPerShard
Returns the maximum sessions per shard. This parameter is used for balancing shards.
dpiPool_getOpenCount
Returns the number of sessions in the pool that are open.
dpiPool_getPingInterval
Returns the ping interval duration (in seconds), which is used to check the healthiness of idle connections before getting checked out. A negative value indicates this check is disabled.
dpiPool_getSodaMetadataCache
Returns whether or not the SODA metadata cache is enabled or not.
dpiPool_getStmtCacheSize
Returns the default size of the statement cache for sessions in the pool, in number of statements.
dpiPool_getTimeout
Returns the length of time (in seconds) after which idle sessions in the pool are terminated. Note that termination only occurs when the pool is accessed. A value of 0 means that no ide sessions are terminated.
dpiPool_getWaitTimeout
Returns the amount of time (in milliseconds) that the caller will wait for a session to become available in the pool before returning an error.
dpiPool_reconfigure
Changes pool configuration corresponding to members [dpiPoolCreateParams.minSessions], [dpiPoolCreateParams.maxSessions] and [dpiPoolCreateParams.sessionIncrement] to the specified values. Connections will be created as needed if the value of minSessions is increased. Connections will be dropped from the pool as they are released back to the pool if minSessions is decreased.
dpiPool_release
Releases a reference to the pool. A count of the references to the pool is maintained and when this count reaches zero, the memory associated with the pool is freed and the session pool is closed if that has not already taken place using the function dpiPool_close().
dpiPool_setAccessToken
The function is used to manually set the token and private key for a session pool. After pool creation it can be used to periodically reset the token and private key to avoid the need for the pool token callback function [dpiPoolCreateParams.accessTokenCallback] to be called during pool growth.
dpiPool_setGetMode
Sets the mode used for acquiring or getting connections from the pool.
dpiPool_setMaxLifetimeSession
Sets the maximum lifetime a pooled session may exist, in seconds. Sessions in use will not be closed. They become candidates for termination only when they are released back to the pool and have existed for longer then the specified value. Note that termination only occurs when the pool is accessed. The value 0 means that there is no maximum length of time that a pooled session may exist.
dpiPool_setMaxSessionsPerShard
Sets the maximum number of sessions per shard.
dpiPool_setPingInterval
Sets the ping interval duration (in seconds) which is used to to check for healthiness of sessions. If this time has passed since the last time the session was checked out a ping will be performed. A negative value will disable this check.
dpiPool_setSodaMetadataCache
Sets whether the SODA metadata cache is enabled or not. Enabling the SODA metadata cache can significantly improve the performance of repeated calls to methods dpiSodaDb_createCollection() (when not specifying a value for the metadata parameter) and dpiSodaDb_openCollection(). Note that the cache can become out of date if changes to the metadata of cached collections are made externally.
dpiPool_setStmtCacheSize
Sets the default size of the statement cache for sessions in the pool.
dpiPool_setTimeout
Sets the amount of time (in seconds) after which idle sessions in the pool are terminated. Note that termination only occurs when the pool is accessed. A value of zero will result in no idle sessions being terminated.
dpiPool_setWaitTimeout
Sets the amount of time (in milliseconds) that the caller should wait for a session to be available in the pool before returning with an error.
dpiQueue_addRef
Adds a reference to the queue. This is intended for situations where a reference to the queue needs to be maintained independently of the reference returned when the queue was created.
dpiQueue_deqMany
Dequeues multiple messages from the queue.
dpiQueue_deqOne
Dequeues a single message from the queue.
dpiQueue_enqMany
Enqueues multiple messages into the queue.
dpiQueue_enqOne
Enqueues a single mesasge into the queue.
dpiQueue_getDeqOptions
Returns a reference to the dequeue options associated with the queue. These options affect how messages are dequeued.
dpiQueue_getEnqOptions
Returns a reference to the enqueue options associated with the queue. These options affect how messages are enqueued.
dpiQueue_release
Releases a reference to the queue. A count of the references to the queue is maintained and when this count reaches zero, the memory associated with the queue is freed.
dpiRowid_addRef
Adds a reference to the rowid. This is intended for situations where a reference to the rowid needs to be maintained independently of the reference returned when the rowid was created.
dpiRowid_getStringValue
Returns the sting (base64) representation of the rowid.
dpiRowid_release
Releases a reference to the rowid. A count of the references to the rowid is maintained and when this count reaches zero, the memory associated with the rowid is freed.
dpiSodaCollCursor_addRef
Adds a reference to the SODA collection cursor. This is intended for situations where a reference to the cursor needs to be maintained independently of the reference returned when the cursor was created.
dpiSodaCollCursor_close
Closes the cursor and makes it unusable for further work immediately, rather than when the reference count reaches zero.
dpiSodaCollCursor_getNext
Gets the next collection from the cursor, if there is one.
dpiSodaCollCursor_release
Releases a reference to the SODA collection cursor. A count of the references to the cursor is maintained and when this count reaches zero, the memory associated with the cursor is freed.
dpiSodaColl_addRef
Adds a reference to the SODA collection. This is intended for situations where a reference to the collection needs to be maintained independently of the reference returned when the collection was created.
dpiSodaColl_createIndex
Create an index on the collection, which can improve the performance of SODA query-by-examples (QBE). An index is defined by a specification, which is a JSON-encoded string that specifies how particular QBE patterns are to be indexed for quicker matching. See Overview of SODA indexing.
dpiSodaColl_drop
Drops a SODA collection from the database.
dpiSodaColl_dropIndex
Drop an index on the collection.
dpiSodaColl_find
Finds all of the documents in the collection that match the specified options.
dpiSodaColl_findOne
Finds a single document in the collection that matches the specified options.
dpiSodaColl_getDataGuide
Returns a document containing the data guide for the collection. See JSON Data Guide.
dpiSodaColl_getDocCount
Returns the number of documents in the collection that match the specified options.
dpiSodaColl_getMetadata
Returns the metadata for the collection.
dpiSodaColl_getName
Returns the name of the collection.
dpiSodaColl_insertMany
Inserts multiple documents into the collection and optionally returns result documents containing information about the newly inserted documents.
dpiSodaColl_insertManyWithOptions
Inserts multiple documents into the collection and optionally returns result documents containing information about the newly inserted documents. In addition, options can be supplied to modify how the documents are inserted or returned.
dpiSodaColl_insertOne
Inserts a document into the collection and optionally returns it.
dpiSodaColl_insertOneWithOptions
Inserts a document into the collection and optionally returns it. In addition, options can be supplied to modify how the document is inserted or returned.
dpiSodaColl_listIndexes
Returns a list of indexes associated with the collection.
dpiSodaColl_release
Releases a reference to the SODA collection. A count of the references to the collection is maintained and when this count reaches zero, the memory associated with the collection is freed.
dpiSodaColl_remove
Removes all of the documents in the collection that match the specified options.
dpiSodaColl_replaceOne
Replaces the single document in the collection matching the given options with the new document.
dpiSodaColl_save
Saves a document into the collection. This method is equivalent to dpiSodaColl_insertOne() except that if client-assigned keys are used, and the document with the specified key already exists in the collection, it will be replaced with the input document.
dpiSodaColl_saveWithOptions
Saves a document into the collection. This method is equivalent to dpiSodaColl_insertOneWithOptions() except that if client-assigned keys are used, and the document with the specified key already exists in the collection, it will be replaced with the input document.
dpiSodaColl_truncate
Removes all of the documents in a SODA collection in a similar manner to a TRUNCATE TABLE statement.
dpiSodaDb_addRef
Adds a reference to the SODA database. This is intended for situations where a reference to the SODA database needs to be maintained independently of the reference returned when the database was created.
dpiSodaDb_createCollection
Creates a new SODA collection if a collection by that name does not exist. If a collection by that name already exists, the collection is opened if the metadata of the collection is equivalent to the supplied metadata; otherwise, an error is returned.
dpiSodaDb_createDocument
Creates a SODA document that can later be inserted into a collection or used to replace an existing document in a collection. This method should be used when the content is binary or encoded text.
dpiSodaDb_createJsonDocument
Creates a SODA document that can later be inserted into a collection or used to replace an existing document in a collection. This method should be used when the content is JSON and Oracle Client 23 or higher is being used.
dpiSodaDb_freeCollectionNames
dpiSodaDb_getCollectionNames
Return an array of names of SODA collections available in the database.
dpiSodaDb_getCollections
Return a cursor to iterate over the SODA collections available in the database.
dpiSodaDb_openCollection
Opens an existing SODA collection.
dpiSodaDb_release
Releases a reference to the database. A count of the references to the database is maintained and when this count reaches zero, the memory associated with the database is freed.
dpiSodaDocCursor_addRef
Adds a reference to the SODA document cursor. This is intended for situations where a reference to the cursor needs to be maintained independently of the reference returned when the cursor was created.
dpiSodaDocCursor_close
Closes the cursor and makes it unusable for further work immediately, rather than when the reference count reaches zero.
dpiSodaDocCursor_getNext
Gets the next document from the cursor, if there is one.
dpiSodaDocCursor_release
Releases a reference to the SODA document cursor. A count of the references to the cursor is maintained and when this count reaches zero, the memory associated with the cursor is freed.
dpiSodaDoc_addRef
Adds a reference to the SODA document. This is intended for situations where a reference to the document needs to be maintained independently of the reference returned when the document was created.
dpiSodaDoc_getContent
Returns the content of the document. If the document contains JSON an exception will be thrown. Use dpiSodaDoc_getIsJson() to determine whether to call this function or dpiSodaDoc_getJsonContent().
dpiSodaDoc_getCreatedOn
Returns the timestamp when the document was created, as a string, in ISO format. This value will be empty if the metadata used to create the collection in which the document is found does not support the storage of this attribute, or if the document was created using dpiSodaDb_createDocument().
dpiSodaDoc_getIsJson
Returns a boolean value indicating if the document contains JSON or not. This method should be used to determine if dpiSodaDoc_getContent() or dpiSodaDoc_getJsonContent() should be called to get the content of the document.
dpiSodaDoc_getJsonContent
Returns the content of the document. If the document does not contain JSON an exception will be thrown. Use dpiSodaDoc_getIsJson() to determine whether to call this function or dpiSodaDoc_getContent().
dpiSodaDoc_getKey
Returns the key that uniquely identifies the document in the collection. This value will be empty if no key was supplied when the document was created using dpiSodaDb_createDocument().
dpiSodaDoc_getLastModified
Returns the timestamp when the document was last modified, as a string, in ISO format. This value will be empty if the metadata used to create the collection in which the document is found does not support the storage of this attribute, or if the document was created using dpiSodaDb_createDocument().
dpiSodaDoc_getMediaType
Returns the media type of the document.
dpiSodaDoc_getVersion
Returns the current version of the document. This value will be empty if the metadata used to create the collection in which the document is found does not support the storage of this attribute, or if the document was created using dpiSodaDb_createDocument().
dpiSodaDoc_release
Releases a reference to the SODA document. A count of the references to the document is maintained and when this count reaches zero, the memory associated with the document is freed.
dpiStmt_addRef
Adds a reference to the statement. This is intended for situations where a reference to the statement needs to be maintained independently of the reference returned when the statement was created.
dpiStmt_bindByName
Binds a variable to a named placeholder in the statement. A reference to the variable is retained by the library and is released when the statement itself is released or a new variable is bound to the same name.
dpiStmt_bindByPos
Binds a variable to a placeholder in the statement by position. A reference to the variable is retained by the library and is released when the statement itself is released or a new variable is bound to the same position.
dpiStmt_bindValueByName
Binds a value to a named placeholder in the statement without the need to create a variable directly. One is created implicitly and released when the statement is released or a new value is bound to the same name.
dpiStmt_bindValueByPos
Binds a value to a placeholder in the statement without the need to create a variable directly. One is created implicitly and released when the statement is released or a new value is bound to the same position.
dpiStmt_close
Closes the statement and makes it unusable for further work immediately, rather than when the reference count reaches zero.
dpiStmt_define
Defines the variable that will be used to fetch rows from the statement. A reference to the variable will be retained until the next define is performed on the same position or the statement is closed.
dpiStmt_defineValue
Defines the type of data that will be used to fetch rows from the statement. This is intended for use with the function dpiStmt_getQueryValue(), when the default data type derived from the column metadata needs to be overridden by the application. Internally, a variable is created with the specified data type and size.
dpiStmt_deleteFromCache
Excludes the associated SQL statement from the statement cache. If the SQL statement was not already in the cache, it will not be added. This function can be called before or after the statment is executed.
dpiStmt_execute
Executes the statement using the bound values. For queries this makes available metadata which can be acquired using the function dpiStmt_getQueryInfo(). For non-queries, out and in-out variables are populated with their values.
dpiStmt_executeMany
Executes the statement the specified number of times using the bound values. Each bound variable must have at least this many elements allocated or an error is returned.
dpiStmt_fetch
Fetches a single row from the buffers defined for the query. If no row is available in the buffers, an internal fetch takes place to populate them, if rows are available. The number of rows fetched into the internal buffers can be set by calling dpiStmt_setFetchArraySize(). If the statement does not refer to a query an error is returned. All columns that have not been defined prior to this call are implicitly defined using the metadata made available when the statement was executed.
dpiStmt_fetchRows
Returns the number of rows that are available in the buffers defined for the query. If no rows are currently available in the buffers, an internal fetch takes place in order to populate them, if rows are available. The number of rows fetched into the internal buffers can be set by calling dpiStmt_setFetchArraySize(). If the statement does not refer to a query an error is returned. All columns that have not been defined prior to this call are implicitly defined using the metadata made available when the statement was executed.
dpiStmt_getBatchErrorCount
Returns the number of batch errors that took place during the last execution with batch mode enabled. Batch errors are only available when both the client and the server are at 12.1.
dpiStmt_getBatchErrors
Returns the batch errors that took place during the last execution with batch mode enabled. Batch errors are only available when both the client and the server are at 12.1.
dpiStmt_getBindCount
Returns the number of bind variables in the prepared statement. In SQL statements this is the total number of bind variables whereas in PL/SQL statements this is the count of the unique bind variables.
dpiStmt_getBindNames
Returns the names of the unique bind variables in the prepared statement.
dpiStmt_getFetchArraySize
Gets the array size used for performing fetches.
dpiStmt_getImplicitResult
Returns the next implicit result available from the last execution of the statement. Implicit results are only available when both the client and server are 12.1 or higher.
dpiStmt_getInfo
Returns information about the statement.
dpiStmt_getLastRowid
Returns the rowid of the last row that was affected by the statement.
dpiStmt_getNumQueryColumns
Returns the number of columns that are being queried.
dpiStmt_getOciAttr
Returns the value of an OCI attribute. This is intended solely for testing attributes that are not otherwise supported by ODPI-C and should not be used for any other purpose. Use only as directed by Oracle.
dpiStmt_getPrefetchRows
Gets the number of rows that will be prefetched by the Oracle Client library when a query is executed.
dpiStmt_getQueryInfo
Returns information about the column that is being queried.
dpiStmt_getQueryValue
Returns the value of the column at the given position for the currently fetched row, without needing to provide a variable. If the data type of the column needs to be overridden, the function dpiStmt_defineValue() can be called to specify a different type after executing the statement but before fetching any data.
dpiStmt_getRowCount
Returns the number of rows affected by the last DML statement that was executed, the number of rows currently fetched from a query, or the number of successful executions of a PL/SQL block. In all other cases 0 is returned.
dpiStmt_getRowCounts
Returns an array of row counts affected by the last invocation of dpiStmt_executeMany() with the array DML rowcounts mode enabled. This feature is only available if both client and server are at 12.1.
dpiStmt_getSubscrQueryId
Returns the id of the query that was just registered on the subscription by calling dpiStmt_execute() on a statement prepared by calling dpiSubscr_prepareStmt().
dpiStmt_release
Releases a reference to the statement. A count of the references to the statement is maintained and when this count reaches zero, the memory associated with the statement is freed and the statement is closed if that has not already taken place using the function dpiStmt_close().
dpiStmt_scroll
Scrolls the statement to the position in the cursor specified by the mode and offset.
dpiStmt_setFetchArraySize
Sets the array size used for performing fetches. All variables defined for fetching must have this many (or more) elements allocated for them. The higher this value is the less network round trips are required to fetch rows from the database but more memory is also required. A value of zero will reset the array size to the default value of DPI_DEFAULT_FETCH_ARRAY_SIZE.
dpiStmt_setOciAttr
Sets the value of an OCI attribute. This is intended solely for testing attributes that are not otherwise supported by ODPI-C and should not be used for any other purpose. Use only as directed by Oracle.
dpiStmt_setPrefetchRows
Sets the number of rows that will be prefetched by the Oracle Client library when a query is executed. The default value is DPI_DEFAULT_PREFETCH_ROWS (2). Increasing this value may reduce the number of round-trips to the database that are required in order to fetch rows, but at the cost of increasing memory requirements. Setting this value to 0 will disable prefetch completely, which may be useful when the timing for fetching rows must be controlled by the caller.
dpiSubscr_addRef
Adds a reference to the subscription. This is intended for situations where a reference to the subscription needs to be maintained independently of the reference returned when the subscription was created.
dpiSubscr_prepareStmt
Prepares a statement for registration on the subscription. The statement is then registered by calling the function dpiStmt_execute(). The reference to the statement that is returned should be released as soon as it is no longer needed.
dpiSubscr_release
Releases a reference to the subscription. A count of the references to the subscription is maintained and when this count reaches zero, the memory associated with the subscription is freed. The subscription is also deregistered so that notifications are no longer sent, if this was not already done using the function dpiConn_unsubscribe().
dpiVar_addRef
Adds a reference to the variable. This is intended for situations where a reference to the variable needs to be maintained independently of the reference returned when the variable was created.
dpiVar_copyData
Copies the data from one variable to another variable.
dpiVar_getNumElementsInArray
Returns the number of elements in a PL/SQL index-by table if the variable was created as an array by the function dpiConn_newVar(). If the variable is one of the output bind variables of a DML returning statement, however, the value returned will correspond to the number of rows returned by the DML returning statement. In all other cases, the value returned will be the number of elements the variable was created with.
dpiVar_getReturnedData
Returns a pointer to an array of dpiData structures used for transferring data to and from the database. These structures are allocated by the variable itself when a DML returning statement is executed and the variable is bound.
dpiVar_getSizeInBytes
Returns the size of the buffer used for one element of the array used for fetching/binding Oracle data.
dpiVar_release
Releases a reference to the variable. A count of the references to the variable is maintained and when this count reaches zero, the memory associated with the variable is freed.
dpiVar_setFromBytes
Sets the variable value to the specified byte string. In the case of the variable’s Oracle type being DPI_ORACLE_TYPE_NUMBER, the byte string is converted to an Oracle number during the call to this function.
dpiVar_setFromJson
Sets the variable value to the specified JSON value.
dpiVar_setFromLob
Sets the variable value to the specified LOB.
dpiVar_setFromObject
Sets the variable value to the specified object.
dpiVar_setFromRowid
Sets the variable value to the specified rowid.
dpiVar_setFromStmt
Sets the variable value to the specified statement.
dpiVar_setFromVector
Sets the variable value to the specified vector value.
dpiVar_setNumElementsInArray
Sets the number of elements in a PL/SQL index-by table.
dpiVector_addRef
Adds a reference to the vector value. This is intended for situations where a reference to the vector value needs to be maintained independently of the reference returned when the vector value was created.
dpiVector_getValue
Returns information about the vector.
dpiVector_release
Releases a reference to the vector value. A count of the references to the vector value is maintained and when this count reaches zero, the memory associated with the vector value is freed.
dpiVector_setValue
Sets the vector value from the supplied information.

Type Aliases§

dpiAccessTokenCallback
dpiAuthMode
This enumeration identifies the mode to use when authorizing connections to the database.
dpiConnCloseMode
This enumeration identifies the mode to use when closing connections to the database.
dpiCreateMode
This enumeration identifies the mode to use when creating connections to the database. Note that the OCI objects mode is always enabled.
dpiDeqMode
This enumeration identifies the modes that are possible when dequeuing messages from a queue.
dpiDeqNavigation
This enumeration identifies the method used for determining which message is to be dequeued from a queue.
dpiEventType
This enumeration identifies the types of events that can take place. The event type is part of the messages that are sent to subscriptions.
dpiExecMode
This enumeration identifies the available modes for executing statements using dpiStmt_execute() and dpiStmt_executeMany().
dpiFetchMode
This enumeration identifies the mode to use when scrolling the cursor to a new location using the function dpiStmt_scroll().
dpiJsonOptions
This enumeration identifies the options that can be used when calling dpiJson_getValue().
dpiMessageDeliveryMode
This enumeration identifies the delivery mode used for filtering messages when dequeuing messages from a queue.
dpiMessageState
This enumeration identifies the possible states for messages in a queue.
dpiNativeTypeNum
This enumeration identifies the type of data that is being transferred to and from the database. It is used in the structures dpiDataTypeInfo, dpiShardingKeyColumn and dpiJsonNode.
dpiOpCode
This enumeration identifies the types of operations that can take place during object change and query change notification. It is used both as a filter when determining which operations to consider when sending notifications as well as identifying the operation that took place on a particular table or row when a notification is sent. Multiple values can be OR’ed together to specify multiple types of operations at the same time.
dpiOracleTypeNum
This enumeration identifies the types of Oracle data that can be used for binding data as arguments to a statement, fetching data from the database, or getting and setting object attributes and element values.
dpiPoolCloseMode
This enumeration identifies the mode to use when closing pools.
dpiPoolGetMode
This enumeration identifies the mode to use when getting sessions from a session pool.
dpiPurity
This enumeration identifies the purity of the sessions that are acquired when using connection classes during connection creation.
dpiServerType
This enumeration identifies the type of server process associated with a connection. It is only available with Oracle Client libraries 23.4 or higher.
dpiShutdownMode
This enumeration identifies the mode to use when shutting down a database using dpiConn_shutdownDatabase().
dpiSodaCollNames
dpiSodaFlags
This enumeration identifies the flags that can be used with SODA functions.
dpiStartupMode
This enumeration identifies the mode to use when starting up a database using dpiConn_startupDatabase().
dpiStatementType
This enumeration identifies the type of statement that has been prepared. It is available as part of the structure dpiStmtInfo.
dpiSubscrCallback
dpiSubscrGroupingClass
This enumeration identifies the grouping class. Instead of individual events being delivered to the callback, events are grouped before being sent to the callback. This enumeration is used in the dpiSubscrCreateParams structure.
dpiSubscrGroupingType
This enumeration identifies the grouping type. It is used in the dpiSubscrCreateParams structure.
dpiSubscrNamespace
This enumeration identifies the namespaces supported by subscriptions.
dpiSubscrProtocol
This enumeration identifies the protocol used for sending notifications to subscriptions.
dpiSubscrQOS
This enumeration identifies the quality of service flags for sending notifications to subscriptions.
dpiTpcBeginFlags
This enumeration identifies the flags that can be used when calling dpiConn_tpcBegin().
dpiTpcEndFlags
This enumeration identifies the flags that can be used when calling dpiConn_tpcEnd().
dpiVectorFlags
This enumeration identifies the possible values for [dpiDataTypeInfo.vectorFlags].
dpiVectorFormat
This enumeration identifies the storage format for a vector’s dimensions.
dpiVisibility
This enumeration identifies the visibility of messages in advanced queuing.

Unions§

dpiDataBuffer
This union is used for passing data to and from the database without requiring casts.
dpiStringList__bindgen_ty_1
dpiStringList__bindgen_ty_2
dpiStringList__bindgen_ty_3
dpiVectorDimensionBuffer
This union is used for passing vector dimensions to and from the database without requiring casts.