1. 28 10月, 2017 2 次提交
  2. 25 10月, 2017 1 次提交
  3. 24 10月, 2017 2 次提交
  4. 23 10月, 2017 2 次提交
  5. 22 10月, 2017 1 次提交
  6. 19 10月, 2017 1 次提交
    • B
      Backport #30579 · 4ea7b49b
      bogdanvlviv 提交于
      Fix `bin/rails db:setup` and `bin/rails db:test:prepare` create
      wrong ar_internal_metadata's data for a test database.
      
      [Sean Griffin & bogdanvlviv]
      4ea7b49b
  7. 16 10月, 2017 2 次提交
    • R
      Fix longer sequence name detection for serial columns (#28339) · af9c1707
      Ryuta Kamizono 提交于
      We already found the longer sequence name, but we could not consider
      whether it was the sequence name created by serial type due to missed a
      max identifier length limitation. I've addressed the sequence name
      consideration to respect the max identifier length.
      
      Fixes #28332.
      af9c1707
    • R
      Fix collided sequence name detection · 976f9c3f
      Ryuta Kamizono 提交于
      If collided named sequence already exists, newly created serial column
      will generate alternative sequence name. Fix sequence name detection to
      allow the alternative names.
      976f9c3f
  8. 15 10月, 2017 1 次提交
    • R
      MySQL: Don't lose `auto_increment: true` in the `db/schema.rb` · 8b6e694e
      Ryuta Kamizono 提交于
      Currently `AUTO_INCREMENT` is implicitly used in the default primary key
      definition. But `AUTO_INCREMENT` is not only used for single column
      primary key, but also for composite primary key. In that case,
      `auto_increment: true` should be dumped explicitly in the
      `db/schema.rb`.
      
      Fixes #30894.
      8b6e694e
  9. 14 10月, 2017 1 次提交
  10. 13 10月, 2017 1 次提交
  11. 05 10月, 2017 2 次提交
  12. 29 9月, 2017 2 次提交
  13. 27 9月, 2017 8 次提交
    • G
      PERF: Incorrect memoization in `ActiveRecord::Associations::Preloader::Association`. · 13364a88
      Guo Xiang Tan 提交于
      ```
      require 'active_record'
      require 'benchmark/ips'
      
      ActiveRecord::Base.establish_connection(ENV.fetch('DATABASE_URL'))
      ActiveRecord::Migration.verbose = false
      
      ActiveRecord::Schema.define do
        create_table :users, force: true do |t|
          t.string :name, :email
          t.integer :topic_id
          t.timestamps null: false
        end
      
        create_table :topics, force: true do |t|
          t.string :title
          t.timestamps null: false
        end
      end
      
      attributes = {
        name: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.',
        email: 'foobar@email.com'
      }
      
      class Topic < ActiveRecord::Base
        has_many :users
      end
      
      class User < ActiveRecord::Base
        belongs_to :topic
      end
      
      100.times do
        User.create!(attributes)
      end
      
      users = User.first(50)
      
      100.times do
        Topic.create!(title: 'This is a topic', users: users)
      end
      
      Benchmark.ips do |x|
        x.config(time: 10, warmup: 5)
      
        x.report("preload") do
          User.includes(:topic).all.to_a
        end
      end
      ```
      
      ```
      Calculating -------------------------------------
                   preload    25.000  i/100ms
      -------------------------------------------------
                   preload    251.772  (± 1.2%) i/s -      2.525k
      ```
      
      ```
      Calculating -------------------------------------
                   preload    26.000  i/100ms
      -------------------------------------------------
                   preload    270.392  (± 1.1%) i/s -      2.704k
      ```
      13364a88
    • G
      PERF: Recover `ActiveRecord::pluck` performance. · df712340
      Guo Xiang Tan 提交于
      ```ruby
      require 'active_record'
      require 'benchmark/ips'
      
      ActiveRecord::Base.establish_connection(ENV.fetch('DATABASE_URL'))
      ActiveRecord::Migration.verbose = false
      
      ActiveRecord::Schema.define do
        create_table :users, force: true do |t|
          t.string :name, :email
          t.timestamps null: false
        end
      end
      
      attributes = {
        name: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.',
        email: 'foobar@email.com'
      }
      
      class User < ActiveRecord::Base; end
      
      1000.times do
        User.create!(attributes)
      end
      
      Benchmark.ips do |x|
        x.config(time: 10, warmup: 2)
      
        x.report('pluck 1 column') do
          User.pluck(:id)
        end
      
        x.report('pluck 2 columns') do
          User.pluck(:id, :email)
        end
      
        x.report('pluck 1 column with scope') do
          User.where(id: 1000).pluck(:id)
        end
      
        x.report('pluck 2 columns with scope') do
          User.where(id: 1000).pluck(:id, :email)
        end
      end
      ```
      
      ```
      Calculating -------------------------------------
            pluck 1 column   122.000  i/100ms
           pluck 2 columns    74.000  i/100ms
      pluck 1 column with scope
                             615.000  i/100ms
      pluck 2 columns with scope
                             515.000  i/100ms
      -------------------------------------------------
            pluck 1 column      1.272k (± 3.9%) i/s -     12.810k
           pluck 2 columns    750.096  (± 3.3%) i/s -      7.548k
      pluck 1 column with scope
                                6.074k (± 4.1%) i/s -     60.885k
      pluck 2 columns with scope
                                5.158k (± 2.7%) i/s -     52.015k
      ```
      
      ```
      Calculating -------------------------------------
            pluck 1 column   126.000  i/100ms
           pluck 2 columns    78.000  i/100ms
      pluck 1 column with scope
                             457.000  i/100ms
      pluck 2 columns with scope
                             434.000  i/100ms
      -------------------------------------------------
            pluck 1 column      1.266k (± 2.1%) i/s -     12.726k
           pluck 2 columns    795.061  (± 3.0%) i/s -      7.956k
      pluck 1 column with scope
                                4.660k (± 2.1%) i/s -     46.614k
      pluck 2 columns with scope
                                4.355k (± 2.3%) i/s -     43.834k
      ```
      
      ```
      Calculating -------------------------------------
            pluck 1 column   126.000  i/100ms
           pluck 2 columns    78.000  i/100ms
      pluck 1 column with scope
                             539.000  i/100ms
      pluck 2 columns with scope
                             481.000  i/100ms
      -------------------------------------------------
            pluck 1 column      1.308k (± 3.4%) i/s -     13.104k
           pluck 2 columns    798.604  (± 2.8%) i/s -      8.034k
      pluck 1 column with scope
                                5.530k (± 3.4%) i/s -     55.517k
      pluck 2 columns with scope
                                4.914k (± 2.7%) i/s -     49.543k
      ```
      
      ```
      Calculating -------------------------------------
            pluck 1 column   139.000  i/100ms
           pluck 2 columns    79.000  i/100ms
      pluck 1 column with scope
                             580.000  i/100ms
      pluck 2 columns with scope
                             526.000  i/100ms
      -------------------------------------------------
            pluck 1 column      1.337k (± 3.0%) i/s -     13.483k
           pluck 2 columns    806.776  (± 2.7%) i/s -      8.137k
      pluck 1 column with scope
                                5.924k (± 4.1%) i/s -     59.160k
      pluck 2 columns with scope
                                5.276k (± 3.1%) i/s -     53.126k
      ```
      df712340
    • R
    • R
      Fix `quote_default_expression` for UUID with array default · 90dd63ac
      Ryuta Kamizono 提交于
      Fixes #30539.
      90dd63ac
    • R
    • R
      Merge pull request #30655 from kuzukuzu/fix_create_join_table_compatibility · 09b4b900
      Ryuta Kamizono 提交于
      make create_join_table compatible.
      09b4b900
    • S
      Merge pull request #30686 from metaskills/sqlserver-1as1fix · d6efcc9b
      Sean Griffin 提交于
      Ensure `1 AS one` for SQL Server with Calculations
      d6efcc9b
    • R
      Merge pull request #30706 from tgxworld/fix_preload_memoization · ca77eb36
      Ryuta Kamizono 提交于
      PERF: Restore memoization when preloading associations.
      ca77eb36
  14. 15 9月, 2017 1 次提交
  15. 14 9月, 2017 1 次提交
  16. 08 9月, 2017 2 次提交
  17. 06 9月, 2017 3 次提交
  18. 04 9月, 2017 5 次提交
  19. 30 8月, 2017 1 次提交
  20. 29 8月, 2017 1 次提交