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 
     | 
    
         
            +
              +----------------------------------------------------------------------+*/
         
     |