Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Move casted to its own file | Vipul A M | 2015-05-31 | 1 | -0/+40 |
| | |||||
* | Delete should respect 'limit' | Bradford Folkens | 2015-02-23 | 1 | -0/+2 |
| | | | | | Conflicts: lib/arel/visitors/to_sql.rb | ||||
* | Change the interface of `having` to match that of `where` | Sean Griffin | 2015-01-27 | 2 | -6/+5 |
| | | | | | | These two clauses have nearly identical semantics with regards to how they would be constructed as an AST. It doesn't make sense for their interfaces to be separate. | ||||
* | Implement equality for `BindParam` | Sean Griffin | 2015-01-25 | 1 | -0/+3 |
| | | | | | It is impossible to test equality of things constructing trees with bind params otherwise. | ||||
* | Allow a type caster to be given to the `Arel::Table` object | Sean Griffin | 2014-12-29 | 1 | -0/+8 |
| | | | | | | | | | This will allow most consuming code to avoid the deprecation introduced in 008445d6fd5f825d9b445ac75a7be67f0f7ab52c. The only code which will be affected is code that is building the `Arel::Table` object manually, rather than calling `arel_table` on an Active Record class. Hopefully this case will be rare enough that we don't need to introduce any additional APIs to work around it. | ||||
* | Remove `engine` from `TreeManager` and subclasses | Sean Griffin | 2014-11-29 | 1 | -4/+0 |
| | | | | | | This constructor parameter was unused for everything except the convenience methods `to_sql` and `where_sql`. We can pass the engine into those methods directly. | ||||
* | Add order to BindParams in the ToSql collector | Sean Griffin | 2014-11-17 | 2 | -3/+6 |
| | | | | | | | | | | | | This removes the need for us to do the re-ordering by walking the AST in ActiveRecord. We're using a block to communicate with the collector, since the collector needs to be the thing which knows about the index, while the visitor is the thing that needs to know the syntax. The BindParam needs to know about neither of these things, so it's been changed to stop being a subclass of SqlLiteral I could also see an alternative implementation using format strings if for some reason blocks cause a problem. | ||||
* | Binary nodes should not generate the same hash as nodes of other classes | Sean Griffin | 2014-10-24 | 1 | -1/+1 |
| | |||||
* | {Matches,DoesNotMatch} support the ESCAPE clause | Tamir Duberstein | 2014-09-25 | 2 | -2/+14 |
| | |||||
* | Remove unused @alias, being referenced in hashing. | Vipul A M | 2014-09-16 | 1 | -1/+1 |
| | |||||
* | `Extract#as` should not mutate the receiver | Tamir Duberstein | 2014-09-13 | 1 | -10/+3 |
| | | | | Fixes https://github.com/rails/rails/issues/16913 | ||||
* | Windowing: Calling #rows or #range should assign framing only once. | Alexander Staubo | 2014-06-22 | 1 | -2/+10 |
| | |||||
* | Windowing support for PARTITION BY clause. | Alexander Staubo | 2014-06-20 | 1 | -2/+13 |
| | |||||
* | - Remove four year old deprecation | Vipul A M | 2014-06-01 | 1 | -5/+1 |
| | |||||
* | Allow INSERT INTO <table> SELECT queries | Jean Boussier | 2014-04-10 | 1 | -2/+5 |
| | |||||
* | Merge branch 'master' into collector | Aaron Patterson | 2014-04-08 | 3 | -0/+14 |
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | * master: remove order_clauses since we do not use it fix whitespace and unsupported method args Add Regexp and NotRegexp nodes for PostgreSQL Revert "Merge pull request #253 from corrupt952/master" flatten object.children in visit_Arel_Node_And Added right and full outer joins Conflicts: lib/arel/visitors/to_sql.rb lib/arel/visitors/visitor.rb | ||||
| * | Add Regexp and NotRegexp nodes for PostgreSQL | James Le Cuirot | 2014-04-08 | 1 | -0/+2 |
| | | |||||
| * | Added right and full outer joins | Stephen Prater & Fire-Dragon-DoL | 2014-03-30 | 2 | -0/+12 |
| | | |||||
* | | bind visitor working with collector object | Aaron Patterson | 2014-04-08 | 1 | -1/+5 |
|/ | |||||
* | build quoted nodes in factory methods | Aaron Patterson | 2014-03-24 | 1 | -2/+0 |
| | |||||
* | add the casting node to the AST at build time | Aaron Patterson | 2014-03-24 | 1 | -0/+2 |
| | | | | | If we add the casting node to the ast at build time, then we can avoid doing the lookup at visit time. | ||||
* | Remove deprecated Arel::Expression | Rafael Mendonça França | 2014-02-10 | 3 | -4/+0 |
| | |||||
* | Add :encode_with for proper YAML serialization | Ivan Antropov | 2013-11-09 | 1 | -0/+4 |
| | |||||
* | record who created the node when $DEBUG is true | Aaron Patterson | 2013-05-20 | 1 | -1/+8 |
| | |||||
* | call super from initialize | Aaron Patterson | 2013-05-17 | 8 | -0/+10 |
| | |||||
* | Add equality to ALL THE THINGS (that matter) | Ernie Miller | 2012-08-18 | 14 | -2/+174 |
| | | | | | | | | | | | | People are often trying to use ARel nodes inside ActiveRecord, and when they do so, lots of things can break, because ActiveRecord relies on Array#uniq and sometimes hash key equality to handle values that end up in wheres, havings, etc. By implementing equality for all the nodes, we should hopefully be able to prevent any nodes (even nodes containing other nodes) from failing an equality check they should otherwise pass, and alleviate many of these errors. Fixes #130 | ||||
* | Add Nodes::TableAlias#engine | Jon Leighton | 2012-07-13 | 1 | -0/+4 |
| | | | | | Eventually #engine should go away, but until that time, this means that Table and Nodes::TableAlias can be used more interchangeably. | ||||
* | Remove ArgumentError. | Jon Leighton | 2012-07-13 | 1 | -2/+1 |
| | | | | | | | | | | It is untested. There is no `@frame` variable. Presumably it is supposed to be `@framing`, but changing that shows that some of the tests *are* setting frame twice. I don't see why this level of strictness is necessary. If someone disagrees, they should add a test for this behaviour and make the other tests pass. | ||||
* | Include Predications in Grouping | Ernie Miller | 2012-05-19 | 3 | -7/+7 |
| | | | | | | Also, removed unused ordering.rb file, since it is identical to the one being created in unary.rb already, and isn't required anywhere. | ||||
* | Must support aliases for OVER operator. | Alexander Staubo | 2012-02-23 | 1 | -0/+2 |
| | |||||
* | Add #extract, which produces ANSI SQL function EXTRACT(<field> from <expr>). | Alexander Staubo | 2012-02-23 | 1 | -0/+23 |
| | |||||
* | Support ANSI SQL2003 window functions. | Alexander Staubo | 2012-02-22 | 4 | -1/+95 |
| | |||||
* | bind parameters can be differentiated from sql literals | Aaron Patterson | 2012-02-20 | 1 | -0/+3 |
| | |||||
* | while using activerecord-sqlserver-adapter 3.1.5 with Rails 3.1 with Arel ↵ | Adam H | 2012-01-20 | 1 | -1/+1 |
| | | | | | | | | | | 2.2.1 we encountered the error uninitialized constant Arel::Nodes::Visitors::DepthFirst apparently Arel was trying to call a relative namespace with Visitors::DepthFirst.new(block).accept self we fixed this by making it call an absolute namespace with ::Arel::Visitors::DepthFirst.new(block).accept self | ||||
* | Allow using non-table alias as a rhs relation name, fix for #84 and #59 | JoelJuliano | 2011-10-30 | 1 | -1/+1 |
| | |||||
* | Make it the responsibility of the connection to hold on to a visitor for ↵ | Jon Leighton | 2011-08-08 | 1 | -2/+1 |
| | | | | generating SQL, rather than the TreeManager. (There is a related commit coming in Active Record.) | ||||
* | Support update statements containing joins | Jon Leighton | 2011-08-08 | 1 | -0/+4 |
| | |||||
* | Remove short circuit evaluation and leave AST as it is | Daniel Cadenas | 2011-08-03 | 2 | -22/+0 |
| | |||||
* | Add nodes for boolean constants | Daniel Cadenas | 2011-08-03 | 2 | -0/+34 |
| | | | | | | | | | | | | 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)) | ||||
* | Break Ordering into Ascending/Descending nodes, allow reversal | Ernie Miller | 2011-06-15 | 4 | -15/+48 |
| | |||||
* | Include Arel::Predicates to Arel::Nodes::Function so you can do ↵ | Samuel Kadolph | 2011-05-27 | 2 | -2/+1 |
| | | | | table[:id].count.eq(2) | ||||
* | InfixOperations are valid value expressions per SQL99 BNF, and | Ernie Miller | 2011-05-02 | 1 | -0/+1 |
| | | | | should support ordering | ||||
* | Stop calling to_s on aliases, require them to be strings already. | Ernie Miller | 2011-04-29 | 1 | -2/+2 |
| | |||||
* | Move #as to AliasPredication, stop overriding Function's #as. | Ernie Miller | 2011-04-29 | 3 | -2/+4 |
| | |||||
* | Add support for ordering on expressions | Arthur Taylor | 2011-04-28 | 1 | -0/+1 |
| | | | | | | | | | | | | | | 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 | ||||
* | adding Distinct ON node | Aaron Patterson | 2011-04-21 | 2 | -6/+7 |
| | |||||
* | adding a DISTINCT node | Aaron Patterson | 2011-04-21 | 2 | -7/+16 |
| | |||||
* | adding a Bin node to emit mysql BINARY keywords | Aaron Patterson | 2011-04-11 | 1 | -0/+1 |
| | |||||
* | fixing the leg order of TableAlias nodes | Aaron Patterson | 2011-03-30 | 1 | -2/+2 |
| | |||||
* | Replace MathOperation with InfixOperation to support more operators | Ernie Miller | 2011-03-09 | 2 | -15/+42 |
| |