activerecord-oracle_enhanced-adapter 5.2.0.beta1 → 5.2.0.rc1
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 +4 -4
- data/History.md +1 -1
- data/VERSION +1 -1
- data/lib/active_record/connection_adapters/oracle_enhanced/context_index.rb +3 -3
- data/lib/active_record/connection_adapters/oracle_enhanced/database_statements.rb +16 -0
- data/lib/active_record/connection_adapters/oracle_enhanced/oci_connection.rb +1 -1
- data/lib/active_record/connection_adapters/oracle_enhanced/schema_statements.rb +3 -3
- data/lib/active_record/connection_adapters/oracle_enhanced_adapter.rb +1 -5
- data/lib/active_record/type/oracle_enhanced/national_character_text.rb +1 -1
- data/lib/active_record/type/oracle_enhanced/text.rb +1 -1
- data/spec/active_record/connection_adapters/oracle_enhanced/structure_dump_spec.rb +7 -7
- data/spec/active_record/connection_adapters/oracle_enhanced_adapter_spec.rb +1 -0
- data/spec/active_record/oracle_enhanced/type/boolean_spec.rb +1 -0
- data/spec/active_record/oracle_enhanced/type/national_character_text_spec.rb +1 -1
- data/spec/active_record/oracle_enhanced/type/text_spec.rb +1 -1
- metadata +26 -26
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 8e19195d88863e1aee0c0455835a4b147089cf1d63f186313781c7a873971584
         | 
| 4 | 
            +
              data.tar.gz: b00a09707c748ce35f909a8bd9130236384e8b93fd968f44db018500dfecd957
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: '08d0dafa1bd9ab6babb68da03bdb4d72b0d5778c60065afbfaca1cd58b765705d6b3794343bae0d4d3c423f26206c776a54a20922aaa610d2f758af57e827729'
         | 
| 7 | 
            +
              data.tar.gz: 0fe5601895d3c5bee38f624908a89c8bbd2b3717f63769abb9c5169536e1aacdbc9a6fea490b8a30a5ad6a02964063a7182dbbefd76375d9a40f561341ec287e
         | 
    
        data/History.md
    CHANGED
    
    | @@ -2,7 +2,7 @@ | |
| 2 2 |  | 
| 3 3 | 
             
            * Major changes and fixes
         | 
| 4 4 |  | 
| 5 | 
            -
              * Support Rails 5.2.0.beta1 | 
| 5 | 
            +
              * Support Rails 5.2.0.beta1
         | 
