Skip to content
Commits on Jan 6, 2016
  1. @kbrock
Commits on Jan 5, 2016
  1. @felixbuenemann
Commits on Dec 6, 2015
  1. @kbrock
  2. @kbrock

    Add case sensitive match

    kbrock committed
    Explicitly declare if this is case sensitive or not
    
    most implementation assume case sensitive
    postgres assumes case insensitive
Commits on Dec 26, 2014
  1. @sgrif

    Allow for handling quoted values in ranges

    sgrif committed
    Since Active Record needs to eagerly cast values, we need to check for
    quoted infinity in our range handling
Commits on Nov 2, 2014
  1. @sgrif

    Look for `Enumerable` rather than `Array` in predicates

    sgrif committed
    It's not quite duck typed, but it will allow us to pass in our own
    objects with additional logic (like type casting).
Commits on Oct 27, 2014
  1. @sgrif

    Dry up building quoted nodes in predication

    sgrif committed
    Given that we are going to remove casting from Arel in the near future,
    having a single place nodes in predications will help.
Commits on Oct 25, 2014
  1. @sgrif

    Deprecate passing ranges to `#in` and `#not_in`

    sgrif committed
    The goal of these methods should be to generate in nodes, not handle
    every possible permutation of more than one value. The `#between` and
    `#not_between` methods have been extracted, which better represent the
    semantics of handling ranges in SQL.
  2. @sgrif

    Refactor `#in` and `#not_in`

    sgrif committed
    These methods duplicate a lot of logic from the other predications. We
    can just use those methods directly, and only build nodes with the same
    name in our method directly. We've already had one bug that came from
    building nodes directly, rather than using the proper predicate.
Commits on Oct 24, 2014
  1. @sgrif

    `#not_in` with a range should respect proper precedence

    sgrif committed
    Currently, doing
    
    ```ruby
    relation[:id].not_eq(4).and(relation[:id].not_in(1..3))
    ```
    
    will generate
    
    ```sql
    "id" != 4 AND "id" < 1 OR "id" > 3
    ```
    
    Which would incorrectly include records with an id of 4, as the OR
    statement has higher precidence than the AND statement. The `or`
    method on `Node` properly groups the statement in parenthesis.
Commits on Sep 25, 2014
  1. @tamird
Commits on Aug 23, 2014
  1. @bigxiang
Commits on Jun 1, 2014
  1. @Octember
Commits on Mar 25, 2014
  1. @tenderlove
Commits on Mar 24, 2014
  1. @tenderlove

    build quoted strings

    tenderlove committed
  2. @tenderlove

    add the casting node to the AST at build time

    tenderlove committed
    If we add the casting node to the ast at build time, then we can avoid
    doing the lookup at visit time.
Commits on Feb 19, 2013
  1. @tpope

    Support Float::INFINITY in ranges

    tpope committed
Commits on Aug 3, 2011
  1. @dcadenas

    Add nodes for boolean constants

    dcadenas committed
    This is useful for dynamically created predicates e.g:
    
    expr1 = table.create_false
    expr2 = table.create_false
    
    expr1 = create_a_predicate() if some_condition
    expr2 = create_another_predicate() if some_other_condition
    
    table.where(expr1.and(expr2))
Commits on Apr 29, 2011
  1. @ernie @tenderlove
  2. @tenderlove

    Revert "Merged pull request #40 from gmile/master."

    tenderlove committed
    This reverts commit 490d6f9, reversing
    changes made to dd07005.
  3. @tenderlove

    Merged pull request #40 from gmile/master.

    tenderlove committed
    Passing nil in array generates improper SQL
Commits on Apr 28, 2011
  1. Add support for ordering on expressions

    Arthur Taylor committed
    Conflicts:
    
    	lib/arel.rb
    	lib/arel/attributes/attribute.rb
    	lib/arel/nodes/infix_operation.rb
    	lib/arel/nodes/named_function.rb
    
    Conflicts:
    
    	lib/arel.rb
    	lib/arel/attributes/attribute.rb
Commits on Apr 18, 2011
  1. @ernie @tenderlove
Commits on Mar 24, 2011
  1. @gmile

    Generate more sqlish queue.

    gmile committed
    Now, instead of the following SQL code:
      some_field IN (1, 2, NULL)
    
    Arel will generate the proper one:
      some_field IN (1, 2) OR IS NULL
Commits on Mar 12, 2011
  1. @ernie @tenderlove
Commits on Feb 8, 2011
  1. @ernie
Commits on Dec 9, 2010
  1. @tenderlove
Commits on Dec 7, 2010
  1. @tenderlove
  2. @svenfuchs
Commits on Nov 24, 2010
  1. @tenderlove

    adding an AS node

    tenderlove committed
Commits on Nov 17, 2010
  1. @tenderlove

    Fixed Ruby 1.8 performance regression for Nodes::In and Nodes::NotIn …

    Rolf Timmermans committed with tenderlove
    …queries with very wide ranges that was caused by using Range#min and Range#max rather than Range#begin and Range#end. Ruby 1.8 uses Enumerable#min and Enumerable#max in Ranges, which calls to_a internally. It is not necessary to enumerate the range in order to construct the predicates. At the same time, an off-by-one error (failing test) with exclusive-end Ranges in Nodes::NotIn queries was fixed.
Commits on Oct 27, 2010
  1. @ernie @tenderlove
Something went wrong with that request. Please try again.