Hex Artifact Content

Not logged in

Artifact edd10e7d6d473fa36a827b254948044574afcb22:


0000: 2f 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  /***************
0010: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0020: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0030: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0040: 2a 2a 2a 2a 2a 2a 2a 2a 5c 0a 2a 20 20 20 20 20  ********\.*     
0050: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0060: 20 20 20 20 20 20 20 20 20 20 20 20 73 71 6c 2e              sql.
0070: 64 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  d               
0080: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0090: 20 20 2a 0a 2a 20 20 20 20 20 20 20 20 20 20 20    *.*           
00a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
00b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
00c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
00d0: 20 20 20 20 20 20 20 20 20 20 20 20 2a 0a 2a 20              *.* 
00e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
00f0: 20 20 20 20 20 20 57 69 6e 64 6f 77 73 20 41 50        Windows AP
0100: 49 20 68 65 61 64 65 72 20 6d 6f 64 75 6c 65 20  I header module 
0110: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0120: 20 20 20 20 20 20 2a 0a 2a 20 20 20 20 20 20 20        *.*       
0130: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0140: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0150: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0160: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0170: 2a 0a 2a 20 20 20 20 20 20 20 20 20 20 20 20 20  *.*             
0180: 20 20 20 20 54 72 61 6e 73 6c 61 74 65 64 20 66      Translated f
0190: 72 6f 6d 20 4d 69 6e 47 57 20 57 69 6e 64 6f 77  rom MinGW Window
01a0: 73 20 68 65 61 64 65 72 73 20 20 20 20 20 20 20  s headers       
01b0: 20 20 20 20 20 20 20 20 20 20 2a 0a 2a 20 20 20            *.*   
01c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
01d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
01e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
01f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0200: 20 20 20 20 2a 0a 2a 20 20 20 20 20 20 20 20 20      *.*         
0210: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 6c                Pl
0220: 61 63 65 64 20 69 6e 74 6f 20 70 75 62 6c 69 63  aced into public
0230: 20 64 6f 6d 61 69 6e 20 20 20 20 20 20 20 20 20   domain         
0240: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 0a                *.
0250: 5c 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  \***************
0260: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0270: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0280: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0290: 2a 2a 2a 2a 2a 2a 2a 2a 2f 0a 6d 6f 64 75 6c 65  ********/.module
02a0: 20 77 69 6e 33 32 2e 73 71 6c 3b 0a 0a 70 75 62   win32.sql;..pub
02b0: 6c 69 63 20 69 6d 70 6f 72 74 20 77 69 6e 33 32  lic import win32
02c0: 2e 73 71 6c 74 79 70 65 73 3b 0a 70 72 69 76 61  .sqltypes;.priva
02d0: 74 65 20 69 6d 70 6f 72 74 20 77 69 6e 33 32 2e  te import win32.
02e0: 77 69 6e 64 65 66 3b 0a 0a 63 6f 6e 73 74 20 4f  windef;..const O
02f0: 44 42 43 56 45 52 20 3d 20 30 78 30 33 35 31 3b  DBCVER = 0x0351;
0300: 0a 0a 63 6f 6e 73 74 20 53 51 4c 5f 41 43 43 45  ..const SQL_ACCE
0310: 53 53 49 42 4c 45 5f 50 52 4f 43 45 44 55 52 45  SSIBLE_PROCEDURE
0320: 53 3d 32 30 3b 0a 63 6f 6e 73 74 20 53 51 4c 5f  S=20;.const SQL_
0330: 41 43 43 45 53 53 49 42 4c 45 5f 54 41 42 4c 45  ACCESSIBLE_TABLE
0340: 53 3d 31 39 3b 0a 63 6f 6e 73 74 20 53 51 4c 5f  S=19;.const SQL_
0350: 41 4c 4c 5f 54 59 50 45 53 3d 30 3b 0a 63 6f 6e  ALL_TYPES=0;.con
0360: 73 74 20 53 51 4c 5f 41 4c 54 45 52 5f 54 41 42  st SQL_ALTER_TAB
0370: 4c 45 3d 38 36 3b 0a 63 6f 6e 73 74 20 53 51 4c  LE=86;.const SQL
0380: 5f 41 50 49 5f 53 51 4c 41 4c 4c 4f 43 43 4f 4e  _API_SQLALLOCCON
0390: 4e 45 43 54 3d 31 3b 0a 63 6f 6e 73 74 20 53 51  NECT=1;.const SQ
03a0: 4c 5f 41 50 49 5f 53 51 4c 41 4c 4c 4f 43 45 4e  L_API_SQLALLOCEN
03b0: 56 3d 32 3b 0a 63 6f 6e 73 74 20 53 51 4c 5f 41  V=2;.const SQL_A
03c0: 50 49 5f 53 51 4c 41 4c 4c 4f 43 53 54 4d 54 3d  PI_SQLALLOCSTMT=
03d0: 33 3b 0a 63 6f 6e 73 74 20 53 51 4c 5f 41 50 49  3;.const SQL_API
03e0: 5f 53 51 4c 42 49 4e 44 43 4f 4c 3d 34 3b 0a 63  _SQLBINDCOL=4;.c
03f0: 6f 6e 73 74 20 53 51 4c 5f 41 50 49 5f 53 51 4c  onst SQL_API_SQL
0400: 43 41 4e 43 45 4c 3d 35 3b 0a 63 6f 6e 73 74 20  CANCEL=5;.const 
0410: 53 51 4c 5f 41 50 49 5f 53 51 4c 43 4f 4c 55 4d  SQL_API_SQLCOLUM
0420: 4e 53 3d 34 30 3b 0a 63 6f 6e 73 74 20 53 51 4c  NS=40;.const SQL
0430: 5f 41 50 49 5f 53 51 4c 43 4f 4e 4e 45 43 54 3d  _API_SQLCONNECT=
0440: 37 3b 0a 63 6f 6e 73 74 20 53 51 4c 5f 41 50 49  7;.const SQL_API
0450: 5f 53 51 4c 44 41 54 41 53 4f 55 52 43 45 53 3d  _SQLDATASOURCES=
0460: 35 37 3b 0a 63 6f 6e 73 74 20 53 51 4c 5f 41 50  57;.const SQL_AP
0470: 49 5f 53 51 4c 44 45 53 43 52 49 42 45 43 4f 4c  I_SQLDESCRIBECOL
0480: 3d 38 3b 0a 63 6f 6e 73 74 20 53 51 4c 5f 41 50  =8;.const SQL_AP
0490: 49 5f 53 51 4c 44 49 53 43 4f 4e 4e 45 43 54 3d  I_SQLDISCONNECT=
04a0: 39 3b 0a 63 6f 6e 73 74 20 53 51 4c 5f 41 50 49  9;.const SQL_API
04b0: 5f 53 51 4c 45 52 52 4f 52 3d 31 30 3b 0a 63 6f  _SQLERROR=10;.co
04c0: 6e 73 74 20 53 51 4c 5f 41 50 49 5f 53 51 4c 45  nst SQL_API_SQLE
04d0: 58 45 43 44 49 52 45 43 54 3d 31 31 3b 0a 63 6f  XECDIRECT=11;.co
04e0: 6e 73 74 20 53 51 4c 5f 41 50 49 5f 53 51 4c 45  nst SQL_API_SQLE
04f0: 58 45 43 55 54 45 3d 31 32 3b 0a 63 6f 6e 73 74  XECUTE=12;.const
0500: 20 53 51 4c 5f 41 50 49 5f 53 51 4c 46 45 54 43   SQL_API_SQLFETC
0510: 48 3d 31 33 3b 0a 63 6f 6e 73 74 20 53 51 4c 5f  H=13;.const SQL_
0520: 41 50 49 5f 53 51 4c 46 52 45 45 43 4f 4e 4e 45  API_SQLFREECONNE
0530: 43 54 3d 31 34 3b 0a 63 6f 6e 73 74 20 53 51 4c  CT=14;.const SQL
0540: 5f 41 50 49 5f 53 51 4c 46 52 45 45 45 4e 56 3d  _API_SQLFREEENV=
0550: 31 35 3b 0a 63 6f 6e 73 74 20 53 51 4c 5f 41 50  15;.const SQL_AP
0560: 49 5f 53 51 4c 46 52 45 45 53 54 4d 54 3d 31 36  I_SQLFREESTMT=16
0570: 3b 0a 63 6f 6e 73 74 20 53 51 4c 5f 41 50 49 5f  ;.const SQL_API_
0580: 53 51 4c 47 45 54 43 4f 4e 4e 45 43 54 4f 50 54  SQLGETCONNECTOPT
0590: 49 4f 4e 3d 34 32 3b 0a 63 6f 6e 73 74 20 53 51  ION=42;.const SQ
05a0: 4c 5f 41 50 49 5f 53 51 4c 47 45 54 43 55 52 53  L_API_SQLGETCURS
05b0: 4f 52 4e 41 4d 45 3d 31 37 3b 0a 63 6f 6e 73 74  ORNAME=17;.const
05c0: 20 53 51 4c 5f 41 50 49 5f 53 51 4c 47 45 54 44   SQL_API_SQLGETD
05d0: 41 54 41 3d 34 33 3b 0a 63 6f 6e 73 74 20 53 51  ATA=43;.const SQ
05e0: 4c 5f 41 50 49 5f 53 51 4c 47 45 54 46 55 4e 43  L_API_SQLGETFUNC
05f0: 54 49 4f 4e 53 3d 34 34 3b 0a 63 6f 6e 73 74 20  TIONS=44;.const 
0600: 53 51 4c 5f 41 50 49 5f 53 51 4c 47 45 54 49 4e  SQL_API_SQLGETIN
0610: 46 4f 3d 34 35 3b 0a 63 6f 6e 73 74 20 53 51 4c  FO=45;.const SQL
0620: 5f 41 50 49 5f 53 51 4c 47 45 54 53 54 4d 54 4f  _API_SQLGETSTMTO
0630: 50 54 49 4f 4e 3d 34 36 3b 0a 63 6f 6e 73 74 20  PTION=46;.const 
0640: 53 51 4c 5f 41 50 49 5f 53 51 4c 47 45 54 54 59  SQL_API_SQLGETTY
0650: 50 45 49 4e 46 4f 3d 34 37 3b 0a 63 6f 6e 73 74  PEINFO=47;.const
0660: 20 53 51 4c 5f 41 50 49 5f 53 51 4c 4e 55 4d 52   SQL_API_SQLNUMR
0670: 45 53 55 4c 54 43 4f 4c 53 3d 31 38 3b 0a 63 6f  ESULTCOLS=18;.co
0680: 6e 73 74 20 53 51 4c 5f 41 50 49 5f 53 51 4c 50  nst SQL_API_SQLP
0690: 41 52 41 4d 44 41 54 41 3d 34 38 3b 0a 63 6f 6e  ARAMDATA=48;.con
06a0: 73 74 20 53 51 4c 5f 41 50 49 5f 53 51 4c 50 52  st SQL_API_SQLPR
06b0: 45 50 41 52 45 3d 31 39 3b 0a 63 6f 6e 73 74 20  EPARE=19;.const 
06c0: 53 51 4c 5f 41 50 49 5f 53 51 4c 50 55 54 44 41  SQL_API_SQLPUTDA
06d0: 54 41 3d 34 39 3b 0a 63 6f 6e 73 74 20 53 51 4c  TA=49;.const SQL
06e0: 5f 41 50 49 5f 53 51 4c 52 4f 57 43 4f 55 4e 54  _API_SQLROWCOUNT
06f0: 3d 32 30 3b 0a 63 6f 6e 73 74 20 53 51 4c 5f 41  =20;.const SQL_A
0700: 50 49 5f 53 51 4c 53 45 54 43 4f 4e 4e 45 43 54  PI_SQLSETCONNECT
0710: 4f 50 54 49 4f 4e 3d 35 30 3b 0a 63 6f 6e 73 74  OPTION=50;.const
0720: 20 53 51 4c 5f 41 50 49 5f 53 51 4c 53 45 54 43   SQL_API_SQLSETC
0730: 55 52 53 4f 52 4e 41 4d 45 3d 32 31 3b 0a 63 6f  URSORNAME=21;.co
0740: 6e 73 74 20 53 51 4c 5f 41 50 49 5f 53 51 4c 53  nst SQL_API_SQLS
0750: 45 54 50 41 52 41 4d 3d 32 32 3b 0a 63 6f 6e 73  ETPARAM=22;.cons
0760: 74 20 53 51 4c 5f 41 50 49 5f 53 51 4c 53 45 54  t SQL_API_SQLSET
0770: 53 54 4d 54 4f 50 54 49 4f 4e 3d 35 31 3b 0a 63  STMTOPTION=51;.c
0780: 6f 6e 73 74 20 53 51 4c 5f 41 50 49 5f 53 51 4c  onst SQL_API_SQL
0790: 53 50 45 43 49 41 4c 43 4f 4c 55 4d 4e 53 3d 35  SPECIALCOLUMNS=5
07a0: 32 3b 0a 63 6f 6e 73 74 20 53 51 4c 5f 41 50 49  2;.const SQL_API
07b0: 5f 53 51 4c 53 54 41 54 49 53 54 49 43 53 3d 35  _SQLSTATISTICS=5
07c0: 33 3b 0a 63 6f 6e 73 74 20 53 51 4c 5f 41 50 49  3;.const SQL_API
07d0: 5f 53 51 4c 54 41 42 4c 45 53 3d 35 34 3b 0a 63  _SQLTABLES=54;.c
07e0: 6f 6e 73 74 20 53 51 4c 5f 41 50 49 5f 53 51 4c  onst SQL_API_SQL
07f0: 54 52 41 4e 53 41 43 54 3d 32 33 3b 0a 0a 63 6f  TRANSACT=23;..co
0800: 6e 73 74 20 53 51 4c 5f 43 42 5f 44 45 4c 45 54  nst SQL_CB_DELET
0810: 45 3d 30 3b 0a 63 6f 6e 73 74 20 53 51 4c 5f 43  E=0;.const SQL_C
0820: 42 5f 43 4c 4f 53 45 3d 31 3b 0a 63 6f 6e 73 74  B_CLOSE=1;.const
0830: 20 53 51 4c 5f 43 42 5f 50 52 45 53 45 52 56 45   SQL_CB_PRESERVE
0840: 3d 32 3b 0a 0a 63 6f 6e 73 74 20 53 51 4c 5f 43  =2;..const SQL_C
0850: 48 41 52 3d 31 3b 0a 63 6f 6e 73 74 20 53 51 4c  HAR=1;.const SQL
0860: 5f 43 4c 4f 53 45 3d 30 3b 0a 63 6f 6e 73 74 20  _CLOSE=0;.const 
0870: 53 51 4c 5f 43 4f 4d 4d 49 54 3d 30 3b 0a 63 6f  SQL_COMMIT=0;.co
0880: 6e 73 74 20 53 51 4c 5f 43 55 52 53 4f 52 5f 43  nst SQL_CURSOR_C
0890: 4f 4d 4d 49 54 5f 42 45 48 41 56 49 4f 52 3d 32  OMMIT_BEHAVIOR=2
08a0: 33 3b 0a 63 6f 6e 73 74 20 53 51 4c 5f 44 41 54  3;.const SQL_DAT
08b0: 41 5f 41 54 5f 45 58 45 43 3d 2d 32 3b 0a 63 6f  A_AT_EXEC=-2;.co
08c0: 6e 73 74 20 53 51 4c 5f 44 41 54 41 5f 53 4f 55  nst SQL_DATA_SOU
08d0: 52 43 45 5f 4e 41 4d 45 3d 32 3b 0a 63 6f 6e 73  RCE_NAME=2;.cons
08e0: 74 20 53 51 4c 5f 44 41 54 41 5f 53 4f 55 52 43  t SQL_DATA_SOURC
08f0: 45 5f 52 45 41 44 5f 4f 4e 4c 59 3d 32 35 3b 0a  E_READ_ONLY=25;.
0900: 63 6f 6e 73 74 20 53 51 4c 5f 44 42 4d 53 5f 4e  const SQL_DBMS_N
0910: 41 4d 45 3d 31 37 3b 0a 63 6f 6e 73 74 20 53 51  AME=17;.const SQ
0920: 4c 5f 44 42 4d 53 5f 56 45 52 3d 31 38 3b 0a 63  L_DBMS_VER=18;.c
0930: 6f 6e 73 74 20 53 51 4c 5f 44 45 43 49 4d 41 4c  onst SQL_DECIMAL
0940: 3d 33 3b 0a 63 6f 6e 73 74 20 53 51 4c 5f 44 45  =3;.const SQL_DE
0950: 46 41 55 4c 54 5f 54 58 4e 5f 49 53 4f 4c 41 54  FAULT_TXN_ISOLAT
0960: 49 4f 4e 3d 32 36 3b 0a 63 6f 6e 73 74 20 53 51  ION=26;.const SQ
0970: 4c 5f 44 4f 55 42 4c 45 3d 38 3b 0a 63 6f 6e 73  L_DOUBLE=8;.cons
0980: 74 20 53 51 4c 5f 44 52 4f 50 3d 31 3b 0a 63 6f  t SQL_DROP=1;.co
0990: 6e 73 74 20 53 51 4c 5f 45 52 52 4f 52 3d 2d 31  nst SQL_ERROR=-1
09a0: 3b 0a 0a 63 6f 6e 73 74 20 53 51 4c 5f 46 44 5f  ;..const SQL_FD_
09b0: 46 45 54 43 48 5f 4e 45 58 54 3d 31 3b 0a 63 6f  FETCH_NEXT=1;.co
09c0: 6e 73 74 20 53 51 4c 5f 46 44 5f 46 45 54 43 48  nst SQL_FD_FETCH
09d0: 5f 46 49 52 53 54 3d 32 3b 0a 63 6f 6e 73 74 20  _FIRST=2;.const 
09e0: 53 51 4c 5f 46 44 5f 46 45 54 43 48 5f 4c 41 53  SQL_FD_FETCH_LAS
09f0: 54 3d 34 3b 0a 63 6f 6e 73 74 20 53 51 4c 5f 46  T=4;.const SQL_F
0a00: 44 5f 46 45 54 43 48 5f 50 52 49 4f 52 3d 38 3b  D_FETCH_PRIOR=8;
0a10: 0a 63 6f 6e 73 74 20 53 51 4c 5f 46 44 5f 46 45  .const SQL_FD_FE
0a20: 54 43 48 5f 41 42 53 4f 4c 55 54 45 3d 31 36 3b  TCH_ABSOLUTE=16;
0a30: 0a 63 6f 6e 73 74 20 53 51 4c 5f 46 44 5f 46 45  .const SQL_FD_FE
0a40: 54 43 48 5f 52 45 4c 41 54 49 56 45 3d 33 32 3b  TCH_RELATIVE=32;
0a50: 0a 0a 63 6f 6e 73 74 20 53 51 4c 5f 46 45 54 43  ..const SQL_FETC
0a60: 48 5f 41 42 53 4f 4c 55 54 45 3d 35 3b 0a 63 6f  H_ABSOLUTE=5;.co
0a70: 6e 73 74 20 53 51 4c 5f 46 45 54 43 48 5f 44 49  nst SQL_FETCH_DI
0a80: 52 45 43 54 49 4f 4e 3d 38 3b 0a 63 6f 6e 73 74  RECTION=8;.const
0a90: 20 53 51 4c 5f 46 45 54 43 48 5f 46 49 52 53 54   SQL_FETCH_FIRST
0aa0: 3d 32 3b 0a 63 6f 6e 73 74 20 53 51 4c 5f 46 45  =2;.const SQL_FE
0ab0: 54 43 48 5f 4c 41 53 54 3d 33 3b 0a 63 6f 6e 73  TCH_LAST=3;.cons
0ac0: 74 20 53 51 4c 5f 46 45 54 43 48 5f 4e 45 58 54  t SQL_FETCH_NEXT
0ad0: 3d 31 3b 0a 63 6f 6e 73 74 20 53 51 4c 5f 46 45  =1;.const SQL_FE
0ae0: 54 43 48 5f 50 52 49 4f 52 3d 34 3b 0a 63 6f 6e  TCH_PRIOR=4;.con
0af0: 73 74 20 53 51 4c 5f 46 45 54 43 48 5f 52 45 4c  st SQL_FETCH_REL
0b00: 41 54 49 56 45 3d 36 3b 0a 63 6f 6e 73 74 20 53  ATIVE=6;.const S
0b10: 51 4c 5f 46 4c 4f 41 54 3d 36 3b 0a 63 6f 6e 73  QL_FLOAT=6;.cons
0b20: 74 20 53 51 4c 5f 47 44 5f 41 4e 59 5f 43 4f 4c  t SQL_GD_ANY_COL
0b30: 55 4d 4e 3d 31 3b 0a 63 6f 6e 73 74 20 53 51 4c  UMN=1;.const SQL
0b40: 5f 47 44 5f 41 4e 59 5f 4f 52 44 45 52 3d 32 3b  _GD_ANY_ORDER=2;
0b50: 0a 63 6f 6e 73 74 20 53 51 4c 5f 47 45 54 44 41  .const SQL_GETDA
0b60: 54 41 5f 45 58 54 45 4e 53 49 4f 4e 53 3d 38 31  TA_EXTENSIONS=81
0b70: 3b 0a 63 6f 6e 73 74 20 53 51 4c 5f 49 43 5f 4c  ;.const SQL_IC_L
0b80: 4f 57 45 52 3d 32 3b 0a 63 6f 6e 73 74 20 53 51  OWER=2;.const SQ
0b90: 4c 5f 49 43 5f 4d 49 58 45 44 3d 34 3b 0a 63 6f  L_IC_MIXED=4;.co
0ba0: 6e 73 74 20 53 51 4c 5f 49 43 5f 53 45 4e 53 49  nst SQL_IC_SENSI
0bb0: 54 49 56 45 3d 33 3b 0a 63 6f 6e 73 74 20 53 51  TIVE=3;.const SQ
0bc0: 4c 5f 49 43 5f 55 50 50 45 52 3d 31 3b 0a 63 6f  L_IC_UPPER=1;.co
0bd0: 6e 73 74 20 53 51 4c 5f 49 44 45 4e 54 49 46 49  nst SQL_IDENTIFI
0be0: 45 52 5f 43 41 53 45 3d 32 38 3b 0a 63 6f 6e 73  ER_CASE=28;.cons
0bf0: 74 20 53 51 4c 5f 49 44 45 4e 54 49 46 49 45 52  t SQL_IDENTIFIER
0c00: 5f 51 55 4f 54 45 5f 43 48 41 52 3d 32 39 3b 0a  _QUOTE_CHAR=29;.
0c10: 0a 63 6f 6e 73 74 20 53 51 4c 5f 49 4e 44 45 58  .const SQL_INDEX
0c20: 5f 41 4c 4c 3d 31 3b 0a 63 6f 6e 73 74 20 53 51  _ALL=1;.const SQ
0c30: 4c 5f 49 4e 44 45 58 5f 43 4c 55 53 54 45 52 45  L_INDEX_CLUSTERE
0c40: 44 3d 31 3b 0a 63 6f 6e 73 74 20 53 51 4c 5f 49  D=1;.const SQL_I
0c50: 4e 44 45 58 5f 48 41 53 48 45 44 3d 32 3b 0a 63  NDEX_HASHED=2;.c
0c60: 6f 6e 73 74 20 53 51 4c 5f 49 4e 44 45 58 5f 4f  onst SQL_INDEX_O
0c70: 54 48 45 52 3d 33 3b 0a 63 6f 6e 73 74 20 53 51  THER=3;.const SQ
0c80: 4c 5f 49 4e 44 45 58 5f 55 4e 49 51 55 45 3d 30  L_INDEX_UNIQUE=0
0c90: 3b 0a 0a 63 6f 6e 73 74 20 53 51 4c 5f 49 4e 54  ;..const SQL_INT
0ca0: 45 47 45 52 3d 34 3b 0a 63 6f 6e 73 74 20 53 51  EGER=4;.const SQ
0cb0: 4c 5f 49 4e 54 45 47 52 49 54 59 3d 37 33 3b 0a  L_INTEGRITY=73;.
0cc0: 63 6f 6e 73 74 20 53 51 4c 5f 49 4e 56 41 4c 49  const SQL_INVALI
0cd0: 44 5f 48 41 4e 44 4c 45 3d 2d 32 3b 0a 0a 63 6f  D_HANDLE=-2;..co
0ce0: 6e 73 74 20 53 51 4c 5f 4d 41 58 5f 43 41 54 41  nst SQL_MAX_CATA
0cf0: 4c 4f 47 5f 4e 41 4d 45 5f 4c 45 4e 3d 33 34 3b  LOG_NAME_LEN=34;
0d00: 0a 63 6f 6e 73 74 20 53 51 4c 5f 4d 41 58 5f 43  .const SQL_MAX_C
0d10: 4f 4c 55 4d 4e 5f 4e 41 4d 45 5f 4c 45 4e 3d 33  OLUMN_NAME_LEN=3
0d20: 30 3b 0a 63 6f 6e 73 74 20 53 51 4c 5f 4d 41 58  0;.const SQL_MAX
0d30: 5f 43 4f 4c 55 4d 4e 53 5f 49 4e 5f 47 52 4f 55  _COLUMNS_IN_GROU
0d40: 50 5f 42 59 3d 39 37 3b 0a 63 6f 6e 73 74 20 53  P_BY=97;.const S
0d50: 51 4c 5f 4d 41 58 5f 43 4f 4c 55 4d 4e 53 5f 49  QL_MAX_COLUMNS_I
0d60: 4e 5f 49 4e 44 45 58 3d 39 38 3b 0a 63 6f 6e 73  N_INDEX=98;.cons
0d70: 74 20 53 51 4c 5f 4d 41 58 5f 43 4f 4c 55 4d 4e  t SQL_MAX_COLUMN
0d80: 53 5f 49 4e 5f 4f 52 44 45 52 5f 42 59 3d 39 39  S_IN_ORDER_BY=99
0d90: 3b 0a 63 6f 6e 73 74 20 53 51 4c 5f 4d 41 58 5f  ;.const SQL_MAX_
0da0: 43 4f 4c 55 4d 4e 53 5f 49 4e 5f 53 45 4c 45 43  COLUMNS_IN_SELEC
0db0: 54 3d 31 30 30 3b 0a 63 6f 6e 73 74 20 53 51 4c  T=100;.const SQL
0dc0: 5f 4d 41 58 5f 43 4f 4c 55 4d 4e 53 5f 49 4e 5f  _MAX_COLUMNS_IN_
0dd0: 54 41 42 4c 45 3d 31 30 31 3b 0a 63 6f 6e 73 74  TABLE=101;.const
0de0: 20 53 51 4c 5f 4d 41 58 5f 43 55 52 53 4f 52 5f   SQL_MAX_CURSOR_
0df0: 4e 41 4d 45 5f 4c 45 4e 3d 33 31 3b 0a 63 6f 6e  NAME_LEN=31;.con
0e00: 73 74 20 53 51 4c 5f 4d 41 58 5f 49 4e 44 45 58  st SQL_MAX_INDEX
0e10: 5f 53 49 5a 45 3d 31 30 32 3b 0a 63 6f 6e 73 74  _SIZE=102;.const
0e20: 20 53 51 4c 5f 4d 41 58 5f 4d 45 53 53 41 47 45   SQL_MAX_MESSAGE
0e30: 5f 4c 45 4e 47 54 48 3d 35 31 32 3b 0a 63 6f 6e  _LENGTH=512;.con
0e40: 73 74 20 53 51 4c 5f 4d 41 58 5f 52 4f 57 5f 53  st SQL_MAX_ROW_S
0e50: 49 5a 45 3d 31 30 34 3b 0a 63 6f 6e 73 74 20 53  IZE=104;.const S
0e60: 51 4c 5f 4d 41 58 5f 53 43 48 45 4d 41 5f 4e 41  QL_MAX_SCHEMA_NA
0e70: 4d 45 5f 4c 45 4e 3d 33 32 3b 0a 63 6f 6e 73 74  ME_LEN=32;.const
0e80: 20 53 51 4c 5f 4d 41 58 5f 53 54 41 54 45 4d 45   SQL_MAX_STATEME
0e90: 4e 54 5f 4c 45 4e 3d 31 30 35 3b 0a 63 6f 6e 73  NT_LEN=105;.cons
0ea0: 74 20 53 51 4c 5f 4d 41 58 5f 54 41 42 4c 45 5f  t SQL_MAX_TABLE_
0eb0: 4e 41 4d 45 5f 4c 45 4e 3d 33 35 3b 0a 63 6f 6e  NAME_LEN=35;.con
0ec0: 73 74 20 53 51 4c 5f 4d 41 58 5f 54 41 42 4c 45  st SQL_MAX_TABLE
0ed0: 53 5f 49 4e 5f 53 45 4c 45 43 54 3d 31 30 36 3b  S_IN_SELECT=106;
0ee0: 0a 63 6f 6e 73 74 20 53 51 4c 5f 4d 41 58 5f 55  .const SQL_MAX_U
0ef0: 53 45 52 5f 4e 41 4d 45 5f 4c 45 4e 3d 31 30 37  SER_NAME_LEN=107
0f00: 3b 0a 0a 63 6f 6e 73 74 20 53 51 4c 5f 4d 41 58  ;..const SQL_MAX
0f10: 49 4d 55 4d 5f 43 41 54 41 4c 4f 47 5f 4e 41 4d  IMUM_CATALOG_NAM
0f20: 45 5f 4c 45 4e 47 54 48 3d 53 51 4c 5f 4d 41 58  E_LENGTH=SQL_MAX
0f30: 5f 43 41 54 41 4c 4f 47 5f 4e 41 4d 45 5f 4c 45  _CATALOG_NAME_LE
0f40: 4e 3b 0a 63 6f 6e 73 74 20 53 51 4c 5f 4d 41 58  N;.const SQL_MAX
0f50: 49 4d 55 4d 5f 43 4f 4c 55 4d 4e 5f 4e 41 4d 45  IMUM_COLUMN_NAME
0f60: 5f 4c 45 4e 47 54 48 3d 53 51 4c 5f 4d 41 58 5f  _LENGTH=SQL_MAX_
0f70: 43 4f 4c 55 4d 4e 5f 4e 41 4d 45 5f 4c 45 4e 3b  COLUMN_NAME_LEN;
0f80: 0a 63 6f 6e 73 74 20 53 51 4c 5f 4d 41 58 49 4d  .const SQL_MAXIM
0f90: 55 4d 5f 43 4f 4c 55 4d 4e 53 5f 49 4e 5f 47 52  UM_COLUMNS_IN_GR
0fa0: 4f 55 50 5f 42 59 3d 53 51 4c 5f 4d 41 58 5f 43  OUP_BY=SQL_MAX_C
0fb0: 4f 4c 55 4d 4e 53 5f 49 4e 5f 47 52 4f 55 50 5f  OLUMNS_IN_GROUP_
0fc0: 42 59 3b 0a 63 6f 6e 73 74 20 53 51 4c 5f 4d 41  BY;.const SQL_MA
0fd0: 58 49 4d 55 4d 5f 43 4f 4c 55 4d 4e 53 5f 49 4e  XIMUM_COLUMNS_IN
0fe0: 5f 49 4e 44 45 58 3d 53 51 4c 5f 4d 41 58 5f 43  _INDEX=SQL_MAX_C
0ff0: 4f 4c 55 4d 4e 53 5f 49 4e 5f 49 4e 44 45 58 3b  OLUMNS_IN_INDEX;
1000: 0a 63 6f 6e 73 74 20 53 51 4c 5f 4d 41 58 49 4d  .const SQL_MAXIM
1010: 55 4d 5f 43 4f 4c 55 4d 4e 53 5f 49 4e 5f 4f 52  UM_COLUMNS_IN_OR
1020: 44 45 52 5f 42 59 3d 53 51 4c 5f 4d 41 58 5f 43  DER_BY=SQL_MAX_C
1030: 4f 4c 55 4d 4e 53 5f 49 4e 5f 4f 52 44 45 52 5f  OLUMNS_IN_ORDER_
1040: 42 59 3b 0a 63 6f 6e 73 74 20 53 51 4c 5f 4d 41  BY;.const SQL_MA
1050: 58 49 4d 55 4d 5f 43 4f 4c 55 4d 4e 53 5f 49 4e  XIMUM_COLUMNS_IN
1060: 5f 53 45 4c 45 43 54 3d 53 51 4c 5f 4d 41 58 5f  _SELECT=SQL_MAX_
1070: 43 4f 4c 55 4d 4e 53 5f 49 4e 5f 53 45 4c 45 43  COLUMNS_IN_SELEC
1080: 54 3b 0a 63 6f 6e 73 74 20 53 51 4c 5f 4d 41 58  T;.const SQL_MAX
1090: 49 4d 55 4d 5f 43 55 52 53 4f 52 5f 4e 41 4d 45  IMUM_CURSOR_NAME
10a0: 5f 4c 45 4e 47 54 48 3d 53 51 4c 5f 4d 41 58 5f  _LENGTH=SQL_MAX_
10b0: 43 55 52 53 4f 52 5f 4e 41 4d 45 5f 4c 45 4e 3b  CURSOR_NAME_LEN;
10c0: 0a 63 6f 6e 73 74 20 53 51 4c 5f 4d 41 58 49 4d  .const SQL_MAXIM
10d0: 55 4d 5f 49 4e 44 45 58 5f 53 49 5a 45 3d 53 51  UM_INDEX_SIZE=SQ
10e0: 4c 5f 4d 41 58 5f 49 4e 44 45 58 5f 53 49 5a 45  L_MAX_INDEX_SIZE
10f0: 3b 0a 63 6f 6e 73 74 20 53 51 4c 5f 4d 41 58 49  ;.const SQL_MAXI
1100: 4d 55 4d 5f 52 4f 57 5f 53 49 5a 45 3d 53 51 4c  MUM_ROW_SIZE=SQL
1110: 5f 4d 41 58 5f 52 4f 57 5f 53 49 5a 45 3b 0a 63  _MAX_ROW_SIZE;.c
1120: 6f 6e 73 74 20 53 51 4c 5f 4d 41 58 49 4d 55 4d  onst SQL_MAXIMUM
1130: 5f 53 43 48 45 4d 41 5f 4e 41 4d 45 5f 4c 45 4e  _SCHEMA_NAME_LEN
1140: 47 54 48 3d 53 51 4c 5f 4d 41 58 5f 53 43 48 45  GTH=SQL_MAX_SCHE
1150: 4d 41 5f 4e 41 4d 45 5f 4c 45 4e 3b 0a 63 6f 6e  MA_NAME_LEN;.con
1160: 73 74 20 53 51 4c 5f 4d 41 58 49 4d 55 4d 5f 53  st SQL_MAXIMUM_S
1170: 54 41 54 45 4d 45 4e 54 5f 4c 45 4e 47 54 48 3d  TATEMENT_LENGTH=
1180: 53 51 4c 5f 4d 41 58 5f 53 54 41 54 45 4d 45 4e  SQL_MAX_STATEMEN
1190: 54 5f 4c 45 4e 3b 0a 63 6f 6e 73 74 20 53 51 4c  T_LEN;.const SQL
11a0: 5f 4d 41 58 49 4d 55 4d 5f 54 41 42 4c 45 53 5f  _MAXIMUM_TABLES_
11b0: 49 4e 5f 53 45 4c 45 43 54 3d 53 51 4c 5f 4d 41  IN_SELECT=SQL_MA
11c0: 58 5f 54 41 42 4c 45 53 5f 49 4e 5f 53 45 4c 45  X_TABLES_IN_SELE
11d0: 43 54 3b 0a 63 6f 6e 73 74 20 53 51 4c 5f 4d 41  CT;.const SQL_MA
11e0: 58 49 4d 55 4d 5f 55 53 45 52 5f 4e 41 4d 45 5f  XIMUM_USER_NAME_
11f0: 4c 45 4e 47 54 48 3d 53 51 4c 5f 4d 41 58 5f 55  LENGTH=SQL_MAX_U
1200: 53 45 52 5f 4e 41 4d 45 5f 4c 45 4e 3b 0a 0a 63  SER_NAME_LEN;..c
1210: 6f 6e 73 74 20 53 51 4c 5f 4e 43 5f 48 49 47 48  onst SQL_NC_HIGH
1220: 3d 30 3b 0a 63 6f 6e 73 74 20 53 51 4c 5f 4e 43  =0;.const SQL_NC
1230: 5f 4c 4f 57 3d 31 3b 0a 63 6f 6e 73 74 20 53 51  _LOW=1;.const SQ
1240: 4c 5f 4e 45 45 44 5f 44 41 54 41 3d 39 39 3b 0a  L_NEED_DATA=99;.
1250: 63 6f 6e 73 74 20 53 51 4c 5f 4e 4f 5f 4e 55 4c  const SQL_NO_NUL
1260: 4c 53 3d 30 3b 0a 63 6f 6e 73 74 20 53 51 4c 5f  LS=0;.const SQL_
1270: 4e 54 53 3d 2d 33 3b 0a 63 6f 6e 73 74 20 4c 4f  NTS=-3;.const LO
1280: 4e 47 20 53 51 4c 5f 4e 54 53 4c 3d 2d 33 3b 0a  NG SQL_NTSL=-3;.
1290: 63 6f 6e 73 74 20 53 51 4c 5f 4e 55 4c 4c 5f 43  const SQL_NULL_C
12a0: 4f 4c 4c 41 54 49 4f 4e 3d 38 35 3b 0a 63 6f 6e  OLLATION=85;.con
12b0: 73 74 20 53 51 4c 5f 4e 55 4c 4c 5f 44 41 54 41  st SQL_NULL_DATA
12c0: 3d 2d 31 3b 0a 63 6f 6e 73 74 20 53 51 4c 5f 4e  =-1;.const SQL_N
12d0: 55 4c 4c 5f 48 44 42 43 3d 30 3b 0a 63 6f 6e 73  ULL_HDBC=0;.cons
12e0: 74 20 53 51 4c 5f 4e 55 4c 4c 5f 48 45 4e 56 3d  t SQL_NULL_HENV=
12f0: 30 3b 0a 63 6f 6e 73 74 20 53 51 4c 5f 4e 55 4c  0;.const SQL_NUL
1300: 4c 5f 48 53 54 4d 54 3d 30 3b 0a 63 6f 6e 73 74  L_HSTMT=0;.const
1310: 20 53 51 4c 5f 4e 55 4c 4c 41 42 4c 45 3d 31 3b   SQL_NULLABLE=1;
1320: 0a 63 6f 6e 73 74 20 53 51 4c 5f 4e 55 4c 4c 41  .const SQL_NULLA
1330: 42 4c 45 5f 55 4e 4b 4e 4f 57 4e 3d 32 3b 0a 63  BLE_UNKNOWN=2;.c
1340: 6f 6e 73 74 20 53 51 4c 5f 4e 55 4d 45 52 49 43  onst SQL_NUMERIC
1350: 3d 32 3b 0a 63 6f 6e 73 74 20 53 51 4c 5f 4f 52  =2;.const SQL_OR
1360: 44 45 52 5f 42 59 5f 43 4f 4c 55 4d 4e 53 5f 49  DER_BY_COLUMNS_I
1370: 4e 5f 53 45 4c 45 43 54 3d 39 30 3b 0a 63 6f 6e  N_SELECT=90;.con
1380: 73 74 20 53 51 4c 5f 50 43 5f 50 53 45 55 44 4f  st SQL_PC_PSEUDO
1390: 3d 32 3b 0a 63 6f 6e 73 74 20 53 51 4c 5f 50 43  =2;.const SQL_PC
13a0: 5f 55 4e 4b 4e 4f 57 4e 3d 30 3b 0a 63 6f 6e 73  _UNKNOWN=0;.cons
13b0: 74 20 53 51 4c 5f 52 45 41 4c 3d 37 3b 0a 63 6f  t SQL_REAL=7;.co
13c0: 6e 73 74 20 53 51 4c 5f 52 45 53 45 54 5f 50 41  nst SQL_RESET_PA
13d0: 52 41 4d 53 3d 33 3b 0a 63 6f 6e 73 74 20 53 51  RAMS=3;.const SQ
13e0: 4c 5f 52 4f 4c 4c 42 41 43 4b 3d 31 3b 0a 63 6f  L_ROLLBACK=1;.co
13f0: 6e 73 74 20 53 51 4c 5f 53 43 43 4f 5f 4c 4f 43  nst SQL_SCCO_LOC
1400: 4b 3d 32 3b 0a 63 6f 6e 73 74 20 53 51 4c 5f 53  K=2;.const SQL_S
1410: 43 43 4f 5f 4f 50 54 5f 52 4f 57 56 45 52 3d 34  CCO_OPT_ROWVER=4
1420: 3b 0a 63 6f 6e 73 74 20 53 51 4c 5f 53 43 43 4f  ;.const SQL_SCCO
1430: 5f 4f 50 54 5f 56 41 4c 55 45 53 3d 38 3b 0a 63  _OPT_VALUES=8;.c
1440: 6f 6e 73 74 20 53 51 4c 5f 53 43 43 4f 5f 52 45  onst SQL_SCCO_RE
1450: 41 44 5f 4f 4e 4c 59 3d 31 3b 0a 63 6f 6e 73 74  AD_ONLY=1;.const
1460: 20 53 51 4c 5f 53 43 4f 50 45 5f 43 55 52 52 4f   SQL_SCOPE_CURRO
1470: 57 3d 30 3b 0a 63 6f 6e 73 74 20 53 51 4c 5f 53  W=0;.const SQL_S
1480: 43 4f 50 45 5f 53 45 53 53 49 4f 4e 3d 32 3b 0a  COPE_SESSION=2;.
1490: 63 6f 6e 73 74 20 53 51 4c 5f 53 43 4f 50 45 5f  const SQL_SCOPE_
14a0: 54 52 41 4e 53 41 43 54 49 4f 4e 3d 31 3b 0a 63  TRANSACTION=1;.c
14b0: 6f 6e 73 74 20 53 51 4c 5f 53 43 52 4f 4c 4c 5f  onst SQL_SCROLL_
14c0: 43 4f 4e 43 55 52 52 45 4e 43 59 3d 34 33 3b 0a  CONCURRENCY=43;.
14d0: 63 6f 6e 73 74 20 53 51 4c 5f 53 45 41 52 43 48  const SQL_SEARCH
14e0: 5f 50 41 54 54 45 52 4e 5f 45 53 43 41 50 45 3d  _PATTERN_ESCAPE=
14f0: 31 34 3b 0a 63 6f 6e 73 74 20 53 51 4c 5f 53 45  14;.const SQL_SE
1500: 52 56 45 52 5f 4e 41 4d 45 3d 31 33 3b 0a 63 6f  RVER_NAME=13;.co
1510: 6e 73 74 20 53 51 4c 5f 53 4d 41 4c 4c 49 4e 54  nst SQL_SMALLINT
1520: 3d 35 3b 0a 63 6f 6e 73 74 20 53 51 4c 5f 53 50  =5;.const SQL_SP
1530: 45 43 49 41 4c 5f 43 48 41 52 41 43 54 45 52 53  ECIAL_CHARACTERS
1540: 3d 39 34 3b 0a 63 6f 6e 73 74 20 53 51 4c 5f 53  =94;.const SQL_S
1550: 54 49 4c 4c 5f 45 58 45 43 55 54 49 4e 47 3d 32  TILL_EXECUTING=2
1560: 3b 0a 2f 2f 4d 41 43 52 4f 20 23 64 65 66 69 6e  ;.//MACRO #defin
1570: 65 20 53 51 4c 5f 53 55 43 43 45 45 44 45 44 28  e SQL_SUCCEEDED(
1580: 72 63 29 20 28 28 28 72 63 29 26 28 7e 31 29 29  rc) (((rc)&(~1))
1590: 3d 3d 30 29 0a 0a 63 6f 6e 73 74 20 53 51 4c 5f  ==0)..const SQL_
15a0: 53 55 43 43 45 53 53 3d 30 3b 0a 63 6f 6e 73 74  SUCCESS=0;.const
15b0: 20 53 51 4c 5f 53 55 43 43 45 53 53 5f 57 49 54   SQL_SUCCESS_WIT
15c0: 48 5f 49 4e 46 4f 3d 31 3b 0a 0a 63 6f 6e 73 74  H_INFO=1;..const
15d0: 20 53 51 4c 5f 54 43 5f 41 4c 4c 3d 32 3b 0a 63   SQL_TC_ALL=2;.c
15e0: 6f 6e 73 74 20 53 51 4c 5f 54 43 5f 44 44 4c 5f  onst SQL_TC_DDL_
15f0: 43 4f 4d 4d 49 54 3d 33 3b 0a 63 6f 6e 73 74 20  COMMIT=3;.const 
1600: 53 51 4c 5f 54 43 5f 44 44 4c 5f 49 47 4e 4f 52  SQL_TC_DDL_IGNOR
1610: 45 3d 34 3b 0a 63 6f 6e 73 74 20 53 51 4c 5f 54  E=4;.const SQL_T
1620: 43 5f 44 4d 4c 3d 31 3b 0a 63 6f 6e 73 74 20 53  C_DML=1;.const S
1630: 51 4c 5f 54 43 5f 4e 4f 4e 45 3d 30 3b 0a 0a 0a  QL_TC_NONE=0;...
1640: 63 6f 6e 73 74 20 53 51 4c 5f 54 58 4e 5f 43 41  const SQL_TXN_CA
1650: 50 41 42 4c 45 3d 34 36 3b 0a 63 6f 6e 73 74 20  PABLE=46;.const 
1660: 53 51 4c 5f 54 58 4e 5f 49 53 4f 4c 41 54 49 4f  SQL_TXN_ISOLATIO
1670: 4e 5f 4f 50 54 49 4f 4e 3d 37 32 3b 0a 63 6f 6e  N_OPTION=72;.con
1680: 73 74 20 53 51 4c 5f 54 58 4e 5f 52 45 41 44 5f  st SQL_TXN_READ_
1690: 43 4f 4d 4d 49 54 54 45 44 3d 32 3b 0a 63 6f 6e  COMMITTED=2;.con
16a0: 73 74 20 53 51 4c 5f 54 58 4e 5f 52 45 41 44 5f  st SQL_TXN_READ_
16b0: 55 4e 43 4f 4d 4d 49 54 54 45 44 3d 31 3b 0a 63  UNCOMMITTED=1;.c
16c0: 6f 6e 73 74 20 53 51 4c 5f 54 58 4e 5f 52 45 50  onst SQL_TXN_REP
16d0: 45 41 54 41 42 4c 45 5f 52 45 41 44 3d 34 3b 0a  EATABLE_READ=4;.
16e0: 63 6f 6e 73 74 20 53 51 4c 5f 54 58 4e 5f 53 45  const SQL_TXN_SE
16f0: 52 49 41 4c 49 5a 41 42 4c 45 3d 38 3b 0a 0a 63  RIALIZABLE=8;..c
1700: 6f 6e 73 74 20 53 51 4c 5f 54 52 41 4e 53 41 43  onst SQL_TRANSAC
1710: 54 49 4f 4e 5f 43 41 50 41 42 4c 45 3d 53 51 4c  TION_CAPABLE=SQL
1720: 5f 54 58 4e 5f 43 41 50 41 42 4c 45 3b 0a 63 6f  _TXN_CAPABLE;.co
1730: 6e 73 74 20 53 51 4c 5f 54 52 41 4e 53 41 43 54  nst SQL_TRANSACT
1740: 49 4f 4e 5f 49 53 4f 4c 41 54 49 4f 4e 5f 4f 50  ION_ISOLATION_OP
1750: 54 49 4f 4e 3d 53 51 4c 5f 54 58 4e 5f 49 53 4f  TION=SQL_TXN_ISO
1760: 4c 41 54 49 4f 4e 5f 4f 50 54 49 4f 4e 3b 0a 63  LATION_OPTION;.c
1770: 6f 6e 73 74 20 53 51 4c 5f 54 52 41 4e 53 41 43  onst SQL_TRANSAC
1780: 54 49 4f 4e 5f 52 45 41 44 5f 43 4f 4d 4d 49 54  TION_READ_COMMIT
1790: 54 45 44 3d 53 51 4c 5f 54 58 4e 5f 52 45 41 44  TED=SQL_TXN_READ
17a0: 5f 43 4f 4d 4d 49 54 54 45 44 3b 0a 63 6f 6e 73  _COMMITTED;.cons
17b0: 74 20 53 51 4c 5f 54 52 41 4e 53 41 43 54 49 4f  t SQL_TRANSACTIO
17c0: 4e 5f 52 45 41 44 5f 55 4e 43 4f 4d 4d 49 54 54  N_READ_UNCOMMITT
17d0: 45 44 3d 53 51 4c 5f 54 58 4e 5f 52 45 41 44 5f  ED=SQL_TXN_READ_
17e0: 55 4e 43 4f 4d 4d 49 54 54 45 44 3b 0a 63 6f 6e  UNCOMMITTED;.con
17f0: 73 74 20 53 51 4c 5f 54 52 41 4e 53 41 43 54 49  st SQL_TRANSACTI
1800: 4f 4e 5f 52 45 50 45 41 54 41 42 4c 45 5f 52 45  ON_REPEATABLE_RE
1810: 41 44 3d 53 51 4c 5f 54 58 4e 5f 52 45 50 45 41  AD=SQL_TXN_REPEA
1820: 54 41 42 4c 45 5f 52 45 41 44 3b 0a 63 6f 6e 73  TABLE_READ;.cons
1830: 74 20 53 51 4c 5f 54 52 41 4e 53 41 43 54 49 4f  t SQL_TRANSACTIO
1840: 4e 5f 53 45 52 49 41 4c 49 5a 41 42 4c 45 3d 53  N_SERIALIZABLE=S
1850: 51 4c 5f 54 58 4e 5f 53 45 52 49 41 4c 49 5a 41  QL_TXN_SERIALIZA
1860: 42 4c 45 3b 0a 0a 63 6f 6e 73 74 20 53 51 4c 5f  BLE;..const SQL_
1870: 55 4e 42 49 4e 44 3d 32 3b 0a 63 6f 6e 73 74 20  UNBIND=2;.const 
1880: 53 51 4c 5f 55 4e 4b 4e 4f 57 4e 5f 54 59 50 45  SQL_UNKNOWN_TYPE
1890: 3d 30 3b 0a 63 6f 6e 73 74 20 53 51 4c 5f 55 53  =0;.const SQL_US
18a0: 45 52 5f 4e 41 4d 45 3d 34 37 3b 0a 63 6f 6e 73  ER_NAME=47;.cons
18b0: 74 20 53 51 4c 5f 56 41 52 43 48 41 52 3d 31 32  t SQL_VARCHAR=12
18c0: 3b 0a 0a 73 74 61 74 69 63 20 69 66 20 28 4f 44  ;..static if (OD
18d0: 42 43 56 45 52 20 3e 3d 20 30 78 30 32 30 30 29  BCVER >= 0x0200)
18e0: 20 7b 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 41 54   {..const SQL_AT
18f0: 5f 41 44 44 5f 43 4f 4c 55 4d 4e 20 20 3d 20 31  _ADD_COLUMN  = 1
1900: 3b 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 41 54 5f  ;..const SQL_AT_
1910: 44 52 4f 50 5f 43 4f 4c 55 4d 4e 20 3d 20 32 3b  DROP_COLUMN = 2;
1920: 0a 7d 0a 0a 73 74 61 74 69 63 20 69 66 20 28 4f  .}..static if (O
1930: 44 42 43 56 45 52 20 3e 3d 20 30 78 30 32 30 31  DBCVER >= 0x0201
1940: 29 20 7b 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 4f  ) {..const SQL_O
1950: 4a 5f 4c 45 46 54 20 20 20 20 20 20 20 20 20 20  J_LEFT          
1960: 20 20 20 20 20 3d 20 20 31 3b 0a 09 63 6f 6e 73       =  1;..cons
1970: 74 20 53 51 4c 5f 4f 4a 5f 52 49 47 48 54 20 20  t SQL_OJ_RIGHT  
1980: 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 20 32              =  2
1990: 3b 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 4f 4a 5f  ;..const SQL_OJ_
19a0: 46 55 4c 4c 20 20 20 20 20 20 20 20 20 20 20 20  FULL            
19b0: 20 20 20 3d 20 20 34 3b 0a 09 63 6f 6e 73 74 20     =  4;..const 
19c0: 53 51 4c 5f 4f 4a 5f 4e 45 53 54 45 44 20 20 20  SQL_OJ_NESTED   
19d0: 20 20 20 20 20 20 20 20 20 20 3d 20 20 38 3b 0a            =  8;.
19e0: 09 63 6f 6e 73 74 20 53 51 4c 5f 4f 4a 5f 4e 4f  .const SQL_OJ_NO
19f0: 54 5f 4f 52 44 45 52 45 44 20 20 20 20 20 20 20  T_ORDERED       
1a00: 20 3d 20 31 36 3b 0a 09 63 6f 6e 73 74 20 53 51   = 16;..const SQ
1a10: 4c 5f 4f 4a 5f 49 4e 4e 45 52 20 20 20 20 20 20  L_OJ_INNER      
1a20: 20 20 20 20 20 20 20 20 3d 20 33 32 3b 0a 09 63          = 32;..c
1a30: 6f 6e 73 74 20 53 51 4c 5f 4f 4a 5f 41 4c 4c 5f  onst SQL_OJ_ALL_
1a40: 43 4f 4d 50 41 52 49 53 4f 4e 5f 4f 50 53 20 3d  COMPARISON_OPS =
1a50: 20 36 34 3b 0a 7d 0a 0a 73 74 61 74 69 63 20 69   64;.}..static i
1a60: 66 20 28 4f 44 42 43 56 45 52 20 3e 3d 20 30 78  f (ODBCVER >= 0x
1a70: 30 33 30 30 29 20 7b 0a 09 63 6f 6e 73 74 20 53  0300) {..const S
1a80: 51 4c 5f 41 4d 5f 43 4f 4e 4e 45 43 54 49 4f 4e  QL_AM_CONNECTION
1a90: 3d 31 3b 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 41  =1;..const SQL_A
1aa0: 4d 5f 4e 4f 4e 45 3d 30 3b 0a 09 63 6f 6e 73 74  M_NONE=0;..const
1ab0: 20 53 51 4c 5f 41 4d 5f 53 54 41 54 45 4d 45 4e   SQL_AM_STATEMEN
1ac0: 54 3d 32 3b 0a 09 63 6f 6e 73 74 20 53 51 4c 5f  T=2;..const SQL_
1ad0: 41 50 49 5f 53 51 4c 41 4c 4c 4f 43 48 41 4e 44  API_SQLALLOCHAND
1ae0: 4c 45 3d 31 30 30 31 3b 0a 09 63 6f 6e 73 74 20  LE=1001;..const 
1af0: 53 51 4c 5f 41 50 49 5f 53 51 4c 42 49 4e 44 50  SQL_API_SQLBINDP
1b00: 41 52 41 4d 3d 31 30 30 32 3b 0a 09 63 6f 6e 73  ARAM=1002;..cons
1b10: 74 20 53 51 4c 5f 41 50 49 5f 53 51 4c 43 4c 4f  t SQL_API_SQLCLO
1b20: 53 45 43 55 52 53 4f 52 3d 31 30 30 33 3b 0a 09  SECURSOR=1003;..
1b30: 63 6f 6e 73 74 20 53 51 4c 5f 41 50 49 5f 53 51  const SQL_API_SQ
1b40: 4c 43 4f 4c 41 54 54 52 49 42 55 54 45 3d 36 3b  LCOLATTRIBUTE=6;
1b50: 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 41 50 49 5f  ..const SQL_API_
1b60: 53 51 4c 43 4f 50 59 44 45 53 43 3d 31 30 30 34  SQLCOPYDESC=1004
1b70: 3b 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 41 50 49  ;..const SQL_API
1b80: 5f 53 51 4c 45 4e 44 54 52 41 4e 3d 31 30 30 35  _SQLENDTRAN=1005
1b90: 3b 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 41 50 49  ;..const SQL_API
1ba0: 5f 53 51 4c 46 45 54 43 48 53 43 52 4f 4c 4c 3d  _SQLFETCHSCROLL=
1bb0: 31 30 32 31 3b 0a 09 63 6f 6e 73 74 20 53 51 4c  1021;..const SQL
1bc0: 5f 41 50 49 5f 53 51 4c 46 52 45 45 48 41 4e 44  _API_SQLFREEHAND
1bd0: 4c 45 3d 31 30 30 36 3b 0a 09 63 6f 6e 73 74 20  LE=1006;..const 
1be0: 53 51 4c 5f 41 50 49 5f 53 51 4c 47 45 54 43 4f  SQL_API_SQLGETCO
1bf0: 4e 4e 45 43 54 41 54 54 52 3d 31 30 30 37 3b 0a  NNECTATTR=1007;.
1c00: 09 63 6f 6e 73 74 20 53 51 4c 5f 41 50 49 5f 53  .const SQL_API_S
1c10: 51 4c 47 45 54 44 45 53 43 46 49 45 4c 44 3d 31  QLGETDESCFIELD=1
1c20: 30 30 38 3b 0a 09 63 6f 6e 73 74 20 53 51 4c 5f  008;..const SQL_
1c30: 41 50 49 5f 53 51 4c 47 45 54 44 45 53 43 52 45  API_SQLGETDESCRE
1c40: 43 3d 31 30 30 39 3b 0a 09 63 6f 6e 73 74 20 53  C=1009;..const S
1c50: 51 4c 5f 41 50 49 5f 53 51 4c 47 45 54 44 49 41  QL_API_SQLGETDIA
1c60: 47 46 49 45 4c 44 3d 31 30 31 30 3b 0a 09 63 6f  GFIELD=1010;..co
1c70: 6e 73 74 20 53 51 4c 5f 41 50 49 5f 53 51 4c 47  nst SQL_API_SQLG
1c80: 45 54 44 49 41 47 52 45 43 3d 31 30 31 31 3b 0a  ETDIAGREC=1011;.
1c90: 09 63 6f 6e 73 74 20 53 51 4c 5f 41 50 49 5f 53  .const SQL_API_S
1ca0: 51 4c 47 45 54 45 4e 56 41 54 54 52 3d 31 30 31  QLGETENVATTR=101
1cb0: 32 3b 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 41 50  2;..const SQL_AP
1cc0: 49 5f 53 51 4c 47 45 54 53 54 4d 54 41 54 54 52  I_SQLGETSTMTATTR
1cd0: 3d 31 30 31 34 3b 0a 09 63 6f 6e 73 74 20 53 51  =1014;..const SQ
1ce0: 4c 5f 41 50 49 5f 53 51 4c 53 45 54 43 4f 4e 4e  L_API_SQLSETCONN
1cf0: 45 43 54 41 54 54 52 3d 31 30 31 36 3b 0a 09 63  ECTATTR=1016;..c
1d00: 6f 6e 73 74 20 53 51 4c 5f 41 50 49 5f 53 51 4c  onst SQL_API_SQL
1d10: 53 45 54 44 45 53 43 46 49 45 4c 44 3d 31 30 31  SETDESCFIELD=101
1d20: 37 3b 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 41 50  7;..const SQL_AP
1d30: 49 5f 53 51 4c 53 45 54 44 45 53 43 52 45 43 3d  I_SQLSETDESCREC=
1d40: 31 30 31 38 3b 0a 09 63 6f 6e 73 74 20 53 51 4c  1018;..const SQL
1d50: 5f 41 50 49 5f 53 51 4c 53 45 54 45 4e 56 41 54  _API_SQLSETENVAT
1d60: 54 52 3d 31 30 31 39 3b 0a 09 63 6f 6e 73 74 20  TR=1019;..const 
1d70: 53 51 4c 5f 41 50 49 5f 53 51 4c 53 45 54 53 54  SQL_API_SQLSETST
1d80: 4d 54 41 54 54 52 3d 31 30 32 30 3b 0a 09 63 6f  MTATTR=1020;..co
1d90: 6e 73 74 20 53 51 4c 5f 41 52 44 5f 54 59 50 45  nst SQL_ARD_TYPE
1da0: 3d 2d 39 39 3b 0a 09 63 6f 6e 73 74 20 53 51 4c  =-99;..const SQL
1db0: 5f 41 54 5f 41 44 44 5f 43 4f 4e 53 54 52 41 49  _AT_ADD_CONSTRAI
1dc0: 4e 54 3d 38 3b 0a 09 63 6f 6e 73 74 20 53 51 4c  NT=8;..const SQL
1dd0: 5f 41 54 54 52 5f 41 50 50 5f 50 41 52 41 4d 5f  _ATTR_APP_PARAM_
1de0: 44 45 53 43 3d 31 30 30 31 31 3b 0a 09 63 6f 6e  DESC=10011;..con
1df0: 73 74 20 53 51 4c 5f 41 54 54 52 5f 41 50 50 5f  st SQL_ATTR_APP_
1e00: 52 4f 57 5f 44 45 53 43 3d 31 30 30 31 30 3b 0a  ROW_DESC=10010;.
1e10: 09 63 6f 6e 73 74 20 53 51 4c 5f 41 54 54 52 5f  .const SQL_ATTR_
1e20: 41 55 54 4f 5f 49 50 44 3d 31 30 30 30 31 3b 0a  AUTO_IPD=10001;.
1e30: 09 63 6f 6e 73 74 20 53 51 4c 5f 41 54 54 52 5f  .const SQL_ATTR_
1e40: 43 55 52 53 4f 52 5f 53 43 52 4f 4c 4c 41 42 4c  CURSOR_SCROLLABL
1e50: 45 3d 2d 31 3b 0a 09 63 6f 6e 73 74 20 53 51 4c  E=-1;..const SQL
1e60: 5f 41 54 54 52 5f 43 55 52 53 4f 52 5f 53 45 4e  _ATTR_CURSOR_SEN
1e70: 53 49 54 49 56 49 54 59 3d 2d 32 3b 0a 09 63 6f  SITIVITY=-2;..co
1e80: 6e 73 74 20 53 51 4c 5f 41 54 54 52 5f 49 4d 50  nst SQL_ATTR_IMP
1e90: 5f 50 41 52 41 4d 5f 44 45 53 43 3d 31 30 30 31  _PARAM_DESC=1001
1ea0: 33 3b 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 41 54  3;..const SQL_AT
1eb0: 54 52 5f 49 4d 50 5f 52 4f 57 5f 44 45 53 43 3d  TR_IMP_ROW_DESC=
1ec0: 31 30 30 31 32 3b 0a 09 63 6f 6e 73 74 20 53 51  10012;..const SQ
1ed0: 4c 5f 41 54 54 52 5f 4d 45 54 41 44 41 54 41 5f  L_ATTR_METADATA_
1ee0: 49 44 3d 31 30 30 31 34 3b 0a 09 63 6f 6e 73 74  ID=10014;..const
1ef0: 20 53 51 4c 5f 41 54 54 52 5f 4f 55 54 50 55 54   SQL_ATTR_OUTPUT
1f00: 5f 4e 54 53 3d 31 30 30 30 31 3b 0a 09 63 6f 6e  _NTS=10001;..con
1f10: 73 74 20 53 51 4c 5f 43 41 54 41 4c 4f 47 5f 4e  st SQL_CATALOG_N
1f20: 41 4d 45 3d 31 30 30 30 33 3b 0a 09 63 6f 6e 73  AME=10003;..cons
1f30: 74 20 53 51 4c 5f 43 4f 44 45 5f 44 41 54 45 3d  t SQL_CODE_DATE=
1f40: 31 3b 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 43 4f  1;..const SQL_CO
1f50: 44 45 5f 54 49 4d 45 3d 32 3b 0a 09 63 6f 6e 73  DE_TIME=2;..cons
1f60: 74 20 53 51 4c 5f 43 4f 44 45 5f 54 49 4d 45 53  t SQL_CODE_TIMES
1f70: 54 41 4d 50 3d 33 3b 0a 09 63 6f 6e 73 74 20 53  TAMP=3;..const S
1f80: 51 4c 5f 43 4f 4c 4c 41 54 49 4f 4e 5f 53 45 51  QL_COLLATION_SEQ
1f90: 3d 31 30 30 30 34 3b 0a 09 63 6f 6e 73 74 20 53  =10004;..const S
1fa0: 51 4c 5f 43 55 52 53 4f 52 5f 53 45 4e 53 49 54  QL_CURSOR_SENSIT
1fb0: 49 56 49 54 59 3d 31 30 30 30 31 3b 0a 09 63 6f  IVITY=10001;..co
1fc0: 6e 73 74 20 53 51 4c 5f 44 41 54 45 5f 4c 45 4e  nst SQL_DATE_LEN
1fd0: 3d 31 30 3b 0a 09 63 6f 6e 73 74 20 53 51 4c 5f  =10;..const SQL_
1fe0: 44 41 54 45 54 49 4d 45 3d 39 3b 0a 09 63 6f 6e  DATETIME=9;..con
1ff0: 73 74 20 53 51 4c 5f 44 45 46 41 55 4c 54 3d 39  st SQL_DEFAULT=9
2000: 39 3b 0a 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 44  9;...const SQL_D
2010: 45 53 43 5f 41 4c 4c 4f 43 5f 41 55 54 4f 3d 31  ESC_ALLOC_AUTO=1
2020: 3b 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 44 45 53  ;..const SQL_DES
2030: 43 5f 41 4c 4c 4f 43 5f 55 53 45 52 3d 32 3b 0a  C_ALLOC_USER=2;.
2040: 09 63 6f 6e 73 74 20 53 51 4c 5f 44 45 53 43 5f  .const SQL_DESC_
2050: 41 4c 4c 4f 43 5f 54 59 50 45 3d 31 30 39 39 3b  ALLOC_TYPE=1099;
2060: 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 44 45 53 43  ..const SQL_DESC
2070: 5f 43 4f 55 4e 54 3d 31 30 30 31 3b 0a 09 63 6f  _COUNT=1001;..co
2080: 6e 73 74 20 53 51 4c 5f 44 45 53 43 5f 54 59 50  nst SQL_DESC_TYP
2090: 45 3d 31 30 30 32 3b 0a 09 63 6f 6e 73 74 20 53  E=1002;..const S
20a0: 51 4c 5f 44 45 53 43 5f 4c 45 4e 47 54 48 3d 31  QL_DESC_LENGTH=1
20b0: 30 30 33 3b 0a 09 63 6f 6e 73 74 20 53 51 4c 5f  003;..const SQL_
20c0: 44 45 53 43 5f 4f 43 54 45 54 5f 4c 45 4e 47 54  DESC_OCTET_LENGT
20d0: 48 5f 50 54 52 3d 31 30 30 34 3b 0a 09 63 6f 6e  H_PTR=1004;..con
20e0: 73 74 20 53 51 4c 5f 44 45 53 43 5f 50 52 45 43  st SQL_DESC_PREC
20f0: 49 53 49 4f 4e 3d 31 30 30 35 3b 0a 09 63 6f 6e  ISION=1005;..con
2100: 73 74 20 53 51 4c 5f 44 45 53 43 5f 53 43 41 4c  st SQL_DESC_SCAL
2110: 45 3d 31 30 30 36 3b 0a 09 63 6f 6e 73 74 20 53  E=1006;..const S
2120: 51 4c 5f 44 45 53 43 5f 44 41 54 45 54 49 4d 45  QL_DESC_DATETIME
2130: 5f 49 4e 54 45 52 56 41 4c 5f 43 4f 44 45 3d 31  _INTERVAL_CODE=1
2140: 30 30 37 3b 0a 09 63 6f 6e 73 74 20 53 51 4c 5f  007;..const SQL_
2150: 44 45 53 43 5f 4e 55 4c 4c 41 42 4c 45 3d 31 30  DESC_NULLABLE=10
2160: 30 38 3b 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 44  08;..const SQL_D
2170: 45 53 43 5f 49 4e 44 49 43 41 54 4f 52 5f 50 54  ESC_INDICATOR_PT
2180: 52 3d 31 30 30 39 3b 0a 09 63 6f 6e 73 74 20 53  R=1009;..const S
2190: 51 4c 5f 44 45 53 43 5f 44 41 54 41 5f 50 54 52  QL_DESC_DATA_PTR
21a0: 3d 31 30 31 30 3b 0a 09 63 6f 6e 73 74 20 53 51  =1010;..const SQ
21b0: 4c 5f 44 45 53 43 5f 4e 41 4d 45 3d 31 30 31 31  L_DESC_NAME=1011
21c0: 3b 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 44 45 53  ;..const SQL_DES
21d0: 43 5f 55 4e 4e 41 4d 45 44 3d 31 30 31 32 3b 0a  C_UNNAMED=1012;.
21e0: 09 63 6f 6e 73 74 20 53 51 4c 5f 44 45 53 43 5f  .const SQL_DESC_
21f0: 4f 43 54 45 54 5f 4c 45 4e 47 54 48 3d 31 30 31  OCTET_LENGTH=101
2200: 33 3b 0a 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 44  3;...const SQL_D
2210: 45 53 43 52 49 42 45 5f 50 41 52 41 4d 45 54 45  ESCRIBE_PARAMETE
2220: 52 3d 31 30 30 30 32 3b 0a 0a 09 63 6f 6e 73 74  R=10002;...const
2230: 20 53 51 4c 5f 44 49 41 47 5f 41 4c 54 45 52 5f   SQL_DIAG_ALTER_
2240: 44 4f 4d 41 49 4e 3d 33 3b 0a 09 63 6f 6e 73 74  DOMAIN=3;..const
2250: 20 53 51 4c 5f 44 49 41 47 5f 41 4c 54 45 52 5f   SQL_DIAG_ALTER_
2260: 54 41 42 4c 45 3d 34 3b 0a 09 63 6f 6e 73 74 20  TABLE=4;..const 
2270: 53 51 4c 5f 44 49 41 47 5f 43 41 4c 4c 3d 37 3b  SQL_DIAG_CALL=7;
2280: 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 44 49 41 47  ..const SQL_DIAG
2290: 5f 43 4c 41 53 53 5f 4f 52 49 47 49 4e 3d 38 3b  _CLASS_ORIGIN=8;
22a0: 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 44 49 41 47  ..const SQL_DIAG
22b0: 5f 43 4f 4e 4e 45 43 54 49 4f 4e 5f 4e 41 4d 45  _CONNECTION_NAME
22c0: 3d 31 30 3b 0a 09 63 6f 6e 73 74 20 53 51 4c 5f  =10;..const SQL_
22d0: 44 49 41 47 5f 43 52 45 41 54 45 5f 41 53 53 45  DIAG_CREATE_ASSE
22e0: 52 54 49 4f 4e 3d 36 3b 0a 09 63 6f 6e 73 74 20  RTION=6;..const 
22f0: 53 51 4c 5f 44 49 41 47 5f 43 52 45 41 54 45 5f  SQL_DIAG_CREATE_
2300: 43 48 41 52 41 43 54 45 52 5f 53 45 54 3d 38 3b  CHARACTER_SET=8;
2310: 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 44 49 41 47  ..const SQL_DIAG
2320: 5f 43 52 45 41 54 45 5f 43 4f 4c 4c 41 54 49 4f  _CREATE_COLLATIO
2330: 4e 3d 31 30 3b 0a 09 63 6f 6e 73 74 20 53 51 4c  N=10;..const SQL
2340: 5f 44 49 41 47 5f 43 52 45 41 54 45 5f 44 4f 4d  _DIAG_CREATE_DOM
2350: 41 49 4e 3d 32 33 3b 0a 09 63 6f 6e 73 74 20 53  AIN=23;..const S
2360: 51 4c 5f 44 49 41 47 5f 43 52 45 41 54 45 5f 49  QL_DIAG_CREATE_I
2370: 4e 44 45 58 3d 2d 31 3b 0a 09 63 6f 6e 73 74 20  NDEX=-1;..const 
2380: 53 51 4c 5f 44 49 41 47 5f 43 52 45 41 54 45 5f  SQL_DIAG_CREATE_
2390: 53 43 48 45 4d 41 3d 36 34 3b 0a 09 63 6f 6e 73  SCHEMA=64;..cons
23a0: 74 20 53 51 4c 5f 44 49 41 47 5f 43 52 45 41 54  t SQL_DIAG_CREAT
23b0: 45 5f 54 41 42 4c 45 3d 37 37 3b 0a 09 63 6f 6e  E_TABLE=77;..con
23c0: 73 74 20 53 51 4c 5f 44 49 41 47 5f 43 52 45 41  st SQL_DIAG_CREA
23d0: 54 45 5f 54 52 41 4e 53 4c 41 54 49 4f 4e 3d 37  TE_TRANSLATION=7
23e0: 39 3b 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 44 49  9;..const SQL_DI
23f0: 41 47 5f 43 52 45 41 54 45 5f 56 49 45 57 3d 38  AG_CREATE_VIEW=8
2400: 34 3b 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 44 49  4;..const SQL_DI
2410: 41 47 5f 44 45 4c 45 54 45 5f 57 48 45 52 45 3d  AG_DELETE_WHERE=
2420: 31 39 3b 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 44  19;..const SQL_D
2430: 49 41 47 5f 44 52 4f 50 5f 41 53 53 45 52 54 49  IAG_DROP_ASSERTI
2440: 4f 4e 3d 32 34 3b 0a 09 63 6f 6e 73 74 20 53 51  ON=24;..const SQ
2450: 4c 5f 44 49 41 47 5f 44 52 4f 50 5f 43 48 41 52  L_DIAG_DROP_CHAR
2460: 41 43 54 45 52 5f 53 45 54 3d 32 35 3b 0a 09 63  ACTER_SET=25;..c
2470: 6f 6e 73 74 20 53 51 4c 5f 44 49 41 47 5f 44 52  onst SQL_DIAG_DR
2480: 4f 50 5f 43 4f 4c 4c 41 54 49 4f 4e 3d 32 36 3b  OP_COLLATION=26;
2490: 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 44 49 41 47  ..const SQL_DIAG
24a0: 5f 44 52 4f 50 5f 44 4f 4d 41 49 4e 3d 32 37 3b  _DROP_DOMAIN=27;
24b0: 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 44 49 41 47  ..const SQL_DIAG
24c0: 5f 44 52 4f 50 5f 49 4e 44 45 58 3d 28 2d 32 29  _DROP_INDEX=(-2)
24d0: 3b 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 44 49 41  ;..const SQL_DIA
24e0: 47 5f 44 52 4f 50 5f 53 43 48 45 4d 41 3d 33 31  G_DROP_SCHEMA=31
24f0: 3b 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 44 49 41  ;..const SQL_DIA
2500: 47 5f 44 52 4f 50 5f 54 41 42 4c 45 3d 33 32 3b  G_DROP_TABLE=32;
2510: 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 44 49 41 47  ..const SQL_DIAG
2520: 5f 44 52 4f 50 5f 54 52 41 4e 53 4c 41 54 49 4f  _DROP_TRANSLATIO
2530: 4e 3d 33 33 3b 0a 09 63 6f 6e 73 74 20 53 51 4c  N=33;..const SQL
2540: 5f 44 49 41 47 5f 44 52 4f 50 5f 56 49 45 57 3d  _DIAG_DROP_VIEW=
2550: 33 36 3b 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 44  36;..const SQL_D
2560: 49 41 47 5f 44 59 4e 41 4d 49 43 5f 44 45 4c 45  IAG_DYNAMIC_DELE
2570: 54 45 5f 43 55 52 53 4f 52 3d 33 38 3b 0a 09 63  TE_CURSOR=38;..c
2580: 6f 6e 73 74 20 53 51 4c 5f 44 49 41 47 5f 44 59  onst SQL_DIAG_DY
2590: 4e 41 4d 49 43 5f 46 55 4e 43 54 49 4f 4e 3d 37  NAMIC_FUNCTION=7
25a0: 3b 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 44 49 41  ;..const SQL_DIA
25b0: 47 5f 44 59 4e 41 4d 49 43 5f 46 55 4e 43 54 49  G_DYNAMIC_FUNCTI
25c0: 4f 4e 5f 43 4f 44 45 3d 31 32 3b 0a 09 63 6f 6e  ON_CODE=12;..con
25d0: 73 74 20 53 51 4c 5f 44 49 41 47 5f 44 59 4e 41  st SQL_DIAG_DYNA
25e0: 4d 49 43 5f 55 50 44 41 54 45 5f 43 55 52 53 4f  MIC_UPDATE_CURSO
25f0: 52 3d 38 31 3b 0a 09 63 6f 6e 73 74 20 53 51 4c  R=81;..const SQL
2600: 5f 44 49 41 47 5f 47 52 41 4e 54 3d 34 38 3b 0a  _DIAG_GRANT=48;.
2610: 09 63 6f 6e 73 74 20 53 51 4c 5f 44 49 41 47 5f  .const SQL_DIAG_
2620: 49 4e 53 45 52 54 3d 35 30 3b 0a 09 63 6f 6e 73  INSERT=50;..cons
2630: 74 20 53 51 4c 5f 44 49 41 47 5f 4d 45 53 53 41  t SQL_DIAG_MESSA
2640: 47 45 5f 54 45 58 54 3d 36 3b 0a 09 63 6f 6e 73  GE_TEXT=6;..cons
2650: 74 20 53 51 4c 5f 44 49 41 47 5f 4e 41 54 49 56  t SQL_DIAG_NATIV
2660: 45 3d 35 3b 0a 09 63 6f 6e 73 74 20 53 51 4c 5f  E=5;..const SQL_
2670: 44 49 41 47 5f 4e 55 4d 42 45 52 3d 32 3b 0a 09  DIAG_NUMBER=2;..
2680: 63 6f 6e 73 74 20 53 51 4c 5f 44 49 41 47 5f 52  const SQL_DIAG_R
2690: 45 54 55 52 4e 43 4f 44 45 3d 31 3b 0a 09 63 6f  ETURNCODE=1;..co
26a0: 6e 73 74 20 53 51 4c 5f 44 49 41 47 5f 52 45 56  nst SQL_DIAG_REV
26b0: 4f 4b 45 3d 35 39 3b 0a 09 63 6f 6e 73 74 20 53  OKE=59;..const S
26c0: 51 4c 5f 44 49 41 47 5f 52 4f 57 5f 43 4f 55 4e  QL_DIAG_ROW_COUN
26d0: 54 3d 33 3b 0a 09 63 6f 6e 73 74 20 53 51 4c 5f  T=3;..const SQL_
26e0: 44 49 41 47 5f 53 45 4c 45 43 54 5f 43 55 52 53  DIAG_SELECT_CURS
26f0: 4f 52 3d 38 35 3b 0a 09 63 6f 6e 73 74 20 53 51  OR=85;..const SQ
2700: 4c 5f 44 49 41 47 5f 53 45 52 56 45 52 5f 4e 41  L_DIAG_SERVER_NA
2710: 4d 45 3d 31 31 3b 0a 09 63 6f 6e 73 74 20 53 51  ME=11;..const SQ
2720: 4c 5f 44 49 41 47 5f 53 51 4c 53 54 41 54 45 3d  L_DIAG_SQLSTATE=
2730: 34 3b 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 44 49  4;..const SQL_DI
2740: 41 47 5f 53 55 42 43 4c 41 53 53 5f 4f 52 49 47  AG_SUBCLASS_ORIG
2750: 49 4e 3d 39 3b 0a 09 63 6f 6e 73 74 20 53 51 4c  IN=9;..const SQL
2760: 5f 44 49 41 47 5f 55 4e 4b 4e 4f 57 4e 5f 53 54  _DIAG_UNKNOWN_ST
2770: 41 54 45 4d 45 4e 54 3d 30 3b 0a 09 63 6f 6e 73  ATEMENT=0;..cons
2780: 74 20 53 51 4c 5f 44 49 41 47 5f 55 50 44 41 54  t SQL_DIAG_UPDAT
2790: 45 5f 57 48 45 52 45 3d 38 32 3b 0a 0a 09 63 6f  E_WHERE=82;...co
27a0: 6e 73 74 20 53 51 4c 5f 46 41 4c 53 45 3d 30 3b  nst SQL_FALSE=0;
27b0: 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 48 41 4e 44  ..const SQL_HAND
27c0: 4c 45 5f 44 42 43 3d 32 3b 0a 09 63 6f 6e 73 74  LE_DBC=2;..const
27d0: 20 53 51 4c 5f 48 41 4e 44 4c 45 5f 44 45 53 43   SQL_HANDLE_DESC
27e0: 3d 34 3b 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 48  =4;..const SQL_H
27f0: 41 4e 44 4c 45 5f 45 4e 56 3d 31 3b 0a 09 63 6f  ANDLE_ENV=1;..co
2800: 6e 73 74 20 53 51 4c 5f 48 41 4e 44 4c 45 5f 53  nst SQL_HANDLE_S
2810: 54 4d 54 3d 33 3b 0a 09 63 6f 6e 73 74 20 53 51  TMT=3;..const SQ
2820: 4c 5f 49 4e 53 45 4e 53 49 54 49 56 45 3d 31 3b  L_INSENSITIVE=1;
2830: 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 4d 41 58 5f  ..const SQL_MAX_
2840: 43 4f 4e 43 55 52 52 45 4e 54 5f 41 43 54 49 56  CONCURRENT_ACTIV
2850: 49 54 49 45 53 3d 31 3b 0a 09 63 6f 6e 73 74 20  ITIES=1;..const 
2860: 53 51 4c 5f 4d 41 58 5f 44 52 49 56 45 52 5f 43  SQL_MAX_DRIVER_C
2870: 4f 4e 4e 45 43 54 49 4f 4e 53 3d 30 3b 0a 09 63  ONNECTIONS=0;..c
2880: 6f 6e 73 74 20 53 51 4c 5f 4d 41 58 5f 49 44 45  onst SQL_MAX_IDE
2890: 4e 54 49 46 49 45 52 5f 4c 45 4e 3d 31 30 30 30  NTIFIER_LEN=1000
28a0: 35 3b 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 4d 41  5;..const SQL_MA
28b0: 58 49 4d 55 4d 5f 43 4f 4e 43 55 52 52 45 4e 54  XIMUM_CONCURRENT
28c0: 5f 41 43 54 49 56 49 54 49 45 53 3d 53 51 4c 5f  _ACTIVITIES=SQL_
28d0: 4d 41 58 5f 43 4f 4e 43 55 52 52 45 4e 54 5f 41  MAX_CONCURRENT_A
28e0: 43 54 49 56 49 54 49 45 53 3b 0a 09 63 6f 6e 73  CTIVITIES;..cons
28f0: 74 20 53 51 4c 5f 4d 41 58 49 4d 55 4d 5f 44 52  t SQL_MAXIMUM_DR
2900: 49 56 45 52 5f 43 4f 4e 4e 45 43 54 49 4f 4e 53  IVER_CONNECTIONS
2910: 3d 53 51 4c 5f 4d 41 58 5f 44 52 49 56 45 52 5f  =SQL_MAX_DRIVER_
2920: 43 4f 4e 4e 45 43 54 49 4f 4e 53 3b 0a 09 63 6f  CONNECTIONS;..co
2930: 6e 73 74 20 53 51 4c 5f 4d 41 58 49 4d 55 4d 5f  nst SQL_MAXIMUM_
2940: 49 44 45 4e 54 49 46 49 45 52 5f 4c 45 4e 47 54  IDENTIFIER_LENGT
2950: 48 3d 53 51 4c 5f 4d 41 58 5f 49 44 45 4e 54 49  H=SQL_MAX_IDENTI
2960: 46 49 45 52 5f 4c 45 4e 3b 0a 09 63 6f 6e 73 74  FIER_LEN;..const
2970: 20 53 51 4c 5f 4e 41 4d 45 44 3d 30 3b 0a 09 63   SQL_NAMED=0;..c
2980: 6f 6e 73 74 20 53 51 4c 5f 4e 4f 5f 44 41 54 41  onst SQL_NO_DATA
2990: 3d 31 30 30 3b 0a 09 63 6f 6e 73 74 20 53 51 4c  =100;..const SQL
29a0: 5f 4e 4f 4e 53 43 52 4f 4c 4c 41 42 4c 45 3d 30  _NONSCROLLABLE=0
29b0: 3b 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 4e 55 4c  ;..const SQL_NUL
29c0: 4c 5f 48 41 4e 44 4c 45 3d 30 4c 3b 0a 09 63 6f  L_HANDLE=0L;..co
29d0: 6e 73 74 20 53 51 4c 5f 4e 55 4c 4c 5f 48 44 45  nst SQL_NULL_HDE
29e0: 53 43 3d 30 3b 0a 09 63 6f 6e 73 74 20 53 51 4c  SC=0;..const SQL
29f0: 5f 4f 4a 5f 43 41 50 41 42 49 4c 49 54 49 45 53  _OJ_CAPABILITIES
2a00: 3d 31 31 35 3b 0a 09 63 6f 6e 73 74 20 53 51 4c  =115;..const SQL
2a10: 5f 4f 55 54 45 52 5f 4a 4f 49 4e 5f 43 41 50 41  _OUTER_JOIN_CAPA
2a20: 42 49 4c 49 54 49 45 53 3d 53 51 4c 5f 4f 4a 5f  BILITIES=SQL_OJ_
2a30: 43 41 50 41 42 49 4c 49 54 49 45 53 3b 0a 09 63  CAPABILITIES;..c
2a40: 6f 6e 73 74 20 53 51 4c 5f 50 43 5f 4e 4f 4e 5f  onst SQL_PC_NON_
2a50: 50 53 45 55 44 4f 3d 31 3b 0a 0a 09 63 6f 6e 73  PSEUDO=1;...cons
2a60: 74 20 53 51 4c 5f 50 52 45 44 5f 4e 4f 4e 45 3d  t SQL_PRED_NONE=
2a70: 30 3b 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 50 52  0;..const SQL_PR
2a80: 45 44 5f 43 48 41 52 3d 31 3b 0a 09 63 6f 6e 73  ED_CHAR=1;..cons
2a90: 74 20 53 51 4c 5f 50 52 45 44 5f 42 41 53 49 43  t SQL_PRED_BASIC
2aa0: 3d 32 3b 0a 0a 09 63 6f 6e 73 74 20 53 51 4c 5f  =2;...const SQL_
2ab0: 52 4f 57 5f 49 44 45 4e 54 49 46 49 45 52 3d 31  ROW_IDENTIFIER=1
2ac0: 3b 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 53 43 52  ;..const SQL_SCR
2ad0: 4f 4c 4c 41 42 4c 45 3d 31 3b 0a 09 63 6f 6e 73  OLLABLE=1;..cons
2ae0: 74 20 53 51 4c 5f 53 45 4e 53 49 54 49 56 45 3d  t SQL_SENSITIVE=
2af0: 32 3b 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 54 49  2;..const SQL_TI
2b00: 4d 45 5f 4c 45 4e 3d 38 3b 0a 09 63 6f 6e 73 74  ME_LEN=8;..const
2b10: 20 53 51 4c 5f 54 49 4d 45 53 54 41 4d 50 5f 4c   SQL_TIMESTAMP_L
2b20: 45 4e 3d 31 39 3b 0a 09 63 6f 6e 73 74 20 53 51  EN=19;..const SQ
2b30: 4c 5f 54 52 55 45 3d 31 3b 0a 09 63 6f 6e 73 74  L_TRUE=1;..const
2b40: 20 53 51 4c 5f 54 59 50 45 5f 44 41 54 45 3d 39   SQL_TYPE_DATE=9
2b50: 31 3b 0a 09 63 6f 6e 73 74 20 53 51 4c 5f 54 59  1;..const SQL_TY
2b60: 50 45 5f 54 49 4d 45 3d 39 32 3b 0a 09 63 6f 6e  PE_TIME=92;..con
2b70: 73 74 20 53 51 4c 5f 54 59 50 45 5f 54 49 4d 45  st SQL_TYPE_TIME
2b80: 53 54 41 4d 50 3d 39 33 3b 0a 09 63 6f 6e 73 74  STAMP=93;..const
2b90: 20 53 51 4c 5f 55 4e 4e 41 4d 45 44 3d 31 3b 0a   SQL_UNNAMED=1;.
2ba0: 09 63 6f 6e 73 74 20 53 51 4c 5f 55 4e 53 50 45  .const SQL_UNSPE
2bb0: 43 49 46 49 45 44 3d 30 3b 0a 09 63 6f 6e 73 74  CIFIED=0;..const
2bc0: 20 53 51 4c 5f 58 4f 50 45 4e 5f 43 4c 49 5f 59   SQL_XOPEN_CLI_Y
2bd0: 45 41 52 3d 31 30 30 30 30 3b 0a 7d 2f 2f 23 65  EAR=10000;.}//#e
2be0: 6e 64 69 66 20 2f 2a 20 4f 44 42 43 56 45 52 20  ndif /* ODBCVER 
2bf0: 3e 3d 20 30 78 30 33 30 30 20 2a 2f 0a 0a 65 78  >= 0x0300 */..ex
2c00: 74 65 72 6e 20 28 57 69 6e 64 6f 77 73 29 20 7b  tern (Windows) {
2c10: 0a 09 64 65 70 72 65 63 61 74 65 64 20 7b 0a 09  ..deprecated {..
2c20: 09 53 51 4c 52 45 54 55 52 4e 20 53 51 4c 41 6c  .SQLRETURN SQLAl
2c30: 6c 6f 63 43 6f 6e 6e 65 63 74 28 53 51 4c 48 45  locConnect(SQLHE
2c40: 4e 56 2c 20 53 51 4c 48 44 42 43 2a 29 3b 0a 09  NV, SQLHDBC*);..
2c50: 09 53 51 4c 52 45 54 55 52 4e 20 53 51 4c 41 6c  .SQLRETURN SQLAl
2c60: 6c 6f 63 45 6e 76 28 53 51 4c 48 45 4e 56 2a 29  locEnv(SQLHENV*)
2c70: 3b 0a 09 09 53 51 4c 52 45 54 55 52 4e 20 53 51  ;...SQLRETURN SQ
2c80: 4c 41 6c 6c 6f 63 53 74 6d 74 28 53 51 4c 48 44  LAllocStmt(SQLHD
2c90: 42 43 2c 20 53 51 4c 48 53 54 4d 54 2a 29 3b 0a  BC, SQLHSTMT*);.
2ca0: 09 09 53 51 4c 52 45 54 55 52 4e 20 53 51 4c 45  ..SQLRETURN SQLE
2cb0: 72 72 6f 72 28 53 51 4c 48 45 4e 56 2c 20 53 51  rror(SQLHENV, SQ
2cc0: 4c 48 44 42 43 2c 20 53 51 4c 48 53 54 4d 54 2c  LHDBC, SQLHSTMT,
2cd0: 20 53 51 4c 43 48 41 52 2a 2c 20 53 51 4c 49 4e   SQLCHAR*, SQLIN
2ce0: 54 45 47 45 52 2a 2c 20 53 51 4c 43 48 41 52 2a  TEGER*, SQLCHAR*
2cf0: 2c 20 53 51 4c 53 4d 41 4c 4c 49 4e 54 2c 20 53  , SQLSMALLINT, S
2d00: 51 4c 53 4d 41 4c 4c 49 4e 54 2a 29 3b 0a 09 09  QLSMALLINT*);...
2d10: 53 51 4c 52 45 54 55 52 4e 20 53 51 4c 46 72 65  SQLRETURN SQLFre
2d20: 65 43 6f 6e 6e 65 63 74 28 53 51 4c 48 44 42 43  eConnect(SQLHDBC
2d30: 29 3b 0a 09 09 53 51 4c 52 45 54 55 52 4e 20 53  );...SQLRETURN S
2d40: 51 4c 46 72 65 65 45 6e 76 28 53 51 4c 48 45 4e  QLFreeEnv(SQLHEN
2d50: 56 29 3b 0a 09 09 53 51 4c 52 45 54 55 52 4e 20  V);...SQLRETURN 
2d60: 53 51 4c 53 65 74 50 61 72 61 6d 28 53 51 4c 48  SQLSetParam(SQLH
2d70: 53 54 4d 54 2c 20 53 51 4c 55 53 4d 41 4c 4c 49  STMT, SQLUSMALLI
2d80: 4e 54 2c 20 53 51 4c 53 4d 41 4c 4c 49 4e 54 2c  NT, SQLSMALLINT,
2d90: 20 53 51 4c 53 4d 41 4c 4c 49 4e 54 2c 20 53 51   SQLSMALLINT, SQ
2da0: 4c 55 4c 45 4e 2c 20 53 51 4c 53 4d 41 4c 4c 49  LULEN, SQLSMALLI
2db0: 4e 54 2c 20 53 51 4c 50 4f 49 4e 54 45 52 2c 20  NT, SQLPOINTER, 
2dc0: 53 51 4c 4c 45 4e 2a 29 3b 0a 09 09 53 51 4c 52  SQLLEN*);...SQLR
2dd0: 45 54 55 52 4e 20 53 51 4c 47 65 74 43 6f 6e 6e  ETURN SQLGetConn
2de0: 65 63 74 4f 70 74 69 6f 6e 28 53 51 4c 48 44 42  ectOption(SQLHDB
2df0: 43 2c 20 53 51 4c 55 53 4d 41 4c 4c 49 4e 54 2c  C, SQLUSMALLINT,
2e00: 20 53 51 4c 50 4f 49 4e 54 45 52 29 3b 0a 09 09   SQLPOINTER);...
2e10: 53 51 4c 52 45 54 55 52 4e 20 53 51 4c 47 65 74  SQLRETURN SQLGet
2e20: 53 74 6d 74 4f 70 74 69 6f 6e 28 53 51 4c 48 53  StmtOption(SQLHS
2e30: 54 4d 54 2c 20 53 51 4c 55 53 4d 41 4c 4c 49 4e  TMT, SQLUSMALLIN
2e40: 54 2c 20 53 51 4c 50 4f 49 4e 54 45 52 29 3b 0a  T, SQLPOINTER);.
2e50: 09 09 53 51 4c 52 45 54 55 52 4e 20 53 51 4c 53  ..SQLRETURN SQLS
2e60: 65 74 43 6f 6e 6e 65 63 74 4f 70 74 69 6f 6e 28  etConnectOption(
2e70: 53 51 4c 48 44 42 43 2c 20 53 51 4c 55 53 4d 41  SQLHDBC, SQLUSMA
2e80: 4c 4c 49 4e 54 2c 20 53 51 4c 55 4c 45 4e 29 3b  LLINT, SQLULEN);
2e90: 0a 09 09 53 51 4c 52 45 54 55 52 4e 20 53 51 4c  ...SQLRETURN SQL
2ea0: 53 65 74 53 74 6d 74 4f 70 74 69 6f 6e 28 53 51  SetStmtOption(SQ
2eb0: 4c 48 53 54 4d 54 2c 20 53 51 4c 55 53 4d 41 4c  LHSTMT, SQLUSMAL
2ec0: 4c 49 4e 54 2c 20 53 51 4c 52 4f 57 43 4f 55 4e  LINT, SQLROWCOUN
2ed0: 54 29 3b 0a 09 7d 0a 09 53 51 4c 52 45 54 55 52  T);..}..SQLRETUR
2ee0: 4e 20 53 51 4c 42 69 6e 64 43 6f 6c 28 53 51 4c  N SQLBindCol(SQL
2ef0: 48 53 54 4d 54 2c 20 53 51 4c 55 53 4d 41 4c 4c  HSTMT, SQLUSMALL
2f00: 49 4e 54 2c 20 53 51 4c 53 4d 41 4c 4c 49 4e 54  INT, SQLSMALLINT
2f10: 2c 20 53 51 4c 50 4f 49 4e 54 45 52 2c 20 53 51  , SQLPOINTER, SQ
2f20: 4c 4c 45 4e 2c 20 53 51 4c 4c 45 4e 2a 29 3b 0a  LLEN, SQLLEN*);.
2f30: 09 53 51 4c 52 45 54 55 52 4e 20 53 51 4c 43 61  .SQLRETURN SQLCa
2f40: 6e 63 65 6c 28 53 51 4c 48 53 54 4d 54 29 3b 0a  ncel(SQLHSTMT);.
2f50: 09 53 51 4c 52 45 54 55 52 4e 20 53 51 4c 43 6f  .SQLRETURN SQLCo
2f60: 6e 6e 65 63 74 28 53 51 4c 48 44 42 43 2c 20 53  nnect(SQLHDBC, S
2f70: 51 4c 43 48 41 52 2a 2c 20 53 51 4c 53 4d 41 4c  QLCHAR*, SQLSMAL
2f80: 4c 49 4e 54 2c 20 53 51 4c 43 48 41 52 2a 2c 20  LINT, SQLCHAR*, 
2f90: 53 51 4c 53 4d 41 4c 4c 49 4e 54 2c 20 53 51 4c  SQLSMALLINT, SQL
2fa0: 43 48 41 52 2a 2c 20 53 51 4c 53 4d 41 4c 4c 49  CHAR*, SQLSMALLI
2fb0: 4e 54 29 3b 0a 09 53 51 4c 52 45 54 55 52 4e 20  NT);..SQLRETURN 
2fc0: 53 51 4c 44 65 73 63 72 69 62 65 43 6f 6c 28 53  SQLDescribeCol(S
2fd0: 51 4c 48 53 54 4d 54 2c 20 53 51 4c 55 53 4d 41  QLHSTMT, SQLUSMA
2fe0: 4c 4c 49 4e 54 2c 20 53 51 4c 43 48 41 52 2a 2c  LLINT, SQLCHAR*,
2ff0: 20 53 51 4c 53 4d 41 4c 4c 49 4e 54 2c 20 53 51   SQLSMALLINT, SQ
3000: 4c 53 4d 41 4c 4c 49 4e 54 2a 2c 20 53 51 4c 53  LSMALLINT*, SQLS
3010: 4d 41 4c 4c 49 4e 54 2a 2c 20 53 51 4c 55 4c 45  MALLINT*, SQLULE
3020: 4e 2a 2c 20 53 51 4c 53 4d 41 4c 4c 49 4e 54 2a  N*, SQLSMALLINT*
3030: 2c 20 53 51 4c 53 4d 41 4c 4c 49 4e 54 2a 29 3b  , SQLSMALLINT*);
3040: 0a 09 53 51 4c 52 45 54 55 52 4e 20 53 51 4c 44  ..SQLRETURN SQLD
3050: 69 73 63 6f 6e 6e 65 63 74 28 53 51 4c 48 44 42  isconnect(SQLHDB
3060: 43 29 3b 0a 09 53 51 4c 52 45 54 55 52 4e 20 53  C);..SQLRETURN S
3070: 51 4c 45 78 65 63 44 69 72 65 63 74 28 53 51 4c  QLExecDirect(SQL
3080: 48 53 54 4d 54 2c 20 53 51 4c 43 48 41 52 2a 2c  HSTMT, SQLCHAR*,
3090: 20 53 51 4c 49 4e 54 45 47 45 52 29 3b 0a 09 53   SQLINTEGER);..S
30a0: 51 4c 52 45 54 55 52 4e 20 53 51 4c 45 78 65 63  QLRETURN SQLExec
30b0: 75 74 65 28 53 51 4c 48 53 54 4d 54 29 3b 0a 09  ute(SQLHSTMT);..
30c0: 53 51 4c 52 45 54 55 52 4e 20 53 51 4c 46 65 74  SQLRETURN SQLFet
30d0: 63 68 28 53 51 4c 48 53 54 4d 54 29 3b 0a 09 53  ch(SQLHSTMT);..S
30e0: 51 4c 52 45 54 55 52 4e 20 53 51 4c 46 72 65 65  QLRETURN SQLFree
30f0: 53 74 6d 74 28 53 51 4c 48 53 54 4d 54 2c 20 53  Stmt(SQLHSTMT, S
3100: 51 4c 55 53 4d 41 4c 4c 49 4e 54 29 3b 0a 09 53  QLUSMALLINT);..S
3110: 51 4c 52 45 54 55 52 4e 20 53 51 4c 47 65 74 43  QLRETURN SQLGetC
3120: 75 72 73 6f 72 4e 61 6d 65 28 53 51 4c 48 53 54  ursorName(SQLHST
3130: 4d 54 2c 20 53 51 4c 43 48 41 52 2a 2c 20 53 51  MT, SQLCHAR*, SQ
3140: 4c 53 4d 41 4c 4c 49 4e 54 2c 20 53 51 4c 53 4d  LSMALLINT, SQLSM
3150: 41 4c 4c 49 4e 54 2a 29 3b 0a 09 53 51 4c 52 45  ALLINT*);..SQLRE
3160: 54 55 52 4e 20 53 51 4c 4e 75 6d 52 65 73 75 6c  TURN SQLNumResul
3170: 74 43 6f 6c 73 28 53 51 4c 48 53 54 4d 54 2c 20  tCols(SQLHSTMT, 
3180: 53 51 4c 53 4d 41 4c 4c 49 4e 54 2a 29 3b 0a 09  SQLSMALLINT*);..
3190: 53 51 4c 52 45 54 55 52 4e 20 53 51 4c 50 72 65  SQLRETURN SQLPre
31a0: 70 61 72 65 28 53 51 4c 48 53 54 4d 54 2c 20 53  pare(SQLHSTMT, S
31b0: 51 4c 43 48 41 52 2a 2c 20 53 51 4c 49 4e 54 45  QLCHAR*, SQLINTE
31c0: 47 45 52 29 3b 0a 09 53 51 4c 52 45 54 55 52 4e  GER);..SQLRETURN
31d0: 20 53 51 4c 52 6f 77 43 6f 75 6e 74 28 53 51 4c   SQLRowCount(SQL
31e0: 48 53 54 4d 54 2c 20 53 51 4c 4c 45 4e 2a 29 3b  HSTMT, SQLLEN*);
31f0: 0a 09 53 51 4c 52 45 54 55 52 4e 20 53 51 4c 53  ..SQLRETURN SQLS
3200: 65 74 43 75 72 73 6f 72 4e 61 6d 65 28 53 51 4c  etCursorName(SQL
3210: 48 53 54 4d 54 2c 20 53 51 4c 43 48 41 52 2a 2c  HSTMT, SQLCHAR*,
3220: 20 53 51 4c 53 4d 41 4c 4c 49 4e 54 29 3b 0a 09   SQLSMALLINT);..
3230: 53 51 4c 52 45 54 55 52 4e 20 53 51 4c 54 72 61  SQLRETURN SQLTra
3240: 6e 73 61 63 74 28 53 51 4c 48 45 4e 56 2c 20 53  nsact(SQLHENV, S
3250: 51 4c 48 44 42 43 2c 20 53 51 4c 55 53 4d 41 4c  QLHDBC, SQLUSMAL
3260: 4c 49 4e 54 29 3b 0a 09 53 51 4c 52 45 54 55 52  LINT);..SQLRETUR
3270: 4e 20 53 51 4c 43 6f 6c 75 6d 6e 73 28 53 51 4c  N SQLColumns(SQL
3280: 48 53 54 4d 54 2c 20 53 51 4c 43 48 41 52 2a 2c  HSTMT, SQLCHAR*,
3290: 20 53 51 4c 53 4d 41 4c 4c 49 4e 54 2c 20 53 51   SQLSMALLINT, SQ
32a0: 4c 43 48 41 52 2a 2c 20 53 51 4c 53 4d 41 4c 4c  LCHAR*, SQLSMALL
32b0: 49 4e 54 2c 20 53 51 4c 43 48 41 52 2a 2c 20 53  INT, SQLCHAR*, S
32c0: 51 4c 53 4d 41 4c 4c 49 4e 54 2c 20 53 51 4c 43  QLSMALLINT, SQLC
32d0: 48 41 52 2a 2c 20 53 51 4c 53 4d 41 4c 4c 49 4e  HAR*, SQLSMALLIN
32e0: 54 29 3b 0a 09 53 51 4c 52 45 54 55 52 4e 20 53  T);..SQLRETURN S
32f0: 51 4c 47 65 74 44 61 74 61 28 53 51 4c 48 53 54  QLGetData(SQLHST
3300: 4d 54 2c 20 53 51 4c 55 53 4d 41 4c 4c 49 4e 54  MT, SQLUSMALLINT
3310: 2c 20 53 51 4c 53 4d 41 4c 4c 49 4e 54 2c 20 53  , SQLSMALLINT, S
3320: 51 4c 50 4f 49 4e 54 45 52 2c 20 53 51 4c 4c 45  QLPOINTER, SQLLE
3330: 4e 2c 20 53 51 4c 4c 45 4e 2a 29 3b 0a 09 53 51  N, SQLLEN*);..SQ
3340: 4c 52 45 54 55 52 4e 20 53 51 4c 47 65 74 46 75  LRETURN SQLGetFu
3350: 6e 63 74 69 6f 6e 73 28 53 51 4c 48 44 42 43 2c  nctions(SQLHDBC,
3360: 20 53 51 4c 55 53 4d 41 4c 4c 49 4e 54 2c 20 53   SQLUSMALLINT, S
3370: 51 4c 55 53 4d 41 4c 4c 49 4e 54 2a 29 3b 0a 09  QLUSMALLINT*);..
3380: 53 51 4c 52 45 54 55 52 4e 20 53 51 4c 47 65 74  SQLRETURN SQLGet
3390: 49 6e 66 6f 28 53 51 4c 48 44 42 43 2c 20 53 51  Info(SQLHDBC, SQ
33a0: 4c 55 53 4d 41 4c 4c 49 4e 54 2c 20 53 51 4c 50  LUSMALLINT, SQLP
33b0: 4f 49 4e 54 45 52 2c 20 53 51 4c 53 4d 41 4c 4c  OINTER, SQLSMALL
33c0: 49 4e 54 2c 20 53 51 4c 53 4d 41 4c 4c 49 4e 54  INT, SQLSMALLINT
33d0: 2a 29 3b 0a 09 53 51 4c 52 45 54 55 52 4e 20 53  *);..SQLRETURN S
33e0: 51 4c 47 65 74 54 79 70 65 49 6e 66 6f 28 53 51  QLGetTypeInfo(SQ
33f0: 4c 48 53 54 4d 54 2c 20 53 51 4c 53 4d 41 4c 4c  LHSTMT, SQLSMALL
3400: 49 4e 54 29 3b 0a 09 53 51 4c 52 45 54 55 52 4e  INT);..SQLRETURN
3410: 20 53 51 4c 50 61 72 61 6d 44 61 74 61 28 53 51   SQLParamData(SQ
3420: 4c 48 53 54 4d 54 2c 20 53 51 4c 50 4f 49 4e 54  LHSTMT, SQLPOINT
3430: 45 52 2a 29 3b 0a 09 53 51 4c 52 45 54 55 52 4e  ER*);..SQLRETURN
3440: 20 53 51 4c 50 75 74 44 61 74 61 28 53 51 4c 48   SQLPutData(SQLH
3450: 53 54 4d 54 2c 20 53 51 4c 50 4f 49 4e 54 45 52  STMT, SQLPOINTER
3460: 2c 20 53 51 4c 4c 45 4e 29 3b 0a 09 53 51 4c 52  , SQLLEN);..SQLR
3470: 45 54 55 52 4e 20 53 51 4c 53 70 65 63 69 61 6c  ETURN SQLSpecial
3480: 43 6f 6c 75 6d 6e 73 28 53 51 4c 48 53 54 4d 54  Columns(SQLHSTMT
3490: 2c 20 53 51 4c 55 53 4d 41 4c 4c 49 4e 54 2c 20  , SQLUSMALLINT, 
34a0: 53 51 4c 43 48 41 52 2a 2c 20 53 51 4c 53 4d 41  SQLCHAR*, SQLSMA
34b0: 4c 4c 49 4e 54 2c 20 53 51 4c 43 48 41 52 2a 2c  LLINT, SQLCHAR*,
34c0: 20 53 51 4c 53 4d 41 4c 4c 49 4e 54 2c 20 53 51   SQLSMALLINT, SQ
34d0: 4c 43 48 41 52 2a 2c 20 53 51 4c 53 4d 41 4c 4c  LCHAR*, SQLSMALL
34e0: 49 4e 54 2c 20 53 51 4c 55 53 4d 41 4c 4c 49 4e  INT, SQLUSMALLIN
34f0: 54 2c 20 53 51 4c 55 53 4d 41 4c 4c 49 4e 54 29  T, SQLUSMALLINT)
3500: 3b 0a 09 53 51 4c 52 45 54 55 52 4e 20 53 51 4c  ;..SQLRETURN SQL
3510: 53 74 61 74 69 73 74 69 63 73 28 53 51 4c 48 53  Statistics(SQLHS
3520: 54 4d 54 2c 20 53 51 4c 43 48 41 52 2a 2c 20 53  TMT, SQLCHAR*, S
3530: 51 4c 53 4d 41 4c 4c 49 4e 54 2c 20 53 51 4c 43  QLSMALLINT, SQLC
3540: 48 41 52 2a 2c 20 53 51 4c 53 4d 41 4c 4c 49 4e  HAR*, SQLSMALLIN
3550: 54 2c 20 53 51 4c 43 48 41 52 2a 2c 20 53 51 4c  T, SQLCHAR*, SQL
3560: 53 4d 41 4c 4c 49 4e 54 2c 20 53 51 4c 55 53 4d  SMALLINT, SQLUSM
3570: 41 4c 4c 49 4e 54 2c 20 53 51 4c 55 53 4d 41 4c  ALLINT, SQLUSMAL
3580: 4c 49 4e 54 29 3b 0a 09 53 51 4c 52 45 54 55 52  LINT);..SQLRETUR
3590: 4e 20 53 51 4c 54 61 62 6c 65 73 28 53 51 4c 48  N SQLTables(SQLH
35a0: 53 54 4d 54 2c 20 53 51 4c 43 48 41 52 2a 2c 20  STMT, SQLCHAR*, 
35b0: 53 51 4c 53 4d 41 4c 4c 49 4e 54 2c 20 53 51 4c  SQLSMALLINT, SQL
35c0: 43 48 41 52 2a 2c 20 53 51 4c 53 4d 41 4c 4c 49  CHAR*, SQLSMALLI
35d0: 4e 54 2c 20 53 51 4c 43 48 41 52 2a 2c 20 53 51  NT, SQLCHAR*, SQ
35e0: 4c 53 4d 41 4c 4c 49 4e 54 2c 20 53 51 4c 43 48  LSMALLINT, SQLCH
35f0: 41 52 2a 2c 20 53 51 4c 53 4d 41 4c 4c 49 4e 54  AR*, SQLSMALLINT
3600: 29 3b 0a 09 53 51 4c 52 45 54 55 52 4e 20 53 51  );..SQLRETURN SQ
3610: 4c 44 61 74 61 53 6f 75 72 63 65 73 28 53 51 4c  LDataSources(SQL
3620: 48 45 4e 56 2c 20 53 51 4c 55 53 4d 41 4c 4c 49  HENV, SQLUSMALLI
3630: 4e 54 2c 20 53 51 4c 43 48 41 52 2a 2c 20 53 51  NT, SQLCHAR*, SQ
3640: 4c 53 4d 41 4c 4c 49 4e 54 2c 20 53 51 4c 53 4d  LSMALLINT, SQLSM
3650: 41 4c 4c 49 4e 54 2a 2c 20 53 51 4c 43 48 41 52  ALLINT*, SQLCHAR
3660: 2a 2c 20 53 51 4c 53 4d 41 4c 4c 49 4e 54 2c 20  *, SQLSMALLINT, 
3670: 53 51 4c 53 4d 41 4c 4c 49 4e 54 2a 29 3b 0a 0a  SQLSMALLINT*);..
3680: 09 73 74 61 74 69 63 20 69 66 20 28 4f 44 42 43  .static if (ODBC
3690: 56 45 52 20 3e 3d 20 30 78 30 33 30 30 29 20 7b  VER >= 0x0300) {
36a0: 0a 09 09 53 51 4c 52 45 54 55 52 4e 20 53 51 4c  ...SQLRETURN SQL
36b0: 41 6c 6c 6f 63 48 61 6e 64 6c 65 28 53 51 4c 53  AllocHandle(SQLS
36c0: 4d 41 4c 4c 49 4e 54 2c 20 53 51 4c 48 41 4e 44  MALLINT, SQLHAND
36d0: 4c 45 2c 20 53 51 4c 48 41 4e 44 4c 45 2a 29 3b  LE, SQLHANDLE*);
36e0: 0a 09 09 53 51 4c 52 45 54 55 52 4e 20 53 51 4c  ...SQLRETURN SQL
36f0: 42 69 6e 64 50 61 72 61 6d 28 53 51 4c 48 53 54  BindParam(SQLHST
3700: 4d 54 2c 20 53 51 4c 55 53 4d 41 4c 4c 49 4e 54  MT, SQLUSMALLINT
3710: 2c 20 53 51 4c 53 4d 41 4c 4c 49 4e 54 2c 20 53  , SQLSMALLINT, S
3720: 51 4c 53 4d 41 4c 4c 49 4e 54 2c 20 53 51 4c 55  QLSMALLINT, SQLU
3730: 4c 45 4e 2c 20 53 51 4c 53 4d 41 4c 4c 49 4e 54  LEN, SQLSMALLINT
3740: 2c 20 53 51 4c 50 4f 49 4e 54 45 52 2c 20 53 51  , SQLPOINTER, SQ
3750: 4c 4c 45 4e 2a 29 3b 0a 09 09 53 51 4c 52 45 54  LLEN*);...SQLRET
3760: 55 52 4e 20 53 51 4c 43 6c 6f 73 65 43 75 72 73  URN SQLCloseCurs
3770: 6f 72 28 53 51 4c 48 53 54 4d 54 29 3b 0a 09 09  or(SQLHSTMT);...
3780: 53 51 4c 52 45 54 55 52 4e 20 53 51 4c 43 6f 6c  SQLRETURN SQLCol
3790: 41 74 74 72 69 62 75 74 65 28 53 51 4c 48 53 54  Attribute(SQLHST
37a0: 4d 54 2c 20 53 51 4c 55 53 4d 41 4c 4c 49 4e 54  MT, SQLUSMALLINT
37b0: 2c 20 53 51 4c 55 53 4d 41 4c 4c 49 4e 54 2c 20  , SQLUSMALLINT, 
37c0: 53 51 4c 50 4f 49 4e 54 45 52 2c 20 53 51 4c 53  SQLPOINTER, SQLS
37d0: 4d 41 4c 4c 49 4e 54 2c 20 53 51 4c 53 4d 41 4c  MALLINT, SQLSMAL
37e0: 4c 49 4e 54 2a 2c 20 53 51 4c 50 4f 49 4e 54 45  LINT*, SQLPOINTE
37f0: 52 29 3b 0a 09 09 53 51 4c 52 45 54 55 52 4e 20  R);...SQLRETURN 
3800: 53 51 4c 43 6f 70 79 44 65 73 63 28 53 51 4c 48  SQLCopyDesc(SQLH
3810: 44 45 53 43 2c 20 53 51 4c 48 44 45 53 43 29 3b  DESC, SQLHDESC);
3820: 0a 09 09 53 51 4c 52 45 54 55 52 4e 20 53 51 4c  ...SQLRETURN SQL
3830: 45 6e 64 54 72 61 6e 28 53 51 4c 53 4d 41 4c 4c  EndTran(SQLSMALL
3840: 49 4e 54 2c 20 53 51 4c 48 41 4e 44 4c 45 2c 20  INT, SQLHANDLE, 
3850: 53 51 4c 53 4d 41 4c 4c 49 4e 54 29 3b 0a 09 09  SQLSMALLINT);...
3860: 53 51 4c 52 45 54 55 52 4e 20 53 51 4c 46 65 74  SQLRETURN SQLFet
3870: 63 68 53 63 72 6f 6c 6c 28 53 51 4c 48 53 54 4d  chScroll(SQLHSTM
3880: 54 2c 20 53 51 4c 53 4d 41 4c 4c 49 4e 54 2c 20  T, SQLSMALLINT, 
3890: 53 51 4c 52 4f 57 4f 46 46 53 45 54 29 3b 0a 09  SQLROWOFFSET);..
38a0: 09 53 51 4c 52 45 54 55 52 4e 20 53 51 4c 46 72  .SQLRETURN SQLFr
38b0: 65 65 48 61 6e 64 6c 65 28 53 51 4c 53 4d 41 4c  eeHandle(SQLSMAL
38c0: 4c 49 4e 54 2c 20 53 51 4c 48 41 4e 44 4c 45 29  LINT, SQLHANDLE)
38d0: 3b 0a 09 09 53 51 4c 52 45 54 55 52 4e 20 53 51  ;...SQLRETURN SQ
38e0: 4c 47 65 74 43 6f 6e 6e 65 63 74 41 74 74 72 28  LGetConnectAttr(
38f0: 53 51 4c 48 44 42 43 2c 20 53 51 4c 49 4e 54 45  SQLHDBC, SQLINTE
3900: 47 45 52 2c 20 53 51 4c 50 4f 49 4e 54 45 52 2c  GER, SQLPOINTER,
3910: 20 53 51 4c 49 4e 54 45 47 45 52 2c 20 53 51 4c   SQLINTEGER, SQL
3920: 49 4e 54 45 47 45 52 2a 29 3b 0a 09 09 53 51 4c  INTEGER*);...SQL
3930: 52 45 54 55 52 4e 20 53 51 4c 47 65 74 44 65 73  RETURN SQLGetDes
3940: 63 46 69 65 6c 64 28 53 51 4c 48 44 45 53 43 2c  cField(SQLHDESC,
3950: 20 53 51 4c 53 4d 41 4c 4c 49 4e 54 2c 20 53 51   SQLSMALLINT, SQ
3960: 4c 53 4d 41 4c 4c 49 4e 54 2c 20 53 51 4c 50 4f  LSMALLINT, SQLPO
3970: 49 4e 54 45 52 2c 20 53 51 4c 49 4e 54 45 47 45  INTER, SQLINTEGE
3980: 52 2c 20 53 51 4c 49 4e 54 45 47 45 52 2a 29 3b  R, SQLINTEGER*);
3990: 0a 09 09 53 51 4c 52 45 54 55 52 4e 20 53 51 4c  ...SQLRETURN SQL
39a0: 47 65 74 44 65 73 63 52 65 63 28 53 51 4c 48 44  GetDescRec(SQLHD
39b0: 45 53 43 2c 20 53 51 4c 53 4d 41 4c 4c 49 4e 54  ESC, SQLSMALLINT
39c0: 2c 20 53 51 4c 43 48 41 52 2a 2c 20 53 51 4c 53  , SQLCHAR*, SQLS
39d0: 4d 41 4c 4c 49 4e 54 2c 20 53 51 4c 53 4d 41 4c  MALLINT, SQLSMAL
39e0: 4c 49 4e 54 2a 2c 0a 09 09 20 20 53 51 4c 53 4d  LINT*,...  SQLSM
39f0: 41 4c 4c 49 4e 54 2a 2c 20 53 51 4c 53 4d 41 4c  ALLINT*, SQLSMAL
3a00: 4c 49 4e 54 2a 2c 20 53 51 4c 4c 45 4e 2a 2c 20  LINT*, SQLLEN*, 
3a10: 53 51 4c 53 4d 41 4c 4c 49 4e 54 2a 2c 20 53 51  SQLSMALLINT*, SQ
3a20: 4c 53 4d 41 4c 4c 49 4e 54 2a 2c 20 53 51 4c 53  LSMALLINT*, SQLS
3a30: 4d 41 4c 4c 49 4e 54 2a 29 3b 0a 09 09 53 51 4c  MALLINT*);...SQL
3a40: 52 45 54 55 52 4e 20 53 51 4c 47 65 74 44 69 61  RETURN SQLGetDia
3a50: 67 46 69 65 6c 64 28 53 51 4c 53 4d 41 4c 4c 49  gField(SQLSMALLI
3a60: 4e 54 2c 20 53 51 4c 48 41 4e 44 4c 45 2c 20 53  NT, SQLHANDLE, S
3a70: 51 4c 53 4d 41 4c 4c 49 4e 54 2c 20 53 51 4c 53  QLSMALLINT, SQLS
3a80: 4d 41 4c 4c 49 4e 54 2c 20 53 51 4c 50 4f 49 4e  MALLINT, SQLPOIN
3a90: 54 45 52 2c 20 53 51 4c 53 4d 41 4c 4c 49 4e 54  TER, SQLSMALLINT
3aa0: 2c 20 53 51 4c 53 4d 41 4c 4c 49 4e 54 2a 29 3b  , SQLSMALLINT*);
3ab0: 0a 09 09 53 51 4c 52 45 54 55 52 4e 20 53 51 4c  ...SQLRETURN SQL
3ac0: 47 65 74 44 69 61 67 52 65 63 28 53 51 4c 53 4d  GetDiagRec(SQLSM
3ad0: 41 4c 4c 49 4e 54 2c 20 53 51 4c 48 41 4e 44 4c  ALLINT, SQLHANDL
3ae0: 45 2c 20 53 51 4c 53 4d 41 4c 4c 49 4e 54 2c 20  E, SQLSMALLINT, 
3af0: 53 51 4c 43 48 41 52 2a 2c 20 53 51 4c 49 4e 54  SQLCHAR*, SQLINT
3b00: 45 47 45 52 2a 2c 20 53 51 4c 43 48 41 52 2a 2c  EGER*, SQLCHAR*,
3b10: 20 53 51 4c 53 4d 41 4c 4c 49 4e 54 2c 20 53 51   SQLSMALLINT, SQ
3b20: 4c 53 4d 41 4c 4c 49 4e 54 2a 29 3b 0a 09 09 53  LSMALLINT*);...S
3b30: 51 4c 52 45 54 55 52 4e 20 53 51 4c 47 65 74 45  QLRETURN SQLGetE
3b40: 6e 76 41 74 74 72 28 53 51 4c 48 45 4e 56 2c 20  nvAttr(SQLHENV, 
3b50: 53 51 4c 49 4e 54 45 47 45 52 2c 20 53 51 4c 50  SQLINTEGER, SQLP
3b60: 4f 49 4e 54 45 52 2c 20 53 51 4c 49 4e 54 45 47  OINTER, SQLINTEG
3b70: 45 52 2c 20 53 51 4c 49 4e 54 45 47 45 52 2a 29  ER, SQLINTEGER*)
3b80: 3b 0a 09 09 53 51 4c 52 45 54 55 52 4e 20 53 51  ;...SQLRETURN SQ
3b90: 4c 47 65 74 53 74 6d 74 41 74 74 72 28 53 51 4c  LGetStmtAttr(SQL
3ba0: 48 53 54 4d 54 2c 20 53 51 4c 49 4e 54 45 47 45  HSTMT, SQLINTEGE
3bb0: 52 2c 20 53 51 4c 50 4f 49 4e 54 45 52 2c 20 53  R, SQLPOINTER, S
3bc0: 51 4c 49 4e 54 45 47 45 52 2c 20 53 51 4c 49 4e  QLINTEGER, SQLIN
3bd0: 54 45 47 45 52 2a 29 3b 0a 09 09 53 51 4c 52 45  TEGER*);...SQLRE
3be0: 54 55 52 4e 20 53 51 4c 53 65 74 43 6f 6e 6e 65  TURN SQLSetConne
3bf0: 63 74 41 74 74 72 28 53 51 4c 48 44 42 43 2c 20  ctAttr(SQLHDBC, 
3c00: 53 51 4c 49 4e 54 45 47 45 52 2c 20 53 51 4c 50  SQLINTEGER, SQLP
3c10: 4f 49 4e 54 45 52 2c 20 53 51 4c 49 4e 54 45 47  OINTER, SQLINTEG
3c20: 45 52 29 3b 0a 09 09 53 51 4c 52 45 54 55 52 4e  ER);...SQLRETURN
3c30: 20 53 51 4c 53 65 74 44 65 73 63 46 69 65 6c 64   SQLSetDescField
3c40: 28 53 51 4c 48 44 45 53 43 2c 20 53 51 4c 53 4d  (SQLHDESC, SQLSM
3c50: 41 4c 4c 49 4e 54 2c 20 53 51 4c 53 4d 41 4c 4c  ALLINT, SQLSMALL
3c60: 49 4e 54 2c 20 53 51 4c 50 4f 49 4e 54 45 52 2c  INT, SQLPOINTER,
3c70: 20 53 51 4c 49 4e 54 45 47 45 52 29 3b 0a 09 09   SQLINTEGER);...
3c80: 53 51 4c 52 45 54 55 52 4e 20 53 51 4c 53 65 74  SQLRETURN SQLSet
3c90: 44 65 73 63 52 65 63 28 53 51 4c 48 44 45 53 43  DescRec(SQLHDESC
3ca0: 2c 20 53 51 4c 53 4d 41 4c 4c 49 4e 54 2c 20 53  , SQLSMALLINT, S
3cb0: 51 4c 53 4d 41 4c 4c 49 4e 54 2c 20 53 51 4c 53  QLSMALLINT, SQLS
3cc0: 4d 41 4c 4c 49 4e 54 2c 20 53 51 4c 4c 45 4e 2c  MALLINT, SQLLEN,
3cd0: 20 53 51 4c 53 4d 41 4c 4c 49 4e 54 2c 0a 09 09   SQLSMALLINT,...
3ce0: 09 53 51 4c 53 4d 41 4c 4c 49 4e 54 2c 20 53 51  .SQLSMALLINT, SQ
3cf0: 4c 50 4f 49 4e 54 45 52 2c 20 53 51 4c 4c 45 4e  LPOINTER, SQLLEN
3d00: 2a 2c 20 53 51 4c 4c 45 4e 2a 29 3b 0a 09 09 53  *, SQLLEN*);...S
3d10: 51 4c 52 45 54 55 52 4e 20 53 51 4c 53 65 74 45  QLRETURN SQLSetE
3d20: 6e 76 41 74 74 72 28 53 51 4c 48 45 4e 56 2c 20  nvAttr(SQLHENV, 
3d30: 53 51 4c 49 4e 54 45 47 45 52 2c 20 53 51 4c 50  SQLINTEGER, SQLP
3d40: 4f 49 4e 54 45 52 2c 20 53 51 4c 49 4e 54 45 47  OINTER, SQLINTEG
3d50: 45 52 29 3b 0a 09 09 53 51 4c 52 45 54 55 52 4e  ER);...SQLRETURN
3d60: 20 53 51 4c 53 65 74 53 74 6d 74 41 74 74 72 28   SQLSetStmtAttr(
3d70: 53 51 4c 48 53 54 4d 54 2c 20 53 51 4c 49 4e 54  SQLHSTMT, SQLINT
3d80: 45 47 45 52 2c 20 53 51 4c 50 4f 49 4e 54 45 52  EGER, SQLPOINTER
3d90: 2c 20 53 51 4c 49 4e 54 45 47 45 52 29 3b 0a 09  , SQLINTEGER);..
3da0: 7d 2f 2a 20 28 4f 44 42 43 56 45 52 20 3e 3d 20  }/* (ODBCVER >= 
3db0: 30 78 30 33 30 30 29 20 2a 2f 0a 7d              0x0300) */.}