#include "TestLib.h"
#define MAX_ARRAY_SIZE 3
int dpiTest_1000_varWithMaxArrSize0(dpiTestCase *testCase,
dpiTestParams *params)
{
dpiConn *conn;
dpiData *data;
dpiVar *var;
if (dpiTestCase_getConnection(testCase, &conn) < 0)
return DPI_FAILURE;
dpiConn_newVar(conn, DPI_ORACLE_TYPE_NUMBER, DPI_NATIVE_TYPE_INT64, 0, 0,
0, 0, NULL, &var, &data);
return dpiTestCase_expectError(testCase, "DPI-1031:");
}
int dpiTest_1001_invalidOracleTypeNum(dpiTestCase *testCase,
dpiTestParams *params)
{
dpiConn *conn;
dpiData *data;
dpiVar *var;
if (dpiTestCase_getConnection(testCase, &conn) < 0)
return DPI_FAILURE;
dpiConn_newVar(conn, 1000, DPI_NATIVE_TYPE_INT64, MAX_ARRAY_SIZE, 0, 0, 0,
NULL, &var, &data);
return dpiTestCase_expectError(testCase, "DPI-1021:");
}
int dpiTest_1002_incompatibleValsForParams(dpiTestCase *testCase,
dpiTestParams *params)
{
dpiConn *conn;
dpiData *data;
dpiVar *var;
if (dpiTestCase_getConnection(testCase, &conn) < 0)
return DPI_FAILURE;
dpiConn_newVar(conn, DPI_ORACLE_TYPE_TIMESTAMP, DPI_NATIVE_TYPE_INT64,
MAX_ARRAY_SIZE, 0, 0, 0, NULL, &var, &data);
return dpiTestCase_expectError(testCase, "DPI-1014:");
}
int dpiTest_1003_validValsForArrsButNotSupported(dpiTestCase *testCase,
dpiTestParams *params)
{
dpiConn *conn;
dpiData *data;
dpiVar *var;
if (dpiTestCase_getConnection(testCase, &conn) < 0)
return DPI_FAILURE;
dpiConn_newVar(conn, DPI_ORACLE_TYPE_BOOLEAN, DPI_NATIVE_TYPE_BOOLEAN,
MAX_ARRAY_SIZE, 0, 0, 1, NULL, &var, &data);
return dpiTestCase_expectError(testCase, "DPI-1013:");
}
int dpiTest_1004_maxArrSizeTooLarge(dpiTestCase *testCase,
dpiTestParams *params)
{
uint32_t maxArrSize = 4294967295, size = 2;
dpiConn *conn;
dpiData *data;
dpiVar *var;
if (dpiTestCase_getConnection(testCase, &conn) < 0)
return DPI_FAILURE;
dpiConn_newVar(conn, DPI_ORACLE_TYPE_NUMBER, DPI_NATIVE_TYPE_INT64,
maxArrSize, size, 0, 0, NULL, &var, &data);
return dpiTestCase_expectError(testCase, "DPI-1015:");
}
int dpiTest_1005_setFromBytesNotSupported(dpiTestCase *testCase,
dpiTestParams *params)
{
const char *strVal = "string1";
dpiConn *conn;
dpiData *data;
dpiVar *var;
if (dpiTestCase_getConnection(testCase, &conn) < 0)
return DPI_FAILURE;
if (dpiConn_newVar(conn, DPI_ORACLE_TYPE_NUMBER, DPI_NATIVE_TYPE_INT64,
MAX_ARRAY_SIZE, 0, 0, 0, NULL, &var, &data) < 0)
return dpiTestCase_setFailedFromError(testCase);
dpiVar_setFromBytes(var, 0, strVal, strlen(strVal));
if (dpiTestCase_expectError(testCase, "DPI-1013:") < 0)
return DPI_FAILURE;
dpiVar_release(var);
return DPI_SUCCESS;
}
int dpiTest_1006_setFromBytesValueTooLarge(dpiTestCase *testCase,
dpiTestParams *params)
{
const char *strVal = "string_that_is_too_long";
dpiData *data;
dpiVar *var;
dpiConn *conn;
if (dpiTestCase_getConnection(testCase, &conn) < 0)
return DPI_FAILURE;
if (dpiConn_newVar(conn, DPI_ORACLE_TYPE_VARCHAR, DPI_NATIVE_TYPE_BYTES,
MAX_ARRAY_SIZE, 2, 0, 0, NULL, &var, &data) < 0)
return dpiTestCase_setFailedFromError(testCase);
dpiVar_setFromBytes(var, 0, strVal, strlen(strVal));
if (dpiTestCase_expectError(testCase, "DPI-1019:") < 0)
return DPI_FAILURE;
dpiVar_release(var);
return DPI_SUCCESS;
}
int dpiTest_1007_setFromBytesPositionTooLarge(dpiTestCase *testCase,
dpiTestParams *params)
{
const char *strVal = "string1";
dpiConn *conn;
dpiData *data;
dpiVar *var;
if (dpiTestCase_getConnection(testCase, &conn) < 0)
return DPI_FAILURE;
if (dpiConn_newVar(conn, DPI_ORACLE_TYPE_NUMBER, DPI_NATIVE_TYPE_INT64,
MAX_ARRAY_SIZE, 0, 0, 0, NULL, &var, &data) < 0)
return dpiTestCase_setFailedFromError(testCase);
dpiVar_setFromBytes(var, 4, strVal, strlen(strVal));
if (dpiTestCase_expectError(testCase, "DPI-1009:") < 0)
return DPI_FAILURE;
dpiVar_release(var);
return DPI_SUCCESS;
}
int dpiTest_1008_setFromLobUnsupportedType(dpiTestCase *testCase,
dpiTestParams *params)
{
const char *lobStr = "dpiTest";
dpiConn *conn;
dpiData *data;
dpiVar *var;
dpiLob *lob;
if (dpiTestCase_getConnection(testCase, &conn) < 0)
return DPI_FAILURE;
if (dpiConn_newTempLob(conn, DPI_ORACLE_TYPE_CLOB, &lob) < 0)
return dpiTestCase_setFailedFromError(testCase);
if (dpiLob_setFromBytes(lob, lobStr, strlen(lobStr)) < 0)
return dpiTestCase_setFailedFromError(testCase);
if (dpiConn_newVar(conn, DPI_ORACLE_TYPE_NUMBER, DPI_NATIVE_TYPE_INT64,
MAX_ARRAY_SIZE, 0, 0, 0, NULL, &var, &data) < 0)
return dpiTestCase_setFailedFromError(testCase);
dpiVar_setFromLob(var, 0, lob);
if (dpiTestCase_expectError(testCase, "DPI-1013:") < 0)
return DPI_FAILURE;
dpiLob_release(lob);
dpiVar_release(var);
return DPI_SUCCESS;
}
int dpiTest_1009_setFromLobPositionTooLarge(dpiTestCase *testCase,
dpiTestParams *params)
{
const char *lobStr = "dpiTest";
dpiData *lobValue;
dpiVar *lobVar;
dpiConn *conn;
dpiLob *lob;
if (dpiTestCase_getConnection(testCase, &conn) < 0)
return DPI_FAILURE;
if (dpiConn_newTempLob(conn, DPI_ORACLE_TYPE_CLOB, &lob) < 0)
return dpiTestCase_setFailedFromError(testCase);
if (dpiLob_setFromBytes(lob, lobStr, strlen(lobStr)) < 0)
return dpiTestCase_setFailedFromError(testCase);
if (dpiConn_newVar(conn, DPI_ORACLE_TYPE_CLOB, DPI_NATIVE_TYPE_LOB,
MAX_ARRAY_SIZE, 0, 0, 0, NULL, &lobVar, &lobValue) < 0)
return dpiTestCase_setFailedFromError(testCase);
dpiVar_setFromLob(lobVar, 3, lob);
if (dpiTestCase_expectError(testCase, "DPI-1009:") < 0)
return DPI_FAILURE;
dpiVar_release(lobVar);
dpiLob_release(lob);
return DPI_SUCCESS;
}
int dpiTest_1010_setFromObjectUnsupportedType(dpiTestCase *testCase,
dpiTestParams *params)
{
const char *objStr = "UDT_OBJECT";
dpiObjectType *objType;
dpiObject *obj;
dpiConn *conn;
dpiData *data;
dpiVar *var;
if (dpiTestCase_getConnection(testCase, &conn) < 0)
return DPI_FAILURE;
if (dpiConn_getObjectType(conn, objStr, strlen(objStr), &objType) < 0)
return dpiTestCase_setFailedFromError(testCase);
if (dpiObjectType_createObject(objType, &obj) < 0)
return dpiTestCase_setFailedFromError(testCase);
if (dpiConn_newVar(conn, DPI_ORACLE_TYPE_NUMBER, DPI_NATIVE_TYPE_INT64,
MAX_ARRAY_SIZE, 0, 0, 0, NULL, &var, &data) < 0)
return dpiTestCase_setFailedFromError(testCase);
dpiVar_setFromObject(var, 0, obj);
if (dpiTestCase_expectError(testCase, "DPI-1013:") < 0)
return DPI_FAILURE;
dpiVar_release(var);
dpiObject_release(obj);
dpiObjectType_release(objType);
return DPI_SUCCESS;
}
int dpiTest_1011_setFromObjectPositionTooLarge(dpiTestCase *testCase,
dpiTestParams *params)
{
const char *objStr = "UDT_OBJECT";
uint32_t maxArrSize = 1;
dpiObjectType *objType;
dpiData *objectValue;
dpiVar *objectVar;
dpiObject *obj;
dpiConn *conn;
if (dpiTestCase_getConnection(testCase, &conn) < 0)
return DPI_FAILURE;
if (dpiConn_getObjectType(conn, objStr, strlen(objStr), &objType) < 0)
return dpiTestCase_setFailedFromError(testCase);
if (dpiObjectType_createObject(objType, &obj) < 0)
return dpiTestCase_setFailedFromError(testCase);
if (dpiConn_newVar(conn, DPI_ORACLE_TYPE_OBJECT, DPI_NATIVE_TYPE_OBJECT,
maxArrSize, 0, 0, 0, objType, &objectVar, &objectValue) < 0)
return dpiTestCase_setFailedFromError(testCase);
dpiVar_setFromObject(objectVar, 1, obj);
if (dpiTestCase_expectError(testCase, "DPI-1009:") < 0)
return DPI_FAILURE;
dpiVar_release(objectVar);
dpiObject_release(obj);
dpiObjectType_release(objType);
return DPI_SUCCESS;
}
int dpiTest_1012_setFromRowidUnsupportedType(dpiTestCase *testCase,
dpiTestParams *params)
{
dpiRowid *rowid = NULL;
dpiConn *conn;
dpiData *data;
dpiVar *var;
if (dpiTestCase_getConnection(testCase, &conn) < 0)
return DPI_FAILURE;
if (dpiConn_newVar(conn, DPI_ORACLE_TYPE_NUMBER, DPI_NATIVE_TYPE_INT64,
MAX_ARRAY_SIZE, 0, 0, 0, NULL, &var, &data) < 0)
return dpiTestCase_setFailedFromError(testCase);
dpiVar_setFromRowid(var, 0, rowid);
if (dpiTestCase_expectError(testCase, "DPI-1013:") < 0)
return DPI_FAILURE;
dpiVar_release(var);
return DPI_SUCCESS;
}
int dpiTest_1013_setFromRowidPositionTooLarge(dpiTestCase *testCase,
dpiTestParams *params)
{
dpiRowid *rowid = NULL;
dpiConn *conn;
dpiData *data;
dpiVar *var;
if (dpiTestCase_getConnection(testCase, &conn) < 0)
return DPI_FAILURE;
if (dpiConn_newVar(conn, DPI_ORACLE_TYPE_ROWID, DPI_NATIVE_TYPE_ROWID,
MAX_ARRAY_SIZE, 0, 0, 0, NULL, &var, &data) < 0)
return dpiTestCase_setFailedFromError(testCase);
dpiVar_setFromRowid(var, 3, rowid);
if (dpiTestCase_expectError(testCase, "DPI-1009:") < 0)
return DPI_FAILURE;
dpiVar_release(var);
return DPI_SUCCESS;
}
int dpiTest_1014_setFromStmtUnsupportedType(dpiTestCase *testCase,
dpiTestParams *params)
{
dpiStmt *stmt = NULL;
dpiConn *conn;
dpiData *data;
dpiVar *var;
if (dpiTestCase_getConnection(testCase, &conn) < 0)
return DPI_FAILURE;
if (dpiConn_newVar(conn, DPI_ORACLE_TYPE_NUMBER, DPI_NATIVE_TYPE_INT64,
MAX_ARRAY_SIZE, 0, 0, 0, NULL, &var, &data) < 0)
return dpiTestCase_setFailedFromError(testCase);
dpiVar_setFromStmt(var, 0, stmt);
if (dpiTestCase_expectError(testCase, "DPI-1013:") < 0)
return DPI_FAILURE;
dpiVar_release(var);
return DPI_SUCCESS;
}
int dpiTest_1015_setFromStmtPositionTooLarge(dpiTestCase *testCase,
dpiTestParams *params)
{
dpiStmt *stmt = NULL;
dpiConn *conn;
dpiData *data;
dpiVar *var;
if (dpiTestCase_getConnection(testCase, &conn) < 0)
return DPI_FAILURE;
if (dpiConn_newVar(conn, DPI_ORACLE_TYPE_STMT, DPI_NATIVE_TYPE_STMT,
MAX_ARRAY_SIZE, 0, 0, 0, NULL, &var, &data) < 0)
return dpiTestCase_setFailedFromError(testCase);
dpiVar_setFromStmt(var, 3, stmt);
if (dpiTestCase_expectError(testCase, "DPI-1009:") < 0)
return DPI_FAILURE;
dpiVar_release(var);
return DPI_SUCCESS;
}
int dpiTest_1016_objectVarWithNullType(dpiTestCase *testCase,
dpiTestParams *params)
{
dpiData *objectValue;
dpiVar *objectVar;
dpiConn *conn;
if (dpiTestCase_getConnection(testCase, &conn) < 0)
return DPI_FAILURE;
dpiConn_newVar(conn, DPI_ORACLE_TYPE_OBJECT, DPI_NATIVE_TYPE_OBJECT,
MAX_ARRAY_SIZE, 0, 0, 0, NULL, &objectVar, &objectValue);
if (dpiTestCase_expectError(testCase, "DPI-1025:") < 0)
return DPI_FAILURE;
dpiVar_release(objectVar);
return DPI_SUCCESS;
}
int dpiTest_1017_stmtDefineInvalidPositions(dpiTestCase *testCase,
dpiTestParams *params)
{
const char *sql = "select * from TestLongs";
uint32_t numQueryColumns;
dpiConn *conn;
dpiStmt *stmt;
dpiData *data;
dpiVar *var;
if (dpiTestCase_getConnection(testCase, &conn) < 0)
return DPI_FAILURE;
if (dpiConn_newVar(conn, DPI_ORACLE_TYPE_NUMBER, DPI_NATIVE_TYPE_INT64,
MAX_ARRAY_SIZE, 0, 0, 0, NULL, &var, &data) < 0)
return dpiTestCase_setFailedFromError(testCase);
if (dpiConn_prepareStmt(conn, 0, sql, strlen(sql), NULL, 0, &stmt) < 0)
return dpiTestCase_setFailedFromError(testCase);
if (dpiStmt_execute(stmt, DPI_MODE_EXEC_DEFAULT, &numQueryColumns) < 0)
return dpiTestCase_setFailedFromError(testCase);
dpiStmt_define(stmt, 0, var);
if (dpiTestCase_expectError(testCase, "DPI-1028:") < 0)
return DPI_FAILURE;
dpiStmt_define(stmt, 3, var);
if (dpiTestCase_expectError(testCase, "DPI-1028:") < 0)
return DPI_FAILURE;
dpiVar_release(var);
dpiStmt_release(stmt);
return DPI_SUCCESS;
}
int dpiTest_1018_stmtDefineWithNullVar(dpiTestCase *testCase,
dpiTestParams *params)
{
const char *sql = "select * from TestLongs";
uint32_t numQueryColumns;
dpiConn *conn;
dpiStmt *stmt;
if (dpiTestCase_getConnection(testCase, &conn) < 0)
return DPI_FAILURE;
if (dpiConn_prepareStmt(conn, 0, sql, strlen(sql), NULL, 0, &stmt) < 0)
return dpiTestCase_setFailedFromError(testCase);
if (dpiStmt_execute(stmt, DPI_MODE_EXEC_DEFAULT, &numQueryColumns) < 0)
return dpiTestCase_setFailedFromError(testCase);
dpiStmt_define(stmt, 1, NULL);
if (dpiTestCase_expectError(testCase, "DPI-1002:") < 0)
return DPI_FAILURE;
dpiStmt_release(stmt);
return DPI_SUCCESS;
}
int dpiTest_1019_bindByPosWithPosition0(dpiTestCase *testCase,
dpiTestParams *params)
{
const char *sql = "select :1 from dual";
uint32_t maxArrSize = 1;
dpiData *varData;
dpiConn *conn;
dpiStmt *stmt;
dpiVar *var;
if (dpiTestCase_getConnection(testCase, &conn) < 0)
return DPI_FAILURE;
if (dpiConn_prepareStmt(conn, 0, sql, strlen(sql), NULL, 0, &stmt) < 0)
return dpiTestCase_setFailedFromError(testCase);
if (dpiConn_newVar(conn, DPI_ORACLE_TYPE_NUMBER, DPI_NATIVE_TYPE_UINT64,
maxArrSize, 0, 0, 0, NULL, &var, &varData) < 0)
return dpiTestCase_setFailedFromError(testCase);
dpiStmt_bindByPos(stmt, 0, var);
if (dpiTestCase_expectError(testCase, "DPI-1013:") < 0)
return DPI_FAILURE;
dpiVar_release(var);
dpiStmt_release(stmt);
return DPI_SUCCESS;
}
int dpiTest_1020_copyDataWithInvalidPosition(dpiTestCase *testCase,
dpiTestParams *params)
{
dpiData *data1, *data2;
dpiVar *var1, *var2;
dpiConn *conn;
if (dpiTestCase_getConnection(testCase, &conn) < 0)
return DPI_FAILURE;
if (dpiConn_newVar(conn, DPI_ORACLE_TYPE_NUMBER, DPI_NATIVE_TYPE_INT64,
MAX_ARRAY_SIZE, 0, 0, 0, NULL, &var1, &data1) < 0)
return dpiTestCase_setFailedFromError(testCase);
if (dpiConn_newVar(conn, DPI_ORACLE_TYPE_NUMBER, DPI_NATIVE_TYPE_INT64,
MAX_ARRAY_SIZE, 0, 0, 0, NULL, &var2, &data2) < 0)
return dpiTestCase_setFailedFromError(testCase);
dpiVar_copyData(var1, 3, var2, 0);
if (dpiTestCase_expectError(testCase, "DPI-1009:") < 0)
return DPI_FAILURE;
dpiVar_release(var1);
dpiVar_release(var2);
return DPI_SUCCESS;
}
int dpiTest_1021_copyDataWithDifferentVarTypes(dpiTestCase *testCase,
dpiTestParams *params)
{
dpiData *intColValue, *longColValue;
dpiVar *intColVar, *longColVar;
dpiConn *conn;
if (dpiTestCase_getConnection(testCase, &conn) < 0)
return DPI_FAILURE;
if (dpiConn_newVar(conn, DPI_ORACLE_TYPE_NUMBER, DPI_NATIVE_TYPE_INT64,
MAX_ARRAY_SIZE, 0, 0, 0, NULL, &intColVar, &intColValue) < 0)
return dpiTestCase_setFailedFromError(testCase);
if (dpiConn_newVar(conn, DPI_ORACLE_TYPE_LONG_VARCHAR,
DPI_NATIVE_TYPE_BYTES, MAX_ARRAY_SIZE, 0, 0, 0, NULL, &longColVar,
&longColValue) < 0)
return dpiTestCase_setFailedFromError(testCase);
dpiVar_copyData(longColVar, 0, intColVar, 0);
if (dpiTestCase_expectError(testCase, "DPI-1013:") < 0)
return DPI_FAILURE;
dpiVar_release(intColVar);
dpiVar_release(longColVar);
return DPI_SUCCESS;
}
int dpiTest_1022_setNumElementsInArrayTooLarge(dpiTestCase *testCase,
dpiTestParams *params)
{
uint32_t numElements = 4;
dpiConn *conn;
dpiData *data;
dpiVar *var;
if (dpiTestCase_getConnection(testCase, &conn) < 0)
return DPI_FAILURE;
if (dpiConn_newVar(conn, DPI_ORACLE_TYPE_NUMBER, DPI_NATIVE_TYPE_INT64,
MAX_ARRAY_SIZE, 0, 0, 0, NULL, &var, &data) < 0)
return dpiTestCase_setFailedFromError(testCase);
dpiVar_setNumElementsInArray(var, numElements);
if (dpiTestCase_expectError(testCase, "DPI-1018:") < 0)
return DPI_FAILURE;
dpiVar_release(var);
return DPI_SUCCESS;
}
int dpiTest_1023_bindByNameWithNameLen0(dpiTestCase *testCase,
dpiTestParams *params)
{
const char *sql = "select :test from dual";
dpiData *varData;
dpiConn *conn;
dpiStmt *stmt;
dpiVar *var;
if (dpiTestCase_getConnection(testCase, &conn) < 0)
return DPI_FAILURE;
if (dpiConn_prepareStmt(conn, 0, sql, strlen(sql), NULL, 0, &stmt) < 0)
return dpiTestCase_setFailedFromError(testCase);
if (dpiConn_newVar(conn, DPI_ORACLE_TYPE_NUMBER, DPI_NATIVE_TYPE_UINT64, 1,
0, 0, 0, NULL, &var, &varData) < 0)
return dpiTestCase_setFailedFromError(testCase);
dpiStmt_bindByName(stmt, "test", 0, var);
if (dpiTestCase_expectError(testCase, "DPI-1013:") < 0)
return DPI_FAILURE;
dpiVar_release(var);
dpiStmt_release(stmt);
return DPI_SUCCESS;
}
int main(int argc, char **argv)
{
dpiTestSuite_initialize(1000);
dpiTestSuite_addCase(dpiTest_1000_varWithMaxArrSize0,
"dpiConn_newVar() with max array size as 0");
dpiTestSuite_addCase(dpiTest_1001_invalidOracleTypeNum,
"dpiConn_newVar() with an invalid value for Oracle type");
dpiTestSuite_addCase(dpiTest_1002_incompatibleValsForParams,
"dpiConn_newVar() with incompatible values for Oracle and native "
"types");
dpiTestSuite_addCase(dpiTest_1003_validValsForArrsButNotSupported,
"dpiConn_newVar() with invalid array type for array");
dpiTestSuite_addCase(dpiTest_1004_maxArrSizeTooLarge,
"dpiConn_newVar() with max array size that is too large");
dpiTestSuite_addCase(dpiTest_1005_setFromBytesNotSupported,
"dpiVar_setFromBytes() with unsupported variable");
dpiTestSuite_addCase(dpiTest_1006_setFromBytesValueTooLarge,
"dpiVar_setFromBytes() with value too large");
dpiTestSuite_addCase(dpiTest_1007_setFromBytesPositionTooLarge,
"dpiVar_setFromBytes() with position too large");
dpiTestSuite_addCase(dpiTest_1008_setFromLobUnsupportedType,
"dpiVar_setFromLob() with unsupported type");
dpiTestSuite_addCase(dpiTest_1009_setFromLobPositionTooLarge,
"dpiVar_setFromLob() with position too large");
dpiTestSuite_addCase(dpiTest_1010_setFromObjectUnsupportedType,
"dpiVar_setFromObject() with unsupported type");
dpiTestSuite_addCase(dpiTest_1011_setFromObjectPositionTooLarge,
"dpiVar_setFromObject() with position too large");
dpiTestSuite_addCase(dpiTest_1012_setFromRowidUnsupportedType,
"dpiVar_setFromRowid() with unsupported type");
dpiTestSuite_addCase(dpiTest_1013_setFromRowidPositionTooLarge,
"dpiVar_setFromRowid() with position too large");
dpiTestSuite_addCase(dpiTest_1014_setFromStmtUnsupportedType,
"dpiVar_setFromStmt() with unsupported type");
dpiTestSuite_addCase(dpiTest_1015_setFromStmtPositionTooLarge,
"dpiVar_setFromStmt() with position too large");
dpiTestSuite_addCase(dpiTest_1016_objectVarWithNullType,
"dpiConn_newVar() with NULL object type for object variable");
dpiTestSuite_addCase(dpiTest_1017_stmtDefineInvalidPositions,
"dpiStmt_define() with invalid positions");
dpiTestSuite_addCase(dpiTest_1018_stmtDefineWithNullVar,
"dpiStmt_define() with NULL variable");
dpiTestSuite_addCase(dpiTest_1019_bindByPosWithPosition0,
"dpiStmt_bindByPos() with position 0");
dpiTestSuite_addCase(dpiTest_1020_copyDataWithInvalidPosition,
"dpiVar_copyData() with invalid position");
dpiTestSuite_addCase(dpiTest_1021_copyDataWithDifferentVarTypes,
"dpiVar_copyData() with different variable types");
dpiTestSuite_addCase(dpiTest_1022_setNumElementsInArrayTooLarge,
"dpiVar_setNumElementsInArray() with value too large");
dpiTestSuite_addCase(dpiTest_1023_bindByNameWithNameLen0,
"dpiStmt_bindByName() with name length parameter 0");
return dpiTestSuite_run();
}