ibm_db 3.0.5-x86-mingw32 → 5.0.5-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.
- checksums.yaml +5 -5
- data/CHANGES +4 -0
- data/LICENSE +1 -1
- data/ParameterizedQueries README +6 -6
- data/README +38 -55
- data/ext/Makefile +269 -0
- data/ext/extconf.rb +34 -3
- data/ext/gil_release_version +3 -0
- data/ext/ibm_db-i386-mingw32.def +2 -0
- data/ext/ibm_db.c +100 -108
- data/ext/ibm_db.o +0 -0
- data/ext/ibm_db.so +0 -0
- data/ext/mkmf.log +110 -0
- data/ext/ruby_ibm_db_cli.o +0 -0
- data/ext/unicode_support_version +3 -0
- data/lib/active_record/connection_adapters/ibm_db_adapter.rb +923 -527
- data/lib/active_record/connection_adapters/ibmdb_adapter.rb +4 -1
- data/lib/mswin32/ibm_db.rb +7 -39
- data/lib/mswin32/rb2x/i386/ibm_db.so +0 -0
- data/test/active_record/connection_adapters/fake_adapter.rb +8 -5
- data/test/cases/adapter_test.rb +133 -58
- data/test/cases/adapters/mysql2/active_schema_test.rb +193 -0
- data/test/cases/adapters/mysql2/bind_parameter_test.rb +50 -0
- data/test/cases/adapters/mysql2/boolean_test.rb +100 -0
- data/test/cases/adapters/mysql2/case_sensitivity_test.rb +63 -0
- data/test/cases/adapters/mysql2/charset_collation_test.rb +54 -0
- data/test/cases/adapters/mysql2/connection_test.rb +210 -0
- data/test/cases/adapters/mysql2/datetime_precision_quoting_test.rb +45 -0
- data/test/cases/adapters/mysql2/enum_test.rb +26 -0
- data/test/cases/adapters/mysql2/explain_test.rb +21 -0
- data/test/cases/adapters/mysql2/json_test.rb +195 -0
- data/test/cases/adapters/mysql2/mysql2_adapter_test.rb +83 -0
- data/test/cases/adapters/mysql2/reserved_word_test.rb +152 -0
- data/test/cases/adapters/mysql2/schema_migrations_test.rb +59 -0
- data/test/cases/adapters/mysql2/schema_test.rb +126 -0
- data/test/cases/adapters/mysql2/sp_test.rb +36 -0
- data/test/cases/adapters/mysql2/sql_types_test.rb +14 -0
- data/test/cases/adapters/mysql2/table_options_test.rb +42 -0
- data/test/cases/adapters/mysql2/unsigned_type_test.rb +66 -0
- data/test/cases/adapters/postgresql/active_schema_test.rb +98 -0
- data/test/cases/adapters/postgresql/array_test.rb +339 -0
- data/test/cases/adapters/postgresql/bit_string_test.rb +82 -0
- data/test/cases/adapters/postgresql/bytea_test.rb +134 -0
- data/test/cases/adapters/postgresql/case_insensitive_test.rb +26 -0
- data/test/cases/adapters/postgresql/change_schema_test.rb +38 -0
- data/test/cases/adapters/postgresql/cidr_test.rb +25 -0
- data/test/cases/adapters/postgresql/citext_test.rb +78 -0
- data/test/cases/adapters/postgresql/collation_test.rb +53 -0
- data/test/cases/adapters/postgresql/composite_test.rb +132 -0
- data/test/cases/adapters/postgresql/connection_test.rb +257 -0
- data/test/cases/adapters/postgresql/datatype_test.rb +92 -0
- data/test/cases/adapters/postgresql/domain_test.rb +47 -0
- data/test/cases/adapters/postgresql/enum_test.rb +91 -0
- data/test/cases/adapters/postgresql/explain_test.rb +20 -0
- data/test/cases/adapters/postgresql/extension_migration_test.rb +63 -0
- data/test/cases/adapters/postgresql/full_text_test.rb +44 -0
- data/test/cases/adapters/postgresql/geometric_test.rb +378 -0
- data/test/cases/adapters/postgresql/hstore_test.rb +382 -0
- data/test/cases/adapters/postgresql/infinity_test.rb +69 -0
- data/test/cases/adapters/postgresql/integer_test.rb +25 -0
- data/test/cases/adapters/postgresql/json_test.rb +237 -0
- data/test/cases/adapters/postgresql/ltree_test.rb +53 -0
- data/test/cases/adapters/postgresql/money_test.rb +96 -0
- data/test/cases/adapters/postgresql/network_test.rb +94 -0
- data/test/cases/adapters/postgresql/numbers_test.rb +49 -0
- data/test/cases/adapters/postgresql/postgresql_adapter_test.rb +405 -0
- data/test/cases/adapters/postgresql/prepared_statements_test.rb +22 -0
- data/test/cases/adapters/postgresql/quoting_test.rb +44 -0
- data/test/cases/adapters/postgresql/range_test.rb +343 -0
- data/test/cases/adapters/postgresql/referential_integrity_test.rb +111 -0
- data/test/cases/adapters/postgresql/rename_table_test.rb +34 -0
- data/test/cases/adapters/postgresql/schema_authorization_test.rb +119 -0
- data/test/cases/adapters/postgresql/schema_test.rb +597 -0
- data/test/cases/adapters/postgresql/serial_test.rb +154 -0
- data/test/cases/adapters/postgresql/statement_pool_test.rb +41 -0
- data/test/cases/adapters/postgresql/timestamp_test.rb +90 -0
- data/test/cases/adapters/postgresql/type_lookup_test.rb +33 -0
- data/test/cases/adapters/postgresql/utils_test.rb +62 -0
- data/test/cases/adapters/postgresql/uuid_test.rb +294 -0
- data/test/cases/adapters/postgresql/xml_test.rb +54 -0
- data/test/cases/adapters/sqlite3/collation_test.rb +53 -0
- data/test/cases/adapters/sqlite3/copy_table_test.rb +98 -0
- data/test/cases/adapters/sqlite3/explain_test.rb +21 -0
- data/test/cases/adapters/sqlite3/quoting_test.rb +101 -0
- data/test/cases/adapters/sqlite3/sqlite3_adapter_test.rb +441 -0
- data/test/cases/adapters/sqlite3/sqlite3_create_folder_test.rb +24 -0
- data/test/cases/adapters/sqlite3/statement_pool_test.rb +20 -0
- data/test/cases/aggregations_test.rb +11 -1
- data/test/cases/ar_schema_test.rb +35 -50
- data/test/cases/associations/association_scope_test.rb +1 -6
- data/test/cases/associations/belongs_to_associations_test.rb +122 -10
- data/test/cases/associations/bidirectional_destroy_dependencies_test.rb +41 -0
- data/test/cases/associations/callbacks_test.rb +5 -7
- data/test/cases/associations/cascaded_eager_loading_test.rb +1 -1
- data/test/cases/associations/eager_load_nested_include_test.rb +1 -3
- data/test/cases/associations/eager_test.rb +158 -73
- data/test/cases/associations/extension_test.rb +7 -2
- data/test/cases/associations/has_and_belongs_to_many_associations_test.rb +64 -32
- data/test/cases/associations/has_many_associations_test.rb +362 -43
- data/test/cases/associations/has_many_through_associations_test.rb +108 -41
- data/test/cases/associations/has_one_associations_test.rb +105 -8
- data/test/cases/associations/has_one_through_associations_test.rb +6 -3
- data/test/cases/associations/inner_join_association_test.rb +3 -3
- data/test/cases/associations/inverse_associations_test.rb +38 -11
- data/test/cases/associations/join_model_test.rb +59 -36
- data/test/cases/associations/left_outer_join_association_test.rb +88 -0
- data/test/cases/associations/nested_through_associations_test.rb +2 -2
- data/test/cases/associations/required_test.rb +25 -5
- data/test/cases/associations_test.rb +39 -34
- data/test/cases/attribute_decorators_test.rb +9 -8
- data/test/cases/attribute_methods/read_test.rb +5 -5
- data/test/cases/attribute_methods_test.rb +97 -40
- data/test/cases/attribute_set_test.rb +64 -4
- data/test/cases/attribute_test.rb +84 -18
- data/test/cases/attributes_test.rb +151 -34
- data/test/cases/autosave_association_test.rb +149 -36
- data/test/cases/base_test.rb +290 -241
- data/test/cases/batches_test.rb +299 -22
- data/test/cases/binary_test.rb +2 -10
- data/test/cases/bind_parameter_test.rb +76 -66
- data/test/cases/cache_key_test.rb +26 -0
- data/test/cases/calculations_test.rb +167 -15
- data/test/cases/callbacks_test.rb +161 -68
- data/test/cases/coders/json_test.rb +15 -0
- data/test/cases/collection_cache_key_test.rb +115 -0
- data/test/cases/column_definition_test.rb +26 -57
- data/test/cases/comment_test.rb +145 -0
- data/test/cases/connection_adapters/adapter_leasing_test.rb +5 -3
- data/test/cases/connection_adapters/connection_handler_test.rb +128 -21
- data/test/cases/connection_adapters/connection_specification_test.rb +1 -1
- data/test/cases/connection_adapters/merge_and_resolve_default_url_config_test.rb +0 -38
- data/test/cases/connection_adapters/mysql_type_lookup_test.rb +5 -1
- data/test/cases/connection_adapters/schema_cache_test.rb +8 -3
- data/test/cases/connection_adapters/type_lookup_test.rb +15 -7
- data/test/cases/connection_management_test.rb +46 -56
- data/test/cases/connection_pool_test.rb +195 -20
- data/test/cases/connection_specification/resolver_test.rb +15 -0
- data/test/cases/counter_cache_test.rb +10 -5
- data/test/cases/custom_locking_test.rb +1 -1
- data/test/cases/database_statements_test.rb +18 -3
- data/test/cases/{invalid_date_test.rb → date_test.rb} +13 -1
- data/test/cases/date_time_precision_test.rb +107 -0
- data/test/cases/defaults_test.rb +85 -89
- data/test/cases/dirty_test.rb +30 -52
- data/test/cases/disconnected_test.rb +4 -2
- data/test/cases/enum_test.rb +178 -24
- data/test/cases/errors_test.rb +16 -0
- data/test/cases/explain_test.rb +32 -21
- data/test/cases/finder_test.rb +273 -148
- data/test/cases/fixture_set/file_test.rb +18 -0
- data/test/cases/fixtures_test.rb +112 -32
- data/test/cases/forbidden_attributes_protection_test.rb +69 -3
- data/test/cases/helper.rb +10 -16
- data/test/cases/hot_compatibility_test.rb +89 -1
- data/test/cases/inheritance_test.rb +284 -53
- data/test/cases/integration_test.rb +23 -7
- data/test/cases/invalid_connection_test.rb +4 -2
- data/test/cases/invertible_migration_test.rb +124 -32
- data/test/cases/json_serialization_test.rb +11 -2
- data/test/cases/locking_test.rb +22 -6
- data/test/cases/log_subscriber_test.rb +106 -17
- data/test/cases/migration/change_schema_test.rb +60 -114
- data/test/cases/migration/change_table_test.rb +34 -2
- data/test/cases/migration/column_attributes_test.rb +7 -23
- data/test/cases/migration/column_positioning_test.rb +8 -8
- data/test/cases/migration/columns_test.rb +17 -11
- data/test/cases/migration/command_recorder_test.rb +47 -2
- data/test/cases/migration/compatibility_test.rb +118 -0
- data/test/cases/migration/create_join_table_test.rb +21 -12
- data/test/cases/migration/foreign_key_test.rb +52 -18
- data/test/cases/migration/index_test.rb +14 -12
- data/test/cases/migration/logger_test.rb +1 -1
- data/test/cases/migration/pending_migrations_test.rb +0 -1
- data/test/cases/migration/references_foreign_key_test.rb +59 -7
- data/test/cases/migration/references_index_test.rb +4 -4
- data/test/cases/migration/references_statements_test.rb +26 -6
- data/test/cases/migration/rename_table_test.rb +25 -25
- data/test/cases/migration_test.rb +279 -81
- data/test/cases/migrator_test.rb +91 -8
- data/test/cases/mixin_test.rb +0 -2
- data/test/cases/modules_test.rb +3 -4
- data/test/cases/multiparameter_attributes_test.rb +24 -2
- data/test/cases/multiple_db_test.rb +11 -4
- data/test/cases/nested_attributes_test.rb +61 -33
- data/test/cases/persistence_test.rb +102 -10
- data/test/cases/pooled_connections_test.rb +3 -3
- data/test/cases/primary_keys_test.rb +170 -31
- data/test/cases/query_cache_test.rb +216 -96
- data/test/cases/quoting_test.rb +65 -19
- data/test/cases/readonly_test.rb +2 -1
- data/test/cases/reflection_test.rb +68 -22
- data/test/cases/relation/delegation_test.rb +3 -8
- data/test/cases/relation/merging_test.rb +10 -14
- data/test/cases/relation/mutation_test.rb +42 -24
- data/test/cases/relation/or_test.rb +92 -0
- data/test/cases/relation/predicate_builder_test.rb +4 -2
- data/test/cases/relation/record_fetch_warning_test.rb +40 -0
- data/test/cases/relation/where_chain_test.rb +23 -99
- data/test/cases/relation/where_clause_test.rb +182 -0
- data/test/cases/relation/where_test.rb +45 -23
- data/test/cases/relation_test.rb +67 -58
- data/test/cases/relations_test.rb +249 -38
- data/test/cases/result_test.rb +10 -0
- data/test/cases/sanitize_test.rb +108 -15
- data/test/cases/schema_dumper_test.rb +119 -125
- data/test/cases/schema_loading_test.rb +52 -0
- data/test/cases/scoping/default_scoping_test.rb +113 -39
- data/test/cases/scoping/named_scoping_test.rb +46 -9
- data/test/cases/scoping/relation_scoping_test.rb +47 -4
- data/test/cases/secure_token_test.rb +32 -0
- data/test/cases/serialization_test.rb +1 -1
- data/test/cases/serialized_attribute_test.rb +93 -6
- data/test/cases/statement_cache_test.rb +38 -0
- data/test/cases/store_test.rb +2 -1
- data/test/cases/suppressor_test.rb +63 -0
- data/test/cases/tasks/database_tasks_test.rb +73 -9
- data/test/cases/tasks/mysql_rake_test.rb +139 -118
- data/test/cases/tasks/postgresql_rake_test.rb +60 -6
- data/test/cases/tasks/sqlite_rake_test.rb +30 -3
- data/test/cases/test_case.rb +28 -20
- data/test/cases/test_fixtures_test.rb +36 -0
- data/test/cases/time_precision_test.rb +103 -0
- data/test/cases/timestamp_test.rb +44 -10
- data/test/cases/touch_later_test.rb +121 -0
- data/test/cases/transaction_callbacks_test.rb +128 -62
- data/test/cases/transaction_isolation_test.rb +2 -2
- data/test/cases/transactions_test.rb +61 -43
- data/test/cases/type/adapter_specific_registry_test.rb +133 -0
- data/test/cases/type/date_time_test.rb +14 -0
- data/test/cases/type/integer_test.rb +2 -96
- data/test/cases/type/string_test.rb +0 -14
- data/test/cases/type_test.rb +39 -0
- data/test/cases/types_test.rb +1 -118
- data/test/cases/unconnected_test.rb +1 -1
- data/test/cases/validations/absence_validation_test.rb +73 -0
- data/test/cases/validations/association_validation_test.rb +13 -2
- data/test/cases/validations/i18n_validation_test.rb +6 -10
- data/test/cases/validations/length_validation_test.rb +62 -30
- data/test/cases/validations/presence_validation_test.rb +36 -1
- data/test/cases/validations/uniqueness_validation_test.rb +128 -37
- data/test/cases/validations_repair_helper.rb +2 -6
- data/test/cases/validations_test.rb +36 -7
- data/test/cases/view_test.rb +102 -5
- data/test/cases/yaml_serialization_test.rb +21 -26
- data/test/config.example.yml +97 -0
- data/test/fixtures/bad_posts.yml +9 -0
- data/test/fixtures/books.yml +20 -0
- data/test/fixtures/content.yml +3 -0
- data/test/fixtures/content_positions.yml +3 -0
- data/test/fixtures/dead_parrots.yml +5 -0
- data/test/fixtures/live_parrots.yml +4 -0
- data/test/fixtures/naked/yml/parrots.yml +2 -0
- data/test/fixtures/naked/yml/trees.yml +3 -0
- data/test/fixtures/nodes.yml +29 -0
- data/test/fixtures/other_comments.yml +6 -0
- data/test/fixtures/other_dogs.yml +2 -0
- data/test/fixtures/other_posts.yml +7 -0
- data/test/fixtures/price_estimates.yml +10 -1
- data/test/fixtures/trees.yml +3 -0
- data/test/migrations/10_urban/9_add_expressions.rb +1 -1
- data/test/migrations/decimal/1_give_me_big_numbers.rb +1 -1
- data/test/migrations/magic/1_currencies_have_symbols.rb +1 -1
- data/test/migrations/missing/1000_people_have_middle_names.rb +2 -2
- data/test/migrations/missing/1_people_have_last_names.rb +2 -2
- data/test/migrations/missing/3_we_need_reminders.rb +2 -2
- data/test/migrations/missing/4_innocent_jointable.rb +2 -2
- data/test/migrations/rename/1_we_need_things.rb +2 -2
- data/test/migrations/rename/2_rename_things.rb +2 -2
- data/test/migrations/to_copy/1_people_have_hobbies.rb +1 -1
- data/test/migrations/to_copy/2_people_have_descriptions.rb +1 -1
- data/test/migrations/to_copy2/1_create_articles.rb +1 -1
- data/test/migrations/to_copy2/2_create_comments.rb +1 -1
- data/test/migrations/to_copy_with_name_collision/1_people_have_hobbies.rb +1 -1
- data/test/migrations/to_copy_with_timestamps/20090101010101_people_have_hobbies.rb +1 -1
- data/test/migrations/to_copy_with_timestamps/20090101010202_people_have_descriptions.rb +1 -1
- data/test/migrations/to_copy_with_timestamps2/20090101010101_create_articles.rb +1 -1
- data/test/migrations/to_copy_with_timestamps2/20090101010202_create_comments.rb +1 -1
- data/test/migrations/valid/1_valid_people_have_last_names.rb +1 -1
- data/test/migrations/valid/2_we_need_reminders.rb +2 -2
- data/test/migrations/valid/3_innocent_jointable.rb +2 -2
- data/test/migrations/valid_with_subdirectories/1_valid_people_have_last_names.rb +1 -1
- data/test/migrations/valid_with_subdirectories/sub/2_we_need_reminders.rb +2 -2
- data/test/migrations/valid_with_subdirectories/sub1/3_innocent_jointable.rb +2 -2
- data/test/migrations/valid_with_timestamps/20100101010101_valid_with_timestamps_people_have_last_names.rb +1 -1
- data/test/migrations/valid_with_timestamps/20100201010101_valid_with_timestamps_we_need_reminders.rb +1 -1
- data/test/migrations/valid_with_timestamps/20100301010101_valid_with_timestamps_innocent_jointable.rb +1 -1
- data/test/migrations/version_check/20131219224947_migration_version_check.rb +1 -1
- data/test/models/admin/randomly_named_c1.rb +6 -2
- data/test/models/aircraft.rb +1 -0
- data/test/models/author.rb +4 -7
- data/test/models/bird.rb +1 -1
- data/test/models/book.rb +5 -0
- data/test/models/bulb.rb +2 -1
- data/test/models/car.rb +3 -0
- data/test/models/cat.rb +10 -0
- data/test/models/chef.rb +1 -0
- data/test/models/club.rb +2 -0
- data/test/models/comment.rb +17 -5
- data/test/models/company.rb +4 -2
- data/test/models/company_in_module.rb +1 -1
- data/test/models/contact.rb +1 -1
- data/test/models/content.rb +40 -0
- data/test/models/customer.rb +8 -2
- data/test/models/developer.rb +19 -0
- data/test/models/face.rb +1 -1
- data/test/models/guitar.rb +4 -0
- data/test/models/hotel.rb +2 -0
- data/test/models/member.rb +1 -0
- data/test/models/member_detail.rb +4 -3
- data/test/models/mentor.rb +3 -0
- data/test/models/mocktail_designer.rb +2 -0
- data/test/models/node.rb +5 -0
- data/test/models/non_primary_key.rb +2 -0
- data/test/models/notification.rb +3 -0
- data/test/models/other_dog.rb +5 -0
- data/test/models/owner.rb +4 -1
- data/test/models/parrot.rb +6 -7
- data/test/models/person.rb +0 -1
- data/test/models/pet.rb +3 -0
- data/test/models/pet_treasure.rb +6 -0
- data/test/models/pirate.rb +3 -3
- data/test/models/post.rb +18 -9
- data/test/models/project.rb +9 -0
- data/test/models/randomly_named_c1.rb +1 -1
- data/test/models/recipe.rb +3 -0
- data/test/models/ship.rb +8 -2
- data/test/models/tag.rb +6 -0
- data/test/models/topic.rb +2 -8
- data/test/models/tree.rb +3 -0
- data/test/models/tuning_peg.rb +4 -0
- data/test/models/user.rb +14 -0
- data/test/models/uuid_item.rb +6 -0
- data/test/schema/mysql2_specific_schema.rb +33 -23
- data/test/schema/oracle_specific_schema.rb +1 -4
- data/test/schema/postgresql_specific_schema.rb +36 -124
- data/test/schema/schema.rb +170 -65
- data/test/schema/schema.rb.original +1057 -0
- data/test/schema/sqlite_specific_schema.rb +1 -5
- data/test/support/connection.rb +1 -0
- data/test/support/schema_dumping_helper.rb +1 -1
- data/test/support/yaml_compatibility_fixtures/rails_4_1.yml +22 -0
- data/test/support/yaml_compatibility_fixtures/rails_4_2_0.yml +182 -0
- metadata +146 -30
- data/lib/mswin32/rb19x/ibm_db.so +0 -0
- data/lib/mswin32/rb21x/i386/ibm_db.so +0 -0
- data/lib/mswin32/rb22x/i386/ibm_db.so +0 -0
- data/lib/mswin32/rb23x/i386/ibm_db.so +0 -0
- data/test/cases/associations/deprecated_counter_cache_on_has_many_through_test.rb +0 -26
- data/test/cases/attribute_methods/serialization_test.rb +0 -29
- data/test/cases/migration/change_schema_test - Copy.rb +0 -448
- data/test/cases/migration/foreign_key_test - Changed.rb +0 -325
- data/test/cases/migration/table_and_index_test.rb +0 -24
- data/test/cases/relation/where_test2.rb +0 -36
- data/test/cases/type/decimal_test.rb +0 -56
- data/test/cases/type/unsigned_integer_test.rb +0 -18
- data/test/cases/xml_serialization_test.rb +0 -457
- data/test/fixtures/naked/csv/accounts.csv +0 -1
- data/test/schema/mysql_specific_schema.rb +0 -70
data/ext/extconf.rb
CHANGED
@@ -3,6 +3,7 @@ require 'net/http'
|
|
3
3
|
require 'open-uri'
|
4
4
|
require 'rubygems/package'
|
5
5
|
require 'zlib'
|
6
|
+
require 'zip'
|
6
7
|
require 'fileutils'
|
7
8
|
|
8
9
|
|
@@ -42,6 +43,7 @@ module Kernel
|
|
42
43
|
end
|
43
44
|
|
44
45
|
DOWNLOADLINK = ''
|
46
|
+
ZIP = false
|
45
47
|
|
46
48
|
if(RUBY_PLATFORM =~ /aix/i)
|
47
49
|
#AIX
|
@@ -94,6 +96,15 @@ elsif (RUBY_PLATFORM =~ /darwin/i)
|
|
94
96
|
else
|
95
97
|
puts "Mac OS 32 bit not supported. Please use an x64 architecture."
|
96
98
|
end
|
99
|
+
elsif (RUBY_PLATFORM =~ /mswin/ || RUBY_PLATFORM =~ /mingw/)
|
100
|
+
ZIP = true
|
101
|
+
if(is64Bit)
|
102
|
+
puts "Detected platform - windows 64"
|
103
|
+
DOWNLOADLINK= "http://public.dhe.ibm.com/ibmdl/export/pub/software/data/db2/drivers/odbc_cli/ntx64_odbc_cli.zip"
|
104
|
+
else
|
105
|
+
puts "Detected platform - windows 32"
|
106
|
+
DOWNLOADLINK= "http://public.dhe.ibm.com/ibmdl/export/pub/software/data/db2/drivers/odbc_cli/nt32_odbc_cli.zip"
|
107
|
+
end
|
97
108
|
end
|
98
109
|
|
99
110
|
def downloadCLIPackage(destination, link = nil)
|
@@ -104,7 +115,11 @@ def downloadCLIPackage(destination, link = nil)
|
|
104
115
|
end
|
105
116
|
|
106
117
|
uri = URI.parse(downloadLink)
|
107
|
-
|
118
|
+
if ZIP
|
119
|
+
filename = "#{destination}/clidriver.zip"
|
120
|
+
else
|
121
|
+
filename = "#{destination}/clidriver.tar.gz"
|
122
|
+
end
|
108
123
|
|
109
124
|
headers = {
|
110
125
|
'Accept-Encoding' => 'identity',
|
@@ -121,6 +136,18 @@ def downloadCLIPackage(destination, link = nil)
|
|
121
136
|
filename
|
122
137
|
end
|
123
138
|
|
139
|
+
def extract_zip(file, destination)
|
140
|
+
FileUtils.mkdir_p(destination)
|
141
|
+
|
142
|
+
Zip::File.open(file) do |zip_file|
|
143
|
+
zip_file.each do |f|
|
144
|
+
fpath = File.join(destination, f.name)
|
145
|
+
FileUtils.mkdir_p(File.dirname(fpath))
|
146
|
+
zip_file.extract(f, fpath) unless File.exist?(fpath)
|
147
|
+
end
|
148
|
+
end
|
149
|
+
end
|
150
|
+
|
124
151
|
def untarCLIPackage(archive,destination)
|
125
152
|
Gem::Package::TarReader.new( Zlib::GzipReader.open(archive) ) do |tar|
|
126
153
|
tar.each do |entry|
|
@@ -157,8 +184,12 @@ if(IBM_DB_HOME == nil || IBM_DB_HOME == '')
|
|
157
184
|
puts "Environment variable IBM_DB_HOME is not set. Downloading and setting up the DB2 client driver\n"
|
158
185
|
destination = "#{File.expand_path(File.dirname(File.dirname(__FILE__)))}/../lib"
|
159
186
|
|
160
|
-
|
161
|
-
|
187
|
+
archive = downloadCLIPackage(destination)
|
188
|
+
if (ZIP)
|
189
|
+
extract_zip(archive, destination)
|
190
|
+
else
|
191
|
+
untarCLIPackage(archive,destination)
|
192
|
+
end
|
162
193
|
|
163
194
|
IBM_DB_HOME="#{destination}/clidriver"
|
164
195
|
|
data/ext/ibm_db.c
CHANGED
@@ -687,10 +687,9 @@ static void _ruby_ibm_db_mark_stmt_struct(stmt_handle *handle)
|
|
687
687
|
|
688
688
|
VALUE ibm_Ruby_Thread_Call(rb_blocking_function_t *func, void *data1, rb_unblock_function_t *ubf, void *data2)
|
689
689
|
{
|
690
|
-
#ifdef RUBY_API_VERSION_MAJOR
|
690
|
+
#ifdef RUBY_API_VERSION_MAJOR
|
691
691
|
if( RUBY_API_VERSION_MAJOR >=2 && RUBY_API_VERSION_MINOR >=2)
|
692
|
-
{
|
693
|
-
|
692
|
+
{
|
694
693
|
#ifdef _WIN32
|
695
694
|
void *(*f)(void*) = (void *(*)(void*))func;
|
696
695
|
return (VALUE)rb_thread_call_without_gvl(f, data1, ubf, data2);
|
@@ -698,7 +697,7 @@ VALUE ibm_Ruby_Thread_Call(rb_blocking_function_t *func, void *data1, rb_unblock
|
|
698
697
|
return rb_thread_call_without_gvl(func, data1, ubf, data2);
|
699
698
|
#else
|
700
699
|
rb_thread_call_without_gvl(func, data1, ubf, data2);
|
701
|
-
|
700
|
+
#endif
|
702
701
|
}
|
703
702
|
else
|
704
703
|
{
|
@@ -706,7 +705,7 @@ VALUE ibm_Ruby_Thread_Call(rb_blocking_function_t *func, void *data1, rb_unblock
|
|
706
705
|
}
|
707
706
|
#else
|
708
707
|
rb_thread_call_without_gvl(func, data1, ubf, data2);
|
709
|
-
#endif
|
708
|
+
#endif
|
710
709
|
}
|
711
710
|
|
712
711
|
|
@@ -739,7 +738,7 @@ static void _ruby_ibm_db_free_stmt_handle_and_resources(stmt_handle *handle)
|
|
739
738
|
|
740
739
|
/* static _ruby_ibm_db_free_stmt_struct */
|
741
740
|
static void _ruby_ibm_db_free_stmt_struct(stmt_handle *handle)
|
742
|
-
{
|
741
|
+
{
|
743
742
|
if ( handle != NULL ) {
|
744
743
|
_ruby_ibm_db_free_stmt_handle_and_resources( handle );
|
745
744
|
ruby_xfree( handle );
|
@@ -1027,7 +1026,7 @@ static void _ruby_ibm_db_check_sql_errors( void *conn_or_stmt, int resourceType,
|
|
1027
1026
|
|
1028
1027
|
#ifdef UNICODE_SUPPORT_VERSION
|
1029
1028
|
ibm_Ruby_Thread_Call ( (void *)_ruby_ibm_db_SQLGetDiagRec_helper, get_DiagRec_args,
|
1030
|
-
|
1029
|
+
RUBY_UBF_IO, NULL);
|
1031
1030
|
return_code =get_DiagRec_args->return_code;
|
1032
1031
|
#else
|
1033
1032
|
return_code = _ruby_ibm_db_SQLGetDiagRec_helper( get_DiagRec_args );
|
@@ -2002,7 +2001,6 @@ static void _ruby_ibm_db_clear_stmt_err_cache()
|
|
2002
2001
|
/* static VALUE _ruby_ibm_db_connect_helper2( connect_helper_args *data )
|
2003
2002
|
*/
|
2004
2003
|
static VALUE _ruby_ibm_db_connect_helper2( connect_helper_args *data ) {
|
2005
|
-
|
2006
2004
|
SQLINTEGER conn_alive;
|
2007
2005
|
SQLINTEGER enable_numeric_literals = 1; /* Enable CLI numeric literals */
|
2008
2006
|
|
@@ -2527,8 +2525,7 @@ static VALUE _ruby_ibm_db_connect_helper( int argc, VALUE *argv, int isPersisten
|
|
2527
2525
|
}
|
2528
2526
|
/* Call the function where the actual logic is being run*/
|
2529
2527
|
#ifdef UNICODE_SUPPORT_VERSION
|
2530
|
-
|
2531
|
-
ibm_Ruby_Thread_Call ( (void *)_ruby_ibm_db_connect_helper2, helper_args, (void *)_ruby_ibm_db_Connection_level_UBF, NULL);
|
2528
|
+
ibm_Ruby_Thread_Call ( (void *)_ruby_ibm_db_connect_helper2, helper_args, RUBY_UBF_IO, NULL);
|
2532
2529
|
|
2533
2530
|
|
2534
2531
|
conn_res = helper_args->conn_res;
|
@@ -2555,9 +2552,9 @@ static VALUE _ruby_ibm_db_connect_helper( int argc, VALUE *argv, int isPersisten
|
|
2555
2552
|
return_value = Data_Wrap_Struct(le_conn_struct, _ruby_ibm_db_mark_conn_struct, _ruby_ibm_db_free_conn_struct, conn_res);
|
2556
2553
|
}
|
2557
2554
|
}
|
2558
|
-
|
2555
|
+
#else
|
2559
2556
|
return_value = _ruby_ibm_db_connect_helper2( helper_args );
|
2560
|
-
|
2557
|
+
#endif
|
2561
2558
|
/* Free the memory allocated */
|
2562
2559
|
if(conn_args != NULL) {
|
2563
2560
|
/* Memory to structure elements of helper_args is not allocated explicitly hence it is automatically freed by Ruby.
|
@@ -2826,10 +2823,8 @@ static void _ruby_ibm_db_clear_conn_err_cache()
|
|
2826
2823
|
*
|
2827
2824
|
*/
|
2828
2825
|
VALUE ibm_db_connect(int argc, VALUE *argv, VALUE self)
|
2829
|
-
{
|
2830
|
-
|
2826
|
+
{
|
2831
2827
|
_ruby_ibm_db_clear_conn_err_cache();
|
2832
|
-
|
2833
2828
|
return _ruby_ibm_db_connect_helper( argc, argv, 0 );
|
2834
2829
|
}
|
2835
2830
|
/* */
|
@@ -2975,7 +2970,7 @@ VALUE ruby_ibm_db_createDb_helper(VALUE connection, VALUE dbName, VALUE codeSet,
|
|
2975
2970
|
|
2976
2971
|
#ifdef UNICODE_SUPPORT_VERSION
|
2977
2972
|
ibm_Ruby_Thread_Call ( (void *)_ruby_ibm_db_SQLCreateDB_helper, create_db_args,
|
2978
|
-
|
2973
|
+
RUBY_UBF_IO, NULL );
|
2979
2974
|
rc = create_db_args->rc;
|
2980
2975
|
#else
|
2981
2976
|
rc = _ruby_ibm_db_SQLCreateDB_helper( create_db_args );
|
@@ -3105,7 +3100,7 @@ VALUE ruby_ibm_db_dropDb_helper(VALUE connection, VALUE dbName) {
|
|
3105
3100
|
|
3106
3101
|
#ifdef UNICODE_SUPPORT_VERSION
|
3107
3102
|
ibm_Ruby_Thread_Call ( (void *)_ruby_ibm_db_SQLDropDB_helper, drop_db_args,
|
3108
|
-
|
3103
|
+
RUBY_UBF_IO, NULL );
|
3109
3104
|
rc = drop_db_args->rc;
|
3110
3105
|
#else
|
3111
3106
|
rc = _ruby_ibm_db_SQLDropDB_helper( drop_db_args );
|
@@ -3460,10 +3455,9 @@ VALUE ibm_db_bind_param_helper(int argc, char * varname, long varname_len ,long
|
|
3460
3455
|
/* if argc == 3, then the default value for param_type will be used */
|
3461
3456
|
case 3:
|
3462
3457
|
param_type = SQL_PARAM_INPUT;
|
3463
|
-
|
3464
|
-
#ifdef
|
3465
|
-
|
3466
|
-
ibm_Ruby_Thread_Call ( (void *)_ruby_ibm_db_SQLDescribeParam_helper, data,
|
3458
|
+
|
3459
|
+
#ifdef UNICODE_SUPPORT_VERSIO
|
3460
|
+
ibm_Ruby_Thread_Call ( (void *)_ruby_ibm_db_SQLDescribeParam_helper, data,
|
3467
3461
|
(void *)_ruby_ibm_db_Statement_level_UBF, stmt_res);
|
3468
3462
|
rc = data->rc;
|
3469
3463
|
#else
|
@@ -3482,10 +3476,9 @@ VALUE ibm_db_bind_param_helper(int argc, char * varname, long varname_len ,long
|
|
3482
3476
|
break;
|
3483
3477
|
|
3484
3478
|
case 4:
|
3485
|
-
|
3486
|
-
#ifdef UNICODE_SUPPORT_VERSION
|
3479
|
+
#ifdef UNICODE_SUPPORT_VERSION
|
3487
3480
|
ibm_Ruby_Thread_Call ( (void *)_ruby_ibm_db_SQLDescribeParam_helper, data,
|
3488
|
-
(void *)_ruby_ibm_db_Statement_level_UBF, stmt_res);
|
3481
|
+
(void *)_ruby_ibm_db_Statement_level_UBF, stmt_res );
|
3489
3482
|
rc = data->rc;
|
3490
3483
|
#else
|
3491
3484
|
rc = _ruby_ibm_db_SQLDescribeParam_helper( data );
|
@@ -3503,8 +3496,7 @@ VALUE ibm_db_bind_param_helper(int argc, char * varname, long varname_len ,long
|
|
3503
3496
|
break;
|
3504
3497
|
|
3505
3498
|
case 5:
|
3506
|
-
|
3507
|
-
#ifdef UNICODE_SUPPORT_VERSION
|
3499
|
+
#ifdef UNICODE_SUPPORT_VERSION
|
3508
3500
|
ibm_Ruby_Thread_Call ( (void *)_ruby_ibm_db_SQLDescribeParam_helper, data,
|
3509
3501
|
(void *)_ruby_ibm_db_Statement_level_UBF, stmt_res );
|
3510
3502
|
rc = data->rc;
|
@@ -3525,10 +3517,9 @@ VALUE ibm_db_bind_param_helper(int argc, char * varname, long varname_len ,long
|
|
3525
3517
|
break;
|
3526
3518
|
|
3527
3519
|
case 6:
|
3528
|
-
|
3529
|
-
|
3530
|
-
|
3531
|
-
(void *)_ruby_ibm_db_Statement_level_UBF, stmt_res );
|
3520
|
+
#ifdef UNICODE_SUPPORT_VERSION
|
3521
|
+
ibm_Ruby_Thread_Call ( (void *)_ruby_ibm_db_SQLDescribeParam_helper, data,
|
3522
|
+
(void *)_ruby_ibm_db_Statement_level_UBF, stmt_res );
|
3532
3523
|
rc = data->rc;
|
3533
3524
|
#else
|
3534
3525
|
rc = _ruby_ibm_db_SQLDescribeParam_helper( data );
|
@@ -3763,7 +3754,7 @@ VALUE ibm_db_close(int argc, VALUE *argv, VALUE self)
|
|
3763
3754
|
|
3764
3755
|
#ifdef UNICODE_SUPPORT_VERSION
|
3765
3756
|
ibm_Ruby_Thread_Call ( (void *)_ruby_ibm_db_SQLEndTran, end_X_args,
|
3766
|
-
|
3757
|
+
RUBY_UBF_IO, NULL);
|
3767
3758
|
rc = end_X_args->rc;
|
3768
3759
|
#else
|
3769
3760
|
rc = _ruby_ibm_db_SQLEndTran( end_X_args );
|
@@ -3782,7 +3773,7 @@ VALUE ibm_db_close(int argc, VALUE *argv, VALUE self)
|
|
3782
3773
|
|
3783
3774
|
#ifdef UNICODE_SUPPORT_VERSION
|
3784
3775
|
rc = ibm_Ruby_Thread_Call ( (void *)_ruby_ibm_db_SQLDisconnect_helper, &(conn_res->hdbc),
|
3785
|
-
|
3776
|
+
RUBY_UBF_IO, NULL);
|
3786
3777
|
#else
|
3787
3778
|
rc = _ruby_ibm_db_SQLDisconnect_helper( &(conn_res->hdbc) );
|
3788
3779
|
#endif
|
@@ -3956,10 +3947,9 @@ VALUE ibm_db_column_privileges(int argc, VALUE *argv, VALUE self)
|
|
3956
3947
|
#endif
|
3957
3948
|
}
|
3958
3949
|
col_privileges_args->stmt_res = stmt_res;
|
3959
|
-
|
3960
|
-
#ifdef UNICODE_SUPPORT_VERSION
|
3950
|
+
#ifdef UNICODE_SUPPORT_VERSION
|
3961
3951
|
ibm_Ruby_Thread_Call ( (void *)_ruby_ibm_db_SQLColumnPrivileges_helper, col_privileges_args,
|
3962
|
-
|
3952
|
+
(void *)_ruby_ibm_db_Statement_level_UBF, stmt_res );
|
3963
3953
|
rc = col_privileges_args->rc;
|
3964
3954
|
#else
|
3965
3955
|
rc = _ruby_ibm_db_SQLColumnPrivileges_helper( col_privileges_args );
|
@@ -4137,8 +4127,8 @@ VALUE ibm_db_columns(int argc, VALUE *argv, VALUE self)
|
|
4137
4127
|
}
|
4138
4128
|
col_metadata_args->stmt_res = stmt_res;
|
4139
4129
|
|
4140
|
-
#ifdef UNICODE_SUPPORT_VERSION
|
4141
|
-
|
4130
|
+
#ifdef UNICODE_SUPPORT_VERSION
|
4131
|
+
ibm_Ruby_Thread_Call ( (void *)_ruby_ibm_db_SQLColumns_helper, col_metadata_args,
|
4142
4132
|
(void *)_ruby_ibm_db_Statement_level_UBF, stmt_res );
|
4143
4133
|
rc = col_metadata_args->rc;
|
4144
4134
|
#else
|
@@ -4309,8 +4299,8 @@ VALUE ibm_db_foreign_keys(int argc, VALUE *argv, VALUE self)
|
|
4309
4299
|
|
4310
4300
|
col_metadata_args->stmt_res = stmt_res;
|
4311
4301
|
|
4312
|
-
#ifdef UNICODE_SUPPORT_VERSION
|
4313
|
-
|
4302
|
+
#ifdef UNICODE_SUPPORT_VERSION
|
4303
|
+
ibm_Ruby_Thread_Call ( (void *)_ruby_ibm_db_SQLForeignKeys_helper, col_metadata_args,
|
4314
4304
|
(void *)_ruby_ibm_db_Statement_level_UBF, stmt_res );
|
4315
4305
|
rc = col_metadata_args->rc;
|
4316
4306
|
#else
|
@@ -4465,8 +4455,8 @@ VALUE ibm_db_primary_keys(int argc, VALUE *argv, VALUE self)
|
|
4465
4455
|
}
|
4466
4456
|
col_metadata_args->stmt_res = stmt_res;
|
4467
4457
|
|
4468
|
-
#ifdef UNICODE_SUPPORT_VERSION
|
4469
|
-
|
4458
|
+
#ifdef UNICODE_SUPPORT_VERSION
|
4459
|
+
ibm_Ruby_Thread_Call ( (void *)_ruby_ibm_db_SQLPrimaryKeys_helper, col_metadata_args,
|
4470
4460
|
(void *)_ruby_ibm_db_Statement_level_UBF, stmt_res );
|
4471
4461
|
rc = col_metadata_args->rc;
|
4472
4462
|
#else
|
@@ -4656,9 +4646,9 @@ VALUE ibm_db_procedure_columns(int argc, VALUE *argv, VALUE self)
|
|
4656
4646
|
}
|
4657
4647
|
col_metadata_args->stmt_res = stmt_res;
|
4658
4648
|
|
4659
|
-
#ifdef UNICODE_SUPPORT_VERSION
|
4660
|
-
|
4661
|
-
|
4649
|
+
#ifdef UNICODE_SUPPORT_VERSION
|
4650
|
+
ibm_Ruby_Thread_Call ( (void *)_ruby_ibm_db_SQLProcedureColumns_helper, col_metadata_args,
|
4651
|
+
(void *)_ruby_ibm_db_Statement_level_UBF, stmt_res );
|
4662
4652
|
rc = col_metadata_args->rc;
|
4663
4653
|
#else
|
4664
4654
|
rc = _ruby_ibm_db_SQLProcedureColumns_helper( col_metadata_args );
|
@@ -4813,8 +4803,8 @@ VALUE ibm_db_procedures(int argc, VALUE *argv, VALUE self)
|
|
4813
4803
|
}
|
4814
4804
|
proc_metadata_args->stmt_res = stmt_res;
|
4815
4805
|
|
4816
|
-
#ifdef UNICODE_SUPPORT_VERSION
|
4817
|
-
|
4806
|
+
#ifdef UNICODE_SUPPORT_VERSION
|
4807
|
+
ibm_Ruby_Thread_Call ( (void *)_ruby_ibm_db_SQLProcedures_helper, proc_metadata_args,
|
4818
4808
|
(void *)_ruby_ibm_db_Statement_level_UBF, stmt_res);
|
4819
4809
|
rc = proc_metadata_args->rc;
|
4820
4810
|
#else
|
@@ -4990,9 +4980,9 @@ VALUE ibm_db_special_columns(int argc, VALUE *argv, VALUE self)
|
|
4990
4980
|
}
|
4991
4981
|
col_metadata_args->stmt_res = stmt_res;
|
4992
4982
|
|
4993
|
-
#ifdef UNICODE_SUPPORT_VERSION
|
4994
|
-
|
4995
|
-
|
4983
|
+
#ifdef UNICODE_SUPPORT_VERSION
|
4984
|
+
ibm_Ruby_Thread_Call ( (void *)_ruby_ibm_db_SQLSpecialColumns_helper, col_metadata_args,
|
4985
|
+
(void *)_ruby_ibm_db_Statement_level_UBF, stmt_res );
|
4996
4986
|
rc = col_metadata_args->rc;
|
4997
4987
|
#else
|
4998
4988
|
rc = _ruby_ibm_db_SQLSpecialColumns_helper( col_metadata_args );
|
@@ -5186,9 +5176,9 @@ VALUE ibm_db_statistics(int argc, VALUE *argv, VALUE self)
|
|
5186
5176
|
}
|
5187
5177
|
col_metadata_args->stmt_res = stmt_res;
|
5188
5178
|
|
5189
|
-
#ifdef UNICODE_SUPPORT_VERSION
|
5179
|
+
#ifdef UNICODE_SUPPORT_VERSION
|
5190
5180
|
ibm_Ruby_Thread_Call ( (void *)_ruby_ibm_db_SQLStatistics_helper, col_metadata_args,
|
5191
|
-
|
5181
|
+
(void *)_ruby_ibm_db_Statement_level_UBF, stmt_res );
|
5192
5182
|
rc = col_metadata_args->rc;
|
5193
5183
|
#else
|
5194
5184
|
rc = _ruby_ibm_db_SQLStatistics_helper( col_metadata_args );
|
@@ -5345,9 +5335,9 @@ VALUE ibm_db_table_privileges(int argc, VALUE *argv, VALUE self)
|
|
5345
5335
|
|
5346
5336
|
table_privileges_args->stmt_res = stmt_res;
|
5347
5337
|
|
5348
|
-
#ifdef UNICODE_SUPPORT_VERSION
|
5349
|
-
|
5350
|
-
|
5338
|
+
#ifdef UNICODE_SUPPORT_VERSION
|
5339
|
+
ibm_Ruby_Thread_Call ( (void *)_ruby_ibm_db_SQLTablePrivileges_helper, table_privileges_args,
|
5340
|
+
(void *)_ruby_ibm_db_Statement_level_UBF, stmt_res );
|
5351
5341
|
rc = table_privileges_args->rc;
|
5352
5342
|
#else
|
5353
5343
|
rc = _ruby_ibm_db_SQLTablePrivileges_helper( table_privileges_args );
|
@@ -5519,8 +5509,8 @@ VALUE ibm_db_tables(int argc, VALUE *argv, VALUE self)
|
|
5519
5509
|
|
5520
5510
|
table_metadata_args->stmt_res = stmt_res;
|
5521
5511
|
|
5522
|
-
#ifdef UNICODE_SUPPORT_VERSION
|
5523
|
-
|
5512
|
+
#ifdef UNICODE_SUPPORT_VERSION
|
5513
|
+
ibm_Ruby_Thread_Call ( (void *)_ruby_ibm_db_SQLTables_helper, table_metadata_args,
|
5524
5514
|
(void *)_ruby_ibm_db_Statement_level_UBF, stmt_res );
|
5525
5515
|
rc = table_metadata_args->rc;
|
5526
5516
|
#else
|
@@ -5603,7 +5593,7 @@ VALUE ibm_db_commit(int argc, VALUE *argv, VALUE self)
|
|
5603
5593
|
|
5604
5594
|
#ifdef UNICODE_SUPPORT_VERSION
|
5605
5595
|
ibm_Ruby_Thread_Call ( (void *)_ruby_ibm_db_SQLEndTran, end_X_args,
|
5606
|
-
|
5596
|
+
RUBY_UBF_IO, NULL);
|
5607
5597
|
rc = end_X_args->rc;
|
5608
5598
|
#else
|
5609
5599
|
rc = _ruby_ibm_db_SQLEndTran( end_X_args );
|
@@ -5681,9 +5671,9 @@ static int _ruby_ibm_db_do_prepare(conn_handle *conn_res, VALUE stmt, stmt_handl
|
|
5681
5671
|
prepare_args->stmt_res = stmt_res;
|
5682
5672
|
|
5683
5673
|
/* Prepare the stmt. The cursor type requested has already been set in _ruby_ibm_db_assign_options */
|
5684
|
-
#ifdef UNICODE_SUPPORT_VERSION
|
5685
|
-
|
5686
|
-
|
5674
|
+
#ifdef UNICODE_SUPPORT_VERSION
|
5675
|
+
ibm_Ruby_Thread_Call ( (void *)_ruby_ibm_db_SQLPrepare_helper, prepare_args,
|
5676
|
+
(void *)_ruby_ibm_db_Statement_level_UBF, stmt_res );
|
5687
5677
|
rc = prepare_args->rc;
|
5688
5678
|
#else
|
5689
5679
|
rc = _ruby_ibm_db_SQLPrepare_helper( prepare_args );
|
@@ -5823,9 +5813,9 @@ VALUE ibm_db_exec(int argc, VALUE *argv, VALUE self)
|
|
5823
5813
|
exec_direct_args->stmt_res = stmt_res;
|
5824
5814
|
|
5825
5815
|
|
5826
|
-
#ifdef UNICODE_SUPPORT_VERSION
|
5827
|
-
|
5828
|
-
|
5816
|
+
#ifdef UNICODE_SUPPORT_VERSION
|
5817
|
+
ibm_Ruby_Thread_Call ( (void *)_ruby_ibm_db_SQLExecDirect_helper, exec_direct_args,
|
5818
|
+
(void *)_ruby_ibm_db_Statement_level_UBF, stmt_res );
|
5829
5819
|
rc = exec_direct_args->rc;
|
5830
5820
|
#else
|
5831
5821
|
rc = _ruby_ibm_db_SQLExecDirect_helper( exec_direct_args );
|
@@ -5897,8 +5887,8 @@ VALUE ibm_db_free_result(int argc, VALUE *argv, VALUE self)
|
|
5897
5887
|
freeStmt_args->stmt_res = stmt_res;
|
5898
5888
|
freeStmt_args->option = SQL_CLOSE;
|
5899
5889
|
|
5900
|
-
#ifdef UNICODE_SUPPORT_VERSION
|
5901
|
-
|
5890
|
+
#ifdef UNICODE_SUPPORT_VERSION
|
5891
|
+
ibm_Ruby_Thread_Call ( (void *)_ruby_ibm_db_SQLFreeStmt_helper, freeStmt_args,
|
5902
5892
|
(void *)_ruby_ibm_db_Statement_level_UBF, stmt_res );
|
5903
5893
|
rc = freeStmt_args->rc;
|
5904
5894
|
#else
|
@@ -7015,9 +7005,9 @@ VALUE ibm_db_execute(int argc, VALUE *argv, VALUE self)
|
|
7015
7005
|
bind_array->num = 0;
|
7016
7006
|
bind_array->error = &error;
|
7017
7007
|
|
7018
|
-
#ifdef UNICODE_SUPPORT_VERSION
|
7019
|
-
|
7020
|
-
|
7008
|
+
#ifdef UNICODE_SUPPORT_VERSION
|
7009
|
+
ibm_Ruby_Thread_Call ( (void *)_ruby_ibm_db_execute_helper, bind_array,
|
7010
|
+
RUBY_UBF_IO, NULL );
|
7021
7011
|
ret_value = bind_array->return_value;
|
7022
7012
|
#else
|
7023
7013
|
ret_value = _ruby_ibm_db_execute_helper( bind_array );
|
@@ -7801,9 +7791,9 @@ VALUE ibm_db_next_result(int argc, VALUE *argv, VALUE self)
|
|
7801
7791
|
nextresultparams->stmt_res = stmt_res;
|
7802
7792
|
nextresultparams->new_hstmt = &new_hstmt;
|
7803
7793
|
|
7804
|
-
#ifdef UNICODE_SUPPORT_VERSION
|
7805
|
-
|
7806
|
-
|
7794
|
+
#ifdef UNICODE_SUPPORT_VERSION
|
7795
|
+
ibm_Ruby_Thread_Call ( (void *)_ruby_ibm_db_SQLNextResult_helper, nextresultparams,
|
7796
|
+
(void *)_ruby_ibm_db_Statement_level_UBF, stmt_res );
|
7807
7797
|
rc = nextresultparams->rc;
|
7808
7798
|
#else
|
7809
7799
|
rc = _ruby_ibm_db_SQLNextResult_helper( nextresultparams );
|
@@ -7903,8 +7893,8 @@ VALUE ibm_db_num_fields(int argc, VALUE *argv, VALUE self)
|
|
7903
7893
|
result_cols_args->count = 0;
|
7904
7894
|
|
7905
7895
|
#ifdef UNICODE_SUPPORT_VERSION
|
7906
|
-
|
7907
|
-
|
7896
|
+
ibm_Ruby_Thread_Call ( (void *)_ruby_ibm_db_SQLNumResultCols_helper, result_cols_args,
|
7897
|
+
(void *)_ruby_ibm_db_Statement_level_UBF, stmt_res );
|
7908
7898
|
rc = result_cols_args->rc;
|
7909
7899
|
#else
|
7910
7900
|
rc = _ruby_ibm_db_SQLNumResultCols_helper( result_cols_args );
|
@@ -7995,9 +7985,9 @@ VALUE ibm_db_num_rows(int argc, VALUE *argv, VALUE self)
|
|
7995
7985
|
row_count_args->stmt_res = stmt_res;
|
7996
7986
|
row_count_args->count = 0;
|
7997
7987
|
|
7998
|
-
#ifdef UNICODE_SUPPORT_VERSION
|
7999
|
-
|
8000
|
-
|
7988
|
+
#ifdef UNICODE_SUPPORT_VERSION
|
7989
|
+
ibm_Ruby_Thread_Call ( (void *)_ruby_ibm_db_SQLRowCount_helper, row_count_args,
|
7990
|
+
RUBY_UBF_IO, NULL );
|
8001
7991
|
rc = row_count_args->rc;
|
8002
7992
|
#else
|
8003
7993
|
rc = _ruby_ibm_db_SQLRowCount_helper( row_count_args );
|
@@ -8053,8 +8043,8 @@ static int _ruby_ibm_db_get_column_by_name(stmt_handle *stmt_res, VALUE column,
|
|
8053
8043
|
if ( release_gil == 1 ) {
|
8054
8044
|
|
8055
8045
|
#ifdef UNICODE_SUPPORT_VERSION
|
8056
|
-
|
8057
|
-
|
8046
|
+
ibm_Ruby_Thread_Call ( (void *)_ruby_ibm_db_get_result_set_info, stmt_res,
|
8047
|
+
(void *)_ruby_ibm_db_Statement_level_UBF, stmt_res );
|
8058
8048
|
rc = stmt_res->rc;
|
8059
8049
|
#else
|
8060
8050
|
rc = _ruby_ibm_db_get_result_set_info( stmt_res );
|
@@ -8216,9 +8206,9 @@ VALUE ibm_db_field_display_size(int argc, VALUE *argv, VALUE self)
|
|
8216
8206
|
colattr_args->col_num = col+1;
|
8217
8207
|
colattr_args->FieldIdentifier = SQL_DESC_DISPLAY_SIZE;
|
8218
8208
|
|
8219
|
-
#ifdef UNICODE_SUPPORT_VERSION
|
8220
|
-
|
8221
|
-
|
8209
|
+
#ifdef UNICODE_SUPPORT_VERSION
|
8210
|
+
ibm_Ruby_Thread_Call ( (void *)_ruby_ibm_db_SQLColAttributes_helper, colattr_args,
|
8211
|
+
(void *)_ruby_ibm_db_Statement_level_UBF, stmt_res );
|
8222
8212
|
rc = colattr_args->rc;
|
8223
8213
|
#else
|
8224
8214
|
rc = _ruby_ibm_db_SQLColAttributes_helper( colattr_args );
|
@@ -8537,9 +8527,9 @@ VALUE ibm_db_field_width(int argc, VALUE *argv, VALUE self)
|
|
8537
8527
|
colattr_args->col_num = col+1;
|
8538
8528
|
colattr_args->FieldIdentifier = SQL_DESC_LENGTH;
|
8539
8529
|
|
8540
|
-
#ifdef UNICODE_SUPPORT_VERSION
|
8530
|
+
#ifdef UNICODE_SUPPORT_VERSION
|
8541
8531
|
ibm_Ruby_Thread_Call ( (void *)_ruby_ibm_db_SQLColAttributes_helper, colattr_args,
|
8542
|
-
|
8532
|
+
(void *)_ruby_ibm_db_Statement_level_UBF, stmt_res);
|
8543
8533
|
rc = colattr_args->rc;
|
8544
8534
|
#else
|
8545
8535
|
rc = _ruby_ibm_db_SQLColAttributes_helper( colattr_args );
|
@@ -8641,7 +8631,7 @@ VALUE ibm_db_rollback(int argc, VALUE *argv, VALUE self)
|
|
8641
8631
|
end_X_args->completionType = SQL_ROLLBACK; /*Remeber you are Rollingback the transaction*/
|
8642
8632
|
#ifdef UNICODE_SUPPORT_VERSION
|
8643
8633
|
ibm_Ruby_Thread_Call ( (void *)_ruby_ibm_db_SQLEndTran, end_X_args,
|
8644
|
-
|
8634
|
+
RUBY_UBF_IO, NULL);
|
8645
8635
|
rc = end_X_args->rc;
|
8646
8636
|
#else
|
8647
8637
|
rc = _ruby_ibm_db_SQLEndTran( end_X_args );
|
@@ -9262,8 +9252,8 @@ VALUE ibm_db_result(int argc, VALUE *argv, VALUE self)
|
|
9262
9252
|
Data_Get_Struct(stmt, stmt_handle, result_args->stmt_res);
|
9263
9253
|
|
9264
9254
|
#ifdef UNICODE_SUPPORT_VERSION
|
9265
|
-
|
9266
|
-
|
9255
|
+
ibm_Ruby_Thread_Call ( (void *)_ruby_ibm_db_result_helper, result_args,
|
9256
|
+
(void *)_ruby_ibm_db_Statement_level_UBF, result_args->stmt_res );
|
9267
9257
|
ret_val = result_args->return_value;
|
9268
9258
|
#else
|
9269
9259
|
ret_val = _ruby_ibm_db_result_helper( result_args );
|
@@ -9600,7 +9590,7 @@ static VALUE _ruby_ibm_db_bind_fetch_helper(ibm_db_fetch_helper_args *data)
|
|
9600
9590
|
return Qnil;
|
9601
9591
|
}
|
9602
9592
|
|
9603
|
-
strcpy(tmpStr, "BigDecimal
|
9593
|
+
strcpy(tmpStr, "BigDecimal(\'");
|
9604
9594
|
strcat(tmpStr, row_data->str_val);
|
9605
9595
|
strcat(tmpStr, "\')");
|
9606
9596
|
|
@@ -10082,9 +10072,9 @@ VALUE ibm_db_fetch_row(int argc, VALUE *argv, VALUE self)
|
|
10082
10072
|
helper_args->arg_count = argc;
|
10083
10073
|
helper_args->error = &error;
|
10084
10074
|
|
10085
|
-
#ifdef UNICODE_SUPPORT_VERSION
|
10075
|
+
#ifdef UNICODE_SUPPORT_VERSION
|
10086
10076
|
ibm_Ruby_Thread_Call ( (void *)_ruby_ibm_db_fetch_row_helper, helper_args,
|
10087
|
-
|
10077
|
+
RUBY_UBF_IO, NULL );
|
10088
10078
|
ret_val = helper_args->return_value;
|
10089
10079
|
#else
|
10090
10080
|
ret_val = _ruby_ibm_db_fetch_row_helper( helper_args );
|
@@ -10251,9 +10241,9 @@ VALUE ibm_db_fetch_assoc(int argc, VALUE *argv, VALUE self) {
|
|
10251
10241
|
helper_args->error = &error;
|
10252
10242
|
helper_args->funcType = FETCH_ASSOC;
|
10253
10243
|
|
10254
|
-
#ifdef UNICODE_SUPPORT_VERSION
|
10255
|
-
|
10256
|
-
|
10244
|
+
#ifdef UNICODE_SUPPORT_VERSION
|
10245
|
+
ibm_Ruby_Thread_Call ( (void *)_ruby_ibm_db_bind_fetch_helper, helper_args,
|
10246
|
+
RUBY_UBF_IO, NULL );
|
10257
10247
|
ret_val = helper_args->return_value;
|
10258
10248
|
|
10259
10249
|
#else
|
@@ -10340,9 +10330,9 @@ VALUE ibm_db_fetch_object(int argc, VALUE *argv, VALUE self)
|
|
10340
10330
|
helper_args->error = &error;
|
10341
10331
|
helper_args->funcType = FETCH_ASSOC;
|
10342
10332
|
|
10343
|
-
#ifdef UNICODE_SUPPORT_VERSION
|
10333
|
+
#ifdef UNICODE_SUPPORT_VERSION
|
10344
10334
|
ibm_Ruby_Thread_Call ( (void *)_ruby_ibm_db_bind_fetch_helper, helper_args,
|
10345
|
-
|
10335
|
+
(void *)_ruby_ibm_db_Statement_level_UBF, stmt_res );
|
10346
10336
|
row_res->hash = helper_args->return_value;
|
10347
10337
|
#else
|
10348
10338
|
row_res->hash = _ruby_ibm_db_bind_fetch_helper( helper_args );
|
@@ -10422,17 +10412,15 @@ VALUE ibm_db_fetch_array(int argc, VALUE *argv, VALUE self)
|
|
10422
10412
|
helper_args->arg_count = argc;
|
10423
10413
|
helper_args->error = &error;
|
10424
10414
|
helper_args->funcType = FETCH_INDEX;
|
10425
|
-
|
10426
10415
|
//Call without thread API to avoid the Thread lock.
|
10427
10416
|
ret_val = _ruby_ibm_db_bind_fetch_helper( helper_args );
|
10428
|
-
|
10429
|
-
|
10430
|
-
|
10431
|
-
|
10432
|
-
|
10433
|
-
//
|
10417
|
+
//#ifdef UNICODE_SUPPORT_VERSION
|
10418
|
+
//ibm_Ruby_Thread_Call ( (void *)_ruby_ibm_db_bind_fetch_helper, helper_args,
|
10419
|
+
// RUBY_UBF_IO, NULL );
|
10420
|
+
//ret_val = helper_args->return_value;
|
10421
|
+
|
10434
10422
|
//#else
|
10435
|
-
|
10423
|
+
//ret_val = _ruby_ibm_db_bind_fetch_helper( helper_args );
|
10436
10424
|
//#endif
|
10437
10425
|
|
10438
10426
|
/*Free Memory Allocated*/
|
@@ -10504,9 +10492,9 @@ VALUE ibm_db_fetch_both(int argc, VALUE *argv, VALUE self)
|
|
10504
10492
|
helper_args->error = &error;
|
10505
10493
|
helper_args->funcType = FETCH_BOTH;
|
10506
10494
|
|
10507
|
-
#ifdef
|
10495
|
+
#ifdef UNICODE_SUPPORT_VERSIO
|
10508
10496
|
ibm_Ruby_Thread_Call ( (void *)_ruby_ibm_db_bind_fetch_helper, helper_args,
|
10509
|
-
|
10497
|
+
RUBY_UBF_IO, NULL );
|
10510
10498
|
ret_val = helper_args->return_value;
|
10511
10499
|
#else
|
10512
10500
|
ret_val = _ruby_ibm_db_bind_fetch_helper( helper_args );
|
@@ -11272,8 +11260,9 @@ VALUE ibm_db_server_info(int argc, VALUE *argv, VALUE self)
|
|
11272
11260
|
getInfo_args->infoValue = NULL;
|
11273
11261
|
getInfo_args->buff_length = 0;
|
11274
11262
|
#ifdef UNICODE_SUPPORT_VERSION
|
11275
|
-
|
11276
|
-
|
11263
|
+
// Thread.current.report_on_exception = Qfalse;
|
11264
|
+
ibm_Ruby_Thread_Call ( (void *)ibm_db_server_info_helper, getInfo_args,
|
11265
|
+
RUBY_UBF_IO, NULL);
|
11277
11266
|
return_value = getInfo_args->return_value;
|
11278
11267
|
#else
|
11279
11268
|
return_value = ibm_db_server_info_helper( getInfo_args );
|
@@ -11567,10 +11556,10 @@ VALUE ibm_db_client_info(int argc, VALUE *argv, VALUE self)
|
|
11567
11556
|
getInfo_args->infoType = 0;
|
11568
11557
|
getInfo_args->infoValue = NULL;
|
11569
11558
|
getInfo_args->buff_length = 0;
|
11570
|
-
|
11559
|
+
// using the default unblock funtion RUBY_UBF_IO instead of defined unblock function
|
11571
11560
|
#ifdef UNICODE_SUPPORT_VERSION
|
11572
11561
|
ibm_Ruby_Thread_Call ( (void *)ibm_db_client_info_helper, getInfo_args,
|
11573
|
-
|
11562
|
+
RUBY_UBF_IO, NULL);
|
11574
11563
|
return_value = getInfo_args->return_value;
|
11575
11564
|
|
11576
11565
|
#else
|
@@ -11885,3 +11874,6 @@ VALUE ibm_db_get_last_serial_value(int argc, VALUE *argv, VALUE self)
|
|
11885
11874
|
* vim600: noet sw=4 ts=4 fdm=marker
|
11886
11875
|
* vim<600: noet sw=4 ts=4
|
11887
11876
|
*/
|
11877
|
+
|
11878
|
+
/*
|
11879
|
+
+----------------------------------------------------------------------+*/
|