aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Remove deprecated `Arel::Table#columns` with no replacementVipul A M2013-07-041-11/+0
|
* Remove deprecated `Arel::Table.table_cache` with no replacementVipul A M2013-07-041-10/+0
|
* Merge pull request #193 from parndt/patch-1Rafael Mendonça França2013-06-271-34/+71
|\ | | | | Prettied up the README with syntax highlighting. [ci skip]
| * Prettied up the README with syntax highlighting.Philip Arndt2013-06-281-34/+71
|/ | | | [ci skip]
* record who created the node when $DEBUG is trueAaron Patterson2013-05-201-1/+8
|
* call super from initializeAaron Patterson2013-05-178-0/+10
|
* Merge pull request #181 from prathamesh-sonpatki/typosRafael Mendonça França2013-05-171-3/+3
|\ | | | | Fixed typos
| * Fixed typosPrathamesh Sonpatki2013-05-171-3/+3
|/
* Make visitors threadsafe by removing @last_columnErnie Miller2013-04-2816-382/+386
| | | | | | | | | | | | | | | | | | | | | | 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.
* Release 4.0.0Rafael Mendonça França2013-04-182-3/+3
|
* Updage Gemfile to use https URLRafael Mendonça França2013-04-181-3/+4
|
* Merge pull request #171 from topdev/masterRafael Mendonça França2013-04-171-0/+4
|\ | | | | Added License block to README.md
| * Added License block to README.mdGasparyan A2013-03-051-0/+4
| |
* | ARel -> ArelXavier Noria2013-04-147-11/+11
| | | | | | | | | | | | | | The project uses "Arel" most of the time, but there were a few "ARel" here and there. I checked with @brynary back in 2010 to pick one for the Rails documentation guidelines and "Arel" was chosen and documented. This patch chooses "Arel" vs "ARel" based on that.
* | ActiveRecord -> Active RecordXavier Noria2013-04-142-3/+3
| | | | | | | | As per the Rails documentation guidelines.
* | Merge pull request #174 from eduardordm/masterRafael Mendonça França2013-03-152-2/+4
|\ \ | | | | | | Revert fixes involving issue #99 (which makes Arel unusable in large datasets)
| * | Update test_oracle.rbEduardo Mourao2013-03-151-1/+2
| | |
| * | Revert issue #99 fixesEduardo Mourao2013-03-151-1/+2
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are two commits involving issue #99 which should be reverted. First of all, #99 is not an issue in Arel at all. Second, the fix provides pretty much destroys the purpose of pagination by cause full table scans. The original code (it seems I can't simply revert the commits) is 900 times slower than this one. ``` SELECT * FROM ( SELECT raw_sql_.*, rownum raw_rnum_ FROM (SELECT "LANCAMENTOS".* FROM "LANCAMENTOS" ) raw_sql_ ) WHERE raw_rnum_ between 1 and 30 ---------------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | ----------------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 4636K| 2701M| 23442 (2)| 00:04:42 | |* 1 | VIEW | | 4636K| 2701M| 23442 (2)| 00:04:42 | | 2 | COUNT | | | | | | | 3 | TABLE ACCESS FULL| LANCAMENTOS | 4636K| 738M| 23442 (2)| 00:04:42 | ----------------------------------------------------------------------------------- Predicate Information (identified by operation id): --------------------------------------------------- 1 - filter("RAW_RNUM_"<=30 AND "RAW_RNUM_">=1) Statistics ----------------------------------------------------------- 4 user calls 13 physical read total multi block requests 202588160 physical read total bytes 202588160 cell physical IO interconnect bytes 0 commit cleanout failures: block lost 0 IMU commits 0 IMU Flushes 0 IMU contention 0 IMU bind flushes 0 IMU mbu flush SELECT * FROM ( SELECT raw_sql_.*, rownum raw_rnum_ FROM (SELECT "LANCAMENTOS".* FROM "LANCAMENTOS" ) raw_sql_ WHERE rownum <= 30 ) WHERE raw_rnum_ >= 0 ----------------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | ----------------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 30 | 18330 | 2 (0)| 00:00:01 | |* 1 | VIEW | | 30 | 18330 | 2 (0)| 00:00:01 | |* 2 | COUNT STOPKEY | | | | | | | 3 | TABLE ACCESS FULL| LANCAMENTOS | 30 | 5010 | 2 (0)| 00:00:01 | ----------------------------------------------------------------------------------- Predicate Information (identified by operation id): --------------------------------------------------- 1 - filter("RAW_RNUM_">=0) 2 - filter(ROWNUM<=30) Statistics ----------------------------------------------------------- 4 user calls 0 physical read total multi block requests 0 physical read total bytes 0 cell physical IO interconnect bytes 0 commit cleanout failures: block lost 0 IMU commits 0 IMU Flushes 0 IMU contention 0 IMU bind flushes 0 IMU mbu flush ```
* | bumping to beta2Aaron Patterson2013-03-142-7/+7
| |
* | call the columns hash methodAaron Patterson2013-03-142-4/+8
|/
* Merge pull request #170 from vladson/masterCarlos Antonio da Silva2013-03-052-4/+4
|\ | | | | 2 gems updated
| * Updated minitest to 4.6.2 and RDoc to 4.0.0Vladislav Bogomolov2013-03-052-4/+4
|/
* Merge pull request #164 from tpope/infinity-rangesRafael Mendonça França2013-03-042-2/+52
|\ | | | | Support Float::INFINITY in ranges
| * Support Float::INFINITY in rangesTim Pope2013-02-192-2/+52
| |
* | Merge remote-tracking branch 'origin/master'Aaron Patterson2013-02-251-3/+1
|\ \ | | | | | | | | | | | | * origin/master: No need to test against 1.8
| * | No need to test against 1.8Rafael Mendonça França2013-02-251-3/+1
| |/
* / bumping to beta1Aaron Patterson2013-02-252-15/+15
|/
* Merge pull request #161 from Noemj/masterAaron Patterson2013-02-052-1/+30
|\ | | | | Mysql2 prepared statements bind substitution fix
| * Added unit test for the mysql2 bind substitutionNoemj2013-02-051-1/+20
| |
| * Fixed the bind param visiting for mysql2 prepared statements caseNoemj2013-02-041-0/+10
| |
* | Merge pull request #160 from t0m/issue_99_oracle_optimizationRafael Mendonça França2013-01-312-2/+2
|\ \ | | | | | | Small change to oracle paging code to trigger stopkey optimization
| * | Add oracle paging optimization discussed in issue 99tom2013-01-082-2/+2
| | |
* | | fixing bind param visiting in the dot visitorAaron Patterson2013-01-301-1/+1
| | |
* | | Merge pull request #159 from Noemj/masterAaron Patterson2013-01-302-0/+9
|\ \ \ | |/ / |/| / | |/ SqlLiterals quoting fix
| * Denied the quoting of SqlLiteralsNoemj2013-01-292-0/+9
|/
* Merge pull request #152 from parkerl/masterRafael Mendonça França2012-12-141-1/+1
|\ | | | | | | | | Update README to have a better GROUP BY example Issue #86 Closes #86
| * Make GROUP BY example more accurate and complete.Lew Parker2012-12-131-1/+1
|/
* Merge pull request #151 from revans/update-gems-to-latestRafael Mendonça França2012-12-083-12/+12
|\ | | | | Updated 3 gems
| * Updated 3 gems:Robert Evans2012-12-083-12/+12
|/ | | | | | * MiniTest from 2.2 to 4.3.3 * Hoe from 2.10 to 3.3.1 * Rdoc from 3.10 to 3.12
* Merge pull request #116 from carlosantoniodasilva/remove-warningsCarlos Antonio da Silva2012-11-172-5/+0
|\ | | | | Remove some test warnings
| * Remove some test warningsCarlos Antonio da Silva2012-11-172-5/+0
|/
* avoid extra string objects in the inner join caseAaron Patterson2012-10-151-1/+6
|
* more roflscaling strings in the visitorAaron Patterson2012-10-122-10/+28
|
* adding some roflscale to the sql visitorAaron Patterson2012-10-121-13/+96
|
* Merge pull request #141 from sunaku/GH-138Aaron Patterson2012-09-242-0/+12
|\ | | | | feature: add Arel::SelectManager#projections method
| * GH-138: add Arel::SelectManager#projections methodSuraj N. Kurapati2012-09-212-0/+12
| |
* | Merge pull request #140 from sunaku/GH-139Aaron Patterson2012-09-242-4/+43
|\ \ | | | | | | bugfix: some aggregations lacked DISTINCT emission
| * | GH-139: some aggregations lacked DISTINCT emissionSuraj N. Kurapati2012-09-212-4/+43
| |/
* | Merge pull request #142 from sunaku/subqueryAaron Patterson2012-09-222-0/+9
|\ \ | |/ |/| to_sql: add support for emitting SQL subqueries
| * to_sql: add support for emitting SQL subqueriesSuraj N. Kurapati2012-09-222-0/+9
|/