blob: 402d737c8ecab3fb133473d1afa5b6453aeb8abf [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef _IGNITE_ODBC_ODBC
#define _IGNITE_ODBC_ODBC
#include "ignite/odbc/system/odbc_constants.h"
/**
* @file odbc.h
*
* Functions here are placed to the ignite namespace so there are no
* collisions with standard ODBC functions when we call driver API
* functions from other API functions. I.e, when we call SQLAllocEnv
* from SQLAllocHandle linker can place Driver Manager call here,
* instead of internal driver call. On other hand if we call
* ignite::SQLAllocEnv from ignite::SQLAllocHandle we can be sure
* there are no collisions.
*/
namespace ignite
{
SQLRETURN SQLGetInfo(SQLHDBC conn,
SQLUSMALLINT infoType,
SQLPOINTER infoValue,
SQLSMALLINT infoValueMax,
SQLSMALLINT* length);
SQLRETURN SQLAllocHandle(SQLSMALLINT type, SQLHANDLE parent, SQLHANDLE* result);
SQLRETURN SQLAllocEnv(SQLHENV* env);
SQLRETURN SQLAllocConnect(SQLHENV env, SQLHDBC* conn);
SQLRETURN SQLAllocStmt(SQLHDBC conn, SQLHSTMT* stmt);
SQLRETURN SQLFreeHandle(SQLSMALLINT type, SQLHANDLE handle);
SQLRETURN SQLFreeEnv(SQLHENV env);
SQLRETURN SQLFreeConnect(SQLHDBC conn);
SQLRETURN SQLFreeStmt(SQLHSTMT stmt, SQLUSMALLINT option);
SQLRETURN SQLCloseCursor(SQLHSTMT stmt);
SQLRETURN SQLDriverConnect(SQLHDBC conn,
SQLHWND windowHandle,
SQLCHAR* inConnectionString,
SQLSMALLINT inConnectionStringLen,
SQLCHAR* outConnectionString,
SQLSMALLINT outConnectionStringBufferLen,
SQLSMALLINT* outConnectionStringLen,
SQLUSMALLINT driverCompletion);
SQLRETURN SQLConnect(SQLHDBC conn,
SQLCHAR* serverName,
SQLSMALLINT serverNameLen,
SQLCHAR* userName,
SQLSMALLINT userNameLen,
SQLCHAR* auth,
SQLSMALLINT authLen);
SQLRETURN SQLDisconnect(SQLHDBC conn);
SQLRETURN SQLPrepare(SQLHSTMT stmt, SQLCHAR* query, SQLINTEGER queryLen);
SQLRETURN SQLExecute(SQLHSTMT stmt);
SQLRETURN SQLExecDirect(SQLHSTMT stmt, SQLCHAR* query, SQLINTEGER queryLen);
SQLRETURN SQLBindCol(SQLHSTMT stmt,
SQLUSMALLINT colNum,
SQLSMALLINT targetType,
SQLPOINTER targetValue,
SQLLEN bufferLength,
SQLLEN* strLengthOrIndicator);
SQLRETURN SQLFetch(SQLHSTMT stmt);
SQLRETURN SQLFetchScroll(SQLHSTMT stmt, SQLSMALLINT orientation, SQLLEN offset);
SQLRETURN SQLExtendedFetch(SQLHSTMT stmt,
SQLUSMALLINT orientation,
SQLLEN offset,
SQLULEN* rowCount,
SQLUSMALLINT* rowStatusArray);
SQLRETURN SQLNumResultCols(SQLHSTMT stmt, SQLSMALLINT *columnNum);
SQLRETURN SQLTables(SQLHSTMT stmt,
SQLCHAR* catalogName,
SQLSMALLINT catalogNameLen,
SQLCHAR* schemaName,
SQLSMALLINT schemaNameLen,
SQLCHAR* tableName,
SQLSMALLINT tableNameLen,
SQLCHAR* tableType,
SQLSMALLINT tableTypeLen);
SQLRETURN SQLColumns(SQLHSTMT stmt,
SQLCHAR* catalogName,
SQLSMALLINT catalogNameLen,
SQLCHAR* schemaName,
SQLSMALLINT schemaNameLen,
SQLCHAR* tableName,
SQLSMALLINT tableNameLen,
SQLCHAR* columnName,
SQLSMALLINT columnNameLen);
SQLRETURN SQLMoreResults(SQLHSTMT stmt);
SQLRETURN SQLBindParameter(SQLHSTMT stmt,
SQLUSMALLINT paramIdx,
SQLSMALLINT ioType,
SQLSMALLINT bufferType,
SQLSMALLINT paramSqlType,
SQLULEN columnSize,
SQLSMALLINT decDigits,
SQLPOINTER buffer,
SQLLEN bufferLen,
SQLLEN* resLen);
SQLRETURN SQLNativeSql(SQLHDBC conn,
SQLCHAR* inQuery,
SQLINTEGER inQueryLen,
SQLCHAR* outQueryBuffer,
SQLINTEGER outQueryBufferLen,
SQLINTEGER* outQueryLen);
SQLRETURN SQLColAttribute(SQLHSTMT stmt,
SQLUSMALLINT columnNum,
SQLUSMALLINT fieldId,
SQLPOINTER strAttr,
SQLSMALLINT bufferLen,
SQLSMALLINT* strAttrLen,
SQLLEN* numericAttr);
SQLRETURN SQLDescribeCol(SQLHSTMT stmt,
SQLUSMALLINT columnNum,
SQLCHAR* columnNameBuf,
SQLSMALLINT columnNameBufLen,
SQLSMALLINT* columnNameLen,
SQLSMALLINT* dataType,
SQLULEN* columnSize,
SQLSMALLINT* decimalDigits,
SQLSMALLINT* nullable);
SQLRETURN SQLRowCount(SQLHSTMT stmt, SQLLEN* rowCnt);
SQLRETURN SQLForeignKeys(SQLHSTMT stmt,
SQLCHAR* primaryCatalogName,
SQLSMALLINT primaryCatalogNameLen,
SQLCHAR* primarySchemaName,
SQLSMALLINT primarySchemaNameLen,
SQLCHAR* primaryTableName,
SQLSMALLINT primaryTableNameLen,
SQLCHAR* foreignCatalogName,
SQLSMALLINT foreignCatalogNameLen,
SQLCHAR* foreignSchemaName,
SQLSMALLINT foreignSchemaNameLen,
SQLCHAR* foreignTableName,
SQLSMALLINT foreignTableNameLen);
SQLRETURN SQLGetStmtAttr(SQLHSTMT stmt,
SQLINTEGER attr,
SQLPOINTER valueBuf,
SQLINTEGER valueBufLen,
SQLINTEGER* valueResLen);
SQLRETURN SQLSetStmtAttr(SQLHSTMT stmt,
SQLINTEGER attr,
SQLPOINTER value,
SQLINTEGER valueLen);
SQLRETURN SQLPrimaryKeys(SQLHSTMT stmt,
SQLCHAR* catalogName,
SQLSMALLINT catalogNameLen,
SQLCHAR* schemaName,
SQLSMALLINT schemaNameLen,
SQLCHAR* tableName,
SQLSMALLINT tableNameLen);
SQLRETURN SQLNumParams(SQLHSTMT stmt, SQLSMALLINT* paramCnt);
SQLRETURN SQLGetDiagField(SQLSMALLINT handleType,
SQLHANDLE handle,
SQLSMALLINT recNum,
SQLSMALLINT diagId,
SQLPOINTER buffer,
SQLSMALLINT bufferLen,
SQLSMALLINT* resLen);
SQLRETURN SQLGetDiagRec(SQLSMALLINT handleType,
SQLHANDLE handle,
SQLSMALLINT recNum,
SQLCHAR* sqlState,
SQLINTEGER* nativeError,
SQLCHAR* msgBuffer,
SQLSMALLINT msgBufferLen,
SQLSMALLINT* msgLen);
SQLRETURN SQLGetTypeInfo(SQLHSTMT stmt, SQLSMALLINT type);
SQLRETURN SQLEndTran(SQLSMALLINT handleType, SQLHANDLE handle, SQLSMALLINT completionType);
SQLRETURN SQLGetData(SQLHSTMT stmt,
SQLUSMALLINT colNum,
SQLSMALLINT targetType,
SQLPOINTER targetValue,
SQLLEN bufferLength,
SQLLEN* strLengthOrIndicator);
SQLRETURN SQLSetEnvAttr(SQLHENV env,
SQLINTEGER attr,
SQLPOINTER value,
SQLINTEGER valueLen);
SQLRETURN SQLGetEnvAttr(SQLHENV env,
SQLINTEGER attr,
SQLPOINTER valueBuf,
SQLINTEGER valueBufLen,
SQLINTEGER* valueResLen);
SQLRETURN SQLSpecialColumns(SQLHSTMT stmt,
SQLSMALLINT idType,
SQLCHAR* catalogName,
SQLSMALLINT catalogNameLen,
SQLCHAR* schemaName,
SQLSMALLINT schemaNameLen,
SQLCHAR* tableName,
SQLSMALLINT tableNameLen,
SQLSMALLINT scope,
SQLSMALLINT nullable);
SQLRETURN SQLParamData(SQLHSTMT stmt, SQLPOINTER* value);
SQLRETURN SQLPutData(SQLHSTMT stmt, SQLPOINTER data, SQLLEN strLengthOrIndicator);
SQLRETURN SQLDescribeParam(SQLHSTMT stmt,
SQLUSMALLINT paramNum,
SQLSMALLINT* dataType,
SQLULEN* paramSize,
SQLSMALLINT* decimalDigits,
SQLSMALLINT* nullable);
SQLRETURN SQLError(SQLHENV env,
SQLHDBC conn,
SQLHSTMT stmt,
SQLCHAR* state,
SQLINTEGER* error,
SQLCHAR* msgBuf,
SQLSMALLINT msgBufLen,
SQLSMALLINT* msgResLen);
SQLRETURN SQL_API SQLGetConnectAttr(SQLHDBC conn,
SQLINTEGER attr,
SQLPOINTER valueBuf,
SQLINTEGER valueBufLen,
SQLINTEGER* valueResLen);
SQLRETURN SQL_API SQLSetConnectAttr(SQLHDBC conn,
SQLINTEGER attr,
SQLPOINTER value,
SQLINTEGER valueLen);
} // namespace ignite
#endif //_IGNITE_ODBC