ibm_db 3.0.3 → 5.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (477) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGES +10 -0
  3. data/LICENSE +1 -1
  4. data/ParameterizedQueries README +6 -6
  5. data/README +38 -55
  6. data/ext/Makefile +266 -0
  7. data/ext/extconf.rb +34 -3
  8. data/ext/gil_release_version +3 -0
  9. data/ext/ibm_db.c +106 -111
  10. data/ext/ibm_db.o +0 -0
  11. data/ext/ibm_db.so +0 -0
  12. data/ext/mkmf.log +103 -0
  13. data/ext/ruby_ibm_db_cli.o +0 -0
  14. data/ext/unicode_support_version +3 -0
  15. data/lib/active_record/connection_adapters/ibm_db_adapter.rb +937 -562
  16. data/lib/active_record/connection_adapters/ibmdb_adapter.rb +4 -1
  17. data/lib/clidriver.tar.gz +0 -0
  18. data/lib/clidriver/bin/db2cli +0 -0
  19. data/lib/clidriver/bin/db2diag +0 -0
  20. data/lib/clidriver/bin/db2drdat +0 -0
  21. data/lib/clidriver/bin/db2dsdcfgfill +0 -0
  22. data/lib/clidriver/bin/db2ldcfg +0 -0
  23. data/lib/clidriver/bin/db2lddrg +0 -0
  24. data/lib/clidriver/bin/db2level +0 -0
  25. data/lib/clidriver/bin/db2support +0 -0
  26. data/lib/clidriver/bin/db2trc +0 -0
  27. data/lib/clidriver/bnd/db2ajgrt.bnd +0 -0
  28. data/lib/clidriver/bnd/db2cli.bnd +0 -0
  29. data/lib/clidriver/bnd/db2cli.lst +4 -0
  30. data/lib/clidriver/bnd/db2clipk.bnd +0 -0
  31. data/lib/clidriver/bnd/db2clist.bnd +0 -0
  32. data/lib/clidriver/bnd/db2spcdb.bnd +0 -0
  33. data/lib/clidriver/cfg/DigiCertGlobalRootCA.arm +22 -0
  34. data/lib/clidriver/cfg/db2cli.ini.sample +16 -0
  35. data/lib/clidriver/cfg/db2dsdriver.cfg.sample +50 -0
  36. data/lib/clidriver/cfg/db2dsdriver.xsd +216 -0
  37. data/lib/clidriver/cfgcache/conlic.bin +0 -0
  38. data/lib/clidriver/conv/alt/04370923.cnv +0 -0
  39. data/lib/clidriver/conv/alt/08500923.cnv +0 -0
  40. data/lib/clidriver/conv/alt/08501252.cnv +0 -0
  41. data/lib/clidriver/conv/alt/08600923.cnv +0 -0
  42. data/lib/clidriver/conv/alt/08630923.cnv +0 -0
  43. data/lib/clidriver/conv/alt/09230437.cnv +0 -0
  44. data/lib/clidriver/conv/alt/09230850.cnv +0 -0
  45. data/lib/clidriver/conv/alt/09230860.cnv +0 -0
  46. data/lib/clidriver/conv/alt/09231043.cnv +0 -0
  47. data/lib/clidriver/conv/alt/09231051.cnv +0 -0
  48. data/lib/clidriver/conv/alt/09231114.cnv +0 -0
  49. data/lib/clidriver/conv/alt/09231208.cnv +0 -0
  50. data/lib/clidriver/conv/alt/09231252.cnv +0 -0
  51. data/lib/clidriver/conv/alt/09231275.cnv +0 -0
  52. data/lib/clidriver/conv/alt/09241252.cnv +0 -0
  53. data/lib/clidriver/conv/alt/09370950.cnv +0 -0
  54. data/lib/clidriver/conv/alt/10430923.cnv +0 -0
  55. data/lib/clidriver/conv/alt/10510923.cnv +0 -0
  56. data/lib/clidriver/conv/alt/11140923.cnv +0 -0
  57. data/lib/clidriver/conv/alt/12080923.cnv +0 -0
  58. data/lib/clidriver/conv/alt/12520850.cnv +0 -0
  59. data/lib/clidriver/conv/alt/12520923.cnv +0 -0
  60. data/lib/clidriver/conv/alt/12750923.cnv +0 -0
  61. data/lib/clidriver/conv/alt/1388ucs2.cnv +0 -0
  62. data/lib/clidriver/conv/alt/IBM00850.ucs +0 -0
  63. data/lib/clidriver/conv/alt/IBM00923.ucs +0 -0
  64. data/lib/clidriver/conv/alt/IBM01252.ucs +0 -0
  65. data/lib/clidriver/conv/ms/0930ucs2.cnv +0 -0
  66. data/lib/clidriver/conv/ms/0939ucs2.cnv +0 -0
  67. data/lib/clidriver/conv/ms/0943ucs2.cnv +0 -0
  68. data/lib/clidriver/conv/ms/0954ucs2.cnv +0 -0
  69. data/lib/clidriver/conv/ms/1390ucs2.cnv +0 -0
  70. data/lib/clidriver/conv/ms/1399ucs2.cnv +0 -0
  71. data/lib/clidriver/conv/ms/5039ucs2.cnv +0 -0
  72. data/lib/clidriver/conv/ms/ucs20943.cnv +0 -0
  73. data/lib/clidriver/include/sql.h +3149 -0
  74. data/lib/clidriver/include/sqlca.h +119 -0
  75. data/lib/clidriver/include/sqlcli.h +1042 -0
  76. data/lib/clidriver/include/sqlcli1.h +1963 -0
  77. data/lib/clidriver/include/sqlda.h +303 -0
  78. data/lib/clidriver/include/sqlenv.h +7389 -0
  79. data/lib/clidriver/include/sqlext.h +2189 -0
  80. data/lib/clidriver/include/sqlstate.h +1397 -0
  81. data/lib/clidriver/include/sqlsystm.h +119 -0
  82. data/lib/clidriver/include/sqltypes.h +22 -0
  83. data/lib/clidriver/include/sqlucode.h +22 -0
  84. data/lib/clidriver/include/sqlunx.h +24 -0
  85. data/lib/clidriver/lib/icc/C/icc/icclib/ICCSIG.txt +23 -0
  86. data/lib/clidriver/lib/icc/C/icc/icclib/libicclib084.so +0 -0
  87. data/lib/clidriver/lib/icc/N/icc/icclib/ICCSIG.txt +23 -0
  88. data/lib/clidriver/lib/icc/N/icc/icclib/libicclib085.so +0 -0
  89. data/lib/clidriver/lib/icc/libgsk8cms_64.so +0 -0
  90. data/lib/clidriver/lib/icc/libgsk8dbfl_64.so +0 -0
  91. data/lib/clidriver/lib/icc/libgsk8iccs_64.so +0 -0
  92. data/lib/clidriver/lib/icc/libgsk8kicc_64.so +0 -0
  93. data/lib/clidriver/lib/icc/libgsk8km_64.so +0 -0
  94. data/lib/clidriver/lib/icc/libgsk8ssl_64.so +0 -0
  95. data/lib/clidriver/lib/icc/libgsk8sys_64.so +0 -0
  96. data/lib/clidriver/lib/icc/libgsk8valn_64.so +0 -0
  97. data/lib/clidriver/lib/libDB2xml4c.so +1 -0
  98. data/lib/clidriver/lib/libDB2xml4c.so.58 +1 -0
  99. data/lib/clidriver/lib/libDB2xml4c.so.58.0 +0 -0
  100. data/lib/clidriver/lib/libdb2.so +1 -0
  101. data/lib/clidriver/lib/libdb2.so.1 +0 -0
  102. data/lib/clidriver/lib/libdb2clixml4c.so +1 -0
  103. data/lib/clidriver/lib/libdb2clixml4c.so.1 +0 -0
  104. data/lib/clidriver/license/UNIX/odbc_LI_cs +278 -0
  105. data/lib/clidriver/license/UNIX/odbc_LI_de +364 -0
  106. data/lib/clidriver/license/UNIX/odbc_LI_el +294 -0
  107. data/lib/clidriver/license/UNIX/odbc_LI_en +752 -0
  108. data/lib/clidriver/license/UNIX/odbc_LI_es +338 -0
  109. data/lib/clidriver/license/UNIX/odbc_LI_fr +396 -0
  110. data/lib/clidriver/license/UNIX/odbc_LI_in +270 -0
  111. data/lib/clidriver/license/UNIX/odbc_LI_it +316 -0
  112. data/lib/clidriver/license/UNIX/odbc_LI_ja +246 -0
  113. data/lib/clidriver/license/UNIX/odbc_LI_ko +240 -0
  114. data/lib/clidriver/license/UNIX/odbc_LI_lt +302 -0
  115. data/lib/clidriver/license/UNIX/odbc_LI_pl +292 -0
  116. data/lib/clidriver/license/UNIX/odbc_LI_pt +314 -0
  117. data/lib/clidriver/license/UNIX/odbc_LI_ru +296 -0
  118. data/lib/clidriver/license/UNIX/odbc_LI_sl +278 -0
  119. data/lib/clidriver/license/UNIX/odbc_LI_tr +296 -0
  120. data/lib/clidriver/license/UNIX/odbc_LI_zh +310 -0
  121. data/lib/clidriver/license/UNIX/odbc_LI_zh_TW +310 -0
  122. data/lib/clidriver/license/odbc_REDIST.txt +128 -0
  123. data/lib/clidriver/license/odbc_notices.txt +444 -0
  124. data/lib/clidriver/msg/en_US.iso88591/db2adm.mo +0 -0
  125. data/lib/clidriver/msg/en_US.iso88591/db2admh.mo +0 -0
  126. data/lib/clidriver/msg/en_US.iso88591/db2caem.mo +0 -0
  127. data/lib/clidriver/msg/en_US.iso88591/db2cklog.mo +0 -0
  128. data/lib/clidriver/msg/en_US.iso88591/db2cli.mo +0 -0
  129. data/lib/clidriver/msg/en_US.iso88591/db2clia1.lst +35 -0
  130. data/lib/clidriver/msg/en_US.iso88591/db2clias.lst +21 -0
  131. data/lib/clidriver/msg/en_US.iso88591/db2clih.mo +0 -0
  132. data/lib/clidriver/msg/en_US.iso88591/db2clit.mo +0 -0
  133. data/lib/clidriver/msg/en_US.iso88591/db2clp.mo +0 -0
  134. data/lib/clidriver/msg/en_US.iso88591/db2clp2.mo +0 -0
  135. data/lib/clidriver/msg/en_US.iso88591/db2diag.mo +0 -0
  136. data/lib/clidriver/msg/en_US.iso88591/db2fodc.mo +0 -0
  137. data/lib/clidriver/msg/en_US.iso88591/db2sql.mo +0 -0
  138. data/lib/clidriver/msg/en_US.iso88591/db2sqlh.mo +0 -0
  139. data/lib/clidriver/msg/en_US.iso88591/db2stt.mo +0 -0
  140. data/lib/clidriver/msg/en_US.iso88591/db2supp.mo +0 -0
  141. data/lib/clidriver/security64/plugin/IBM/client/IBMIAMauth.so +0 -0
  142. data/lib/clidriver/security64/plugin/IBM/client/IBMkrb5.so +0 -0
  143. data/test/active_record/connection_adapters/fake_adapter.rb +8 -5
  144. data/test/cases/adapter_test.rb +148 -58
  145. data/test/cases/adapters/mysql2/active_schema_test.rb +193 -0
  146. data/test/cases/adapters/mysql2/bind_parameter_test.rb +50 -0
  147. data/test/cases/adapters/mysql2/boolean_test.rb +100 -0
  148. data/test/cases/adapters/mysql2/case_sensitivity_test.rb +63 -0
  149. data/test/cases/adapters/mysql2/charset_collation_test.rb +54 -0
  150. data/test/cases/adapters/mysql2/connection_test.rb +210 -0
  151. data/test/cases/adapters/mysql2/datetime_precision_quoting_test.rb +45 -0
  152. data/test/cases/adapters/mysql2/enum_test.rb +26 -0
  153. data/test/cases/adapters/mysql2/explain_test.rb +21 -0
  154. data/test/cases/adapters/mysql2/json_test.rb +195 -0
  155. data/test/cases/adapters/mysql2/mysql2_adapter_test.rb +83 -0
  156. data/test/cases/adapters/mysql2/reserved_word_test.rb +152 -0
  157. data/test/cases/adapters/mysql2/schema_migrations_test.rb +59 -0
  158. data/test/cases/adapters/mysql2/schema_test.rb +126 -0
  159. data/test/cases/adapters/mysql2/sp_test.rb +36 -0
  160. data/test/cases/adapters/mysql2/sql_types_test.rb +14 -0
  161. data/test/cases/adapters/mysql2/table_options_test.rb +42 -0
  162. data/test/cases/adapters/mysql2/unsigned_type_test.rb +66 -0
  163. data/test/cases/adapters/postgresql/active_schema_test.rb +98 -0
  164. data/test/cases/adapters/postgresql/array_test.rb +339 -0
  165. data/test/cases/adapters/postgresql/bit_string_test.rb +82 -0
  166. data/test/cases/adapters/postgresql/bytea_test.rb +134 -0
  167. data/test/cases/adapters/postgresql/case_insensitive_test.rb +26 -0
  168. data/test/cases/adapters/postgresql/change_schema_test.rb +38 -0
  169. data/test/cases/adapters/postgresql/cidr_test.rb +25 -0
  170. data/test/cases/adapters/postgresql/citext_test.rb +78 -0
  171. data/test/cases/adapters/postgresql/collation_test.rb +53 -0
  172. data/test/cases/adapters/postgresql/composite_test.rb +132 -0
  173. data/test/cases/adapters/postgresql/connection_test.rb +257 -0
  174. data/test/cases/adapters/postgresql/datatype_test.rb +92 -0
  175. data/test/cases/adapters/postgresql/domain_test.rb +47 -0
  176. data/test/cases/adapters/postgresql/enum_test.rb +91 -0
  177. data/test/cases/adapters/postgresql/explain_test.rb +20 -0
  178. data/test/cases/adapters/postgresql/extension_migration_test.rb +63 -0
  179. data/test/cases/adapters/postgresql/full_text_test.rb +44 -0
  180. data/test/cases/adapters/postgresql/geometric_test.rb +378 -0
  181. data/test/cases/adapters/postgresql/hstore_test.rb +382 -0
  182. data/test/cases/adapters/postgresql/infinity_test.rb +69 -0
  183. data/test/cases/adapters/postgresql/integer_test.rb +25 -0
  184. data/test/cases/adapters/postgresql/json_test.rb +237 -0
  185. data/test/cases/adapters/postgresql/ltree_test.rb +53 -0
  186. data/test/cases/adapters/postgresql/money_test.rb +96 -0
  187. data/test/cases/adapters/postgresql/network_test.rb +94 -0
  188. data/test/cases/adapters/postgresql/numbers_test.rb +49 -0
  189. data/test/cases/adapters/postgresql/postgresql_adapter_test.rb +405 -0
  190. data/test/cases/adapters/postgresql/prepared_statements_test.rb +22 -0
  191. data/test/cases/adapters/postgresql/quoting_test.rb +44 -0
  192. data/test/cases/adapters/postgresql/range_test.rb +343 -0
  193. data/test/cases/adapters/postgresql/referential_integrity_test.rb +111 -0
  194. data/test/cases/adapters/postgresql/rename_table_test.rb +34 -0
  195. data/test/cases/adapters/postgresql/schema_authorization_test.rb +119 -0
  196. data/test/cases/adapters/postgresql/schema_test.rb +597 -0
  197. data/test/cases/adapters/postgresql/serial_test.rb +154 -0
  198. data/test/cases/adapters/postgresql/statement_pool_test.rb +41 -0
  199. data/test/cases/adapters/postgresql/timestamp_test.rb +90 -0
  200. data/test/cases/adapters/postgresql/type_lookup_test.rb +33 -0
  201. data/test/cases/adapters/postgresql/utils_test.rb +62 -0
  202. data/test/cases/adapters/postgresql/uuid_test.rb +294 -0
  203. data/test/cases/adapters/postgresql/xml_test.rb +54 -0
  204. data/test/cases/adapters/sqlite3/collation_test.rb +53 -0
  205. data/test/cases/adapters/sqlite3/copy_table_test.rb +98 -0
  206. data/test/cases/adapters/sqlite3/explain_test.rb +21 -0
  207. data/test/cases/adapters/sqlite3/quoting_test.rb +101 -0
  208. data/test/cases/adapters/sqlite3/sqlite3_adapter_test.rb +441 -0
  209. data/test/cases/adapters/sqlite3/sqlite3_create_folder_test.rb +24 -0
  210. data/test/cases/adapters/sqlite3/statement_pool_test.rb +20 -0
  211. data/test/cases/aggregations_test.rb +11 -1
  212. data/test/cases/ar_schema_test.rb +35 -50
  213. data/test/cases/associations/association_scope_test.rb +1 -6
  214. data/test/cases/associations/belongs_to_associations_test.rb +122 -10
  215. data/test/cases/associations/bidirectional_destroy_dependencies_test.rb +41 -0
  216. data/test/cases/associations/callbacks_test.rb +5 -7
  217. data/test/cases/associations/cascaded_eager_loading_test.rb +1 -1
  218. data/test/cases/associations/eager_load_nested_include_test.rb +1 -3
  219. data/test/cases/associations/eager_test.rb +176 -73
  220. data/test/cases/associations/extension_test.rb +7 -2
  221. data/test/cases/associations/has_and_belongs_to_many_associations_test.rb +104 -32
  222. data/test/cases/associations/has_many_associations_test.rb +382 -43
  223. data/test/cases/associations/has_many_through_associations_test.rb +108 -41
  224. data/test/cases/associations/has_one_associations_test.rb +105 -8
  225. data/test/cases/associations/has_one_through_associations_test.rb +6 -3
  226. data/test/cases/associations/inner_join_association_test.rb +3 -3
  227. data/test/cases/associations/inverse_associations_test.rb +51 -11
  228. data/test/cases/associations/join_model_test.rb +59 -36
  229. data/test/cases/associations/left_outer_join_association_test.rb +88 -0
  230. data/test/cases/associations/nested_through_associations_test.rb +2 -2
  231. data/test/cases/associations/required_test.rb +25 -5
  232. data/test/cases/associations_test.rb +39 -34
  233. data/test/cases/attribute_decorators_test.rb +9 -8
  234. data/test/cases/attribute_methods/read_test.rb +5 -5
  235. data/test/cases/attribute_methods_test.rb +97 -40
  236. data/test/cases/attribute_set_test.rb +74 -4
  237. data/test/cases/attribute_test.rb +84 -18
  238. data/test/cases/attributes_test.rb +151 -34
  239. data/test/cases/autosave_association_test.rb +149 -36
  240. data/test/cases/base_test.rb +311 -236
  241. data/test/cases/batches_test.rb +299 -22
  242. data/test/cases/binary_test.rb +2 -10
  243. data/test/cases/bind_parameter_test.rb +76 -66
  244. data/test/cases/cache_key_test.rb +26 -0
  245. data/test/cases/calculations_test.rb +167 -15
  246. data/test/cases/callbacks_test.rb +161 -68
  247. data/test/cases/coders/json_test.rb +15 -0
  248. data/test/cases/collection_cache_key_test.rb +115 -0
  249. data/test/cases/column_definition_test.rb +26 -57
  250. data/test/cases/comment_test.rb +145 -0
  251. data/test/cases/connection_adapters/adapter_leasing_test.rb +5 -3
  252. data/test/cases/connection_adapters/connection_handler_test.rb +128 -21
  253. data/test/cases/connection_adapters/connection_specification_test.rb +1 -1
  254. data/test/cases/connection_adapters/merge_and_resolve_default_url_config_test.rb +0 -38
  255. data/test/cases/connection_adapters/mysql_type_lookup_test.rb +5 -1
  256. data/test/cases/connection_adapters/schema_cache_test.rb +8 -3
  257. data/test/cases/connection_adapters/type_lookup_test.rb +15 -7
  258. data/test/cases/connection_management_test.rb +46 -56
  259. data/test/cases/connection_pool_test.rb +195 -20
  260. data/test/cases/connection_specification/resolver_test.rb +15 -0
  261. data/test/cases/counter_cache_test.rb +10 -5
  262. data/test/cases/custom_locking_test.rb +1 -1
  263. data/test/cases/database_statements_test.rb +18 -3
  264. data/test/cases/{invalid_date_test.rb → date_test.rb} +13 -1
  265. data/test/cases/date_time_precision_test.rb +107 -0
  266. data/test/cases/defaults_test.rb +85 -89
  267. data/test/cases/dirty_test.rb +32 -44
  268. data/test/cases/disconnected_test.rb +4 -2
  269. data/test/cases/enum_test.rb +178 -24
  270. data/test/cases/errors_test.rb +16 -0
  271. data/test/cases/explain_test.rb +32 -21
  272. data/test/cases/finder_test.rb +279 -151
  273. data/test/cases/fixture_set/file_test.rb +18 -0
  274. data/test/cases/fixtures_test.rb +123 -32
  275. data/test/cases/forbidden_attributes_protection_test.rb +69 -3
  276. data/test/cases/helper.rb +10 -16
  277. data/test/cases/hot_compatibility_test.rb +89 -1
  278. data/test/cases/inheritance_test.rb +284 -53
  279. data/test/cases/integration_test.rb +23 -7
  280. data/test/cases/invalid_connection_test.rb +4 -2
  281. data/test/cases/invertible_migration_test.rb +124 -32
  282. data/test/cases/json_serialization_test.rb +11 -2
  283. data/test/cases/locking_test.rb +22 -6
  284. data/test/cases/log_subscriber_test.rb +106 -17
  285. data/test/cases/migration/change_schema_test.rb +118 -132
  286. data/test/cases/migration/change_table_test.rb +34 -2
  287. data/test/cases/migration/column_attributes_test.rb +7 -23
  288. data/test/cases/migration/column_positioning_test.rb +8 -8
  289. data/test/cases/migration/columns_test.rb +17 -11
  290. data/test/cases/migration/command_recorder_test.rb +47 -2
  291. data/test/cases/migration/compatibility_test.rb +118 -0
  292. data/test/cases/migration/create_join_table_test.rb +21 -12
  293. data/test/cases/migration/foreign_key_test.rb +68 -66
  294. data/test/cases/migration/index_test.rb +14 -12
  295. data/test/cases/migration/logger_test.rb +1 -1
  296. data/test/cases/migration/pending_migrations_test.rb +0 -1
  297. data/test/cases/migration/references_foreign_key_test.rb +114 -107
  298. data/test/cases/migration/references_index_test.rb +4 -4
  299. data/test/cases/migration/references_statements_test.rb +26 -6
  300. data/test/cases/migration/rename_table_test.rb +25 -25
  301. data/test/cases/migration_test.rb +279 -81
  302. data/test/cases/migrator_test.rb +91 -8
  303. data/test/cases/mixin_test.rb +0 -2
  304. data/test/cases/modules_test.rb +3 -4
  305. data/test/cases/multiparameter_attributes_test.rb +24 -2
  306. data/test/cases/multiple_db_test.rb +18 -11
  307. data/test/cases/nested_attributes_test.rb +74 -33
  308. data/test/cases/persistence_test.rb +102 -10
  309. data/test/cases/pooled_connections_test.rb +3 -3
  310. data/test/cases/primary_keys_test.rb +170 -31
  311. data/test/cases/query_cache_test.rb +216 -96
  312. data/test/cases/quoting_test.rb +65 -19
  313. data/test/cases/readonly_test.rb +2 -1
  314. data/test/cases/reflection_test.rb +77 -22
  315. data/test/cases/relation/delegation_test.rb +3 -8
  316. data/test/cases/relation/merging_test.rb +10 -14
  317. data/test/cases/relation/mutation_test.rb +42 -24
  318. data/test/cases/relation/or_test.rb +92 -0
  319. data/test/cases/relation/predicate_builder_test.rb +4 -2
  320. data/test/cases/relation/record_fetch_warning_test.rb +40 -0
  321. data/test/cases/relation/where_chain_test.rb +23 -99
  322. data/test/cases/relation/where_clause_test.rb +182 -0
  323. data/test/cases/relation/where_test.rb +45 -23
  324. data/test/cases/relation_test.rb +89 -58
  325. data/test/cases/relations_test.rb +249 -38
  326. data/test/cases/result_test.rb +10 -0
  327. data/test/cases/sanitize_test.rb +108 -15
  328. data/test/cases/schema_dumper_test.rb +119 -125
  329. data/test/cases/schema_loading_test.rb +52 -0
  330. data/test/cases/scoping/default_scoping_test.rb +113 -39
  331. data/test/cases/scoping/named_scoping_test.rb +46 -9
  332. data/test/cases/scoping/relation_scoping_test.rb +47 -4
  333. data/test/cases/secure_token_test.rb +32 -0
  334. data/test/cases/serialization_test.rb +1 -1
  335. data/test/cases/serialized_attribute_test.rb +93 -6
  336. data/test/cases/statement_cache_test.rb +38 -0
  337. data/test/cases/store_test.rb +2 -1
  338. data/test/cases/suppressor_test.rb +63 -0
  339. data/test/cases/tasks/database_tasks_test.rb +74 -8
  340. data/test/cases/tasks/mysql_rake_test.rb +143 -109
  341. data/test/cases/tasks/postgresql_rake_test.rb +71 -12
  342. data/test/cases/tasks/sqlite_rake_test.rb +30 -3
  343. data/test/cases/test_case.rb +28 -20
  344. data/test/cases/test_fixtures_test.rb +36 -0
  345. data/test/cases/time_precision_test.rb +103 -0
  346. data/test/cases/timestamp_test.rb +47 -14
  347. data/test/cases/touch_later_test.rb +121 -0
  348. data/test/cases/transaction_callbacks_test.rb +128 -62
  349. data/test/cases/transaction_isolation_test.rb +2 -2
  350. data/test/cases/transactions_test.rb +61 -43
  351. data/test/cases/type/adapter_specific_registry_test.rb +133 -0
  352. data/test/cases/type/date_time_test.rb +14 -0
  353. data/test/cases/type/integer_test.rb +2 -96
  354. data/test/cases/type/string_test.rb +0 -14
  355. data/test/cases/type_test.rb +39 -0
  356. data/test/cases/types_test.rb +1 -118
  357. data/test/cases/unconnected_test.rb +1 -1
  358. data/test/cases/validations/absence_validation_test.rb +73 -0
  359. data/test/cases/validations/association_validation_test.rb +13 -2
  360. data/test/cases/validations/i18n_validation_test.rb +6 -10
  361. data/test/cases/validations/length_validation_test.rb +62 -30
  362. data/test/cases/validations/presence_validation_test.rb +36 -1
  363. data/test/cases/validations/uniqueness_validation_test.rb +150 -36
  364. data/test/cases/validations_repair_helper.rb +2 -6
  365. data/test/cases/validations_test.rb +36 -7
  366. data/test/cases/view_test.rb +108 -5
  367. data/test/cases/yaml_serialization_test.rb +36 -1
  368. data/test/config.example.yml +97 -0
  369. data/test/fixtures/bad_posts.yml +9 -0
  370. data/test/fixtures/books.yml +20 -0
  371. data/test/fixtures/content.yml +3 -0
  372. data/test/fixtures/content_positions.yml +3 -0
  373. data/test/fixtures/dead_parrots.yml +5 -0
  374. data/test/fixtures/live_parrots.yml +4 -0
  375. data/test/fixtures/naked/yml/parrots.yml +2 -0
  376. data/test/fixtures/naked/yml/trees.yml +3 -0
  377. data/test/fixtures/nodes.yml +29 -0
  378. data/test/fixtures/other_comments.yml +6 -0
  379. data/test/fixtures/other_dogs.yml +2 -0
  380. data/test/fixtures/other_posts.yml +7 -0
  381. data/test/fixtures/price_estimates.yml +10 -1
  382. data/test/fixtures/trees.yml +3 -0
  383. data/test/migrations/10_urban/9_add_expressions.rb +1 -1
  384. data/test/migrations/decimal/1_give_me_big_numbers.rb +1 -1
  385. data/test/migrations/magic/1_currencies_have_symbols.rb +1 -1
  386. data/test/migrations/missing/1000_people_have_middle_names.rb +2 -2
  387. data/test/migrations/missing/1_people_have_last_names.rb +2 -2
  388. data/test/migrations/missing/3_we_need_reminders.rb +2 -2
  389. data/test/migrations/missing/4_innocent_jointable.rb +2 -2
  390. data/test/migrations/rename/1_we_need_things.rb +2 -2
  391. data/test/migrations/rename/2_rename_things.rb +2 -2
  392. data/test/migrations/to_copy/1_people_have_hobbies.rb +1 -1
  393. data/test/migrations/to_copy/2_people_have_descriptions.rb +1 -1
  394. data/test/migrations/to_copy2/1_create_articles.rb +1 -1
  395. data/test/migrations/to_copy2/2_create_comments.rb +1 -1
  396. data/test/migrations/to_copy_with_name_collision/1_people_have_hobbies.rb +1 -1
  397. data/test/migrations/to_copy_with_timestamps/20090101010101_people_have_hobbies.rb +1 -1
  398. data/test/migrations/to_copy_with_timestamps/20090101010202_people_have_descriptions.rb +1 -1
  399. data/test/migrations/to_copy_with_timestamps2/20090101010101_create_articles.rb +1 -1
  400. data/test/migrations/to_copy_with_timestamps2/20090101010202_create_comments.rb +1 -1
  401. data/test/migrations/valid/1_valid_people_have_last_names.rb +1 -1
  402. data/test/migrations/valid/2_we_need_reminders.rb +2 -2
  403. data/test/migrations/valid/3_innocent_jointable.rb +2 -2
  404. data/test/migrations/valid_with_subdirectories/1_valid_people_have_last_names.rb +1 -1
  405. data/test/migrations/valid_with_subdirectories/sub/2_we_need_reminders.rb +2 -2
  406. data/test/migrations/valid_with_subdirectories/sub1/3_innocent_jointable.rb +2 -2
  407. data/test/migrations/valid_with_timestamps/20100101010101_valid_with_timestamps_people_have_last_names.rb +1 -1
  408. data/test/migrations/valid_with_timestamps/20100201010101_valid_with_timestamps_we_need_reminders.rb +1 -1
  409. data/test/migrations/valid_with_timestamps/20100301010101_valid_with_timestamps_innocent_jointable.rb +1 -1
  410. data/test/migrations/version_check/20131219224947_migration_version_check.rb +1 -1
  411. data/test/models/admin/randomly_named_c1.rb +6 -2
  412. data/test/models/aircraft.rb +1 -0
  413. data/test/models/author.rb +4 -7
  414. data/test/models/bird.rb +1 -1
  415. data/test/models/book.rb +5 -0
  416. data/test/models/bulb.rb +2 -1
  417. data/test/models/car.rb +3 -0
  418. data/test/models/cat.rb +10 -0
  419. data/test/models/chef.rb +5 -0
  420. data/test/models/club.rb +2 -0
  421. data/test/models/comment.rb +17 -5
  422. data/test/models/company.rb +7 -2
  423. data/test/models/company_in_module.rb +1 -1
  424. data/test/models/contact.rb +1 -1
  425. data/test/models/content.rb +40 -0
  426. data/test/models/customer.rb +8 -2
  427. data/test/models/developer.rb +22 -0
  428. data/test/models/face.rb +1 -1
  429. data/test/models/guitar.rb +4 -0
  430. data/test/models/hotel.rb +5 -0
  431. data/test/models/member.rb +1 -0
  432. data/test/models/member_detail.rb +4 -3
  433. data/test/models/mentor.rb +3 -0
  434. data/test/models/mocktail_designer.rb +2 -0
  435. data/test/models/node.rb +5 -0
  436. data/test/models/non_primary_key.rb +2 -0
  437. data/test/models/notification.rb +3 -0
  438. data/test/models/other_dog.rb +5 -0
  439. data/test/models/owner.rb +4 -1
  440. data/test/models/parrot.rb +6 -7
  441. data/test/models/person.rb +0 -1
  442. data/test/models/pet.rb +3 -0
  443. data/test/models/pet_treasure.rb +6 -0
  444. data/test/models/pirate.rb +3 -3
  445. data/test/models/post.rb +18 -9
  446. data/test/models/project.rb +11 -0
  447. data/test/models/randomly_named_c1.rb +1 -1
  448. data/test/models/recipe.rb +3 -0
  449. data/test/models/ship.rb +8 -2
  450. data/test/models/tag.rb +6 -0
  451. data/test/models/topic.rb +2 -8
  452. data/test/models/tree.rb +3 -0
  453. data/test/models/tuning_peg.rb +4 -0
  454. data/test/models/user.rb +14 -0
  455. data/test/models/uuid_item.rb +6 -0
  456. data/test/schema/mysql2_specific_schema.rb +33 -23
  457. data/test/schema/oracle_specific_schema.rb +1 -4
  458. data/test/schema/postgresql_specific_schema.rb +36 -124
  459. data/test/schema/schema.rb +183 -64
  460. data/test/schema/schema.rb.original +1057 -0
  461. data/test/schema/sqlite_specific_schema.rb +1 -5
  462. data/test/support/connection.rb +1 -0
  463. data/test/support/schema_dumping_helper.rb +1 -1
  464. data/test/support/yaml_compatibility_fixtures/rails_4_1.yml +22 -0
  465. data/test/support/yaml_compatibility_fixtures/rails_4_2_0.yml +182 -0
  466. metadata +271 -26
  467. data/test/cases/associations/deprecated_counter_cache_on_has_many_through_test.rb +0 -26
  468. data/test/cases/attribute_methods/serialization_test.rb +0 -29
  469. data/test/cases/migration/change_schema_test - Copy.rb +0 -448
  470. data/test/cases/migration/foreign_key_test - Changed.rb +0 -325
  471. data/test/cases/migration/table_and_index_test.rb +0 -24
  472. data/test/cases/relation/where_test2.rb +0 -36
  473. data/test/cases/type/decimal_test.rb +0 -51
  474. data/test/cases/type/unsigned_integer_test.rb +0 -18
  475. data/test/cases/xml_serialization_test.rb +0 -457
  476. data/test/fixtures/naked/csv/accounts.csv +0 -1
  477. data/test/schema/mysql_specific_schema.rb +0 -70
