Commit Graph

134 Commits

Author SHA1 Message Date
David Heinemeier Hansson
eec24a16c7 Fixed that Active Record would call SHOW FIELDS twice (or more) for the same model when the cached results were available #1947 [sd@notso.net]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2153 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-09-08 12:21:36 +00:00
David Heinemeier Hansson
f2a89d7862 Give AR the new benchmark method too
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2143 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-09-06 17:47:31 +00:00
David Heinemeier Hansson
f86276b305 Fix fragment benchmark calls and limit timings to 5 decimals
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2142 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-09-06 17:33:11 +00:00
David Heinemeier Hansson
5e8e8d6564 Added use_silence parameter to ActiveRecord::Base.benchmark that can be passed false to include all logging statements during the benchmark block. Added ActionController::Base.benchmark and ActionController::Base.silence to allow for easy benchmarking and turning off the log
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2140 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-09-06 16:48:18 +00:00
Jamis Buck
69d662051e Modify read_attribute to allow a symbol argument #2024 [Ken Kunz]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2096 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-09-02 08:31:11 +00:00
Jamis Buck
b1a4f91a58 Make destroy return self #1913 [sebastian.kanthak@muehlheim.de]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2011 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-08-14 08:58:53 +00:00
Jamis Buck
e17bf81823 Fix typo in count_by_sql documentation #1969 [Alexey Verkhovsky]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2007 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-08-14 08:20:51 +00:00
David Heinemeier Hansson
14ea312808 Made Oracle a first-class connection adapter by adhering closer to idiomatic Oracle style #1798 [The Gang of Oracles]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1912 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-07-24 14:01:35 +00:00
David Heinemeier Hansson
34f9d30e39 Added support for calling constrained class methods on has_many and has_and_belongs_to_many collections #1764 [Tobias Luetke]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1894 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-07-22 20:05:42 +00:00
David Heinemeier Hansson
1aab0e2c30 Doc fixes #1775, #1776 [jon@instance-design.co.uk]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1878 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-07-22 06:27:07 +00:00
David Heinemeier Hansson
6f05696ceb Added :select option to find which can specify a different value than the default *, like find(:all, :select => "first_name, last_name"), if you either only want to select part of the columns or exclude columns otherwise included from a join #1338 [Stefan Kaes]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1830 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-07-14 07:18:26 +00:00
David Heinemeier Hansson
5b9b904f14 Added support for limit and offset with eager loading of has_one and belongs_to associations. Using the options with has_many and has_and_belongs_to_many associations will now raise an ActiveRecord::ConfigurationError #1692 [Rick Olsen]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1811 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-07-11 06:09:08 +00:00
David Heinemeier Hansson
60499774c2 Fixed that each request with the WEBrick adapter would open a new database connection #1685 [Sam Stephenson]. Added ActiveRecord::Base.threaded_connections flag to turn off 1-connection per thread (required for thread safety). By default it's on, but WEBrick in Rails need it off #1685 [Sam Stephenson]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1792 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-07-10 04:54:34 +00:00
Jeremy Kemper
5495b14a09 r2979@asus: jeremy | 2005-07-10 01:51:00 -0700
Split association reflection test into has_many and has_one tests.  TODO: extend to belongs_to and habtm as well.  Kill trailing whitespace.
 r2980@asus:  jeremy | 2005-07-10 01:53:41 -0700
 Test that eager load of firm.account (a has_one) returns the correct account.  This doesn't cover the regression in Ticket #1688, however.  Need a case where class name is not provided and the singular name is over-singularized by active_record.class_name.  Kill trailing whitespace.
 r2981@asus:  jeremy | 2005-07-10 01:56:44 -0700
 Fix class name resolution in AssociationReflection#name_to_class_name.  Use the equivalent of the idiomatic ||= (read or write if nil) for the class_inheritable_attribute reflection arrays.  Kill trailing whitespace.
 r2982@asus:  jeremy | 2005-07-10 01:59:08 -0700
 Remove superfluous assignment in compute_type.  In an inject, the return value is used for the next injection, so assigning to the injected value is unnecessary.


git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1790 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-07-10 04:22:08 +00:00
Jamis Buck
56c3d72aa7 Fix regression from [1631] that caused an attribute to be set to nil if it was assigned false
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1709 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-07-05 12:38:06 +00:00
David Heinemeier Hansson
aaa5637249 Fixed Base#write_attribute to work with both symbols and strings #1190 [Paul Legato]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1643 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-07-03 09:51:24 +00:00
Jeremy Kemper
b210edce38 r1618@asus: jeremy | 2005-07-03 08:24:19 -0700
base attribute_present? on blank?, accounting for zero


git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1636 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-07-03 08:33:03 +00:00
Jeremy Kemper
9a10b31fe8 r1615@asus: jeremy | 2005-07-03 08:06:00 -0700
oops, back out DELETE typo


git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1633 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-07-03 08:32:47 +00:00
Jeremy Kemper
6e39c9e561 r1614@asus: jeremy | 2005-07-03 08:01:08 -0700
minor perf tweaks + excise trailing whitespace


git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1632 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-07-03 08:32:43 +00:00
Jeremy Kemper
81737fc0dd r1613@asus: jeremy | 2005-07-03 07:04:53 -0700
optimize method_missing for common case (read_attribute).  minor perf tweaks


git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1631 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-07-03 08:32:39 +00:00
Jeremy Kemper
af9d03824a r1609@asus: jeremy | 2005-07-03 00:18:43 -0700
more minor perf tweaks


git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1627 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-07-03 08:32:17 +00:00
Jeremy Kemper
397c8ee2a9 r1608@asus: jeremy | 2005-07-03 00:13:57 -0700
quoter required for column quoting


