aboutsummaryrefslogtreecommitdiffstats
path: root/lib/arel/nodes
Commit message (Collapse)AuthorAgeFilesLines
* Windowing: Calling #rows or #range should assign framing only once.Alexander Staubo2014-06-221-2/+10
|
* Windowing support for PARTITION BY clause.Alexander Staubo2014-06-201-2/+13
|
* - Remove four year old deprecationVipul A M2014-06-011-5/+1
|
* Allow INSERT INTO <table> SELECT queriesJean Boussier2014-04-101-2/+5
|
* Merge branch 'master' into collectorAaron Patterson2014-04-083-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 PostgreSQLJames Le Cuirot2014-04-081-0/+2
| |
| * Added right and full outer joinsStephen Prater & Fire-Dragon-DoL2014-03-302-0/+12
| |
* | bind visitor working with collector objectAaron Patterson2014-04-081-1/+5
|/
* build quoted nodes in factory methodsAaron Patterson2014-03-241-2/+0
|
* add the casting node to the AST at build timeAaron Patterson2014-03-241-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::ExpressionRafael Mendonça França2014-02-103-4/+0
|
* Add :encode_with for proper YAML serializationIvan Antropov2013-11-091-0/+4
|
* record who created the node when $DEBUG is trueAaron Patterson2013-05-201-1/+8
|
* call super from initializeAaron Patterson2013-05-178-0/+10
|
* Add equality to ALL THE THINGS (that matter)Ernie Miller2012-08-1814-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#engineJon Leighton2012-07-131-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 Leighton2012-07-131-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 GroupingErnie Miller2012-05-193-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 Staubo2012-02-231-0/+2
|
* Add #extract, which produces ANSI SQL function EXTRACT(<field> from <expr>).Alexander Staubo2012-02-231-0/+23
|
* Support ANSI SQL2003 window functions.Alexander Staubo2012-02-224-1/+95
|
* bind parameters can be differentiated from sql literalsAaron Patterson2012-02-201-0/+3
|
* while using activerecord-sqlserver-adapter 3.1.5 with Rails 3.1 with Arel ↵Adam H2012-01-201-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 #59JoelJuliano2011-10-301-1/+1
|
* Make it the responsibility of the connection to hold on to a visitor for ↵Jon Leighton2011-08-081-2/+1
| | | | generating SQL, rather than the TreeManager. (There is a related commit coming in Active Record.)
* Support update statements containing joinsJon Leighton2011-08-081-0/+4
|
* Remove short circuit evaluation and leave AST as it isDaniel Cadenas2011-08-032-22/+0
|
* Add nodes for boolean constantsDaniel Cadenas2011-08-032-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 reversalErnie Miller2011-06-154-15/+48
|
* Include Arel::Predicates to Arel::Nodes::Function so you can do ↵Samuel Kadolph2011-05-272-2/+1
| | | | table[:id].count.eq(2)
* InfixOperations are valid value expressions per SQL99 BNF, andErnie Miller2011-05-021-0/+1
| | | | should support ordering
* Stop calling to_s on aliases, require them to be strings already.Ernie Miller2011-04-291-2/+2
|
* Move #as to AliasPredication, stop overriding Function's #as.Ernie Miller2011-04-293-2/+4
|
* Add support for ordering on expressionsArthur Taylor2011-04-281-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 nodeAaron Patterson2011-04-212-6/+7
|
* adding a DISTINCT nodeAaron Patterson2011-04-212-7/+16
|
* adding a Bin node to emit mysql BINARY keywordsAaron Patterson2011-04-111-0/+1
|
* fixing the leg order of TableAlias nodesAaron Patterson2011-03-301-2/+2
|
* Replace MathOperation with InfixOperation to support more operatorsErnie Miller2011-03-092-15/+42
|
* Merge branch 'master' of github.com:rails/arelAaron Patterson2011-03-071-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 Leighton2011-03-041-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 omgAaron Patterson2011-03-071-0/+15
|\ \ | |/ |/| | | | | * stiff/master: implemented support for math operations in numeric attributes
| * implemented support for math operations in numeric attributesVladimir Meremyanin2011-01-291-0/+15
| |
* | Lock should be a unary nodeAaron Patterson2011-02-212-10/+1
| |
* | Merge remote branch 'jstorimer/master' into omgAaron Patterson2011-02-211-0/+4
|\ \ | | | | | | | | | | | | * jstorimer/master: Allow database specific locking clauses to be used
| * | Allow database specific locking clauses to be usedJesse Storimer2011-01-201-0/+4
| | |
* | | Fix #not to stop wrapping in a grouping nodeErnie Miller2011-02-111-1/+1
| | |
* | | Merge branch 'named-function-predicates'Aaron Patterson2011-02-021-0/+2
|\ \ \ | |_|/ |/| | | | | | | | | | | * named-function-predicates: Test for NamedFunction predication chaining Chain predications off of named functions
| * | Chain predications off of named functionsDaniel Azuma2011-01-191-0/+2
| |/
* | Added support for INTERSECT and EXCEPTBrian Cardarella2011-01-221-0/+2
| |