@@ -0,0 +1,1963 @@
1
+ /******************************************************************************
2
+ *
3
+ * Source File Name = sqlcli1.h
4
+ *
5
+ * (C) COPYRIGHT International Business Machines Corp. 1993, 2020
6
+ * All Rights Reserved
7
+ * Licensed Materials - Property of IBM
8
+ *
9
+ * US Government Users Restricted Rights - Use, duplication or
10
+ * disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
11
+ *
12
+ * Function = Include File defining:
13
+ * DB2 CLI Interface - Constants
14
+ * DB2 CLI Interface - Function Prototypes
15
+ *
16
+ * Operating System = Common C Include File
17
+ *
18
+ *
19
+ *****************************************************************************/
20
+
21
+ #ifndef SQL_H_SQLCLI1
22
+ #define SQL_H_SQLCLI1 /* Permit duplicate Includes */
23
+
24
+ /* Prevent inclusion of winsock.h in windows.h */
25
+ #ifndef _WINSOCKAPI_
26
+ #define _WINSOCKAPI_
27
+ #define DB2_WINSOCKAPI_
28
+ #endif
29
+
30
+ /* ODBC64 should be used instead of CLI_WIN64 for linking with libdb2o.dll */
31
+ #ifndef ODBC64
32
+ #ifdef CLI_WIN64
33
+ #define ODBC64
34
+ #endif
35
+ #endif
36
+
37
+ #include "sqlsystm.h" /* System dependent defines */
38
+
39
+
40
+ #if defined(DB2NT)
41
+ #include <windows.h>
42
+ #endif
43
+
44
+ #include "sqlca.h"
45
+ #include "sqlcli.h"
46
+
47
+ #ifdef __cplusplus
48
+ extern "C" {
49
+ #endif
50
+
51
+ /* SQLGetFunction defines - supported functions */
52
+ #define SQL_API_SQLALLOCCONNECT 1
53
+ #define SQL_API_SQLALLOCENV 2
54
+ #define SQL_API_SQLALLOCSTMT 3
55
+ #define SQL_API_SQLBINDCOL 4
56
+ #define SQL_API_SQLBINDPARAM 1002
57
+ #define SQL_API_SQLCANCEL 5
58
+ #define SQL_API_SQLCONNECT 7
59
+ #define SQL_API_SQLCOPYDESC 1004
60
+ #define SQL_API_SQLDESCRIBECOL 8
61
+ #define SQL_API_SQLDISCONNECT 9
62
+ #define SQL_API_SQLERROR 10
63
+ #define SQL_API_SQLEXECDIRECT 11
64
+ #define SQL_API_SQLEXECUTE 12
65
+ #define SQL_API_SQLFETCH 13
66
+ #define SQL_API_SQLFREECONNECT 14
67
+ #define SQL_API_SQLFREEENV 15
68
+ #define SQL_API_SQLFREESTMT 16
69
+ #define SQL_API_SQLGETCURSORNAME 17
70
+ #define SQL_API_SQLNUMRESULTCOLS 18
71
+ #define SQL_API_SQLPREPARE 19
72
+ #define SQL_API_SQLROWCOUNT 20
73
+ #define SQL_API_SQLSETCURSORNAME 21
74
+ #define SQL_API_SQLSETDESCFIELD 1017
75
+ #define SQL_API_SQLSETDESCREC 1018
76
+ #define SQL_API_SQLSETENVATTR 1019
77
+ #define SQL_API_SQLSETPARAM 22
78
+ #define SQL_API_SQLTRANSACT 23
79
+
80
+ #define SQL_API_SQLCOLUMNS 40
81
+ #define SQL_API_SQLGETCONNECTOPTION 42
82
+ #define SQL_API_SQLGETDATA 43
83
+ #define SQL_API_SQLGETDATAINTERNAL 174
84
+ #define SQL_API_SQLGETDESCFIELD 1008
85
+ #define SQL_API_SQLGETDESCREC 1009
86
+ #define SQL_API_SQLGETDIAGFIELD 1010
87
+ #define SQL_API_SQLGETDIAGREC 1011
88
+ #define SQL_API_SQLGETENVATTR 1012
89
+ #define SQL_API_SQLGETFUNCTIONS 44
90
+ #define SQL_API_SQLGETINFO 45
91
+ #define SQL_API_SQLGETSTMTOPTION 46
92
+ #define SQL_API_SQLGETTYPEINFO 47
93
+ #define SQL_API_SQLPARAMDATA 48
94
+ #define SQL_API_SQLPUTDATA 49
95
+ #define SQL_API_SQLSETCONNECTOPTION 50
96
+ #define SQL_API_SQLSETSTMTOPTION 51
97
+ #define SQL_API_SQLSPECIALCOLUMNS 52
98
+ #define SQL_API_SQLSTATISTICS 53
99
+ #define SQL_API_SQLTABLES 54
100
+ #define SQL_API_SQLDATASOURCES 57
101
+ #define SQL_API_SQLSETCONNECTATTR 1016
102
+ #define SQL_API_SQLSETSTMTATTR 1020
103
+
104
+ #define SQL_API_SQLBINDFILETOCOL 1250
105
+ #define SQL_API_SQLBINDFILETOPARAM 1251
106
+ #define SQL_API_SQLSETCOLATTRIBUTES 1252
107
+ #define SQL_API_SQLGETSQLCA 1253
108
+ #define SQL_API_SQLSETCONNECTION 1254
109
+ #define SQL_API_SQLGETDATALINKATTR 1255
110
+ #define SQL_API_SQLBUILDDATALINK 1256
111
+ #define SQL_API_SQLNEXTRESULT 1257
112
+ #define SQL_API_SQLCREATEDB 1258
113
+ #define SQL_API_SQLDROPDB 1259
114
+ #define SQL_API_SQLCREATEPKG 1260
115
+ #define SQL_API_SQLDROPPKG 1261
116
+ #define SQL_API_SQLEXTENDEDPREPARE 1296
117
+ #define SQL_API_SQLEXTENDEDBIND 1297
118
+ #define SQL_API_SQLEXTENDEDDESCRIBE 1298
119
+ #define SQL_API_SQLRELOADCONFIG 1299
120
+
121
+ #define SQL_API_SQLFETCHSCROLL 1021
122
+ #define SQL_API_SQLGETLENGTH 1022
123
+ #define SQL_API_SQLGETPOSITION 1023
124
+ #define SQL_API_SQLGETSUBSTRING 1024
125
+
126
+ #define SQL_API_SQLEXTENDEDPROCEDURES 1025
127
+ #define SQL_API_SQLEXTENDEDPROCEDURECOLUMNS 1026
128
+
129
+ #define SQL_API_SQLALLOCHANDLE 1001
130
+ #define SQL_API_SQLFREEHANDLE 1006
131
+ #define SQL_API_SQLCLOSECURSOR 1003
132
+ #define SQL_API_SQLENDTRAN 1005
133
+ #define SQL_API_SQLCOLATTRIBUTE 6
134
+ #define SQL_API_SQLGETSTMTATTR 1014
135
+ #define SQL_API_SQLGETCONNECTATTR 1007
136
+
137
+ /* SQLGetFunction defines - unsupported functions */
138
+ #define SQL_EXT_API_LAST 72
139
+
140
+ /* Information requested by SQLGetInfo() */
141
+ #define SQL_MAX_DRIVER_CONNECTIONS 0
142
+ #define SQL_MAXIMUM_DRIVER_CONNECTIONS SQL_MAX_DRIVER_CONNECTIONS
143
+ #define SQL_MAX_CONCURRENT_ACTIVITIES 1
144
+ #define SQL_MAXIMUM_CONCURRENT_ACTIVITIES SQL_MAX_CONCURRENT_ACTIVITIES
145
+ #define SQL_ATTR_ANSI_APP 115
146
+ #define SQL_DROP_MODULE 2600
147
+ #define SQL_MODULE_USAGE 2601
148
+ #define SQL_CREATE_MODULE 2602
149
+ #define SQL_MAX_MODULE_NAME_LEN 2603
150
+ #define SQL_DRIVER_BLDLEVEL 2604
151
+
152
+
153
+ /*
154
+ * Defines for SQLGetDataLinkAttr.
155
+ */
156
+ #define SQL_DATALINK_URL "URL"
157
+
158
+ /*
159
+ * Datalink attribute values for SQLGetDataLinkAttr.
160
+ */
161
+
162
+ #define SQL_ATTR_DATALINK_COMMENT 1
163
+ #define SQL_ATTR_DATALINK_LINKTYPE 2
164
+ #define SQL_ATTR_DATALINK_URLCOMPLETE 3
165
+ #define SQL_ATTR_DATALINK_URLPATH 4
166
+ #define SQL_ATTR_DATALINK_URLPATHONLY 5
167
+ #define SQL_ATTR_DATALINK_URLSCHEME 6
168
+ #define SQL_ATTR_DATALINK_URLSERVER 7
169
+
170
+
171
+ /* SQLGetInfo defines - Info Type */
172
+ #define SQL_DATA_SOURCE_NAME 2
173
+ #define SQL_FETCH_DIRECTION 8
174
+ #define SQL_SERVER_NAME 13
175
+ #define SQL_SEARCH_PATTERN_ESCAPE 14
176
+ #define SQL_DBMS_NAME 17
177
+ #define SQL_DBMS_VER 18
178
+ #define SQL_ACCESSIBLE_TABLES 19
179
+ #define SQL_ACCESSIBLE_PROCEDURES 20
180
+ #define SQL_CURSOR_COMMIT_BEHAVIOR 23
181
+ #define SQL_DATA_SOURCE_READ_ONLY 25
182
+ #define SQL_DEFAULT_TXN_ISOLATION 26
183
+ #define SQL_IDENTIFIER_CASE 28
184
+ #define SQL_IDENTIFIER_QUOTE_CHAR 29
185
+ #define SQL_MAX_COLUMN_NAME_LEN 30
186
+ #define SQL_MAXIMUM_COLUMN_NAME_LENGTH SQL_MAX_COLUMN_NAME_LEN
187
+ #define SQL_MAX_CURSOR_NAME_LEN 31
188
+ #define SQL_MAXIMUM_CURSOR_NAME_LENGTH SQL_MAX_CURSOR_NAME_LEN
189
+ #define SQL_MAX_TABLE_NAME_LEN 35
190
+ #define SQL_SCROLL_CONCURRENCY 43
191
+ #define SQL_TXN_CAPABLE 46
192
+ #define SQL_TRANSACTION_CAPABLE SQL_TXN_CAPABLE
193
+ #define SQL_USER_NAME 47
194
+ #define SQL_TXN_ISOLATION_OPTION 72
195
+ #define SQL_TRANSACTION_ISOLATION_OPTION SQL_TXN_ISOLATION_OPTION
196
+ #define SQL_GETDATA_EXTENSIONS 81
197
+ #define SQL_NULL_COLLATION 85
198
+ #define SQL_ALTER_TABLE 86
199
+ #define SQL_ORDER_BY_COLUMNS_IN_SELECT 90
200
+ #define SQL_SPECIAL_CHARACTERS 94
201
+ #define SQL_MAX_COLUMNS_IN_GROUP_BY 97
202
+ #define SQL_MAXIMUM_COLUMNS_IN_GROUP_BY SQL_MAX_COLUMNS_IN_GROUP_BY
203
+ #define SQL_MAX_COLUMNS_IN_INDEX 98
204
+ #define SQL_MAXIMUM_COLUMNS_IN_INDEX SQL_MAX_COLUMNS_IN_INDEX
205
+ #define SQL_MAX_COLUMNS_IN_ORDER_BY 99
206
+ #define SQL_MAXIMUM_COLUMNS_IN_ORDER_BY SQL_MAX_COLUMNS_IN_ORDER_BY
207
+ #define SQL_MAX_COLUMNS_IN_SELECT 100
208
+ #define SQL_MAXIMUM_COLUMNS_IN_SELECT SQL_MAX_COLUMNS_IN_SELECT
209
+ #define SQL_MAX_COLUMNS_IN_TABLE 101
210
+ #define SQL_MAX_INDEX_SIZE 102
211
+ #define SQL_MAXIMUM_INDEX_SIZE SQL_MAX_INDEX_SIZE
212
+ #define SQL_MAX_ROW_SIZE 104
213
+ #define SQL_MAXIMUM_ROW_SIZE SQL_MAX_ROW_SIZE
214
+ #define SQL_MAX_STATEMENT_LEN 105
215
+ #define SQL_MAXIMUM_STATEMENT_LENGTH SQL_MAX_STATEMENT_LEN
216
+ #define SQL_MAX_TABLES_IN_SELECT 106
217
+ #define SQL_MAXIMUM_TABLES_IN_SELECT SQL_MAX_TABLES_IN_SELECT
218
+ #define SQL_MAX_USER_NAME_LEN 107
219
+ #define SQL_MAXIMUM_USER_NAME_LENGTH SQL_MAX_USER_NAME_LEN
220
+ #define SQL_MAX_SCHEMA_NAME_LEN SQL_MAX_OWNER_NAME_LEN
221
+ #define SQL_MAXIMUM_SCHEMA_NAME_LENGTH SQL_MAX_SCHEMA_NAME_LEN
222
+ #define SQL_MAX_CATALOG_NAME_LEN SQL_MAX_QUALIFIER_NAME_LEN
223
+ #define SQL_MAXIMUM_CATALOG_NAME_LENGTH SQL_MAX_CATALOG_NAME_LEN
224
+ #define SQL_OJ_CAPABILITIES 115
225
+ #define SQL_CONFIG_KEYWORDS 174
226
+ #define SQL_OUTER_JOIN_CAPABILITIES SQL_OJ_CAPABILITIES
227
+ #define SQL_XOPEN_CLI_YEAR 10000
228
+ #define SQL_CURSOR_SENSITIVITY 10001
229
+ #define SQL_DESCRIBE_PARAMETER 10002
230
+ #define SQL_CATALOG_NAME 10003
231
+ #define SQL_COLLATION_SEQ 10004
232
+ #define SQL_MAX_IDENTIFIER_LEN 10005
233
+ #define SQL_MAXIMUM_IDENTIFIER_LENGTH SQL_MAX_IDENTIFIER_LEN
234
+ #define SQL_INTEGRITY 73
235
+ #define SQL_DATABASE_CODEPAGE 2519
236
+ #define SQL_APPLICATION_CODEPAGE 2520
237
+ #define SQL_CONNECT_CODEPAGE 2521
238
+ #define SQL_ATTR_DB2_APPLICATION_ID 2532
239
+ #define SQL_ATTR_DB2_APPLICATION_HANDLE 2533
240
+ #define SQL_ATTR_HANDLE_XA_ASSOCIATED 2535
241
+ #define SQL_DB2_DRIVER_VER 2550
242
+ #define SQL_ATTR_XML_DECLARATION 2552
243
+ #define SQL_ATTR_CURRENT_IMPLICIT_XMLPARSE_OPTION 2553
244
+ #define SQL_ATTR_XQUERY_STATEMENT 2557
245
+ #define SQL_DB2_DRIVER_TYPE 2567
246
+ #define SQL_INPUT_CHAR_CONVFACTOR 2581
247
+ #define SQL_OUTPUT_CHAR_CONVFACTOR 2582
248
+ #define SQL_ATTR_REPLACE_QUOTED_LITERALS 2586
249
+ #define SQL_ATTR_REPORT_TIMESTAMP_TRUNC_AS_WARN 2587
250
+ #define SQL_ATTR_CLIENT_ENCALG 2589
251
+ #define SQL_ATTR_CONCURRENT_ACCESS_RESOLUTION 2595 /* @d348892lmy */
252
+ #define SQL_ATTR_REPORT_SEAMLESSFAILOVER_WARNING 2605
253
+ #define SQL_CONCURRENT_ACCESS_RESOLUTION_UNSET 0
254
+ #define SQL_USE_CURRENTLY_COMMITTED 1
255
+ #define SQL_WAIT_FOR_OUTCOME 2
256
+ #define SQL_SKIP_LOCKED_DATA 3
257
+ #define SQL_DBMS_FUNCTIONLVL 203
258
+
259
+ /* define constants for Seamless failover warning */
260
+ #define SQL_REPORT_SEAMLESSFAILOVER_WARNING_YES SQL_TRUE
261
+ #define SQL_REPORT_SEAMLESSFAILOVER_WARNING_NO SQL_FALSE
262
+
263
+ /*
264
+ * SQLExtendedPrepare statement types.
265
+ */
266
+
267
+ #define SQL_CLI_STMT_UNDEFINED 0
268
+ #define SQL_CLI_STMT_ALTER_TABLE 1
269
+ #define SQL_CLI_STMT_CREATE_INDEX 5
270
+ #define SQL_CLI_STMT_CREATE_TABLE 6
271
+ #define SQL_CLI_STMT_CREATE_VIEW 7
272
+ #define SQL_CLI_STMT_DELETE_SEARCHED 8
273
+ #define SQL_CLI_STMT_DELETE_POSITIONED 9
274
+ #define SQL_CLI_STMT_DROP_PACKAGE 10
275
+ #define SQL_CLI_STMT_DROP_INDEX 11
276
+ #define SQL_CLI_STMT_DROP_TABLE 12
277
+ #define SQL_CLI_STMT_DROP_VIEW 13
278
+ #define SQL_CLI_STMT_GRANT 14
279
+ #define SQL_CLI_STMT_INSERT 15
280
+ #define SQL_CLI_STMT_REVOKE 16
281
+ #define SQL_CLI_STMT_SELECT 18
282
+ #define SQL_CLI_STMT_UPDATE_SEARCHED 19
283
+ #define SQL_CLI_STMT_UPDATE_POSITIONED 20
284
+ #define SQL_CLI_STMT_CALL 24
285
+ #define SQL_CLI_STMT_SELECT_FOR_UPDATE 29
286
+ #define SQL_CLI_STMT_WITH 30
287
+ #define SQL_CLI_STMT_SELECT_FOR_FETCH 31
288
+ #define SQL_CLI_STMT_VALUES 32
289
+ #define SQL_CLI_STMT_CREATE_TRIGGER 34
290
+ #define SQL_CLI_STMT_SELECT_OPTIMIZE_FOR_NROWS 39
291
+ #define SQL_CLI_STMT_SELECT_INTO 40
292
+ #define SQL_CLI_STMT_CREATE_PROCEDURE 41
293
+ #define SQL_CLI_STMT_CREATE_FUNCTION 42
294
+ #define SQL_CLI_STMT_INSERT_VALUES 45
295
+ #define SQL_CLI_STMT_SET_CURRENT_QUERY_OPT 46
296
+ #define SQL_CLI_STMT_MERGE 56
297
+ #define SQL_CLI_STMT_XQUERY 59
298
+ #define SQL_CLI_STMT_SET 62
299
+ #define SQL_CLI_STMT_ALTER_PROCEDURE 63
300
+ #define SQL_CLI_STMT_CLOSE_DATABASE 64
301
+ #define SQL_CLI_STMT_CREATE_DATABASE 65
302
+ #define SQL_CLI_STMT_DROP_DATABASE 66
303
+ #define SQL_CLI_STMT_ANONYMOUS_BLOCK 72
304
+
305
+ /*
306
+ * IBM specific SQLGetInfo values.
307
+ */
308
+
309
+ #define SQL_IBM_ALTERTABLEVARCHAR 1000
310
+
311
+ /* SQL_ALTER_TABLE bitmasks */
312
+ #define SQL_AT_ADD_COLUMN 0x00000001L
313
+ #define SQL_AT_DROP_COLUMN 0x00000002L
314
+ #define SQL_AT_ADD_CONSTRAINT 0x00000008L
315
+
316
+ /* SQL_CURSOR_COMMIT_BEHAVIOR and SQL_CURSOR_ROLLBACK_BEHAVIOR values */
317
+
318
+ #define SQL_CB_DELETE 0x0000
319
+ #define SQL_CB_CLOSE 0x0001
320
+ #define SQL_CB_PRESERVE 0x0002
321
+
322
+ /* SQL_IDENTIFIER_CASE values */
323
+
324
+ #define SQL_IC_UPPER 0x0001
325
+ #define SQL_IC_LOWER 0x0002
326
+ #define SQL_IC_SENSITIVE 0x0003
327
+ #define SQL_IC_MIXED 0x0004
328
+
329
+ /* SQL_TXN_CAPABLE values */
330
+
331
+ #define SQL_TC_NONE 0x0000
332
+ #define SQL_TC_DML 0x0001
333
+ #define SQL_TC_ALL 0x0002
334
+ #define SQL_TC_DDL_COMMIT 0x0003
335
+ #define SQL_TC_DDL_IGNORE 0x0004
336
+
337
+ /* SQL_SCROLL_CONCURRENCY masks */
338
+
339
+ #define SQL_SCCO_READ_ONLY 0x00000001L
340
+ #define SQL_SCCO_LOCK 0x00000002L
341
+ #define SQL_SCCO_OPT_ROWVER 0x00000004L
342
+ #define SQL_SCCO_OPT_VALUES 0x00000008L
343
+
344
+ /* SQL_FETCH_DIRECTION masks */
345
+
346
+ #define SQL_FD_FETCH_NEXT 0x00000001L
347
+ #define SQL_FD_FETCH_FIRST 0x00000002L
348
+ #define SQL_FD_FETCH_LAST 0x00000004L
349
+ #define SQL_FD_FETCH_PRIOR 0x00000008L
350
+ #define SQL_FD_FETCH_ABSOLUTE 0x00000010L
351
+ #define SQL_FD_FETCH_RELATIVE 0x00000020L
352
+ #define SQL_FD_FETCH_RESUME 0x00000040L
353
+
354
+ /* SQL_TXN_ISOLATION_OPTION masks */
355
+ #define SQL_TXN_READ_UNCOMMITTED 0x00000001L
356
+ #define SQL_TRANSACTION_READ_UNCOMMITTED SQL_TXN_READ_UNCOMMITTED
357
+ #define SQL_TXN_READ_COMMITTED 0x00000002L
358
+ #define SQL_TRANSACTION_READ_COMMITTED SQL_TXN_READ_COMMITTED
359
+ #define SQL_TXN_REPEATABLE_READ 0x00000004L
360
+ #define SQL_TRANSACTION_REPEATABLE_READ SQL_TXN_REPEATABLE_READ
361
+ #define SQL_TXN_SERIALIZABLE 0x00000008L
362
+ #define SQL_TRANSACTION_SERIALIZABLE SQL_TXN_SERIALIZABLE
363
+ #define SQL_TXN_NOCOMMIT 0x00000020L
364
+ #define SQL_TRANSACTION_NOCOMMIT SQL_TXN_NOCOMMIT
365
+ #define SQL_TXN_IDS_CURSOR_STABILITY 0x00000040L
366
+ #define SQL_TRANSACTION_IDS_CURSOR_STABILITY SQL_TXN_IDS_CURSOR_STABILITY
367
+ #define SQL_TXN_IDS_LAST_COMMITTED 0x00000080L
368
+ #define SQL_TRANSACTION_IDS_LAST_COMMITTED SQL_TXN_IDS_LAST_COMMITTED
369
+
370
+ /* SQL_GETDATA_EXTENSIONS values */
371
+
372
+ #define SQL_GD_ANY_COLUMN 0x00000001L
373
+ #define SQL_GD_ANY_ORDER 0x00000002L
374
+
375
+ /* SQL_OJ_CAPABILITIES values */
376
+
377
+ #define SQL_OJ_LEFT 0x00000001L
378
+ #define SQL_OJ_RIGHT 0x00000002L
379
+ #define SQL_OJ_FULL 0x00000004L
380
+ #define SQL_OJ_NESTED 0x00000008L
381
+ #define SQL_OJ_NOT_ORDERED 0x00000010L
382
+ #define SQL_OJ_INNER 0x00000020L
383
+ #define SQL_OJ_ALL_COMPARISON_OPS 0x00000040L
384
+
385
+ /* SQL_DB2_DRIVER_TYPE values */
386
+ #define SQL_CLI_DRIVER_TYPE_UNDEFINED 0
387
+ #define SQL_CLI_DRIVER_RUNTIME_CLIENT 1
388
+ #define SQL_CLI_DRIVER_CLI_DRIVER 2
389
+
390
+
391
+ /* SQLGetTypeInfo define */
392
+ #define SQL_ALL_TYPES 0
393
+
394
+ /* Options for SQLGetStmtOption/SQLSetStmtOption */
395
+
396
+ #define SQL_ATTR_AUTO_IPD 10001
397
+ #define SQL_ATTR_APP_ROW_DESC 10010
398
+ #define SQL_ATTR_APP_PARAM_DESC 10011
399
+ #define SQL_ATTR_IMP_ROW_DESC 10012
400
+ #define SQL_ATTR_IMP_PARAM_DESC 10013
401
+ #define SQL_ATTR_METADATA_ID 10014
402
+ #define SQL_ATTR_CURSOR_SCROLLABLE (-1)
403
+ #define SQL_ATTR_CURSOR_SENSITIVITY (-2)
404
+
405
+ /* SQL_ATTR_CURSOR_SCROLLABLE values */
406
+ #define SQL_NONSCROLLABLE 0
407
+ #define SQL_SCROLLABLE 1
408
+
409
+
410
+ /* Options for SQLGetStmtOption/SQLSetStmtOption extensions */
411
+ #define SQL_CURSOR_HOLD 1250
412
+ #define SQL_ATTR_CURSOR_HOLD 1250
413
+ #define SQL_NODESCRIBE_OUTPUT 1251
414
+ #define SQL_ATTR_NODESCRIBE_OUTPUT 1251
415
+
416
+ #define SQL_NODESCRIBE_INPUT 1264
417
+ #define SQL_ATTR_NODESCRIBE_INPUT 1264
418
+ #define SQL_NODESCRIBE SQL_NODESCRIBE_OUTPUT
419
+ #define SQL_ATTR_NODESCRIBE SQL_NODESCRIBE_OUTPUT
420
+ #define SQL_CLOSE_BEHAVIOR 1257
421
+ #define SQL_ATTR_CLOSE_BEHAVIOR 1257
422
+ #define SQL_ATTR_CLOSEOPEN 1265
423
+ #define SQL_ATTR_CURRENT_PACKAGE_SET 1276
424
+ #define SQL_ATTR_DEFERRED_PREPARE 1277
425
+ #define SQL_ATTR_EARLYCLOSE 1268
426
+ #define SQL_ATTR_PROCESSCTL 1278
427
+ #define SQL_ATTR_PREFETCH 1285
428
+ #define SQL_ATTR_ENABLE_IPD_SETTING 1286
429
+ #define SQL_ATTR_RETRYONERROR 121
430
+
431
+ /*
432
+ * Descriptor value for setting the descriptor type.
433
+ */
434
+
435
+ #define SQL_DESC_DESCRIPTOR_TYPE 1287
436
+
437
+ #define SQL_ATTR_OPTIMIZE_SQLCOLUMNS 1288
438
+ #define SQL_ATTR_MEM_DEBUG_DUMP 1289
439
+ #define SQL_ATTR_CONNECT_NODE 1290
440
+ #define SQL_ATTR_CONNECT_WITH_XA 1291
441
+ #define SQL_ATTR_GET_XA_RESOURCE 1292
442
+ #define SQL_ATTR_DB2_SQLERRP 2451
443
+ #define SQL_ATTR_SERVER_MSGTXT_SP 2452
444
+ #define SQL_ATTR_OPTIMIZE_FOR_NROWS 2450
445
+ #define SQL_ATTR_QUERY_OPTIMIZATION_LEVEL 1293
446
+ #define SQL_ATTR_USE_LIGHT_OUTPUT_SQLDA 1298
447
+ #define SQL_ATTR_CURSOR_BLOCK_NUM_ROWS 2453
448
+ #define SQL_ATTR_CURSOR_BLOCK_EARLY_CLOSE 2454
449
+ #define SQL_ATTR_SERVER_MSGTXT_MASK 2455
450
+ #define SQL_ATTR_USE_LIGHT_INPUT_SQLDA 2458
451
+ #define SQL_ATTR_BLOCK_FOR_NROWS 2459
452
+ #define SQL_ATTR_OPTIMIZE_ROWS_FOR_BLOCKING 2460
453
+ #define SQL_ATTR_STATICMODE 2467
454
+ #define SQL_ATTR_DB2_MESSAGE_PREFIX 2468
455
+ #define SQL_ATTR_CALL_RETVAL_AS_PARM 2469
456
+ #define SQL_ATTR_CALL_RETURN 2470
457
+ #define SQL_ATTR_RETURN_USER_DEFINED_TYPES 2471
458
+ #define SQL_ATTR_ENABLE_EXTENDED_PARAMDATA 2472
459
+ #define SQL_ATTR_APP_TYPE 2473
460
+ #define SQL_ATTR_TRANSFORM_GROUP 2474
461
+ #define SQL_ATTR_DESCRIBE_CALL 2476
462
+ #define SQL_ATTR_AUTOCOMMCLEANUP 2477
463
+ #define SQL_ATTR_USEMALLOC 2478
464
+ #define SQL_ATTR_PRESERVE_LOCALE 2479
465
+ #define SQL_ATTR_MAPGRAPHIC 2480
466
+ #define SQL_ATTR_INSERT_BUFFERING 2481
467
+
468
+ #define SQL_ATTR_USE_LOAD_API 2482
469
+ #define SQL_ATTR_LOAD_RECOVERABLE 2483
470
+ #define SQL_ATTR_LOAD_COPY_LOCATION 2484
471
+ #define SQL_ATTR_LOAD_MESSAGE_FILE 2485
472
+ #define SQL_ATTR_LOAD_SAVECOUNT 2486
473
+ #define SQL_ATTR_LOAD_CPU_PARALLELISM 2487
474
+ #define SQL_ATTR_LOAD_DISK_PARALLELISM 2488
475
+ #define SQL_ATTR_LOAD_INDEXING_MODE 2489
476
+ #define SQL_ATTR_LOAD_STATS_MODE 2490
477
+ #define SQL_ATTR_LOAD_TEMP_FILES_PATH 2491
478
+ #define SQL_ATTR_LOAD_DATA_BUFFER_SIZE 2492
479
+ #define SQL_ATTR_LOAD_MODIFIED_BY 2493
480
+ #define SQL_ATTR_DB2_RESERVED_2494 2494
481
+ #define SQL_ATTR_DESCRIBE_BEHAVIOR 2495
482
+ #define SQL_ATTR_FETCH_SENSITIVITY 2496
483
+ #define SQL_ATTR_DB2_RESERVED_2497 2497
484
+ #define SQL_ATTR_CLIENT_LOB_BUFFERING 2498
485
+ #define SQL_ATTR_SKIP_TRACE 2499
486
+ #define SQL_ATTR_LOAD_INFO 2501
487
+ #define SQL_ATTR_DESCRIBE_INPUT_ON_PREPARE 2505
488
+ #define SQL_ATTR_DESCRIBE_OUTPUT_LEVEL 2506
489
+ #define SQL_ATTR_CURRENT_PACKAGE_PATH 2509
490
+ #define SQL_ATTR_INFO_PROGRAMID 2511
491
+ #define SQL_ATTR_INFO_PROGRAMNAME 2516
492
+ #define SQL_ATTR_FREE_LOCATORS_ON_FETCH 2518
493
+ #define SQL_ATTR_KEEP_DYNAMIC 2522
494
+ #define SQL_ATTR_LOAD_ROWS_READ_PTR 2524
495
+ #define SQL_ATTR_LOAD_ROWS_SKIPPED_PTR 2525
496
+ #define SQL_ATTR_LOAD_ROWS_COMMITTED_PTR 2526
497
+ #define SQL_ATTR_LOAD_ROWS_LOADED_PTR 2527
498
+ #define SQL_ATTR_LOAD_ROWS_REJECTED_PTR 2528
499
+ #define SQL_ATTR_LOAD_ROWS_DELETED_PTR 2529
500
+ #define SQL_ATTR_LOAD_INFO_VER 2530
501
+ #define SQL_ATTR_SET_SSA 2531
502
+ #define SQL_ATTR_BLOCK_LOBS 2534
503
+ #define SQL_ATTR_LOAD_ACCESS_LEVEL 2536
504
+ #define SQL_ATTR_MAPCHAR 2546
505
+ #define SQL_ATTR_ARM_CORRELATOR 2554
506
+ #define SQL_ATTR_CLIENT_DEBUGINFO 2556
507
+ #define SQL_ATTR_GET_GENERATED_VALUE 2583
508
+ #define SQL_ATTR_GET_SERIAL_VALUE 2584
509
+ #define SQL_ATTR_INTERLEAVED_PUTDATA 2591
510
+ #define SQL_ATTR_FORCE_ROLLBACK 2596
511
+ #define SQL_ATTR_STMT_CONCENTRATOR 2597
512
+ #define SQL_ATTR_LOAD_REPLACE_OPTION 3036
513
+ #define SQL_ATTR_SESSION_GLOBAL_VAR 3044
514
+ #define SQL_ATTR_SPECIAL_REGISTER 3049
515
+ /* define constants for statement concentrator attribute */
516
+ #define SQL_STMT_CONCENTRATOR_OFF 1
517
+ #define SQL_STMT_CONCENTRATOR_WITH_LITERALS 2
518
+
519
+ #define SQL_INFO_LAST 174
520
+ #define SQL_INFO_DRIVER_START 1000
521
+ /* SQL_ATTR_FORCE_ROLLBACK option */
522
+ #define SQL_FORCE_ROLLBACK_ON 1
523
+ #define SQL_FORCE_ROLLBACK_OFF 0
524
+ #define SQL_FORCE_ROLLBACK_DEFAULT SQL_FORCE_ROLLBACK_OFF
525
+
526
+ /*
527
+ * SQL_ATTR_DESCRIBE_INPUT / SQL_ATTR_DESCRIBE_OUTPUT values
528
+ */
529
+ #define SQL_DESCRIBE_NONE 0
530
+ #define SQL_DESCRIBE_LIGHT 1
531
+ #define SQL_DESCRIBE_REGULAR 2
532
+ #define SQL_DESCRIBE_EXTENDED 3
533
+
534
+ /*
535
+ * Use load values.
536
+ */
537
+
538
+ #define SQL_USE_LOAD_OFF 0
539
+ #define SQL_USE_LOAD_INSERT 1
540
+ #define SQL_USE_LOAD_REPLACE 2
541
+ #define SQL_USE_LOAD_RESTART 3
542
+ #define SQL_USE_LOAD_TERMINATE 4
543
+ #define SQL_USE_LOAD_WITH_ET 5
544
+
545
+ /*
546
+ * Load replace values.
547
+ */
548
+
549
+ #define SQL_LOAD_REPLACE_DEFAULT 0
550
+ #define SQL_LOAD_KEEPDICTIONARY 1
551
+ #define SQL_LOAD_RESETDICTIONARY 2
552
+ #define SQL_LOAD_RESETDICTIONARYONLY 3
553
+
554
+ /*
555
+ * SQL_ATTR_PREFETCH_ENABLE values.
556
+ */
557
+
558
+ #define SQL_PREFETCH_ON 1
559
+ #define SQL_PREFETCH_OFF 0
560
+ #define SQL_PREFETCH_DEFAULT SQL_PREFETCH_OFF
561
+
562
+ /* SQL_CLOSE_BEHAVIOR values. */
563
+
564
+ #define SQL_CC_NO_RELEASE 0
565
+ #define SQL_CC_RELEASE 1
566
+ #define SQL_CC_DEFAULT SQL_CC_NO_RELEASE
567
+
568
+ /* SQL_RETRYONERROR options */
569
+ #define SQL_RETRYONERROR_OFF 0
570
+ #define SQL_RETRYONERROR_ON 1
571
+ #define SQL_RETRYONERROR_DEFAULT SQL_RETRYONERROR_ON
572
+
573
+ /* SQL_RETRYBINDONERROR options */
574
+ #define SQL_RETRYBINDONERROR_OFF 0
575
+ #define SQL_RETRYBINDONERROR_ON 1
576
+ #define SQL_RETRYBINDONERROR_DEFAULT SQL_RETRYBINDONERROR_ON
577
+
578
+ /* SQL_ATTR_ALLOW_INTERLEAVED_GETDATA options */
579
+ #define SQL_ALLOW_INTERLEAVED_GETDATA_OFF 0
580
+ #define SQL_ALLOW_INTERLEAVED_GETDATA_ON 1
581
+ #define SQL_ALLOW_INTERLEAVED_GETDATA_DEFAULT SQL_ALLOW_INTERLEAVED_GETDATA_OFF
582
+
583
+ /* SQL_ATTR_INTERLEAVED_STREAM_PUTDATA options */
584
+ #define SQL_INTERLEAVED_STREAM_PUTDATA_OFF 0
585
+ #define SQL_INTERLEAVED_STREAM_PUTDATA_ON 1
586
+ #define SQL_INTERLEAVED_STREAM_PUTDATA_DEFAULT SQL_ALLOW_INTERLEAVED_STREAM_PUTDATA_OFF
587
+
588
+ /* SQL_OVERRIDE_CODEPAGE option. This is used for skipping codepage conversion for char & graphic columns */
589
+ #define SQL_OVERRIDE_CODEPAGE_ON 1
590
+ #define SQL_OVERRIDE_CODEPAGE_OFF 0
591
+
592
+ /* SQL_ATTR_DEFERRED_PREPARE values */
593
+
594
+ #define SQL_DEFERRED_PREPARE_ON 1
595
+ #define SQL_DEFERRED_PREPARE_OFF 0
596
+ #define SQL_DEFERRED_PREPARE_DEFAULT SQL_DEFERRED_PREPARE_ON
597
+
598
+ /* SQL_ATTR_EARLYCLOSE values */
599
+
600
+ #define SQL_EARLYCLOSE_ON 1
601
+ #define SQL_EARLYCLOSE_OFF 0
602
+ #define SQL_EARLYCLOSE_SERVER 2
603
+ #define SQL_EARLYCLOSE_DEFAULT SQL_EARLYCLOSE_ON
604
+
605
+ /* SQL_ATTR_APP_TYPE values */
606
+
607
+ #define SQL_APP_TYPE_ODBC 1
608
+ #define SQL_APP_TYPE_OLEDB 2
609
+ #define SQL_APP_TYPE_JDBC 3
610
+ #define SQL_APP_TYPE_ADONET 4
611
+ #define SQL_APP_TYPE_DRDAWRAPPER 5
612
+ #define SQL_APP_TYPE_OCI 6
613
+ #define SQL_APP_TYPE_DEFAULT SQL_APP_TYPE_ODBC
614
+
615
+ /* SQL_ATTR_PROCESSCTL masks */
616
+
617
+ #define SQL_PROCESSCTL_NOTHREAD 0x00000001L
618
+ #define SQL_PROCESSCTL_NOFORK 0x00000002L
619
+ #define SQL_PROCESSCTL_SHARESTMTDESC 0x00000004L
620
+ #define SQL_PROCESSCTL_MULTICONNECT3 0x00000008L
621
+
622
+ /* CLI attribute/option values */
623
+ #define SQL_FALSE 0
624
+ #define SQL_TRUE 1
625
+
626
+ /* Options for SQL_CURSOR_HOLD */
627
+ #define SQL_CURSOR_HOLD_ON 1
628
+ #define SQL_CURSOR_HOLD_OFF 0
629
+ #define SQL_CURSOR_HOLD_DEFAULT SQL_CURSOR_HOLD_ON
630
+
631
+
632
+ /* Options for SQL_NODESCRIBE_INPUT/SQL_NODESCRIBE_OUTPUT */
633
+ #define SQL_NODESCRIBE_ON 1
634
+ #define SQL_NODESCRIBE_OFF 0
635
+ #define SQL_NODESCRIBE_DEFAULT SQL_NODESCRIBE_OFF
636
+
637
+ /* Options for SQL_ATTR_DESCRIBE_CALL */
638
+ #define SQL_DESCRIBE_CALL_NEVER 0
639
+ #define SQL_DESCRIBE_CALL_BEFORE 1
640
+ #define SQL_DESCRIBE_CALL_ON_ERROR 2
641
+ #define SQL_DESCRIBE_CALL_DEFAULT (-1)
642
+
643
+ /* Options for SQL_ATTR_CLIENT_LOB_BUFFERING */
644
+ #define SQL_CLIENTLOB_USE_LOCATORS 0
645
+ #define SQL_CLIENTLOB_BUFFER_UNBOUND_LOBS 1
646
+ #define SQL_CLIENTLOB_DEFAULT SQL_CLIENTLOB_USE_LOCATORS
647
+
648
+ /* Options for SQL_ATTR_CLIENT_ENCALG */
649
+ #define SQL_CLIENT_ENCALG_NOT_SET 0
650
+ #define SQL_CLIENT_ENCALG_ANY 1
651
+ #define SQL_CLIENT_ENCALG_AES_ONLY 2
652
+
653
+ /* Options for SQL_ATTR_COMMITONEOF */
654
+ #define SQL_COMMITONEOF_OFF 0
655
+ #define SQL_COMMITONEOF_ON 1
656
+
657
+ /* Options for SQL_ATTR_PREPDESC_BEHAVIOR */
658
+ /* To be determined */
659
+
660
+ /* Options for SQLGetConnectOption/SQLSetConnectOption extensions */
661
+ #define SQL_WCHARTYPE 1252
662
+ #define SQL_LONGDATA_COMPAT 1253
663
+ #define SQL_CURRENT_SCHEMA 1254
664
+ #define SQL_DB2EXPLAIN 1258
665
+ #define SQL_DB2ESTIMATE 1259
666
+ #define SQL_PARAMOPT_ATOMIC 1260
667
+ #define SQL_STMTTXN_ISOLATION 1261
668
+ #define SQL_MAXCONN 1262
669
+ #define SQL_ATTR_CLISCHEMA 1280
670
+ #define SQL_ATTR_INFO_USERID 1281
671
+ #define SQL_ATTR_INFO_WRKSTNNAME 1282
672
+ #define SQL_ATTR_INFO_APPLNAME 1283
673
+ #define SQL_ATTR_INFO_ACCTSTR 1284
674
+ #define SQL_ATTR_AUTOCOMMIT_NOCOMMIT 2462
675
+ #define SQL_ATTR_QUERY_PATROLLER 2466
676
+ #define SQL_ATTR_CHAINING_BEGIN 2464
677
+ #define SQL_ATTR_CHAINING_END 2465
678
+ #define SQL_ATTR_EXTENDEDBIND 2475
679
+ #define SQL_ATTR_GRAPHIC_UNICODESERVER 2503
680
+ #define SQL_ATTR_RETURN_CHAR_AS_WCHAR_OLEDB 2517
681
+ #define SQL_ATTR_GATEWAY_CONNECTED 2537
682
+ #define SQL_ATTR_SQLCOLUMNS_SORT_BY_ORDINAL_OLEDB 2542
683
+ #define SQL_ATTR_REPORT_ISLONG_FOR_LONGTYPES_OLEDB 2543
684
+ #define SQL_ATTR_PING_DB 2545
685
+ #define SQL_ATTR_RECEIVE_TIMEOUT 2547
686
+ #define SQL_ATTR_REOPT 2548
687
+ #define SQL_ATTR_LOB_CACHE_SIZE 2555
688
+ #define SQL_ATTR_STREAM_GETDATA 2558
689
+ #define SQL_ATTR_APP_USES_LOB_LOCATOR 2559
690
+ #define SQL_ATTR_MAX_LOB_BLOCK_SIZE 2560
691
+ #define SQL_ATTR_USE_TRUSTED_CONTEXT 2561
692
+ #define SQL_ATTR_TRUSTED_CONTEXT_USERID 2562
693
+ #define SQL_ATTR_TRUSTED_CONTEXT_PASSWORD 2563
694
+ #define SQL_ATTR_USER_REGISTRY_NAME 2564
695
+ #define SQL_ATTR_DECFLOAT_ROUNDING_MODE 2565
696
+ #define SQL_ATTR_APPEND_FOR_FETCH_ONLY 2573
697
+ #define SQL_ATTR_ONLY_USE_BIG_PACKAGES 2577
698
+ #define SQL_ATTR_NONATMOIC_BUFFER_INSERT 2588
699
+ #define SQL_ATTR_ROWCOUNT_PREFETCH 2592
700
+ #define SQL_ATTR_PING_REQUEST_PACKET_SIZE 2593
701
+ #define SQL_ATTR_PING_NTIMES 2594
702
+ #define SQL_ATTR_ALLOW_INTERLEAVED_GETDATA 2599
703
+ #define SQL_ATTR_INTERLEAVED_STREAM_PUTDATA 3000
704
+ #define SQL_ATTR_FET_BUF_SIZE 3001
705
+ #define SQL_ATTR_CLIENT_CODEPAGE 3002
706
+ #define SQL_ATTR_EXTENDED_INDICATORS 3003
707
+ #define SQL_ATTR_SESSION_TIME_ZONE 3004
708
+ #define SQL_ATTR_CLIENT_TIME_ZONE 3005
709
+ /* A Connection attribute which controls the collection of network statistics */
710
+ /* for a connection. The statistics can be retrieved by calling */
711
+ /* SQLGetDiagField() */
712
+ /* with the SQL_DIAG_NETWORK_STATISTICS DiagIdentifier. */
713
+ #define SQL_ATTR_NETWORK_STATISTICS 3006
714
+ #define SQL_ATTR_OVERRIDE_CHARACTER_CODEPAGE 3007
715
+ #define SQL_ATTR_GET_LATEST_MEMBER 3008
716
+ #define SQL_ATTR_CO_CAPTUREONPREPARE 3009
717
+ #define SQL_ATTR_RETRYBINDONERROR 3010
718
+ #define SQL_ATTR_COMMITONEOF 3011
719
+ #define SQL_ATTR_PARC_BATCH 3012
720
+ #define SQL_ATTR_COLUMNWISE_MRI 3013
721
+ #define SQL_ATTR_OVERRIDE_CODEPAGE 3014
722
+ #define SQL_ATTR_SQLCODEMAP 3015
723
+ #define SQL_ATTR_ISREADONLYSQL 3016
724
+ #define SQL_ATTR_DBC_SYS_NAMING 3017
725
+ #define SQL_ATTR_FREE_MEMORY_ON_STMTCLOSE 3018
726
+ #define SQL_ATTR_OVERRIDE_PRIMARY_AFFINITY 3020
727
+ #define SQL_ATTR_STREAM_OUTPUTLOB_ON_CALL 3021
728
+ #define SQL_ATTR_CACHE_USRLIBL 3022
729
+ #define SQL_ATTR_GET_LATEST_MEMBER_NAME 3023
730
+ #define SQL_ATTR_INFO_CRRTKN 3024
731
+ #define SQL_ATTR_DATE_FMT 3025
732
+ #define SQL_ATTR_DATE_SEP 3026
733
+ #define SQL_ATTR_TIME_FMT 3027
734
+ #define SQL_ATTR_TIME_SEP 3028
735
+ #define SQL_ATTR_DECIMAL_SEP 3029
736
+ #define SQL_ATTR_READ_ONLY_CONNECTION 3030
737
+ #define SQL_ATTR_CONFIG_KEYWORDS_ARRAY_SIZE 3031
738
+ #define SQL_ATTR_CONFIG_KEYWORDS_MAXLEN 3032
739
+ #define SQL_ATTR_RETRY_ON_MERGE 3033
740
+ #define SQL_ATTR_DETECT_READ_ONLY_TXN 3034
741
+ #define SQL_ATTR_IGNORE_SERVER_LIST 3035
742
+ #define SQL_ATTR_DB2ZLOAD_LOADSTMT 3037
743
+ #define SQL_ATTR_DB2ZLOAD_RECDELIM 3038
744
+ #define SQL_ATTR_DB2ZLOAD_BEGIN 3039
745
+ #define SQL_ATTR_DB2ZLOAD_END 3040
746
+ #define SQL_ATTR_DB2ZLOAD_FILETYPE 3041
747
+ #define SQL_ATTR_DB2ZLOAD_MSGFILE 3042
748
+ #define SQL_ATTR_DB2ZLOAD_UTILITYID 3043
749
+ #define SQL_ATTR_CONNECT_PASSIVE 3045
750
+ #define SQL_ATTR_CLIENT_APPLCOMPAT 3046
751
+ #define SQL_ATTR_DB2ZLOAD_LOADFILE 3047
752
+ #define SQL_ATTR_PREFETCH_NROWS 3048
753
+ #define SQL_ATTR_LOB_FILE_THRESHOLD 3050
754
+ #define SQL_ATTR_TRUSTED_CONTEXT_ACCESSTOKEN 3051
755
+
756
+ /* Mapping of NZ Connection level attributes to DB2 */
757
+
758
+ #define SQL_ATTR_CLIENT_USERID SQL_ATTR_INFO_USERID
759
+ #define SQL_ATTR_CLIENT_WRKSTNNAME SQL_ATTR_INFO_WRKSTNNAME
760
+ #define SQL_ATTR_CLIENT_APPLNAME SQL_ATTR_INFO_APPLNAME
761
+ #define SQL_ATTR_CLIENT_ACCTSTR SQL_ATTR_INFO_ACCTSTR
762
+ #define SQL_ATTR_CLIENT_PROGINFO SQL_ATTR_INFO_PROGRAMNAME
763
+
764
+ #define SQL_DM_DROP_MODULE 0x00000001L
765
+ #define SQL_DM_RESTRICT 0x00000002L
766
+ #define SQL_MU_PROCEDURE_INVOCATION 0x00000001L
767
+ #define SQL_CM_CREATE_MODULE 0x00000001L
768
+ #define SQL_CM_AUTHORIZATION 0x00000002L
769
+
770
+ #define SQL_ATTR_WCHARTYPE SQL_WCHARTYPE
771
+ #define SQL_ATTR_LONGDATA_COMPAT SQL_LONGDATA_COMPAT
772
+ #define SQL_ATTR_CURRENT_SCHEMA SQL_CURRENT_SCHEMA
773
+ #define SQL_ATTR_DB2EXPLAIN SQL_DB2EXPLAIN
774
+ #define SQL_ATTR_DB2ESTIMATE SQL_DB2ESTIMATE
775
+ #define SQL_ATTR_PARAMOPT_ATOMIC SQL_PARAMOPT_ATOMIC
776
+ #define SQL_ATTR_STMTTXN_ISOLATION SQL_STMTTXN_ISOLATION
777
+ #define SQL_ATTR_MAXCONN SQL_MAXCONN
778
+
779
+ /* Options for SQLSetConnectOption, SQLSetEnvAttr */
780
+ #define SQL_CONNECTTYPE 1255
781
+ #define SQL_SYNC_POINT 1256
782
+ #define SQL_MINMEMORY_USAGE 1263
783
+ #define SQL_CONN_CONTEXT 1269
784
+ #define SQL_ATTR_INHERIT_NULL_CONNECT 1270
785
+ #define SQL_ATTR_FORCE_CONVERSION_ON_CLIENT 1275
786
+ #define SQL_ATTR_INFO_KEYWORDLIST 2500
787
+
788
+ /* Connection Attr which cud be set to Enable or
789
+ * Disable Sysplex
790
+ */
791
+ #define SQL_ATTR_DISABLE_SYSPLEX 2590
792
+
793
+ #define SQL_ATTR_CONNECTTYPE SQL_CONNECTTYPE
794
+ #define SQL_ATTR_SYNC_POINT SQL_SYNC_POINT
795
+ #define SQL_ATTR_MINMEMORY_USAGE SQL_MINMEMORY_USAGE
796
+ #define SQL_ATTR_CONN_CONTEXT SQL_CONN_CONTEXT
797
+
798
+ /* Options for SQL_LONGDATA_COMPAT */
799
+ #define SQL_LD_COMPAT_YES 1
800
+ #define SQL_LD_COMPAT_NO 0
801
+ #define SQL_LD_COMPAT_DEFAULT SQL_LD_COMPAT_NO
802
+
803
+ /* Options for SQL_ATTR_EXTENDEDBIND */
804
+ #define SQL_ATTR_EXTENDEDBIND_COPY 1
805
+ #define SQL_ATTR_EXTENDEDBIND_NOCOPY 0
806
+ #define SQL_ATTR_EXTENDEDBIND_DEFAULT SQL_ATTR_EXTENDEDBIND_NOCOPY
807
+
808
+ /* SQL_NULL_COLLATION values */
809
+ #define SQL_NC_HIGH 0
810
+ #define SQL_NC_LOW 1
811
+
812
+ /* SQL_ATTR_PARC_BATCH values */
813
+ #define SQL_PARC_BATCH_ENABLE 1
814
+ #define SQL_PARC_BATCH_DISABLE 0
815
+
816
+ /* SQL_ATTR_SQLCODEMAP values */
817
+ #define SQL_SQLCODEMAP_NOMAP 1
818
+ #define SQL_SQLCODEMAP_MAP 2
819
+
820
+ /* SQL_ATTR_CONNECT_PASSIVE values */
821
+ #define SQL_CONNECT_PASSIVE_YES 1
822
+ #define SQL_CONNECT_PASSIVE_NO 0
823
+ #define SQL_CONNECT_PASSIVE_DEFAULT SQL_CONNECT_PASSIVE_NO
824
+
825
+ /* Options for SQLGetInfo extentions */
826
+ #define CLI_MAX_LONGVARCHAR 1250
827
+ #define CLI_MAX_VARCHAR 1251
828
+ #define CLI_MAX_CHAR 1252
829
+ #define CLI_MAX_LONGVARGRAPHIC 1253
830
+ #define CLI_MAX_VARGRAPHIC 1254
831
+ #define CLI_MAX_GRAPHIC 1255
832
+
833
+ /*
834
+ * Private SQLGetDiagField extensions.
835
+ */
836
+
837
+ #define SQL_DIAG_MESSAGE_TEXT_PTR 2456
838
+ #define SQL_DIAG_LINE_NUMBER 2461
839
+ #define SQL_DIAG_ERRMC 2467
840
+ #define SQL_DIAG_SQLCA 3037
841
+ #define SQL_DIAG_BYTES_PROCESSED 2477
842
+ #define SQL_DIAG_RELATIVE_COST_ESTIMATE 2504
843
+ #define SQL_DIAG_ROW_COUNT_ESTIMATE 2507
844
+ #define SQL_DIAG_ELAPSED_SERVER_TIME 2538
845
+ #define SQL_DIAG_ELAPSED_NETWORK_TIME 2539
846
+ #define SQL_DIAG_ACCUMULATED_SERVER_TIME 2540
847
+ #define SQL_DIAG_ACCUMULATED_NETWORK_TIME 2541
848
+ #define SQL_DIAG_QUIESCE 2549
849
+ #define SQL_DIAG_TOLERATED_ERROR 2559
850
+ /* A DiagIdentifier which can be used to query network statistics for a */
851
+ /* connection. */
852
+ #define SQL_DIAG_NETWORK_STATISTICS 2560
853
+
854
+ /*
855
+ * Values for SQL_DIAG_QUIESCE
856
+ */
857
+
858
+ #define SQL_DIAG_QUIESCE_NO 0
859
+ #define SQL_DIAG_QUIESCE_DATABASE 1
860
+ #define SQL_DIAG_QUIESCE_INSTANCE 2
861
+
862
+ /*
863
+ * Private SQLSetEnvAttr extensions.
864
+ */
865
+
866
+ #define SQL_ATTR_LITTLE_ENDIAN_UNICODE 2457
867
+ #define SQL_ATTR_DIAGLEVEL 2574
868
+ #define SQL_ATTR_NOTIFYLEVEL 2575
869
+ #define SQL_ATTR_DIAGPATH 2576
870
+ #define SQL_ATTR_MESSAGE_LINE_LENGTH 2580
871
+ #define SQL_ATTR_ENABLE_IFXENV 2585
872
+ #define SQL_ATTR_TRACENOHEADER 2598
873
+ #define SQL_ATTR_DB2TRC_STARTUP_SIZE 3019
874
+ /*
875
+ * Options for SQL_PARAMOPT_ATOMIC
876
+ */
877
+
878
+ #define SQL_ATOMIC_YES 1
879
+ #define SQL_ATOMIC_NO 0
880
+ #define SQL_ATOMIC_DEFAULT SQL_ATOMIC_YES
881
+
882
+ /* Options for SQL_CONNECT_TYPE */
883
+ #define SQL_CONCURRENT_TRANS 1
884
+ #define SQL_COORDINATED_TRANS 2
885
+ #define SQL_CONNECTTYPE_DEFAULT SQL_CONCURRENT_TRANS
886
+
887
+ /* Options for SQL_SYNCPOINT */
888
+ #define SQL_ONEPHASE 1
889
+ #define SQL_TWOPHASE 2
890
+ #define SQL_SYNCPOINT_DEFAULT SQL_ONEPHASE
891
+
892
+ /* Options for SQL_DB2ESTIMATE */
893
+ #define SQL_DB2ESTIMATE_ON 1
894
+ #define SQL_DB2ESTIMATE_OFF 0
895
+ #define SQL_DB2ESTIMATE_DEFAULT SQL_DB2ESTIMATE_OFF
896
+
897
+ /* Options for SQL_DB2EXPLAIN */
898
+ #define SQL_DB2EXPLAIN_OFF 0x00000000L
899
+ #define SQL_DB2EXPLAIN_SNAPSHOT_ON 0x00000001L
900
+ #define SQL_DB2EXPLAIN_MODE_ON 0x00000002L
901
+ #define SQL_DB2EXPLAIN_SNAPSHOT_MODE_ON SQL_DB2EXPLAIN_SNAPSHOT_ON+SQL_DB2EXPLAIN_MODE_ON
902
+ #define SQL_DB2EXPLAIN_ON SQL_DB2EXPLAIN_SNAPSHOT_ON
903
+ #define SQL_DB2EXPLAIN_DEFAULT SQL_DB2EXPLAIN_OFF
904
+
905
+ /* Options for SQL_WCHARTYPE
906
+ * Note that you can only specify SQL_WCHARTYPE_CONVERT if you have an
907
+ * external compile flag SQL_WCHART_CONVERT defined
908
+ */
909
+ #ifdef SQL_WCHART_CONVERT
910
+ #define SQL_WCHARTYPE_CONVERT 1
911
+ #endif
912
+ #define SQL_WCHARTYPE_NOCONVERT 0
913
+ #define SQL_WCHARTYPE_DEFAULT SQL_WCHARTYPE_NOCONVERT
914
+
915
+ /* Options for SQL_ATTR_OPTIMIZE_SQLCOLUMNS
916
+ *
917
+ */
918
+ #define SQL_OPTIMIZE_SQLCOLUMNS_OFF 0
919
+ #define SQL_OPTIMIZE_SQLCOLUMNS_ON 1
920
+ #define SQL_OPTIMIZE_SQLCOLUMNS_DEFAULT SQL_OPTIMIZE_SQLCOLUMNS_OFF
921
+
922
+ /* Options for SQL_ATTR_CONNECT_WITH_XA
923
+ *
924
+ */
925
+ #define SQL_CONNECT_WITH_XA_OFF 0
926
+ #define SQL_CONNECT_WITH_XA_ON 1
927
+ #define SQL_CONNECT_WITH_XA_DEFAULT SQL_CONNECT_WITH_XA_OFF
928
+
929
+ /*
930
+ * Options for SQL_ATTR_SERVER_MSGTXT_MASK
931
+ */
932
+ #define SQL_ATTR_SERVER_MSGTXT_MASK_LOCAL_FIRST 0x00000000
933
+ #define SQL_ATTR_SERVER_MSGTXT_MASK_WARNINGS 0x00000001
934
+ #define SQL_ATTR_SERVER_MSGTXT_MASK_ERRORS 0xFFFFFFFE
935
+ #define SQL_ATTR_SERVER_MSGTXT_MASK_ALL 0xFFFFFFFF
936
+ #define SQL_ATTR_SERVER_MSGTXT_MASK_DEFAULT SQL_ATTR_SERVER_MSGTXT_MASK_LOCAL_FIRST
937
+
938
+ /*
939
+ * Options for SQL_ATTR_QUERY_PATROLLER
940
+ */
941
+ #define SQL_ATTR_QUERY_PATROLLER_DISABLE 1
942
+ #define SQL_ATTR_QUERY_PATROLLER_ENABLE 2
943
+ #define SQL_ATTR_QUERY_PATROLLER_BYPASS 3
944
+
945
+ /*
946
+ * Options for SQL_ATTR_STATICMODE
947
+ */
948
+ #define SQL_STATICMODE_DISABLED 0
949
+ #define SQL_STATICMODE_CAPTURE 1
950
+ #define SQL_STATICMODE_MATCH 2
951
+
952
+ /*
953
+ * Options for SQL_ATTR_DB2_MESSAGE_PREFIX
954
+ */
955
+ #define SQL_ATTR_DB2_MESSAGE_PREFIX_OFF 0
956
+ #define SQL_ATTR_DB2_MESSAGE_PREFIX_ON 1
957
+ #define SQL_ATTR_DB2_MESSAGE_PREFIX_DEFAULT SQL_ATTR_DB2_MESSAGE_PREFIX_ON
958
+
959
+ /*
960
+ * Options for SQL_ATTR_INSERT_BUFFERING
961
+ */
962
+ #define SQL_ATTR_INSERT_BUFFERING_OFF 0
963
+ #define SQL_ATTR_INSERT_BUFFERING_ON 1
964
+ #define SQL_ATTR_INSERT_BUFFERING_IGD 2
965
+
966
+ /*
967
+ * Options for SQL_ATTR_ROWCOUNT_PREFETCH
968
+ */
969
+ #define SQL_ROWCOUNT_PREFETCH_OFF 0
970
+ #define SQL_ROWCOUNT_PREFETCH_ON 1
971
+
972
+ /* Column types and scopes in SQLSpecialColumns */
973
+
974
+ #define SQL_SCOPE_CURROW 0
975
+ #define SQL_SCOPE_TRANSACTION 1
976
+ #define SQL_SCOPE_SESSION 2
977
+
978
+ /* Defines for SQLStatistics */
979
+ #define SQL_INDEX_UNIQUE 0
980
+ #define SQL_INDEX_ALL 1
981
+
982
+ /* Defines for SQLStatistics (returned in the result set) */
983
+ #define SQL_INDEX_CLUSTERED 1
984
+ #define SQL_INDEX_HASHED 2
985
+ #define SQL_INDEX_OTHER 3
986
+
987
+ /* Defines for SQLSpecialColumns (returned in the result set) */
988
+ #define SQL_PC_UNKNOWN 0
989
+ #define SQL_PC_NON_PSEUDO 1
990
+ #define SQL_PC_PSEUDO 2
991
+
992
+ /* Reserved value for the IdentifierType argument of SQLSpecialColumns() */
993
+ #define SQL_ROW_IDENTIFIER 1
994
+
995
+ /* Options for SQL_ATTR_MAPGRAPHIC */
996
+ #define SQL_MAPGRAPHIC_DEFAULT -1
997
+ #define SQL_MAPGRAPHIC_GRAPHIC 0
998
+ #define SQL_MAPGRAPHIC_WCHAR 1
999
+
1000
+ /* Options for SQL_ATTR_MAPCHAR */
1001
+ #define SQL_MAPCHAR_DEFAULT 0
1002
+ #define SQL_MAPCHAR_WCHAR 1
1003
+
1004
+ /* SQLDataSources "fDirection" values, also used on SQLExtendedFetch() */
1005
+ /* See sqlext.h for additional SQLExtendedFetch fetch direction defines */
1006
+ #define SQL_FETCH_NEXT 1
1007
+ #define SQL_FETCH_FIRST 2
1008
+
1009
+ /* OTHER CODES USED FOR FETCHORIENTATION IN SQLFETCHSCROLL() */
1010
+ #define SQL_FETCH_LAST 3
1011
+ #define SQL_FETCH_PRIOR 4
1012
+ #define SQL_FETCH_ABSOLUTE 5
1013
+ #define SQL_FETCH_RELATIVE 6
1014
+
1015
+ /* Options for SQL_ATTR_EXTENDED_INDICATOR */
1016
+ #define SQL_EXTENDED_INDICATOR_NOT_SET 0
1017
+ #define SQL_EXTENDED_INDICATOR_ENABLE 1
1018
+ #define SQL_EXTENDED_INDICATOR_DISABLE 2
1019
+
1020
+ /* Options for SQL_ATTR_COLUMNWISE_MRI */
1021
+ #define SQL_COLUMNWISE_MRI_ON 1
1022
+ #define SQL_COLUMNWISE_MRI_OFF 0
1023
+
1024
+ /* Options for SQL_ATTR_ISREADONLYSQL */
1025
+ #define SQL_ISREADONLYSQL_YES 1
1026
+ #define SQL_ISREADONLYSQL_NO 0
1027
+
1028
+
1029
+ /* Options for SQL_ATTR_FREE_MEMORY_ON_STMTCLOSE */
1030
+ #define SQL_FREE_MEMORY_ON_STMTCLOSE_YES 1
1031
+ #define SQL_FREE_MEMORY_ON_STMTCLOSE_NO 0
1032
+
1033
+ /* Options for SQL_ATTR_CACHE_USRLIBL */
1034
+ #define SQL_ATTR_CACHE_USRLIBL_YES 0
1035
+ #define SQL_ATTR_CACHE_USRLIBL_NO 1
1036
+ #define SQL_ATTR_CACHE_USRLIBL_REFRESH 2
1037
+
1038
+ /* Options for DATE/TIME/DECIMAL environment/connection attributes */
1039
+ #define SQL_IBMi_FMT_ISO 1
1040
+ #define SQL_IBMi_FMT_USA 2
1041
+ #define SQL_IBMi_FMT_EUR 3
1042
+ #define SQL_IBMi_FMT_JIS 4
1043
+ #define SQL_IBMi_FMT_MDY 5
1044
+ #define SQL_IBMi_FMT_DMY 6
1045
+ #define SQL_IBMi_FMT_YMD 7
1046
+ #define SQL_IBMi_FMT_JUL 8
1047
+ #define SQL_IBMi_FMT_HMS 9
1048
+ #define SQL_IBMi_FMT_JOB 10
1049
+
1050
+ #define SQL_SEP_SLASH 1
1051
+ #define SQL_SEP_DASH 2
1052
+ #define SQL_SEP_PERIOD 3
1053
+ #define SQL_SEP_COMMA 4
1054
+ #define SQL_SEP_BLANK 5
1055
+ #define SQL_SEP_COLON 6
1056
+ #define SQL_SEP_JOB 7
1057
+
1058
+ /* SQL_ATTR_XML_DECLARATION bitmask values */
1059
+ #define SQL_XML_DECLARATION_NONE 0x00000000
1060
+ #define SQL_XML_DECLARATION_BOM 0x00000001
1061
+ #define SQL_XML_DECLARATION_BASE 0x00000002
1062
+ #define SQL_XML_DECLARATION_ENCATTR 0x00000004
1063
+
1064
+ /*
1065
+ * Options for SQL_ATTR_DB2ZLOAD_RECDELIM
1066
+ */
1067
+ #define SQL_DB2ZLOAD_RECDELIM_NONE 0
1068
+ #define SQL_DB2ZLOAD_RECDELIM_ALF 1
1069
+ #define SQL_DB2ZLOAD_RECDELIM_ENL 2
1070
+ #define SQL_DB2ZLOAD_RECDELIM_CRLF 3
1071
+
1072
+ /*
1073
+ * Options for SQL_ATTR_DB2ZLOAD_FILETYPE
1074
+ */
1075
+ #define SQL_DB2ZLOAD_FILETYPE_DEL 1
1076
+ #define SQL_DB2ZLOAD_FILETYPE_INT 2
1077
+ #define SQL_DB2ZLOAD_FILETYPE_SPANNED 3
1078
+
1079
+ /* SQLReloadConfig - Config Type */
1080
+ #define DSD_ACR_AFFINITY 0x00000001
1081
+
1082
+
1083
+ /*
1084
+ * Environment attributes; note SQL_CONNECTTYPE, SQL_SYNC_POINT are also
1085
+ * environment attributes that are settable at the connection level
1086
+ */
1087
+
1088
+ #define SQL_ATTR_OUTPUT_NTS 10001
1089
+
1090
+
1091
+ /* LOB file reference options */
1092
+ #ifndef SQL_H_SQL /* if sql.h is not included, then... */
1093
+ #define SQL_FILE_READ 2 /* Input file to read from */
1094
+ #define SQL_FILE_CREATE 8 /* Output file - new file to be */
1095
+ /* created */
1096
+ #define SQL_FILE_OVERWRITE 16 /* Output file - overwrite existing */
1097
+ /* file or create a new file if it */
1098
+ /* doesn't exist */
1099
+ #define SQL_FILE_APPEND 32 /* Output file - append to an */
1100
+ /* existing file or create a new file */
1101
+ /* if it doesn't exist */
1102
+ #endif
1103
+
1104
+ /*
1105
+ * Source of string for SQLGetLength(), SQLGetPosition(),
1106
+ * and SQLGetSubstring().
1107
+ */
1108
+ #define SQL_FROM_LOCATOR 2
1109
+ #define SQL_FROM_LITERAL 3
1110
+
1111
+ /*
1112
+ * Options for Rounding Modes. These numeric values can
1113
+ * be set with SQLSetConnectAttr() API for the attribute
1114
+ * SQL_ATTR_DECFLOAT_ROUNDING_MODE. The SQLGetConnectAttr()
1115
+ * API will return these values for the
1116
+ * SQL_ATTR_DECFLOAT_ROUNDING_MODE attribute.
1117
+ */
1118
+ #define SQL_ROUND_HALF_EVEN 0
1119
+ #define SQL_ROUND_HALF_UP 1
1120
+ #define SQL_ROUND_DOWN 2
1121
+ #define SQL_ROUND_CEILING 3
1122
+ #define SQL_ROUND_FLOOR 4
1123
+
1124
+ /* Options for SQL_ATTR_NETWORK_STATISTICS */
1125
+ #define SQL_NETWORK_STATISTICS_ON_SKIP_NOSERVER 2
1126
+ #define SQL_NETWORK_STATISTICS_ON 1
1127
+ #define SQL_NETWORK_STATISTICS_OFF 0
1128
+ #define SQL_NETWORK_STATISTICS_DEFAULT SQL_NETWORK_STATISTICS_OFF
1129
+
1130
+ /* Options for SQL_ATTR_READ_ONLY_CONNECTION */
1131
+ #define SQL_READ_ONLY_CONNECTION_ON 1
1132
+ #define SQL_READ_ONLY_CONNECTION_OFF 0
1133
+ #define SQL_READ_ONLY_CONNECTION_DEFAULT SQL_READ_ONLY_CONNECTION_OFF
1134
+
1135
+ #define SQL_UNASSIGNED (-7)
1136
+
1137
+ /* Options for SQL_ATTR_DETECT_READ_ONLY_TXN */
1138
+ #define SQL_DETECT_READ_ONLY_TXN_ENABLE 1
1139
+ #define SQL_DETECT_READ_ONLY_TXN_DISABLE 0
1140
+
1141
+ /* The SQL_NET_STATS structure used when calling the SQLGetDiagField() API */
1142
+ /* with a DiagIdentifier of SQL_DIAG_NETWORK_STATISTICS. */
1143
+ typedef struct SQL_NET_STATS {
1144
+ SQLINTEGER iNetStatsLength; /* Total structure length */
1145
+ SQLUBIGINT uiNetStatsServerTime; /* Accumulated time spent in server */
1146
+ /* since reset (microseconds) */
1147
+ SQLUBIGINT uiNetStatsNetworkTime; /* Accumulated network+server time */
1148
+ /* since reset (microseconds) */
1149
+ SQLUBIGINT uiNetStatsBytesSent; /* Accumulated bytes sent since reset */
1150
+ SQLUBIGINT uiNetStatsBytesReceived; /* Accumulated bytes received reset */
1151
+ SQLUBIGINT uiNetStatsRoundTrips; /* Accumulated network round trips */
1152
+ /* since reset */
1153
+ } SQL_NET_STATS;
1154
+
1155
+
1156
+
1157
+ /*
1158
+ * Function definitions of APIs in both X/Open CLI and ODBC
1159
+ */
1160
+
1161
+ SQLRETURN SQL_API_FN SQLColumns (SQLHSTMT hstmt,
1162
+ SQLCHAR FAR *szCatalogName,
1163
+ SQLSMALLINT cbCatalogName,
1164
+ SQLCHAR FAR *szSchemaName,
1165
+ SQLSMALLINT cbSchemaName,
1166
+ SQLCHAR FAR *szTableName,
1167
+ SQLSMALLINT cbTableName,
1168
+ SQLCHAR FAR *szColumnName,
1169
+ SQLSMALLINT cbColumnName);
1170
+
1171
+ SQLRETURN SQL_API_FN SQLDataSources (SQLHENV henv,
1172
+ SQLUSMALLINT fDirection,
1173
+ SQLCHAR FAR *szDSN,
1174
+ SQLSMALLINT cbDSNMax,
1175
+ SQLSMALLINT FAR *pcbDSN,
1176
+ SQLCHAR FAR *szDescription,
1177
+ SQLSMALLINT cbDescriptionMax,
1178
+ SQLSMALLINT FAR *pcbDescription);
1179
+ SQLRETURN SQL_API SQLFetchScroll( SQLHSTMT StatementHandle,
1180
+ SQLSMALLINT FetchOrientation,
1181
+ SQLLEN FetchOffset);
1182
+ SQLRETURN SQL_API SQLGetConnectAttr( SQLHDBC ConnectionHandle,
1183
+ SQLINTEGER Attribute,
1184
+ SQLPOINTER Value,
1185
+ SQLINTEGER BufferLength,
1186
+ SQLINTEGER *StringLength);
1187
+
1188
+ SQLRETURN SQL_API_FN SQLGetConnectOption (
1189
+ SQLHDBC hdbc,
1190
+ SQLUSMALLINT fOption,
1191
+ SQLPOINTER pvParam);
1192
+
1193
+ SQLRETURN SQL_API_FN SQLGetFunctions (SQLHDBC hdbc,
1194
+ SQLUSMALLINT fFunction,
1195
+ SQLUSMALLINT FAR *pfExists);
1196
+
1197
+ SQLRETURN SQL_API_FN SQLGetInfo (SQLHDBC hdbc,
1198
+ SQLUSMALLINT fInfoType,
1199
+ SQLPOINTER rgbInfoValue,
1200
+ SQLSMALLINT cbInfoValueMax,
1201
+ SQLSMALLINT FAR *pcbInfoValue);
1202
+
1203
+ SQLRETURN SQL_API SQLGetStmtAttr( SQLHSTMT StatementHandle,
1204
+ SQLINTEGER Attribute,
1205
+ SQLPOINTER Value,
1206
+ SQLINTEGER BufferLength,
1207
+ SQLINTEGER *StringLength);
1208
+
1209
+ SQLRETURN SQL_API_FN SQLGetStmtOption (SQLHSTMT hstmt,
1210
+ SQLUSMALLINT fOption,
1211
+ SQLPOINTER pvParam);
1212
+
1213
+ SQLRETURN SQL_API_FN SQLGetTypeInfo (SQLHSTMT hstmt,
1214
+ SQLSMALLINT fSqlType);
1215
+
1216
+
1217
+ SQLRETURN SQL_API_FN SQLParamData (SQLHSTMT hstmt,
1218
+ SQLPOINTER FAR *prgbValue);
1219
+
1220
+ SQLRETURN SQL_API_FN SQLPutData (SQLHSTMT hstmt,
1221
+ SQLPOINTER rgbValue,
1222
+ SQLLEN cbValue);
1223
+
1224
+ SQLRETURN SQL_API_FN SQLSetConnectAttr(
1225
+ SQLHDBC hdbc,
1226
+ SQLINTEGER fOption,
1227
+ SQLPOINTER pvParam,
1228
+ SQLINTEGER fStrLen);
1229
+
1230
+ SQLRETURN SQL_API_FN SQLSetConnectOption(
1231
+ SQLHDBC hdbc,
1232
+ SQLUSMALLINT fOption,
1233
+ SQLULEN vParam);
1234
+
1235
+ SQLRETURN SQL_API_FN SQLSetStmtAttr (SQLHSTMT hstmt,
1236
+ SQLINTEGER fOption,
1237
+ SQLPOINTER pvParam,
1238
+ SQLINTEGER fStrLen);
1239
+
1240
+ SQLRETURN SQL_API_FN SQLSetStmtOption (SQLHSTMT hstmt,
1241
+ SQLUSMALLINT fOption,
1242
+ SQLULEN vParam);
1243
+
1244
+ SQLRETURN SQL_API_FN SQLSpecialColumns(SQLHSTMT hstmt,
1245
+ SQLUSMALLINT fColType,
1246
+ SQLCHAR FAR *szCatalogName,
1247
+ SQLSMALLINT cbCatalogName,
1248
+ SQLCHAR FAR *szSchemaName,
1249
+ SQLSMALLINT cbSchemaName,
1250
+ SQLCHAR FAR *szTableName,
1251
+ SQLSMALLINT cbTableName,
1252
+ SQLUSMALLINT fScope,
1253
+ SQLUSMALLINT fNullable);
1254
+
1255
+ SQLRETURN SQL_API_FN SQLStatistics (SQLHSTMT hstmt,
1256
+ SQLCHAR FAR *szCatalogName,
1257
+ SQLSMALLINT cbCatalogName,
1258
+ SQLCHAR FAR *szSchemaName,
1259
+ SQLSMALLINT cbSchemaName,
1260
+ SQLCHAR FAR *szTableName,
1261
+ SQLSMALLINT cbTableName,
1262
+ SQLUSMALLINT fUnique,
1263
+
1264
+ SQLUSMALLINT fAccuracy);
1265
+
1266
+ SQLRETURN SQL_API_FN SQLTables (SQLHSTMT hstmt,
1267
+ SQLCHAR FAR *szCatalogName,
1268
+ SQLSMALLINT cbCatalogName,
1269
+ SQLCHAR FAR *szSchemaName,
1270
+ SQLSMALLINT cbSchemaName,
1271
+ SQLCHAR FAR *szTableName,
1272
+ SQLSMALLINT cbTableName,
1273
+ SQLCHAR FAR *szTableType,
1274
+ SQLSMALLINT cbTableType);
1275
+
1276
+ SQLRETURN SQL_API SQLNextResult (SQLHSTMT hstmtSource,
1277
+ SQLHSTMT hstmtTarget);
1278
+ /* UNICODE versions */
1279
+
1280
+ #ifdef ODBC64
1281
+ SQLRETURN SQL_API SQLColAttributeW(
1282
+ SQLHSTMT hstmt,
1283
+ SQLUSMALLINT iCol,
1284
+ SQLUSMALLINT iField,
1285
+ SQLPOINTER pCharAttr,
1286
+ SQLSMALLINT cbCharAttrMax,
1287
+ SQLSMALLINT *pcbCharAttr,
1288
+ SQLLEN *pNumAttr);
1289
+ #else
1290
+ SQLRETURN SQL_API SQLColAttributeW(
1291
+ SQLHSTMT hstmt,
1292
+ SQLUSMALLINT iCol,
1293
+ SQLUSMALLINT iField,
1294
+ SQLPOINTER pCharAttr,
1295
+ SQLSMALLINT cbCharAttrMax,
1296
+ SQLSMALLINT *pcbCharAttr,
1297
+ SQLPOINTER pNumAttr);
1298
+ #endif
1299
+
1300
+ SQLRETURN SQL_API SQLColAttributesW(
1301
+ SQLHSTMT hstmt,
1302
+ SQLUSMALLINT icol,
1303
+ SQLUSMALLINT fDescType,
1304
+ SQLPOINTER rgbDesc,
1305
+ SQLSMALLINT cbDescMax,
1306
+ SQLSMALLINT *pcbDesc,
1307
+ SQLLEN *pfDesc);
1308
+
1309
+ SQLRETURN SQL_API SQLConnectW(
1310
+ SQLHDBC hdbc,
1311
+ SQLWCHAR *szDSN,
1312
+ SQLSMALLINT cbDSN,
1313
+ SQLWCHAR *szUID,
1314
+ SQLSMALLINT cbUID,
1315
+ SQLWCHAR *szAuthStr,
1316
+ SQLSMALLINT cbAuthStr);
1317
+
1318
+ SQLRETURN SQL_API SQLConnectWInt(
1319
+ SQLHDBC hdbc,
1320
+ SQLWCHAR *szDSN,
1321
+ SQLSMALLINT cbDSN,
1322
+ SQLWCHAR *szUID,
1323
+ SQLSMALLINT cbUID,
1324
+ SQLWCHAR *szAuthStr,
1325
+ SQLSMALLINT cbAuthStr);
1326
+
1327
+
1328
+ SQLRETURN SQL_API SQLDescribeColW(
1329
+ SQLHSTMT hstmt,
1330
+ SQLUSMALLINT icol,
1331
+ SQLWCHAR *szColName,
1332
+ SQLSMALLINT cbColNameMax,
1333
+ SQLSMALLINT *pcbColName,
1334
+ SQLSMALLINT *pfSqlType,
1335
+ SQLULEN *pcbColDef,
1336
+ SQLSMALLINT *pibScale,
1337
+ SQLSMALLINT *pfNullable);
1338
+
1339
+
1340
+ SQLRETURN SQL_API SQLErrorW(
1341
+ SQLHENV henv,
1342
+ SQLHDBC hdbc,
1343
+ SQLHSTMT hstmt,
1344
+ SQLWCHAR *szSqlState,
1345
+ SQLINTEGER *pfNativeError,
1346
+ SQLWCHAR *szErrorMsg,
1347
+ SQLSMALLINT cbErrorMsgMax,
1348
+ SQLSMALLINT *pcbErrorMsg);
1349
+
1350
+ SQLRETURN SQL_API SQLExecDirectW(
1351
+ SQLHSTMT hstmt,
1352
+ SQLWCHAR *szSqlStr,
1353
+ SQLINTEGER cbSqlStr);
1354
+
1355
+ SQLRETURN SQL_API SQLGetConnectAttrW(
1356
+ SQLHDBC hdbc,
1357
+ SQLINTEGER fAttribute,
1358
+ SQLPOINTER rgbValue,
1359
+ SQLINTEGER cbValueMax,
1360
+ SQLINTEGER *pcbValue);
1361
+
1362
+ SQLRETURN SQL_API SQLGetCursorNameW(
1363
+ SQLHSTMT hstmt,
1364
+ SQLWCHAR *szCursor,
1365
+ SQLSMALLINT cbCursorMax,
1366
+ SQLSMALLINT *pcbCursor);
1367
+
1368
+ SQLRETURN SQL_API SQLSetDescFieldW(SQLHDESC DescriptorHandle,
1369
+ SQLSMALLINT RecNumber,
1370
+ SQLSMALLINT FieldIdentifier,
1371
+ SQLPOINTER Value,
1372
+ SQLINTEGER BufferLength);
1373
+
1374
+
1375
+
1376
+ SQLRETURN SQL_API SQLGetDescFieldW(
1377
+ SQLHDESC hdesc,
1378
+ SQLSMALLINT iRecord,
1379
+ SQLSMALLINT iField,
1380
+ SQLPOINTER rgbValue,
1381
+ SQLINTEGER cbValueMax,
1382
+ SQLINTEGER *pcbValue);
1383
+
1384
+ SQLRETURN SQL_API SQLGetDescRecW(
1385
+ SQLHDESC hdesc,
1386
+ SQLSMALLINT iRecord,
1387
+ SQLWCHAR *szName,
1388
+ SQLSMALLINT cbNameMax,
1389
+ SQLSMALLINT *pcbName,
1390
+ SQLSMALLINT *pfType,
1391
+ SQLSMALLINT *pfSubType,
1392
+ SQLLEN *pLength,
1393
+ SQLSMALLINT *pPrecision,
1394
+ SQLSMALLINT *pScale,
1395
+ SQLSMALLINT *pNullable);
1396
+
1397
+ SQLRETURN SQL_API SQLGetDiagFieldW(
1398
+ SQLSMALLINT fHandleType,
1399
+ SQLHANDLE handle,
1400
+ SQLSMALLINT iRecord,
1401
+ SQLSMALLINT fDiagField,
1402
+ SQLPOINTER rgbDiagInfo,
1403
+ SQLSMALLINT cbDiagInfoMax,
1404
+ SQLSMALLINT *pcbDiagInfo);
1405
+
1406
+ SQLRETURN SQL_API SQLGetDiagRecW(
1407
+ SQLSMALLINT fHandleType,
1408
+ SQLHANDLE handle,
1409
+ SQLSMALLINT iRecord,
1410
+ SQLWCHAR *szSqlState,
1411
+ SQLINTEGER *pfNativeError,
1412
+ SQLWCHAR *szErrorMsg,
1413
+ SQLSMALLINT cbErrorMsgMax,
1414
+ SQLSMALLINT *pcbErrorMsg);
1415
+
1416
+ SQLRETURN SQL_API_FN SQLGetEnvAttrW(
1417
+ SQLHENV hEnv,
1418
+ SQLINTEGER fAttribute,
1419
+ SQLPOINTER pParam,
1420
+ SQLINTEGER cbParamMax,
1421
+ SQLINTEGER * pcbParam );
1422
+
1423
+ SQLRETURN SQL_API SQLPrepareW(
1424
+ SQLHSTMT hstmt,
1425
+ SQLWCHAR *szSqlStr,
1426
+ SQLINTEGER cbSqlStr);
1427
+
1428
+ SQLRETURN SQL_API_FN SQLExtendedPrepareW( SQLHSTMT hStmt,
1429
+ SQLWCHAR * pszSqlStrIn,
1430
+ SQLINTEGER cbSqlStr,
1431
+ SQLINTEGER cPars,
1432
+ SQLSMALLINT sStmtType,
1433
+ SQLINTEGER cStmtAttrs,
1434
+ SQLINTEGER * piStmtAttr,
1435
+ SQLINTEGER * pvParams );
1436
+
1437
+ SQLRETURN SQL_API SQLSetConnectAttrW(
1438
+ SQLHDBC hdbc,
1439
+ SQLINTEGER fAttribute,
1440
+ SQLPOINTER rgbValue,
1441
+ SQLINTEGER cbValue);
1442
+
1443
+ SQLRETURN SQL_API SQLSetCursorNameW(
1444
+ SQLHSTMT hstmt,
1445
+ SQLWCHAR *szCursor,
1446
+ SQLSMALLINT cbCursor);
1447
+
1448
+ SQLRETURN SQL_API_FN SQLSetEnvAttrW(
1449
+ SQLHENV hEnv,
1450
+ SQLINTEGER fAttribute,
1451
+ SQLPOINTER pParam,
1452
+ SQLINTEGER cbParam );
1453
+
1454
+ SQLRETURN SQL_API SQLColumnsW(
1455
+ SQLHSTMT hstmt,
1456
+ SQLWCHAR *szCatalogName,
1457
+ SQLSMALLINT cbCatalogName,
1458
+ SQLWCHAR *szSchemaName,
1459
+ SQLSMALLINT cbSchemaName,
1460
+ SQLWCHAR *szTableName,
1461
+ SQLSMALLINT cbTableName,
1462
+ SQLWCHAR *szColumnName,
1463
+ SQLSMALLINT cbColumnName);
1464
+
1465
+ SQLRETURN SQL_API SQLGetInfoW(
1466
+ SQLHDBC hdbc,
1467
+ SQLUSMALLINT fInfoType,
1468
+ SQLPOINTER rgbInfoValue,
1469
+ SQLSMALLINT cbInfoValueMax,
1470
+ SQLSMALLINT *pcbInfoValue);
1471
+
1472
+ SQLRETURN SQL_API_FN SQLGetConnectOptionW(
1473
+ SQLHDBC hDbc,
1474
+ SQLUSMALLINT fOptionIn,
1475
+ SQLPOINTER pvParam );
1476
+
1477
+ SQLRETURN SQL_API_FN SQLSetConnectOptionW(
1478
+ SQLHDBC hDbc,
1479
+ SQLUSMALLINT fOptionIn,
1480
+ SQLULEN vParam );
1481
+
1482
+ SQLRETURN SQL_API_FN SQLGetTypeInfoW(
1483
+ SQLHSTMT hstmt,
1484
+ SQLSMALLINT fSqlType);
1485
+
1486
+ SQLRETURN SQL_API SQLSpecialColumnsW(
1487
+ SQLHSTMT hstmt,
1488
+ SQLUSMALLINT fColType,
1489
+ SQLWCHAR *szCatalogName,
1490
+ SQLSMALLINT cbCatalogName,
1491
+ SQLWCHAR *szSchemaName,
1492
+ SQLSMALLINT cbSchemaName,
1493
+ SQLWCHAR *szTableName,
1494
+ SQLSMALLINT cbTableName,
1495
+ SQLUSMALLINT fScope,
1496
+ SQLUSMALLINT fNullable);
1497
+
1498
+ SQLRETURN SQL_API SQLStatisticsW(
1499
+ SQLHSTMT hstmt,
1500
+ SQLWCHAR *szCatalogName,
1501
+ SQLSMALLINT cbCatalogName,
1502
+ SQLWCHAR *szSchemaName,
1503
+ SQLSMALLINT cbSchemaName,
1504
+ SQLWCHAR *szTableName,
1505
+ SQLSMALLINT cbTableName,
1506
+ SQLUSMALLINT fUnique,
1507
+ SQLUSMALLINT fAccuracy);
1508
+
1509
+ SQLRETURN SQL_API SQLTablesW(
1510
+ SQLHSTMT hstmt,
1511
+ SQLWCHAR *szCatalogName,
1512
+ SQLSMALLINT cbCatalogName,
1513
+ SQLWCHAR *szSchemaName,
1514
+ SQLSMALLINT cbSchemaName,
1515
+ SQLWCHAR *szTableName,
1516
+ SQLSMALLINT cbTableName,
1517
+ SQLWCHAR *szTableType,
1518
+ SQLSMALLINT cbTableType);
1519
+
1520
+
1521
+
1522
+ SQLRETURN SQL_API SQLDataSourcesW(
1523
+ SQLHENV henv,
1524
+ SQLUSMALLINT fDirection,
1525
+ SQLWCHAR *szDSN,
1526
+ SQLSMALLINT cbDSNMax,
1527
+ SQLSMALLINT *pcbDSN,
1528
+ SQLWCHAR *szDescription,
1529
+ SQLSMALLINT cbDescriptionMax,
1530
+ SQLSMALLINT *pcbDescription);
1531
+
1532
+
1533
+
1534
+
1535
+ SQLRETURN SQL_API SQLDriverConnectW(
1536
+ SQLHDBC hdbc,
1537
+ SQLHWND hwnd,
1538
+ SQLWCHAR *szConnStrIn,
1539
+ SQLSMALLINT cbConnStrIn,
1540
+ SQLWCHAR *szConnStrOut,
1541
+ SQLSMALLINT cbConnStrOutMax,
1542
+ SQLSMALLINT *pcbConnStrOut,
1543
+ SQLUSMALLINT fDriverCompletion);
1544
+
1545
+
1546
+ SQLRETURN SQL_API SQLBrowseConnectW(
1547
+ SQLHDBC hdbc,
1548
+ SQLWCHAR *szConnStrIn,
1549
+ SQLSMALLINT cbConnStrIn,
1550
+ SQLWCHAR *szConnStrOut,
1551
+ SQLSMALLINT cbConnStrOutMax,
1552
+ SQLSMALLINT *pcbConnStrOut);
1553
+
1554
+ SQLRETURN SQL_API SQLColumnPrivilegesW(
1555
+ SQLHSTMT hstmt,
1556
+ SQLWCHAR *szCatalogName,
1557
+ SQLSMALLINT cbCatalogName,
1558
+ SQLWCHAR *szSchemaName,
1559
+ SQLSMALLINT cbSchemaName,
1560
+ SQLWCHAR *szTableName,
1561
+ SQLSMALLINT cbTableName,
1562
+ SQLWCHAR *szColumnName,
1563
+ SQLSMALLINT cbColumnName);
1564
+
1565
+ SQLRETURN SQL_API SQLGetStmtAttrW(
1566
+ SQLHSTMT hstmt,
1567
+ SQLINTEGER fAttribute,
1568
+ SQLPOINTER rgbValue,
1569
+ SQLINTEGER cbValueMax,
1570
+ SQLINTEGER *pcbValue);
1571
+
1572
+ SQLRETURN SQL_API SQLSetStmtAttrW(
1573
+ SQLHSTMT hstmt,
1574
+ SQLINTEGER fAttribute,
1575
+ SQLPOINTER rgbValue,
1576
+ SQLINTEGER cbValueMax);
1577
+
1578
+ SQLRETURN SQL_API SQLForeignKeysW(
1579
+ SQLHSTMT hstmt,
1580
+ SQLWCHAR *szPkCatalogName,
1581
+ SQLSMALLINT cbPkCatalogName,
1582
+ SQLWCHAR *szPkSchemaName,
1583
+ SQLSMALLINT cbPkSchemaName,
1584
+ SQLWCHAR *szPkTableName,
1585
+ SQLSMALLINT cbPkTableName,
1586
+ SQLWCHAR *szFkCatalogName,
1587
+ SQLSMALLINT cbFkCatalogName,
1588
+ SQLWCHAR *szFkSchemaName,
1589
+ SQLSMALLINT cbFkSchemaName,
1590
+ SQLWCHAR *szFkTableName,
1591
+ SQLSMALLINT cbFkTableName);
1592
+
1593
+
1594
+ SQLRETURN SQL_API SQLNativeSqlW(
1595
+ SQLHDBC hdbc,
1596
+ SQLWCHAR *szSqlStrIn,
1597
+ SQLINTEGER cbSqlStrIn,
1598
+ SQLWCHAR *szSqlStr,
1599
+ SQLINTEGER cbSqlStrMax,
1600
+ SQLINTEGER *pcbSqlStr);
1601
+
1602
+
1603
+ SQLRETURN SQL_API SQLPrimaryKeysW(
1604
+ SQLHSTMT hstmt,
1605
+ SQLWCHAR *szCatalogName,
1606
+ SQLSMALLINT cbCatalogName,
1607
+ SQLWCHAR *szSchemaName,
1608
+ SQLSMALLINT cbSchemaName,
1609
+ SQLWCHAR *szTableName,
1610
+ SQLSMALLINT cbTableName);
1611
+
1612
+ SQLRETURN SQL_API SQLProcedureColumnsW(
1613
+ SQLHSTMT hstmt,
1614
+ SQLWCHAR *szCatalogName,
1615
+ SQLSMALLINT cbCatalogName,
1616
+ SQLWCHAR *szSchemaName,
1617
+ SQLSMALLINT cbSchemaName,
1618
+ SQLWCHAR *szProcName,
1619
+ SQLSMALLINT cbProcName,
1620
+ SQLWCHAR *szColumnName,
1621
+ SQLSMALLINT cbColumnName);
1622
+
1623
+ SQLRETURN SQL_API SQLProceduresW(
1624
+ SQLHSTMT hstmt,
1625
+ SQLWCHAR *szCatalogName,
1626
+ SQLSMALLINT cbCatalogName,
1627
+ SQLWCHAR *szSchemaName,
1628
+ SQLSMALLINT cbSchemaName,
1629
+ SQLWCHAR *szProcName,
1630
+ SQLSMALLINT cbProcName);
1631
+
1632
+ SQLRETURN SQL_API SQLExtendedProcedureColumnsW(
1633
+ SQLHSTMT hstmt,
1634
+ SQLWCHAR *szCatalogName,
1635
+ SQLSMALLINT cbCatalogName,
1636
+ SQLWCHAR *szSchemaName,
1637
+ SQLSMALLINT cbSchemaName,
1638
+ SQLWCHAR *szProcName,
1639
+ SQLSMALLINT cbProcName,
1640
+ SQLWCHAR *szColumnName,
1641
+ SQLSMALLINT cbColumnName,
1642
+ SQLWCHAR *szModuleName,
1643
+ SQLSMALLINT cbModuleName );
1644
+
1645
+ SQLRETURN SQL_API SQLExtendedProceduresW(
1646
+ SQLHSTMT hstmt,
1647
+ SQLWCHAR *szCatalogName,
1648
+ SQLSMALLINT cbCatalogName,
1649
+ SQLWCHAR *szSchemaName,
1650
+ SQLSMALLINT cbSchemaName,
1651
+ SQLWCHAR *szProcName,
1652
+ SQLSMALLINT cbProcName,
1653
+ SQLWCHAR *szModuleName,
1654
+ SQLSMALLINT cbModuleName);
1655
+
1656
+ SQLRETURN SQL_API SQLTablePrivilegesW(
1657
+ SQLHSTMT hstmt,
1658
+ SQLWCHAR *szCatalogName,
1659
+ SQLSMALLINT cbCatalogName,
1660
+ SQLWCHAR *szSchemaName,
1661
+ SQLSMALLINT cbSchemaName,
1662
+ SQLWCHAR *szTableName,
1663
+ SQLSMALLINT cbTableName);
1664
+
1665
+ SQLRETURN SQL_API SQLCreateDbW(
1666
+ SQLHDBC hDbc,
1667
+ SQLWCHAR * pszDBW,
1668
+ SQLINTEGER cbDB,
1669
+ SQLWCHAR * pszCodeSetW,
1670
+ SQLINTEGER cbCodeSet,
1671
+ SQLWCHAR * pszModeW,
1672
+ SQLINTEGER cbMode );
1673
+
1674
+ SQLRETURN SQL_API SQLDropDbW(
1675
+ SQLHDBC hDbc,
1676
+ SQLWCHAR * pszDBW,
1677
+ SQLINTEGER cbDB);
1678
+
1679
+ SQLRETURN SQL_API_FN SQLCreatePkgW(
1680
+ SQLHDBC hDbc,
1681
+ SQLWCHAR * szBindFileNameIn,
1682
+ SQLINTEGER cbBindFileNameIn,
1683
+ SQLWCHAR * szBindOpts,
1684
+ SQLINTEGER cbBindOpts);
1685
+
1686
+ SQLRETURN SQL_API_FN SQLDropPkgW(
1687
+ SQLHDBC hDbc,
1688
+ SQLWCHAR * szCollection,
1689
+ SQLINTEGER cbCollection,
1690
+ SQLWCHAR * szPackage,
1691
+ SQLINTEGER cbPackage);
1692
+
1693
+ /*
1694
+ * DB2 specific CLI APIs
1695
+ */
1696
+
1697
+ SQLRETURN SQL_API_FN SQLBindFileToCol (SQLHSTMT hstmt,
1698
+ SQLUSMALLINT icol,
1699
+ SQLCHAR FAR *FileName,
1700
+ SQLSMALLINT FAR *FileNameLength,
1701
+ SQLUINTEGER FAR *FileOptions,
1702
+ SQLSMALLINT MaxFileNameLength,
1703
+ SQLINTEGER FAR *StringLength,
1704
+ SQLINTEGER FAR *IndicatorValue);
1705
+
1706
+ SQLRETURN SQL_API_FN SQLBindFileToParam(SQLHSTMT hstmt,
1707
+ SQLUSMALLINT ipar,
1708
+ SQLSMALLINT fSqlType,
1709
+ SQLCHAR FAR *FileName,
1710
+ SQLSMALLINT FAR *FileNameLength,
1711
+ SQLUINTEGER FAR *FileOptions,
1712
+ SQLSMALLINT MaxFileNameLength,
1713
+ SQLINTEGER FAR *IndicatorValue);
1714
+
1715
+ SQLRETURN SQL_API_FN SQLGetLength (SQLHSTMT hstmt,
1716
+ SQLSMALLINT LocatorCType,
1717
+ SQLINTEGER Locator,
1718
+ SQLINTEGER FAR *StringLength,
1719
+ SQLINTEGER FAR *IndicatorValue);
1720
+
1721
+ SQLRETURN SQL_API_FN SQLGetPosition (SQLHSTMT hstmt,
1722
+ SQLSMALLINT LocatorCType,
1723
+ SQLINTEGER SourceLocator,
1724
+ SQLINTEGER SearchLocator,
1725
+ SQLCHAR FAR *SearchLiteral,
1726
+ SQLINTEGER SearchLiteralLength,
1727
+ SQLUINTEGER FromPosition,
1728
+ SQLUINTEGER FAR *LocatedAt,
1729
+ SQLINTEGER FAR *IndicatorValue);
1730
+
1731
+
1732
+ SQLRETURN SQL_API_FN SQLGetSQLCA (SQLHENV henv,
1733
+ SQLHDBC hdbc,
1734
+ SQLHSTMT hstmt,
1735
+ struct sqlca FAR *pSqlca );
1736
+
1737
+ SQLRETURN SQL_API_FN SQLGetSubString (SQLHSTMT hstmt,
1738
+ SQLSMALLINT LocatorCType,
1739
+ SQLINTEGER SourceLocator,
1740
+ SQLUINTEGER FromPosition,
1741
+ SQLUINTEGER ForLength,
1742
+ SQLSMALLINT TargetCType,
1743
+ SQLPOINTER rgbValue,
1744
+ SQLINTEGER cbValueMax,
1745
+ SQLINTEGER FAR *StringLength,
1746
+ SQLINTEGER FAR *IndicatorValue);
1747
+
1748
+ SQLRETURN SQL_API_FN SQLSetColAttributes (SQLHSTMT hstmt,
1749
+ SQLUSMALLINT icol,
1750
+ SQLCHAR FAR *pszColName,
1751
+ SQLSMALLINT cbColName,
1752
+ SQLSMALLINT fSQLType,
1753
+ SQLUINTEGER cbColDef,
1754
+ SQLSMALLINT ibScale,
1755
+ SQLSMALLINT fNullable);
1756
+
1757
+ SQLRETURN SQL_API_FN SQLExtendedProcedures(
1758
+ SQLHSTMT hstmt,
1759
+ SQLCHAR *szCatalogName,
1760
+ SQLSMALLINT cbCatalogName,
1761
+ SQLCHAR *szSchemaName,
1762
+ SQLSMALLINT cbSchemaName,
1763
+ SQLCHAR *szProcName,
1764
+ SQLSMALLINT cbProcName,
1765
+ SQLCHAR *szModuleName,
1766
+ SQLSMALLINT cbModuleName);
1767
+
1768
+ SQLRETURN SQL_API SQLExtendedProcedureColumns(
1769
+ SQLHSTMT hstmt,
1770
+ SQLCHAR *szCatalogName,
1771
+ SQLSMALLINT cbCatalogName,
1772
+ SQLCHAR *szSchemaName,
1773
+ SQLSMALLINT cbSchemaName,
1774
+ SQLCHAR *szProcName,
1775
+ SQLSMALLINT cbProcName,
1776
+ SQLCHAR *szColumnName,
1777
+ SQLSMALLINT cbColumnName,
1778
+ SQLCHAR *szModuleName,
1779
+ SQLSMALLINT cbModuleName );
1780
+
1781
+ SQLRETURN SQL_API_FN SQLReloadConfig (SQLINTEGER config_property,
1782
+ SQLCHAR *DiagInfoString,
1783
+ SQLSMALLINT BufferLength,
1784
+ SQLSMALLINT *StringLengthPtr );
1785
+
1786
+ SQLRETURN SQL_API_FN SQLReloadConfigW (SQLINTEGER config_property,
1787
+ SQLWCHAR *DiagInfoString,
1788
+ SQLSMALLINT BufferLength,
1789
+ SQLSMALLINT *StringLengthPtr );
1790
+
1791
+ SQLRETURN SQL_API_FN SQLGetPositionW(SQLHSTMT hStmt,
1792
+ SQLSMALLINT fCType,
1793
+ SQLINTEGER iLocatorIn,
1794
+ SQLINTEGER iPatternLocator,
1795
+ SQLWCHAR * pszPatternLiteral,
1796
+ SQLINTEGER cbPatternLiteral,
1797
+ SQLUINTEGER iStartSearchAtIn,
1798
+ SQLUINTEGER * piLocatedAtIn,
1799
+ SQLINTEGER * piIndicatorValue);
1800
+
1801
+ /*
1802
+ * Set active connection API, for use in conjunction with embedded
1803
+ * SQL programming only.
1804
+ */
1805
+ SQLRETURN SQL_API_FN SQLSetConnection (SQLHDBC hdbc);
1806
+
1807
+ /*
1808
+ * APIs defined only by X/Open CLI
1809
+ */
1810
+
1811
+ SQLRETURN SQL_API_FN SQLGetEnvAttr (SQLHENV henv,
1812
+ SQLINTEGER Attribute,
1813
+ SQLPOINTER Value,
1814
+ SQLINTEGER BufferLength,
1815
+ SQLINTEGER FAR *StringLength);
1816
+
1817
+ SQLRETURN SQL_API_FN SQLSetEnvAttr (SQLHENV henv,
1818
+ SQLINTEGER Attribute,
1819
+ SQLPOINTER Value,
1820
+ SQLINTEGER StringLength);
1821
+
1822
+ SQLRETURN SQL_API_FN SQLBindParam( SQLHSTMT StatementHandle,
1823
+ SQLUSMALLINT ParameterNumber,
1824
+ SQLSMALLINT ValueType,
1825
+ SQLSMALLINT ParameterType,
1826
+ SQLULEN LengthPrecision,
1827
+ SQLSMALLINT ParameterScale,
1828
+ SQLPOINTER ParameterValue,
1829
+ SQLLEN *StrLen_or_Ind);
1830
+
1831
+ /*
1832
+ * Data link functions.
1833
+ */
1834
+
1835
+ SQLRETURN SQL_API_FN SQLBuildDataLink( SQLHSTMT hStmt,
1836
+ SQLCHAR FAR * pszLinkType,
1837
+ SQLINTEGER cbLinkType,
1838
+ SQLCHAR FAR * pszDataLocation,
1839
+ SQLINTEGER cbDataLocation,
1840
+ SQLCHAR FAR * pszComment,
1841
+ SQLINTEGER cbComment,
1842
+ SQLCHAR FAR * pDataLink,
1843
+ SQLINTEGER cbDataLinkMax,
1844
+ SQLINTEGER FAR * pcbDataLink );
1845
+
1846
+ SQLRETURN SQL_API_FN SQLGetDataLinkAttr( SQLHSTMT hStmt,
1847
+ SQLSMALLINT fAttrType,
1848
+ SQLCHAR FAR * pDataLink,
1849
+ SQLINTEGER cbDataLink,
1850
+ SQLPOINTER pAttribute,
1851
+ SQLINTEGER cbAttributeMax,
1852
+ SQLINTEGER * pcbAttribute );
1853
+
1854
+ /*
1855
+ * DB2 CLI APIs
1856
+ */
1857
+
1858
+ SQLRETURN SQL_API_FN SQLExtendedPrepare( SQLHSTMT hstmt,
1859
+ SQLCHAR * pszSqlStmt,
1860
+ SQLINTEGER cbSqlStmt,
1861
+ SQLINTEGER cPars,
1862
+ SQLSMALLINT sStmtType,
1863
+ SQLINTEGER cStmtAttrs,
1864
+ SQLINTEGER * piStmtAttr,
1865
+ SQLINTEGER * pvParams );
1866
+
1867
+ SQLRETURN SQL_API_FN SQLExtendedBind (SQLHSTMT hstmt,
1868
+ SQLSMALLINT fBindCol,
1869
+ SQLSMALLINT cRecords,
1870
+ SQLSMALLINT * pfCType,
1871
+ SQLPOINTER * rgbValue,
1872
+ SQLINTEGER * cbValueMax,
1873
+ SQLUINTEGER * puiPrecisionCType,
1874
+ SQLSMALLINT * psScaleCType,
1875
+ SQLINTEGER ** pcbValue,
1876
+ SQLINTEGER ** piIndicatorPtr,
1877
+ SQLSMALLINT * pfParamType,
1878
+ SQLSMALLINT * pfSQLType,
1879
+ SQLUINTEGER * pcbColDef,
1880
+ SQLSMALLINT * pibScale );
1881
+
1882
+ SQLRETURN SQL_API_FN SQLExtendedDescribe( SQLHANDLE hStmt,
1883
+ SQLSMALLINT fDescribeCol,
1884
+ SQLUSMALLINT iNumRecordsAllocated,
1885
+ SQLUSMALLINT *pusNumRecords,
1886
+ SQLCHAR *pNames,
1887
+ SQLSMALLINT sNameMaxByteLen,
1888
+ SQLSMALLINT *psNameCharLen,
1889
+ SQLSMALLINT *psSQLType,
1890
+ SQLULEN *pcbColDef,
1891
+ SQLULEN *pcbDisplaySize,
1892
+ SQLSMALLINT *psScale,
1893
+ SQLSMALLINT *psNullable,
1894
+ SQLSMALLINT *psParamType,
1895
+ SQLLEN *piCardinality );
1896
+
1897
+ SQLRETURN SQL_API_FN SQLDropPkg ( SQLHDBC hDbc,
1898
+ SQLCHAR *szCollection,
1899
+ SQLINTEGER cbCollection,
1900
+ SQLCHAR *szPackage,
1901
+ SQLINTEGER cbPackage);
1902
+
1903
+
1904
+ #ifdef __cplusplus
1905
+ }
1906
+ #endif
1907
+
1908
+ #define SQL_C_WCHAR SQL_WCHAR
1909
+ #ifdef UNICODE
1910
+ #define SQL_C_TCHAR SQL_C_WCHAR
1911
+ #else
1912
+ #define SQL_C_TCHAR SQL_C_CHAR
1913
+ #endif
1914
+
1915
+ #define SQLConnectWInt SQLConnectW
1916
+
1917
+ #ifdef UNICODE
1918
+ #define SQLColAttribute SQLColAttributeW
1919
+ #define SQLColAttributes SQLColAttributesW
1920
+ #define SQLConnect SQLConnectW
1921
+ #define SQLDescribeCol SQLDescribeColW
1922
+ #define SQLError SQLErrorW
1923
+ #define SQLExecDirect SQLExecDirectW
1924
+ #define SQLGetConnectAttr SQLGetConnectAttrW
1925
+ #define SQLGetCursorName SQLGetCursorNameW
1926
+ #define SQLGetDescField SQLGetDescFieldW
1927
+ #define SQLGetDescRec SQLGetDescRecW
1928
+ #define SQLGetDiagField SQLGetDiagFieldW
1929
+ #define SQLGetDiagRec SQLGetDiagRecW
1930
+ #define SQLGetEnvAttr SQLGetEnvAttrW
1931
+ #define SQLPrepare SQLPrepareW
1932
+ #define SQLSetConnectAttr SQLSetConnectAttrW
1933
+ #define SQLSetCursorName SQLSetCursorNameW
1934
+ #define SQLSetDescField SQLSetDescFieldW
1935
+ #define SQLSetEnvAttr SQLSetEnvAttrW
1936
+ #define SQLSetStmtAttr SQLSetStmtAttrW
1937
+ #define SQLGetStmtAttr SQLGetStmtAttrW
1938
+ #define SQLColumns SQLColumnsW
1939
+ #define SQLGetInfo SQLGetInfoW
1940
+ #define SQLSpecialColumns SQLSpecialColumnsW
1941
+ #define SQLStatistics SQLStatisticsW
1942
+ #define SQLTables SQLTablesW
1943
+ #define SQLDataSources SQLDataSourcesW
1944
+ #define SQLDriverConnect SQLDriverConnectW
1945
+ #define SQLBrowseConnect SQLBrowseConnectW
1946
+ #define SQLColumnPrivileges SQLColumnPrivilegesW
1947
+ #define SQLForeignKeys SQLForeignKeysW
1948
+ #define SQLNativeSql SQLNativeSqlW
1949
+ #define SQLPrimaryKeys SQLPrimaryKeysW
1950
+ #define SQLProcedureColumns SQLProcedureColumnsW
1951
+ #define SQLProcedures SQLProceduresW
1952
+ #define SQLTablePrivileges SQLTablePrivilegesW
1953
+ #define SQLExtendedProcedures SQLExtendedProceduresW
1954
+ #define SQLExtendedProcedureColumns SQLExtendedProcedureColumnsW
1955
+
1956
+ #endif /* UNICODE */
1957
+
1958
+ #ifdef DB2_WINSOCKAPI_
1959
+ #undef _WINSOCKAPI_
1960
+ #undef DB2_WINSOCKAPI_
1961
+ #endif
1962
+
1963
+ #endif /* SQL_H_SQLCLI1 */