aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/cases/adapters
Commit message (Collapse)AuthorAgeFilesLines
* Append sql_mode instead of overwriting in strict modeRyuta Kamizono2016-03-131-25/+25
| | | | For keep the default SQL mode.
* Merge pull request #23797 from ↵Rafael França2016-03-111-0/+9
|\ | | | | | | | | kamipo/case_sensitive_comparison_for_non_string_column The BINARY Operator is only needed for string columns
| * The BINARY Operator is only needed for string columnsRyuta Kamizono2016-02-221-0/+9
| | | | | | | | Follow up to #13040.
* | Fix test failures caused by #23958Sean Griffin2016-03-111-1/+1
| | | | | | | | I'm unsure how this passed CI in the pull request.
* | Merge pull request #24087 from kamipo/dump_bigint_instead_of_integer_limit_8Rafael França2016-03-111-1/+1
|\ \ | | | | | | Dump `bigint` instead of `integer` with `limit: 8` for schema dumper
| * | Dump `bigint` instead of `integer` with `limit: 8` for schema dumperRyuta Kamizono2016-03-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before: ```ruby create_table "big_numbers", force: :cascade do |t| t.integer "bigint_column", limit: 8 end ``` After: ```ruby create_table "big_numbers", force: :cascade do |t| t.bigint "bigint_column" end ```
* | | Merge pull request #23677 from kamipo/passing_table_name_to_column_initializeRafael França2016-03-111-0/+26
|\ \ \ | |/ / |/| | Passing `table_name` to `Column#initialize` to avoid `instance_variable_set`
| * | Initialize `column.table_name` immediately for `column.serial?` correctly ↵Ryuta Kamizono2016-03-081-0/+26
| | | | | | | | | | | | | | | | | | | | | | | | working Currently the results of `column.serial?` is not correct. For `column.serial?` correctly working, initialize `column.table_name` immediately.
* | | Merge pull request #23958 from kamipo/fix_bigserial_appears_with_limit_8Rafael França2016-03-111-2/+2
|\ \ \ | | | | | | | | Fix bigserial appears with limit 8 for schema dumper
| * | | Fix bigserial appears with limit 8 for schema dumperRyuta Kamizono2016-03-041-2/+2
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before: ```ruby create_table "postgresql_big_serials", force: :cascade do |t| t.bigserial "seq", limit: 8, null: false end ``` After: ```ruby create_table "postgresql_big_serials", force: :cascade do |t| t.bigserial "seq", null: false end ```
* / / add test case for schema dumping of PG bytea columns.Yves Senn2016-03-081-0/+9
|/ /
* | Deprecate `{insert|update|delete}_sql` in `DatabaseStatements`Ryuta Kamizono2016-03-022-59/+3
| | | | | | | | | | Originally, `{insert|update|delete}_sql` is protected methods. We can use the `{insert|update|delete}` public methods instead.
* | Merge pull request #23953 from ↵Rafael França2016-03-018-132/+90
|\ \ | | | | | | | | | | | | kamipo/fix_tests_failure_with_prepared_statements_false Fix tests failure with `prepared_statements: false`
| * | Remove unnecessary namespaces in `explain_test.rb`Ryuta Kamizono2016-02-293-40/+28
| | |
| * | Fix tests failure with `prepared_statements: false`Ryuta Kamizono2016-02-297-94/+64
| | | | | | | | | | | | | | | | | | Some tests does not work for unprepared statements. Add `if ActiveRecord::Base.connection.prepared_statements` and fix a regex for fix tests failure with `prepared_statements: false`.
* | | Fix `NoMethodError: undefined method `fields' for nil:NilClass`Ryuta Kamizono2016-02-291-0/+18
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently `exec_query` raises `NoMethodError` when executing no result queries (`INSERT`, `UPDATE`, `DELETE`, and all DDL) in mysql2 adapter. ``` irb(main):002:0> conn.execute("create table t(a int)") (43.3ms) create table t(a int) => nil irb(main):003:0> conn.execute("insert into t values (1)") (19.3ms) insert into t values (1) => nil irb(main):004:0> conn.exec_query("insert into t values (1)") SQL (28.6ms) insert into t values (1) NoMethodError: undefined method `fields' for nil:NilClass ```
* / Fix NoMethodError preparable for Arel::Visitors in case prepared statements ↵Azzurrio2016-02-221-0/+22
|/ | | | is falsy
* Typos in AR testsAkira Matsuda2016-02-031-1/+1
|
* tabenai (typo)Akira Matsuda2016-02-011-6/+6
|
* Avoid extra `show variables` in migrationRyuta Kamizono2016-02-011-5/+0
| | | | | | | | | | | | | `initialize_schema_migrations_table` is called in every migrations. https://github.com/rails/rails/blob/v5.0.0.beta1/activerecord/lib/active_record/migration.rb#L1080 https://github.com/rails/rails/blob/v5.0.0.beta1/activerecord/lib/active_record/schema.rb#L51 This means that extra `show variables` is called regardless of the existence of `schema_migrations` table. This change is to avoid extra `show variables` if `schema_migrations` table exists.
* Remove duplicated composite primary key testsRyuta Kamizono2016-02-012-16/+0
|
* :speak_no_evil: :warning:Akira Matsuda2016-02-012-2/+6
|
* Fix `bigint?` for Enum columns in MySQLRyuta Kamizono2016-01-311-0/+5
| | | | Follow up to #22896.
* [close #23009] Limit key lengthschneems2016-01-211-7/+29
| | | | | | | Mysql has a weird bug where it cannot index a string column of utf8mb4 if it is over a certain character limit. To get compatibility with msql we can add a limit to the key column. 191 characters is a very long key, it seems reasonable to limit across all adapters since using a longer key wouldn't be supported in mysql. Thanks to @kamipo for the original PR and the test refactoring. Conversation: https://github.com/rails/rails/pull/23009#issuecomment-171416629
* Merge pull request #20005 from kamipo/default_expression_supportRafael França2016-01-161-4/+4
|\ | | | | Add `:expression` option support on the schema default
| * Add expression support on the schema defaultRyuta Kamizono2016-01-131-4/+4
| | | | | | | | | | | | | | | | Example: create_table :posts do |t| t.datetime :published_at, default: -> { 'NOW()' } end
* | `sql_for_insert` returns values for passing to `exec_insert`Ryuta Kamizono2016-01-151-2/+2
| |
* | `substitute_at` is no longer usedRyuta Kamizono2016-01-142-10/+0
|/ | | | Arel handles substitution for bind parameters by now.
* Refactor tz aware types, add support for PG rangesSean Griffin2016-01-081-0/+42
| | | | | | | | | | | | | | | | | This is an alternate implementation to #22875, that generalizes a lot of the logic that type decorators are going to need, in order to have them work with arrays, ranges, etc. The types have the ability to map over a value, with the default implementation being to just yield that given value. Array and Range give more appropriate definitions. This does not automatically make ranges time zone aware, as they need to be added to the `time_zone_aware` types config, but we could certainly make that change if we feel it is appropriate. I do think this would be a breaking change however, and should at least have a deprecation cycle. Closes #22875. /cc @matthewd
* Fix `unsigned?` and `blob_or_text_column?` for Enum columns in MySQLRyuta Kamizono2016-01-041-1/+12
|
* Remove unnecessary enable,disable_extension on testsFumiaki MATSUSHIMA2016-01-021-9/+0
| | | | | | | uuid-ossp extension is alreadly enabled on test schema. And `disable_extension!('uuid-ossp', connection)` can be a cause of test failure. `ActiveRecord::StatementInvalid: PG::UndefinedFunction: ERROR: function uuid_generate_v1() does not exist` will happen depending on the execution order.
* Merge pull request #22241 from kamipo/add_columns_for_distinct_for_mysql57Rafael França2015-12-301-0/+44
|\ | | | | Add `columns_for_distinct` for MySQL 5.7 with ONLY_FULL_GROUP_BY
| * Add `columns_for_distinct` for MySQL 5.7 with ONLY_FULL_GROUP_BYRyuta Kamizono2015-12-231-0/+44
| | | | | | | | | | | | | | | | | | In MySQL 5.7.5 and up, ONLY_FULL_GROUP_BY affects handling of queries that use DISTINCT and ORDER BY. It requires the ORDER BY columns in the select list for distinct queries, and requires that the ORDER BY include the distinct column. See https://dev.mysql.com/doc/refman/5.7/en/group-by-handling.html
* | Improve `select_one` in `Mysql2Adapter`Ryuta Kamizono2015-12-271-0/+6
| | | | | | | | | | Avoid instanciate `ActiveRecord::Result` and calling `ActiveRecord::Result#hash_rows` for the performance.
* | Add support for passing flags to MySQL2 adapter by arrayStephen Blackstone2015-12-221-1/+8
| |
* | Remove legacy mysql adapterRyuta Kamizono2015-12-211-4/+1
|/ | | | Follow up to #22642.
* Handle specified schemas when removing a Postgres indexGrey Baker2015-12-181-0/+14
|
* These limits are now implicitMatthew Draper2015-12-182-2/+2
|
* Merge pull request #22623 from greysteil/support-passing-schema-name-to-indexesMatthew Draper2015-12-181-0/+5
|\ | | | | | | Support passing the schema name prefix to `conenction.indexes`
| * Support passing the schema name prefix to `conenction.indexes`Grey Baker2015-12-171-0/+5
| | | | | | | | | | | | | | Support passing the schema name as a prefix to table name in `ConnectionAdapters::SchemaStatements#indexes`. Previously the prefix would be considered a full part of the index name, and only the schema in the current search path would be considered.
* | Merge pull request #19456 from greysteil/index-exists-behaviourMatthew Draper2015-12-182-5/+5
|\ \ | | | | | | | | | Ignore index name in `index_exists?` when not passed a name to check for
| * | Support removing custom-names indexes when only specifying column namesGrey Baker2015-12-152-5/+5
| | |
* | | Merge pull request #22642 from seuros/remove-mysql-adapterMatthew Draper2015-12-1816-1153/+0
|\ \ \ | | | | | | | | | | | | Remove legacy mysql adapter
| * | | Remove legacy mysql adapterAbdelkader Boudih2015-12-1716-1153/+0
| | |/ | |/|
* / | Call the new point behavior `:point`, not `:rails_5_1_point`Sean Griffin2015-12-171-4/+4
|/ / | | | | | | | | Since the attributes API is new in Rails 5, we don't actually need to keep the behavior of `attribute :point`, as it's not a breaking change.
* | Fix test failure on WindowsSean Griffin2015-12-161-6/+10
| | | | | | | | | | | | | | When this test was run on Windows, the database file would still be in use, and `File.unlink` would fail. This would cause the temp directory to be unable to be removed, and error out. By disconnecting the connection when finished, we can avoid this error.
* | Merge pull request #22562 from sblackstone/masterJeremy Daer2015-12-151-0/+7
|\ \ | |/ |/| Allow users to pass flags from database.yml
| * Allow users to pass flags from database.ymlStephen Blackstone2015-12-151-0/+7
| | | | | | | | | | | | Fix white-space Add test case demonstrating flags are received by the adapter
* | Internal test migrations use the private 'Current' versionMatthew Draper2015-12-152-3/+3
| | | | | | | | | | | | | | | | Apart from specific versioning support, our tests should focus on the behaviour of whatever version they're accompanying, regardless of when they were written. Application code should *not* do this.
* | Ensure uuid-ossp extension is present before we rely on itMatthew Draper2015-12-151-0/+2
|/