Commit Graph

824 Commits

Author SHA1 Message Date
Michael Koziarski
aa32f66ebb Add :allow_blank to validations. Like allow_nil, but for values which are +blank?+. [jnoon] Closes #7383
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@7407 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-09-05 05:37:52 +00:00
Rick Olson
51977bc261 Fix bug where unserializing an attribute attempts to modify a frozen @attributes hash for a deleted record. [Rick]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@7406 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-09-04 17:32:48 +00:00
Michael Koziarski
3bbef581af Work around mysql limitations for defaults on text columns with not null. Closes #9324 [caio]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@7405 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-09-04 02:44:10 +00:00
Michael Koziarski
6246fad19a Remove deprecated functionality from edge rails. Closes #9387 [lifofifo]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@7402 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-09-03 00:17:09 +00:00
Michael Koziarski
b18d9568a6 Ensure QueryCache doesn't try to dup numeric results (does not affect the major OS database). Closes #7661 [tomafro, nzkoz]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@7399 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-09-02 23:52:58 +00:00
Michael Koziarski
45ea329bcd Remove commented out test which refers to old code, old bugs and uses ObjectSpace in a nasty way. [nzkoz]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@7371 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-08-29 03:33:26 +00:00
Michael Koziarski
5840108b6e Pass the right binding when string is passed to :if with validations. [caspercg] Closes #9300
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@7365 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-08-28 23:17:17 +00:00
Michael Koziarski
016947ceed Make sure create! raises errors on validation when creating multiple records. [hasmanyjosh] Closes #8952
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@7361 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-08-28 20:44:51 +00:00
Michael Koziarski
29b0707f07 Improve performance and functionality of the postgresql adapter. Closes #8049 [roderickvd]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@7329 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-08-16 06:26:30 +00:00
Michael Koziarski
f008566d65 Don't clobber :includes passed to count on has_many association. Closes #9175 [danger]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@7326 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-08-16 04:37:31 +00:00
Michael Koziarski
82b244e3ff Make sure has_many associations honour :include when counting. Closes #9167 [danger]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@7325 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-08-16 04:36:55 +00:00
Michael Koziarski
5b801b5960 Change the implementation of ActiveRecord's attribute reader and writer methods:
* Generate Reader and Writer methods which cache attribute values in hashes.  This is to avoid repeatedly parsing the same date or integer columns.
 * Move the attribute related methods out to attribute_methods.rb to de-clutter base.rb
 * Change exception raised when users use find with :select then try to access a skipped column.  Plugins could override missing_attribute() to lazily load the columns.
 * Move method definition to the class, instead of the instance
 * Always generate the readers, writers and predicate methods.


