aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/connection_adapters/abstract
Commit message (Collapse)AuthorAgeFilesLines
...
* extract factory method and push common code up to abstract adapterAaron Patterson2013-03-141-2/+5
|
* Fix typo [ci skip]Carlos Antonio da Silva2013-03-111-1/+1
|
* promotes change_column_null to the migrations APIXavier Noria2013-03-111-0/+20
|
* quick pass over the RDoc of schema_statements.rb [ci skip]Xavier Noria2013-03-111-122/+190
|
* documents how to DROP DEFAULT [ci skip]Xavier Noria2013-03-111-3/+7
|
* default the reaping frequency to 10 secondsAaron Patterson2013-03-111-1/+1
|
* Make sure options is a hashRafael Mendonça França2013-03-081-1/+3
|
* If an index can't be found by column, use the index name.Ezekiel Smithburg2013-03-071-0/+6
| | | | schema_statements uses the column name by default to construct the index name, and then raises an exception if it doesn't exist, even if the name option is specified, which causes #8858. this commit makes index_name_for_remove fall back to constructing the index name to remove based on the name option.
* SQLite3 3.6.8+ supports savepointsNeeraj Singh2013-03-071-1/+2
| | | | | http://www.sqlite.org/lang_savepoint.html https://github.com/rails/rails/blob/master/activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb#L130-L132
* `Connection#structure_dump` is no longer used. #9518Yves Senn2013-03-061-5/+0
| | | | | | | As of ccc6910c we use `mysqldump` to create the `structure.sql`. The old `#structure_dump` code is still in AR but never used. I removed all relevant parts from the code-base.
* Support PostgreSQL specific column types when using `change_table`.Yves Senn2013-02-281-4/+8
| | | | | | | | Closes #9480. We use `TableDefinition` for `#create_table` and `Table` for `#change_table`. The PostgreSQL sepcifc types were only defined on `TableDefinition` so I also added them to `Table`.
* update docs, change_table does not use TableDefinition.Yves Senn2013-02-281-3/+3
|
* Revert "Merge pull request #9207 from dylanahsmith/mysql-quote-numeric"Steve Klabnik2013-02-271-8/+2
| | | | | This reverts commit 408227d9c5ed7de26310d72a1a99c1ee02311c63, reversing changes made to dca0b57d03deffc933763482e615c3cf0b9a1d97.
* Fix default output for postgres network address typesErik Peterson2013-02-261-0/+11
|
* Merge branch 'master' of github.com:lifo/docrailsVijay Dev2013-02-261-1/+1
|\
| * Typo fixCarson McDonald2013-02-251-1/+1
| |
* | Indent comment block by two spaces.Marc Schütz2013-02-211-4/+4
| | | | | | | | | | As requested by @fxn https://github.com/schuetzm/rails/commit/743d15bba182df80d003d205690ead988970299c#commitcomment-2661417
* | Add more documentation for create_join_table.Marc Schütz2013-02-201-0/+8
| | | | | | | | | | Explain that it doesn't create indices by default and that it also has a block form.
* | also rename indexes when a table or column is renamedYves Senn2013-02-201-0/+22
| | | | | | | | When a table or a column is renamed related indexes kept their name. This will lead to confusing names. This patch renames related indexes when a column or a table is renamed. Only indexes with names generated by rails will be renamed. Indexes with custom names will not be renamed.
* | reserve index name chars for internal rails operationsYves Senn2013-02-202-3/+14
| | | | | | | | | | | | | | | | | | | | | | Some adapter (SQLite3) need to perform renaming operations to support the rails DDL. These rename prefixes operate with prefixes. When an index name already uses up the full space provieded by `index_name_length` these internal operations will fail. This patch introduces `allowed_index_name_length` which respects the amount of characters used for internal operations. It will always be <= `index_name_length` and every adapter can define how many characters need to be reserved.
* | Reduced memory leak problem in transactions by lazily updating AR objects ↵wangjohn2013-02-201-3/+10
| | | | | | | | with new transaction state. If AR object has a callback, the callback will be performed immediately (non-lazily) so the transaction still has to keep records with callbacks.
* | Gist URLs are now namespacedAkira Matsuda2013-02-181-4/+4
|/ | | | see: https://github.com/blog/1406-namespaced-gists
* Revert "Revert "Merge pull request #9206 from ranjaykrishna/use_define_method""Jon Leighton2013-02-151-18/+13
| | | | | | This reverts commit 8aa4603a5adaa56c818a7bd1c0b761b4ecca3d3e. Reverting the revert because I reverted the wrong thing! Fail.
* Revert "Merge pull request #9206 from ranjaykrishna/use_define_method"Jon Leighton2013-02-151-13/+18
| | | | | | | | | | | | | This reverts commit 1fc6876b57f2e1d31731e74eb4271b5655e746d2, reversing changes made to 0268b5d8cdc3c5a1337462135f0a326a2654ba1a. Reason: failing test 1) Error: test_valid_column(ActiveRecord::ConnectionAdapters::SQLite3AdapterTest): NoMethodError: undefined method `column' for test/cases/adapters/sqlite3/sqlite3_adapter_test.rb:29:in `test_valid_column'
* Merge pull request #9206 from ranjaykrishna/use_define_methodCarlos Antonio da Silva2013-02-121-18/+13
|\ | | | | Use define method instead of class_eval
| * reverted back our changes and added in the new define_methodRanjay Krishna2013-02-121-18/+13
| |
* | active_record: Quote numeric values compared to string columns.Dylan Smith2013-02-071-2/+8
| |
* | updates a dynamic method heredoc docXavier Noria2013-01-281-2/+2
| |
* | explains why the query cache checks arel.lockedXavier Noria2013-01-281-0/+2
| |
* | Fix typo: adaptors => adapters [ci skip]Carlos Antonio da Silva2013-01-271-1/+1
| |
* | Fix cases where delete_records on a has_many association caused errorsDerek Kraan2013-01-271-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | because of an ambiguous column name. This happened if the association model had a default scope that referenced a third table, and the third table also referenced the original table (with an identical foreign_key). Mysql requires that ambiguous columns are deambiguated by using the full table.column syntax. Postgresql and Sqlite use a different syntax for updates altogether (and don't tolerate table.name syntax), so the fix requires always including the full table.column and discarding it later for Sqlite and Postgresql.
* | Default dead_connection_timeout to 5Akira Matsuda2013-01-241-1/+1
| | | | | | | | or the ConnectionPool silently fails to close connections inside the Thread
* | Add postgresql range types supportbUg2013-01-231-0/+3
| |
* | Refactored transaction state into its own object. Each transaction creates a ↵wangjohn2013-01-211-5/+24
|/ | | | new transaction state object upon initialization.
* Created state for a transaction and added tests.wangjohn2013-01-201-0/+12
|
* fix anonymous class issueDavid2013-01-201-0/+1
|
* These are already required through AS/railsAkira Matsuda2013-01-071-1/+0
| | | | | | * dependencies/autoload * concern * deprecation
* Fix calling quote column name in interpolated stringCarlos Antonio da Silva2012-12-211-1/+1
|
* Differentiate between remove_column and remove_columns. Make remove_column ↵Marc-Andre Lafortune2012-12-212-7/+20
| | | | | | reversible. [#8267]
* Make drop_table reversible [#8267]Marc-Andre Lafortune2012-12-211-0/+4
|
* Add drop_join_table [#8267]Marc-Andre Lafortune2012-12-211-0/+11
|
* Simplify change_table and avoid duplicated logicMarc-Andre Lafortune2012-12-211-14/+2
|
* Replace some global Hash usages with the new thread safe cache.thedarkone2012-12-141-9/+16
| | | | | | | | | | | | | | | | Summary of the changes: * Add thread_safe gem. * Use thread safe cache for digestor caching. * Replace manual synchronization with ThreadSafe::Cache in Relation::Delegation. * Replace @attribute_method_matchers_cache Hash with ThreadSafe::Cache. * Use TS::Cache to avoid the synchronisation overhead on listener retrieval. * Replace synchronisation with TS::Cache usage. * Use a preallocated array for performance/memory reasons. * Update the controllers cache to the new AS::Dependencies::ClassCache API. The original @controllers cache no longer makes much sense after @tenderlove's changes in 7b6bfe84f3 and f345e2380c. * Use TS::Cache in the connection pool to avoid locking overhead. * Use TS::Cache in ConnectionHandler.
* Move to the schema-migrations-metadata branch.Jeremy Kemper2012-12-091-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | Pending work on graceful app upgrades. Revert "Merge pull request #8439 from joshsusser/fixes" This reverts commit ce8ac39338f86388e70356b3a470b3ea443802ae, reversing changes made to b0e7b6f67c984d4b1502e801781ed75fad681633. Revert "Merge pull request #8431 from joshsusser/schemadump" This reverts commit 036d3e1c2b65c4b8cbd23de2e20ad67b9b756182, reversing changes made to 0c692f4d121792117b6a71e5ed590a31c3b9d12e. Revert "Merge branch 'joshsusser-master' into merge" This reverts commit 0c692f4d121792117b6a71e5ed590a31c3b9d12e, reversing changes made to 2e299fca715b083a60222a85e48f9d3b8dd8ce93. Conflicts: activerecord/CHANGELOG.md activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb activerecord/test/cases/schema_dumper_test.rb
* revises a RDoc example to make it idiomaticXavier Noria2012-12-071-8/+8
| | | | | | The force flag suggests the original was probably copied from some db/schema.rb. Thanks to Josh Susser for spotting and reporting this.
* Use CURRENT_TIMESTAMP since it has apparently better cross db supportCarlos Antonio da Silva2012-12-061-1/+1
| | | | | LOCALTIMESTAMP is not support by sqlite3, and travis was giving us these errors: https://travis-ci.org/rails/rails/jobs/3535241/#L570
* Add migration history to schema.rb dumpJosh Susser2012-12-021-2/+2
|
* Add metadata to schema_migrationsJosh Susser2012-12-011-3/+3
| | | | | migrated_at: timestamp when migration run fingerprint: md5 hash of migration source name: filename without version or extension
* Fix memory leak in development modeJon Leighton2012-11-301-8/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Keying these hashes by klass causes reloadable classes to never get freed. Thanks to @thedarkone for pointing this out in the comments on 221571beb6b4bb7437989bdefaf421f993ab6002. This doesn't seem to make a massive difference to performance. Benchmark --------- require 'active_record' require 'benchmark/ips' class Post < ActiveRecord::Base establish_connection adapter: 'sqlite3', database: ':memory:' end GC.disable Benchmark.ips(20) do |r| r.report { Post.connection } end Before ------ Calculating ------------------------------------- 5632 i/100ms ------------------------------------------------- 218671.0 (±1.9%) i/s - 4364800 in 19.969401s After ----- Calculating ------------------------------------- 8743 i/100ms ------------------------------------------------- 206525.9 (±17.8%) i/s - 4039266 in 19.992590s
* schema cache already has the columns as a hash, so use thatAaron Patterson2012-11-251-1/+1
|