Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
| * | | Bump minitest to 5.1. | Vipul A M | 2014-01-04 | 3 | -3/+3 | |
| | | | ||||||
* | | | Add tests for PostgreSLQ bugfix regarding invalid SQL in subqueries when ↵ | Roel van der Hoorn | 2014-02-05 | 2 | -0/+70 | |
|/ / | | | | | | | using matches() or does_not_match(). | |||||
* | | Support `columns_for_distinct` | Yasuo Honda | 2013-10-14 | 1 | -1/+2 | |
| | | ||||||
* | | Cache visitor dispatch on a per-visitor basis | Colin Jones | 2013-08-14 | 1 | -0/+22 | |
| | | ||||||
* | | Make visitors threadsafe by removing @last_column | Ernie Miller | 2013-04-28 | 1 | -1/+1 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The last_column feature of the ToSql visitor and its descendants is what enabled quoting based on the column last visited -- in other words, if you have a standard condition like an equality with a string attribute on the left side and an integer on the right side, then when ARel visits the node, it'll first visit the left side attribute, setting the column of the string attribute as the last column, and resulting in the right side of the condition getting the appropriate quoting. The downside is that this means that visitors can't be shared between threads, because of the state mutation. It also makes for some really weird behavior in the event that the visitor visits a node that happens to contain an attribute you weren't expecting to be there, since it'll potentially quote something based on that attribute. So, it prevents reversing an equality condition. column = value will work, but not value = column, since the last column wouldn't be the column you're hoping for. This is a first pass at fixing this by changing the signature of the visit methods to accept the currently-relevant attribute, if any. | |||||
* | | Update test_oracle.rb | Eduardo Mourao | 2013-03-15 | 1 | -1/+2 | |
| | | ||||||
* | | Support Float::INFINITY in ranges | Tim Pope | 2013-02-19 | 1 | -0/+34 | |
| | | ||||||
* | | Merge pull request #161 from Noemj/master | Aaron Patterson | 2013-02-05 | 1 | -1/+20 | |
|\ \ | | | | | | | Mysql2 prepared statements bind substitution fix | |||||
| * | | Added unit test for the mysql2 bind substitution | Noemj | 2013-02-05 | 1 | -1/+20 | |
| | | | ||||||
* | | | Add oracle paging optimization discussed in issue 99 | tom | 2013-01-08 | 1 | -1/+1 | |
|/ / | ||||||
* | | Merge pull request #140 from sunaku/GH-139 | Aaron Patterson | 2012-09-24 | 1 | -0/+39 | |
|\ \ | | | | | | | bugfix: some aggregations lacked DISTINCT emission | |||||
| * | | GH-139: some aggregations lacked DISTINCT emission | Suraj N. Kurapati | 2012-09-21 | 1 | -0/+39 | |
| |/ | ||||||
* / | to_sql: add support for emitting SQL subqueries | Suraj N. Kurapati | 2012-09-22 | 1 | -0/+5 | |
|/ | ||||||
* | Fix in [] to be false, in [] to be true | Ernie Miller | 2012-06-14 | 1 | -8/+4 | |
| | | | | This is in response to discussion on 62207fa | |||||
* | Do not generate NOT IN (NULL) when empty right | Santiago Pastorino | 2012-06-13 | 1 | -4/+4 | |
| | ||||||
* | Adds visit_Arel_Nodes_InfixOperation to Arel::Visitors::DepthFirst | Benedikt Deicke | 2012-03-22 | 1 | -0/+6 | |
| | ||||||
* | Patch Informix Visitor so that it includes joins | Jordan | 2012-02-29 | 1 | -0/+10 | |
| | ||||||
* | Support ANSI SQL2003 window functions. | Alexander Staubo | 2012-02-22 | 1 | -2/+4 | |
| | ||||||
* | added a module for visiting and transforming bind values | Aaron Patterson | 2012-02-21 | 1 | -0/+39 | |
| | ||||||
* | bind parameters can be differentiated from sql literals | Aaron Patterson | 2012-02-20 | 1 | -0/+6 | |
| | ||||||
* | Oracle limit and offset issue when query is ordered, issue #99 solved. | babinho | 2012-02-17 | 1 | -2/+1 | |
| | ||||||
* | calling cache methods against the connection | Aaron Patterson | 2011-11-19 | 7 | -27/+9 | |
| | ||||||
* | Support locking by default and disable it only for SQLite. | Edgars Beigarts | 2011-08-26 | 1 | -0/+5 | |
| | ||||||
* | Support locking in Oracle | Edgars Beigarts | 2011-08-26 | 1 | -0/+7 | |
| | ||||||
* | Make it the responsibility of the connection to hold on to a visitor for ↵ | Jon Leighton | 2011-08-08 | 9 | -11/+11 | |
| | | | | generating SQL, rather than the TreeManager. (There is a related commit coming in Active Record.) | |||||
* | Add nodes for boolean constants | Daniel Cadenas | 2011-08-03 | 1 | -0/+16 | |
| | | | | | | | | | | | | 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)) | |||||
* | supressing nested parenthesis in multiple unions on mysql. thanks jhtwong. ↵ | Aaron Patterson | 2011-07-20 | 1 | -0/+10 | |
| | | | | fixes #58 | |||||
* | Merge branch 'master' into Khronos/master | Aaron Patterson | 2011-06-27 | 4 | -11/+67 | |
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | * master: visitors can define their own cache strategy for dispatch. fixes #57 Break Ordering into Ascending/Descending nodes, allow reversal remove unnecessary guarding agains literal LIMIT and OFFSET support for MS SQL Include Arel::Predicates to Arel::Nodes::Function so you can do table[:id].count.eq(2) updating spec zomg prep release make sure thread runs do not cache sql literal values no longer use this instance variable | |||||
| * | visitors can define their own cache strategy for dispatch. fixes #57 | Aaron Patterson | 2011-06-27 | 1 | -0/+16 | |
| | | ||||||
| * | Merge pull request #60 from arkadiyk/master | Aaron Patterson | 2011-06-24 | 1 | -8/+47 | |
| |\ | | | | | | | Better support for MSSQL | |||||
| | * | remove unnecessary guarding agains literal | arkadiy kraportov | 2011-06-10 | 1 | -8/+0 | |
| | | | ||||||
| | * | LIMIT and OFFSET support for MS SQL | arkadiy kraportov | 2011-06-09 | 1 | -8/+55 | |
| | | | ||||||
| * | | Break Ordering into Ascending/Descending nodes, allow reversal | Ernie Miller | 2011-06-15 | 2 | -2/+2 | |
| |/ | ||||||
| * | make sure thread runs | Aaron Patterson | 2011-05-17 | 1 | -0/+1 | |
| | | ||||||
| * | no longer use this instance variable | Aaron Patterson | 2011-05-17 | 1 | -1/+1 | |
| | | ||||||
* | | Added an additional test since skip/limit can not be used in reverse order | Martin Little | 2011-05-16 | 1 | -0/+8 | |
| | | ||||||
* | | Added a basic test for the informix visitor | Martin Little | 2011-05-16 | 1 | -0/+34 | |
|/ | ||||||
* | Make ToSql more thread safe. | Damon McCormick + Cameron Walters | 2011-05-10 | 1 | -0/+17 | |
| | | | | | | | Because the ToSql visitor instance is shared across all threads, there is a race condition around column types for binary nodes. It's possible, for instance, to end up with ActiveRecord converting a string value in the final SQL to an integer during heavy concurrent operations. | |||||
* | Stop calling to_s on aliases, require them to be strings already. | Ernie Miller | 2011-04-29 | 2 | -4/+4 | |
| | ||||||
* | Move #as to AliasPredication, stop overriding Function's #as. | Ernie Miller | 2011-04-29 | 1 | -3/+3 | |
| | ||||||
* | replace 'LIMIT n' with 'FETCH FIRST n ROWS ONLY' when using ibm_db | Shane Emmons | 2011-04-29 | 1 | -0/+27 | |
| | ||||||
* | raising not implemented exceptions for distinct on where it is not supported | Aaron Patterson | 2011-04-21 | 1 | -0/+11 | |
| | ||||||
* | adding Distinct ON node | Aaron Patterson | 2011-04-21 | 2 | -2/+13 | |
| | ||||||
* | Replace MathOperation with InfixOperation to support more operators | Ernie Miller | 2011-03-09 | 1 | -1/+10 | |
| | ||||||
* | Merge branch 'master' of github.com:rails/arel | Aaron Patterson | 2011-03-07 | 1 | -0/+9 | |
|\ | | | | | | | | | * '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/+9 | |
| | | | | | | | | 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/+22 | |
|\ \ | |/ |/| | | | | | * 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/+22 | |
| | | ||||||
* | | refactoring custom lock logic to use sql literals | Aaron Patterson | 2011-02-21 | 2 | -4/+4 | |
| | | ||||||
* | | Lock should be a unary node | Aaron Patterson | 2011-02-21 | 3 | -3/+3 | |
| | |