git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@7315 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-08-14 08:53:02 +00:00
Michael Koziarski
d4bf5e9b34 Make habtm respect the :select option. Closes #9207. [Aleksey Kondratenko]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@7279 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-08-07 09:53:33 +00:00
Michael Koziarski
bb94ce92fc Let inspect on AR classes work when the table doesn't exist. Closes #9194 [tarmo, nzkoz]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@7278 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-08-06 00:18:50 +00:00
Rick Olson
ea07212d97 dont call #collect on a string when returning query cache results. Closes #9099 [norbert]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@7239 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-07-25 13:05:58 +00:00
Rick Olson
f5ea6f880f Perform a deep #dup on query cache results so that modifying activerecord attributes does not modify the cached attributes. [Rick]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@7238 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-07-25 03:48:30 +00:00
Rick Olson
d51e7f8252 Ensure that has_many :through associations use a count query instead of loading the target when #size is called. Closes #8800 [lifo]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@7237 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-07-25 03:09:21 +00:00
David Heinemeier Hansson
1e1f93fd10 Added :unless clause to validations (closes #8003) [monki]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@7215 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-07-24 01:48:17 +00:00
Rick Olson
3029a76af3 Fix #count on a has_many :through association so that it recognizes the :uniq option. Closes #8801 [lifofifo]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@7199 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-07-20 00:10:06 +00:00
Rick Olson
a413056407 Fix and properly document/test count(column_name) usage. Closes #8999 [lifofifo]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@7192 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-07-17 20:16:35 +00:00
Rick Olson
872c5f4380 Remove deprecated count(conditions=nil, joins=nil) usage. Closes #8993 [lifofifo]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@7189 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-07-16 20:26:10 +00:00
Rick Olson
4ef5af8d4d Change belongs_to so that the foreign_key assumption is taken from the association name, not the class name. Closes #8992 [hasmanyjosh]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@7188 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-07-16 20:21:36 +00:00
Michael Koziarski
ddb00f1078 Remove spurious tests from deprecated_associations_test, most of these aren't deprecated, and are duplicated in associations_test. Closes #8987 [lifofifo]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@7187 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-07-15 01:16:40 +00:00
Michael Koziarski
816522ecd8 Make create! on a has_many :through association return the association object. Not the collection. Closes #8786 [lifofifo]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@7182 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-07-11 23:54:43 +00:00
Tobias Lütke
187e1f85d0 Support for non heterogeneous arrays when serializing to xml. Unless guessable from array name the type name will be included as attribute
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@7173 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-07-09 22:07:39 +00:00
Tobias Lütke
5b2be62934 Make [7169] work as expected with indented XML.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@7171 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-07-09 19:10:45 +00:00
Tobias Lütke
049b1440a3 Include empty has_many/has_and_belongs_to_many associations as empty array tags when serializing to XML
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@7169 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-07-09 18:13:24 +00:00
Michael Koziarski
3fbfc13ee3 Move from select * to select tablename.* to avoid clobbering IDs. Closes #8889 [dasil003]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@7167 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-07-07 02:42:42 +00:00
Michael Koziarski
d0ff4ec193 Don't call unsupported methods on associated objects when using :include, :method with to_xml [manfred, jwilger] Closes #7307
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@7156 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-06-30 03:31:48 +00:00
Tobias Lütke
817d5d489d Add the type="array" moniker to has_many / has_and_belongs_to_many associations upon serialization.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@7144 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-06-27 16:37:40 +00:00
Jeremy Kemper
b5b16a80a9 Define collection singular ids method for has_many :through associations. Closes #8763.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@7137 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-06-27 08:19:12 +00:00
Jeremy Kemper
02311a5db1 Array attribute conditions work with proxied association collections. Closes #8318.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@7133 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-06-27 02:56:11 +00:00
Jeremy Kemper
89c79b8b95 Fix polymorphic has_one associations declared in an abstract class. Closes #8638.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@7119 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-06-25 22:42:19 +00:00
David Heinemeier Hansson
279113f9b3 Fixed validates_associated should not stop on the first error (closes #4276) [mrj/manfred/josh]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@7094 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-06-23 17:01:00 +00:00
Jeremy Kemper
048dcf31c9 Mock the beginning of the transaction also. References #8642.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@7089 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-06-23 01:58:41 +00:00
Jeremy Kemper
c627590fd4 Rollback if commit raises an exception. Closes #8642.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@7088 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-06-23 00:54:51 +00:00
Jeremy Kemper
dae6108998 Update tests' use of fixtures for the new collections api. Closes #8726.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@7081 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-06-22 17:36:20 +00:00
Jeremy Kemper
989332c734 Save associated records only if the association is already loaded. Closes #8713.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@7075 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-06-21 20:47:26 +00:00
Jeremy Kemper
eb2e30ef24 MySQL: fix show_variable. Closes #8448.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@7071 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-06-20 18:30:35 +00:00
Rick Olson
6af2cbca07 remove extra debug line. Closes #8681 [Giles Bowkett]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@7059 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-06-18 23:57:00 +00:00
Jeremy Kemper
7858a32e1b Remove deprecated find_first and find_all.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@6998 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-06-11 07:45:56 +00:00
Jeremy Kemper
800b899f96 Remove deprecated push_with_attributes.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@6997 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-06-11 07:15:59 +00:00
Jeremy Kemper
813e8ba93b Fix Base#inspect when not every attribute is present. Closes #8623.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@6995 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-06-11 05:02:42 +00:00
Jeremy Kemper
9b444fe73b Rollback [6961] which breaks SQLite tests. Reference #7345.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@6965 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-06-08 01:40:05 +00:00
Jeremy Kemper
72401dcbd6 Quote db path so SQLite AR tests work on Windows. Closes #5278 [mislav@nippur.irb.hr]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@6964 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-06-08 01:37:13 +00:00
Jeremy Kemper
869a172a8a Migrations: raise if a column is duplicated. Closes #7345.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@6961 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-06-07 23:25:50 +00:00
Jeremy Kemper
255b913637 Fix typo. Closes #7504 [aurelianito]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@6943 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-06-05 04:32:08 +00:00
Jeremy Kemper
673daeabca Fixtures: people(:technomancy, :josh) returns both fixtures. Closes #7880.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@6940 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-06-05 03:47:02 +00:00
Jeremy Kemper
b05fc40b5d Calculations support non-numeric foreign keys. Closes #8154.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@6919 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-06-01 03:26:51 +00:00
Jeremy Kemper
d0360a4d5c Base.inspect handles Base itself and abstract_class? Don't use #<Foo ...> since that notation's typically used for instances of a class, not the class itself. Closes #8490 [deepblue]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@6913 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
2007-05-31 17:31:33 +00:00