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