1. 01 10月, 2018 1 次提交
  2. 30 9月, 2018 5 次提交
  3. 28 9月, 2018 4 次提交
    • R
      Revert "record who created the node when $DEBUG is true" · b23673b4
      Ryuta Kamizono 提交于
      This reverts commit a1b72178.
      b23673b4
    • R
      Remove `visit_Fixnum` and `visit_Bignum` · ae406cd6
      Ryuta Kamizono 提交于
      Since Ruby 2.4 unified Fixnum and Bignum into Integer.
      ae406cd6
    • R
      Make `update_counters` preparable · e5190aca
      Ryuta Kamizono 提交于
      Before:
      
      ```
        Topic Update All (0.4ms)  UPDATE `topics` SET `topics`.`replies_count` = COALESCE(`topics`.`replies_count`, 0) + 1, `topics`.`updated_at` = '2018-09-27 18:34:05.068774' WHERE `topics`.`id` = ?  [["id", 7]]
      
      ```
      
      After:
      
      ```
        Topic Update All (0.4ms)  UPDATE `topics` SET `topics`.`replies_count` = COALESCE(`topics`.`replies_count`, 0) + ?, `topics`.`updated_at` = ? WHERE `topics`.`id` = ?  [["replies_count", 1], ["updated_at", 2018-09-27 18:55:05 UTC], ["id", 7]]
      
      ```
      e5190aca
    • R
      Make `update_all` preparable · 8e123847
      Ryuta Kamizono 提交于
      Before:
      
      ```
        Pet Update All (0.8ms)  UPDATE `pets` LEFT OUTER JOIN `toys` ON `toys`.`pet_id` = `pets`.`pet_id` SET `pets`.`name` = 'Bob' WHERE `toys`.`name` = ?  [["name", "Bone"]]
      ```
      
      After:
      
      ```
        Pet Update All (1.1ms)  UPDATE `pets` LEFT OUTER JOIN `toys` ON `toys`.`pet_id` = `pets`.`pet_id` SET `pets`.`name` = ? WHERE `toys`.`name` = ?  [["name", "Bob"], ["name", "Bone"]]
      ```
      8e123847
  4. 25 9月, 2018 1 次提交
    • V
      Abandon TOP support. · 41b92914
      Vladimir Kochnev 提交于
      Initially, `TOP` was introduced to support `limit` for MSSQL database.
      Unlike PostgreSQL/MySQL/SQLite, MSSQL does not have native `LIMIT`/`OFFSET` support.
      The commit adding `TOP` is 1a246f71.
      
      However, it figured out that `TOP` implementation was weak and it's not sufficient
      to also support `OFFSET`, then `TOP` was substituted with
      `ROW_NUMBER()` subquery in be48ed30.
      This is a well known trick in MSSQL -
      https://stackoverflow.com/questions/2135418/equivalent-of-limit-and-offset-for-sql-server.
      
      So now we don't need this `visit_Arel_Nodes_Top` at all.
      It does nothing useful but also adds an extra space after `SELECT` when `LIMIT` is being
      used for **any** database.
      41b92914
  5. 23 9月, 2018 1 次提交
    • Y
      Enable `Performance/UnfreezeString` cop · 1b86d901
      yuuji.yaginuma 提交于
      In Ruby 2.3 or later, `String#+@` is available and `+@` is faster than `dup`.
      
      ```ruby
      # frozen_string_literal: true
      
      require "bundler/inline"
      
      gemfile(true) do
        source "https://rubygems.org"
      
        gem "benchmark-ips"
      end
      
      Benchmark.ips do |x|
        x.report('+@') { +"" }
        x.report('dup') { "".dup }
        x.compare!
      end
      ```
      
      ```
      $ ruby -v benchmark.rb
      ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-linux]
      Warming up --------------------------------------
                        +@   282.289k i/100ms
                       dup   187.638k i/100ms
      Calculating -------------------------------------
                        +@      6.775M (± 3.6%) i/s -     33.875M in   5.006253s
                       dup      3.320M (± 2.2%) i/s -     16.700M in   5.032125s
      
      Comparison:
                        +@:  6775299.3 i/s
                       dup:  3320400.7 i/s - 2.04x  slower
      
      ```
      1b86d901
  6. 11 9月, 2018 1 次提交
  7. 09 9月, 2018 2 次提交
  8. 28 5月, 2018 1 次提交
  9. 26 4月, 2018 1 次提交
  10. 24 2月, 2018 2 次提交