git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1626 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-07-03 08:32:12 +00:00
David Heinemeier Hansson
f2a29ca43c Added support for ODBC connections to MS SQL Server so you can connect from a non-Windows machine #1569 [Mark Imbriaco/DeLynn Berry] Added support for limit/offset with the MS SQL Server driver so that pagination will now work #1569 [DeLynn Berry]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1583 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-07-01 17:20:04 +00:00
David Heinemeier Hansson
c92ecb82b8 Fixed that multiparameter posts ignored attr_protected #1532 [alec+rails@veryclever.net]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1550 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-06-28 17:15:01 +00:00
David Heinemeier Hansson
3dfa56ccfb Updated all references to the old find_first and find_all to use the new style #1511 [Marcel Molina]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1520 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-06-26 11:25:32 +00:00
David Heinemeier Hansson
302c23d5a6 Fixed Base#find to honor the documentation on how :joins work and make them consistent with Base#count #1405 [pritchie@gmail.com] Improved dynamic finder docs #1495 [laurel@gorgorg.org]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1510 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-06-25 11:47:37 +00:00
David Heinemeier Hansson
a9fd639adf Fixed that calling Model.find([]) returns [] and doesn't throw an exception #1379
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1471 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-06-21 16:36:18 +00:00
David Heinemeier Hansson
c2ed453880 Fix quote_bound_value to not map Strings #1416 [htonl]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1445 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-06-16 10:13:37 +00:00
David Heinemeier Hansson
253a2bbefb Allow any Enumerable, not just Array, to work as bind variables #1344 [bitsweat]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1442 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-06-16 06:44:48 +00:00
Jeremy Kemper
c4a3634929 Corrected @@configurations typo. #1410 [david@ruppconsulting.com]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1406 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-06-12 13:32:06 +00:00
Jeremy Kemper
d0bd3b5af4 Return PostgreSQL columns in the order they are declared #1374 (perlguy@gmail.com). Unit test column order, adapter housekeeping, simplify users of columns_hash.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1405 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-06-12 06:56:51 +00:00
David Heinemeier Hansson
47dcc5ffc6 Fixed use of construct_finder_sql when using :join #1288 [dwlt@dwlt.net]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1316 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-05-19 17:23:28 +00:00
David Heinemeier Hansson
bd79a4eb3b Fixed that clone would break when an aggregate had the same name as one of its attributes #1307 [bitsweat]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1309 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-05-19 16:39:50 +00:00
David Heinemeier Hansson
24a9050b6e Changed the callbacks such that observers are notified before the in-object callbacks are triggered. Without this change, it wasn't possible to act on the whole object in something like a before_destroy observer without having the objects own callbacks (like deleting associations) called first.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1273 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-05-02 16:46:30 +00:00
David Heinemeier Hansson
5f77f64e92 Added option for passing an array to the find_all version of the dynamic finders and have it evaluated as an IN fragment
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1266 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-05-02 05:34:27 +00:00
David Heinemeier Hansson
2bf223051e Added compatibility with camelCase column names for dynamic finders #533 [Dee.Zsombor]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1263 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-04-30 15:49:28 +00:00
David Heinemeier Hansson
eefe4d0ddd Fixed extraneous comma in count() function that made it not work with joins #1156 [jarkko/Dee.Zsombor]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1262 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-04-30 15:45:15 +00:00
David Heinemeier Hansson
787951348b Fixed incompatibility with Base#find with an array of ids that would fail when using eager loading #1186 [Alisdair McDiarmid]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1259 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-04-30 14:04:01 +00:00
David Heinemeier Hansson
7d01005514 Fixed documentation and prepared for release of 0.12
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1216 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-04-18 20:10:11 +00:00
David Heinemeier Hansson
49d0f0cb66 Speeded up eager loading a whole bunch
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1212 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-04-18 18:49:34 +00:00
David Heinemeier Hansson
515886a565 Added documentation for new Base.find API and eager association loading
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1209 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-04-18 14:39:36 +00:00
David Heinemeier Hansson
76690111d5 Fixes for postgresql testing #1129, #1130, #1131
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1199 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-04-18 05:03:56 +00:00
David Heinemeier Hansson
0591c53efd Made the dynamic finders use the new find API and updated the examples here and there
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1196 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-04-17 17:16:24 +00:00
David Heinemeier Hansson
ff1db4de5f Qualify the ids used such that eager loading can avoid ambigious keys
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1163 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-04-13 18:12:59 +00:00
David Heinemeier Hansson
ad24c6d756 Fixed pagination to work with joins #1034 [scott@sigkill.org]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1159 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-04-13 05:40:22 +00:00
David Heinemeier Hansson
908e9a17d8 Fixed that Base.silence should restore the old logger level when done, not just set it to DEBUG #1084 [yon@milliped.com]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1155 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-04-13 05:16:52 +00:00
David Heinemeier Hansson
fdd268138a Made eager loading work with inheritance hierarchies #1065 [Ryan Carver]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1131 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-04-10 15:49:49 +00:00
David Heinemeier Hansson
7b37c779d8 Fixed counter_sql when no records exist in database for PostgreSQL (would give error, not 0) #1039 [Caleb Tennis]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1104 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-04-07 06:29:31 +00:00
David Heinemeier Hansson
9e799e731c Prefix primary key with table name so it works as part of a joined fetch
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1086 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-04-04 04:56:23 +00:00
David Heinemeier Hansson
efb55d1cf5 Allow order, conditions, and joins in finds that include associations
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1080 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2005-04-03 12:06:23 +00:00