ibm_db 4.0.0-x86-mingw32 → 5.1.0-x86-mingw32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (576) hide show
  1. checksums.yaml +5 -5
  2. data/MANIFEST +14 -14
  3. data/README +208 -208
  4. data/ext/Makefile +269 -0
  5. data/ext/Makefile.nt32 +181 -181
  6. data/ext/Makefile.nt32.191 +212 -212
  7. data/ext/extconf.rb +322 -291
  8. data/ext/gil_release_version.h +3 -0
  9. data/ext/ibm_db-i386-mingw32.def +2 -0
  10. data/ext/ibm_db.c +11879 -11887
  11. data/ext/ibm_db.o +0 -0
  12. data/ext/ibm_db.so +0 -0
  13. data/ext/mkmf.log +110 -0
  14. data/ext/ruby_ibm_db.h +241 -241
  15. data/ext/ruby_ibm_db_cli.c +866 -866
  16. data/ext/ruby_ibm_db_cli.h +500 -500
  17. data/ext/ruby_ibm_db_cli.o +0 -0
  18. data/ext/unicode_support_version.h +3 -0
  19. data/init.rb +41 -41
  20. data/lib/IBM_DB.rb +27 -27
  21. data/lib/active_record/connection_adapters/ibm_db_adapter.rb +3593 -3452
  22. data/lib/active_record/connection_adapters/ibmdb_adapter.rb +5 -5
  23. data/lib/active_record/vendor/db2-i5-zOS.yaml +328 -328
  24. data/lib/mswin32/ibm_db.rb +94 -90
  25. data/lib/mswin32/rb2x/i386/ruby26/ibm_db.so +0 -0
  26. data/lib/mswin32/rb2x/i386/ruby27/ibm_db.so +0 -0
  27. data/test/active_record/connection_adapters/fake_adapter.rb +49 -49
  28. data/test/assets/example.log +1 -1
  29. data/test/assets/test.txt +1 -1
  30. data/test/cases/adapter_test.rb +351 -351
  31. data/test/cases/adapters/mysql2/active_schema_test.rb +193 -193
  32. data/test/cases/adapters/mysql2/bind_parameter_test.rb +50 -50
  33. data/test/cases/adapters/mysql2/boolean_test.rb +100 -100
  34. data/test/cases/adapters/mysql2/case_sensitivity_test.rb +63 -63
  35. data/test/cases/adapters/mysql2/charset_collation_test.rb +54 -54
  36. data/test/cases/adapters/mysql2/connection_test.rb +210 -210
  37. data/test/cases/adapters/mysql2/datetime_precision_quoting_test.rb +45 -45
  38. data/test/cases/adapters/mysql2/enum_test.rb +26 -26
  39. data/test/cases/adapters/mysql2/explain_test.rb +21 -21
  40. data/test/cases/adapters/mysql2/json_test.rb +195 -195
  41. data/test/cases/adapters/mysql2/mysql2_adapter_test.rb +83 -83
  42. data/test/cases/adapters/mysql2/reserved_word_test.rb +152 -152
  43. data/test/cases/adapters/mysql2/schema_migrations_test.rb +59 -59
  44. data/test/cases/adapters/mysql2/schema_test.rb +126 -126
  45. data/test/cases/adapters/mysql2/sp_test.rb +36 -36
  46. data/test/cases/adapters/mysql2/sql_types_test.rb +14 -14
  47. data/test/cases/adapters/mysql2/table_options_test.rb +42 -42
  48. data/test/cases/adapters/mysql2/unsigned_type_test.rb +66 -66
  49. data/test/cases/adapters/postgresql/active_schema_test.rb +98 -98
  50. data/test/cases/adapters/postgresql/array_test.rb +339 -339
  51. data/test/cases/adapters/postgresql/bit_string_test.rb +82 -82
  52. data/test/cases/adapters/postgresql/bytea_test.rb +134 -134
  53. data/test/cases/adapters/postgresql/case_insensitive_test.rb +26 -26
  54. data/test/cases/adapters/postgresql/change_schema_test.rb +38 -38
  55. data/test/cases/adapters/postgresql/cidr_test.rb +25 -25
  56. data/test/cases/adapters/postgresql/citext_test.rb +78 -78
  57. data/test/cases/adapters/postgresql/collation_test.rb +53 -53
  58. data/test/cases/adapters/postgresql/composite_test.rb +132 -132
  59. data/test/cases/adapters/postgresql/connection_test.rb +257 -257
  60. data/test/cases/adapters/postgresql/datatype_test.rb +92 -92
  61. data/test/cases/adapters/postgresql/domain_test.rb +47 -47
  62. data/test/cases/adapters/postgresql/enum_test.rb +91 -91
  63. data/test/cases/adapters/postgresql/explain_test.rb +20 -20
  64. data/test/cases/adapters/postgresql/extension_migration_test.rb +63 -63
  65. data/test/cases/adapters/postgresql/full_text_test.rb +44 -44
  66. data/test/cases/adapters/postgresql/geometric_test.rb +378 -378
  67. data/test/cases/adapters/postgresql/hstore_test.rb +382 -382
  68. data/test/cases/adapters/postgresql/infinity_test.rb +69 -69
  69. data/test/cases/adapters/postgresql/integer_test.rb +25 -25
  70. data/test/cases/adapters/postgresql/json_test.rb +237 -237
  71. data/test/cases/adapters/postgresql/ltree_test.rb +53 -53
  72. data/test/cases/adapters/postgresql/money_test.rb +96 -96
  73. data/test/cases/adapters/postgresql/network_test.rb +94 -94
  74. data/test/cases/adapters/postgresql/numbers_test.rb +49 -49
  75. data/test/cases/adapters/postgresql/postgresql_adapter_test.rb +405 -405
  76. data/test/cases/adapters/postgresql/prepared_statements_test.rb +22 -22
  77. data/test/cases/adapters/postgresql/quoting_test.rb +44 -44
  78. data/test/cases/adapters/postgresql/range_test.rb +343 -343
  79. data/test/cases/adapters/postgresql/referential_integrity_test.rb +111 -111
  80. data/test/cases/adapters/postgresql/rename_table_test.rb +34 -34
  81. data/test/cases/adapters/postgresql/schema_authorization_test.rb +119 -119
  82. data/test/cases/adapters/postgresql/schema_test.rb +597 -597
  83. data/test/cases/adapters/postgresql/serial_test.rb +154 -154
  84. data/test/cases/adapters/postgresql/statement_pool_test.rb +41 -41
  85. data/test/cases/adapters/postgresql/timestamp_test.rb +90 -90
  86. data/test/cases/adapters/postgresql/type_lookup_test.rb +33 -33
  87. data/test/cases/adapters/postgresql/utils_test.rb +62 -62
  88. data/test/cases/adapters/postgresql/uuid_test.rb +294 -294
  89. data/test/cases/adapters/postgresql/xml_test.rb +54 -54
  90. data/test/cases/adapters/sqlite3/collation_test.rb +53 -53
  91. data/test/cases/adapters/sqlite3/copy_table_test.rb +98 -98
  92. data/test/cases/adapters/sqlite3/explain_test.rb +21 -21
  93. data/test/cases/adapters/sqlite3/quoting_test.rb +101 -101
  94. data/test/cases/adapters/sqlite3/sqlite3_adapter_test.rb +441 -441
  95. data/test/cases/adapters/sqlite3/sqlite3_create_folder_test.rb +24 -24
  96. data/test/cases/adapters/sqlite3/statement_pool_test.rb +20 -20
  97. data/test/cases/aggregations_test.rb +168 -168
  98. data/test/cases/ar_schema_test.rb +146 -146
  99. data/test/cases/associations/association_scope_test.rb +16 -16
  100. data/test/cases/associations/belongs_to_associations_test.rb +1141 -1141
  101. data/test/cases/associations/bidirectional_destroy_dependencies_test.rb +41 -41
  102. data/test/cases/associations/callbacks_test.rb +190 -190
  103. data/test/cases/associations/cascaded_eager_loading_test.rb +188 -188
  104. data/test/cases/associations/eager_load_includes_full_sti_class_test.rb +36 -36
  105. data/test/cases/associations/eager_load_nested_include_test.rb +126 -126
  106. data/test/cases/associations/eager_singularization_test.rb +148 -148
  107. data/test/cases/associations/eager_test.rb +1514 -1514
  108. data/test/cases/associations/extension_test.rb +87 -87
  109. data/test/cases/associations/has_and_belongs_to_many_associations_test.rb +1004 -1004
  110. data/test/cases/associations/has_many_associations_test.rb +2501 -2501
  111. data/test/cases/associations/has_many_through_associations_test.rb +1271 -1271
  112. data/test/cases/associations/has_one_associations_test.rb +707 -707
  113. data/test/cases/associations/has_one_through_associations_test.rb +383 -383
  114. data/test/cases/associations/inner_join_association_test.rb +139 -139
  115. data/test/cases/associations/inverse_associations_test.rb +733 -733
  116. data/test/cases/associations/join_model_test.rb +777 -777
  117. data/test/cases/associations/left_outer_join_association_test.rb +88 -88
  118. data/test/cases/associations/nested_through_associations_test.rb +579 -579
  119. data/test/cases/associations/required_test.rb +102 -102
  120. data/test/cases/associations_test.rb +385 -385
  121. data/test/cases/attribute_decorators_test.rb +126 -125
  122. data/test/cases/attribute_methods/read_test.rb +60 -60
  123. data/test/cases/attribute_methods_test.rb +1009 -1009
  124. data/test/cases/attribute_set_test.rb +270 -270
  125. data/test/cases/attribute_test.rb +246 -246
  126. data/test/cases/attributes_test.rb +253 -253
  127. data/test/cases/autosave_association_test.rb +1708 -1708
  128. data/test/cases/base_test.rb +1713 -1713
  129. data/test/cases/batches_test.rb +489 -489
  130. data/test/cases/binary_test.rb +44 -44
  131. data/test/cases/bind_parameter_test.rb +110 -110
  132. data/test/cases/cache_key_test.rb +26 -25
  133. data/test/cases/calculations_test.rb +798 -798
  134. data/test/cases/callbacks_test.rb +636 -636
  135. data/test/cases/clone_test.rb +40 -40
  136. data/test/cases/coders/json_test.rb +15 -15
  137. data/test/cases/coders/yaml_column_test.rb +63 -63
  138. data/test/cases/collection_cache_key_test.rb +115 -115
  139. data/test/cases/column_alias_test.rb +17 -17
  140. data/test/cases/column_definition_test.rb +92 -92
  141. data/test/cases/comment_test.rb +145 -143
  142. data/test/cases/connection_adapters/adapter_leasing_test.rb +56 -56
  143. data/test/cases/connection_adapters/connection_handler_test.rb +160 -160
  144. data/test/cases/connection_adapters/connection_specification_test.rb +12 -12
  145. data/test/cases/connection_adapters/merge_and_resolve_default_url_config_test.rb +255 -255
  146. data/test/cases/connection_adapters/mysql_type_lookup_test.rb +69 -69
  147. data/test/cases/connection_adapters/quoting_test.rb +13 -13
  148. data/test/cases/connection_adapters/schema_cache_test.rb +61 -61
  149. data/test/cases/connection_adapters/type_lookup_test.rb +118 -118
  150. data/test/cases/connection_management_test.rb +112 -112
  151. data/test/cases/connection_pool_test.rb +521 -521
  152. data/test/cases/connection_specification/resolver_test.rb +131 -131
  153. data/test/cases/core_test.rb +112 -112
  154. data/test/cases/counter_cache_test.rb +214 -214
  155. data/test/cases/custom_locking_test.rb +17 -17
  156. data/test/cases/database_statements_test.rb +34 -34
  157. data/test/cases/date_test.rb +44 -44
  158. data/test/cases/date_time_precision_test.rb +107 -106
  159. data/test/cases/date_time_test.rb +61 -61
  160. data/test/cases/defaults_test.rb +219 -218
  161. data/test/cases/dirty_test.rb +763 -763
  162. data/test/cases/disconnected_test.rb +30 -30
  163. data/test/cases/dup_test.rb +157 -157
  164. data/test/cases/enum_test.rb +444 -444
  165. data/test/cases/errors_test.rb +16 -16
  166. data/test/cases/explain_subscriber_test.rb +64 -64
  167. data/test/cases/explain_test.rb +87 -87
  168. data/test/cases/finder_respond_to_test.rb +60 -60
  169. data/test/cases/finder_test.rb +1294 -1294
  170. data/test/cases/fixture_set/file_test.rb +156 -156
  171. data/test/cases/fixtures_test.rb +988 -988
  172. data/test/cases/forbidden_attributes_protection_test.rb +165 -165
  173. data/test/cases/habtm_destroy_order_test.rb +61 -61
  174. data/test/cases/helper.rb +204 -204
  175. data/test/cases/hot_compatibility_test.rb +142 -142
  176. data/test/cases/i18n_test.rb +45 -45
  177. data/test/cases/inheritance_test.rb +606 -606
  178. data/test/cases/integration_test.rb +155 -155
  179. data/test/cases/invalid_connection_test.rb +24 -24
  180. data/test/cases/invertible_migration_test.rb +387 -387
  181. data/test/cases/json_serialization_test.rb +311 -311
  182. data/test/cases/locking_test.rb +493 -493
  183. data/test/cases/log_subscriber_test.rb +225 -225
  184. data/test/cases/migration/change_schema_test.rb +458 -458
  185. data/test/cases/migration/change_table_test.rb +256 -256
  186. data/test/cases/migration/column_attributes_test.rb +176 -176
  187. data/test/cases/migration/column_positioning_test.rb +56 -56
  188. data/test/cases/migration/columns_test.rb +310 -310
  189. data/test/cases/migration/command_recorder_test.rb +350 -350
  190. data/test/cases/migration/compatibility_test.rb +118 -118
  191. data/test/cases/migration/create_join_table_test.rb +157 -157
  192. data/test/cases/migration/foreign_key_test.rb +362 -360
  193. data/test/cases/migration/helper.rb +39 -39
  194. data/test/cases/migration/index_test.rb +218 -218
  195. data/test/cases/migration/logger_test.rb +36 -36
  196. data/test/cases/migration/pending_migrations_test.rb +52 -52
  197. data/test/cases/migration/references_foreign_key_test.rb +221 -216
  198. data/test/cases/migration/references_index_test.rb +101 -101
  199. data/test/cases/migration/references_statements_test.rb +136 -136
  200. data/test/cases/migration/rename_table_test.rb +93 -93
  201. data/test/cases/migration_test.rb +1157 -1157
  202. data/test/cases/migrator_test.rb +471 -470
  203. data/test/cases/mixin_test.rb +68 -68
  204. data/test/cases/modules_test.rb +172 -172
  205. data/test/cases/multiparameter_attributes_test.rb +372 -372
  206. data/test/cases/multiple_db_test.rb +122 -122
  207. data/test/cases/nested_attributes_test.rb +1098 -1098
  208. data/test/cases/nested_attributes_with_callbacks_test.rb +144 -144
  209. data/test/cases/persistence_test.rb +1001 -1001
  210. data/test/cases/pooled_connections_test.rb +81 -81
  211. data/test/cases/primary_keys_test.rb +376 -376
  212. data/test/cases/query_cache_test.rb +446 -446
  213. data/test/cases/quoting_test.rb +202 -202
  214. data/test/cases/readonly_test.rb +119 -119
  215. data/test/cases/reaper_test.rb +85 -85
  216. data/test/cases/reflection_test.rb +509 -509
  217. data/test/cases/relation/delegation_test.rb +63 -63
  218. data/test/cases/relation/merging_test.rb +157 -157
  219. data/test/cases/relation/mutation_test.rb +183 -183
  220. data/test/cases/relation/or_test.rb +92 -92
  221. data/test/cases/relation/predicate_builder_test.rb +16 -16
  222. data/test/cases/relation/record_fetch_warning_test.rb +40 -40
  223. data/test/cases/relation/where_chain_test.rb +105 -105
  224. data/test/cases/relation/where_clause_test.rb +182 -182
  225. data/test/cases/relation/where_test.rb +322 -322
  226. data/test/cases/relation_test.rb +328 -328
  227. data/test/cases/relations_test.rb +2026 -2026
  228. data/test/cases/reload_models_test.rb +22 -22
  229. data/test/cases/result_test.rb +90 -90
  230. data/test/cases/sanitize_test.rb +176 -176
  231. data/test/cases/schema_dumper_test.rb +457 -457
  232. data/test/cases/schema_loading_test.rb +52 -52
  233. data/test/cases/scoping/default_scoping_test.rb +528 -528
  234. data/test/cases/scoping/named_scoping_test.rb +561 -561
  235. data/test/cases/scoping/relation_scoping_test.rb +400 -400
  236. data/test/cases/secure_token_test.rb +32 -32
  237. data/test/cases/serialization_test.rb +104 -104
  238. data/test/cases/serialized_attribute_test.rb +364 -364
  239. data/test/cases/statement_cache_test.rb +136 -136
  240. data/test/cases/store_test.rb +195 -195
  241. data/test/cases/suppressor_test.rb +63 -63
  242. data/test/cases/tasks/database_tasks_test.rb +462 -462
  243. data/test/cases/tasks/mysql_rake_test.rb +345 -345
  244. data/test/cases/tasks/postgresql_rake_test.rb +304 -304
  245. data/test/cases/tasks/sqlite_rake_test.rb +220 -220
  246. data/test/cases/test_case.rb +131 -131
  247. data/test/cases/test_fixtures_test.rb +36 -36
  248. data/test/cases/time_precision_test.rb +103 -102
  249. data/test/cases/timestamp_test.rb +501 -501
  250. data/test/cases/touch_later_test.rb +121 -121
  251. data/test/cases/transaction_callbacks_test.rb +518 -518
  252. data/test/cases/transaction_isolation_test.rb +106 -106
  253. data/test/cases/transactions_test.rb +835 -834
  254. data/test/cases/type/adapter_specific_registry_test.rb +133 -133
  255. data/test/cases/type/date_time_test.rb +14 -14
  256. data/test/cases/type/integer_test.rb +27 -27
  257. data/test/cases/type/string_test.rb +22 -22
  258. data/test/cases/type/type_map_test.rb +177 -177
  259. data/test/cases/type_test.rb +39 -39
  260. data/test/cases/types_test.rb +24 -24
  261. data/test/cases/unconnected_test.rb +33 -33
  262. data/test/cases/validations/absence_validation_test.rb +73 -73
  263. data/test/cases/validations/association_validation_test.rb +97 -97
  264. data/test/cases/validations/i18n_generate_message_validation_test.rb +84 -84
  265. data/test/cases/validations/i18n_validation_test.rb +86 -86
  266. data/test/cases/validations/length_validation_test.rb +79 -79
  267. data/test/cases/validations/presence_validation_test.rb +103 -103
  268. data/test/cases/validations/uniqueness_validation_test.rb +548 -548
  269. data/test/cases/validations_repair_helper.rb +19 -19
  270. data/test/cases/validations_test.rb +194 -194
  271. data/test/cases/view_test.rb +216 -216
  272. data/test/cases/yaml_serialization_test.rb +121 -121
  273. data/test/config.example.yml +97 -97
  274. data/test/config.rb +5 -5
  275. data/test/connections/native_ibm_db/connection.rb +44 -0
  276. data/test/fixtures/accounts.yml +29 -29
  277. data/test/fixtures/admin/accounts.yml +2 -2
  278. data/test/fixtures/admin/users.yml +10 -10
  279. data/test/fixtures/author_addresses.yml +17 -17
  280. data/test/fixtures/author_favorites.yml +3 -3
  281. data/test/fixtures/authors.yml +23 -23
  282. data/test/fixtures/bad_posts.yml +9 -9
  283. data/test/fixtures/binaries.yml +133 -133
  284. data/test/fixtures/books.yml +31 -31
  285. data/test/fixtures/bulbs.yml +5 -5
  286. data/test/fixtures/cars.yml +9 -9
  287. data/test/fixtures/categories.yml +19 -19
  288. data/test/fixtures/categories/special_categories.yml +9 -9
  289. data/test/fixtures/categories/subsubdir/arbitrary_filename.yml +4 -4
  290. data/test/fixtures/categories_ordered.yml +7 -7
  291. data/test/fixtures/categories_posts.yml +31 -31
  292. data/test/fixtures/categorizations.yml +23 -23
  293. data/test/fixtures/clubs.yml +8 -8
  294. data/test/fixtures/collections.yml +3 -3
  295. data/test/fixtures/colleges.yml +3 -3
  296. data/test/fixtures/comments.yml +65 -65
  297. data/test/fixtures/companies.yml +67 -67
  298. data/test/fixtures/computers.yml +10 -10
  299. data/test/fixtures/content.yml +3 -3
  300. data/test/fixtures/content_positions.yml +3 -3
  301. data/test/fixtures/courses.yml +8 -8
  302. data/test/fixtures/customers.yml +25 -25
  303. data/test/fixtures/dashboards.yml +6 -6
  304. data/test/fixtures/dead_parrots.yml +5 -5
  305. data/test/fixtures/developers.yml +22 -22
  306. data/test/fixtures/developers_projects.yml +16 -16
  307. data/test/fixtures/dog_lovers.yml +7 -7
  308. data/test/fixtures/dogs.yml +4 -4
  309. data/test/fixtures/doubloons.yml +3 -3
  310. data/test/fixtures/edges.yml +5 -5
  311. data/test/fixtures/entrants.yml +14 -14
  312. data/test/fixtures/essays.yml +6 -6
  313. data/test/fixtures/faces.yml +11 -11
  314. data/test/fixtures/fk_test_has_fk.yml +3 -3
  315. data/test/fixtures/fk_test_has_pk.yml +1 -1
  316. data/test/fixtures/friendships.yml +4 -4
  317. data/test/fixtures/funny_jokes.yml +10 -10
  318. data/test/fixtures/interests.yml +33 -33
  319. data/test/fixtures/items.yml +3 -3
  320. data/test/fixtures/jobs.yml +7 -7
  321. data/test/fixtures/legacy_things.yml +3 -3
  322. data/test/fixtures/live_parrots.yml +4 -4
  323. data/test/fixtures/mateys.yml +4 -4
  324. data/test/fixtures/member_details.yml +8 -8
  325. data/test/fixtures/member_types.yml +6 -6
  326. data/test/fixtures/members.yml +11 -11
  327. data/test/fixtures/memberships.yml +34 -34
  328. data/test/fixtures/men.yml +5 -5
  329. data/test/fixtures/minimalistics.yml +2 -2
  330. data/test/fixtures/minivans.yml +5 -5
  331. data/test/fixtures/mixed_case_monkeys.yml +6 -6
  332. data/test/fixtures/mixins.yml +29 -29
  333. data/test/fixtures/movies.yml +7 -7
  334. data/test/fixtures/naked/yml/accounts.yml +1 -1
  335. data/test/fixtures/naked/yml/companies.yml +1 -1
  336. data/test/fixtures/naked/yml/courses.yml +1 -1
  337. data/test/fixtures/naked/yml/parrots.yml +2 -2
  338. data/test/fixtures/naked/yml/trees.yml +3 -3
  339. data/test/fixtures/nodes.yml +29 -29
  340. data/test/fixtures/organizations.yml +5 -5
  341. data/test/fixtures/other_comments.yml +6 -6
  342. data/test/fixtures/other_dogs.yml +2 -2
  343. data/test/fixtures/other_posts.yml +7 -7
  344. data/test/fixtures/other_topics.yml +42 -42
  345. data/test/fixtures/owners.yml +9 -9
  346. data/test/fixtures/parrots.yml +27 -27
  347. data/test/fixtures/parrots_pirates.yml +7 -7
  348. data/test/fixtures/people.yml +24 -24
  349. data/test/fixtures/peoples_treasures.yml +3 -3
  350. data/test/fixtures/pets.yml +19 -19
  351. data/test/fixtures/pirates.yml +12 -15
  352. data/test/fixtures/posts.yml +80 -80
  353. data/test/fixtures/price_estimates.yml +16 -16
  354. data/test/fixtures/products.yml +4 -4
  355. data/test/fixtures/projects.yml +7 -7
  356. data/test/fixtures/ratings.yml +14 -14
  357. data/test/fixtures/readers.yml +11 -11
  358. data/test/fixtures/references.yml +17 -17
  359. data/test/fixtures/reserved_words/distinct.yml +5 -5
  360. data/test/fixtures/reserved_words/distinct_select.yml +11 -11
  361. data/test/fixtures/reserved_words/group.yml +14 -14
  362. data/test/fixtures/reserved_words/select.yml +8 -8
  363. data/test/fixtures/reserved_words/values.yml +7 -7
  364. data/test/fixtures/ships.yml +6 -6
  365. data/test/fixtures/speedometers.yml +8 -8
  366. data/test/fixtures/sponsors.yml +12 -12
  367. data/test/fixtures/string_key_objects.yml +7 -7
  368. data/test/fixtures/subscribers.yml +10 -10
  369. data/test/fixtures/subscriptions.yml +12 -12
  370. data/test/fixtures/taggings.yml +78 -78
  371. data/test/fixtures/tags.yml +11 -11
  372. data/test/fixtures/tasks.yml +7 -7
  373. data/test/fixtures/teapots.yml +3 -3
  374. data/test/fixtures/to_be_linked/accounts.yml +2 -2
  375. data/test/fixtures/to_be_linked/users.yml +10 -10
  376. data/test/fixtures/topics.yml +49 -49
  377. data/test/fixtures/toys.yml +14 -14
  378. data/test/fixtures/traffic_lights.yml +9 -9
  379. data/test/fixtures/treasures.yml +10 -10
  380. data/test/fixtures/trees.yml +3 -3
  381. data/test/fixtures/uuid_children.yml +3 -3
  382. data/test/fixtures/uuid_parents.yml +2 -2
  383. data/test/fixtures/variants.yml +4 -4
  384. data/test/fixtures/vegetables.yml +19 -19
  385. data/test/fixtures/vertices.yml +3 -3
  386. data/test/fixtures/warehouse_things.yml +2 -2
  387. data/test/fixtures/zines.yml +5 -5
  388. data/test/migrations/10_urban/9_add_expressions.rb +11 -11
  389. data/test/migrations/decimal/1_give_me_big_numbers.rb +15 -15
  390. data/test/migrations/magic/1_currencies_have_symbols.rb +12 -12
  391. data/test/migrations/missing/1000_people_have_middle_names.rb +9 -9
  392. data/test/migrations/missing/1_people_have_last_names.rb +9 -9
  393. data/test/migrations/missing/3_we_need_reminders.rb +12 -12
  394. data/test/migrations/missing/4_innocent_jointable.rb +12 -12
  395. data/test/migrations/rename/1_we_need_things.rb +11 -11
  396. data/test/migrations/rename/2_rename_things.rb +9 -9
  397. data/test/migrations/to_copy/1_people_have_hobbies.rb +9 -9
  398. data/test/migrations/to_copy/2_people_have_descriptions.rb +9 -9
  399. data/test/migrations/to_copy2/1_create_articles.rb +7 -7
  400. data/test/migrations/to_copy2/2_create_comments.rb +7 -7
  401. data/test/migrations/to_copy_with_name_collision/1_people_have_hobbies.rb +9 -9
  402. data/test/migrations/to_copy_with_timestamps/20090101010101_people_have_hobbies.rb +9 -9
  403. data/test/migrations/to_copy_with_timestamps/20090101010202_people_have_descriptions.rb +9 -9
  404. data/test/migrations/to_copy_with_timestamps2/20090101010101_create_articles.rb +7 -7
  405. data/test/migrations/to_copy_with_timestamps2/20090101010202_create_comments.rb +7 -7
  406. data/test/migrations/valid/1_valid_people_have_last_names.rb +9 -9
  407. data/test/migrations/valid/2_we_need_reminders.rb +12 -12
  408. data/test/migrations/valid/3_innocent_jointable.rb +12 -12
  409. data/test/migrations/valid_with_subdirectories/1_valid_people_have_last_names.rb +9 -9
  410. data/test/migrations/valid_with_subdirectories/sub/2_we_need_reminders.rb +12 -12
  411. data/test/migrations/valid_with_subdirectories/sub1/3_innocent_jointable.rb +12 -12
  412. data/test/migrations/valid_with_timestamps/20100101010101_valid_with_timestamps_people_have_last_names.rb +9 -9
  413. data/test/migrations/valid_with_timestamps/20100201010101_valid_with_timestamps_we_need_reminders.rb +12 -12
  414. data/test/migrations/valid_with_timestamps/20100301010101_valid_with_timestamps_innocent_jointable.rb +12 -12
  415. data/test/migrations/version_check/20131219224947_migration_version_check.rb +8 -8
  416. data/test/models/admin.rb +5 -5
  417. data/test/models/admin/account.rb +3 -3
  418. data/test/models/admin/user.rb +40 -40
  419. data/test/models/aircraft.rb +5 -5
  420. data/test/models/arunit2_model.rb +3 -3
  421. data/test/models/author.rb +209 -209
  422. data/test/models/auto_id.rb +4 -4
  423. data/test/models/autoloadable/extra_firm.rb +2 -2
  424. data/test/models/binary.rb +2 -2
  425. data/test/models/bird.rb +12 -12
  426. data/test/models/book.rb +23 -23
  427. data/test/models/boolean.rb +2 -2
  428. data/test/models/bulb.rb +52 -52
  429. data/test/models/cake_designer.rb +3 -3
  430. data/test/models/car.rb +29 -29
  431. data/test/models/carrier.rb +2 -2
  432. data/test/models/cat.rb +10 -10
  433. data/test/models/categorization.rb +19 -19
  434. data/test/models/category.rb +35 -35
  435. data/test/models/chef.rb +8 -8
  436. data/test/models/citation.rb +3 -3
  437. data/test/models/club.rb +25 -25
  438. data/test/models/college.rb +10 -10
  439. data/test/models/column.rb +3 -3
  440. data/test/models/column_name.rb +3 -3
  441. data/test/models/comment.rb +76 -76
  442. data/test/models/company.rb +230 -230
  443. data/test/models/company_in_module.rb +98 -98
  444. data/test/models/computer.rb +3 -3
  445. data/test/models/contact.rb +41 -41
  446. data/test/models/content.rb +40 -40
  447. data/test/models/contract.rb +20 -20
  448. data/test/models/country.rb +7 -7
  449. data/test/models/course.rb +6 -6
  450. data/test/models/customer.rb +83 -83
  451. data/test/models/customer_carrier.rb +14 -14
  452. data/test/models/dashboard.rb +3 -3
  453. data/test/models/default.rb +2 -2
  454. data/test/models/department.rb +4 -4
  455. data/test/models/developer.rb +274 -274
  456. data/test/models/dog.rb +5 -5
  457. data/test/models/dog_lover.rb +5 -5
  458. data/test/models/doubloon.rb +12 -12
  459. data/test/models/drink_designer.rb +3 -3
  460. data/test/models/edge.rb +5 -5
  461. data/test/models/electron.rb +5 -5
  462. data/test/models/engine.rb +4 -4
  463. data/test/models/entrant.rb +3 -3
  464. data/test/models/essay.rb +5 -5
  465. data/test/models/event.rb +3 -3
  466. data/test/models/eye.rb +37 -37
  467. data/test/models/face.rb +9 -9
  468. data/test/models/friendship.rb +6 -6
  469. data/test/models/guid.rb +2 -2
  470. data/test/models/guitar.rb +4 -4
  471. data/test/models/hotel.rb +11 -11
  472. data/test/models/image.rb +3 -3
  473. data/test/models/interest.rb +5 -5
  474. data/test/models/invoice.rb +4 -4
  475. data/test/models/item.rb +7 -7
  476. data/test/models/job.rb +7 -7
  477. data/test/models/joke.rb +7 -7
  478. data/test/models/keyboard.rb +3 -3
  479. data/test/models/legacy_thing.rb +3 -3
  480. data/test/models/lesson.rb +11 -11
  481. data/test/models/line_item.rb +3 -3
  482. data/test/models/liquid.rb +4 -4
  483. data/test/models/man.rb +11 -11
  484. data/test/models/matey.rb +4 -4
  485. data/test/models/member.rb +42 -42
  486. data/test/models/member_detail.rb +8 -8
  487. data/test/models/member_type.rb +3 -3
  488. data/test/models/membership.rb +35 -35
  489. data/test/models/mentor.rb +2 -2
  490. data/test/models/minimalistic.rb +2 -2
  491. data/test/models/minivan.rb +9 -9
  492. data/test/models/mixed_case_monkey.rb +3 -3
  493. data/test/models/mocktail_designer.rb +2 -2
  494. data/test/models/molecule.rb +6 -6
  495. data/test/models/movie.rb +5 -5
  496. data/test/models/node.rb +5 -5
  497. data/test/models/non_primary_key.rb +2 -2
  498. data/test/models/notification.rb +3 -3
  499. data/test/models/order.rb +4 -4
  500. data/test/models/organization.rb +14 -14
  501. data/test/models/other_dog.rb +5 -5
  502. data/test/models/owner.rb +37 -37
  503. data/test/models/parrot.rb +28 -28
  504. data/test/models/person.rb +142 -142
  505. data/test/models/personal_legacy_thing.rb +4 -4
  506. data/test/models/pet.rb +18 -18
  507. data/test/models/pet_treasure.rb +6 -6
  508. data/test/models/pirate.rb +92 -92
  509. data/test/models/possession.rb +3 -3
  510. data/test/models/post.rb +273 -273
  511. data/test/models/price_estimate.rb +4 -4
  512. data/test/models/professor.rb +5 -5
  513. data/test/models/project.rb +40 -40
  514. data/test/models/publisher.rb +2 -2
  515. data/test/models/publisher/article.rb +4 -4
  516. data/test/models/publisher/magazine.rb +3 -3
  517. data/test/models/rating.rb +4 -4
  518. data/test/models/reader.rb +23 -23
  519. data/test/models/recipe.rb +3 -3
  520. data/test/models/record.rb +2 -2
  521. data/test/models/reference.rb +22 -22
  522. data/test/models/reply.rb +61 -61
  523. data/test/models/ship.rb +39 -39
  524. data/test/models/ship_part.rb +8 -8
  525. data/test/models/shop.rb +17 -17
  526. data/test/models/shop_account.rb +6 -6
  527. data/test/models/speedometer.rb +6 -6
  528. data/test/models/sponsor.rb +7 -7
  529. data/test/models/string_key_object.rb +3 -3
  530. data/test/models/student.rb +4 -4
  531. data/test/models/subject.rb +16 -16
  532. data/test/models/subscriber.rb +8 -8
  533. data/test/models/subscription.rb +4 -4
  534. data/test/models/tag.rb +13 -13
  535. data/test/models/tagging.rb +13 -13
  536. data/test/models/task.rb +5 -5
  537. data/test/models/topic.rb +118 -118
  538. data/test/models/toy.rb +6 -6
  539. data/test/models/traffic_light.rb +4 -4
  540. data/test/models/treasure.rb +14 -14
  541. data/test/models/treaty.rb +7 -7
  542. data/test/models/tree.rb +3 -3
  543. data/test/models/tuning_peg.rb +4 -4
  544. data/test/models/tyre.rb +11 -11
  545. data/test/models/user.rb +14 -14
  546. data/test/models/uuid_child.rb +3 -3
  547. data/test/models/uuid_item.rb +6 -6
  548. data/test/models/uuid_parent.rb +3 -3
  549. data/test/models/vegetables.rb +24 -24
  550. data/test/models/vehicle.rb +6 -6
  551. data/test/models/vertex.rb +9 -9
  552. data/test/models/warehouse_thing.rb +5 -5
  553. data/test/models/wheel.rb +3 -3
  554. data/test/models/without_table.rb +3 -3
  555. data/test/models/zine.rb +3 -3
  556. data/test/schema/i5/ibm_db_specific_schema.rb +137 -0
  557. data/test/schema/ids/ibm_db_specific_schema.rb +140 -0
  558. data/test/schema/luw/ibm_db_specific_schema.rb +137 -0
  559. data/test/schema/mysql2_specific_schema.rb +68 -68
  560. data/test/schema/oracle_specific_schema.rb +40 -40
  561. data/test/schema/postgresql_specific_schema.rb +114 -114
  562. data/test/schema/schema.rb +1057 -1057
  563. data/test/schema/schema.rb.original +1057 -1057
  564. data/test/schema/sqlite_specific_schema.rb +18 -18
  565. data/test/schema/zOS/ibm_db_specific_schema.rb +208 -0
  566. data/test/support/config.rb +43 -43
  567. data/test/support/connection.rb +23 -23
  568. data/test/support/connection_helper.rb +14 -14
  569. data/test/support/ddl_helper.rb +8 -8
  570. data/test/support/schema_dumping_helper.rb +20 -20
  571. data/test/support/yaml_compatibility_fixtures/rails_4_1.yml +22 -22
  572. data/test/support/yaml_compatibility_fixtures/rails_4_2_0.yml +182 -182
  573. metadata +30 -14
  574. data/lib/mswin32/rb2x/i386/ibm_db.so +0 -0
  575. data/test/fixtures/author_addresses.original +0 -11
  576. data/test/fixtures/authors.original +0 -17
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 188a00e8b635e83433b3b957fd3dba064beb9725
4
- data.tar.gz: d1bfeff1332f1b64df403322b3e587682983a10d
2
+ SHA256:
3
+ metadata.gz: be1de1af66403c30445bd110b3d5ce8cc435fcd0638e135b96e9b2ae9f2cca82
4
+ data.tar.gz: 3065ed9b5e17d5adc6cbf1448352756f012ab255d786929126378136ac909823
5
5
  SHA512:
