[Django] #30593: Add support for check constraints on MariaDB 10.2+.

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

[Django] #30593: Add support for check constraints on MariaDB 10.2+.

Django
#30593: Add support for check constraints on MariaDB 10.2+.
-------------------------------------+-------------------------------------
               Reporter:  felixxm    |          Owner:  nobody
                   Type:  New        |         Status:  new
  feature                            |
              Component:  Database   |        Version:  master
  layer (models, ORM)                |       Keywords:  MariaDB,
               Severity:  Normal     |  constraint, check
           Triage Stage:  Accepted   |      Has patch:  0
    Needs documentation:  0          |    Needs tests:  0
Patch needs improvement:  0          |  Easy pickings:  0
                  UI/UX:  0          |
-------------------------------------+-------------------------------------
 MariaDB 10.2+ support check constraints (see
 [https://mariadb.com/kb/en/library/constraint/#check-constraints check-
 constraints]), we should support them because we officially support this
 database. I created [https://github.com/django/django/pull/11513 PR] to
 fix feature flags but it requires more work e.g. with introspection.

 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.

--
You received this message because you are subscribed to the Google Groups "Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/django-updates/050.6ff52be971b99226fe8024a035d64c73%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: [Django] #30593: Add support for check constraints on MariaDB 10.2+.

Django
#30593: Add support for check constraints on MariaDB 10.2+.
-------------------------------------+-------------------------------------
     Reporter:  felixxm              |                    Owner:  nobody
         Type:  New feature          |                   Status:  new
    Component:  Database layer       |                  Version:  master
  (models, ORM)                      |
     Severity:  Normal               |               Resolution:
     Keywords:  MariaDB,             |             Triage Stage:  Accepted
  constraint, check                  |
    Has patch:  1                    |      Needs documentation:  0
  Needs tests:  0                    |  Patch needs improvement:  1
Easy pickings:  0                    |                    UI/UX:  0
-------------------------------------+-------------------------------------
Changes (by Hasan Ramezani):

 * 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>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

--
You received this message because you are subscribed to the Google Groups "Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To post to this group, send email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/django-updates/065.538ae320d21aa8e077b946b1b7429fcb%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.