aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/cases/adapters/postgresql
Commit message (Collapse)AuthorAgeFilesLines
...
* | | Support AC::Parameters for PG HStoreJon Moss2016-11-151-0/+10
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | As reported via #26904, there is a regression in how values for Postgres' HStore column type are being processed, beginning in Rails 5. Currently, the way that Active Record checks whether or not values need to be serialized and put into the correct storage format is whether or not it is a `Hash` object. Since `ActionController::Parameters` no longer inherits from `Hash` in Rails 5, this conditional now returns false. To remedy this, we are now checking to see whether the `value` parameters being passed in responds to a certain method, and then calling the `serialize` method, except this time with a real Hash object. Keeping things DRY! Fixes #26904.
* | Add more rubocop rules about whitespacesRafael Mendonça França2016-10-298-41/+41
| |
* | Fix `warning: ambiguous first argument`Ryuta Kamizono2016-10-121-4/+4
| | | | | | | | | | | | | | | | | | ``` test/cases/adapters/postgresql/case_insensitive_test.rb:12: warning: ambiguous first argument; put parentheses or a space even after `/' operator test/cases/adapters/postgresql/case_insensitive_test.rb:16: warning: ambiguous first argument; put parentheses or a space even after `/' operator test/cases/adapters/postgresql/case_insensitive_test.rb:20: warning: ambiguous first argument; put parentheses or a space even after `/' operator test/cases/adapters/postgresql/case_insensitive_test.rb:24: warning: ambiguous first argument; put parentheses or a space even after `/' operator ```
* | Merge pull request #26208 from nanaya/pg-insensitive-textMatthew Draper2016-10-111-0/+26
|\ \ | | | | | | | | | Fix case insensitive check for text column in pg
| * | Fix case insensitive check for text column in pgnanaya2016-09-011-0/+26
| | | | | | | | | | | | There's no 'text to text' casting in the cast table so the feature detection fails.
* | | Simplify serializable test to avoid mystery deadlockMatthew Draper2016-10-071-23/+21
| |/ |/|
* | Make PG deadlock error more deterministicMatthew Draper2016-10-011-9/+12
| | | | | | | | | | We've seen occasional Travis failures mentioning deadlocks. I think they're escaping from this test.
* | Serialize JSON attribute value nil as SQL NULL, not JSON 'null'Trung Duc Tran2016-09-231-0/+16
| | | | | | | | | | | | Test: JSON attribute value nil can be used in where(attr: nil) Add changelog entry
* | improve error message when include assertions failMichael Grosser2016-09-163-4/+4
| | | | | | | | | | | | assert [1, 3].includes?(2) fails with unhelpful "Asserting failed" message assert_includes [1, 3], 2 fails with "Expected [1, 3] to include 2" which makes it easier to debug and more obvious what went wrong
* | Fix broken heredoc indentation caused by rubocop auto-correctRyuta Kamizono2016-09-031-4/+4
|/ | | | | | All indentation was normalized by rubocop auto-correct at 80e66cc4d90bf8c15d1a5f6e3152e90147f00772. But heredocs was still kept absolute position. This commit aligns heredocs indentation for consistency.
* Remove deprecated handling of PG PointsSean Griffin2016-08-311-12/+0
| | | | | | | | | | There are some minor changes to the point type as I had forgotten that this will affect the behavior of `t.point` in migrations and the schema dumper so we need to handle those as well. I'll say this again so I can convince myself to come up with a better structure... TYPES SHOULD NOT CARE ABOUT SCHEMA DUMPING AND WE NEED TO BETTER SEPARATE THESE.
* Attempt to maintain encoding for arrays of strings with PGSean Griffin2016-08-311-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | I still think that this is something that should be handled in the pg gem, but it's not going to end up happening there so we'll do it here instead. Once we bump to pg 0.19 we can pass the encoding to the `encode` method instead. This issue occurs because C has no concept of encoding (or strings, really). The bytes that we pass here when sending the value to the database will always be interpreted as whatever encoding the connection is currently configured to use. That means that roundtripping to the database will lose no information However, after assigning we round trip through our type system without hitting the database. The only way that we can do the "correct" thin here would be to actually give a reference to the connection to the array type and have it check the current value of the connection's encoding -- which I'm strongly opposed to. We could also pass in the encoding when it's constructed, but since that can change independently of the type I'm not a huge fan of that either. This feels like a reasonable middle ground, where if we have an array of strings we simply use the encoding of the string we're given. Fixes #26326.
* Fix CI failure caused by df84e9867219e9311aef6f4efd5dd9ec675bee5cRyuta Kamizono2016-08-231-2/+2
|
* Fix `OID::Bit#cast_value`Ryuta Kamizono2016-08-201-2/+3
| | | | Fixes #26137.
* Remove unnecessary `test_sql_for_insert_with_returning_disabled`Ryuta Kamizono2016-08-181-6/+0
| | | | | Because `sql_for_insert` is only called in `use_insert_returning?` is true since #26002.
* Merge pull request #26074 from kamipo/where_by_attribute_with_array_or_rangeRafael França2016-08-162-0/+12
|\ | | | | `where` by `array|range` attribute with array or range value
| * `where` by `array|range` attribute with array or range valueRyuta Kamizono2016-08-112-0/+12
| | | | | | | | | | | | | | Currently predicate builder cannot build a predicate for `array|range` attribute. This commit fixes the issue. Related #25671.
* | Add three new rubocop rulesRafael Mendonça França2016-08-166-50/+50
|/ | | | | | | | Style/SpaceBeforeBlockBraces Style/SpaceInsideBlockBraces Style/SpaceInsideHashLiteralBraces Fix all violations in the repository.
* Fix a NoMethodError schema_statements.rbGenadi Samokovarov2016-08-101-0/+6
| | | | | | | | | | | | | | | | | | If you call `remove_index` with wrong options, say a type, like I did, you get: ``` == 20160810072541 RemoveUniqueIndexOnGoals: migrating ========================= -- remove_index(:goal, {:coulmn=>:kid_id, :unique=>true}) rails aborted! StandardError: An error has occurred, this and all later migrations canceled: undefined method `ArgumentError' for #<ActiveRecord::ConnectionAdapters::PostgreSQLAdapter:0x007fb7dec91b28> ``` What happened is that I mistyped column (coulmn) and got a `NoMethodError`, because of a missing comma during the raise. This made Ruby think we're calling the method `ArgumentError`.
* Add `Style/EmptyLines` in `.rubocop.yml` and remove extra empty linesRyuta Kamizono2016-08-071-1/+0
|
* applies remaining conventions across the projectXavier Noria2016-08-068-11/+9
|
* normalizes indentation and whitespace across the projectXavier Noria2016-08-0611-78/+78
|
* remove redundant curlies from hash argumentsXavier Noria2016-08-062-10/+10
|
* modernizes hash syntax in activerecordXavier Noria2016-08-069-34/+34
|
* applies new string literal convention in activerecord/testXavier Noria2016-08-0636-561/+561
| | | | | The current code base is not uniform. After some discussion, we have chosen to go with double quotes by default.
* The problem isn't the detection but the deadlock itselfDavid Heinemeier Hansson2016-08-041-2/+2
|
* Merge pull request #25107 from Erol/introduce-new-ar-transaction-error-classesRafael Mendonça França2016-08-031-2/+27
|\ | | | | | | | | | | Introduce new ActiveRecord transaction error classes Closes #26018
| * Introduce new ActiveRecord transaction error classesErol Fornoles2016-05-241-2/+27
| |
* | Fix explain logging with bindsRyuta Kamizono2016-07-201-2/+2
| | | | | | | | `binds` is an array of a query attribute since Active Record 5.0.
* | Do not specal case inspecting associated arrays of over 10 elements, ↵Kevin McPhillips2016-06-291-1/+6
|/ | | | preventing infinite looping in some cases.
* Add AR::TransactionSerializationError for transaction serialization failures ↵Erol Fornoles2016-05-211-0/+72
| | | | or deadlocks
* Rails 5.1 point type should not raise exception if empty string is provided ↵bUg2016-05-151-0/+7
| | | | as value
* Followup of #24835Vipul A M2016-05-031-2/+2
| | | | Fix failing tests
* Add Expression Indexes and Operator Classes support for PostgreSQLRyuta Kamizono2016-04-243-19/+46
| | | | | | | | | | | | | | | | Example: create_table :users do |t| t.string :name t.index 'lower(name) varchar_pattern_ops' end Fixes #19090. Fixes #21765. Fixes #21819. Fixes #24359. Signed-off-by: Jeremy Daer <jeremydaer@gmail.com>
* remove_index do not fetch indexes if name is specifiedSeva Orlov2016-04-241-0/+5
| | | | | | There is no need to fetch all table indexes in remove_index if name is specified. If name is wrong, then StatementInvalid will be raised. Signed-off-by: Jeremy Daer <jeremydaer@gmail.com>
* Properly serialize all JSON primitives in the AR JSON typeSean Griffin2016-04-131-5/+12
| | | | | | | | | | | | | | Previously we were assuming that the only valid types for encoding were arrays and hashes. However, any JSON primitive is an accepted value by both PG and MySQL. This does involve a minor breaking change in the handling of `default` in the schema dumper. This is easily worked around, as passing a hash/array literal would have worked fine in previous versions of Rails. However, because of this, I will not be backporting this to 4.2 or earlier. Fixes #24234
* 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 #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-021-44/+0
| | | | | Originally, `{insert|update|delete}_sql` is protected methods. We can use the `{insert|update|delete}` public methods instead.
* Remove unnecessary namespaces in `explain_test.rb`Ryuta Kamizono2016-02-291-2/+2
|
* Fix tests failure with `prepared_statements: false`Ryuta Kamizono2016-02-296-92/+62
| | | | | | 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 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
|
* Remove duplicated composite primary key testsRyuta Kamizono2016-02-011-8/+0
|
* :speak_no_evil: :warning:Akira Matsuda2016-02-011-1/+3
|