⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 odbc.py.i

📁 这个是内存数据库的客户端
💻 I
📖 第 1 页 / 共 5 页
字号:
	case SQL_CONVERT_NUMERIC:	case SQL_CONVERT_REAL:	case SQL_CONVERT_SMALLINT:	case SQL_CONVERT_TIME:	case SQL_CONVERT_TIMESTAMP:	case SQL_CONVERT_TINYINT:	case SQL_CONVERT_VARBINARY:	case SQL_CONVERT_VARCHAR:	case SQL_CONVERT_FUNCTIONS:	case SQL_CREATE_ASSERTION:	case SQL_CREATE_CHARACTER_SET:	case SQL_CREATE_COLLATION:	case SQL_CREATE_DOMAIN:	case SQL_CREATE_SCHEMA:	case SQL_CREATE_TABLE:	case SQL_CREATE_TRANSLATION:	case SQL_CREATE_VIEW:#ifdef SQL_CURSOR_ROLLBACK_SQL_CURSOR_SENSITIVITY	case SQL_CURSOR_ROLLBACK_SQL_CURSOR_SENSITIVITY:#endif	case SQL_DATETIME_LITERALS:	case SQL_DDL_INDEX:	case SQL_DEFAULT_TXN_ISOLATION:	case SQL_DRIVER_HDBC:#if 0				/* not implemented */	case SQL_DRIVER_HENV:	case SQL_DRIVER_HDESC:#endif	case SQL_DRIVER_HLIB:	case SQL_DRIVER_HSTMT:	case SQL_DROP_ASSERTION:	case SQL_DROP_CHARACTER_SET:	case SQL_DROP_COLLATION:	case SQL_DROP_DOMAIN:	case SQL_DROP_SCHEMA:	case SQL_DROP_TABLE:	case SQL_DROP_TRANSLATION:	case SQL_DROP_VIEW:	case SQL_DYNAMIC_CURSOR_ATTRIBUTES1:	case SQL_DYNAMIC_CURSOR_ATTRIBUTES2:	case SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES1:	case SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES2:	case SQL_GETDATA_EXTENSIONS:	case SQL_INDEX_KEYWORDS:	case SQL_INFO_SCHEMA_VIEWS:	case SQL_INSERT_STATEMENT:	case SQL_KEYSET_CURSOR_ATTRIBUTES1:	case SQL_KEYSET_CURSOR_ATTRIBUTES2:	case SQL_MAX_ASYNC_CONCURRENT_STATEMENTS:	case SQL_MAX_BINARY_LITERAL_LEN:	case SQL_MAX_CHAR_LITERAL_LEN:	case SQL_MAX_INDEX_SIZE:	case SQL_MAX_ROW_SIZE:	case SQL_MAX_STATEMENT_LEN:	case SQL_NUMERIC_FUNCTIONS:	case SQL_ODBC_INTERFACE_CONFORMANCE:	case SQL_OJ_CAPABILITIES:	case SQL_PARAM_ARRAY_ROW_COUNTS:	case SQL_PARAM_ARRAY_SELECTS:	case SQL_SCHEMA_USAGE:	case SQL_SCROLL_OPTIONS:	case SQL_SQL_CONFORMANCE:	case SQL_SQL92_DATETIME_FUNCTIONS:	case SQL_SQL92_FOREIGN_KEY_DELETE_RULE:	case SQL_SQL92_FOREIGN_KEY_UPDATE_RULE:	case SQL_SQL92_GRANT:	case SQL_SQL92_NUMERIC_VALUE_FUNCTIONS:	case SQL_SQL92_PREDICATES:	case SQL_SQL92_RELATIONAL_JOIN_OPERATORS:	case SQL_SQL92_REVOKE:	case SQL_SQL92_ROW_VALUE_CONSTRUCTOR:	case SQL_SQL92_STRING_FUNCTIONS:	case SQL_SQL92_VALUE_EXPRESSIONS:	case SQL_STANDARD_CLI_CONFORMANCE:	case SQL_STATIC_CURSOR_ATTRIBUTES1:	case SQL_STATIC_CURSOR_ATTRIBUTES2:	case SQL_STRING_FUNCTIONS:	case SQL_SUBQUERIES:	case SQL_SYSTEM_FUNCTIONS:	case SQL_TIMEDATE_ADD_INTERVALS:	case SQL_TIMEDATE_DIFF_INTERVALS:	case SQL_TIMEDATE_FUNCTIONS:	case SQL_TXN_ISOLATION_OPTION:	case SQL_UNION:		/* SQLUINTEGER */		o = PyInt_FromLong((long) * (SQLUINTEGER *) $2);		break;	case SQL_POS_OPERATIONS:		/* SQLINTEGER */		o = PyInt_FromLong((long) * (SQLINTEGER *) $2);		break;	default:		PyErr_SetString(ErrorObject, "bad info type");		SWIG_fail;	}	$result = t_output_helper($result, o);}// SQLGetInfoW// InfoTypes SQL_DRIVER_HDESC and SQL_DRIVER_HSTMS use *InfoValue as// input/output value.  This has not (yet) been implemented by this// code.%ignore SQLGetInfoA;%typemap(in, numinputs=1) (SQLUSMALLINT fInfoType, SQLPOINTER rgbInfoValue, SQLSMALLINT cbInfoValueMax, SQLSMALLINT *pcbInfoValue) (char tempbuf[BUFLEN], $*4_type len) {	$1 = ($1_ltype) PyInt_AsLong($input);	if (PyErr_Occurred()) SWIG_fail;	$2 = tempbuf;	$3 = len = sizeof(tempbuf);	$4 = &len;};%typemap(argout,fragment="t_output_helper") (SQLUSMALLINT fInfoType, SQLPOINTER rgbInfoValue, SQLSMALLINT cbInfoValueMax, SQLSMALLINT *pcbInfoValue) {	PyObject *o;	switch ($1) {	case SQL_ACCESSIBLE_PROCEDURES:	case SQL_ACCESSIBLE_TABLES:	case SQL_CATALOG_NAME:	case SQL_CATALOG_NAME_SEPARATOR:	case SQL_CATALOG_TERM:	case SQL_COLLATION_SEQ:	case SQL_COLUMN_ALIAS:	case SQL_DATA_SOURCE_NAME:	case SQL_DATA_SOURCE_READ_ONLY:	case SQL_DATABASE_NAME:	case SQL_DBMS_NAME:	case SQL_DESCRIBE_PARAMETER:	case SQL_DM_VER:	case SQL_DRIVER_NAME:	case SQL_DRIVER_ODBC_VER:	case SQL_DRIVER_VER:	case SQL_EXPRESSIONS_IN_ORDERBY:	case SQL_IDENTIFIER_QUOTE_CHAR:	case SQL_INTEGRITY:	case SQL_KEYWORDS:	case SQL_LIKE_ESCAPE_CLAUSE:	case SQL_MAX_ROW_SIZE_INCLUDES_LONG:	case SQL_MULT_RESULT_SETS:	case SQL_MULTIPLE_ACTIVE_TXN:	case SQL_NEED_LONG_DATA_LEN:	case SQL_ODBC_VER:	case SQL_ORDER_BY_COLUMNS_IN_SELECT:	case SQL_PROCEDURE_TERM:	case SQL_PROCEDURES:	case SQL_ROW_UPDATES:	case SQL_SCHEMA_TERM:	case SQL_SEARCH_PATTERN_ESCAPE:	case SQL_SERVER_NAME:	case SQL_SPECIAL_CHARACTERS:	case SQL_TABLE_TERM:	case SQL_USER_NAME:	case SQL_XOPEN_CLI_YEAR:		/* string */		o = PyUnicode_FromSqlWChar((SQLWCHAR *) $2, (*$4 >= $3 ? (SQLSMALLINT) ($3 - sizeof(SQLWCHAR)) : *$4) / sizeof(SQLWCHAR));		break;	case SQL_ACTIVE_ENVIRONMENTS:	case SQL_CATALOG_LOCATION:	case SQL_CONCAT_NULL_BEHAVIOR:	case SQL_CORRELATION_NAME:	case SQL_CURSOR_COMMIT_BEHAVIOR:	case SQL_CURSOR_ROLLBACK_BEHAVIOR:	case SQL_FILE_USAGE:	case SQL_GROUP_BY:	case SQL_IDENTIFIER_CASE:	case SQL_MAX_CATALOG_NAME_LEN:	case SQL_MAX_COLUMN_NAME_LEN:	case SQL_MAX_COLUMNS_IN_GROUP_BY:	case SQL_MAX_COLUMNS_IN_INDEX:	case SQL_MAX_COLUMNS_IN_ORDER_BY:	case SQL_MAX_COLUMNS_IN_SELECT:	case SQL_MAX_COLUMNS_IN_TABLE:	case SQL_MAX_CONCURRENT_ACTIVITIES:	case SQL_MAX_CURSOR_NAME_LEN:	case SQL_MAX_DRIVER_CONNECTIONS:	case SQL_MAX_IDENTIFIER_LEN:	case SQL_MAX_PROCEDURE_NAME_LEN:	case SQL_MAX_SCHEMA_NAME_LEN:	case SQL_MAX_TABLE_NAME_LEN:	case SQL_MAX_TABLES_IN_SELECT:	case SQL_MAX_USER_NAME_LEN:	case SQL_NON_NULLABLE_COLUMNS:	case SQL_NULL_COLLATION:	case SQL_QUOTED_IDENTIFIER_CASE:	case SQL_TXN_CAPABLE:	case SQL_FETCH_DIRECTION:	case SQL_ODBC_API_CONFORMANCE:	case SQL_ODBC_SQL_CONFORMANCE:	case SQL_SCROLL_CONCURRENCY:		/* SQLUSMALLINT */		o = PyInt_FromLong((long) * (SQLUSMALLINT *) $2);		break;	case SQL_AGGREGATE_FUNCTIONS:	case SQL_ALTER_DOMAIN:	case SQL_ALTER_TABLE:	case SQL_ASYNC_MODE:	case SQL_BATCH_ROW_COUNT:	case SQL_BATCH_SUPPORT:	case SQL_BOOKMARK_PERSISTENCE:	case SQL_CATALOG_USAGE:	case SQL_CONVERT_BIGINT:	case SQL_CONVERT_BINARY:	case SQL_CONVERT_BIT:	case SQL_CONVERT_CHAR:#ifdef SQL_CONVERT_GUID	case SQL_CONVERT_GUID:#endif	case SQL_CONVERT_DATE:	case SQL_CONVERT_DECIMAL:	case SQL_CONVERT_DOUBLE:	case SQL_CONVERT_FLOAT:	case SQL_CONVERT_INTEGER:	case SQL_CONVERT_INTERVAL_YEAR_MONTH:	case SQL_CONVERT_INTERVAL_DAY_TIME:	case SQL_CONVERT_LONGVARBINARY:	case SQL_CONVERT_LONGVARCHAR:	case SQL_CONVERT_NUMERIC:	case SQL_CONVERT_REAL:	case SQL_CONVERT_SMALLINT:	case SQL_CONVERT_TIME:	case SQL_CONVERT_TIMESTAMP:	case SQL_CONVERT_TINYINT:	case SQL_CONVERT_VARBINARY:	case SQL_CONVERT_VARCHAR:	case SQL_CONVERT_FUNCTIONS:	case SQL_CREATE_ASSERTION:	case SQL_CREATE_CHARACTER_SET:	case SQL_CREATE_COLLATION:	case SQL_CREATE_DOMAIN:	case SQL_CREATE_SCHEMA:	case SQL_CREATE_TABLE:	case SQL_CREATE_TRANSLATION:	case SQL_CREATE_VIEW:#ifdef SQL_CURSOR_ROLLBACK_SQL_CURSOR_SENSITIVITY	case SQL_CURSOR_ROLLBACK_SQL_CURSOR_SENSITIVITY:#endif	case SQL_DATETIME_LITERALS:	case SQL_DDL_INDEX:	case SQL_DEFAULT_TXN_ISOLATION:	case SQL_DRIVER_HDBC:#if 0				/* not implemented */	case SQL_DRIVER_HENV:	case SQL_DRIVER_HDESC:#endif	case SQL_DRIVER_HLIB:	case SQL_DRIVER_HSTMT:	case SQL_DROP_ASSERTION:	case SQL_DROP_CHARACTER_SET:	case SQL_DROP_COLLATION:	case SQL_DROP_DOMAIN:	case SQL_DROP_SCHEMA:	case SQL_DROP_TABLE:	case SQL_DROP_TRANSLATION:	case SQL_DROP_VIEW:	case SQL_DYNAMIC_CURSOR_ATTRIBUTES1:	case SQL_DYNAMIC_CURSOR_ATTRIBUTES2:	case SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES1:	case SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES2:	case SQL_GETDATA_EXTENSIONS:	case SQL_INDEX_KEYWORDS:	case SQL_INFO_SCHEMA_VIEWS:	case SQL_INSERT_STATEMENT:	case SQL_KEYSET_CURSOR_ATTRIBUTES1:	case SQL_KEYSET_CURSOR_ATTRIBUTES2:	case SQL_MAX_ASYNC_CONCURRENT_STATEMENTS:	case SQL_MAX_BINARY_LITERAL_LEN:	case SQL_MAX_CHAR_LITERAL_LEN:	case SQL_MAX_INDEX_SIZE:	case SQL_MAX_ROW_SIZE:	case SQL_MAX_STATEMENT_LEN:	case SQL_NUMERIC_FUNCTIONS:	case SQL_ODBC_INTERFACE_CONFORMANCE:	case SQL_OJ_CAPABILITIES:	case SQL_PARAM_ARRAY_ROW_COUNTS:	case SQL_PARAM_ARRAY_SELECTS:	case SQL_SCHEMA_USAGE:	case SQL_SCROLL_OPTIONS:	case SQL_SQL_CONFORMANCE:	case SQL_SQL92_DATETIME_FUNCTIONS:	case SQL_SQL92_FOREIGN_KEY_DELETE_RULE:	case SQL_SQL92_FOREIGN_KEY_UPDATE_RULE:	case SQL_SQL92_GRANT:	case SQL_SQL92_NUMERIC_VALUE_FUNCTIONS:	case SQL_SQL92_PREDICATES:	case SQL_SQL92_RELATIONAL_JOIN_OPERATORS:	case SQL_SQL92_REVOKE:	case SQL_SQL92_ROW_VALUE_CONSTRUCTOR:	case SQL_SQL92_STRING_FUNCTIONS:	case SQL_SQL92_VALUE_EXPRESSIONS:	case SQL_STANDARD_CLI_CONFORMANCE:	case SQL_STATIC_CURSOR_ATTRIBUTES1:	case SQL_STATIC_CURSOR_ATTRIBUTES2:	case SQL_STRING_FUNCTIONS:	case SQL_SUBQUERIES:	case SQL_SYSTEM_FUNCTIONS:	case SQL_TIMEDATE_ADD_INTERVALS:	case SQL_TIMEDATE_DIFF_INTERVALS:	case SQL_TIMEDATE_FUNCTIONS:	case SQL_TXN_ISOLATION_OPTION:	case SQL_UNION:	case SQL_LOCK_TYPES:	case SQL_POS_OPERATIONS:	case SQL_POSITIONED_STATEMENTS:		/* SQLUINTEGER */		o = PyInt_FromLong((long) * (SQLUINTEGER *) $2);		break;	case SQL_STATIC_SENSITIVITY:		/* SQLINTEGER */		o = PyInt_FromLong((long) * (SQLINTEGER *) $2);		break;	default:		PyErr_SetString(ErrorObject, "bad info type");		SWIG_fail;	}	$result = t_output_helper($result, o);}// SQLNativeSql, SQLNativeSqlA%apply (char *STRING, int LENGTH) {(SQLCHAR *szSqlStrIn, SQLINTEGER cbSqlStrIn)};%apply (char *OUTBUF, int BUFSIZE, int *OUTSIZE) {(SQLCHAR *szSqlStr, SQLINTEGER cbSqlStrMax, SQLINTEGER *pcbSqlStr)};// SQLNativeSqlW%apply (SQLWCHAR *STRING, int LENGTH) {(SQLWCHAR *szSqlStrIn, SQLINTEGER cbSqlStrIn)};%apply (SQLWCHAR *OUTBUF, int BUFSIZE, int *OUTSIZE) {(SQLWCHAR *szSqlStr, SQLINTEGER cbSqlStrMax, SQLINTEGER *pcbSqlStr)};// SQLNumParams%apply int *OUTPUT {SQLSMALLINT *pcpar};// SQLNumResultCols%apply int *OUTPUT {SQLSMALLINT *ColumnCount};%ignore SQLParamOptions;// SQLPutData (questionable)%apply (char *STRING, int LENGTH) {(SQLPOINTER Data, SQLLEN StrLen_or_Ind)};// SQLRowCount%apply int *OUTPUT {SQLLEN *RowCount};// SQLSetConnectAttr, SQLSetEnvAttr, SQLSetStmtAttr%typemap(in, numinputs=1) (SQLPOINTER Value, SQLINTEGER StringLength) (SQLUINTEGER u, SQLHANDLE h) {	u = (SQLUINTEGER) PyInt_AsUnsignedLongMask($input);	if (!PyErr_Occurred()) {		$1 = ($1_type) (size_t) u;		$2 = 0;	} else {		PyErr_Clear();		$1 = ($1_type) PyString_AsString($input);		if (!PyErr_Occurred()) {			$2 = ($2_type) PyString_Size($input);		} else {			PyErr_Clear();			if (SWIG_ConvertPtr($input, &h, $descriptor(SQLHANDLE *), 0) == 0) {				$1 = ($1_type) &h;				$2 = 0;			} else {				PyErr_SetString(ErrorObject, "bad value type");				SWIG_fail;			}		}	}}// SQLSetConnectAttrW, SQLSetEnvAttrW, SQLSetStmtAttrW%typemap(in, numinputs=1) (SQLPOINTER rgbValue, SQLINTEGER cbValue) {	if (PyUnicode_Check($input)) {		int i;		$1 = ($1_type) SqlWChar_FromPyUnicode($input, &i);		$2 = ($2_type) i * sizeof(SQLWCHAR);	} else {		SQLUINTEGER u;		u = (SQLUINTEGER) PyInt_AsUnsignedLongMask($input);		if (!PyErr_Occurred()) {			$1 = ($1_type) (size_t) u;			$2 = 0;		} else {			SQLHANDLE h;			PyErr_Clear();			if (SWIG_ConvertPtr($input, &h, $descriptor(SQLHANDLE *), 0) == 0) {				$1 = ($1_type) &h;				$2 = 0;			} else {				PyErr_SetString(ErrorObject, "bad value type");				SWIG_fail;			}		}	}}%typemap(argout) (SQLPOINTER rgbValue, SQLINTEGER cbValue) {	if ($2 > 0) PyMem_Free($1); /* > 0 implies unicode, i.e. malloced */}// SQLSetConnectOption, SQLSetStmtOption%typemap(in, numinputs=1) (SQLULEN Value) {	if (PyString_Check($input)) {		$1 = ($1_type) (size_t) PyString_AsString($input);	} else {		SQLUINTEGER u;		u = (SQLUINTEGER) PyInt_AsUnsignedLongMask($input);		if (!PyErr_Occurred()) {			$1 = ($1_type) u;		} else {			PyErr_Clear();			PyErr_SetString(ErrorObject, "bad value type");			SWIG_fail;		}	}}// SQLSetConnectOptionW, SQLSetStmtOptionW%ignore SQLSetConnectOptionA;%ignore SQLSetStmtOptionA;%typemap(in, numinputs=1) (SQLULEN vParam) (SQLUINTEGER u) {	if (PyUnicode_Check($input)) {		$1 = ($1_type) (size_t) SqlWChar_FromPyUnicode($input, NULL);	} else {		u = (SQLUINTEGER) PyInt_AsUnsignedLongMask($input);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -