| /********************************************************************** |
| // @@@ 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++. |
| * |
| ****************************************************************************** |
| */ |
| |
| /* Size specific types used here */ |
| typedef int Int32; |
| typedef unsigned int UInt32; |
| #if defined(NA_64BIT) |
| typedef long Int64; |
| #else |
| typedef long long int Int64; |
| #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??? */ |
| /* BLOB TYPE */ |
| SQLTYPECODE_BLOB = -602, |
| SQLTYPECODE_CLOB = -603, |
| |
| /* BOOLEAN TYPE */ |
| 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; |
| float bmoMemLimitPerNode; |
| float estBmoMemPerNode; |
| char filler[20]; |
| } 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, |
| |
| SQLTRANS_SUSPEND = 11, |
| SQLTRANS_RESUME = 12, |
| }; |
| |
| /* 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, |
| SESSION_DATABASE_USER = 6, |
| SESSION_EXTERNAL_USER_NAME = 7 |
| }; |
| |
| /* 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_GET_STATISTICS = 3, |
| /* describe type of statements like showcontrol, showplan */ |
| SQL_DESCRIBE_QUERY = 4, |
| SQL_DISPLAY_EXPLAIN = 5, |
| SQL_STMT_HBASE_LOAD = 6, |
| SQL_STMT_HBASE_UNLOAD = 7, |
| /* Used to denote lob access */ |
| SQL_LOB_EXTRACT = 8, |
| SQL_LOB_UPDATE_UTIL = 9 |
| }; |
| |
| |
| 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_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, |
| SQLCLI_STATS_REQ_QID_INTERNAL = 12 |
| }; |
| |
| 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, |
| SQLCLI_STATS_REQ_ACTIVE_QUERIES = 15, |
| SQLCLI_STATS_REQ_QUERIES_IN_COMPILE = 16 |
| }; |
| |
| 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_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_SE_STATS = 23, |
| SQLSTATS_DESC_HDFSSCAN_STATS = 23, |
| SQLSTATS_DESC_HBASE_ACCESS_STATS = 23, |
| 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, |
| SQLSTATS_EXECUTE_COUNT = 204, |
| SQLSTATS_EXECUTE_TIME_MIN = 205, |
| SQLSTATS_EXECUTE_TIME_MAX = 206, |
| SQLSTATS_EXECUTE_TIME_AVG = 207, |
| /* 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_SE_IOS = 32, |
| SQLSTATS_SE_IO_BYTES = 33, |
| SQLSTATS_SE_IO_MAX_TIME = 34, |
| SQLSTATS_HBASE_IOS = 40, |
| SQLSTATS_HBASE_IO_BYTES = 41, |
| SQLSTATS_HBASE_IO_ELAPSED_TIME = 42, |
| SQLSTATS_HBASE_IO_MAX_TIME = 43, |
| SQLSTATS_HIVE_IOS = 44, |
| SQLSTATS_HIVE_IO_BYTES = 45, |
| SQLSTATS_HIVE_IO_ELAPSED_TIME = 46, |
| SQLSTATS_HIVE_IO_MAX_TIME = 47, |
| |
| 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_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_SQL_HEAP_WM = 71, |
| |
| /* 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_PROCESS_STATS_HEAPS = 132, |
| SQLSTATS_RMS_CONFIGURED_PID_MAX = 133, |
| /* 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_SCRATCH_IO_TIME = 155, |
| SQLSTATS_SCRATCH_IO_SIZE = 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_SCRATCH_IO_MAX_TIME = 164, |
| SQLSTATS_BMO_EST_MEMORY = 165, |
| SQLSTATS_BMO_PHASE = 166, |
| SQLSTATS_INTERIM_ROW_COUNT = 167, |
| /* 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, |
| SQLSTATS_TOPN = 245 |
| }; |
| |
| 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, |
| |
| /* set when we don't want the plan to go in the query cache */ |
| PREPARE_DONT_CACHE = 0x0100 |
| }; |
| |
| /* used to put and get DDL redefinition invalidation keys */ |
| typedef Int64 InvalidObjectUID; |
| |
| /* used to put and get security invalidation keys */ |
| typedef struct { |
| UInt32 subject; |
| UInt32 object; |
| } InvalidSecurityKey; |
| |
| typedef struct { |
| char operation[2]; |
| char filler[6]; |
| union { |
| InvalidObjectUID ddlObjectUID; |
| InvalidSecurityKey revokeKey; |
| }; |
| } SQL_QIKEY; |
| |
| Int32 SQL_EXEC_AllocDesc ( |
| /*INOUT*/ SQLDESC_ID * desc_id, |
| /*IN OPTIONAL*/ SQLDESC_ID * input_descriptor); |
| |
| Int32 SQL_EXEC_ALLOCDESC ( |
| /*INOUT*/ SQLDESC_ID * desc_id, |
| /*IN OPTIONAL*/ SQLDESC_ID * input_descriptor); |
| |
| Int32 SQL_EXEC_AllocDescBasic ( |
| /*INOUT*/ SQLDESC_ID * desc_id, |
| /*IN OPTIONAL*/ Int32 max_entries); |
| |
| Int32 SQL_EXEC_AssocFileNumber ( |
| /*IN*/ SQLSTMT_ID * statement_id, |
| /*IN*/ short file_number); |
| |
| Int32 SQL_EXEC_ASSOCFILENUMBER ( |
| /*IN*/ SQLSTMT_ID * statement_id, |
| /*IN*/ short file_number); |
| Int32 SQL_EXEC_GetDiskMaxSize ( |
| /*IN*/ char *volname, |
| /*OUT*/ Int64 *totalCapacity, |
| /*OUT*/ Int64 *totalFreespace); |
| Int32 SQL_EXEC_GetListOfDisks ( |
| /*IN/OUT*/ char *diskBuf, |
| /* OUT */ Int32 *numTSEs, |
| /* OUT */ Int32 *maxTSELength, |
| /* IN/OUT */ Int32 *diskBufLength |
| ); |
| |
| |
| Int32 SQL_EXEC_AllocStmt ( |
| /*INOUT*/ SQLSTMT_ID * new_statement_id, |
| /*IN OPTIONAL*/ SQLSTMT_ID * cloned_statement); |
| |
| Int32 SQL_EXEC_ALLOCSTMT ( |
| /*INOUT*/ SQLSTMT_ID * new_statement_id, |
| /*IN OPTIONAL*/ SQLSTMT_ID * cloned_statement); |
| |
| Int32 SQL_EXEC_AllocStmtForRS ( |
| /*IN*/ SQLSTMT_ID *callStmtId, |
| /*IN*/ Int32 resultSetIndex, |
| /*INOUT*/ SQLSTMT_ID *resultSetStmtId); |
| |
| Int32 SQL_EXEC_ALLOCSTMTFORRS ( |
| /*IN*/ SQLSTMT_ID *callStmtId, |
| /*IN*/ Int32 resultSetIndex, |
| /*INOUT*/ SQLSTMT_ID *resultSetStmtId); |
| |
| Int32 SQL_EXEC_ClearDiagnostics (/*IN*/ SQLSTMT_ID *statement_id); |
| |
| Int32 SQL_EXEC_CLEARDIAGNOSTICS (/*IN*/ SQLSTMT_ID *statement_id); |
| |
| Int32 SQL_EXEC_CLI_VERSION (); |
| |
| Int32 SQL_EXEC_CloseStmt ( |
| /*IN*/ SQLSTMT_ID * statement_id); |
| |
| Int32 SQL_EXEC_CLOSESTMT ( |
| /*IN*/ SQLSTMT_ID * statement_id); |
| |
| |
| Int32 SQL_EXEC_CreateContext(/*OUT*/ SQLCTX_HANDLE * context_handle, |
| /*IN OPTIONAL*/ char* sqlAuthId, |
| /*IN OPTIONAL*/ Int32 suppressAutoXactStart); |
| |
| Int32 SQL_EXEC_CREATECONTEXT(/*OUT*/ SQLCTX_HANDLE * context_handle, |
| /*IN OPTIONAL*/ char* sqlAuthId, |
| /*IN OPTIONAL*/ Int32 suppressAutoXactStart); |
| |
| |
| Int32 SQL_EXEC_CurrentContext(/*OUT*/ SQLCTX_HANDLE * contextHandle); |
| |
| |
| Int32 SQL_EXEC_CURRENTCONTEXT(/*OUT*/ SQLCTX_HANDLE * contextHandle); |
| |
| |
| Int32 SQL_EXEC_DeleteContext(/*IN*/ SQLCTX_HANDLE contextHandle); |
| |
| |
| Int32 SQL_EXEC_DELETECONTEXT(/*IN*/ SQLCTX_HANDLE contextHandle); |
| |
| |
| Int32 SQL_EXEC_ResetContext(/*IN*/ SQLCTX_HANDLE contextHandle, /*IN*/ void *contextMsg); |
| |
| |
| Int32 SQL_EXEC_RESETCONTEXT(/*IN*/ SQLCTX_HANDLE contextHandle, /*IN*/ void *contextMsg); |
| |
| Int32 SQL_EXEC_DeallocDesc ( |
| /*IN*/ SQLDESC_ID * desc_id ); |
| |
| Int32 SQL_EXEC_DEALLOCDESC ( |
| /*IN*/ SQLDESC_ID * desc_id ); |
| |
| Int32 SQL_EXEC_DeallocStmt ( |
| /*IN*/ SQLSTMT_ID * statement_id); |
| |
| Int32 SQL_EXEC_DEALLOCSTMT ( |
| /*IN*/ SQLSTMT_ID * statement_id); |
| |
| Int32 SQL_EXEC_DefineDesc ( |
| /*IN*/ SQLSTMT_ID * statement_id, |
| /*IN* (SQLWHAT_DESC) */ Int32 what_descriptor, |
| /*IN*/ SQLDESC_ID * sql_descriptor); |
| |
| Int32 SQL_EXEC_DEFINEDESC ( |
| /*IN*/ SQLSTMT_ID * statement_id, |
| /*IN* (SQLWHAT_DESC) */ Int32 what_descriptor, |
| /*IN*/ SQLDESC_ID * sql_descriptor); |
| |
| Int32 SQL_EXEC_DescribeStmt ( |
| /*IN*/ SQLSTMT_ID * statement_id, |
| /*IN OPTIONAL*/ SQLDESC_ID * input_descriptor, |
| /*IN OPTIONAL*/ SQLDESC_ID * output_descriptor); |
| |
| Int32 SQL_EXEC_DESCRIBESTMT ( |
| /*IN*/ SQLSTMT_ID * statement_id, |
| /*IN OPTIONAL*/ SQLDESC_ID * input_descriptor, |
| /*IN OPTIONAL*/ SQLDESC_ID * output_descriptor); |
| |
| Int32 SQL_EXEC_DisassocFileNumber(/*IN*/ SQLSTMT_ID * statement_id); |
| |
| Int32 SQL_EXEC_DISASSOCFILENUMBER(/*IN*/ SQLSTMT_ID * statement_id); |
| |
| Int32 SQL_EXEC_DropContext ( |
| /*IN*/ SQLCTX_HANDLE context_handle ); |
| |
| Int32 SQL_EXEC_DROPCONTEXT ( |
| /*IN*/ SQLCTX_HANDLE context_handle ); |
| |
| Int32 SQL_EXEC_Exec ( |
| /*IN*/ SQLSTMT_ID * statement_id, |
| /*IN OPTIONAL*/ SQLDESC_ID * input_descriptor, |
| /*IN*/ Int32 num_ptr_pairs, |
| ...); |
| |
| 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[]); |
| |
| Int32 SQL_EXEC_ExecClose ( |
| /*IN*/ SQLSTMT_ID * statement_id, |
| /*IN OPTIONAL*/ SQLDESC_ID * input_descriptor, |
| /*IN*/ Int32 num_ptr_pairs, |
| ...); |
| |
| 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[]); |
| |
| 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, |
| ...); |
| 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, |
| ... |
| ); |
| 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[]); |
| |
| 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, |
| ...); |
| |
| 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[]); |
| |
| Int32 SQL_EXEC_ExecFetch( |
| /*IN*/ SQLSTMT_ID * statement_id, |
| /*IN OPTIONAL*/ SQLDESC_ID * input_descriptor, |
| /*IN*/ Int32 num_ptr_pairs, |
| ...); |
| |
| 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[]); |
| |
| 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, |
| ...); |
| |
| 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[]); |
| |
| Int32 SQL_EXEC_Fetch( |
| /*IN*/ SQLSTMT_ID * statement_id, |
| /*IN OPTIONAL*/ SQLDESC_ID * output_descriptor, |
| /*IN*/ Int32 num_ptr_pairs, |
| ...); |
| |
| 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[]); |
| |
| Int32 SQL_EXEC_FetchClose( |
| /*IN*/ SQLSTMT_ID * statement_id, |
| /*IN OPTIONAL*/ SQLDESC_ID * output_descriptor, |
| /*IN*/ Int32 num_ptr_pairs, |
| ...); |
| |
| 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[]); |
| |
| 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, |
| ...); |
| 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[]); |
| Int32 SQL_EXEC_Cancel ( |
| /*IN OPTIONAL*/ SQLSTMT_ID * statement_id); |
| |
| Int32 SQL_EXEC_CANCEL ( |
| /*IN OPTIONAL*/ SQLSTMT_ID * statement_id); |
| |
| Int32 SQL_EXEC_GetDescEntryCount( |
| /*IN*/ SQLDESC_ID * sql_descriptor, |
| /*IN*/ SQLDESC_ID * output_descriptor); |
| |
| Int32 SQL_EXEC_GETDESCENTRYCOUNT( |
| /*IN*/ SQLDESC_ID * sql_descriptor, |
| /*IN*/ SQLDESC_ID * output_descriptor); |
| |
| |
| Int32 SQL_EXEC_GetDescEntryCountBasic( |
| /*IN*/ SQLDESC_ID * sql_descriptor, |
| /*OUT*/ Int32 * num_entries); |
| 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); |
| |
| 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); |
| |
| 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); |
| |
| 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); |
| |
| Int32 SQL_EXEC_GetDescItems2( |
| /*IN*/ SQLDESC_ID * sql_descriptor, |
| /*IN*/ Int32 no_of_desc_items, |
| /*IN*/ SQLDESC_ITEM desc_items[]); |
| |
| Int32 SQL_EXEC_GETDESCITEMS2( |
| /*IN*/ SQLDESC_ID * sql_descriptor, |
| /*IN*/ Int32 no_of_desc_items, |
| /*IN*/ SQLDESC_ITEM desc_items[]); |
| |
| Int32 SQL_EXEC_GetDiagnosticsStmtInfo( |
| /*IN*/ Int32 *stmt_info_items, |
| /*IN*/ SQLDESC_ID * output_descriptor); |
| |
| Int32 SQL_EXEC_GETDIAGNOSTICSSTMTINFO( |
| /*IN*/ Int32 *stmt_info_items, |
| /*IN*/ SQLDESC_ID * output_descriptor); |
| |
| 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); |
| |
| 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); |
| |
| Int32 SQL_EXEC_GetDiagnosticsCondInfo( |
| /*IN*/ SQLDIAG_COND_INFO_ITEM *cond_info_items, |
| /*IN*/ SQLDESC_ID * cond_num_descriptor, |
| /*IN*/ SQLDESC_ID * output_descriptor); |
| |
| Int32 SQL_EXEC_GETDIAGNOSTICSCONDINFO( |
| /*IN*/ SQLDIAG_COND_INFO_ITEM *cond_info_items, |
| /*IN*/ SQLDESC_ID * cond_num_descriptor, |
| /*IN*/ SQLDESC_ID * output_descriptor); |
| |
| 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); |
| |
| 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); |
| |
| Int32 SQL_EXEC_GetDiagnosticsCondInfo3 ( |
| /*IN*/ Int32 no_of_condition_items, |
| /*IN*/ SQLDIAG_COND_INFO_ITEM_VALUE |
| diag_cond_info_item_values[]); |
| |
| 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 */ |
| Int32 SQL_EXEC_GetMainSQLSTATE( |
| /*IN*/ SQLSTMT_ID * statement_id, |
| /*IN*/ Int32 sqlcode, |
| /*OUT*/ char * sqlstate /* assumed to be char[6] */); |
| |
| Int32 SQL_EXEC_GETMAINSQLSTATE( |
| /*IN*/ SQLSTMT_ID * statement_id, |
| /*IN*/ Int32 sqlcode, |
| /*OUT*/ char * sqlstate /* assumed to be char[6] */); |
| |
| Int32 SQL_EXEC_GetCSQLSTATE( |
| /*OUT*/ char * sqlstate /* assumed to be char[6] */, |
| /*IN*/ Int32 sqlcode); |
| |
| Int32 SQL_EXEC_GETCSQLSTATE( |
| /*OUT*/ char * sqlstate /* assumed to be char[6] */, |
| /*IN*/ Int32 sqlcode); |
| |
| Int32 SQL_EXEC_GetCobolSQLSTATE( |
| /*OUT*/ char * sqlstate /* assumed to be char[5] */, |
| /*IN*/ Int32 sqlcode); |
| |
| Int32 SQL_EXEC_GETCOBOLSQLSTATE( |
| /*OUT*/ char * sqlstate /* assumed to be char[5] */, |
| /*IN*/ Int32 sqlcode); |
| |
| Int32 SQL_EXEC_GetSQLSTATE( |
| /*OUT*/ char * sqlstate /* assumed to be char[6] */); |
| |
| Int32 SQL_EXEC_GETSQLSTATE( |
| /*OUT*/ char * sqlstate /* assumed to be char[6] */); |
| |
| 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); |
| |
| Int32 SQL_EXEC_GetUniqueQueryIdAttrs ( |
| /*IN*/ char * uniqueQueryId, |
| /*IN*/ Int32 uniqueQueryIdLen, |
| /*IN*/ Int32 no_of_attrs, |
| /*INOUT*/ UNIQUEQUERYID_ATTR unique_queryid_attrs[]); |
| |
| 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); |
| |
| 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); |
| |
| Int32 SQL_EXEC_GetStmtAttrs( |
| /*IN*/ SQLSTMT_ID * statement_id, |
| /*IN*/ Int32 number_of_attrs, |
| /*INOUT*/ SQLSTMT_ATTR attrs[], |
| /*OUT OPTIONAL*/ Int32 * num_returned); |
| |
| Int32 SQL_EXEC_GETSTMTATTRS( |
| /*IN*/ SQLSTMT_ID * statement_id, |
| /*IN*/ Int32 number_of_attrs, |
| /*INOUT*/ SQLSTMT_ATTR attrs[], |
| /*OUT OPTIONAL*/ Int32 * num_returned); |
| |
| Int32 SQL_EXEC_GetExplainData( |
| /*IN*/ SQLSTMT_ID * statement_id, |
| /*INOUT*/ char * explain_ptr, |
| /*IN*/ Int32 explain_len, |
| /*INOUT*/ Int32 * ret_explain_len); |
| |
| Int32 SQL_EXEC_StoreExplainData( |
| /*IN*/ Int64 * exec_start_utc_ts, |
| /*IN*/ char * query_id, |
| /*INOUT*/ char * explain_ptr, |
| /*IN*/ Int32 explain_len); |
| |
| Int32 SQL_EXEC_Prepare( |
| /*IN*/ SQLSTMT_ID * statement_id, |
| /*IN*/ SQLDESC_ID * sql_source); |
| |
| Int32 SQL_EXEC_PREPARE( |
| /*IN*/ SQLSTMT_ID * statement_id, |
| /*IN*/ SQLDESC_ID * sql_source); |
| |
| 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); |
| |
| Int32 SQL_EXEC_ResDescName( |
| /*INOUT*/ SQLDESC_ID * statement_id, |
| /*IN OPTIONAL*/ SQLSTMT_ID * from_statement, |
| /*IN OPTIONAL (SQLWHAT_DESC) */ Int32 what_desc); |
| |
| Int32 SQL_EXEC_RESDESCNAME( |
| /*INOUT*/ SQLDESC_ID * statement_id, |
| /*IN OPTIONAL*/ SQLSTMT_ID * from_statement, |
| /*IN OPTIONAL (SQLWHAT_DESC) */ Int32 what_desc); |
| |
| Int32 SQL_EXEC_ResStmtName( |
| /*INOUT*/ SQLSTMT_ID * statement_id); |
| |
| Int32 SQL_EXEC_RESSTMTNAME( |
| /*INOUT*/ SQLSTMT_ID * statement_id); |
| |
| Int32 SQL_EXEC_SetCursorName( |
| /*IN*/ SQLSTMT_ID * statement_id, |
| /*IN*/ SQLSTMT_ID * cursor_name); |
| |
| |
| Int32 SQL_EXEC_SETCURSORNAME( |
| /*IN*/ SQLSTMT_ID * statement_id, |
| /*IN*/ SQLSTMT_ID * cursor_name); |
| |
| Int32 SQL_EXEC_SetDescEntryCount( |
| /*IN*/ SQLDESC_ID * sql_descriptor, |
| /*IN*/ SQLDESC_ID * input_descriptor); |
| |
| Int32 SQL_EXEC_SETDESCENTRYCOUNT( |
| /*IN*/ SQLDESC_ID * sql_descriptor, |
| /*IN*/ SQLDESC_ID * input_descriptor); |
| |
| Int32 SQL_EXEC_SetDescEntryCountBasic( |
| /*IN*/ SQLDESC_ID * sql_descriptor, |
| /*IN*/ Int32 num_entries); |
| |
| 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); |
| |
| 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); |
| |
| 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); |
| |
| 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); |
| |
| Int32 SQL_EXEC_SetDescItems2( |
| /*IN*/ SQLDESC_ID * sql_descriptor, |
| /*IN*/ Int32 no_of_desc_items, |
| /*IN*/ SQLDESC_ITEM desc_items[]); |
| |
| Int32 SQL_EXEC_SETDESCITEMS2( |
| /*IN*/ SQLDESC_ID * sql_descriptor, |
| /*IN*/ Int32 no_of_desc_items, |
| /*IN*/ SQLDESC_ITEM desc_items[]); |
| |
| Int32 SQL_EXEC_SetDescPointers( |
| /*IN*/ SQLDESC_ID * sql_descriptor, |
| /*IN*/ Int32 starting_entry, |
| /*IN*/ Int32 num_ptr_pairs, |
| ...); |
| |
| 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[]); |
| |
| Int32 SQL_EXEC_SetRowsetDescPointers(SQLDESC_ID * desc_id, |
| Int32 rowset_size, |
| Int32 *rowset_status_ptr, |
| Int32 starting_entry, |
| Int32 num_quadruple_fields, |
| ...); |
| |
| 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[]); |
| |
| Int32 SQL_EXEC_SetStmtAttr( |
| /*IN*/ SQLSTMT_ID * statement_id, |
| /*IN* (SQLATTR_TYPE) */ Int32 attrName, |
| /*IN OPTIONAL*/ Int32 numeric_value, |
| /*IN OPTIONAL*/ char * string_value); |
| |
| |
| Int32 SQL_EXEC_SETSTMTATTR( |
| /*IN*/ SQLSTMT_ID * statement_id, |
| /*IN* (SQLATTR_TYPE) */ Int32 attrName, |
| /*IN OPTIONAL*/ Int32 numeric_value, |
| /*IN OPTIONAL*/ char * string_value); |
| |
| Int32 SQL_EXEC_SwitchContext( |
| /*IN*/ SQLCTX_HANDLE context_handle, |
| /*OUT OPTIONAL*/ SQLCTX_HANDLE * prev_context_handle); |
| |
| Int32 SQL_EXEC_SWITCHCONTEXT( |
| /*IN*/ SQLCTX_HANDLE context_handle, |
| /*OUT OPTIONAL*/ SQLCTX_HANDLE * prev_context_handle); |
| |
| Int32 SQL_EXEC_Xact( |
| /*IN* (SQLTRANS_COMMAND) */ Int32 command, |
| /*OUT OPTIONAL*/ SQLDESC_ID * transid_descriptor); |
| |
| Int32 SQL_EXEC_XACT( |
| /*IN* (SQLTRANS_COMMAND) */ Int32 command, |
| /*OUT OPTIONAL*/ SQLDESC_ID * transid_descriptor); |
| |
| Int32 SQL_EXEC_SetAuthID( |
| const char * externalUsername, /*IN*/ |
| const char * databaseUsername, /*IN*/ |
| const char * authToken, /*IN*/ |
| Int32 authTokenLen, /*IN*/ |
| Int32 effectiveUserID, /*IN*/ |
| Int32 sessionUserID); /*IN*/ |
| |
| 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); |
| |
| Int32 SQL_EXEC_GetAuthState( |
| /*OUT*/ bool & authenticationEnabled, |
| /*OUT*/ bool & authorizationEnabled, |
| /*OUT*/ bool & authorizationReady, |
| /*OUT*/ bool & auditingEnabled); |
| |
| 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 |
| ); |
| |
| 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 |
| ); |
| |
| 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 |
| ); |
| |
| 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 |
| ); |
| |
| Int32 SQL_EXEC_SetSecInvalidKeys( |
| /* IN */ Int32 numSiKeys, |
| /* IN */ SQL_QIKEY siKeys[]); |
| |
| Int32 SQL_EXEC_GetSecInvalidKeys( |
| /* IN */ Int64 prevTimestamp, |
| /* IN/OUT */ SQL_QIKEY siKeys[], |
| /* IN */ Int32 maxNumSiKeys, |
| /* IN/OUT */ Int32 *returnedNumSiKeys, |
| /* IN/OUT */ Int64 *maxTimestamp); |
| |
| |
| 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); |
| |
| 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[]); |
| |
| 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 */ |
| |
| Int32 SQL_EXEC_AllocDesc ( |
| /*INOUT*/ SQLDESC_ID * desc_id, |
| /*IN OPTIONAL*/ Int32 max_entries); |
| |
| Int32 SQL_EXEC_GetDescEntryCount( |
| /*IN*/ SQLDESC_ID * sql_descriptor, |
| /*OUT*/ Int32 * num_entries); |
| |
| Int32 SQL_EXEC_SetDescEntryCount( |
| /*IN*/ SQLDESC_ID * sql_descriptor, |
| /*IN*/ Int32 num_entries); |
| |
| short sqInit(); |
| |
| #endif /*__cplusplus*/ |
| |
| #endif /*SQLCLI_HDR*/ |