| /**********************************************************************
|
| // @@@ START COPYRIGHT @@@ |
| // |
| // 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. |
| // |
| // @@@ END COPYRIGHT @@@ |
| **********************************************************************/
|
| #ifndef SQLCLI_HDR
|
| #define SQLCLI_HDR
|
|
|
| /* -*-C-*-
|
| ******************************************************************************
|
| *
|
| * File: SQLCLI.h
|
| * Description: Declarations for the NonStop SQL CLI
|
| * Language: C and C++. The comment style herein must be C, not C++.
|
| *
|
| ******************************************************************************
|
| */
|
|
|
|
|
| #ifdef __gnu_linux__
|
| #define NA_LINUX
|
| #endif /* __gnu_linux__ */
|
|
|
| /* Size specific types used here */
|
| typedef int Int32;
|
| typedef unsigned int UInt32;
|
| typedef long long int Int64;
|
| typedef _int64 Int64;
|
|
|
| #undef SQLCLI_LIB_FUNC
|
|
|
| #ifdef SQLCLI_LIB
|
| #define SQLCLI_LIB_FUNC __declspec( dllexport )
|
| #else
|
| #ifndef EXP_DLL
|
| #define SQLCLI_LIB_FUNC __declspec( dllimport )
|
| #else
|
| #define SQLCLI_LIB_FUNC
|
| #endif
|
| #endif
|
| #ifdef NA_64BIT
|
| /* dg64 - get rid of __declspec */
|
| #undef SQLCLI_LIB_FUNC
|
| #define SQLCLI_LIB_FUNC
|
| #endif
|
|
|
| #ifdef __cplusplus
|
| extern "C"
|
| {
|
| #endif
|
|
|
| typedef Int32 SQLCTX_HANDLE;
|
|
|
| #if !defined(_MSC_VER) && !defined(_int64)
|
| /* _int64 is an MSVC builtin definition, but may be used elsewhere */
|
| /* #define _int64 long long */
|
| typedef long long _int64;
|
| #endif
|
|
|
| /* Internal structure definitions version */
|
| #define SQLCLI_CURRENT_VERSION 1
|
| #define SQLCLI_STATEMENT_VERSION_1 1
|
| #define SQLCLI_STATEMENT_VERSION_2 2
|
|
|
| /* Functional conformance version */
|
| #define CLI_VERSION 100L
|
|
|
| /* structure to identify a module */
|
| struct SQLMODULE_ID_t {
|
| Int32 version;
|
| const char * module_name;
|
| _int64 creation_timestamp;
|
| const char * charset; /* charset (encoded in ASCII, and null terminated) */
|
| /* of the module name. */
|
| Int32 module_name_len; /* length of the module name (in bytes) */
|
| };
|
|
|
|
|
| /* typedef the structure so that C compilers can use it without the 'struct' */
|
| typedef struct SQLMODULE_ID_t SQLMODULE_ID;
|
|
|
| /* specifies the way of naming an object in the CLI */
|
| enum SQLOBJ_ID_NAME_MODE {
|
| stmt_name = 1, /* statement name as char string */
|
| cursor_name = 2, /* cursor name as char string */
|
| desc_name = 3, /* descriptor name as char string */
|
| queryid_str = 4, /* Query id as char string */
|
| string_data = 50, /* string data passed in without a */
|
| /* descriptor. Used in certain cli calls */
|
| /* improve performance. */
|
| stmt_handle = 101, /* statement handle (generated by CLI) */
|
| desc_handle = 102, /* descriptor handle (generated by CLI) */
|
| stmt_via_desc = 201, /* descriptor for a statement name */
|
| curs_via_desc = 202, /* descriptor for a cursor name */
|
| desc_via_desc = 203 /* descriptor for a descriptor name */
|
| };
|
|
|
| /* generic structure to pass names to the SQLCLI */
|
| struct SQLCLI_OBJ_ID {
|
| Int32 version; /* set to SQLCLI_CURRENT_VERSION if no tag */
|
| Int32 name_mode; /* see enum SQLOBJ_ID_NAME_MODE below */
|
| const SQLMODULE_ID * module; /* module name (leading part of name) */
|
| const char * identifier; /* actual identifier (one part name) */
|
| void * handle; /* handle, in addition or instead of a name */
|
| const char * charset; /* charset (encoded in ASCII, and null terminated) */
|
| /* of the identifier. */
|
| Int32 identifier_len; /* length of the identifier (in bytes) */
|
| Int32 tag; /* added in R1.8, used when version==SQLCLI_STATEMENT_VERSION_2 */
|
| /* tag must be non-zero for nowaited operation */
|
| /* and zero for waited. */
|
| };
|
|
|
|
|
| /* structure to pass a statement identifier to the CLI */
|
|
|
| typedef struct SQLCLI_OBJ_ID SQLSTMT_ID;
|
| typedef struct SQLCLI_OBJ_ID SQLCLI_STMT_ID;
|
|
|
| /* structure to pass a descriptor name or handle to the CLI. */
|
| typedef struct SQLCLI_OBJ_ID SQLDESC_ID;
|
|
|
| /* specifies whether a descriptor is an input or output descriptor */
|
| enum SQLWHAT_DESC {
|
| SQLWHAT_INPUT_DESC = 1,
|
| SQLWHAT_OUTPUT_DESC = 2
|
| };
|
|
|
| /* specifies a particular item in a descriptor entry */
|
| enum SQLDESC_ITEM_ID {
|
|
|
| SQLDESC_TYPE = 1, /* (numeric) data type, ANSI */
|
| SQLDESC_DATETIME_CODE = 2, /* (numeric) datetime code a la ANSI */
|
|
|
| SQLDESC_LENGTH = 3, /* (numeric) length in chars, bits, ... */
|
| SQLDESC_OCTET_LENGTH = 4, /* (numeric) length in bytes */
|
| SQLDESC_PRECISION = 5, /* (numeric) precision (decimal or binary) */
|
| SQLDESC_SCALE = 7, /* (numeric) scale of the number */
|
| SQLDESC_INT_LEAD_PREC = 8, /* (numeric) interval leading field precis. */
|
|
|
| SQLDESC_NULLABLE = 9, /* (numeric) 0 = NOT NULL, 1 = nullable */
|
|
|
| SQLDESC_CHAR_SET = 10, /* (numeric) 1 part charset enum */
|
| SQLDESC_CHAR_SET_CAT = 11, /* (string ) catalog part of the char set */
|
| SQLDESC_CHAR_SET_SCH = 12, /* (string ) schema part of the char set */
|
| SQLDESC_CHAR_SET_NAM = 13, /* (string ) 1 part charset name */
|
| SQLDESC_COLLATION = 14, /* (numeric) collation code */
|
| SQLDESC_COLL_CAT = 15, /* (string ) catalog of the coll name */
|
| SQLDESC_COLL_SCH = 16, /* (string ) schema part of the coll name */
|
| SQLDESC_COLL_NAM = 17, /* (string ) 1 part collation name */
|
|
|
| SQLDESC_NAME = 18, /* (string ) column name */
|
| SQLDESC_UNNAMED = 19, /* (numeric) 0 = named, 1 = unnamed col. */
|
| SQLDESC_HEADING = 20, /* (string ) heading of the column */
|
|
|
| SQLDESC_IND_TYPE = 21, /* (numeric) data type of the indicator var */
|
| SQLDESC_VAR_PTR = 22, /* (numeric) pointer to the data */
|
| SQLDESC_IND_PTR = 23, /* (numeric) pointer to an indicator var. */
|
|
|
| SQLDESC_RET_LEN = 24, /* (numeric) actual char length of the data */
|
| SQLDESC_RET_OCTET_LEN = 25, /* (numeric) actual byte len of the data */
|
| SQLDESC_VAR_DATA = 26, /* (string ) the actual data */
|
| SQLDESC_IND_DATA = 27, /* (numeric) value of the indicator */
|
| SQLDESC_TYPE_FS = 28, /* (numeric) data type, SQL/MP FS internal */
|
|
|
| SQLDESC_IND_LENGTH = 29, /* (numeric) Length in chars of the ind var */
|
| SQLDESC_ROWSET_VAR_LAYOUT_SIZE = 30,
|
| SQLDESC_ROWSET_IND_LAYOUT_SIZE = 31,
|
| SQLDESC_ROWSET_SIZE = 32,
|
| SQLDESC_ROWSET_HANDLE = 33,
|
| SQLDESC_ROWSET_NUM_PROCESSED = 34,
|
| SQLDESC_ROWSET_ADD_NUM_PROCESSED = 35,
|
| SQLDESC_ROWSET_STATUS_PTR = 36,
|
|
|
| SQLDESC_TABLE_NAME = 37,
|
| SQLDESC_SCHEMA_NAME = 38,
|
| SQLDESC_CATALOG_NAME = 39,
|
|
|
| SQLDESC_PARAMETER_MODE = 40, /* (numeric) the parameter mode
|
| defined in enum PARAMETER_MODE */
|
| SQLDESC_ORDINAL_POSITION = 41, /* (numeric) the formal parameter
|
| ordinal position */
|
| SQLDESC_PARAMETER_INDEX = 42, /* (numeric) the actual parameter
|
| position */
|
| SQLDESC_DESCRIPTOR_TYPE = 43, /* specify either the wide or narrow
|
| descriptor type.
|
| static descriptors default to wide,
|
| dynamic descritpors default to
|
| narrow. */
|
| SQLDESC_ROWSET_TYPE = 44, /* of type enum ROWSET_TYPE.
|
| Defined in SQLCLIdev.h(not
|
| externalized yet)
|
| Specifies if this is a row-wise
|
| column-wise rowset */
|
|
|
| SQLDESC_ROWWISE_ROWSET_SIZE = 45, /* number of rows in this rowset */
|
| SQLDESC_ROWWISE_ROWSET_ROW_LEN = 46, /* length of each row */
|
| SQLDESC_ROWWISE_ROWSET_PTR = 47, /* ptr to the start of rowset */
|
| SQLDESC_TEXT_FORMAT = 48, /* (string) Datatype in text format */
|
| #ifdef _DEBUG
|
| SQLDESC_ROWWISE_VAR_OFFSET = 49, /* testing logic offset of value in Attribute */
|
| SQLDESC_ROWWISE_IND_OFFSET = 50, /* testing logic offset of indicator in Attributes */
|
| #endif
|
| SQLDESC_CASEINSENSITIVE = 51, /* (numeric) 0 = casesensitive, 1 = caseinsensitive */
|
| SQLDESC_DATA_OFFSET = 52, /* offset to actual data in the row */
|
| SQLDESC_NULL_IND_OFFSET = 53, /* offset to null indicator in the row */
|
| SQLDESC_VC_IND_LENGTH = 54, /* (numeric) Length of varchar length indicator */
|
| SQLDESC_ALIGNED_LENGTH = 55, /* total aligned length: data + null + vclen + filler */
|
| SQLDESC_ROWWISE_ROWSET_PARTN_NUM = 56 /* partition num where rwrs buffer need to go to */
|
| };
|
|
|
| enum DESCRIPTOR_TYPE {
|
| DESCRIPTOR_TYPE_WIDE = 0,
|
| DESCRIPTOR_TYPE_NARROW = 1
|
| };
|
|
|
| enum PARAMETER_MODE {
|
| PARAMETER_MODE_UNDEFINED = 0,
|
| PARAMETER_MODE_IN = 1,
|
| PARAMETER_MODE_INOUT = 2,
|
| PARAMETER_MODE_OUT = 4
|
| };
|
|
|
| /* specifies the character set names corresponding to SQLDESC_CHAR_SET_NAM */
|
| #ifndef SQLCHARSETSTRING_DEFINED
|
| #define SQLCHARSETSTRING_DEFINED 1
|
|
|
| #define SQLCHARSETSTRING_ISO88591 "ISO88591"
|
| #define SQLCHARSETSTRING_KANJI "KANJI"
|
| #define SQLCHARSETSTRING_KSC5601 "KSC5601"
|
| #define SQLCHARSETSTRING_UNICODE "UCS2"
|
| #define SQLCHARSETSTRING_LATIN "LATIN"
|
| #define SQLCHARSETSTRING_EUCJP "EUCJP"
|
| #define SQLCHARSETSTRING_GB2312 "GB2312"
|
| #define SQLCHARSETSTRING_GBK "GBK"
|
| #define SQLCHARSETSTRING_GB18030 "GB18030"
|
| #define SQLCHARSETSTRING_MB_KSC5601 "MB_KSC5601"
|
| #define SQLCHARSETSTRING_SJIS "SJIS"
|
| #define SQLCHARSETSTRING_UTF8 "UTF8"
|
| #define SQLCHARSETSTRING_BIG5 "BIG5"
|
| #define SQLCHARSETSTRING_UCS2 SQLCHARSETSTRING_UNICODE
|
| #define SQLCHARSETSTRING_ISO_MAPPING "ISO_MAPPING"
|
| #endif /* SQLCHARSETSTRING_DEFINED */
|
|
|
| /* specifies the supported character sets (for numeric value version of
|
| SQL_EXEC_GETDESCITEM() and SQL_EXEC_SETDESCITEM() corresponding to SQLDESC_CHAR_SET)
|
| */
|
| #ifndef SQLCHARSET_CODE_DEFINED
|
| #define SQLCHARSET_CODE_DEFINED
|
|
|
| enum SQLCHARSET_CODE {
|
| SQLCHARSETCODE_UNKNOWN = 0,
|
| SQLCHARSETCODE_ISO88591 = 1,
|
| SQLCHARSETCODE_KANJI = -1,
|
| SQLCHARSETCODE_KSC5601 = -2,
|
| SQLCHARSETCODE_SJIS = 10,
|
| SQLCHARSETCODE_UCS2 = 11,
|
| SQLCHARSETCODE_EUCJP = 12,
|
| SQLCHARSETCODE_BIG5 = 13,
|
| SQLCHARSETCODE_GB18030 = 14,
|
| SQLCHARSETCODE_UTF8 = 15,
|
| SQLCHARSETCODE_MB_KSC5601 = 16,
|
| SQLCHARSETCODE_GB2312 = 17,
|
| SQLCHARSETCODE_GBK = 18,
|
|
|
| /* specifies that the user input string is in the same charset that is
|
| set as the value of the ISO_MAPPING default in the defaults table.
|
| Cli will pass in the input string as is to mxcmp without any translation.
|
| It will also tell mxcmp to treat any unprefixed literals in the
|
| input string as iso88591. */
|
| SQLCHARSETCODE_ISO_MAPPING = 9999
|
| };
|
| #endif /* SQLCHARSET_CODE_DEFINED */
|
|
|
| /* specifies the supported character set conversions that are allowed */
|
| #ifndef SQLCONVCHARSET_CODE_DEFINED
|
| #define SQLCONVCHARSET_CODE_DEFINED
|
|
|
| enum SQLCONVCHARSET_CODE {
|
| SQLCONVCHARSETCODE_UNKNOWN = 0,
|
| SQLCONVCHARSETCODE_UTF8 = 1,
|
| SQLCONVCHARSETCODE_UTF16 = 2,
|
| SQLCONVCHARSETCODE_UTF32 = 3,
|
| SQLCONVCHARSETCODE_ISO88591 = 4,
|
| SQLCONVCHARSETCODE_SJIS = 5,
|
| SQLCONVCHARSETCODE_EUCJP = 6,
|
| SQLCONVCHARSETCODE_KSC = 7,
|
| SQLCONVCHARSETCODE_BIG5 = 8,
|
| SQLCONVCHARSETCODE_2312 = 9,
|
| SQLCONVCHARSETCODE_GB18030 = 10,
|
| SQLCONVCHARSETCODE_GBK = 11
|
| };
|
| #endif /* SQLCONVCHARSET_CODE_DEFINED */
|
|
|
| #define SQLCONV_REVERSE_INBYTES 2
|
|
|
| /* specifies the collation names corresponding to SQLDESC_COLL_NAM */
|
| #ifndef SQLCOLLATIONSTRING_DEFINED
|
| #define SQLCOLLATIONSTRING_DEFINED 1
|
|
|
| #define SQLCOLLATIONSTRING_DEFAULT "DEFAULT"
|
| #define SQLCOLLATIONSTRING_CZECH "CZECH"
|
| #define SQLCOLLATIONSTRING_CZECH_CI "CZECH_CI"
|
| #endif /* SQLCOLLATIONSTRING_DEFINED */
|
|
|
| /* struct to hold one item of a descriptor entry */
|
| typedef struct {
|
| Int32 item_id; /* which item (see SQLDESC_ITEM_ID) */
|
| Int32 value_num_desc_entry; /* value num's input descriptor entry num */
|
| Int32 entry; /* number of the entry */
|
| long num_val_or_len; /* numeric value or length of string */
|
| char * string_val; /* string value (if not a numeric value) */
|
| } SQLDESC_ITEM;
|
|
|
| /* ANSI datatype values for item descriptor areas
|
| * - see ANSI-92 Spec. Section 17.1 - Table 18
|
| * - includes tandem extensions (negative values)
|
| */
|
| enum SQLTYPE_CODE {
|
| /* CHAR/CHARACTER */
|
| SQLTYPECODE_CHAR = 1,
|
|
|
| /* NUMERIC */
|
| SQLTYPECODE_NUMERIC = 2,
|
| SQLTYPECODE_NUMERIC_UNSIGNED = -201,
|
|
|
| /* DECIMAL */
|
| SQLTYPECODE_DECIMAL = 3,
|
|
|
| /* DECIMAL Tandem extensions */
|
| SQLTYPECODE_DECIMAL_UNSIGNED = -301,
|
| SQLTYPECODE_DECIMAL_LARGE = -302,
|
| SQLTYPECODE_DECIMAL_LARGE_UNSIGNED = -303,
|
|
|
| /* INTEGER/INT */
|
| SQLTYPECODE_INTEGER = 4,
|
|
|
| /* INTEGER/INT Tandem extensions */
|
| SQLTYPECODE_INTEGER_UNSIGNED = -401,
|
| SQLTYPECODE_LARGEINT = -402,
|
| SQLTYPECODE_LARGEINT_UNSIGNED = -405,
|
|
|
| /* TINYINT */
|
| SQLTYPECODE_TINYINT = -403,
|
| SQLTYPECODE_TINYINT_UNSIGNED = -404,
|
|
|
| /* SMALLINT */
|
| SQLTYPECODE_SMALLINT = 5,
|
|
|
| /* SMALLINT Tandem extensions */
|
| SQLTYPECODE_SMALLINT_UNSIGNED = -502,
|
|
|
| /* Bit Precision int, Tandem extensions */
|
| SQLTYPECODE_BPINT_UNSIGNED = -503,
|
|
|
| /* IEEE FLOAT (precision,scale)
|
| * Internally converted to REAL or DOUBLE depending on
|
| * precision
|
| */
|
| SQLTYPECODE_IEEE_FLOAT = 6,
|
|
|
| /* IEEE REAL
|
| * Tandem note: precision == 22
|
| */
|
| SQLTYPECODE_IEEE_REAL = 7,
|
|
|
| /* IEEE DOUBLE PRECISION
|
| * Tandem note: precision == 54
|
| */
|
| SQLTYPECODE_IEEE_DOUBLE = 8,
|
|
|
| /* Tandem FLOAT (precision,scale)
|
| * Internally converted to REAL or DOUBLE depending on
|
| * precision
|
| */
|
| SQLTYPECODE_TDM_FLOAT = -411,
|
| SQLTYPECODE_FLOAT = SQLTYPECODE_TDM_FLOAT,
|
|
|
| /* Tandem REAL
|
| * Tandem note: precision == 22
|
| */
|
| SQLTYPECODE_TDM_REAL = -412,
|
| SQLTYPECODE_REAL = SQLTYPECODE_TDM_REAL,
|
|
|
| /* Tandem DOUBLE PRECISION
|
| * Tandem note: precision == 54
|
| */
|
| SQLTYPECODE_TDM_DOUBLE = -413,
|
| SQLTYPECODE_DOUBLE = SQLTYPECODE_TDM_DOUBLE,
|
|
|
| /* DATE,TIME,TIMESTAMP */
|
| SQLTYPECODE_DATETIME = 9,
|
|
|
| /* TIMESTAMP */
|
| SQLTYPECODE_INTERVAL = 10,
|
|
|
| /* no ANSI value 11 */
|
|
|
| /* VARCHAR/CHARACTER VARYING */
|
| SQLTYPECODE_VARCHAR = 12,
|
|
|
| /* SQL/MP stype VARCHAR with length prefix: Tandem Extension */
|
| SQLTYPECODE_VARCHAR_WITH_LENGTH = -601,
|
|
|
| /* LONG VARCHAR/ODBC CHARACTER VARYING */
|
| SQLTYPECODE_VARCHAR_LONG = -1, /* ## NEGATIVE??? */
|
|
|
| /* BOOLEAN */
|
| SQLTYPECODE_BOOLEAN = -701,
|
|
|
| /* no ANSI value 13 */
|
|
|
| /* BIT */
|
| SQLTYPECODE_BIT = 14, /* not supported */
|
|
|
| /* BIT VARYING */
|
| SQLTYPECODE_BITVAR = 15 /* not supported */
|
| };
|
|
|
| /* #ifndef SQLDTCODE_DATE */
|
| /* specifies the type of datetime data type */
|
| enum SQLDATETIME_CODE {
|
| SQLDTCODE_DATE = 1,
|
| SQLDTCODE_TIME = 2,
|
| SQLDTCODE_TIMESTAMP = 3,
|
| SQLDTCODE_MPDATETIME = 4
|
| };
|
| /* #endif */
|
|
|
| /* specifies the type of interval data type */
|
| enum SQLINTERVAL_CODE {
|
| SQLINTCODE_YEAR = 1,
|
| SQLINTCODE_MONTH = 2,
|
| SQLINTCODE_DAY = 3,
|
| SQLINTCODE_HOUR = 4,
|
| SQLINTCODE_MINUTE = 5,
|
| SQLINTCODE_SECOND = 6,
|
| SQLINTCODE_YEAR_MONTH = 7,
|
| SQLINTCODE_DAY_HOUR = 8,
|
| SQLINTCODE_DAY_MINUTE = 9,
|
| SQLINTCODE_DAY_SECOND = 10,
|
| SQLINTCODE_HOUR_MINUTE = 11,
|
| SQLINTCODE_HOUR_SECOND = 12,
|
| SQLINTCODE_MINUTE_SECOND = 13
|
| };
|
|
|
| /* type codes from SQL/MP include file sql.h, for TYPE_FS
|
| descriptor fields (with additional SQL/MX datatypes) */
|
|
|
| #ifndef _SQLDT_ASCII_F
|
|
|
| #define _SQLDT_ASCII_F 0 /* CHAR datatype */
|
| #define _SQLDT_ASCII_F_UP 1 /* CHAR datatype, UPSHIFTed */
|
| #define _SQLDT_DOUBLE_F 2 /* DOUBLE CHAR datatype */
|
| #define _SQLDT_ASCII_V 64 /* VARCHAR datatype */
|
| #define _SQLDT_ASCII_V_UP 65 /* VARCHAR datatype, UPSHIFted */
|
| #define _SQLDT_DOUBLE_V 66 /* DOUBLE VARCHAR datatype */
|
| #define _SQLDT_16BIT_S 130 /* 16 bit signed binary number */
|
| /* SMALLINT, NUMERIC(1-4, <scale>) */
|
| #define _SQLDT_16BIT_U 131 /* 16 bit unsigned binary number */
|
| /* unsigned NUMERIC(1-4, <scale>) */
|
| #define _SQLDT_32BIT_S 132 /* 32 bit signed binary number */
|
| /* INTEGER, NUMERIC(5-9, <scale>) */
|
| #define _SQLDT_32BIT_U 133 /* 32 bit unsigned binary number */
|
| /* unsigned NUMERIC(5-9, <scale>) */
|
| #define _SQLDT_64BIT_S 134 /* 64 bit signed binary number */
|
| /* LARGEINT, NUMERIC(10-18,<scale>) */
|
| #define _SQLDT_TDM_REAL 140 /* 32 bit TANDEM FLOAT */
|
| #define _SQLDT_TDM_DOUBLE 141 /* 64 bit TANDEM FLOAT */
|
| #define _SQLDT_IEEE_REAL 142 /* 32 bit IEEE FLOAT (SQL/MX only) */
|
| #define _SQLDT_IEEE_DOUBLE 143 /* 64 bit IEEE FLOAT (SQL/MX only) */
|
| #define _SQLDT_DEC_U 150 /* DECIMAL datatype: unsigned */
|
| #define _SQLDT_DEC_LSS 151 /* DECIMAL datatype: */
|
| /* leading sign is separate */
|
| #define _SQLDT_DEC_LSE 152 /* DECIMAL datatype: */
|
| /* leading sign is embedded */
|
| #define _SQLDT_DEC_TSS 153 /* DECIMAL datatype: */
|
| /* trailing sign separate */
|
| #define _SQLDT_DEC_TSE 154 /* DECIMAL datatype: */
|
| /* trailing sign embedded */
|
| #define _SQLDT_NUM_BIG_U 155 /* BigNum unsigned NUMERIC datatype */
|
| /* NUMERIC(N) where N > 9 */
|
| #define _SQLDT_NUM_BIG_S 156 /* BigNum signed NUMERIC datatype */
|
| /* NUMERIC(N) where N > 18 */
|
|
|
| #define _SQLDT_BLOB 160 /* BLOB datatype */
|
| #define _SQLDT_CLOB 161 /* CLOB datatype */
|
|
|
| #define _SQLDT_DATETIME 192 /* DATETIME datatype */
|
|
|
| /*
|
| * INTERVAL datatype:
|
| */
|
| #define _SQLDT_INT_Y_Y 195 /* YEAR TO YEAR */
|
| #define _SQLDT_INT_MO_MO 196 /* MONTH TO MONTH */
|
| #define _SQLDT_INT_Y_MO 197 /* YEAR TO MONTH */
|
| #define _SQLDT_INT_D_D 198 /* DAY TO DAY */
|
| #define _SQLDT_INT_H_H 199 /* HOUR TO HOUR */
|
| #define _SQLDT_INT_D_H 200 /* DAY TO HOUR */
|
| #define _SQLDT_INT_MI_MI 201 /* MINUTE TO MINUTE */
|
| #define _SQLDT_INT_H_MI 202 /* HOUR TO MINUTE */
|
| #define _SQLDT_INT_D_MI 203 /* DAY TO MINUTE */
|
| #define _SQLDT_INT_S_S 204 /* SECOND TO SECOND */
|
| #define _SQLDT_INT_MI_S 205 /* MINUTE TO SECOND */
|
| #define _SQLDT_INT_H_S 206 /* HOUR TO SECOND */
|
| #define _SQLDT_INT_D_S 207 /* DAY TO SECOND */
|
| #define _SQLDT_INT_F_F 208 /* FRACTION TO FRACTION */
|
| #define _SQLDT_INT_S_F 209 /* SECOND TO FRACTION */
|
| #define _SQLDT_INT_MI_F 210 /* MINUTE TO FRACTION */
|
| #define _SQLDT_INT_H_F 211 /* HOUR TO FRACTION */
|
| #define _SQLDT_INT_D_F 212 /* DAY TO FRACTION */
|
|
|
| #endif /* ifndef _SQLDT_ASCII_F */
|
|
|
|
|
| /* constant char strings that can be used to indicate charset sets for
|
| object and module names (from common/charinfo.cpp)
|
| */
|
| #define MAX_CHAR_SET_STRING_LENGTH 128
|
|
|
|
|
| /* specifies a particular statement information item in the diagnostics area */
|
| enum SQLDIAG_STMT_INFO_ITEM_ID {
|
|
|
| /* ANSI */
|
| SQLDIAG_NUMBER = 1, /* (numeric) number of conditions stored */
|
| SQLDIAG_MORE = 2, /* (string ) Y = all conditions not stored */
|
| SQLDIAG_COMMAND_FUNC = 3, /* (string ) type of statement executed */
|
| SQLDIAG_DYNAMIC_FUNC = 4, /* (string ) type of prepared stmt executed */
|
| SQLDIAG_ROW_COUNT = 5, /* (numeric) number of rows affected */
|
|
|
| /* SQL/MX */
|
| SQLDIAG_AVERAGE_STREAM_WAIT = 101, /* (numeric) avg wait time for stream */
|
| SQLDIAG_ROWSET_ROW_COUNT = 102, /* (numeric) array containing number
|
| of rows affected by each rowset row */
|
|
|
| /* SQL/MP */
|
| SQLDIAG_COST = 201, /* (numeric) estimated query cost */
|
| SQLDIAG_FIRST_FSCODE = 202, /* (numeric) first file system error */
|
| SQLDIAG_LAST_FSCODE = 203, /* (numeric) last file system error */
|
| SQLDIAG_LAST_SYSKEY = 204 /* (numeric) SYSKEY of last record inserted */
|
| };
|
|
|
| /* specifies a particular condition information item in the diagnostics area */
|
| enum SQLDIAG_COND_INFO_ITEM_ID {
|
|
|
| /* ANSI */
|
| SQLDIAG_COND_NUMBER = 1, /* (numeric) condition number */
|
| SQLDIAG_RET_SQLSTATE = 2, /* (string ) returned SQLSTATE */
|
| SQLDIAG_CLASS_ORIG = 3, /* (string ) class origin, e.g. ISO 9075 */
|
| SQLDIAG_SUBCLASS_ORIG = 4, /* (string ) subclass origin, e.g. ISO 9075 */
|
| SQLDIAG_SERVER_NAME = 5, /* (string ) SQL server name */
|
| SQLDIAG_CONNECT_NAME = 6, /* (string ) connection name */
|
| SQLDIAG_CONSTR_CAT = 7, /* (string ) constraint catalog name */
|
| SQLDIAG_CONSTR_SCHEMA = 8, /* (string ) constraint schema name */
|
| SQLDIAG_CONSTR_NAME = 9, /* (string ) constraint name */
|
| SQLDIAG_CATALOG_NAME = 10, /* (string ) catalog name */
|
| SQLDIAG_SCHEMA_NAME = 11, /* (string ) schema name */
|
| SQLDIAG_TABLE_NAME = 12, /* (string ) table name */
|
| SQLDIAG_COLUMN_NAME = 13, /* (string ) column name */
|
| SQLDIAG_CURSOR_NAME = 14, /* (string ) cursor name */
|
| SQLDIAG_MSG_TEXT = 15, /* (string ) message text */
|
| SQLDIAG_MSG_LEN = 16, /* (numeric) message length in characters */
|
| SQLDIAG_MSG_OCTET_LEN = 17, /* (numeric) message length in bytes */
|
| SQLDIAG_TRIGGER_CAT = 18, /* (string ) trigger catalog name */
|
| SQLDIAG_TRIGGER_SCHEMA = 19, /* (string ) trigger schema name */
|
| SQLDIAG_TRIGGER_NAME = 20, /* (string ) trigger name */
|
|
|
| /* ODBC */
|
| SQLDIAG_COLUMN_NUMBER = 101, /* (numeric) column number */
|
| SQLDIAG_NATIVE = 102, /* (numeric) native error code */
|
| SQLDIAG_ROW_NUMBER = 103, /* (numeric) row number */
|
|
|
| /* SQL/MP */
|
| SQLDIAG_SOURCE_FILE = 201, /* (string ) source file name */
|
| SQLDIAG_LINE_NUMBER = 202, /* (numeric) source code line number */
|
| SQLDIAG_SUBSYSTEM_ID = 203, /* (string ) component that issued error */
|
| SQLDIAG_SQLCODE = 204, /* (numeric) SQLCODE of this condition */
|
| SQLDIAG_NSK_CODE = 205 /* (numeric) NSK code FExxx from NSK/FS/DP2 */
|
| };
|
|
|
| /* struct to specify one condition information item of a diagnostics entry */
|
| typedef struct {
|
| Int32 item_id; /* item id (SQLDIAG_COND_INFO_ITEM_ID) */
|
| Int32 cond_number_desc_entry; /* cond. num's input descriptor entry num */
|
| } SQLDIAG_COND_INFO_ITEM;
|
|
|
| /* struct to hold one item value of a diagnostic condition */
|
| typedef struct {
|
| /* which condition and which item in that condition */
|
| SQLDIAG_COND_INFO_ITEM item_id_and_cond_number;
|
| /* numeric value or length of string */
|
| Int32 * num_val_or_len;
|
| /* string value (if not a numeric value) */
|
| char * string_val;
|
| } SQLDIAG_COND_INFO_ITEM_VALUE;
|
|
|
| /* struct to return query cost information to caller after prepare of a stmt */
|
| typedef struct {
|
| double cpuTime;
|
| double ioTime;
|
| double msgTime;
|
| double idleTime;
|
| double numSeqIOs;
|
| double numRandIOs;
|
| double totalTime;
|
| double cardinality;
|
| double estimatedTotalMem;
|
| short resourceUsage;
|
| short maxCpuUsage;
|
| } SQL_QUERY_COST_INFO;
|
|
|
| #define COMPILER_ID_LEN 28
|
| #define COMPILE_INFO_LEN 4096
|
| typedef struct {
|
| _int64 compileStartTime;
|
| _int64 compileEndTime;
|
| char compilerId[COMPILER_ID_LEN];
|
| _int64 cmpCpuTotal;
|
| _int64 cmpCpuBinder;
|
| _int64 cmpCpuNormalizer;
|
| _int64 cmpCpuAnalyzer;
|
| _int64 cmpCpuOptimizer;
|
| _int64 cmpCpuGenerator;
|
| UInt32 metadataCacheHits;
|
| UInt32 metadataCacheLookups;
|
| Int32 queryCacheState;
|
| UInt32 histogramCacheHits;
|
| UInt32 histogramCacheLookups;
|
| _int64 stmtHeapSize;
|
| _int64 cxtHeapSize;
|
| Int32 optTasks;
|
| Int32 optContexts;
|
| short isRecompile;
|
| char compileInfo[COMPILE_INFO_LEN];
|
| Int32 compileInfoLen;
|
| } SQL_COMPILATION_STATS_DATA;
|
|
|
| /* struct to return details about a query after prepare.
|
| Will be used by caller(mxcs/wms) to determine how/when/if to run the
|
| query */
|
| typedef struct {
|
| UInt32 affinityNumber;
|
| Int32 dop; /* degree of parallel execution */
|
| short xnNeeded;
|
| short mandatoryCrossProduct;
|
| short missingStats;
|
| short numOfJoins;
|
| short fullScanOnTable;
|
| short highDp2MxBufferUsage;
|
| double rowsAccessedForFullScan;
|
| double dp2RowsAccessed;
|
| double dp2RowsUsed;
|
| SQL_COMPILATION_STATS_DATA compilationStats;
|
| unsigned short statsCollectionType; /* see SQLSTATS_TYPE */
|
| unsigned short numOfUdrs;
|
| unsigned short numOfBmos;
|
| unsigned short overflowMode;
|
| double overflowSize;
|
| short queryType;
|
| short subqueryType;
|
| char filler[28];
|
| } SQL_QUERY_COMPILER_STATS_INFO;
|
|
|
| /* struct to hold statistics to be returned. */
|
| typedef struct {
|
| _int64 prepareTime;
|
| _int64 fixupTime;
|
| _int64 freeupTime;
|
| _int64 returnedRowsIOTime;
|
| _int64 elapsedTime;
|
| _int64 rowsAffected;
|
| short compilerCacheHit;
|
| short executorCacheHit;
|
| } SQL_QUERY_STATISTICS;
|
|
|
| /* specifies an SQL transaction command */
|
| enum SQLTRANS_COMMAND {
|
| /* The only commands currently supported are transaction */
|
| /* status and quiesce (prepare for a REPLY call). */
|
| /* Use static SQL or a dynamic prepare or execute immediate to */
|
| /* perform all other SQL transaction statements. */
|
| SQLTRANS_BEGIN = 1,
|
| SQLTRANS_COMMIT = 2,
|
| SQLTRANS_ROLLBACK = 3,
|
| /* SQLTRANS_ROLLBACK_WAITED = 4, */
|
| SQLTRANS_STATUS = 5,
|
| /* SQLTRANS_SET = 6, */
|
| SQLTRANS_QUIESCE = 7,
|
| /* currently, called only by mxci after a BREAK key is hit
|
| to abort any implicit transactions started by cli */
|
| SQLTRANS_ROLLBACK_IMPLICIT_XN = 8,
|
|
|
| SQLTRANS_BEGIN_WITH_DP2_XNS = 9,
|
|
|
| /* inherit the global transaction and make it the current xn */
|
| SQLTRANS_INHERIT = 10
|
| };
|
|
|
| /* specifies the type/format of an AUTHID */
|
| enum SQLAUTHID_TYPE {
|
| SQLAUTHID_TYPE_ASCII_USERNAME = 7777,
|
| SQLAUTHID_TYPE_ASCII_USERROLE = 7799,
|
| SQLAUTHID_TYPE_ASCII_SID = 8888,
|
| SQLAUTHID_TYPE_INVALID = 9999
|
| };
|
|
|
| /* struct to specify an array of pointer pairs without using a va list.*/
|
| struct SQLCLI_PTR_PAIRS {
|
| void * var_ptr; /* pointer to the data variable */
|
| void * ind_ptr; /* pointer to indicator variable; -1 is NULL */
|
| };
|
|
|
| /* struct to specify an array of quad fields without using a va list. */
|
| struct SQLCLI_QUAD_FIELDS {
|
| Int32 var_layout; /* data variable layout size */
|
| void * var_ptr; /* pointer to the data variable */
|
| Int32 ind_layout; /* indicator variable layout size */
|
| void * ind_ptr; /* pointer to indicator variable; -1 is NULL */
|
| };
|
|
|
| /* For the GetStmtAttr and SetStmtAttr interfaces. */
|
| enum SQLATTRCURSOR_TYPE {
|
| SQL_READONLY_CURSOR = 0,
|
| SQL_UPDATABLE_CURSOR = 1
|
| };
|
|
|
| enum SQLATTR_TYPE {
|
| SQL_ATTR_CURSOR_HOLDABLE = -3,
|
| SQL_ATTR_INPUT_ARRAY_MAXSIZE = -2,
|
| SQL_ATTR_QUERY_TYPE = -4,
|
| SQL_ATTR_ROWSET_ATOMICITY = -5,
|
| SQL_ATTR_NOT_ATOMIC_FAILURE_LIMIT = -6,
|
| SQL_ATTR_XN_NEEDED = -7,
|
| SQL_ATTR_UNIQUE_STMT_ID = -8,
|
| SQL_ATTR_UNIQUE_QUERY_ID = -8,
|
| SQL_ATTR_MAX_RESULT_SETS = -9,
|
| SQL_ATTR_UNIQUE_STMT_ID_NO_DIAGS = -10,
|
| SQL_ATTR_RS_PROXY_SYNTAX = -11,
|
| SQL_ATTR_CONSUMER_QUERY_TEXT = -12,
|
| SQL_ATTR_CONSUMER_CPU = -13,
|
| SQL_ATTR_COPY_STMT_ID_TO_DIAGS = -14,
|
| SQL_ATTR_PARENT_QID = -15,
|
| SQL_ATTR_CURSOR_UPDATABLE = -16,
|
| SQL_ATTR_SUBQUERY_TYPE = -17
|
| };
|
|
|
| /* A container for a single statement attribute. For use with
|
| the SQL_EXEC_GetStmtAttrs function that returns multiple
|
| attributes in one call. */
|
| typedef struct {
|
| Int32 attr_type; /* IN: which attr, from the */
|
| /* SQLATTR_TYPE enum */
|
| Int32 index; /* IN: optional index if attr */
|
| /* is a collection */
|
| Int32 *numeric_value; /* INOUT: if attr is numeric, address */
|
| /* of target buffer for the */
|
| /* attr value */
|
| char *string_value; /* INOUT: if attr is string, address */
|
| /* of target buffer for the */
|
| /* attr value */
|
| Int32 max_string_len; /* IN: if attr is string, max len */
|
| /* of buffer pointed to by */
|
| /* string_val */
|
| Int32 *len_of_item; /* INOUT OPTIONAL: if attr is string, */
|
| /* address of target buffer to */
|
| /* hold actual len of item */
|
| /* returned. If error returned */
|
| /* because string_value buffer */
|
| /* too small then len_of_item */
|
| /* holds the required size */
|
| } SQLSTMT_ATTR;
|
|
|
| enum SQLATTRHOLDABLE_TYPE {
|
| SQL_NONHOLDABLE = 0,
|
| SQL_HOLDABLE = 1
|
| };
|
|
|
| enum SESSIONATTR_TYPE {
|
| SESSION_ATTR_ID = 1,
|
| SESSION_PARENT_QID = 2,
|
| SESSION_DATABASE_USER_NAME = 3,
|
| SESSION_DATABASE_USER_ID = 4,
|
| SESSION_SESSION_USER_ID = 5
|
| };
|
|
|
| /* this list and their values must be the same as the
|
| enum QueryType in comexe/ComTdbRoot.h */
|
| enum SQLATTRQUERY_TYPE {
|
| SQL_OTHER = -1,
|
| SQL_UNKNOWN = 0,
|
| SQL_SELECT_UNIQUE = 1,
|
| SQL_SELECT_NON_UNIQUE = 2,
|
| SQL_INSERT_UNIQUE = 3,
|
| SQL_INSERT_NON_UNIQUE = 4,
|
| SQL_UPDATE_UNIQUE = 5,
|
| SQL_UPDATE_NON_UNIQUE = 6,
|
| SQL_DELETE_UNIQUE = 7,
|
| SQL_DELETE_NON_UNIQUE = 8,
|
| SQL_CONTROL = 9,
|
| SQL_SET_TRANSACTION = 10,
|
| SQL_SET_CATALOG = 11,
|
| SQL_SET_SCHEMA = 12,
|
| SQL_CALL_NO_RESULT_SETS = 13,
|
| SQL_CALL_WITH_RESULT_SETS = 14,
|
| SQL_SP_RESULT_SET = 15,
|
| SQL_INSERT_RWRS = 16,
|
|
|
| /* same value as RWRS insert. identifier rowset_sidetree is obsolete and
|
| will be removed in future when no callers use this identifier.*/
|
| SQL_INSERT_ROWSET_SIDETREE = 16,
|
|
|
| /* utilities, like DUP, POPULATE, etc...implemented in catman. See
|
| sqlcomp/parser.cpp for complete list */
|
| SQL_CAT_UTIL = 17,
|
|
|
| /* complex util statements implemented in executor by converting them
|
| to multiple sql queries. See optimizer/RelMisc.h, class ExeUtilExpr */
|
| SQL_EXE_UTIL = 18,
|
| /* Used to denote unload statements, a fast and parallel
|
| approach to extract data from SQL tables into extrenal files */
|
| SQL_SELECT_UNLOAD = 19
|
|
|
|
|
| };
|
|
|
| enum SQLATTR_SUBQUERY_TYPE
|
| {
|
| SQL_STMT_NA = 0,
|
| SQL_STMT_CTAS = 1,
|
| SQL_STMT_REPLICATE = 2,
|
| SQL_STMT_GET_STATISTICS = 3,
|
| /* describe type of statements like showcontrol, showplan */
|
| SQL_DESCRIBE_QUERY = 4
|
| };
|
|
|
|
|
| enum SQLATTRATOMIC_TYPE {
|
| SQL_NOT_SPECIFIED = 0,
|
| SQL_ATOMIC = 1,
|
| SQL_NOT_ATOMIC = 2
|
| };
|
|
|
| enum SQLSTMT_STATE_TYPE {
|
| SQLSTMT_STATE_INITIAL = 0,
|
| SQLSTMT_STATE_OPEN = 1,
|
| SQLSTMT_STATE_EOF = 2,
|
| SQLSTMT_STATE_CLOSE = 3,
|
| SQLSTMT_STATE_DEALLOCATED = 4,
|
| SQLSTMT_STATE_FETCH = 5,
|
| SQLSTMT_STATE_CLOSE_TABLES = 6,
|
| SQLSTMT_STATE_PREPARE = 7,
|
| SQLSTMT_STATE_PROCESS_ENDED = 8,
|
| SQLSTMT_RELEASE_TRANS = 9,
|
| SQLSTMT_SUSPENDED = 10,
|
| SQLSTMT_STATE_UNKNOWN
|
| };
|
|
|
| enum SQLSTATS_TYPE {
|
| SQLCLI_SAME_STATS = 999,
|
| SQLCLI_NO_STATS = 0,
|
| /* SQLCLI_DEFAULT_STATS means the statistics is merged based on the statistics view type */
|
| SQLCLI_DEFAULT_STATS = 0,
|
| SQLCLI_MEASURE_STATS = 1,
|
| SQLCLI_ACCUMULATED_STATS = 2,
|
| SQLCLI_PERTABLE_STATS = 3,
|
| SQLCLI_ALL_STATS = 4,
|
| SQLCLI_OPERATOR_STATS = 5,
|
| SQLCLI_CPU_OFFENDER_STATS = 6,
|
| SQLCLI_QID_DETAIL_STATS = 7,
|
| SQLCLI_SE_OFFENDER_STATS = 8,
|
| SQLCLI_DISK_OFFENDER_STATS = SQLCLI_SE_OFFENDER_STATS,
|
| SQLCLI_RMS_INFO_STATS = 9,
|
| SQLCLI_PROGRESS_STATS = 10,
|
| SQLCLI_ET_OFFENDER_STATS = 11,
|
| SQLCLI_RMS_CHECK_STATS = 12,
|
| SQLCLI_MEM_OFFENDER_STATS = 13,
|
| SQLCLI_PROCESS_STATS = 14
|
| };
|
|
|
| /* For the GetUniqueQueryIdAttrs interfaces. */
|
|
|
| enum UNIQUEQUERYID_ATTR_TYPE {
|
| /* segment number */
|
| UNIQUEQUERYID_SEGMENTNUM = 0,
|
|
|
| /* segment name: max 10 bytes */
|
| UNIQUEQUERYID_SEGMENTNAME = 1,
|
|
|
| /* cpu number */
|
| UNIQUEQUERYID_CPU = 2,
|
|
|
| /* pin of master exe process */
|
| UNIQUEQUERYID_PIN = 3,
|
|
|
| /* starttime of master exe process */
|
| UNIQUEQUERYID_EXESTARTTIME = 4,
|
|
|
| /* unique session number */
|
| UNIQUEQUERYID_SESSIONNUM = 5,
|
|
|
| /* null terminated user name: max 32 bytes */
|
| UNIQUEQUERYID_USERNAME = 6,
|
|
|
| /* null terminated session name: max 24 bytes */
|
| UNIQUEQUERYID_SESSIONNAME = 7,
|
|
|
| /* unique query num within a process */
|
| UNIQUEQUERYID_QUERYNUM = 8,
|
|
|
| /* null terminated user statement name: max 110 bytes */
|
| UNIQUEQUERYID_STMTNAME = 9,
|
|
|
| /* null terminated session id: max 104 bytes */
|
| UNIQUEQUERYID_SESSIONID = 10
|
| };
|
|
|
| typedef struct {
|
| Int32 attr_type; /* IN: which attr (UNIQUEQUERYID_ATTR_TYPE) */
|
| _int64 num_val_or_len; /* IN: if string value, max length of string
|
| to return in string_val
|
| Note: string_val buffer size should be one more than
|
| num_val_or_len to allow for a null terminator
|
| OUT: if numeric value, the value.
|
| if string value, the actual length of string_val returned */
|
| char * string_val; /* OUT: if string value, null terminated string */
|
| } UNIQUEQUERYID_ATTR;
|
|
|
| #define MAX_TDB_NAME_LEN 35
|
|
|
| enum STATS_REQ_TYPE {
|
| SQLCLI_STATS_REQ_NONE = -1,
|
| SQLCLI_STATS_REQ_STMT = 0,
|
| SQLCLI_STATS_REQ_CPU = 1,
|
| SQLCLI_STATS_REQ_PID = 2,
|
| SQLCLI_STATS_REQ_QID = 3,
|
| SQLCLI_STATS_REQ_QID_CURRENT = 4,
|
| SQLCLI_STATS_REQ_CPU_OFFENDER = 5,
|
| SQLCLI_STATS_REQ_QID_DETAIL = 6,
|
| SQLCLI_STATS_REQ_SE_OFFENDER = 7,
|
| SQLCLI_STATS_REQ_DISK_OFFENDER = SQLCLI_STATS_REQ_SE_OFFENDER,
|
| SQLCLI_STATS_REQ_RMS_INFO = 8,
|
| SQLCLI_STATS_REQ_ET_OFFENDER = 9,
|
| SQLCLI_STATS_REQ_MEM_OFFENDER = 10,
|
| SQLCLI_STATS_REQ_PROCESS_INFO = 11
|
| };
|
|
|
| enum STATS_SUB_REQ_TYPE {
|
| SQLCLI_STATS_REQ_QUERIES_IN_SQL = 1,
|
| SQLCLI_STATS_REQ_QUERIES_IN_CLIENT = 2,
|
| SQLCLI_STATS_REQ_INACTIVE_QUERIES = 3,
|
| SQLCLI_STATS_REQ_DEAD_QUERIES = 4,
|
| SQLCLI_STATS_REQ_UNMONITORED_QUERIES = 5,
|
| SQLCLI_STATS_REQ_SE_ROOT = 6,
|
| SQLCLI_STATS_REQ_SE_OPERATOR = 7,
|
| SQLCLI_STATS_REQ_RMS_CHECK = 11,
|
| SQLCLI_STATS_REQ_MEM_HIGH_WM = 12,
|
| SQLCLI_STATS_REQ_MEM_ALLOC = 13,
|
| SQLCLI_STATS_REQ_PFS_USE = 14
|
| };
|
|
|
| enum SCRATCH_OVERFLOW_MODE {
|
| SQLCLI_OFM_DISK_TYPE = 0,
|
| SQLCLI_OFM_SSD_TYPE = 1,
|
| SQLCLI_OFM_MMAP_TYPE = 2
|
|
|
| };
|
|
|
| typedef struct {
|
| short tdb_id;
|
| short stats_type;
|
| char tdb_name[MAX_TDB_NAME_LEN+1];
|
| } SQLSTATS_DESC;
|
|
|
| /* SQLSTATS_DESC stats type returned for various SQLSTATS_TYPE
|
| SQLSTATS_TYPE Returned SQLSTATS_DESC_STATS_TYPEs
|
|
|
| SQLCLI_ACCUMULATED_STATS SQLSTATS_DESC_MASTER_STATS
|
| SQLSTATS_DESC_MEAS_STATS
|
|
|
| SQLCLI_PERTABLE_STATS SQLSTATS_DESC_MASTER_STATS
|
| SQLSTATS_DESC_ROOT_OPER_STATS
|
| SQLSTATS_DESC_PERTABLE_STATS as many as the no. of tables in the query
|
|
|
| SQLCLI_OPERATOR_STATS SQLSTATS_DESC_MASTER_STATS
|
| SQLSTATS_DESC_ROOT_OPER_STATS for every ESP root or master root
|
| SQLSTATS_DESC_PERTABLE_STATS for all DP2 operators
|
| SQLSTATS_DESC_PERTABLE_STATS for all PA operators
|
| SQLSTATS_DESC_BMO_STATS for sort, hash join and hash group by operators
|
| SQLSTATS_DESC_UDR_BASE_STATS for UDR
|
| SQLSTATS_DESC_OPER_STATS for the rest
|
|
|
| */
|
| enum SQLSTATS_DESC_STATS_TYPE {
|
| SQLSTATS_DESC_OPER_STATS = 0,
|
| SQLSTATS_DESC_ROOT_OPER_STATS = 1,
|
| SQLSTATS_DESC_DP2_LEAF_STATS = 2,
|
| SQLSTATS_DESC_DP2_INSERT_STATS = 3,
|
| SQLSTATS_DESC_PARTITION_ACCESS_STATS = 4,
|
| SQLSTATS_DESC_GROUP_BY_STATS = 5,
|
| SQLSTATS_DESC_HASH_JOIN_STATS = 6,
|
| SQLSTATS_DESC_PROBE_CACHE_STATS = 7,
|
| SQLSTATS_DESC_ESP_STATS = 8,
|
| SQLSTATS_DESC_SPLIT_TOP_STATS = 9,
|
| SQLSTATS_DESC_MEAS_STATS = 10,
|
| SQLSTATS_DESC_PERTABLE_STATS = 11,
|
| SQLSTATS_DESC_SORT_STATS = 12,
|
| SQLSTATS_DESC_UDR_STATS = 13,
|
| SQLSTATS_DESC_NO_OP = 14,
|
| SQLSTATS_DESC_MASTER_STATS = 15 ,
|
| SQLSTATS_DESC_RMS_STATS = 16,
|
| SQLSTATS_DESC_BMO_STATS = 17,
|
| SQLSTATS_DESC_UDR_BASE_STATS = 18,
|
| SQLSTATS_DESC_REPLICATE_STATS = 19,
|
| SQLSTATS_DESC_REPLICATOR_STATS = 20,
|
| SQLSTATS_DESC_FAST_EXTRACT_STATS = 21,
|
| SQLSTATS_DESC_REORG_STATS = 22,
|
| SQLSTATS_DESC_HDFSSCAN_STATS = 23,
|
| SQLSTATS_DESC_HBASE_ACCESS_STATS = 24,
|
| SQLSTATS_DESC_PROCESS_STATS = 25
|
| };
|
|
|
|
|
| enum SQLSTATS_ITEM_ID {
|
| /* SQLSTATS_ITEM_ID for SQLSTATS_DESC_MASTER_STATS */
|
| SQLSTATS_QUERY_ID = 0,
|
| SQLSTATS_COMP_START_TIME = 1,
|
| SQLSTATS_COMP_END_TIME = 2,
|
| SQLSTATS_COMP_TIME = 3,
|
| SQLSTATS_EXECUTE_START_TIME = 4,
|
| SQLSTATS_FIRST_ROW_RET_TIME = 5,
|
| SQLSTATS_EXECUTE_END_TIME = 6,
|
| SQLSTATS_EXECUTE_TIME = 7,
|
| SQLSTATS_FIXUP_TIME = 8,
|
| SQLSTATS_STMT_STATE = 9,
|
| SQLSTATS_ROWS_AFFECTED = 10,
|
| SQLSTATS_SQL_ERROR_CODE = 11,
|
| SQLSTATS_STATS_ERROR_CODE = 12,
|
| SQLSTATS_QUERY_TYPE = 13,
|
| SQLSTATS_PARENT_QUERY_ID = 14,
|
| SQLSTATS_NUM_SQLPROCS = 15,
|
| SQLSTATS_NUM_CPUS = 16,
|
| SQLSTATS_SOURCE_STR = 17,
|
| SQLSTATS_MASTER_PRIORITY = 18,
|
| SQLSTATS_TRANSID = 19,
|
| SQLSTATS_CHILD_QUERY_ID = 200,
|
| SQLSTATS_RECLAIM_SPACE_COUNT = 201,
|
| SQLSTATS_SUBQUERY_TYPE = 202,
|
| SQLSTATS_PARENT_QUERY_SYSTEM = 203,
|
| /* The following 3 enums are moved from operator level stats
|
| to here, however, the enum values are not changed to provide
|
| backward compatibility */
|
| SQLSTATS_AQR_LAST_ERROR= 86,
|
| SQLSTATS_AQR_NUM_RETRIES=87,
|
| SQLSTATS_AQR_DELAY_BEFORE_RETRY=88,
|
| /* SQLSTATS_ITEM_ID for SQLSTATS_DESC_MASTER_STATS and SQLSTATS_DESC_PERTABLE_STATS */
|
| SQLSTATS_EST_ROWS_ACCESSED = 20,
|
| SQLSTATS_EST_ROWS_USED = 21,
|
| SQLSTATS_SOURCE_STR_LEN = 22,
|
| SQLSTATS_ROWS_RETURNED = 23,
|
| SQLSTATS_ROWS_RETURNED_TIME = 24,
|
| /* SQLSTATS_ITEM_ID for SQLSTATS_DESC_MEAS_STATS and SQLSTATS_DESC_PERTABLE_STATS */
|
| SQLSTATS_ACT_ROWS_ACCESSED = 30,
|
| SQLSTATS_ACT_ROWS_USED = 31,
|
| SQLSTATS_MSG_COUNT = 32,
|
| SQLSTATS_MSG_BYTES = 33,
|
| SQLSTATS_STATS_BYTES = 34,
|
| SQLSTATS_DISK_IOS = 35,
|
| SQLSTATS_LOCK_WAITS = 36,
|
| SQLSTATS_LOCK_ESCALATIONS = 37,
|
| SQLSTATS_DP2_CPU_BUSY_TIME = 38,
|
| SQLSTATS_DP2_REDRIVE_ATTEMPTS = 39,
|
|
|
| SQLSTATS_SQL_CPU_BUSY_TIME = 50,
|
| SQLSTATS_SQL_SPACE_ALLOC = 51,
|
| SQLSTATS_SQL_SPACE_USED = 52,
|
| SQLSTATS_SQL_HEAP_ALLOC = 53,
|
| SQLSTATS_SQL_HEAP_USED = 54,
|
| SQLSTATS_EID_SPACE_ALLOC = 55,
|
| SQLSTATS_EID_SPACE_USED = 56,
|
| SQLSTATS_EID_HEAP_ALLOC = 57,
|
| SQLSTATS_EID_HEAP_USED = 58,
|
| SQLSTATS_OPENS = 59,
|
| SQLSTATS_OPEN_TIME = 60,
|
| SQLSTATS_PROCESS_CREATED = 61,
|
| SQLSTATS_PROCESS_CREATE_TIME = 62,
|
| SQLSTATS_REQ_MSG_CNT = 63,
|
| SQLSTATS_REQ_MSG_BYTES = 64,
|
| SQLSTATS_REPLY_MSG_CNT = 65,
|
| SQLSTATS_REPLY_MSG_BYTES = 66,
|
| SQLSTATS_PHYS_MEM_IN_USE = 67,
|
| SQLSTATS_SQL_MAX_WAIT_TIME = 68,
|
| SQLSTATS_SQL_AVG_WAIT_TIME = 69,
|
|
|
| /* SQLSTATS_ITEM_ID for SQLSTATS_DESC_PERTABLE_STATS */
|
| SQLSTATS_TABLE_ANSI_NAME = 70,
|
| /* SQLSTATS_ITEM_ID for Operator level Stats */
|
| SQLSTATS_EXPLAIN_NODE_ID = 80,
|
| SQLSTATS_NUM_CALLS = 81,
|
| SQLSTATS_TDB_ID = 82,
|
| SQLSTATS_TDB_NAME = 83,
|
| SQLSTATS_LEFT_CHILD = 84,
|
| SQLSTATS_RIGHT_CHILD = 85,
|
| /* enum 86, 87 and 88 are moved to master stats */
|
| SQLSTATS_PARENT_TDB_ID = 89,
|
| SQLSTATS_FRAG_NUM = 90,
|
| SQLSTATS_OPER_CPU_TIME =91,
|
| SQLSTATS_INST_NUM = 92,
|
| SQLSTATS_INST_ID = 93,
|
| SQLSTATS_DETAIL = 94,
|
| SQLSTATS_DOP = 95,
|
| /* SQLSTATS_ITEM_ID for RMS_STATS */
|
| SQLSTATS_RMS_VER = 100,
|
| SQLSTATS_NODE_NAME = 101,
|
| SQLSTATS_CPU = 102,
|
| SQLSTATS_SSCP_PID = 103,
|
| SQLSTATS_SSCP_PRIORITY = 104,
|
| SQLSTATS_SSCP_TIMESTAMP = 105,
|
| SQLSTATS_SSMP_PID = 106,
|
| SQLSTATS_SSMP_PRIORITY = 107,
|
| SQLSTATS_SSMP_TIMESTAMP = 108,
|
| SQLSTATS_STORE_SRC_LEN = 109,
|
| SQLSTATS_RMS_ENV_TYPE = 110,
|
| SQLSTATS_STATS_HEAP_ALLOC = 111,
|
| SQLSTATS_STATS_HEAP_USED = 112,
|
| SQLSTATS_STATS_HEAP_HIGH_WM = 113,
|
| SQLSTATS_PROCESSES_REGD = 114,
|
| SQLSTATS_QUERIES_REGD = 115,
|
| SQLSTATS_RMS_SEMAPHORE_PID = 116,
|
| SQLSTATS_SSCPS_OPENED = 117,
|
| SQLSTATS_SSCPS_DELETED_OPENS = 118,
|
| SQLSTATS_LAST_GC_TIME = 119,
|
| SQLSTATS_QUERIES_GCED_IN_LAST_RUN = 120,
|
| SQLSTATS_TOTAL_QUERIES_GCED = 121,
|
| SQLSTATS_SSMP_REQ_MSG_CNT = 122,
|
| SQLSTATS_SSMP_REQ_MSG_BYTES = 123,
|
| SQLSTATS_SSMP_REPLY_MSG_CNT = 124,
|
| SQLSTATS_SSMP_REPLY_MSG_BYTES = 125,
|
| SQLSTATS_SSCP_REQ_MSG_CNT = 126,
|
| SQLSTATS_SSCP_REQ_MSG_BYTES = 127,
|
| SQLSTATS_SSCP_REPLY_MSG_CNT = 128,
|
| SQLSTATS_SSCP_REPLY_MSG_BYTES = 129,
|
| SQLSTATS_RMS_STATS_RESET_TIMESTAMP = 130,
|
| SQLSTATS_RMS_STATS_NUM_SQL_SIK = 131,
|
| /* SQLSTATS_ITEM_ID for BMO_STATS */
|
| SQLSTATS_BMO_HEAP_USED = 150,
|
| SQLSTATS_BMO_HEAP_ALLOC = 151,
|
| SQLSTATS_BMO_HEAP_WM = 152,
|
| SQLSTATS_BMO_SPACE_BUFFER_SIZE = 153,
|
| SQLSTATS_BMO_SPACE_BUFFER_COUNT = 154,
|
| SQLSTATS_OVEFLOW_PHASE_STARTTIME = 155,
|
| SQLSTATS_OVERFLOW_PHASE = 156,
|
| SQLSTATS_SCRATCH_FILE_COUNT = 157,
|
| SQLSTATS_SCRATCH_BUFFER_BLOCK_SIZE = 158,
|
| SQLSTATS_SCRATCH_BUFFER_BLOCKS_READ = 159,
|
| SQLSTATS_SCRATCH_BUFFER_BLOCKS_WRITTEN = 160,
|
| SQLSTATS_SCRATCH_OVERFLOW_MODE = 161,
|
| SQLSTATS_SCRATCH_READ_COUNT = 162,
|
| SQLSTATS_SCRATCH_WRITE_COUNT = 163,
|
| /* SQLSTATS_ITEM_ID for UDR_BASE_STATS */
|
| SQLSTATS_UDR_CPU_BUSY_TIME = 170,
|
| SQLSTATS_RECENT_REQ_TS = 171,
|
| SQLSTATS_RECENT_REPLY_TS = 172,
|
| SQLSTATS_UDR_SERVER_ID = 173,
|
| SQLSTATS_CANCEL_TIME_ID = 174,
|
| SQLSTATS_QUERY_SUSPENDED = 175,
|
| SQLSTATS_SUSPEND_TIME_ID = 176,
|
| /* SQLSTATS_ITEM_ID for REPLICATE_STATS */
|
| SQLSTATS_REPL_ANSI_NAME = 180,
|
| SQLSTATS_REPL_SOURCE_SYSTEM = 181,
|
| SQLSTATS_REPL_TARGET_SYSTEM = 182,
|
| SQLSTATS_REPL_OBJECT_TYPE = 183,
|
| SQLSTATS_REPL_TYPE = 184,
|
| SQLSTATS_REPL_NUM_PARTNS = 185,
|
| SQLSTATS_REPL_PHASE0_START_TIME = 186,
|
| SQLSTATS_REPL_PHASE0_END_TIME = 187,
|
| SQLSTATS_REPL_PHASE0_ELAPSED_TIME = 188,
|
| SQLSTATS_REPL_PHASE1_START_TIME = 189,
|
| SQLSTATS_REPL_PHASE1_END_TIME = 190,
|
| SQLSTATS_REPL_PHASE1_ELAPSED_TIME = 191,
|
| SQLSTATS_REPL_PHASE2_START_TIME = 192,
|
| SQLSTATS_REPL_PHASE2_END_TIME = 193,
|
| SQLSTATS_REPL_PHASE2_ELAPSED_TIME = 194,
|
| SQLSTATS_REPL_PHASE3_START_TIME = 195,
|
| SQLSTATS_REPL_PHASE3_END_TIME = 196,
|
| SQLSTATS_REPL_PHASE3_ELAPSED_TIME = 197,
|
| SQLSTATS_REPL_PHASE4_START_TIME = 198,
|
| SQLSTATS_REPL_PHASE4_END_TIME = 199,
|
| SQLSTATS_REPL_PHASE4_ELAPSED_TIME = 220,
|
| SQLSTATS_REPL_PHASE5_START_TIME = 221,
|
| SQLSTATS_REPL_PHASE5_END_TIME = 222,
|
| SQLSTATS_REPL_PHASE5_ELAPSED_TIME = 223,
|
| SQLSTATS_REPL_PHASE6_START_TIME = 224,
|
| SQLSTATS_REPL_PHASE6_END_TIME = 225,
|
| SQLSTATS_REPL_PHASE6_ELAPSED_TIME = 226,
|
| SQLSTATS_REPL_ROWS_READ = 227,
|
| SQLSTATS_REPL_TOTAL_BLOCKS = 228,
|
| SQLSTATS_REPL_BLOCKS_REPLICATED = 229,
|
| SQLSTATS_REPL_PERCENT_DONE = 230,
|
| SQLSTATS_REPL_AVG_COMP_RATIO = 231,
|
| SQLSTATS_REPL_AVG_COMP_TIME = 232,
|
| SQLSTATS_REPL_AVG_UNCOMP_TIME = 233,
|
| SQLSTATS_REPL_STATUS = 234,
|
| SQLSTATS_REPL_SOURCE_FILE_NAME = 235,
|
| SQLSTATS_REPL_TARGET_FILE_NAME = 236,
|
| SQLSTATS_REPL_BLOCK_LEN = 237,
|
| SQLSTATS_REPL_TOTAL_COMPRESS_TIME = 238,
|
| SQLSTATS_REPL_TOTAL_COMPRESS_BYTES = 239,
|
| SQLSTATS_REPL_TOTAL_UNCOMPRESS_TIME = 240,
|
| SQLSTATS_REPL_TOTAL_UNCOMPRESS_BYTES = 241,
|
| SQLSTATS_REPL_CONCURRENCY = 242,
|
| SQLSTATS_REPL_COMPLETED_PARTNS = 243,
|
| SQLSTATS_REPL_BLOCKS_READ = 244
|
| };
|
|
|
| typedef struct {
|
| short tdb_id;
|
| short stats_type;
|
| short statsItem_id; /* SQLSTATS_ITEM_ID */
|
| _int64 int64_value;
|
| double double_value;
|
| char *str_value;
|
| Int32 str_max_len;
|
| Int32 str_ret_len;
|
| Int32 error_code;
|
| } SQLSTATS_ITEM;
|
|
|
|
|
| /* used in call to SQLCLI_Prepare2 */
|
| enum PREPARE_FLAGS
|
| {
|
| /* A standalone and not an explicitely PREPAREd query */
|
| PREPARE_STANDALONE_QUERY = 0x0001,
|
|
|
| /* prepare being issued as part of an internal AQR */
|
| PREPARE_AUTO_QUERY_RETRY = 0x0002,
|
|
|
| /* prepare for old style automatic recomp */
|
| PREPARE_RECOMP = 0x0004,
|
|
|
| /* prepare should deallocate and reload cache in mxcmp */
|
| PREPARE_WITH_DECACHE = 0x0008,
|
|
|
| /* prepare should not use query text cache */
|
| PREPARE_NO_TEXT_CACHE = 0x0010,
|
|
|
| /* set when prepare is redriven for nowaited case */
|
| PREPARE_NOT_A_NEW_OPERATION = 0x0020,
|
|
|
| /* set when WMS monitoring is needed */
|
| PREPARE_MONITOR_THIS_QUERY = 0x0040,
|
|
|
| /* set when embedded compiler needs to be called */
|
| PREPARE_USE_EMBEDDED_ARKCMP = 0x0080
|
| };
|
|
|
| /* used to put and get security invalidation keys */
|
| typedef struct {
|
| UInt32 subject;
|
| UInt32 object;
|
| char operation[2];
|
| } SQL_SIKEY;
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_AddModule (
|
| /*IN*/ SQLMODULE_ID * module_name);
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_ADDMODULE (
|
| /*IN*/ SQLMODULE_ID * module_name);
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_AllocDesc (
|
| /*INOUT*/ SQLDESC_ID * desc_id,
|
| /*IN OPTIONAL*/ SQLDESC_ID * input_descriptor);
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_ALLOCDESC (
|
| /*INOUT*/ SQLDESC_ID * desc_id,
|
| /*IN OPTIONAL*/ SQLDESC_ID * input_descriptor);
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_AllocDescBasic (
|
| /*INOUT*/ SQLDESC_ID * desc_id,
|
| /*IN OPTIONAL*/ Int32 max_entries);
|
|
|
|
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_AssocFileNumber (
|
| /*IN*/ SQLSTMT_ID * statement_id,
|
| /*IN*/ short file_number);
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_ASSOCFILENUMBER (
|
| /*IN*/ SQLSTMT_ID * statement_id,
|
| /*IN*/ short file_number);
|
|
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_AllocStmt (
|
| /*INOUT*/ SQLSTMT_ID * new_statement_id,
|
| /*IN OPTIONAL*/ SQLSTMT_ID * cloned_statement);
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_ALLOCSTMT (
|
| /*INOUT*/ SQLSTMT_ID * new_statement_id,
|
| /*IN OPTIONAL*/ SQLSTMT_ID * cloned_statement);
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_AllocStmtForRS (
|
| /*IN*/ SQLSTMT_ID *callStmtId,
|
| /*IN*/ Int32 resultSetIndex,
|
| /*INOUT*/ SQLSTMT_ID *resultSetStmtId);
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_ALLOCSTMTFORRS (
|
| /*IN*/ SQLSTMT_ID *callStmtId,
|
| /*IN*/ Int32 resultSetIndex,
|
| /*INOUT*/ SQLSTMT_ID *resultSetStmtId);
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_ClearDiagnostics (/*IN*/ SQLSTMT_ID *statement_id);
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_CLEARDIAGNOSTICS (/*IN*/ SQLSTMT_ID *statement_id);
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_CLI_VERSION ();
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_CloseStmt (
|
| /*IN*/ SQLSTMT_ID * statement_id);
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_CLOSESTMT (
|
| /*IN*/ SQLSTMT_ID * statement_id);
|
|
|
|
|
| SQLCLI_LIB_FUNC
|
| Int32 SQL_EXEC_CreateContext(/*OUT*/ SQLCTX_HANDLE * context_handle,
|
| /*IN OPTIONAL*/ char* sqlAuthId,
|
| /*IN OPTIONAL*/ Int32 suppressAutoXactStart);
|
|
|
| SQLCLI_LIB_FUNC
|
| Int32 SQL_EXEC_CREATECONTEXT(/*OUT*/ SQLCTX_HANDLE * context_handle,
|
| /*IN OPTIONAL*/ char* sqlAuthId,
|
| /*IN OPTIONAL*/ Int32 suppressAutoXactStart);
|
|
|
|
|
| SQLCLI_LIB_FUNC
|
| Int32 SQL_EXEC_CurrentContext(/*OUT*/ SQLCTX_HANDLE * contextHandle);
|
|
|
|
|
| SQLCLI_LIB_FUNC
|
| Int32 SQL_EXEC_CURRENTCONTEXT(/*OUT*/ SQLCTX_HANDLE * contextHandle);
|
|
|
|
|
| SQLCLI_LIB_FUNC
|
| Int32 SQL_EXEC_DeleteContext(/*IN*/ SQLCTX_HANDLE contextHandle);
|
|
|
|
|
| SQLCLI_LIB_FUNC
|
| Int32 SQL_EXEC_DELETECONTEXT(/*IN*/ SQLCTX_HANDLE contextHandle);
|
|
|
|
|
| SQLCLI_LIB_FUNC
|
| Int32 SQL_EXEC_ResetContext(/*IN*/ SQLCTX_HANDLE contextHandle, /*IN*/ void *contextMsg);
|
|
|
|
|
| SQLCLI_LIB_FUNC
|
| Int32 SQL_EXEC_RESETCONTEXT(/*IN*/ SQLCTX_HANDLE contextHandle, /*IN*/ void *contextMsg);
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_DeallocDesc (
|
| /*IN*/ SQLDESC_ID * desc_id );
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_DEALLOCDESC (
|
| /*IN*/ SQLDESC_ID * desc_id );
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_DeallocStmt (
|
| /*IN*/ SQLSTMT_ID * statement_id);
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_DEALLOCSTMT (
|
| /*IN*/ SQLSTMT_ID * statement_id);
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_DefineDesc (
|
| /*IN*/ SQLSTMT_ID * statement_id,
|
| /*IN* (SQLWHAT_DESC) */ Int32 what_descriptor,
|
| /*IN*/ SQLDESC_ID * sql_descriptor);
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_DEFINEDESC (
|
| /*IN*/ SQLSTMT_ID * statement_id,
|
| /*IN* (SQLWHAT_DESC) */ Int32 what_descriptor,
|
| /*IN*/ SQLDESC_ID * sql_descriptor);
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_DescribeStmt (
|
| /*IN*/ SQLSTMT_ID * statement_id,
|
| /*IN OPTIONAL*/ SQLDESC_ID * input_descriptor,
|
| /*IN OPTIONAL*/ SQLDESC_ID * output_descriptor);
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_DESCRIBESTMT (
|
| /*IN*/ SQLSTMT_ID * statement_id,
|
| /*IN OPTIONAL*/ SQLDESC_ID * input_descriptor,
|
| /*IN OPTIONAL*/ SQLDESC_ID * output_descriptor);
|
|
|
| SQLCLI_LIB_FUNC
|
| Int32 SQL_EXEC_DisassocFileNumber(/*IN*/ SQLSTMT_ID * statement_id);
|
|
|
| SQLCLI_LIB_FUNC
|
| Int32 SQL_EXEC_DISASSOCFILENUMBER(/*IN*/ SQLSTMT_ID * statement_id);
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_DropContext (
|
| /*IN*/ SQLCTX_HANDLE context_handle );
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_DROPCONTEXT (
|
| /*IN*/ SQLCTX_HANDLE context_handle );
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_Exec (
|
| /*IN*/ SQLSTMT_ID * statement_id,
|
| /*IN OPTIONAL*/ SQLDESC_ID * input_descriptor,
|
| /*IN*/ Int32 num_ptr_pairs,
|
| ...);
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_EXEC (
|
| /*IN*/ SQLSTMT_ID * statement_id,
|
| /*IN OPTIONAL*/ SQLDESC_ID * input_descriptor,
|
| /*IN*/ Int32 num_ptr_pairs,
|
| /*IN*/ struct SQLCLI_PTR_PAIRS ptr_pairs[]);
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_ExecClose (
|
| /*IN*/ SQLSTMT_ID * statement_id,
|
| /*IN OPTIONAL*/ SQLDESC_ID * input_descriptor,
|
| /*IN*/ Int32 num_ptr_pairs,
|
| ...);
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_EXECCLOSE (
|
| /*IN*/ SQLSTMT_ID * statement_id,
|
| /*IN OPTIONAL*/ SQLDESC_ID * input_descriptor,
|
| /*IN*/ Int32 num_ptr_pairs,
|
| /*IN*/ struct SQLCLI_PTR_PAIRS ptr_pairs[]);
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_ExecDirect(
|
| /*IN*/ SQLSTMT_ID * statement_id,
|
| /*IN*/ SQLDESC_ID * sql_source,
|
| /*IN OPTIONAL*/ SQLDESC_ID * input_descriptor,
|
| /*IN*/ Int32 num_ptr_pairs,
|
| ...);
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_ExecDirect2(
|
| /*IN*/ SQLSTMT_ID * statement_id,
|
| /*IN*/ SQLDESC_ID * sql_source,
|
| /*IN*/ Int32 prepFlags,
|
| /*IN OPTIONAL*/ SQLDESC_ID * input_descriptor,
|
| /*IN*/ Int32 num_ptr_pairs,
|
| ...
|
| );
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_EXECDIRECT (
|
| /*IN*/ SQLSTMT_ID * statement_id,
|
| /*IN*/ SQLDESC_ID * sql_source,
|
| /*IN OPTIONAL*/ SQLDESC_ID * input_descriptor,
|
| /*IN*/ Int32 num_ptr_pairs,
|
| /*IN*/ struct SQLCLI_PTR_PAIRS ptr_pairs[]);
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_ExecDirectDealloc(
|
| /*IN*/ SQLSTMT_ID * statement_id,
|
| /*IN*/ SQLDESC_ID * sql_source,
|
| /*IN OPTIONAL*/ SQLDESC_ID * input_descriptor,
|
| /*IN*/ Int32 num_ptr_pairs,
|
| ...);
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_EXECDIRECTDEALLOC(
|
| /*IN*/ SQLSTMT_ID * statement_id,
|
| /*IN*/ SQLDESC_ID * sql_source,
|
| /*IN OPTIONAL*/ SQLDESC_ID * input_descriptor,
|
| /*IN*/ Int32 num_ptr_pairs,
|
| /*IN*/ struct SQLCLI_PTR_PAIRS ptr_pairs[]);
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_ExecFetch(
|
| /*IN*/ SQLSTMT_ID * statement_id,
|
| /*IN OPTIONAL*/ SQLDESC_ID * input_descriptor,
|
| /*IN*/ Int32 num_ptr_pairs,
|
| ...);
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_EXECFETCH(
|
| /*IN*/ SQLSTMT_ID * statement_id,
|
| /*IN OPTIONAL*/ SQLDESC_ID * input_descriptor,
|
| /*IN*/ Int32 num_ptr_pairs,
|
| /*IN*/ struct SQLCLI_PTR_PAIRS ptr_pairs[]);
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_ClearExecFetchClose(
|
| /*IN*/ SQLSTMT_ID * statement_id,
|
| /*IN OPTIONAL*/ SQLDESC_ID * input_descriptor,
|
| /*IN OPTIONAL*/ SQLDESC_ID * output_descriptor,
|
| /*IN*/ Int32 num_input_ptr_pairs,
|
| /*IN*/ Int32 num_output_ptr_pairs,
|
| /*IN*/ Int32 num_total_ptr_pairs,
|
| ...);
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_CLEAREXECFETCHCLOSE(
|
| /*IN*/ SQLSTMT_ID * statement_id,
|
| /*IN OPTIONAL*/ SQLDESC_ID * input_descriptor,
|
| /*IN OPTIONAL*/ SQLDESC_ID * output_descriptor,
|
| /*IN*/ Int32 num_input_ptr_pairs,
|
| /*IN*/ Int32 num_output_ptr_pairs,
|
| /*IN*/ Int32 num_total_ptr_pairs,
|
| /*IN*/ struct SQLCLI_PTR_PAIRS input_ptr_pairs[],
|
| /*IN*/ struct SQLCLI_PTR_PAIRS output_ptr_pairs[]);
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_Fetch(
|
| /*IN*/ SQLSTMT_ID * statement_id,
|
| /*IN OPTIONAL*/ SQLDESC_ID * output_descriptor,
|
| /*IN*/ Int32 num_ptr_pairs,
|
| ...);
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_FETCH(
|
| /*IN*/ SQLSTMT_ID * statement_id,
|
| /*IN OPTIONAL*/ SQLDESC_ID * output_descriptor,
|
| /*IN*/ Int32 num_ptr_pairs,
|
| /*IN*/ struct SQLCLI_PTR_PAIRS ptr_pairs[]);
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_FetchClose(
|
| /*IN*/ SQLSTMT_ID * statement_id,
|
| /*IN OPTIONAL*/ SQLDESC_ID * output_descriptor,
|
| /*IN*/ Int32 num_ptr_pairs,
|
| ...);
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_FETCHCLOSE(
|
| /*IN*/ SQLSTMT_ID * statement_id,
|
| /*IN OPTIONAL*/ SQLDESC_ID * output_descriptor,
|
| /*IN*/ Int32 num_ptr_pairs,
|
| /*IN*/ struct SQLCLI_PTR_PAIRS ptr_pairs[]);
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_FetchMultiple(/*IN*/ SQLSTMT_ID * statement_id,
|
| /*IN OPTIONAL*/ SQLDESC_ID * output_descriptor,
|
| /*IN*/ Int32 rowset_size,
|
| /*IN*/ Int32 * rowset_status_ptr,
|
| /*OUT*/ Int32 * rowset_nfetched,
|
| /*IN*/ Int32 num_quadruple_fields,
|
| ...);
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_FETCHMULTIPLE(/*IN*/ SQLSTMT_ID * statement_id,
|
| /*IN OPTIONAL*/ SQLDESC_ID * output_descriptor,
|
| /*IN*/ Int32 rowset_size,
|
| /*IN*/ Int32 * rowset_status_ptr,
|
| /*OUT*/ Int32 * rowset_nfetched,
|
| /*IN*/ Int32 num_quadruple_fields,
|
| /*IN*/ struct SQLCLI_QUAD_FIELDS quad_fields[]);
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_Cancel (
|
| /*IN OPTIONAL*/ SQLSTMT_ID * statement_id);
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_CANCEL (
|
| /*IN OPTIONAL*/ SQLSTMT_ID * statement_id);
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_GetDescEntryCount(
|
| /*IN*/ SQLDESC_ID * sql_descriptor,
|
| /*IN*/ SQLDESC_ID * output_descriptor);
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_GETDESCENTRYCOUNT(
|
| /*IN*/ SQLDESC_ID * sql_descriptor,
|
| /*IN*/ SQLDESC_ID * output_descriptor);
|
|
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_GetDescEntryCountBasic(
|
| /*IN*/ SQLDESC_ID * sql_descriptor,
|
| /*OUT*/ Int32 * num_entries);
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_GetDescItem(
|
| /*IN*/ SQLDESC_ID * sql_descriptor,
|
| /*IN*/ Int32 entry,
|
| /*IN* (SQLDESC_ITEM_ID) */ Int32 what_to_get,
|
| /*OUT OPTIONAL*/ void * numeric_value,
|
| /*OUT OPTIONAL*/ char * string_value,
|
| /*IN OPTIONAL*/ Int32 max_string_len,
|
| /*OUT OPTIONAL*/ Int32 * len_of_item,
|
| /*IN OPTIONAL*/ Int32 start_from_offset);
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_GETDESCITEM(
|
| /*IN*/ SQLDESC_ID * sql_descriptor,
|
| /*IN*/ Int32 entry,
|
| /*IN* (SQLDESC_ITEM_ID) */ Int32 what_to_get,
|
| /*OUT OPTIONAL*/ void * numeric_value,
|
| /*OUT OPTIONAL*/ char * string_value,
|
| /*IN OPTIONAL*/ Int32 max_string_len,
|
| /*OUT OPTIONAL*/ Int32 * len_of_item,
|
| /*IN OPTIONAL*/ Int32 start_from_offset);
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_GetDescItems(
|
| /*IN*/ SQLDESC_ID * sql_descriptor,
|
| /*IN*/ SQLDESC_ITEM desc_items[],
|
| /*IN*/ SQLDESC_ID * value_num_descriptor,
|
| /*IN*/ SQLDESC_ID * output_descriptor);
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_GETDESCITEMS(
|
| /*IN*/ SQLDESC_ID * sql_descriptor,
|
| /*IN*/ SQLDESC_ITEM desc_items[],
|
| /*IN*/ SQLDESC_ID * value_num_descriptor,
|
| /*IN*/ SQLDESC_ID * output_descriptor);
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_GetDescItems2(
|
| /*IN*/ SQLDESC_ID * sql_descriptor,
|
| /*IN*/ Int32 no_of_desc_items,
|
| /*IN*/ SQLDESC_ITEM desc_items[]);
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_GETDESCITEMS2(
|
| /*IN*/ SQLDESC_ID * sql_descriptor,
|
| /*IN*/ Int32 no_of_desc_items,
|
| /*IN*/ SQLDESC_ITEM desc_items[]);
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_GetDiagnosticsStmtInfo(
|
| /*IN*/ Int32 *stmt_info_items,
|
| /*IN*/ SQLDESC_ID * output_descriptor);
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_GETDIAGNOSTICSSTMTINFO(
|
| /*IN*/ Int32 *stmt_info_items,
|
| /*IN*/ SQLDESC_ID * output_descriptor);
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_GetDiagnosticsStmtInfo2(
|
| /*IN OPTIONAL*/ SQLSTMT_ID * statement_id,
|
| /*IN* (SQLDIAG_STMT_INFO_ITEM_ID) */ Int32 what_to_get,
|
| /*OUT OPTIONAL*/ void * numeric_value,
|
| /*OUT OPTIONAL*/ char * string_value,
|
| /*IN OPTIONAL*/ Int32 max_string_len,
|
| /*OUT OPTIONAL*/ Int32 * len_of_item);
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_GETDIAGNOSTICSSTMTINFO2(
|
| /*IN OPTIONAL*/ SQLSTMT_ID * statement_id,
|
| /*IN* (SQLDIAG_STMT_INFO_ITEM_ID) */ Int32 what_to_get,
|
| /*OUT OPTIONAL*/ void * numeric_value,
|
| /*OUT OPTIONAL*/ char * string_value,
|
| /*IN OPTIONAL*/ Int32 max_string_len,
|
| /*OUT OPTIONAL*/ Int32 * len_of_item);
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_GetDiagnosticsCondInfo(
|
| /*IN*/ SQLDIAG_COND_INFO_ITEM *cond_info_items,
|
| /*IN*/ SQLDESC_ID * cond_num_descriptor,
|
| /*IN*/ SQLDESC_ID * output_descriptor);
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_GETDIAGNOSTICSCONDINFO(
|
| /*IN*/ SQLDIAG_COND_INFO_ITEM *cond_info_items,
|
| /*IN*/ SQLDESC_ID * cond_num_descriptor,
|
| /*IN*/ SQLDESC_ID * output_descriptor);
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_GetDiagnosticsCondInfo2(
|
| /*IN* (SQLDIAG_COND_INFO_ITEM_ID) */ Int32 what_to_get,
|
| /*IN*/ Int32 conditionNum,
|
| /*OUT OPTIONAL*/ Int32 * numeric_value,
|
| /*OUT OPTIONAL*/ char * string_value,
|
| /*IN OPTIONAL */ Int32 max_string_len,
|
| /*OUT OPTIONAL*/ Int32 * len_of_item);
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_GETDIAGNOSTICSCONDINFO2(
|
| /*IN* (SQLDIAG_COND_INFO_ITEM_ID) */ Int32 what_to_get,
|
| /*IN*/ Int32 conditionNum,
|
| /*OUT OPTIONAL*/ Int32 * numeric_value,
|
| /*OUT OPTIONAL*/ char * string_value,
|
| /*IN OPTIONAL */ Int32 max_string_len,
|
| /*OUT OPTIONAL*/ Int32 * len_of_item);
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_GetDiagnosticsCondInfo3 (
|
| /*IN*/ Int32 no_of_condition_items,
|
| /*IN*/ SQLDIAG_COND_INFO_ITEM_VALUE
|
| diag_cond_info_item_values[]);
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_GETDIAGNOSTICSCONDINFO3 (
|
| /*IN*/ Int32 no_of_condition_items,
|
| /*IN*/ SQLDIAG_COND_INFO_ITEM_VALUE
|
| diag_cond_info_item_values[]);
|
|
|
| /* This function retrieves the SQLSTATE from the statement diagnostics area
|
| if possible */
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_GetMainSQLSTATE(
|
| /*IN*/ SQLSTMT_ID * statement_id,
|
| /*IN*/ Int32 sqlcode,
|
| /*OUT*/ char * sqlstate /* assumed to be char[6] */);
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_GETMAINSQLSTATE(
|
| /*IN*/ SQLSTMT_ID * statement_id,
|
| /*IN*/ Int32 sqlcode,
|
| /*OUT*/ char * sqlstate /* assumed to be char[6] */);
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_GetCSQLSTATE(
|
| /*OUT*/ char * sqlstate /* assumed to be char[6] */,
|
| /*IN*/ Int32 sqlcode);
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_GETCSQLSTATE(
|
| /*OUT*/ char * sqlstate /* assumed to be char[6] */,
|
| /*IN*/ Int32 sqlcode);
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_GetCobolSQLSTATE(
|
| /*OUT*/ char * sqlstate /* assumed to be char[5] */,
|
| /*IN*/ Int32 sqlcode);
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_GETCOBOLSQLSTATE(
|
| /*OUT*/ char * sqlstate /* assumed to be char[5] */,
|
| /*IN*/ Int32 sqlcode);
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_GetSQLSTATE(
|
| /*OUT*/ char * sqlstate /* assumed to be char[6] */);
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_GETSQLSTATE(
|
| /*OUT*/ char * sqlstate /* assumed to be char[6] */);
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_GetSessionAttr(
|
| /*IN* (SESSIONATTR_TYPE) */ Int32 attrName,
|
| /*OUT OPTIONAL*/ Int32 * numeric_value,
|
| /*OUT OPTIONAL*/ char * string_value,
|
| /*IN OPTIONAL*/ Int32 max_string_len,
|
| /*OUT OPTIONAL*/ Int32 * len_of_item);
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_GetUniqueQueryIdAttrs (
|
| /*IN*/ char * uniqueQueryId,
|
| /*IN*/ Int32 uniqueQueryIdLen,
|
| /*IN*/ Int32 no_of_attrs,
|
| /*INOUT*/ UNIQUEQUERYID_ATTR unique_queryid_attrs[]);
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_GetStmtAttr(
|
| /*IN*/ SQLSTMT_ID * statement_id,
|
| /*IN* (SQLATTR_TYPE) */ Int32 attrName,
|
| /*OUT OPTIONAL*/ Int32 * numeric_value,
|
| /*OUT OPTIONAL*/ char * string_value,
|
| /*IN OPTIONAL*/ Int32 max_string_len,
|
| /*OUT OPTIONAL*/ Int32 * len_of_item);
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_GETSTMTATTR(
|
| /*IN*/ SQLSTMT_ID * statement_id,
|
| /*IN* (SQLATTR_TYPE) */ Int32 attrName,
|
| /*OUT OPTIONAL*/ Int32 * numeric_value,
|
| /*OUT OPTIONAL*/ char * string_value,
|
| /*IN OPTIONAL*/ Int32 max_string_len,
|
| /*OUT OPTIONAL*/ Int32 * len_of_item);
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_GetStmtAttrs(
|
| /*IN*/ SQLSTMT_ID * statement_id,
|
| /*IN*/ Int32 number_of_attrs,
|
| /*INOUT*/ SQLSTMT_ATTR attrs[],
|
| /*OUT OPTIONAL*/ Int32 * num_returned);
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_GETSTMTATTRS(
|
| /*IN*/ SQLSTMT_ID * statement_id,
|
| /*IN*/ Int32 number_of_attrs,
|
| /*INOUT*/ SQLSTMT_ATTR attrs[],
|
| /*OUT OPTIONAL*/ Int32 * num_returned);
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_GETMPCATALOG(
|
| /*IN*/ char * AnsiObjName,
|
| /*INOUT*/ char * MPObjName,
|
| /*IN*/ Int32 MPObjNameMaxLen,
|
| /*INOUT*/ Int32 * MPObjNameLen,
|
| /*OUT*/ char * MPCatalogName,
|
| /*IN*/ Int32 MPCatalogNameMaxLen,
|
| /*OUT*/ Int32 * MPCatalogNameLen);
|
|
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_Prepare(
|
| /*IN*/ SQLSTMT_ID * statement_id,
|
| /*IN*/ SQLDESC_ID * sql_source);
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_PREPARE(
|
| /*IN*/ SQLSTMT_ID * statement_id,
|
| /*IN*/ SQLDESC_ID * sql_source);
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_Prepare2(
|
| /*IN*/ SQLSTMT_ID * statement_id,
|
| /*IN*/ SQLDESC_ID * sql_source,
|
| /*INOUT*/ char * gencode_ptr,
|
| /*IN*/ Int32 gencode_len,
|
| /*INOUT*/ Int32 * ret_gencode_len,
|
| /*INOUT*/ SQL_QUERY_COST_INFO *query_cost_info,
|
| /*INOUT*/ SQL_QUERY_COMPILER_STATS_INFO *comp_stats_info,
|
| /*INOUT*/ char * uniqueQueryId,
|
| /*INOUT*/ Int32 * uniqueQueryIdLen,
|
| /*IN*/ UInt32 flags);
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_ResDescName(
|
| /*INOUT*/ SQLDESC_ID * statement_id,
|
| /*IN OPTIONAL*/ SQLSTMT_ID * from_statement,
|
| /*IN OPTIONAL (SQLWHAT_DESC) */ Int32 what_desc);
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_RESDESCNAME(
|
| /*INOUT*/ SQLDESC_ID * statement_id,
|
| /*IN OPTIONAL*/ SQLSTMT_ID * from_statement,
|
| /*IN OPTIONAL (SQLWHAT_DESC) */ Int32 what_desc);
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_ResStmtName(
|
| /*INOUT*/ SQLSTMT_ID * statement_id);
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_RESSTMTNAME(
|
| /*INOUT*/ SQLSTMT_ID * statement_id);
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_SetCursorName(
|
| /*IN*/ SQLSTMT_ID * statement_id,
|
| /*IN*/ SQLSTMT_ID * cursor_name);
|
|
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_SETCURSORNAME(
|
| /*IN*/ SQLSTMT_ID * statement_id,
|
| /*IN*/ SQLSTMT_ID * cursor_name);
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_SetDescEntryCount(
|
| /*IN*/ SQLDESC_ID * sql_descriptor,
|
| /*IN*/ SQLDESC_ID * input_descriptor);
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_SETDESCENTRYCOUNT(
|
| /*IN*/ SQLDESC_ID * sql_descriptor,
|
| /*IN*/ SQLDESC_ID * input_descriptor);
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_SetDescEntryCountBasic(
|
| /*IN*/ SQLDESC_ID * sql_descriptor,
|
| /*IN*/ Int32 num_entries);
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_SetDescItem(
|
| /*IN*/ SQLDESC_ID * sql_descriptor,
|
| /*IN*/ Int32 entry,
|
| /*IN* (SQLDESC_ITEM_ID) */ Int32 what_to_set,
|
| /*IN OPTIONAL*/ long numeric_value,
|
| /*IN OPTIONAL*/ char * string_value);
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_SETDESCITEM(
|
| /*IN*/ SQLDESC_ID * sql_descriptor,
|
| /*IN*/ Int32 entry,
|
| /*IN* (SQLDESC_ITEM_ID) */ Int32 what_to_set,
|
| /*IN OPTIONAL*/ long numeric_value,
|
| /*IN OPTIONAL*/ char * string_value);
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_SetDescItems(
|
| /*IN*/ SQLDESC_ID * sql_descriptor,
|
| /*IN*/ SQLDESC_ITEM desc_items[],
|
| /*IN*/ SQLDESC_ID * value_num_descriptor,
|
| /*IN*/ SQLDESC_ID * input_descriptor);
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_SETDESCITEMS(
|
| /*IN*/ SQLDESC_ID * sql_descriptor,
|
| /*IN*/ SQLDESC_ITEM desc_items[],
|
| /*IN*/ SQLDESC_ID * value_num_descriptor,
|
| /*IN*/ SQLDESC_ID * input_descriptor);
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_SetDescItems2(
|
| /*IN*/ SQLDESC_ID * sql_descriptor,
|
| /*IN*/ Int32 no_of_desc_items,
|
| /*IN*/ SQLDESC_ITEM desc_items[]);
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_SETDESCITEMS2(
|
| /*IN*/ SQLDESC_ID * sql_descriptor,
|
| /*IN*/ Int32 no_of_desc_items,
|
| /*IN*/ SQLDESC_ITEM desc_items[]);
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_SetDescPointers(
|
| /*IN*/ SQLDESC_ID * sql_descriptor,
|
| /*IN*/ Int32 starting_entry,
|
| /*IN*/ Int32 num_ptr_pairs,
|
| ...);
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_SETDESCPOINTERS(
|
| /*IN*/ SQLDESC_ID * sql_descriptor,
|
| /*IN*/ Int32 starting_entry,
|
| /*IN*/ Int32 num_ptr_pairs,
|
| /*IN*/ struct SQLCLI_PTR_PAIRS ptr_pairs[]);
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_SetRowsetDescPointers(SQLDESC_ID * desc_id,
|
| Int32 rowset_size,
|
| Int32 *rowset_status_ptr,
|
| Int32 starting_entry,
|
| Int32 num_quadruple_fields,
|
| ...);
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_SETROWSETDESCPOINTERS(SQLDESC_ID * desc_id,
|
| Int32 rowset_size,
|
| Int32 *rowset_status_ptr,
|
| Int32 starting_entry,
|
| Int32 num_quadruple_fields,
|
| struct SQLCLI_QUAD_FIELDS quad_fields[]);
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_SetStmtAttr(
|
| /*IN*/ SQLSTMT_ID * statement_id,
|
| /*IN* (SQLATTR_TYPE) */ Int32 attrName,
|
| /*IN OPTIONAL*/ Int32 numeric_value,
|
| /*IN OPTIONAL*/ char * string_value);
|
|
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_SETSTMTATTR(
|
| /*IN*/ SQLSTMT_ID * statement_id,
|
| /*IN* (SQLATTR_TYPE) */ Int32 attrName,
|
| /*IN OPTIONAL*/ Int32 numeric_value,
|
| /*IN OPTIONAL*/ char * string_value);
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_SwitchContext(
|
| /*IN*/ SQLCTX_HANDLE context_handle,
|
| /*OUT OPTIONAL*/ SQLCTX_HANDLE * prev_context_handle);
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_SWITCHCONTEXT(
|
| /*IN*/ SQLCTX_HANDLE context_handle,
|
| /*OUT OPTIONAL*/ SQLCTX_HANDLE * prev_context_handle);
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_Xact(
|
| /*IN* (SQLTRANS_COMMAND) */ Int32 command,
|
| /*OUT OPTIONAL*/ SQLDESC_ID * transid_descriptor);
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_XACT(
|
| /*IN* (SQLTRANS_COMMAND) */ Int32 command,
|
| /*OUT OPTIONAL*/ SQLDESC_ID * transid_descriptor);
|
|
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_SetAuthID(
|
| /*IN*/ char * authID,
|
| /*IN SQLAUTHID_TYPE */ Int32 authIDType,
|
| /* OUT Primary role name */ char * primaryRoleName,
|
| /* OUT Primary role name len */ short * primaryRoleNameLen,
|
| /* OUT User redef time */ Int64 * redefTime); // NA_64BIT
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_SETAUTHID(
|
| /*IN*/ char * authID,
|
| /*IN SQLAUTHID_TYPE */ Int32 authIDType,
|
| /* OUT OPTIONAL primaryRole*/ char *primaryRole,
|
| /* OUT OPTIONAL role len*/ short *primaryRoleLen,
|
| /* OUT OPTIONAL userRedefTime*/ Int64 *redefTime); // NA_64BIT
|
|
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_DecodeAndFormatKey(
|
| /*IN*/void * RCB_Pointer_Addr,
|
| /*IN*/void * KeyAddr,
|
| /*IN*/Int32 KeyLength,
|
| /*INOUT*/void * DecodedKeyBufAddr,
|
| /*INOUT*/void * FormattedKeyBufAddr,
|
| /*IN*/Int32 FormattedKeyBufLen,
|
| /*OUT*/Int32 * NeededKeyBufLen );
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_GetPartitionKeyFromRow(
|
| /*IN*/void * RCB_Pointer_Addr,
|
| /*IN*/void * Row_Addr,
|
| /*IN*/Int32 Row_Length,
|
| /*INOUT*/void * KeyAddr,
|
| /*IN*/Int32 KeyLength);
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_LocaleToUTF8 (
|
| /*IN*/Int32 conv_charset,
|
| /*IN*/void * Input_Buffer_Addr,
|
| /*IN*/Int32 Input_Buffer_Length,
|
| /*IN/OUT*/void * Output_Buffer_Addr,
|
| /*IN*/Int32 Output_Buffer_Length,
|
| /*OUT*/void ** First_Untranslated_Char_Addr,
|
| /*OUT*/Int32 * Output_Data_Length,
|
| /*IN*/Int32 add_null_at_end_Flag,
|
| /*OUT*/Int32 * num_translated_char
|
| );
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_UTF8ToLocale(
|
| /*IN*/Int32 conv_charset,
|
| /*IN*/void * Input_Buffer_Addr,
|
| /*IN*/Int32 Input_Buffer_Length,
|
| /*IN/OUT*/void * Output_Buffer_Addr,
|
| /*IN*/Int32 Output_Buffer_Length,
|
| /*OUT*/void ** First_Untranslated_Char_Addr,
|
| /*OUT*/Int32 * Output_Data_Length,
|
| /*IN*/Int32 add_null_at_end_Flag,
|
| /*IN*/Int32 allow_invalids,
|
| /*OUT*/Int32 * num_translated_char,
|
| /*IN*/void * substitution_char_addr
|
| );
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_LocaleToUTF16 (
|
| /*IN*/Int32 conv_charset,
|
| /*IN*/void * Input_Buffer_Addr,
|
| /*IN*/Int32 Input_Buffer_Length,
|
| /*IN/OUT*/void * Output_Buffer_Addr,
|
| /*IN*/Int32 Output_Buffer_Length,
|
| /*OUT*/void ** First_Untranslated_Char_Addr,
|
| /*OUT*/Int32 * Output_Data_Length,
|
| /*IN*/Int32 conv_flags,
|
| /*IN*/Int32 add_null_at_end_Flag,
|
| /*OUT*/Int32 * num_translated_char
|
| );
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_UTF16ToLocale(
|
| /*IN*/Int32 conv_charset,
|
| /*IN*/void * Input_Buffer_Addr,
|
| /*IN*/Int32 Input_Buffer_Length,
|
| /*IN/OUT*/void * Output_Buffer_Addr,
|
| /*IN*/Int32 Output_Buffer_Length,
|
| /*OUT*/void ** First_Untranslated_Char_Addr,
|
| /*OUT*/Int32 * Output_Data_Length,
|
| /*IN*/Int32 conv_flags,
|
| /*IN*/Int32 add_null_at_end_Flag,
|
| /*IN*/Int32 allow_invalids,
|
| /*OUT*/Int32 * num_translated_char,
|
| /*IN*/void * substitution_char_addr
|
| );
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_SetSecInvalidKeys(
|
| /* IN */ Int32 numSiKeys,
|
| /* IN */ SQL_SIKEY siKeys[]);
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_GetSecInvalidKeys(
|
| /* IN */ Int64 prevTimestamp,
|
| /* IN/OUT */ SQL_SIKEY siKeys[],
|
| /* IN */ Int32 maxNumSiKeys,
|
| /* IN/OUT */ Int32 *returnedNumSiKeys,
|
| /* IN/OUT */ Int64 *maxTimestamp);
|
|
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_GetStatistics2(
|
| /* IN */ short statsReqType,
|
| /* IN */ char *statsReqStr,
|
| /* IN */ Int32 statsReqStrLen,
|
| /* IN */ short activeQueryNum,
|
| /* IN */ short statsMergeType,
|
| /* OUT */ short *statsCollectType,
|
| /* IN/OUT */ SQLSTATS_DESC sqlstats_desc[],
|
| /* IN */ Int32 max_stats_desc,
|
| /* OUT */ Int32 *no_returned_stats_desc);
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_GetStatisticsItems(
|
| /* IN */ short statsReqType,
|
| /* IN */ char *queryId,
|
| /* IN */ Int32 queryIdLen,
|
| /* IN */ Int32 no_of_stats_items,
|
| /* IN/OUT */ SQLSTATS_ITEM sqlstats_items[]);
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_GetChildQueryInfo(
|
| /*IN*/ SQLSTMT_ID * statement_id,
|
| /*INOUT*/ char * uniqueQueryId,
|
| /*IN */ Int32 uniqueQueryIdMaxLen,
|
| /*INOUT*/ Int32 * uniqueQueryIdLen,
|
| /*INOUT*/ SQL_QUERY_COST_INFO *query_cost_info,
|
| /*INOUT*/ SQL_QUERY_COMPILER_STATS_INFO *comp_stats_info);
|
|
|
| #ifdef __cplusplus
|
| }
|
|
|
| /* temporary functions -- for use by sqlcat simulator only */
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_AllocDesc (
|
| /*INOUT*/ SQLDESC_ID * desc_id,
|
| /*IN OPTIONAL*/ Int32 max_entries);
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_GetDescEntryCount(
|
| /*IN*/ SQLDESC_ID * sql_descriptor,
|
| /*OUT*/ Int32 * num_entries);
|
|
|
| SQLCLI_LIB_FUNC Int32 SQL_EXEC_SetDescEntryCount(
|
| /*IN*/ SQLDESC_ID * sql_descriptor,
|
| /*IN*/ Int32 num_entries);
|
|
|
| #endif /*__cplusplus*/
|
|
|
| #endif /*SQLCLI_HDR*/
|