.. _dpiNativeTypeNum:

ODPI-C Enumeration dpiNativeTypeNum
-----------------------------------

This enumeration identifies the type of data that is being transferred to and
from the database. It is used in the structures
:ref:`dpiDataTypeInfo<dpiDataTypeInfo>`,
:ref:`dpiShardingKeyColumn<dpiShardingKeyColumn>` and
:ref:`dpiJsonNode<dpiJsonNode>`.

===========================  ==================================================
Value                        Description
===========================  ==================================================
DPI_NATIVE_TYPE_BOOLEAN      Data is passed as a boolean value in
                             :member:`dpiDataBuffer.asBoolean`.
DPI_NATIVE_TYPE_BYTES        Data is passed as a byte string in
                             :member:`dpiDataBuffer.asBytes`.
DPI_NATIVE_TYPE_DOUBLE       Data is passed as a double precision floating
                             point number in :member:`dpiDataBuffer.asDouble`.
DPI_NATIVE_TYPE_FLOAT        Data is passed as a single precision floating
                             point number in :member:`dpiDataBuffer.asFloat`.
DPI_NATIVE_TYPE_INT64        Data is passed as a 64-bit integer in
                             :member:`dpiDataBuffer.asInt64`.
DPI_NATIVE_TYPE_INTERVAL_DS  Data is passed as an interval (days to seconds) in
                             :member:`dpiDataBuffer.asIntervalDS`.
DPI_NATIVE_TYPE_INTERVAL_YM  Data is passed as an interval (years to months) in
                             :member:`dpiDataBuffer.asIntervalYM`.
DPI_NATIVE_TYPE_JSON         Data is passed as a JSON node in
                             :member:`dpiDataBuffer.asJsonNode`.
DPI_NATIVE_TYPE_JSON_ARRAY   Data is passed as a JSON array in
                             :member:`dpiDataBuffer.asJsonArray`.
DPI_NATIVE_TYPE_JSON_OBJECT  Data is passed as a JSON object in
                             :member:`dpiDataBuffer.asJsonObject`.
DPI_NATIVE_TYPE_LOB          Data is passed as a reference to a LOB in
                             :member:`dpiDataBuffer.asLOB`.
DPI_NATIVE_TYPE_NULL         No data is being passed. This is used to identify
                             the JSON singleton null value.
DPI_NATIVE_TYPE_OBJECT       Data is passed as a reference to an object in
                             :member:`dpiDataBuffer.asObject`.
DPI_NATIVE_TYPE_ROWID        Data is passed as a reference to a rowid in
                             :member:`dpiDataBuffer.asRowid`.
DPI_NATIVE_TYPE_STMT         Data is passed as a reference to a statement in
                             :member:`dpiDataBuffer.asStmt`.
DPI_NATIVE_TYPE_TIMESTAMP    Data is passed as a timestamp in
                             :member:`dpiDataBuffer.asTimestamp`.
DPI_NATIVE_TYPE_UINT64       Data is passed as an unsigned 64-bit integer in
                             :member:`dpiDataBuffer.asUint64`.
===========================  ==================================================
