9.3. ODPI-C Data Functions
All of these functions are used for getting and setting the various members of the dpiData structure. The members of the structure can be manipulated directly but some languages (such as Go) do not have the ability to manipulate structures containing unions or the ability to process macros. For this reason, none of these functions perform any error checking. They are assumed to be replacements for direct manipulation of the various members of the structure.
-
int dpiData_getBool(dpiData *data)
Returns the value of the data when the native type is DPI_NATIVE_TYPE_BOOLEAN.
Parameter
Mode
Description
data
IN
A pointer to the dpiData structure from which to get the value.
-
dpiBytes *dpiData_getBytes(dpiData *data)
Returns a pointer to the value of the data when the native type is DPI_NATIVE_TYPE_BYTES.
Parameter
Mode
Description
data
IN
A pointer to the dpiData structure from which to get the value.
-
double dpiData_getDouble(dpiData *data)
Returns the value of the data when the native type is DPI_NATIVE_TYPE_DOUBLE.
Parameter
Mode
Description
data
IN
A pointer to the dpiData structure from which to get the value.
-
float dpiData_getFloat(dpiData *data)
Returns the value of the data when the native type is DPI_NATIVE_TYPE_FLOAT.
Parameter
Mode
Description
data
IN
A pointer to the dpiData structure from which to get the value.
-
int64_t dpiData_getInt64(dpiData *data)
Returns the value of the data when the native type is DPI_NATIVE_TYPE_INT64.
Parameter
Mode
Description
data
IN
A pointer to the dpiData structure from which to get the value.
-
dpiIntervalDS *dpiData_getIntervalDS(dpiData *data)
Returns a pointer to the value of the data when the native type is DPI_NATIVE_TYPE_INTERVAL_DS.
Parameter
Mode
Description
data
IN
A pointer to the dpiData structure from which to get the value.
-
dpiIntervalYM *dpiData_getIntervalYM(dpiData *data)
Returns a pointer to the value of the data when the native type is DPI_NATIVE_TYPE_INTERVAL_YM.
Parameter
Mode
Description
data
IN
A pointer to the dpiData structure from which to get the value.
-
int dpiData_getIsNull(dpiData *data)
Returns whether the data refers to a null value (1) or not (0).
Parameter
Mode
Description
data
IN
A pointer to the dpiData structure from which to get the null indicator.
-
dpiLob *dpiData_getLOB(dpiData *data)
Returns the value of the data when the native type is DPI_NATIVE_TYPE_LOB.
Parameter
Mode
Description
data
IN
A pointer to the dpiData structure from which to get the value.
-
dpiJson *dpiData_getJson(dpiData *data)
Returns the value of the data when the native type is DPI_NATIVE_TYPE_JSON.
Parameter
Mode
Description
data
IN
A pointer to the dpiData structure from which to get the value.
-
dpiJsonArray *dpiData_getJsonArray(dpiData *data)
Returns the value of the data when the native type is DPI_NATIVE_TYPE_JSON_ARRAY.
Parameter
Mode
Description
data
IN
A pointer to the dpiData structure from which to get the value.
-
dpiJsonObject *dpiData_getJsonObject(dpiData *data)
Returns the value of the data when the native type is DPI_NATIVE_TYPE_JSON_OBJECT.
Parameter
Mode
Description
data
IN
A pointer to the dpiData structure from which to get the value.
-
dpiObject *dpiData_getObject(dpiData *data)
Returns the value of the data when the native type is DPI_NATIVE_TYPE_OBJECT.
Parameter
Mode
Description
data
IN
A pointer to the dpiData structure from which to get the value.
-
dpiStmt *dpiData_getStmt(dpiData *data)
Returns the value of the data when the native type is DPI_NATIVE_TYPE_STMT.
Parameter
Mode
Description
data
IN
A pointer to the dpiData structure from which to get the value.
-
dpiTimestamp *dpiData_getTimestamp(dpiData *data)
Returns a pointer to the value of the data when the native type is DPI_NATIVE_TYPE_TIMESTAMP.
Parameter
Mode
Description
data
IN
A pointer to the dpiData structure from which to get the value.
-
uint64_t dpiData_getUint64(dpiData *data)
Returns the value of the data when the native type is DPI_NATIVE_TYPE_UINT64.
Parameter
Mode
Description
data
IN
A pointer to the dpiData structure from which to get the value.
-
void dpiData_setBool(dpiData *data, int value)
Sets the value of the data when the native type is DPI_NATIVE_TYPE_BOOLEAN.
Parameter
Mode
Description
data
IN
A pointer to the dpiData structure to set.
value
IN
The value to set.
-
void dpiData_setBytes(dpiData *data, char *ptr, uint32_t length)
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()
.Parameter
Mode
Description
data
IN
A pointer to the dpiData structure to set.
ptr
IN
The byte string containing the data to set.
length
IN
The length of the byte string.
-
void dpiData_setDouble(dpiData *data, double value)
Sets the value of the data when the native type is DPI_NATIVE_TYPE_DOUBLE.
Parameter
Mode
Description
data
IN
A pointer to the dpiData structure to set.
value
IN
The value to set.
-
void dpiData_setFloat(dpiData *data, float value)
Sets the value of the data when the native type is DPI_NATIVE_TYPE_FLOAT.
Parameter
Mode
Description
data
IN
A pointer to the dpiData structure to set.
value
IN
The value to set.
-
void dpiData_setInt64(dpiData *data, int64_t value)
Sets the value of the data when the native type is DPI_NATIVE_TYPE_INT64.
Parameter
Mode
Description
data
IN
A pointer to the dpiData structure to set.
value
IN
The value to set.
-
void dpiData_setIntervalDS(dpiData *data, int32_t days, int32_t hours, int32_t minutes, int32_t seconds, int32_t fsceconds)
Sets the value of the data when the native type is DPI_NATIVE_TYPE_INTERVAL_DS.
Parameter
Mode
Description
data
IN
A pointer to the dpiData structure to set.
days
IN
The number of days to set in the value.
hours
IN
The number of hours to set in the value.
minutes
IN
The number of minutes to set in the value.
seconds
IN
The number of seconds to set in the value.
fseconds
IN
The number of fractional seconds to set in the value.
-
void dpiData_setIntervalYM(dpiData *data, int32_t years, int32_t months)
Sets the value of the data when the native type is DPI_NATIVE_TYPE_INTERVAL_YM.
Parameter
Mode
Description
data
IN
A pointer to the dpiData structure to set.
years
IN
The number of years to set in the value.
months
IN
The number of months to set in the value.
-
void dpiData_setLOB(dpiData *data, dpiLob *lob)
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()
.Parameter
Mode
Description
data
IN
A pointer to the dpiData structure to set.
lob
IN
A reference to the LOB to assign to the value.
-
void dpiData_setNull(dpiData *data)
Sets the value of the data to be the null value.
Parameter
Mode
Description
data
IN
A pointer to the dpiData structure to set.
-
void dpiData_setObject(dpiData *data, dpiObject *obj)
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()
.Parameter
Mode
Description
data
IN
A pointer to the dpiData structure to set.
obj
IN
A reference to the object to assign to the value.
-
void dpiData_setStmt(dpiData *data, dpiStmt *stmt)
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()
.Parameter
Mode
Description
data
IN
A pointer to the dpiData structure to set.
stmt
IN
A reference to the statement to assign to the value.
-
void dpiData_setTimestamp(dpiData *data, int16_t year, uint8_t month, uint8_t day, uint8_t hour, uint8_t minute, uint8_t second, uint32_t fsecond, int8_t tzHourOffset, int8_t tzMinuteOffset)
Sets the value of the data when the native type is DPI_NATIVE_TYPE_TIMESTAMP.
Parameter
Mode
Description
data
IN
A pointer to the dpiData structure to set.
year
IN
The year to set in the value.
month
IN
The month to set in the value.
day
IN
The day to set in the value.
hour
IN
The hour to set in the value.
minute
IN
The minute to set in the value.
second
IN
The second to set in the value.
fsecond
IN
The fractional seconds to set in the value.
tzHourOffset
IN
The time zone hour offset to set in the value.
tzMinuteOffset
IN
The time zone minute offset to set in the value.