aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #17660 from rishijain/update_docs_11Xavier Noria2014-11-181-2/+2
|\ | | | | fixed minor typos in RELEASE doc [ci skip]
| * fixed minor typos in RELEASE doc [ci skip]Rishi Jain2014-11-181-2/+2
| |
* | Merge pull request #17658 from SamSaffron/optimise_memoryXavier Noria2014-11-181-1/+3
|\ \ | |/ |/| PERF: stop allocating the string "id" over and over
| * PERF: stop allocating the string "id" over and overSam2014-11-181-1/+3
| |
* | Revert "[PERF] Speed up integer type casting from DB"Godfrey Chan2014-11-171-4/+1
| | | | | | | | | | | | This reverts commit 6f7910a and 52c70d4. Query params are type cased through the same method, so this approach doesn't work.
* | :nail_care: Put escape clause first, keeps @sgrif happy :grin:Godfrey Chan2014-11-171-1/+2
| | | | | | | | See comment on 6f7910a
* | [PERF] Speed up integer type casting from DBGodfrey Chan2014-11-171-1/+3
|/ | | | | | | | | | | | | | | | | | | We don't have the check the range when the value is coming from the DB, so override type_cast_from_database to short-circuit the extra work. type_cast_from_database (small) 3437507.5 (±29.2%) i/s - 14223135 in 4.996973s type_cast_from_database (large) 3158588.7 (±28.3%) i/s - 13265628 in 4.992121s type_cast (small) 481984.8 (±14.2%) i/s - 2352012 in 5.005694s type_cast (large) 477331.8 (±14.2%) i/s - 2332824 in 5.012365s Comparison: type_cast_from_database (small): 3437507.5 i/s type_cast_from_database (large): 3158588.7 i/s - 1.09x slower type_cast (small): 481984.8 i/s - 7.13x slower type_cast (large): 477331.8 i/s - 7.20x slower The difference is huge but the absolute gain is quite small. That being said this is a hotspot and it showed up on the radar when benchmarking discourse.
* Remove the unused second argument to `substitute_at`Sean Griffin2014-11-1711-25/+12
| | | | Oh hey, we got to remove some code because of that!
* rm `reorder_bind_params`Sean Griffin2014-11-179-25/+7
| | | | | | Arel handles this for us automatically. Updated tests, as BindParam is no longer a subclass of SqlLiteral. We should remove the second argument to substitute_at entirely, as it's no longer used
* Force table creation in testsSean Griffin2014-11-171-2/+2
| | | | | | If something causes the teardown block to not get run (errors, interrupting test runs), we have to manually delete them, which is a pain.
* Generate new applications with the right rails-dom-testing versionRafael Mendonça França2014-11-171-2/+4
|
* Use GitHub, not my local fork :sweat_smile:Rafael Mendonça França2014-11-171-1/+1
|
* document_root_element need to be publicRafael Mendonça França2014-11-173-9/+10
|
* Merge pull request #17647 from tgxworld/fix_typoAbdelkader Boudih2014-11-171-1/+1
|\ | | | | Fix typo. [ci skip]
| * Fix typo.Guo Xiang Tan2014-11-171-1/+1
|/
* Improve the performance of quoting table names on PGSean Griffin2014-11-171-4/+15
| | | | | | This caused a pretty major performance regression for 4.2, as this is a hotspot for query construction. We're still slightly slower than 4.1, but it's much less significant.
* Add StackProf to the test group for 2.1Sean Griffin2014-11-171-0/+4
| | | | Makes life easier for people profiling on master.
* Remove pointless `private`Sean Griffin2014-11-171-2/+0
| | | | This class no longer has any private methods
* Merge pull request #17643 from SamSaffron/select_all_perfSean Griffin2014-11-172-8/+32
|\ | | | | PERF: optimise type lookup to avoid invoking procs
| * PERF: optimise type lookup to avoid invoking procsSam2014-11-172-8/+32
| |
* | Merge pull request #17640 from michaeljayt/spring-not-working-in-cygwinRafael Mendonça França2014-11-171-1/+1
|\ \ | | | | | | Skip spring install in Cygwin due to fork() bad support.
| * | Skip spring install in Cygwin due to fork() bad support.michaeljayt2014-11-171-1/+1
| | | | | | | | | | | | See also: https://www.cygwin.com/faq.html#faq.using.fixing-fork-failures
* | | Merge pull request #17642 from tgxworld/fix_template_assertion_on_assignsRafael Mendonça França2014-11-172-4/+20
|\ \ \ | | | | | | | | Fix for assigns(:..) resetting template assertions
| * | | Fix for assigns(:..) resetting template assertionsCalvin Correli2014-11-172-4/+20
| | | | | | | | | | | | | | | | When calling assigns(:...) or cookies(:...), template assertions would be reset, which they obviously shouldn't be.
* | | | Merge pull request #17628 from bf4/update_unicodeRafael Mendonça França2014-11-172-1/+1
|\ \ \ \ | | | | | | | | | | Update to Unicode 7.0.0
| * | | | Update to Unicode 7.0.0Benjamin Fleischer2014-11-152-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7.0.0 was released on June 16, 2014 http://unicode-inc.blogspot.com.ar/2014/10/unicode-version-70-complete-text-of.html ruby bin/generate_tables
* | | | | Merge pull request #17645 from georgemillo/masterRafael Mendonça França2014-11-172-3/+3
|\ \ \ \ \ | | | | | | | | | | | | Minor English fixes in docs [ci skip]
| * | | | | Minor English fixes in docs [ci skip]George Millo2014-11-172-3/+3
| | |_|_|/ | |/| | |
* | | | | Meant to describe the concept, not the setting [ci skip]Godfrey Chan2014-11-171-1/+1
| | | | |
* | | | | Deprecate different default for `log_level` in productionGodfrey Chan2014-11-173-3/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a more conservative approach to 2602a49. Also changed the comment to be more inline with everything else in the file (describing what the config value is doing and why). People should just read the docs for alternatives.
* | | | | Revert "Merge pull request #16622 from matthewd/default-debug"Godfrey Chan2014-11-172-3/+3
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 2602a49a8600ab52f807599bbd5b1f9c0be4214f, reversing changes made to 5d7c1057684c377bc2801c8851e99ff11ab23530. The explicit default was introduced in 21f6d72, so apps created with Rails < 4 have the commented out version, which means that this change would break those apps.
* | | | Merge pull request #17630 from gsamokovarov/exception-wrapper-source-extractGuillermo Iguaran2014-11-164-10/+10
|\ \ \ \ | | | | | | | | | | Rename #source_extract to #source_extracts in ExceptionWrapper
| * | | | Rename #source_extract to #source_extracts in ExceptionWrapperGenadi Samokovarov2014-11-164-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | | It returns multiple source extracts since 1ed264bc. Also cleaned its result structure, as we no longer need the file in a code extract.
* | | | | Merge pull request #17639 from gsamokovarov/faster-exception-wrapper-tracesGuillermo Iguaran2014-11-161-2/+6
|\ \ \ \ \ | | | | | | | | | | | | Don't double check trace origin in ExceptionWrapper#traces
| * | | | | Don't double check trace origin in ExceptionWrapper#tracesGenadi Samokovarov2014-11-161-2/+6
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | If a trace isn't an application one, then it comes from a framework. That's the definition of framework trace. We can speed up the traces generation if we don't double check that.
* | | | | Merge pull request #17638 from gsamokovarov/focus-application-traceGuillermo Iguaran2014-11-161-1/+1
|\ \ \ \ \ | |_|_|_|/ |/| | | | Don't show full trace on routing errors
| * | | | Don't show full trace on routing errorsGenadi Samokovarov2014-11-161-1/+1
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since dbcbbcf2bc58e8971672b143d1c52c0244e33f26 the full trace is shown by default on routing errors. While this is a nice feature to have, it does take the attention off the routes table in this view and I think this is what most of the people look for in this page. Added an exception to the default trace switching rule to remove that noise.
* | | | Merge pull request #17637 from gregmolnar/docsZachary Scott2014-11-161-1/+1
|\ \ \ \ | |/ / / |/| | | add Nokogiri to docs generation guides [ci skip]
| * | | add Nokogiri to docs generation guidesGreg Molnar2014-11-161-1/+1
|/ / /
* | | Merge pull request #17635 from tgxworld/missing_spaceZachary Scott2014-11-161-1/+1
|\ \ \ | | | | | | | | [ci skip] Missing space in Active Job guide for referring to Action Mailer
| * | | [CI SKIP] Missing space.Guo Xiang Tan2014-11-161-1/+1
| |/ /
* | | Merge pull request #17636 from gsamokovarov/exception-wrapper-less-nilsGuillermo Iguaran2014-11-163-31/+62
|\ \ \ | |/ / |/| | Don't let #{application,framework,full}_trace be nil
| * | Don't let #{application,framework,full}_trace be nilGenadi Samokovarov2014-11-163-31/+62
|/ / | | | | | | | | | | Those three can be nil when exception backtrace is nil. This happens and that forced a couple of nil guards in the code. I'm proposing to make those always return an array, even on nil backtrace.
* | Merge pull request #17626 from y-yagi/queue_adapters_docAbdelkader Boudih2014-11-151-0/+1
|\ \ | | | | | | [ci skip] add "Qu" to Backends Features list
| * | [ci skip] add "Qu" to Backends Features listyuuji.yaginuma2014-11-151-0/+1
|/ /
* | Don't freeze the same hash we use for memoizationSean Griffin2014-11-141-6/+7
| |
* | Allow `LazyAttributeHash` to be marshalledSean Griffin2014-11-141-13/+17
| | | | | | | | | | | | | | | | `default_proc` makes a hash unmarshallable, and adds unneccessary overhead. Since we control all access to the hash, let's just handle it in that method. This has the side effect of improving performance on initialization (but not neccessarily on access). We'll need to profile further once the tests are passing.
* | Correctly determine if an attribute is uninitializedSean Griffin2014-11-142-2/+10
| | | | | | | | | | | | | | In real usage, we give the builder a types hash with a default value of `Type::Value.new`. This means we need to explicitly check for the key, rather than the truthiness of the type to determine if it's a known but uninitialized attribute
* | Reduce the amount of work performed when instantiating AR modelsSean Griffin2014-11-146-27/+79
| | | | | | | | | | | | | | | | | | | | We don't know which attributes will or won't be used, and we don't want to create massive bottlenecks at instantiation. Rather than doing *any* iteration over types and values, we can lazily instantiate the object. The lazy attribute hash should not fully implement hash, or subclass hash at any point in the future. It is not meant to be a replacement, but instead implement its own interface which happens to overlap.
* | Revert "Improve performance of AR object instantiation"Sean Griffin2014-11-145-61/+11
| | | | | | | | | | | | | | | | | | | | This reverts commit 8fee923888192a658d8823b31e77ed0683dfd665. Conflicts: activerecord/lib/active_record/attribute_set/builder.rb This solution sucks, and is hard to actually apply across the board. Going to try other solutions