10 tests fail at 698df6a009cb1c4dbd55905264f24f6edf41066e:
- `constraints.tests.CheckConstraintTests.test_name`
- `constraints.tests.CheckConstraintTests.test_database_constraint`
- `introspection.tests.IntrospectionTests.test_get_constraints`
- `migrations.test_operations.OperationTests.test_add_constraint`
-
`migrations.test_operations.OperationTests.test_add_constraint_percent_escaping`
- `migrations.test_operations.OperationTests.test_add_or_constraint`
-
`migrations.test_operations.OperationTests.test_create_model_with_constraint`
- `migrations.test_operations.OperationTests.test_remove_constraint`
- `schema.tests.SchemaTests.test_check_constraints`
-
`schema.tests.SchemaTests.test_remove_field_check_does_not_remove_meta_constraints`
[1] https://mariadb.com/kb/en/library/information-schema-
check_constraints-table/
--
Ticket URL: <https://code.djangoproject.com/ticket/30593>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
* needs_better_patch: 0 => 1
* has_patch: 0 => 1
Comment:
3 tests fail:
* `introspection.tests.IntrospectionTests.test_get_constraints`
* `schema.tests.SchemaTests.test_check_constraints`
*
`schema.tests.SchemaTests.test_remove_field_check_does_not_remove_meta_constraints`
The `information_schema.key_column_usage` table, does not contain `CHECK`
constraints records. we can find them in
`information_schema.table_constraints` table.
The problem is that records in `information_schema.table_constraints` do
not have `column_name` and we have to add them to constraints with an
empty list of columns [https://github.com/django/django/pull/11566/files
#diff-ed5c74bb534df74e38bc62e79c84fa12R194].
Those 3 tests fail because of the above-mentioned problem.
Any idea?
--
Ticket URL: <https://code.djangoproject.com/ticket/30593#comment:1>
* status: new => closed
* resolution: => fixed
Comment:
In [changeset:"1fc2c70f7613e014a31771afa537439b28dd35fb" 1fc2c70f]:
{{{
#!CommitTicketReference repository=""
revision="1fc2c70f7613e014a31771afa537439b28dd35fb"
Fixed #30593 -- Added support for check constraints on MariaDB 10.2+.
}}}
--
Ticket URL: <https://code.djangoproject.com/ticket/30593#comment:2>
Comment (by Mariusz Felisiak <felisiak.mariusz@…>):
In [changeset:"b2aad9ad4d35ee3bb448ba698b8c56bb972bdd8a" b2aad9ad]:
{{{
#!CommitTicketReference repository=""
revision="b2aad9ad4d35ee3bb448ba698b8c56bb972bdd8a"
Refs #30593 -- Added _parse_constraint_columns() hook to introspection on
MariaDB.
}}}
--
Ticket URL: <https://code.djangoproject.com/ticket/30593#comment:3>
Comment (by Mariusz Felisiak <felisiak.mariusz@…>):
In [changeset:"e3fc9af4abd65262f2d3bdced96b687b65be618a" e3fc9af]:
{{{
#!CommitTicketReference repository=""
revision="e3fc9af4abd65262f2d3bdced96b687b65be618a"
Refs #30593 -- Fixed introspection of check constraints columns on
MariaDB.
}}}
--
Ticket URL: <https://code.djangoproject.com/ticket/30593#comment:4>
Comment (by Mariusz Felisiak <felisiak.mariusz@…>):
In [changeset:"ffff17d4b0117cce59f65c9f56fa164694eafd23" ffff17d4]:
{{{
#!CommitTicketReference repository=""
revision="ffff17d4b0117cce59f65c9f56fa164694eafd23"
Fixed #34553 -- Fixed improper % escaping of literal in constraints.
Proper escaping of % in string literals used when defining constaints
was attempted (a8b3f96f6) by overriding quote_value of Postgres and
Oracle schema editor. The same approach was used when adding support for
constraints to the MySQL/MariaDB backend (1fc2c70).
Later on it was discovered that this approach was not appropriate and
that a preferable one was to pass params=None when executing the
constraint creation DDL to avoid any form of interpolation in the first
place (42e8cf47).
When the second patch was applied the corrective of the first were not
removed which caused % literals to be unnecessary doubled. This flew
under the radar because the existings test were crafted in a way that
consecutive %% didn't catch regressions.
This commit introduces an extra test for __exact lookups which
highlights more adequately % doubling problems but also adjust a
previous __endswith test to cover % doubling problems (%\% -> %%\%%).
Thanks Thomas Kolar for the report.
Refs #32369, #30408, #30593.
}}}
--
Ticket URL: <https://code.djangoproject.com/ticket/30593#comment:5>