aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/cases/adapters
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #21697 from gdeglin/fix_returning_disabled_default_values_bugSean Griffin2015-09-241-0/+14
|\ | | | | | | Fix a bug with returning_disabled when using the postgresql adapter
| * Fix a bug with returning_disabled when using the postgresql adapterGeorge Deglin2015-09-201-0/+15
| | | | | | | | The returning_disabled configuration option is required to make postgresql partitioning triggers work. This commit fixes a bug where an invalid query would be made in cases where returning_disabled was true and objects were created with no attributes defined.
* | introduce `conn.data_source_exists?` and `conn.data_sources`.Yves Senn2015-09-221-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These new methods are used from the Active Record model layer to determine which relations are viable to back a model. These new methods allow us to change `conn.tables` in the future to only return tables and no views. Same for `conn.table_exists?`. The goal is to provide the following introspection methods on the connection: * `tables` * `table_exists?` * `views` * `view_exists?` * `data_sources` (views + tables) * `data_source_exists?` (views + tables)
* | fix `bin/test -a sqlite3_mem`.Yves Senn2015-09-221-19/+13
| | | | | | | | | | | | | | | | | | | | | | | | We should not run MysqlAdapter tests when running with `sqlite3_mem`. This also moves the test-case outside the MysqlAdapter namespace. This will prevent the following error when running everything: ``` 1) Error: TestAdapterWithInvalidConnection#test_inspect_on_Model_class_does_not_raise: TypeError: superclass mismatch for class MysqlAdapter ```
* | Eliminate `test_tables_quoting` following seems to be left in #21687Ronak Jangir2015-09-211-8/+0
|/
* Merge pull request #21687 from kamipo/refactor_table_existsAndrew White2015-09-201-8/+0
|\ | | | | Refactor `table_exists?` in AbstractMysqlAdapter
| * Refactor `table_exists?` in AbstractMysqlAdapterRyuta Kamizono2015-09-201-8/+0
| | | | | | | | | | | | `table_exists?` calls `tables` twice when passed `'dbname.tblname'` arg. This change is that `table_exists?` execute only once query always and extra args of `tables` is removed.
* | :scissors: empty line at the top of filesAkira Matsuda2015-09-211-1/+0
|/
* Merge pull request #17696 from kamipo/unsigned_integer_supportJeremy Daer2015-09-192-4/+74
|\ | | | | | | Add `unsigned` support for numeric data types in MySQL
| * Add `unsigned` types for numeric data types in MySQLRyuta Kamizono2015-09-182-0/+26
| | | | | | | | | | | | | | | | | | | | | | In the case of using `unsigned` as the type: create_table :foos do |t| t.unsigned_integer :unsigned_integer t.unsigned_bigint :unsigned_bigint t.unsigned_float :unsigned_float t.unsigned_decimal :unsigned_decimal, precision: 10, scale: 2 end
| * Add `unsigned` support for numeric data types in MySQLRyuta Kamizono2015-09-182-4/+48
| | | | | | | | | | | | | | | | | | | | | | Example: create_table :foos do |t| t.integer :unsigned_integer, unsigned: true t.bigint :unsigned_bigint, unsigned: true t.float :unsigned_float, unsigned: true t.decimal :unsigned_decimal, unsigned: true, precision: 10, scale: 2 end
* | Merge pull request #19086 from kamipo/move_explain_into_abstract_mysql_adapterJeremy Daer2015-09-191-0/+27
|\ \ | | | | | | | | | Move `explain` into `AbstractMysqlAdapter`
| * | Move `explain` into `AbstractMysqlAdapter`Ryuta Kamizono2015-03-011-0/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Common methods in both mysql adapters are should be added to `AbstractMysqlAdapter`, but some methods had been added to `Mysql2Adapter`. (8744632f, 0306f82e, #14359) Some methods already moved from `Mysql2Adapter` to `AbstractMysqlAdapter`. (#17601, #17998) Common methods in both mysql adapters are remaining only the `explain` method in `Mysql2Adapter`.
* | | Merge pull request #21607 from kamipo/remove_unnecessary_display_widthJeremy Daer2015-09-192-5/+5
|\ \ \ | | | | | | | | Remove unnecessary display width
| * | | Remove unnecessary display widthRyuta Kamizono2015-09-162-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The **(11)** does not affect the storage size of the data type, which for an INT will always be 4 bytes. It affects the **display width**. http://www.tocker.ca/2015/07/02/proposal-to-deprecate-mysql-integer-display-width-and-zerofill.html
* | | | Should test both mysql adaptersRyuta Kamizono2015-09-202-20/+16
| | | | | | | | | | | | | | | | | | | | Some test cases are testing only mysql adapter. We should test mysql2 adapter also.
* | | | Remove `@connection` in `StatementPool`Ryuta Kamizono2015-09-202-2/+2
| |_|/ |/| | | | | | | | | | | `@connection` in `StatementPool` is only used for PG adapter. No need for abstract `StatementPool` class.
* | | File encoding is defaulted to utf-8 in Ruby >= 2.1Akira Matsuda2015-09-181-1/+0
|/ /
* | Merge pull request #21528 from yui-knk/test/add_tests_for_mysql2_viewYves Senn2015-09-081-64/+0
|\ \ | | | | | | Add tests for test/cases/adapters/mysql2/view_test.rb
| * | Add view tests for MySQLyui-knk2015-09-081-64/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | Basically view tests for MySQL are same with `test/cases/adapters/postgresql/view_test.rb`. So move `test/cases/adapters/postgresql/view_test.rb` to `test/cases/view_test.rb` and make them only run if `current_adapter` supports writable view.
* | | Fix test failures from premature merge of #21317Matthew Draper2015-09-071-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | Apparently I managed to forget how similar the "tests passing" and "no status reported" merge indicators look. Note that the previous `stubs` in test_add_index wasn't working: the method was still called, and just happened to return false.
* | | Support dropping indexes concurrently in PostgresGrey Baker2015-09-052-2/+11
|/ / | | | | | | | | See http://www.postgresql.org/docs/9.4/static/sql-dropindex.html for more details.
* | pg, `create_schema`, `drop_schema` and `rename_table` quote schema name.Yves Senn2015-08-281-7/+47
| | | | | | | | | | | | | | | | Closes #21418. Previously schema names were not quoted. This leads to issues when a schema names contains a ".". Methods in `schema_statements.rb` should quote user input.
* | PostgreSQL, add `:if_exists` to `#drop_schema`.Yves Senn2015-08-282-11/+22
| |
* | Removed mocha from Active Record Part 1Ronak Jangir2015-08-251-7/+10
| |
* | Add a native JSON data type support in MySQLRyuta Kamizono2015-08-181-0/+172
| | | | | | | | | | | | | | | | | | | | As of MySQL 5.7.8, MySQL supports a native JSON data type. Example: create_table :json_data_type do |t| t.json :settings end
* | use `assert_not` instead of `refute` as mentioned in our guides.Yves Senn2015-08-132-2/+2
| | | | | | | | | | | | | | | | | | | | | | As described in the "Follow Coding Conventions" section in our contribution guide (http://edgeguides.rubyonrails.org/contributing_to_ruby_on_rails.html#follow-the-coding-conventions) we favor `assert_not` over `refute`. While we don't usually make stylistic changes on it's own I opted to do it in this case. The reason being that test cases are usually copied as a starting point for new tests. This results in a spread of `refute` in files that have been using it already.
* | Remove @connection instance variable only when definedYasuo Honda2015-07-261-2/+2
| |
* | Remove ivar only when definedAkira Matsuda2015-07-241-2/+2
| | | | | | | | this fixes a failing test case
* | Ensure that microsecond precision is only used for version of mysql that ↵Jori Hardman2015-07-202-0/+35
| | | | | | | | support it. Fixes #19711
* | Display decimal defaults as strings to keep precisionJohn Gesimondo2015-06-232-1/+6
| |
* | make it possible to run AR tests with bin/testYves Senn2015-06-1176-223/+203
| |
* | Return a `Point` object from the PG Point typeSean Griffin2015-06-051-11/+108
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This introduces a deprecation cycle to change the behavior of the default point type in the PostgreSQL adapter. The old behavior will continue to be available for the immediate future as `:legacy_point`. The current behavior of returning an `Array` causes several problems, the most significant of which is that we cannot differentiate between an array of points, and a point itself in the case of a column with the `point[]` type. The attributes API gives us a reasonable way to have a proper deprecation cycle for this change, so let's take advantage of it. If we like this change, we can also add proper support for the other geometric types (line, lseg, box, path, polygon, and circle), all of which are just aliases for string today. Fixes #20441
* | Add collation support for string and text columns in SQLite3Akshay Vishnoi2015-05-282-4/+57
| |
* | If specify `strict: :default` explicitly, do not set sql_mode.Ryuta Kamizono2015-05-262-0/+18
| | | | | | | | Related with #17370.
* | More exercise the create index sql testsRyuta Kamizono2015-05-042-0/+74
| |
* | Merge pull request #17569 from kamipo/dump_table_optionsRafael Mendonça França2015-05-032-0/+84
|\ \ | | | | | | | | | Correctly dump `:options` on `create_table` for MySQL
| * | Correctly dump `:options` on `create_table` for MySQLRyuta Kamizono2015-05-032-0/+84
| | |
* | | PostgreSQL: `:collation` support for string and text columnsRyuta Kamizono2015-05-041-0/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | Example: create_table :foos do |t| t.string :string_en, collation: 'en_US.UTF-8' t.text :text_ja, collation: 'ja_JP.UTF-8' end
* | | Remove unused requireRyuta Kamizono2015-05-032-2/+0
|/ /
* | Use `use_transactional_tests` in Active RecordPrem Sichanugrist2015-04-102-2/+2
| | | | | | | | | | | | `use_transactional_fixtures` was deprecated in favor of `use_transactional_tests` in Rails 5.0. This removes one warning while running test suite.
* | Merge pull request #17574 from kamipo/charset_collation_optionsJeremy Kemper2015-04-072-0/+108
|\ \ | | | | | | | | | Add charset and collation options support for MySQL string and text columns.
| * | Add `:charset` and `:collation` options support for MySQL string and text ↵Ryuta Kamizono2015-03-062-0/+108
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | columns Example: create_table :foos do |t| t.string :string_utf8_bin, charset: 'utf8', collation: 'utf8_bin' t.text :text_ascii, charset: 'ascii' end
* | | PostgreSQL, Fix OID based type casts in C for primitive types.Lars Kanis2015-03-254-13/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The type map was introduced in aafee23, but wasn't properly filled. This mainly adjusts many locations, that expected strings instead of integers or boolean. add_pg_decoders is moved after setup of the StatementPool, because execute_and_clear could potentially make use of it.
* | | PostgreSQL, Add test case for "Infinity" string assignment to float columns.Lars Kanis2015-03-221-0/+9
| | | | | | | | | | | | This is implemented in Type::Float, but not tested, so far.
* | | Don't cast nil to string in pg enumsSean Griffin2015-03-191-0/+8
| | | | | | | | | | | | Fixes #19389.
* | | Closes rails/rails#18864: Renaming transactional fixtures to transactional testsBrandon Weiss2015-03-1614-14/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I’m renaming all instances of `use_transcational_fixtures` to `use_transactional_tests` and “transactional fixtures” to “transactional tests”. I’m deprecating `use_transactional_fixtures=`. So anyone who is explicitly setting this will get a warning telling them to use `use_transactional_tests=` instead. I’m maintaining backwards compatibility—both forms will work. `use_transactional_tests` will check to see if `use_transactional_fixtures` is set and use that, otherwise it will use itself. But because `use_transactional_tests` is a class attribute (created with `class_attribute`) this requires a little bit of hoop jumping. The writer method that `class_attribute` generates defines a new reader method that return the value being set. Which means we can’t set the default of `true` using `use_transactional_tests=` as was done previously because that won’t take into account anyone using `use_transactional_fixtures`. Instead I defined the reader method manually and it checks `use_transactional_fixtures`. If it was set then it should be used, otherwise it should return the default, which is `true`. If someone uses `use_transactional_tests=` then it will overwrite the backwards-compatible method with whatever they set.
* | | pg, `disable_referential_integrity` only catches AR errors.Yves Senn2015-03-111-1/+23
| | | | | | | | | | | | This change was prompted by 598b841.
* | | Fix json_testpalkan2015-03-111-0/+1
| | |
* | | Fix intermittent test failuresSean Griffin2015-03-091-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The table is being modified in tests, without reloading the column information on the appropriate class. This is leading to incorrect column information in many cases. The failures fixed by this commit can be replicated with: ARCONN=postgresql ruby -Itest test/cases/adapters/postgresql/hstore_test.rb --seed 21574