Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | 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 |
| | |||||
* | Merge branch 'master' of github.com:rails/arel | Aaron Patterson | 2011-03-07 | 1 | -0/+4 |
|\ | | | | | | | | | * 'master' of github.com:rails/arel: Add an #table_name method to Table and TableAlias, which always returns the actual table name, not the alias. Then fix ToSql#column_for to use this table name when checking whether the table exists (rather than before, where it was checking whether a table with the alias name exists, which was incorrect). | ||||
| * | Add an #table_name method to Table and TableAlias, which always returns the ↵ | Jon Leighton | 2011-03-04 | 1 | -0/+4 |
| | | | | | | | | actual table name, not the alias. Then fix ToSql#column_for to use this table name when checking whether the table exists (rather than before, where it was checking whether a table with the alias name exists, which was incorrect). | ||||
* | | Merge remote branch 'stiff/master' into omg | Aaron Patterson | 2011-03-07 | 1 | -0/+15 |
|\ \ | |/ |/| | | | | | * stiff/master: implemented support for math operations in numeric attributes | ||||
| * | implemented support for math operations in numeric attributes | Vladimir Meremyanin | 2011-01-29 | 1 | -0/+15 |
| | | |||||
* | | Lock should be a unary node | Aaron Patterson | 2011-02-21 | 2 | -10/+1 |
| | | |||||
* | | Merge remote branch 'jstorimer/master' into omg | Aaron Patterson | 2011-02-21 | 1 | -0/+4 |
|\ \ | | | | | | | | | | | | | * jstorimer/master: Allow database specific locking clauses to be used | ||||
| * | | Allow database specific locking clauses to be used | Jesse Storimer | 2011-01-20 | 1 | -0/+4 |
| | | | |||||
* | | | Fix #not to stop wrapping in a grouping node | Ernie Miller | 2011-02-11 | 1 | -1/+1 |
| | | | |||||
* | | | Merge branch 'named-function-predicates' | Aaron Patterson | 2011-02-02 | 1 | -0/+2 |
|\ \ \ | |_|/ |/| | | | | | | | | | | | * named-function-predicates: Test for NamedFunction predication chaining Chain predications off of named functions | ||||
| * | | Chain predications off of named functions | Daniel Azuma | 2011-01-19 | 1 | -0/+2 |
| |/ | |||||
* | | Added support for INTERSECT and EXCEPT | Brian Cardarella | 2011-01-22 | 1 | -0/+2 |
| | | |||||
* | | WTF, tabs? | Paul Sadauskas | 2011-01-21 | 1 | -6/+6 |
| | | |||||
* | | With node takes an array, less code to determine alternative nodes | Paul Sadauskas | 2011-01-21 | 1 | -8/+1 |
| | | |||||
* | | Don't need with_recursive | Paul Sadauskas | 2011-01-21 | 1 | -2/+1 |
| | | |||||
* | | Add support for WITH and UNION | Paul Sadauskas | 2011-01-21 | 3 | -6/+27 |
|/ | | | | | | PostgreSQL WITH RECURSIVE support Make WITH be a unary node | ||||
* | Added Arel::Nodes::NamedFunction for representing generic SQL functions | Aaron Patterson | 2011-01-04 | 3 | -4/+14 |
| | |||||
* | limit and top files are not needed | Aaron Patterson | 2011-01-03 | 2 | -13/+0 |
| | |||||
* | Merge branch '2-0-stable' into merge | Aaron Patterson | 2011-01-03 | 4 | -3/+19 |
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 2-0-stable: updating history Patched Arel v2.0.6 to support MSSQL SQL queries. Based on work of James Abley (https://github.com/jabley/arel). consolidating dot visitor methods refactoring where, fixing subselect implementation for passing a subquery to #in and #not_in tests for passing a subquery to #in and #not_in limit members of the AST are visited quoting limit nodes Conflicts: History.txt lib/arel/nodes.rb lib/arel/nodes/select_core.rb lib/arel/select_manager.rb lib/arel/visitors/to_sql.rb test/visitors/test_to_sql.rb | ||||
| * | Patched Arel v2.0.6 to support MSSQL SQL queries. Based on work of James ↵ | Viacheslav Petrenko | 2011-01-03 | 3 | -1/+15 |
| | | | | | | | | Abley (https://github.com/jabley/arel). | ||||
* | | requiring that the primary key be set on the UpdateManager so that databases ↵ | Aaron Patterson | 2010-12-24 | 1 | -2/+4 |
| | | | | | | | | which do not support UPDATE with LIMIT will work | ||||
* | | fixing typo, thanks @devwout | Aaron Patterson | 2010-12-21 | 1 | -1/+1 |
| | | |||||
* | | removing commented out code | Aaron Patterson | 2010-12-14 | 1 | -7/+0 |
| | | |||||
* | | cleaning up more nodes | Aaron Patterson | 2010-12-14 | 7 | -38/+24 |
| | | |||||
* | | cleaning up more nodes | Aaron Patterson | 2010-12-14 | 7 | -37/+12 |
| | | |||||
* | | cleaning up more nodes | Aaron Patterson | 2010-12-14 | 5 | -31/+9 |
| | |