aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/cases/adapters/mysql
Commit message (Collapse)AuthorAgeFilesLines
* Fix broken mysql testJon Leighton2013-05-031-16/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | test_mysql_integer_not_null_defaults in test/cases/defaults_test.rb was failing. This test relies on the connection being in strict mode. By default a new connection is not in strict mode, but Active Record automatically places it in strict mode. ActiveSchemaTest overwrites the connection's #execute method in order to prevent SQL statements from actually being executed. One of the operations which is performed in ActiveSchema test is a #recreate_database. Since 2088bf27981137a2c6c8b2f718f33b417b4045af, recreate_database on mysql or mysql2 will trigger a reconnect. Due to the implementation of the hacking of #execute in ActiveSchemaTest, this reconnect would take place, but the connection would *not* be placed in strict mode because #execute had been overridden to prevent SQL queries hitting the database. Therefore, after ActiveSchemaTest, the connection would no longer be in strict mode, causing test_mysql_integer_not_null_defaults to fail. I don't think that the way that ActiveSchemaTest is implemented is particularly nice or clean, but I have taken steps to make its hacks more isolated - it now create a separate connection object which is thrown away after the test, and the hacks are applied on the singleton class of this object.
* fix detect column type of enummasarakki2013-04-011-1/+1
| | | | enum includes text or blob or ... hooked by wrong regex
* Add support for FULLTEXT and SPATIAL indexes using the :type flag for MySQL.Ken Mazaika2013-03-272-16/+24
|
* Checks :algorithm argument for valid valuesDan McClain2013-03-261-0/+4
|
* Adds support for concurrent indexing in PostgreSQL adapterDan McClain2013-03-251-8/+11
| | | | | | | | Adds support for algorithm option in MySQL indexes Moves USING and algorithm options upstream The syntax is still specific to the Adapter, so the actual executed string happens in the corresponding adapter
* Created a layer of abstraction for the valid type checking in schema dumper. ↵Ranjay Krishna2013-03-251-0/+9
| | | | Now, connection handles the check for valid types so that each database can handle the changes individually.
* Custom index type support with :using.doabit2013-03-242-0/+31
|
* Removed unused loop variableAnupam Choudhury2013-03-221-1/+1
|
* Removed unnecessary blockAnupam Choudhury2013-03-201-2/+1
|
* `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.
* Skip connection url test when the machine is using socket configuration.Rafael Mendonça França2013-02-241-0/+3
| | | | The connection url parssing don't accept the socket option
* Revert "checking in the abstractions for valid type checking:"Jon Leighton2013-02-151-9/+0
| | | | | | | | | | | | | | | | This reverts commit c321b309a9a90bbfa0912832c11b3fef52e71840. Conflicts: activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb 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 #9204 from ranjaykrishna/col-probAaron Patterson2013-02-121-0/+9
|\ | | | | schema dumper tests now conducted by ActiveRecord::Base.Connection
| * checking in the abstractions for valid type checking:Ranjay Krishna2013-02-121-0/+9
| |
* | Don't use anonymous classes in connection testsGuillermo Iguaran2013-01-191-3/+5
|/
* Remove unnecessary begin..rescue..end, use only rescueAkira Matsuda2013-01-061-7/+5
|
* Standardize the use of current_adapter?Rafael Mendonça França2013-01-011-1/+1
|
* Session variables for mysql, mysql2, and postgresql adapters can be setAaron Stone2012-12-081-0/+17
| | | | | | | | | in the new 'variables:' hash in each database config section in database.yml. The key-value pairs of this hash will be sent in a 'SET key = value, ...' query on new database connections. The configure_connection methods from mysql and mysql2 into are consolidated into the abstract_mysql base class.
* Use the MySQL varbinary type when appropriate in migrations.Victor Costan2012-10-271-0/+14
|
* Remove ActiveRecord::ModelJon Leighton2012-10-261-11/+11
| | | | | | | | | | In the end I think the pain of implementing this seamlessly was not worth the gain provided. The intention was that it would allow plain ruby objects that might not live in your main application to be subclassed and have persistence mixed in. But I've decided that the benefit of doing that is not worth the amount of complexity that the implementation introduced.
* Rename "Fixtures" class to "FixtureSet"Alexey Muranov2012-10-071-2/+2
| | | | Rename `ActiveRecord::Fixtures` class to `ActiveRecord::FixtureSet`. Instances of this class normally hold a collection of fixtures (records) loaded either from a single YAML file, or from a file and a folder with the same name. This change make the class name singular and makes the class easier to distinguish from the modules like `ActiveRecord::TestFixtures`, which operates on multiple fixture sets, or `DelegatingFixtures`, `::Fixtures`, etc., and from the class `ActiveRecord::Fixture`, which corresponds to a single fixture.
* Rename to test_mysql_strict_mode_disabled_dont_override_global_sql_modeYasuo Honda2012-08-221-3/+4
| | | | | | | | | Reason since MySQL 5.6.6-m9 the `sql_mode` default value is `NO_ENGINE_SUBSTITUTION`. This default parameter change is out of control from Rails. This test verifies Rails not overriding the default `@@GLOBAL.sql_mode` value by checking if `@@GLOBAL.sql_mode` is the same as `@@SESSION.sql_mode`.
* Deprecate ActiveRecord::Base.scoped.Jon Leighton2012-07-271-1/+1
| | | | | | | It doesn't serve much purpose now that ActiveRecord::Base.all returns a Relation. The code is moved to active_record_deprecated_finders.
* ActiveRecord::Base.all returns a Relation.Jon Leighton2012-07-271-1/+1
| | | | | | | | | | | Previously it returned an Array. If you want an array, call e.g. `Post.to_a` rather than `Post.all`. This is more explicit. In most cases this should not break existing code, since Relations use method_missing to delegate unknown methods to #to_a anyway.
* fixing tests to deal with data differences between prepared statements and ↵Aaron Patterson2012-07-132-2/+7
| | | | | | | non-prepared statements Conflicts: activerecord/test/cases/query_cache_test.rb
* fix: limit of enum columns of mysqlYamada Masaki2012-06-281-0/+10
|
* Improve the derivation of HABTM assocation join table namesAndrew White2012-06-221-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Improve the derivation of HABTM join table name to take account of nesting. It now takes the table names of the two models, sorts them lexically and then joins them, stripping any common prefix from the second table name. Some examples: Top level models (Category <=> Product) Old: categories_products New: categories_products Top level models with a global table_name_prefix (Category <=> Product) Old: site_categories_products New: site_categories_products Nested models in a module without a table_name_prefix method (Admin::Category <=> Admin::Product) Old: categories_products New: categories_products Nested models in a module with a table_name_prefix method (Admin::Category <=> Admin::Product) Old: categories_products New: admin_categories_products Nested models in a parent model (Catalog::Category <=> Catalog::Product) Old: categories_products New: catalog_categories_products Nested models in different parent models (Catalog::Category <=> Content::Page) Old: categories_pages New: catalog_categories_content_pages Also as part of this commit the validity checks for HABTM assocations have been moved to ActiveRecord::Reflection One side effect of this is to move when the exceptions are raised from the point of declaration to when the association is built. This is consistant with other association validity checks.
* Add config option, rdoc, tests for mysql(2) STRICT_ALL_TABLES mode.Michael Pearson2012-05-051-0/+13
|
* find and replace deprecated keysJon Leighton2012-04-271-1/+1
|
* %s/find(:\(first\|last\|all\), \([^()]*\))/scoped(\2).\1/gcI amongst other ↵Jon Leighton2012-04-271-1/+1
| | | | things
* remove calls to find(:first), find(:last) and find(:all)Jon Leighton2012-04-261-1/+1
|
* be sure to currectly fetch PK name from MySQL even if the PK has some custom ↵Akira Matsuda2012-04-191-0/+30
| | | | option
* Change the string to use in test case.kennyj2012-03-071-1/+1
|
* Fix message assertions for quoting database name in "show tables" for mysqlCarlos Antonio da Silva2012-03-041-1/+1
|
* Fix GH #3163. Should quote database on mysql/mysql2.kennyj2012-03-051-0/+10
|
* Fix CIJon Leighton2011-12-281-8/+8
|
* remove checks for encodings availabilitySergey Nartimov2011-12-251-11/+5
|
* Deprecate set_table_name in favour of self.table_name= or defining your own ↵Jon Leighton2011-11-291-1/+1
| | | | method.
* Verify that #3690 has been closed by previous changes to the mysqlJon Leighton2011-11-191-1/+5
| | | | | | | | adapters. These tests fail on the v3.1.2 tag. Closes #3690.
* fix to remove warning in test casesVishnu Atrai2011-10-161-2/+2
|
* Only use LOWER for mysql case insensitive uniqueness check when column has a ↵Joseph Palermo2011-10-091-0/+35
| | | | case sensitive collation.
* LRU cache in mysql and sqlite are now per-process caches.Aaron Patterson2011-09-071-0/+23
|
* Create an AbstractMysqlAdapter to abstract the common code between ↵Jon Leighton2011-08-291-4/+4
| | | | MysqlAdapter and Mysql2Adapter.
* move around testsAaron Patterson2011-07-211-0/+10
|
* please use ruby -I lib:test path/to/test.rb, or export RUBY_OPTAaron Patterson2011-06-067-7/+7
|
* Refactor Active Record test connection setup. Please see the ↵Jon Leighton2011-06-047-8/+7
| | | | RUNNING_UNIT_TESTS file for details, but essentially you can now configure things in test/config.yml. You can also run tests directly via the command line, e.g. ruby path/to/test.rb (no rake needed, uses default db connection from test/config.yml). This will help us fix the CI by enabling us to isolate the different Rails versions to different databases.
* Namespace Fixtures in ActiveRecordJason Noble2011-05-071-1/+1
| | | [Fixes #439]
* added the mysql schema test to mysql2 adapter, and fixed the corresponding ↵Josh Kalderimis2011-05-031-1/+1
| | | | failures
* mysql type cast should return integers when typecasting true / falseAaron Patterson2011-04-141-0/+26
|
* use index based substitution for bind parametersAaron Patterson2011-04-131-1/+1
|