1. 13 4月, 2019 1 次提交
    • Y
      use PostgreSQL's bulk_alter_table implementation · 53f1b3e5
      Yoshiyuki Kinjo 提交于
      Running this migration on mysql at current master fails
      because `add_references_for_alter` is missing.
      
      ```
      change_table :users, bulk: true do |t|
        t.references :article
      end
      ```
      
      This is also true for postgresql adapter,
      but its `bulk_alter_table` implementation can fallback in such case.
      postgresql's implementation is desirable to prevent unknown failure like this.
      53f1b3e5
  2. 12 4月, 2019 24 次提交
  3. 11 4月, 2019 15 次提交
    • R
      Merge pull request #35945 from soartec-lab/update_guide_engine_sample_code_block · d2767a0f
      Rafael França 提交于
      Code is enclosed by code block [skip ci]
      d2767a0f
    • R
      Merge pull request #35944 from soartec-lab/update_guide_engine_gem_development_dependency · 9ba39456
      Rafael França 提交于
      Updated the description of `add_development_dependency` [skip ci]
      9ba39456
    • S
      Code is enclosed by code block [skip ci] · d7c1ecf5
      soartec-lab 提交于
      d7c1ecf5
    • S
      56716630
    • S
      Use modele to generate generated defaults [skip ci] · c816dde0
      soartec-lab 提交于
      c816dde0
    • Y
      Address `ORA-01795: maximum number of expressions in a list is 1000` · 029d05fb
      Yasuo Honda 提交于
      * To address this error, this commit splits expressions by slices of 1000 elements.
      
      * "Oracle Database Error Messages 18c"
      https://docs.oracle.com/en/database/oracle/oracle-database/18/errmg/
      
      ```
      ORA-01795: maximum number of expressions in a list is 1000
      Cause: Number of expressions in the query exceeded than 1000. Note that unused column/expressions are also counted Maximum number of expressions that are allowed are 1000.
      ```
      
      * This commit addresses this ORA-01795 error
      
      Note: Actually addressing this error raises another "ORA-00913: too many values"
      Number of values Oracle database allows is 65535 regardless bind values or literal values.
      
      ```ruby
      $ ARCONN=oracle bin/test test/cases/bind_parameter_test.rb -n test_too_many_binds
      
      ... snip ...
      
      Error:
      ActiveRecord::BindParameterTest#test_too_many_binds:
      ActiveRecord::StatementInvalid: OCIError: ORA-01795: maximum number of expressions in a list is 1000
          stmt.c:267:in oci8lib_260.so
          /home/yahonda/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/gems/ruby-oci8-2.2.7/lib/oci8/cursor.rb:131:in `exec'
          /home/yahonda/git/oracle-enhanced/lib/active_record/connection_adapters/oracle_enhanced/oci_connection.rb:142:in `exec'
          /home/yahonda/git/oracle-enhanced/lib/active_record/connection_adapters/oracle_enhanced/database_statements.rb:41:in `block in exec_query'
          /home/yahonda/git/rails/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb:676:in `block (2 levels) in log'
          /home/yahonda/.rbenv/versions/2.6.2/lib/ruby/2.6.0/monitor.rb:230:in `mon_synchronize'
          /home/yahonda/git/rails/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb:675:in `block in log'
          /home/yahonda/git/rails/activesupport/lib/active_support/notifications/instrumenter.rb:24:in `instrument'
          /home/yahonda/git/rails/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb:666:in `log'
          /home/yahonda/git/oracle-enhanced/lib/active_record/connection_adapters/oracle_enhanced/dbms_output.rb:36:in `log'
          /home/yahonda/git/oracle-enhanced/lib/active_record/connection_adapters/oracle_enhanced/database_statements.rb:24:in `exec_query'
          /home/yahonda/git/rails/activerecord/lib/active_record/connection_adapters/abstract/database_statements.rb:484:in `select'
          /home/yahonda/git/rails/activerecord/lib/active_record/connection_adapters/abstract/database_statements.rb:70:in `select_all'
          /home/yahonda/git/rails/activerecord/lib/active_record/connection_adapters/abstract/query_cache.rb:106:in `select_all'
          /home/yahonda/git/rails/activerecord/lib/active_record/relation/calculations.rb:299:in `block in execute_simple_calculation'
          /home/yahonda/git/rails/activerecord/lib/active_record/relation.rb:755:in `skip_query_cache_if_necessary'
          /home/yahonda/git/rails/activerecord/lib/active_record/relation/calculations.rb:299:in `execute_simple_calculation'
          /home/yahonda/git/rails/activerecord/lib/active_record/relation/calculations.rb:251:in `perform_calculation'
          /home/yahonda/git/rails/activerecord/lib/active_record/relation/calculations.rb:141:in `calculate'
          /home/yahonda/git/rails/activerecord/lib/active_record/relation/calculations.rb:49:in `count'
          /home/yahonda/git/rails/activerecord/test/cases/bind_parameter_test.rb:113:in `test_too_many_binds'
      
      bin/test test/cases/bind_parameter_test.rb:109
      
      .............................F
      
      ```
      029d05fb
    • G
      Merge pull request #35935 from y-yagi/fixes_34837 · 45511fa8
      George Claghorn 提交于
      Fix loading `ActionMailbox::BaseController` when CSRF protection is disabled
      45511fa8
    • Y
      Fix loading `ActionMailbox::BaseController` when CSRF protection is disabled · 1b2f1735
      yuuji.yaginuma 提交于
      When `default_protect_from_forgery` is false, `verify_authenticity_token`
      callback does not define and `skip_forgery_protection` raise exception.
      
      Fixes #34837.
      1b2f1735
    • R
      Merge pull request #35934 from YuezhiLi/patch-1 · 5963b3d9
      Ryuta Kamizono 提交于
      Remove outdated debugging plugins
      
      [ci skip]
      5963b3d9
    • C
      Remove outdated debugging plugins · 7d9f5b66
      Clivia 提交于
      Footnote and Query review are outdated, unmaintained, 
      and Query review is for rails 3.
      7d9f5b66
    • R
      PERF: 2x ~ 30x faster dirty tracking · 6b0a9de9
      Ryuta Kamizono 提交于
      Currently, although using both dirty tracking (ivar backed and
      attributes backed) on one model is not supported (doesn't fully work at
      least), both dirty tracking are being performed, that is very slow.
      
      As long as attributes backed dirty tracking is used, ivar backed dirty
      tracking should not need to be performed.
      
      I've refactored to extract new `ForcedMutationTracker` which only tracks
      `force_change` to be performed for ivar backed dirty tracking, that
      makes dirty tracking on Active Record 2x ~ 30x faster.
      
      https://gist.github.com/kamipo/971dfe0891f0fe1ec7db8ab31f016435
      
      Before:
      
      ```
      Warming up --------------------------------------
                  changed?     4.467k i/100ms
                   changed     5.134k i/100ms
                   changes     3.023k i/100ms
        changed_attributes     4.358k i/100ms
              title_change     3.185k i/100ms
                 title_was     3.381k i/100ms
      Calculating -------------------------------------
                  changed?     42.197k (±28.5%) i/s -    187.614k in   5.050446s
                   changed     50.481k (±16.0%) i/s -    246.432k in   5.045759s
                   changes     30.799k (± 7.2%) i/s -    154.173k in   5.030765s
        changed_attributes     51.530k (±14.2%) i/s -    252.764k in   5.041106s
              title_change     44.667k (± 9.0%) i/s -    222.950k in   5.040646s
                 title_was     44.635k (±16.6%) i/s -    216.384k in   5.051098s
      ```
      
      After:
      
      ```
      Warming up --------------------------------------
                  changed?    24.130k i/100ms
                   changed    13.503k i/100ms
                   changes     6.511k i/100ms
        changed_attributes     9.226k i/100ms
              title_change    48.221k i/100ms
                 title_was    96.060k i/100ms
      Calculating -------------------------------------
                  changed?    245.478k (±16.1%) i/s -      1.182M in   5.015837s
                   changed    157.641k (± 4.9%) i/s -    796.677k in   5.066734s
                   changes     70.633k (± 5.7%) i/s -    358.105k in   5.086553s
        changed_attributes     95.155k (±13.6%) i/s -    470.526k in   5.082841s
              title_change    566.481k (± 3.5%) i/s -      2.845M in   5.028852s
                 title_was      1.487M (± 3.9%) i/s -      7.493M in   5.046774s
      ```
      6b0a9de9
    • T
      adjust style · 91a2e4f9
      takakuda 提交于
      91a2e4f9
    • R
      Merge pull request #35924 from soartec-lab/update_guide_engine_generator_result · d4e2824d
      Ryuta Kamizono 提交于
      Update the result of generate command [skip ci]
      d4e2824d
    • S
      Update the result of generate command [skip ci] · 923a0027
      soartec-lab 提交于
      923a0027
    • R
      Merge pull request #35916 from soartec-lab/delete_not_use_method · 43288a05
      Ryuta Kamizono 提交于
      Delete not user method for plugin_generator
      43288a05