| 6 6 | 
             
              * Oracle enhanced adapter version follows Rails versioning [#1488]
         | 
| 7 7 | 
             
              * Handle `TIMESTAMP WITH TIMEZONE` separately from `TIMEZONE` [#1267]
         | 
| 8 8 | 
             
              * Support `timestamptz` and `timestampltz` for migrations #1285
         | 
    
        data/VERSION
    CHANGED
    
    | @@ -1 +1 @@ | |
| 1 | 
            -
            5.2.0. | 
| 1 | 
            +
            5.2.0.rc1
         | 
| @@ -231,7 +231,7 @@ module ActiveRecord | |
| 231 231 | 
             
                          default_clause = case clause
         | 
| 232 232 | 
             
                                           when "R_TABLE_CLAUSE"; "LOB(DATA) STORE AS (CACHE) "
         | 
| 233 233 | 
             
                                           when "I_INDEX_CLAUSE"; "COMPRESS 2 "
         | 
| 234 | 
            -
             | 
| 234 | 
            +
                                           else ""
         | 
| 235 235 | 
             
                          end
         | 
| 236 236 | 
             
                          sql << "CTX_DDL.SET_ATTRIBUTE('#{storage_name}', '#{clause}', '#{default_clause}TABLESPACE #{tablespace}');\n"
         | 
| 237 237 | 
             
                        end
         | 
| @@ -248,7 +248,7 @@ module ActiveRecord | |
| 248 248 | 
             
                                        when true; "'YES'"
         | 
| 249 249 | 
             
                                        when false; "'NO'"
         | 
| 250 250 | 
             
                                        when nil; "NULL"
         | 
| 251 | 
            -
             | 
| 251 | 
            +
                                        else value
         | 
| 252 252 | 
             
                          end
         | 
| 253 253 | 
             
                          sql << "CTX_DDL.SET_ATTRIBUTE('#{lexer_name}', '#{key}', #{plsql_value});\n"
         | 
| 254 254 | 
             
                        end
         | 
| @@ -265,7 +265,7 @@ module ActiveRecord | |
| 265 265 | 
             
                                        when true; "'YES'"
         | 
| 266 266 | 
             
                                        when false; "'NO'"
         | 
| 267 267 | 
             
                                        when nil; "NULL"
         | 
| 268 | 
            -
             | 
| 268 | 
            +
                                        else value
         | 
| 269 269 | 
             
                          end
         | 
| 270 270 | 
             
                          sql << "CTX_DDL.SET_ATTRIBUTE('#{wordlist_name}', '#{key}', #{plsql_value});\n"
         | 
| 271 271 | 
             
                        end
         | 
| @@ -224,11 +224,27 @@ module ActiveRecord | |
| 224 224 |  | 
| 225 225 | 
             
                    # fallback to non bulk fixture insert
         | 
| 226 226 | 
             
                    def insert_fixtures(fixtures, table_name)
         | 
| 227 | 
            +
                      ActiveSupport::Deprecation.warn(<<-MSG.squish)
         | 
| 228 | 
            +
                        `insert_fixtures` is deprecated and will be removed in the next version of Rails.
         | 
| 229 | 
            +
                        Consider using `insert_fixtures_set` for performance improvement.
         | 
| 230 | 
            +
                      MSG
         | 
| 227 231 | 
             
                      fixtures.each do |fixture|
         | 
| 228 232 | 
             
                        insert_fixture(fixture, table_name)
         | 
| 229 233 | 
             
                      end
         | 
| 230 234 | 
             
                    end
         | 
| 231 235 |  | 
| 236 | 
            +
                    def insert_fixtures_set(fixture_set, tables_to_delete = [])
         | 
| 237 | 
            +
                      disable_referential_integrity do
         | 
| 238 | 
            +
                        transaction(requires_new: true) do
         | 
| 239 | 
            +
                          tables_to_delete.each { |table| delete "DELETE FROM #{quote_table_name(table)}", "Fixture Delete" }
         | 
| 240 | 
            +
             | 
| 241 | 
            +
                          fixture_set.each do |table_name, rows|
         | 
| 242 | 
            +
                            rows.each { |row| insert_fixture(row, table_name) }
         | 
| 243 | 
            +
                          end
         | 
| 244 | 
            +
                        end
         | 
| 245 | 
            +
                      end
         | 
| 246 | 
            +
                    end
         | 
| 247 | 
            +
             | 
| 232 248 | 
             
                    # Oracle Database does not support this feature
         | 
| 233 249 | 
             
                    # Refer https://community.oracle.com/ideas/13845 and consider to vote
         | 
| 234 250 | 
             
                    # if you need this feature.
         | 
| @@ -269,7 +269,7 @@ module ActiveRecord | |
| 269 269 | 
             
                                                                 [value.year, value.month, value.day, value.hour, value.min, value.sec, value.usec]
         | 
| 270 270 | 
             
                                                               when OraDate
         | 
| 271 271 | 
             
                                                                 [value.year, value.month, value.day, value.hour, value.minute, value.second, 0]
         | 
| 272 | 
            -
             | 
| 272 | 
            +
                                                               else
         | 
| 273 273 | 
             
                                                                 [value.year, value.month, value.day, value.hour, value.min, value.sec, 0]
         | 
| 274 274 | 
             
                      end
         | 
| 275 275 | 
             
                      # code from Time.time_with_datetime_fallback
         | 
| @@ -128,7 +128,7 @@ module ActiveRecord | |
| 128 128 | 
             
                            row["index_name"],
         | 
| 129 129 | 
             
                            row["uniqueness"] == "UNIQUE",
         | 
| 130 130 | 
             
                            [],
         | 
| 131 | 
            -
                             | 
| 131 | 
            +
                            {},
         | 
| 132 132 | 
             
                            row["index_type"] == "DOMAIN" ? "#{row['ityp_owner']}.#{row['ityp_name']}" : nil,
         | 
| 133 133 | 
             
                            row["parameters"],
         | 
| 134 134 | 
             
                            statement_parameters,
         | 
| @@ -290,7 +290,7 @@ module ActiveRecord | |
| 290 290 | 
             
                      index_name = options[:name].to_s if options.key?(:name)
         | 
| 291 291 | 
             
                      tablespace = tablespace_for(:index, options[:tablespace])
         | 
| 292 292 | 
             
                      max_index_length = options.fetch(:internal, false) ? index_name_length : allowed_index_name_length
         | 
| 293 | 
            -
                      #TODO: This option is used for NOLOGGING, needs better argumetn name
         | 
| 293 | 
            +
                      # TODO: This option is used for NOLOGGING, needs better argumetn name
         | 
| 294 294 | 
             
                      index_options = options[:options]
         | 
| 295 295 |  | 
| 296 296 | 
             
                      if index_name.to_s.length > max_index_length
         | 
| @@ -308,7 +308,7 @@ module ActiveRecord | |
| 308 308 | 
             
                    # Gives warning if index does not exist
         | 
| 309 309 | 
             
                    def remove_index(table_name, options = {}) #:nodoc:
         | 
| 310 310 | 
             
                      index_name = index_name_for_remove(table_name, options)
         | 
| 311 | 
            -
                      #TODO: It should execute only when index_type == "UNIQUE"
         | 
| 311 | 
            +
                      # TODO: It should execute only when index_type == "UNIQUE"
         | 
| 312 312 | 
             
                      execute "ALTER TABLE #{quote_table_name(table_name)} DROP CONSTRAINT #{quote_column_name(index_name)}" rescue nil
         | 
| 313 313 | 
             
                      execute "DROP INDEX #{quote_column_name(index_name)}"
         | 
| 314 314 | 
             
                    end
         | 
| @@ -646,11 +646,7 @@ module ActiveRecord | |
| 646 646 | 
             
                      end
         | 
| 647 647 |  | 
| 648 648 | 
             
                      if OracleEnhancedAdapter.emulate_booleans
         | 
| 649 | 
            -
                         | 
| 650 | 
            -
                          m.register_type %r(^VARCHAR2\(1\))i, Type::OracleEnhanced::Boolean.new
         | 
| 651 | 
            -
                        else
         | 
| 652 | 
            -
                          m.register_type %r(^NUMBER\(1\))i, Type::Boolean.new
         | 
| 653 | 
            -
                        end
         | 
| 649 | 
            +
                        m.register_type %r(^NUMBER\(1\))i, Type::Boolean.new
         | 
| 654 650 | 
             
                      end
         | 
| 655 651 | 
             
                    end
         | 
| 656 652 |  | 
| @@ -7,7 +7,7 @@ module ActiveRecord | |
| 7 7 | 
             
                module OracleEnhanced
         | 
| 8 8 | 
             
                  class Text < ActiveRecord::Type::Text # :nodoc:
         | 
| 9 9 | 
             
                    def changed_in_place?(raw_old_value, new_value)
         | 
| 10 | 
            -
                      #TODO: Needs to find a way not to cast here.
         | 
| 10 | 
            +
                      # TODO: Needs to find a way not to cast here.
         | 
| 11 11 | 
             
                      raw_old_value = cast(raw_old_value)
         | 
| 12 12 | 
             
                      super
         | 
| 13 13 | 
             
                    end
         | 
| @@ -394,15 +394,15 @@ describe "OracleEnhancedAdapter structure dump" do | |
| 394 394 | 
             
                  @conn.create_table :full_drop_test_temp, temporary: true do |t|
         | 
| 395 395 | 
             
                    t.string :foo
         | 
| 396 396 | 
             
                  end
         | 
| 397 | 
            -
                  #view
         | 
| 397 | 
            +
                  # view
         | 
| 398 398 | 
             
                  @conn.execute <<-SQL
         | 
| 399 399 | 
             
                    create or replace view full_drop_test_view (foo) as select id as "foo" from full_drop_test
         | 
| 400 400 | 
             
                  SQL
         | 
| 401 | 
            -
                  #materialized view
         | 
| 401 | 
            +
                  # materialized view
         | 
| 402 402 | 
             
                  @conn.execute <<-SQL
         | 
| 403 403 | 
             
                    create materialized view full_drop_test_mview (foo) as select id as "foo" from full_drop_test
         | 
| 404 404 | 
             
                  SQL
         | 
| 405 | 
            -
                  #package
         | 
| 405 | 
            +
                  # package
         | 
| 406 406 | 
             
                  @conn.execute <<-SQL
         | 
| 407 407 | 
             
                    create or replace package full_drop_test_package as
         | 
| 408 408 | 
             
                      function test_func return varchar2;
         | 
| @@ -416,7 +416,7 @@ describe "OracleEnhancedAdapter structure dump" do | |
| 416 416 | 
             
                      end test_func;
         | 
| 417 417 | 
             
                    end test_package;
         | 
| 418 418 | 
             
                  SQL
         | 
| 419 | 
            -
                  #function
         | 
| 419 | 
            +
                  # function
         | 
| 420 420 | 
             
                  @conn.execute <<-SQL
         | 
| 421 421 | 
             
                    create or replace function full_drop_test_function
         | 
| 422 422 | 
             
                      return varchar2
         | 
| @@ -426,7 +426,7 @@ describe "OracleEnhancedAdapter structure dump" do | |
| 426 426 | 
             
                      return('foo');
         | 
| 427 427 | 
             
                    end;
         | 
| 428 428 | 
             
                  SQL
         | 
| 429 | 
            -
                  #procedure
         | 
| 429 | 
            +
                  # procedure
         | 
| 430 430 | 
             
                  @conn.execute <<-SQL
         | 
| 431 431 | 
             
                    create or replace procedure full_drop_test_procedure
         | 
| 432 432 | 
             
                    begin
         | 
| @@ -436,11 +436,11 @@ describe "OracleEnhancedAdapter structure dump" do | |
| 436 436 | 
             
                      dbms_output.put_line('foo');
         | 
| 437 437 | 
             
                    end;
         | 
| 438 438 | 
             
                  SQL
         | 
| 439 | 
            -
                  #synonym
         | 
| 439 | 
            +
                  # synonym
         | 
| 440 440 | 
             
                  @conn.execute <<-SQL
         | 
| 441 441 | 
             
                    create or replace synonym full_drop_test_synonym for full_drop_test
         | 
| 442 442 | 
             
                  SQL
         | 
| 443 | 
            -
                  #type
         | 
| 443 | 
            +
                  # type
         | 
| 444 444 | 
             
                  @conn.execute <<-SQL
         | 
| 445 445 | 
             
                    create or replace type full_drop_test_type as table of number
         | 
| 446 446 | 
             
                  SQL
         | 
| @@ -573,6 +573,7 @@ describe "OracleEnhancedAdapter" do | |
| 573 573 | 
             
                end
         | 
| 574 574 |  | 
| 575 575 | 
             
                it "Raises Deadlocked when a deadlock is encountered" do
         | 
| 576 | 
            +
                  skip "Skip temporary due to #1599" if ActiveRecord::Base.connection.supports_fetch_first_n_rows_and_offset?
         | 
| 576 577 | 
             
                  expect {
         | 
| 577 578 | 
             
                    barrier = Concurrent::CyclicBarrier.new(2)
         | 
| 578 579 |  | 
| @@ -97,7 +97,7 @@ describe "OracleEnhancedAdapter handling of NCLOB columns" do | |
| 97 97 | 
             
                @employee.comments = {}
         | 
| 98 98 | 
             
                expect(@employee.save).to eq(true)
         | 
| 99 99 | 
             
                @employee.reload
         | 
| 100 | 
            -
                #should not set readonly
         | 
| 100 | 
            +
                # should not set readonly
         | 
| 101 101 | 
             
                expect(@employee.comments).to be_nil
         | 
| 102 102 | 
             
              end
         | 
| 103 103 |  | 
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: activerecord-oracle_enhanced-adapter
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 5.2.0. | 
| 4 | 
            +
              version: 5.2.0.rc1
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Raimonds Simanovskis
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date:  | 
| 11 | 
            +
            date: 2018-01-31 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: activerecord
         | 
| @@ -16,14 +16,14 @@ dependencies: | |
| 16 16 | 
             
                requirements:
         | 
| 17 17 | 
             
                - - "~>"
         | 
| 18 18 | 
             
                  - !ruby/object:Gem::Version
         | 
| 19 | 
            -
                    version: 5.2.0. | 
| 19 | 
            +
                    version: 5.2.0.rc
         | 
| 20 20 | 
             
              type: :runtime
         | 
| 21 21 | 
             
              prerelease: false
         | 
| 22 22 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 23 23 | 
             
                requirements:
         | 
| 24 24 | 
             
                - - "~>"
         | 
| 25 25 | 
             
                  - !ruby/object:Gem::Version
         | 
| 26 | 
            -
                    version: 5.2.0. | 
| 26 | 
            +
                    version: 5.2.0.rc
         | 
| 27 27 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 28 28 | 
             
              name: ruby-plsql
         | 
| 29 29 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -134,36 +134,36 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 134 134 | 
             
                  version: 1.8.11
         | 
| 135 135 | 
             
            requirements: []
         | 
| 136 136 | 
             
            rubyforge_project: 
         | 
| 137 | 
            -
            rubygems_version: 2.7. | 
| 137 | 
            +
            rubygems_version: 2.7.3
         | 
| 138 138 | 
             
            signing_key: 
         | 
| 139 139 | 
             
            specification_version: 4
         | 
| 140 140 | 
             
            summary: Oracle enhanced adapter for ActiveRecord
         | 
| 141 141 | 
             
            test_files:
         | 
| 142 | 
            -
            - spec/ | 
| 143 | 
            -
            - spec/ | 
| 144 | 
            -
            - spec/ | 
| 145 | 
            -
            - spec/ | 
| 146 | 
            -
            - spec/ | 
| 142 | 
            +
            - spec/active_record/connection_adapters/emulation/oracle_adapter_spec.rb
         | 
| 143 | 
            +
            - spec/active_record/connection_adapters/oracle_enhanced_data_types_spec.rb
         | 
| 144 | 
            +
            - spec/active_record/connection_adapters/oracle_enhanced_adapter_spec.rb
         | 
| 145 | 
            +
            - spec/active_record/connection_adapters/oracle_enhanced/database_tasks_spec.rb
         | 
| 146 | 
            +
            - spec/active_record/connection_adapters/oracle_enhanced/schema_dumper_spec.rb
         | 
| 147 | 
            +
            - spec/active_record/connection_adapters/oracle_enhanced/structure_dump_spec.rb
         | 
| 148 | 
            +
            - spec/active_record/connection_adapters/oracle_enhanced/quoting_spec.rb
         | 
| 149 | 
            +
            - spec/active_record/connection_adapters/oracle_enhanced/context_index_spec.rb
         | 
| 150 | 
            +
            - spec/active_record/connection_adapters/oracle_enhanced/procedures_spec.rb
         | 
| 151 | 
            +
            - spec/active_record/connection_adapters/oracle_enhanced/schema_statements_spec.rb
         | 
| 152 | 
            +
            - spec/active_record/connection_adapters/oracle_enhanced/connection_spec.rb
         | 
| 153 | 
            +
            - spec/active_record/connection_adapters/oracle_enhanced/dbms_output_spec.rb
         | 
| 147 154 | 
             
            - spec/active_record/oracle_enhanced/type/integer_spec.rb
         | 
| 148 155 | 
             
            - spec/active_record/oracle_enhanced/type/national_character_text_spec.rb
         | 
| 149 156 | 
             
            - spec/active_record/oracle_enhanced/type/timestamp_spec.rb
         | 
| 157 | 
            +
            - spec/active_record/oracle_enhanced/type/binary_spec.rb
         | 
| 158 | 
            +
            - spec/active_record/oracle_enhanced/type/national_character_string_spec.rb
         | 
| 150 159 | 
             
            - spec/active_record/oracle_enhanced/type/raw_spec.rb
         | 
| 160 | 
            +
            - spec/active_record/oracle_enhanced/type/float_spec.rb
         | 
| 151 161 | 
             
            - spec/active_record/oracle_enhanced/type/dirty_spec.rb
         | 
| 152 162 | 
             
            - spec/active_record/oracle_enhanced/type/json_spec.rb
         | 
| 153 | 
            -
            - spec/active_record/oracle_enhanced/type/float_spec.rb
         | 
| 154 | 
            -
            - spec/active_record/oracle_enhanced/type/boolean_spec.rb
         | 
| 155 | 
            -
            - spec/active_record/oracle_enhanced/type/national_character_string_spec.rb
         | 
| 156 | 
            -
            - spec/active_record/oracle_enhanced/type/binary_spec.rb
         | 
| 157 163 | 
             
            - spec/active_record/oracle_enhanced/type/text_spec.rb
         | 
| 158 | 
            -
            - spec/active_record/ | 
| 159 | 
            -
            - spec/ | 
| 160 | 
            -
            - spec/ | 
| 161 | 
            -
            - spec/ | 
| 162 | 
            -
            - spec/ | 
| 163 | 
            -
            - spec/ | 
| 164 | 
            -
            - spec/active_record/connection_adapters/oracle_enhanced/connection_spec.rb
         | 
| 165 | 
            -
            - spec/active_record/connection_adapters/oracle_enhanced/context_index_spec.rb
         | 
| 166 | 
            -
            - spec/active_record/connection_adapters/oracle_enhanced/structure_dump_spec.rb
         | 
| 167 | 
            -
            - spec/active_record/connection_adapters/oracle_enhanced/schema_dumper_spec.rb
         | 
| 168 | 
            -
            - spec/active_record/connection_adapters/oracle_enhanced/quoting_spec.rb
         | 
| 169 | 
            -
            - spec/active_record/connection_adapters/emulation/oracle_adapter_spec.rb
         | 
| 164 | 
            +
            - spec/active_record/oracle_enhanced/type/boolean_spec.rb
         | 
| 165 | 
            +
            - spec/spec_config.yaml.template
         | 
| 166 | 
            +
            - spec/spec_helper.rb
         | 
| 167 | 
            +
            - spec/support/create_oracle_enhanced_users.sql
         | 
| 168 | 
            +
            - spec/support/alter_system_user_password.sql
         | 
| 169 | 
            +
            - spec/support/alter_system_set_open_cursors.sql
         |