6
- metadata.gz: a0bc0e713c9a14cb5591575d339c4215437b9b4b54dae393307958286d267b0033a76e0f11a46090bec32fc83fb39b8be4f0eee51846298b1835fb06e0250626
7
- data.tar.gz: 234a3944092ab8d149972790ce70226162ad1b0fa489ef92a2daad892b123cdf195b3b5a42b2cf051ec1a1361d46dfd820550bd0c2bbd0378f0665452b8b35dd
6
+ metadata.gz: 31d06492e6b2122f8c6fa6b62921d86a26fcf4d287acacf595c507e39ad47332438d8bbd52955a3ff1e008a24358edd5b32b822763d5cbe00ff2e4c3918697c6
7
+ data.tar.gz: 61699425ea3c7f8b01f8ed4d2526cd61ddd5cc87861449aa23bc4651a7568eca26a9bef891a439149ccaa24702ecfd59d488550f77a6bab9c3590f11fc00d537
data/MANIFEST CHANGED
@@ -1,14 +1,14 @@
1
- CHANGES
2
- README
3
- LICENSE
4
- ext/extconf.rb
5
- ext/ibm_db.c
6
- ext/ruby_ibm_db.h
7
- lib/IBM_DB.rb
8
- lib/linux32/ibm_db.so
9
- lib/mswin32/ibm_db.so
10
- lib/active_record/connection_adapters/ibm_db_adapter.rb
11
- lib/active_record/vendor/db2-i5-zOS.yaml
12
- test/activerecord/native_ibm_db/connection.rb
13
- test/ibm_db_test.rb
14
- MANIFEST
1
+ CHANGES
2
+ README
3
+ LICENSE
4
+ ext/extconf.rb
5
+ ext/ibm_db.c
6
+ ext/ruby_ibm_db.h
7
+ lib/IBM_DB.rb
8
+ lib/linux32/ibm_db.so
9
+ lib/mswin32/ibm_db.so
10
+ lib/active_record/connection_adapters/ibm_db_adapter.rb
11
+ lib/active_record/vendor/db2-i5-zOS.yaml
12
+ test/activerecord/native_ibm_db/connection.rb
13
+ test/ibm_db_test.rb
14
+ MANIFEST
data/README CHANGED
@@ -1,208 +1,208 @@
1
- =====================================================================
2
- README for the IBM_DB Adapter (4.0.0) and Driver (3.0.5) (2018/05/24)
3
- For ActiveRecord Version >= 5.0.7 (and Rails >= 5.0.7)
4
- =====================================================================
5
-
6
- Supported Operating Systems
7
- ============================
8
- - Linux 32/64 bit
9
- - Microsoft Windows 32 bit
10
- - IBM AIX 32/64 bit
11
- - HP-UX 32/64 bit
12
- - Sun Solaris 32/64 bit
13
-
14
-
15
- Supported Databases
16
- ====================
17
- - IBM DB2 Universal Database on Linux/Unix/Windows versions 10 Fixpak 5 and above
18
- - Remote connections to IBM DB2 Universal Database on i5/OS versions 7.2 and above.
19
- - Remote connections to IBM DB2 Universal Database on z/OS version 11 and above
20
-
21
-
22
-
23
- Installing the IBM_DB adapter and driver as a Ruby gem
24
- =======================================================
25
- The IBM_DB gem is an ActiveRecord adapter. Installing the IBM_DB adapter and driver as a gem enables any application in the
26
- Ruby environment, including Rails, to interact with IBM data servers.
27
-
28
-
29
- The IBM_DB driver can also be built separately (from source) and used in direct API calls.
30
-
31
-
32
- 1. Windows platforms:
33
- =====================
34
- INSTALL (as Ruby gem)
35
- To remove previous gem version (optionally):
36
- D:\>gem uninstall ibm_db
37
- Successfully uninstalled ibm_db version 3.0.5
38
-
39
- Example:
40
- D:\>gem install ibm_db
41
- Fetching: ibm_db-4.0.0-x86-mingw32.gem (100%)
42
- Successfully installed ibm_db-4.0.0-x86-mingw32
43
- 1 gem installed
44
- Installing ri documentation for ibm_db-4.0.0-x86-mingw32...
45
- Installing RDoc documentation for ibm_db-4.0.0-x86-mingw32...
46
-
47
-
48
-
49
- 2. Linux and Unix platforms:
50
- ============================
51
-
52
- INSTALL (as Ruby gem)
53
- To remove previous gem version (optionally):
54
- $ gem uninstall ibm_db
55
- Successfully uninstalled ibm_db version 3.0.5
56
-
57
-
58
- $ gem install ibm_db
59
- Building native extensions. This could take a while...
60
- Successfully installed ibm_db-4.0.0
61
- 1 gem installed
62
- Installing ri documentation for ibm_db-4.0.0...
63
- Installing RDoc documentation for ibm_db-4.0.0...
64
-
65
-
66
- BUILD (optionally) ibm_db gem from sources (ibm_db-x.x.x.tar.gz):
67
- 1. Download source from Github
68
- https://github.com/ibmdb/ruby-ibmdb
69
- 2. Build gem from specification (IBM_DB.gemspec)
70
- $ cd IBM_DB_Adapter/ibm_db
71
- $ gem build IBM_DB.gemspec
72
-
73
-
74
-
75
- TEST (simple gem install verification)
76
- ======================================
77
- $ rails new myApp -d ibm_db
78
- $ cd myApp
79
- $ rails generate scaffold Wood name:string price:float
80
- $ vi config/database.yml
81
- $ rake db:migrate
82
- $ rails console #rails server
83
-
84
-
85
- Instructions for building and installing the IBM_DB driver from source
86
- =======================================================================
87
- Building the driver manually as described below is not required if the install
88
- process above has been pursued. This manual procedure is in fact automated
89
- on Linux and UNIX platforms by the IBM_DB gem install, but is presented
90
- here only for reference.
91
-
92
- Prerequisites:
93
- Install Ruby from:
94
- https://github.com/ibmdb/ruby-ibmdb
95
-
96
- Setup the environment
97
-
98
- Linux and Unix platforms:
99
- Note: commands may vary depending on the shell used
100
- - To setup DB2 environment while using an arbitrary user account
101
- (other than the DB2 install user account):
102
- Example:
103
- $ . /home/db2inst1/sqllib/db2profile
104
-
105
- - To compile and link with DB2 client libraries:
106
- $ export IBM_DB_HOME=DB2HOME (eg. /home/db2inst1/sqllib or /opt/ibm/db2/v10.5)
107
-
108
- Windows platforms:
109
- - Set ruby devkit environment:
110
- - To compile and link with DB2 client libraries:
111
- $ set IBM_DB_HOME=DB2HOME (eg. C:\Program Files\IBM\SQLLIB)
112
-
113
- Build the driver:
114
- - $ cd rubyibm_source/IBM_DB_Adapter/ibm_db/ext
115
- - $ ruby extconf.rb
116
- - $ make
117
-
118
- Build the ibm_db gem
119
- - $ cp rubyibm_source/IBM_DB_Adapter/ibm_db/ext/ibm_db.so rubyibm_source/IBM_DB_Adapter/ibm_db/lib
120
- # On windows binaries are generated for 2.x version of ruby
121
- # and placed under rb2x directory. The file ibm_db.rb is to ensure that binary is loaded based on runtime
122
-
123
- - $ cd rubyibm_source/IBM_DB_Adapter/ibm_db
124
- - $ gem build IBM_DB.gemspec
125
-
126
- Running tests
127
- =============
128
- Testing the IBM_DB Adapter
129
-
130
- 1) a) Copy the files under test directory of ibm_db gem to the test directory of Activerecord following the same directory structure.
131
- These files contain modifications in some test files of AR suite to handle ibm_db specifics. Hence make sure these files are replaced in the AR test suite properly.
132
- b) Rename warhouse-things.yml to warehouse_things.yml under fixtures directory
133
- 2) Edit the Rakefile to include ibm_db in list of adapters
134
- %w( mysql mysql2 postgresql sqlite3 sqlite3_mem firebird db2 oracle sybase openbase ibm_db frontbase jdbcmysql jdbcpostgresql jdbcsqlite3 jdbcderby jdbch2 jdbchsqldb )
135
- 3) Configure the connection information in test/config.yml for ibm_db
136
- 4) run the test suite - rake test_ibm_db
137
-
138
- Running IBM_DB driver test suite
139
-
140
- 1) Copy over the test directory under source to lib directory of installed ibm_db under $GEM_HOME
141
- 2) Edit config.yml file to provide database connection information
142
- 3) Run the test suite
143
- $ rake onlytests
144
- 4) To run single test
145
- export SINGLE_RUBY_TEST=<test file name> #Eg: export SINGLE_RUBY_TEST=test_000_PrepareDb.rb
146
- rake onlytests
147
-
148
- Limitations and known problems
149
- ==============================
150
- - ActiveRecord remove_column method is not supported for DB2 zOS
151
- - The driver returns an error when you try to insert a TIMESTAMP value into a DATE column.
152
- To fix this, please ensure that the following configuration keyword PATCH2=58 is set
153
- in the COMMON section of your DB2 CLI initialization file (db2cli.ini):
154
- - set: db2 UPDATE CLI CFG FOR SECTION COMMON USING PATCH2 58
155
- - verify: db2 GET CLI CFG FOR SECTION COMMON
156
- Please refer to http://publib.boulder.ibm.com/infocenter/db2luw/v9/topic/com.ibm.db2.udb.apdv.cli.doc/doc/c0007882.htm
157
- for more information.
158
- - The behaviour of ActiveRecord::Base.find(:first) without an :order attribute can be unpredictable.
159
- The first record (i.e. the record with the minimum id) may be not retrieved. In a relational model,
160
- the order of the rows returned is unpredictable and independent of the order of insertion.
161
- This issue may be addressed in a future release.
162
- - Rails applications on DB2 9 require the APPLHEAPSZ database configuration parameter to be
163
- set to or above 1024. You will need to set this parameter for each database for which you will be
164
- running DB2 on Rails applications. Following is the command syntax for updating the
165
- applheapsz parameter:
166
- > db2 update db cfg for <database_name> using APPLHEAPSZ 1024
167
- To enable this parameter, you need to restart your DB2 instance.
168
- - If you see connectivity issues with Informix Dynamic Server, please ensure that the server is configured to accept DRDA connections.
169
- Please refer to http://publib.boulder.ibm.com/infocenter/idshelp/v111/index.jsp?topic=/com.ibm.admin.doc/admin154.htm for more information.
170
- - IBM_DB is not supported on JRuby. As stated in the JRuby Wiki, "Basics of Getting JRuby Running":
171
- 'You may install other gems, but keep in mind that libraries with C extension dependencies
172
- will not work in JRuby.' http://www.headius.com/jrubywiki/index.php/Getting_Started
173
- The IBM_DB adapter relies on IBM_DB driver (C extension) and the IBM Driver for ODBC and
174
- CLI to access databases on IBM data servers. Alternatively, you can either use the regular C
175
- implementation of Ruby, or use ActiveRecord-JDBC adapter to access databases.
176
-
177
- - The following tests are expected to fail on DB2 LUW
178
- - test_read_attributes_before_type_cast_on_datetime
179
- - test_to_xml
180
- - test_native_types
181
- - test_counting
182
- - test_counting_with_column_name_and_hash
183
- - test_counting_with_empty_hash_conditions
184
- - test_counting_with_single_conditions
185
- - test_counting_with_single_hash
186
- - Finders methods first, second, last, nth from first, nth from last, with limit, with offset etc. are expected to fail
187
- Note :- 1) The test cases from HasManyAssociations (4-8) above are found failing only when run as part of
188
- the complete suite. However they pass when run standalone.
189
- 2) Also there are two test cases (test_validate_uniqueness_with_non_standard_table_names, test_update_all_with_non_standard_table_name)which run against table with non-standard name. Given that DB2/IDS is standard compliant these test cases are expected to fail.
190
- To have these test cases passing rename the fixtures file warehouse-things to warehouse_things.
191
- - The test cases do not follow the DB2 rules are expectedto fail
192
-
193
-
194
- Unicode Support
195
- ===============
196
- - Data returned from the driver will be in UTF8 encoding format.
197
- - The input data to the driver can be in any Ruby supported encoding format.
198
-
199
- To Do
200
- ====
201
- - Support ActiveRecord remove_column method for DB2 zOS
202
- - Open issues in Github
203
-
204
-
205
- Feedback
206
- ========
207
- Your feedback is very much appreciated and expected through github:
208
- - github issue: https://github.com/ibmdb/ruby-ibmdb/issues
1
+ =====================================================================
2
+ README for the IBM_DB Adapter (5.0.0) and Driver (3.0.5)
3
+ For ActiveRecord Version >= 5.0.7 (and Rails >= 5.0.7)
4
+ =====================================================================
5
+
6
+ Supported Operating Systems
7
+ ============================
8
+ - Linux 32/64 bit
9
+ - Microsoft Windows 32 bit
10
+ - IBM AIX 32/64 bit
11
+ - HP-UX 32/64 bit
12
+ - Sun Solaris 32/64 bit
13
+
14
+
15
+ Supported Databases
16
+ ====================
17
+ - IBM DB2 Universal Database on Linux/Unix/Windows versions 10 Fixpak 5 and above
18
+ - Remote connections to IBM DB2 Universal Database on i5/OS versions 7.2 and above.
19
+ - Remote connections to IBM DB2 Universal Database on z/OS version 11 and above
20
+
21
+
22
+
23
+ Installing the IBM_DB adapter and driver as a Ruby gem
24
+ =======================================================
25
+ The IBM_DB gem is an ActiveRecord adapter. Installing the IBM_DB adapter and driver as a gem enables any application in the
26
+ Ruby environment, including Rails, to interact with IBM data servers.
27
+
28
+
29
+ The IBM_DB driver can also be built separately (from source) and used in direct API calls.
30
+
31
+
32
+ 1. Windows platforms:
33
+ =====================
34
+ INSTALL (as Ruby gem)
35
+ To remove previous gem version (optionally):
36
+ D:\>gem uninstall ibm_db
37
+ Successfully uninstalled ibm_db version 3.0.5
38
+
39
+ Example:
40
+ D:\>gem install ibm_db
41
+ Fetching: ibm_db-4.0.0-x86-mingw32.gem (100%)
42
+ Successfully installed ibm_db-4.0.0-x86-mingw32
43
+ 1 gem installed
44
+ Installing ri documentation for ibm_db-4.0.0-x86-mingw32...
45
+ Installing RDoc documentation for ibm_db-4.0.0-x86-mingw32...
46
+
47
+
48
+
49
+ 2. Linux and Unix platforms:
50
+ ============================
51
+
52
+ INSTALL (as Ruby gem)
53
+ To remove previous gem version (optionally):
54
+ $ gem uninstall ibm_db
55
+ Successfully uninstalled ibm_db version 3.0.5
56
+
57
+
58
+ $ gem install ibm_db
59
+ Building native extensions. This could take a while...
60
+ Successfully installed ibm_db-4.0.0
61
+ 1 gem installed
62
+ Installing ri documentation for ibm_db-4.0.0...
63
+ Installing RDoc documentation for ibm_db-4.0.0...
64
+
65
+
66
+ BUILD (optionally) ibm_db gem from sources (ibm_db-x.x.x.tar.gz):
67
+ 1. Download source from Github
68
+ https://github.com/ibmdb/ruby-ibmdb
69
+ 2. Build gem from specification (IBM_DB.gemspec)
70
+ $ cd IBM_DB_Adapter/ibm_db
71
+ $ gem build IBM_DB.gemspec
72
+
73
+
74
+
75
+ TEST (simple gem install verification)
76
+ ======================================
77
+ $ rails new myApp -d ibm_db
78
+ $ cd myApp
79
+ $ rails generate scaffold Wood name:string price:float
80
+ $ vi config/database.yml
81
+ $ rake db:migrate
82
+ $ rails console #rails server
83
+
84
+
85
+ Instructions for building and installing the IBM_DB driver from source
86
+ =======================================================================
87
+ Building the driver manually as described below is not required if the install
88
+ process above has been pursued. This manual procedure is in fact automated
89
+ on Linux and UNIX platforms by the IBM_DB gem install, but is presented
90
+ here only for reference.
91
+
92
+ Prerequisites:
93
+ Install Ruby from:
94
+ https://github.com/ibmdb/ruby-ibmdb
95
+
96
+ Setup the environment
97
+
98
+ Linux and Unix platforms:
99
+ Note: commands may vary depending on the shell used
100
+ - To setup DB2 environment while using an arbitrary user account
101
+ (other than the DB2 install user account):
102
+ Example:
103
+ $ . /home/db2inst1/sqllib/db2profile
104
+
105
+ - To compile and link with DB2 client libraries:
106
+ $ export IBM_DB_HOME=DB2HOME (eg. /home/db2inst1/sqllib or /opt/ibm/db2/v10.5)
107
+
108
+ Windows platforms:
109
+ - Set ruby devkit environment:
110
+ - To compile and link with DB2 client libraries:
111
+ $ set IBM_DB_HOME=DB2HOME (eg. C:\Program Files\IBM\SQLLIB)
112
+
113
+ Build the driver:
114
+ - $ cd rubyibm_source/IBM_DB_Adapter/ibm_db/ext
115
+ - $ ruby extconf.rb
116
+ - $ ridk exec make
117
+
118
+ Build the ibm_db gem
119
+ - $ cp rubyibm_source/IBM_DB_Adapter/ibm_db/ext/ibm_db.so rubyibm_source/IBM_DB_Adapter/ibm_db/lib
120
+ # On windows binaries are generated for 2.x version of ruby
121
+ # and placed under rb2x directory. The file ibm_db.rb is to ensure that binary is loaded based on runtime
122
+
123
+ - $ cd rubyibm_source/IBM_DB_Adapter/ibm_db
124
+ - $ gem build IBM_DB.gemspec
125
+
126
+ Running tests
127
+ =============
128
+ Testing the IBM_DB Adapter
129
+
130
+ 1) a) Copy the files under test directory of ibm_db gem to the test directory of Activerecord following the same directory structure.
131
+ These files contain modifications in some test files of AR suite to handle ibm_db specifics. Hence make sure these files are replaced in the AR test suite properly.
132
+ b) Rename warhouse-things.yml to warehouse_things.yml under fixtures directory
133
+ 2) Edit the Rakefile to include ibm_db in list of adapters
134
+ %w( mysql mysql2 postgresql sqlite3 sqlite3_mem firebird db2 oracle sybase openbase ibm_db frontbase jdbcmysql jdbcpostgresql jdbcsqlite3 jdbcderby jdbch2 jdbchsqldb )
135
+ 3) Configure the connection information in test/config.yml for ibm_db
136
+ 4) run the test suite - rake test_ibm_db
137
+
138
+ Running IBM_DB driver test suite
139
+
140
+ 1) Copy over the test directory under source to lib directory of installed ibm_db under $GEM_HOME
141
+ 2) Edit config.yml file to provide database connection information
142
+ 3) Run the test suite
143
+ $ rake onlytests
144
+ 4) To run single test
145
+ export SINGLE_RUBY_TEST=<test file name> #Eg: export SINGLE_RUBY_TEST=test_000_PrepareDb.rb
146
+ rake onlytests
147
+
148
+ Limitations and known problems
149
+ ==============================
150
+ - ActiveRecord remove_column method is not supported for DB2 zOS
151
+ - The driver returns an error when you try to insert a TIMESTAMP value into a DATE column.
152
+ To fix this, please ensure that the following configuration keyword PATCH2=58 is set
153
+ in the COMMON section of your DB2 CLI initialization file (db2cli.ini):
154
+ - set: db2 UPDATE CLI CFG FOR SECTION COMMON USING PATCH2 58
155
+ - verify: db2 GET CLI CFG FOR SECTION COMMON
156
+ Please refer to http://publib.boulder.ibm.com/infocenter/db2luw/v9/topic/com.ibm.db2.udb.apdv.cli.doc/doc/c0007882.htm
157
+ for more information.
158
+ - The behaviour of ActiveRecord::Base.find(:first) without an :order attribute can be unpredictable.
159
+ The first record (i.e. the record with the minimum id) may be not retrieved. In a relational model,
160
+ the order of the rows returned is unpredictable and independent of the order of insertion.
161
+ This issue may be addressed in a future release.
162
+ - Rails applications on DB2 9 require the APPLHEAPSZ database configuration parameter to be
163
+ set to or above 1024. You will need to set this parameter for each database for which you will be
164
+ running DB2 on Rails applications. Following is the command syntax for updating the
165
+ applheapsz parameter:
166
+ > db2 update db cfg for <database_name> using APPLHEAPSZ 1024
167
+ To enable this parameter, you need to restart your DB2 instance.
168
+ - If you see connectivity issues with Informix Dynamic Server, please ensure that the server is configured to accept DRDA connections.
169
+ Please refer to http://publib.boulder.ibm.com/infocenter/idshelp/v111/index.jsp?topic=/com.ibm.admin.doc/admin154.htm for more information.
170
+ - IBM_DB is not supported on JRuby. As stated in the JRuby Wiki, "Basics of Getting JRuby Running":
171
+ 'You may install other gems, but keep in mind that libraries with C extension dependencies
172
+ will not work in JRuby.' http://www.headius.com/jrubywiki/index.php/Getting_Started
173
+ The IBM_DB adapter relies on IBM_DB driver (C extension) and the IBM Driver for ODBC and
174
+ CLI to access databases on IBM data servers. Alternatively, you can either use the regular C
175
+ implementation of Ruby, or use ActiveRecord-JDBC adapter to access databases.
176
+
177
+ - The following tests are expected to fail on DB2 LUW
178
+ - test_read_attributes_before_type_cast_on_datetime
179
+ - test_to_xml
180
+ - test_native_types
181
+ - test_counting
182
+ - test_counting_with_column_name_and_hash
183
+ - test_counting_with_empty_hash_conditions
184
+ - test_counting_with_single_conditions
185
+ - test_counting_with_single_hash
186
+ - Finders methods first, second, last, nth from first, nth from last, with limit, with offset etc. are expected to fail
187
+ Note :- 1) The test cases from HasManyAssociations (4-8) above are found failing only when run as part of
188
+ the complete suite. However they pass when run standalone.
189
+ 2) Also there are two test cases (test_validate_uniqueness_with_non_standard_table_names, test_update_all_with_non_standard_table_name)which run against table with non-standard name. Given that DB2/IDS is standard compliant these test cases are expected to fail.
190
+ To have these test cases passing rename the fixtures file warehouse-things to warehouse_things.
191
+ - The test cases do not follow the DB2 rules are expectedto fail
192
+
193
+
194
+ Unicode Support
195
+ ===============
196
+ - Data returned from the driver will be in UTF8 encoding format.
197
+ - The input data to the driver can be in any Ruby supported encoding format.
198
+
199
+ To Do
200
+ ====
201
+ - Support ActiveRecord remove_column method for DB2 zOS
202
+ - Open issues in Github
203
+
204
+
205
+ Feedback
206
+ ========
207
+ Your feedback is very much appreciated and expected through github:
208
+ - github issue: https://github.com/ibmdb/ruby-ibmdb/issues