aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib
Commit message (Collapse)AuthorAgeFilesLines
* MySQL: work around ruby-mysql/mysql-ruby inconsistency with mysql.stat. ↵Jeremy Kemper2005-12-031-7/+9
| | | | | | Eliminate usage of mysql.ping because it doesn't guarantee reconnect. Explicitly close and reopen the connection instead. References #428. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3216 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Added preliminary support for join models [DHH] Added preliminary support ↵David Heinemeier Hansson2005-12-0313-439/+505
| | | | | | for polymorphic associations [DHH] Refactored associations to use reflections to get DRYer, beware, major refactoring -- double check before deploying anything with this (all tests pass, but..) git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3213 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Work-in progress for providing better join model support and polymorphic ↵David Heinemeier Hansson2005-12-025-43/+142
| | | | | | associations git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3209 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Allow validate_uniqueness_of to be scoped by more than just one column. ↵Marcel Molina2005-12-021-5/+15
| | | | | | Closes #1559. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3206 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Firebird: active? and reconnect! methods for handling stale connections. ↵Jeremy Kemper2005-12-021-2/+23
| | | | | | References #428. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3205 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Firebird: updated for FireRuby 0.4.0. References #3009.Jeremy Kemper2005-12-021-67/+35
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3202 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* PostgreSQL: active? compatibility with the pure-Ruby driver. Still need to ↵Jeremy Kemper2005-11-281-2/+4
| | | | | | move connect into the adapter since postgres-pr doesn't support #reset. References #428. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3195 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* MySQL: active? compatibility with the pure-Ruby driver. References #428.Jeremy Kemper2005-11-281-1/+5
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3194 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Oracle: active? check pings the database rather than testing the last ↵Jeremy Kemper2005-11-241-17/+15
| | | | | | command status. References #428. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3189 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* SQLServer: resolve column aliasing/quoting collision when using limit or ↵Jeremy Kemper2005-11-241-1/+6
| | | | | | offset in an eager find. References #2974. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3184 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Reloading a model doesn't lose track of its connection. References #2996.Jeremy Kemper2005-11-241-8/+8
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3182 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Fixed bug where using update_attribute after pushing a record to a habtm ↵Florian Weber2005-11-231-1/+5
| | | | | | association of the object caused duplicate rows in the join table. #2888 git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3167 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* MySQL, PostgreSQL: reconnect! also reconfigures the connection. Otherwise, ↵Jeremy Kemper2005-11-222-19/+36
| | | | | | the connection 'loses' its settings if it times out and is reconnected. Closes #2978. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3165 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* has_and_belongs_to_many: use JOIN instead of LEFT JOIN. References #2937.Jeremy Kemper2005-11-211-2/+2
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3155 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* MySQL: introduce :encoding option to specify the character set for client, ↵Jeremy Kemper2005-11-211-3/+23
| | | | | | connection, and results. Only available for MySQL 4.1 and later with the mysql-ruby driver. Do SHOW CHARACTER SET in mysql client to see available encodings. Closes #2975. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3152 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Simpler Mysql load test.Jeremy Kemper2005-11-211-2/+2
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3148 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Revert [3130]. Behavior of introducing Kernel.binding causes breakage.Marcel Molina2005-11-212-3/+3
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3142 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Use Kernel.binding rather than binding to allow columns of that name. ↵Jeremy Kemper2005-11-212-3/+3
| | | | | | References #2973. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3139 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* r3181@asus: jeremy | 2005-11-19 02:52:24 -0800Jeremy Kemper2005-11-193-33/+38
| | | | | | | Mark connections for verification. Retrieve connection verifies before returning a connection. Verification tests whether the connection is marked then reconnects if the connection is inactive. All active connections are marked for verification after a request is handled. References #428. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3096 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Correct boolean handling in generated reader methods. References #2945.Jeremy Kemper2005-11-191-2/+11
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3092 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Don't generate read methods for columns whose names are not valid ruby ↵Jeremy Kemper2005-11-191-1/+10
| | | | | | method names. References #2946. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3089 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Document :force option to create_table. References #2921.Jeremy Kemper2005-11-171-0/+3
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3075 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Don't add the same conditions twice in has_one finder sql. References #2916.Jeremy Kemper2005-11-171-1/+1
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3074 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Rename Version constant to VERSION. Closes #2802.Marcel Molina2005-11-171-1/+1
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3065 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* r3118@asus: jeremy | 2005-11-16 00:32:48 -0800Jeremy Kemper2005-11-162-2/+2
| | | | | | | correct prefetch_primary_key? table_name param git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3053 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* r3116@asus: jeremy | 2005-11-16 00:17:06 -0800Jeremy Kemper2005-11-162-1/+426
| | | | | | | Introducing the Firebird adapter. Closes #1874. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3052 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* r3095@asus: jeremy | 2005-11-15 22:40:51 -0800Jeremy Kemper2005-11-165-14/+36
| | | | | | | | | | | | | | | | | | | | | | | Ticket #1874 - Firebird adapter r3107@asus: jeremy | 2005-11-16 00:06:14 -0800 quote column aliases r3108@asus: jeremy | 2005-11-16 00:08:12 -0800 quote columns in construct_conditions_from_arguments. update sequence_name docs. introduce prefetched primary keys. r3109@asus: jeremy | 2005-11-16 00:09:08 -0800 double-quote rather than single-quote sqlite columns r3110@asus: jeremy | 2005-11-16 00:09:56 -0800 quote column names and use attribute_condition in validates_uniqueness_of r3111@asus: jeremy | 2005-11-16 00:12:24 -0800 Use QUOTED_TYPE constant in tests r3112@asus: jeremy | 2005-11-16 00:13:28 -0800 restrict test_inserts_with_pre_and_suffix to those adapters which support migrations r3113@asus: jeremy | 2005-11-16 00:14:09 -0800 Use QUOTED_TYPE constant in tests r3114@asus: jeremy | 2005-11-16 00:14:30 -0800 Use QUOTED_TYPE constant in tests git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3051 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* SQLServer: active? and reconnect! methods for handling stale connections. ↵Jeremy Kemper2005-11-151-11/+8
| | | | | | References #428. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3045 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* SQLServer: active? and reconnect! methods for handling stale connections. ↵Jeremy Kemper2005-11-151-3/+32
| | | | | | References #428. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3044 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Associations handle case-equality more consistently: item.parts.is_a?(Array) ↵Jeremy Kemper2005-11-151-5/+12
| | | | | | and item.parts === Array. Closes #1345. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3043 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* SQLServer: insert uses given primary key value if not nil rather than SELECT ↵Jeremy Kemper2005-11-141-1/+1
| | | | | | @@IDENTITY. References #2866. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3035 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Oracle: active? and reconnect! methods for handling stale connections. ↵Jeremy Kemper2005-11-141-7/+117
| | | | | | Optionally retry queries after reconnect. References #428. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3025 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Fix reconnect success rate to report as percentage. References #428.Jeremy Kemper2005-11-141-5/+5
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3024 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Correct documentation for Base.delete_all. References #1568.Jeremy Kemper2005-11-141-1/+1
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3021 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Oracle: test case for column default parsing. References #2788.Jeremy Kemper2005-11-141-1/+1
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3019 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Update documentation for Migrations. References #2861.Jeremy Kemper2005-11-141-13/+30
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3017 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Reapply [2942] which was elided by [2997]. References #2788. References #2848.Jeremy Kemper2005-11-131-1/+1
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3009 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* r3046@asus: jeremy | 2005-11-13 02:31:21 -0800Jeremy Kemper2005-11-131-4/+8
| | | | | | | AbstractAdapter#reconnect_if_inactive! returns boolean success. AbstractAdapter#log alters exception message on reconnect failure rather than raising ConnectionFailed. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3002 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* r3042@asus: jeremy | 2005-11-13 01:51:08 -0800Jeremy Kemper2005-11-133-19/+51
| | | | | | | | | | | MySQL active? and reconnect! References #428. r3043@asus: jeremy | 2005-11-13 01:58:28 -0800 SQLite active? and reconnect! References #428. r3044@asus: jeremy | 2005-11-13 02:02:27 -0800 Update CHANGELOG with admonishment regarding avoidance of the log method. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3001 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* r3032@asus: jeremy | 2005-11-12 23:16:52 -0800Jeremy Kemper2005-11-132-16/+43
| | | | | | | | | Ticket 428 - stale connections r3040@asus: jeremy | 2005-11-13 00:22:29 -0800 When AbstractAdapter#log rescues an exception, attempt to detect and reconnect to an inactive database connection. Connection adapter must respond to the active? and reconnect! instance methods. Initial support for PostgreSQL. References #428. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3000 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* PostgreSQL: last_insert_id uses select_value rather than using ↵Jeremy Kemper2005-11-131-2/+2
| | | | | | @connection.exec directly. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2998 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Much faster Oracle column reflection. References #2848.Jeremy Kemper2005-11-131-16/+22
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2996 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* r4331@asus: jeremy | 2005-11-12 17:03:45 -0800Jeremy Kemper2005-11-131-2/+2
| | | | | | | | | PostgreSQL: default_sequence_name falls back to 'id' pk if both the given pk and discovered pk are nil. r4336@asus: jeremy | 2005-11-12 22:31:39 -0800 PostgreSQL: correct the sequence discovery fallback query. References #2594. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2994 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* r4325@asus: jeremy | 2005-11-12 03:57:46 -0800Jeremy Kemper2005-11-122-20/+54
| | | | | | | PostgreSQL: correctly discover custom primary key sequences. PostgreSQL: smarter sequence name defaults, stricter last_insert_id, warn on pk without sequence. Base.reset_sequence_name analogous to reset_table_name (mostly useful for testing). Base.define_attr_method allows nil values. References #2594. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2985 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Make Validations#create! use the current scopeJamis Buck2005-11-121-0/+2
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2984 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* SQLServer: don't report limits for unsupported field types. Closes #2835.Jeremy Kemper2005-11-111-0/+2
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2982 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Include the Enumerable module in ActiveRecord::Errors.Jeremy Kemper2005-11-111-0/+2
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2981 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Update docs for AR::Base#clone.Jeremy Kemper2005-11-101-1/+5
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2975 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Add :group option, correspond to GROUP BY, to the find method and to the ↵Jeremy Kemper2005-11-103-3/+10
| | | | | | has_many association. Closes #2818. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2974 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Make sure the acts_as_list_class is resolved relative to the global namespaceJamis Buck2005-11-101-1/+1
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2971 5ecf4fe2-1ee6-0310-87b1-e25e094e27de