aboutsummaryrefslogtreecommitdiffstats
path: root/test/visitors
Commit message (Collapse)AuthorAgeFilesLines
* {Matches,DoesNotMatch} support the ESCAPE clause with PostgreSQLKazuya NUMATA2014-12-251-0/+14
| | | | | to_SQL already has supported the ESCAPE clause in #318. PostgreSQL can use the ESCAPE clause too.
* Remove `engine` from `TreeManager` and subclassesSean Griffin2014-11-291-1/+1
| | | | | | 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.
* Remove deprecated method "Table#primary_key"Sean Griffin2014-11-261-0/+19
| | | | | | | The only place this method was still used is on the MSSQL visitor. The visitor has all of the objects required to inline this lookup there. Since the `primary_key` method on the connection adapter will perform a query when called, we can cache the result on the visitor.
* remove extra space before 'ORDER BY'Nihad Abbasov2014-11-261-1/+8
|
* Support Oracle bind parameter valueYasuo Honda2014-11-201-1/+12
|
* Use class objects rather than strings for the dispatch cacheSean Griffin2014-11-181-1/+1
| | | | | | | | The only reason we're using strings is to pre-populate the cache, but `Class#name` returns a new string instance on every call. This is a pretty major source of memory usage. We don't technically need to pre-populate the cache, and not doing so allows us to go back to using cache objects
* Add order to BindParams in the ToSql collectorSean Griffin2014-11-173-4/+21
| | | | | | | | | | | | 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.
* Deprecate passing ranges to `#in` and `#not_in`Sean Griffin2014-10-251-12/+12
| | | | | | | 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.
* `#not_in` with a range should respect proper precedenceSean Griffin2014-10-241-6/+6
| | | | | | | | | | | | | | | | | | 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.
* {Matches,DoesNotMatch} support the ESCAPE clauseTamir Duberstein2014-09-251-0/+14
|
* move the dispatch table to be per-instanceAaron Patterson2014-09-222-7/+1
| | | | | | | visitors are not shared among threads, so any mutations to the cache should be OK. The cache is also pre-populated on construction, but we should pull that out so we can share the cache among visitors in the future.
* Fix set visiting specDimko2014-09-171-1/+1
|
* Merge pull request #167 from pparidans/informix-v9-supportRafael Mendonça França2014-09-171-6/+6
|\ | | | | Informix versions < 10 use 'FIRST' keyword instead of 'LIMIT'
| * Informix versions < 10 use 'FIRST' keyword instead of 'LIMIT'Pierre Paridans2014-09-161-6/+6
| | | | | | | | Still supported in versions 10+
* | Merge pull request #137 from dimko/visit_setRafael Mendonça França2014-09-172-0/+13
|\ \ | |/ |/| Added a visitor for Set objects
| * added a visitor for Set objectsDimko2012-09-182-0/+13
| |
* | Wrap group_by sql with a subquery for limiting rows in Oracle.Chris Dinger2014-09-161-0/+10
| | | | | | | | Fixes #128
* | Merge pull request #277 from sergey-alekseev/wrap-nested-gropings-only-onceRafael Mendonça França2014-09-121-0/+7
|\ \ | | | | | | Wrap nested Nodes::Grouping in brackets only once
| * | Wrap nested Nodes::Grouping in brackets only onceSergey Alekseev2014-05-261-0/+7
| | |
* | | Modify Visitors::Dot's API to use collectorsJiri Pospisil2014-06-141-4/+4
| | |
* | | - Fix ambiguous argument warningVipul A M2014-05-311-1/+1
| | | | | | | | | | | | - Fix typo: `test_opertaion_ordering` => `test_operation_ordering`
* | | Asserting on error messageBrock Trappitt2014-05-281-3/+2
| | |
* | | Test which checks the error being raised by #unsupported in ToSql VisitorBrock Trappitt2014-05-271-0/+6
|/ /
* | Support to add the casting node to the AST at build timeYasuo Honda2014-05-051-2/+2
| | | | | | | | Ref https://github.com/rails/arel/commit/93d72131bcc24ccb5536bec672d2dac94f8de651
* | Test quoting integers when comparing a string column with integers.Dylan Smith2014-04-281-2/+14
| | | | | | | | | | | | | | | | | | | | An equality with a string column and integer like SELECT * FROM `users` WHERE `login_token` = 0 LIMIT 1; will match match any string that doesn't start with a digit in certain databases, like mysql. Make sure we quote the integer to avoid this problem in a database independant way.
* | make the bindvalue visitor backwards compatibleAaron Patterson2014-04-091-3/+3
| |
* | fixing bind value testsAaron Patterson2014-04-081-5/+3
| |
* | fixing ibm dbAaron Patterson2014-04-081-2/+6
| |
* | informix is workingAaron Patterson2014-04-081-6/+10
| |
* | mssql visitor is workingAaron Patterson2014-04-081-8/+12
| |
* | fixing mysql visitorAaron Patterson2014-04-081-7/+11
| |
* | oracle tests passingAaron Patterson2014-04-081-19/+23
| |
* | postgresql visitor is workingAaron Patterson2014-04-082-15/+18
| |
* | fix sqlite visitorAaron Patterson2014-04-081-2/+2
| |
* | push reduction visitors to a reduction base classAaron Patterson2014-04-081-1/+1
| | | | | | | | this lets our old depth first and dot visitors to work normally
* | Merge branch 'master' into collectorAaron Patterson2014-04-081-68/+0
|\ \ | | | | | | | | | | | | * master: removing unused join_sql method
| * | removing unused join_sql methodAaron Patterson2014-04-081-68/+0
| | |
* | | Merge branch 'master' into collectorAaron Patterson2014-04-084-0/+92
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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-082-0/+54
| | |
| * | Revert "Merge pull request #253 from corrupt952/master"Aaron Patterson2014-04-071-2/+2
| | | | | | | | | | | | | | | This reverts commit 6d3ed6d96c4a3ac85b97d81bad95b7254b2aa2d4, reversing changes made to a35fede61ac1a2fcff519ad052f2fcb8808922b9.
| * | flatten object.children in visit_Arel_Node_AndKazuki Hasegawa2014-04-031-2/+2
| | |
| * | Added right and full outer joinsStephen Prater & Fire-Dragon-DoL2014-03-302-0/+38
| | |
* | | to_sql is passingAaron Patterson2014-04-081-63/+63
| | |
* | | fixing some tests in to_sqlAaron Patterson2014-04-081-14/+19
| | |
* | | bind visitor working with collector objectAaron Patterson2014-04-081-6/+16
|/ /
* | Removed all the fiels in lib/arel/visitors/ which needs dependency on 'a' ↵Alex Lin2014-03-241-1/+1
| | | | | | | | also fixed the test case for : test/visitors/test_to_sql.rb:22 which pass in the parameter attribute e.g the parameter a.
* | add the casting node to the AST at build timeAaron Patterson2014-03-246-33/+82
| | | | | | | | | | If we add the casting node to the ast at build time, then we can avoid doing the lookup at visit time.
* | Test case for Issue No 242.cmohanprasath2014-02-181-0/+11
| | | | | | | | The evaluates the assignment of two unqualified columns.
* | Add tests for Nodes::Equality and Nodes::NotEqual to the ToSql class.Roel van der Hoorn2014-02-071-10/+25
| |
* | Merge pull request #232 from vipulnsward/bump-minitestRafael Mendonça França2014-02-053-3/+3
|\ \ | | | | | | | | | Bump minitest to 5.1.