Arun Agrawal
9a59475d4a
indentation fix warning
2011-12-02 22:55:15 +05:30
Xavier Noria
36cc1f78eb
revises some details in the previous explain patch
2011-12-02 09:19:13 -08:00
Jon Leighton
9acb340e88
Revert "Roflscaling!" (for now)
...
This reverts commit f6b5046305 .
Fear not, the roflscale will return when I have a bit more time and
figure out a better way to do it. (In particular, a way that doesn't
break the build.)
2011-12-02 13:23:31 +00:00
Xavier Noria
0306f82e0c
implements automatic EXPLAIN logging for slow queries
2011-12-02 04:35:43 -08:00
Jon Leighton
6bff6439b1
Fewer string allocations in attribute method
2011-12-01 23:41:51 +00:00
Jon Leighton
f6b5046305
Roflscaling!
...
Don't prefix the name with attribute_. Avoids a string allocation on
read_attribute, which is a bit faster.
2011-12-01 23:41:51 +00:00
Jon Leighton
9ead4130de
Create method with known identifier then alias into place.
...
This means we never have to rely on define_method (which is slower and
uses more memory), even when we have attributes containing characters
that are not allowed in standard method names.
(I am mainly changing this because the duplication annoys me, though.)
2011-12-01 23:41:51 +00:00
Jon Leighton
bd920eae82
Remove some unnecessary code etc
2011-12-01 23:41:51 +00:00
Jon Leighton
e9fb6d04bd
Add test for read_attribute(:id) with non-standard PK.
...
Also make it actually work.
It slows down all read_attribute accesses to map 'id' to whatever the PK
actually is, inside read_attribute. So instead make sure the necessary
methods are defined and that they redirect wherever they need to go.
2011-12-01 23:41:51 +00:00
Jon Leighton
f1a534af98
Remove the need for type_cast_attribute.
...
This is good because it reduces duplication.
2011-12-01 23:41:51 +00:00
Jon Leighton
47b97a739d
Fix up test altering global state that was causing me grief
2011-12-01 23:41:51 +00:00
Jon Leighton
3a40d38619
Get rid of the underscore versions of attribute methods!
...
This makes me happy!
2011-12-01 23:41:51 +00:00
Jon Leighton
3dcb127109
Don't rely on underscore-prefixed attribute methods.
...
Define singleton methods on the attributes module instead. This reduces
method pollution on the actual model classes. It also seems to make
something faster, I am unsure why! O_o
2011-12-01 23:41:51 +00:00
Jon Leighton
365e10b8dc
Remove unnecessary *args
2011-12-01 23:41:51 +00:00
José Valim
b4359bc723
Allow rescue responses to be configured through a railtie.
2011-12-01 19:21:35 +01:00
Jon Leighton
52eedf5e2b
Add hackery to make Syck use encode_with/init_with. Fixes 1.8 after recent changes to attribute serialization.
2011-12-01 01:15:16 +00:00
Jon Leighton
1c783c6040
don't alter global state in test
2011-11-30 23:47:16 +00:00
Julius de Bruijn
4e380828ff
If the table behind has no primary key, do not ask again and just return nil.
2011-11-30 23:47:16 +00:00
Jon Leighton
7a4949e7d5
consistency
2011-11-30 23:18:41 +00:00
Jon Leighton
d5f7884dc5
Don't check column type, you might implement a custom coder that serializes to a different type
2011-11-30 23:18:40 +00:00
Jon Leighton
7895182d0f
omg computer science!
...
Implement a mini state machine for serialized attributes. This means we
do not have to deserialize the values upon initialization, which means
that if we never actually access the attribute, we never have to
deserialize it.
2011-11-30 23:18:40 +00:00
Jon Leighton
4f20eb5908
Fix typo
2011-11-30 23:18:40 +00:00
Jon Leighton
035b4244ba
Don't need second param
2011-11-30 23:18:40 +00:00
Jon Leighton
efcc95acb7
No longer need to undef id as we are defining it ourselves
2011-11-30 23:18:40 +00:00
Jon Leighton
6c63f1aa44
Move some serialization stuff out of Base
2011-11-30 23:18:40 +00:00
Jon Leighton
f4853dc174
Extract attribute serialization code into a separate module
2011-11-30 23:18:40 +00:00
Jon Leighton
61489dc684
Use inheritance to avoid special-case code for the 'id' method
2011-11-30 23:18:40 +00:00
Jon Leighton
4c33d517d9
#id is an alias for whatever the primary key is
2011-11-30 23:18:40 +00:00
Jon Leighton
40840aa9ea
fix indent
2011-11-30 23:18:40 +00:00
Vijay Dev
04b4fe77c9
s/is is/is
2011-12-01 01:42:54 +05:30
José Valim
5b2eb64ceb
Revert "Implement ArraySerializer and move old serialization API to a new namespace."
...
This reverts commit 8896b4fdc8 .
Conflicts:
activemodel/lib/active_model.rb
activemodel/lib/active_model/serializable.rb
activemodel/lib/active_model/serializer.rb
activemodel/test/cases/serializer_test.rb
2011-11-30 18:48:17 +01:00
Bogdan Gusiev
a382d60f6a
ActiveRecord::Relation#pluck method
2011-11-30 11:03:00 +02:00
Aaron Patterson
c606fe2c6f
push synchronization in to each method. Reduces method calls and makes
...
it clear which methods are synchronized.
2011-11-29 15:30:04 -08:00
Aaron Patterson
0e2477b602
Automatic closure of connections in threads is deprecated. For example
...
the following code is deprecated:
Thread.new { Post.find(1) }.join
It should be changed to close the database connection at the end of
the thread:
Thread.new {
Post.find(1)
Post.connection.close
}.join
Only people who spawn threads in their application code need to worry
about this change.
2011-11-29 15:04:41 -08:00
Aaron Patterson
29d2040b29
AbstractAdapter#close can be called to add the connection back to the
...
pool.
2011-11-29 14:40:37 -08:00
Aaron Patterson
ce3d8d646a
Start implementing @reserved_connections in terms of connection leases.
2011-11-29 14:02:59 -08:00
Aaron Patterson
5725e397fe
Rename checked_out to more descriptive active_connections
2011-11-29 14:02:59 -08:00
Aaron Patterson
b72b477c37
Use connection lease to determine "checked_out" connections
2011-11-29 14:02:59 -08:00
Aaron Patterson
f866f66b30
expire will set in_use to false
2011-11-29 14:02:58 -08:00
Aaron Patterson
79306de791
last_use is set on connection lease
2011-11-29 14:02:58 -08:00
Aaron Patterson
134cc8f939
Leased connections return false on second lease
2011-11-29 14:02:58 -08:00
Aaron Patterson
9bf8bf82b9
Adapters keep in_use flag when leased
2011-11-29 14:02:58 -08:00
Aaron Patterson
7837574e5b
namespace the adapter test
2011-11-29 14:02:58 -08:00
Jon Leighton
3da5fba56a
Fix ruby 1.8 compat. const_defined? only takes a second arg on 1.9.
2011-11-29 20:43:05 +00:00
Jon Leighton
8df787d428
Deprecated define_attr_method in ActiveModel::AttributeMethods
...
This only existed to support methods like `set_table_name` in Active
Record, which are themselves being deprecated.
2011-11-29 20:13:37 +00:00
Jon Leighton
f3c84dc316
Deprecate set_locking_column in favour of self.locking_column=
2011-11-29 20:13:37 +00:00
Jon Leighton
1a474cc8e4
Deprecate set_primary_key in favour of self.primary_key=
2011-11-29 20:13:37 +00:00
Jon Leighton
4aad289428
Make sure the original_foo accessor still works (but deprecated) if we are using self.foo=
2011-11-29 20:13:37 +00:00
Jon Leighton
e51ecfaaa3
extract method
2011-11-29 20:13:37 +00:00
Jon Leighton
7af719e81c
Deprecate set_sequence_name in favour of self.sequence_name=
2011-11-29 20:13:37 +00:00