📄 apr_dbd_odbc_v2.h
字号:
/* 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. *//* ONLY USED FOR ODBC Version 2 -DODBCV2** Re-define everything to work (more-or-less) in an ODBC V2 environment * Random access to retrieved rows is not supported - i.e. calls to apr_dbd_select() cannot* have a 'random' argument of 1. apr_dbd_get_row() must always pass rownum as 0 (get next row)**/#define SQLHANDLE SQLHENV // Presumes that ENV, DBC, and STMT handles are all the same datatype#define SQL_NULL_HANDLE 0#define SQL_HANDLE_STMT 1#define SQL_HANDLE_DBC 2#define SQL_HANDLE_ENV 3#define SQL_NO_DATA SQL_NO_DATA_FOUND#ifndef SQL_SUCCEEDED#define SQL_SUCCEEDED(rc) (((rc)&(~1))==0)#endif#undef SQLSetEnvAttr#define SQLSetEnvAttr(henv, Attribute, Value, StringLength) (0)#undef SQLAllocHandle#define SQLAllocHandle(type, parent, hndl) \( (type == SQL_HANDLE_STMT) ? SQLAllocStmt(parent, hndl) \ : (type == SQL_HANDLE_ENV) ? SQLAllocEnv(hndl) \ : SQLAllocConnect(parent, hndl) \)#undef SQLFreeHandle#define SQLFreeHandle(type, hndl) \( (type == SQL_HANDLE_STMT) ? SQLFreeStmt(hndl, SQL_DROP) \ : (type == SQL_HANDLE_ENV) ? SQLFreeEnv(hndl) \ : SQLFreeConnect(hndl) \)#undef SQLGetDiagRec#define SQLGetDiagRec(type, h, i, state, native, buffer, bufsize, reslen) \ SQLError( (type == SQL_HANDLE_ENV) ? h : NULL, \ (type == SQL_HANDLE_DBC) ? h : NULL, \ (type == SQL_HANDLE_STMT) ? h : NULL, \ state, native, buffer, bufsize, reslen)#undef SQLCloseCursor#define SQLCloseCursor(stmt) SQLFreeStmt(stmt, SQL_CLOSE)#undef SQLGetConnectAttr#define SQLGetConnectAttr(hdbc, fOption, ValuePtr, BufferLength, NULL) \ SQLGetConnectOption(hdbc, fOption, ValuePtr)#undef SQLSetConnectAttr#define SQLSetConnectAttr(hdbc, fOption, ValuePtr, BufferLength) \ SQLSetConnectOption(hdbc, fOption, (SQLUINTEGER) ValuePtr)#undef SQLSetStmtAttr#define SQLSetStmtAttr(hstmt, fOption, ValuePtr, BufferLength) (0); return APR_ENOTIMPL;#undef SQLEndTran#define SQLEndTran(hType, hdbc,type) SQLTransact(henv, hdbc, type)#undef SQLFetchScroll#define SQLFetchScroll(stmt, orient, rownum) (0); return APR_ENOTIMPL;#define SQL_DESC_TYPE SQL_COLUMN_TYPE#define SQL_DESC_CONCISE_TYPE SQL_COLUMN_TYPE#define SQL_DESC_DISPLAY_SIZE SQL_COLUMN_DISPLAY_SIZE#define SQL_DESC_OCTET_LENGTH SQL_COLUMN_LENGTH#define SQL_DESC_UNSIGNED SQL_COLUMN_UNSIGNED#undef SQLColAttribute#define SQLColAttribute(s, c, f, a, l, m, n) SQLColAttributes(s, c, f, a, l, m, n)#define SQL_ATTR_ACCESS_MODE SQL_ACCESS_MODE#define SQL_ATTR_AUTOCOMMIT SQL_AUTOCOMMIT#define SQL_ATTR_CONNECTION_TIMEOUT 113#define SQL_ATTR_CURRENT_CATALOG SQL_CURRENT_QUALIFIER#define SQL_ATTR_DISCONNECT_BEHAVIOR 114#define SQL_ATTR_ENLIST_IN_DTC 1207#define SQL_ATTR_ENLIST_IN_XA 1208#define SQL_ATTR_CONNECTION_DEAD 1209#define SQL_CD_TRUE 1L /* Connection is closed/dead */#define SQL_CD_FALSE 0L /* Connection is open/available */#define SQL_ATTR_LOGIN_TIMEOUT SQL_LOGIN_TIMEOUT#define SQL_ATTR_ODBC_CURSORS SQL_ODBC_CURSORS#define SQL_ATTR_PACKET_SIZE SQL_PACKET_SIZE#define SQL_ATTR_QUIET_MODE SQL_QUIET_MODE#define SQL_ATTR_TRACE SQL_OPT_TRACE#define SQL_ATTR_TRACEFILE SQL_OPT_TRACEFILE#define SQL_ATTR_TRANSLATE_LIB SQL_TRANSLATE_DLL#define SQL_ATTR_TRANSLATE_OPTION SQL_TRANSLATE_OPTION#define SQL_ATTR_TXN_ISOLATION SQL_TXN_ISOLATION#define SQL_ATTR_CURSOR_SCROLLABLE -1#define SQL_C_SBIGINT (SQL_BIGINT+SQL_SIGNED_OFFSET) /* SIGNED BIGINT */#define SQL_C_UBIGINT (SQL_BIGINT+SQL_UNSIGNED_OFFSET) /* UNSIGNED BIGINT */#define SQL_FALSE 0#define SQL_TRUE 1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -