[Django] #26167: Support for Functional Indexes (aka Indexes on Expressions)

39 views
Skip to first unread message

Django

unread,
Feb 2, 2016, 2:20:04 PM2/2/16
to django-...@googlegroups.com
#26167: Support for Functional Indexes (aka Indexes on Expressions)
-------------------------------+--------------------
Reporter: cancan101 | Owner: nobody
Type: New feature | Status: new
Component: Uncategorized | Version: 1.9
Severity: Normal | Keywords:
Triage Stage: Unreviewed | Has patch: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------+--------------------
Add support for Support for Functional Indexes (aka Indexes on
Expressions)

See: http://docs.sqlalchemy.org/en/latest/core/constraints.html
#functional-indexes or http://www.postgresql.org/docs/current/static
/indexes-expressional.html

--
Ticket URL: <https://code.djangoproject.com/ticket/26167>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

Django

unread,
Feb 2, 2016, 3:03:47 PM2/2/16
to django-...@googlegroups.com
#26167: Support for Functional Indexes (aka Indexes on Expressions)
-------------------------------------+-------------------------------------

Reporter: cancan101 | Owner: nobody
Type: New feature | Status: new
Component: Database layer | Version: master
(models, ORM) |
Severity: Normal | Resolution:
Keywords: | Triage Stage: Accepted
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0

Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by charettes):

* needs_better_patch: => 0
* component: Uncategorized => Database layer (models, ORM)
* needs_tests: => 0
* version: 1.9 => master
* needs_docs: => 0
* stage: Unreviewed => Accepted


Comment:

I thought there was already a ticket for that given the existing
[https://github.com/django/deps/pull/6 DEP] but I couldn't find any.

--
Ticket URL: <https://code.djangoproject.com/ticket/26167#comment:1>

Django

unread,
Mar 16, 2016, 10:37:28 AM3/16/16
to django-...@googlegroups.com
#26167: Support for Functional Indexes (aka Indexes on Expressions)
-------------------------------------+-------------------------------------

Reporter: cancan101 | Owner: nobody
Type: New feature | Status: new
Component: Database layer | Version: master
(models, ORM) |
Severity: Normal | Resolution:
Keywords: | Triage Stage: Accepted
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0

Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by akki):

* cc: aksheshdoshi@… (added)


--
Ticket URL: <https://code.djangoproject.com/ticket/26167#comment:2>

Django

unread,
May 14, 2016, 6:23:15 PM5/14/16
to django-...@googlegroups.com
#26167: Support for Functional Indexes (aka Indexes on Expressions)
-------------------------------------+-------------------------------------

Reporter: cancan101 | Owner: nobody
Type: New feature | Status: new
Component: Database layer | Version: master
(models, ORM) |
Severity: Normal | Resolution:
Keywords: db-indexes | Triage Stage: Accepted

Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0

Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by timgraham):

* keywords: => db-indexes


--
Ticket URL: <https://code.djangoproject.com/ticket/26167#comment:3>

Django

unread,
Nov 5, 2016, 7:55:43 AM11/5/16
to django-...@googlegroups.com
#26167: Support for Functional Indexes (aka Indexes on Expressions)
-------------------------------------+-------------------------------------
Reporter: Alex Rothberg | Owner: Michael
| Blatherwick
Type: New feature | Status: assigned

Component: Database layer | Version: master
(models, ORM) |
Severity: Normal | Resolution:
Keywords: db-indexes | Triage Stage: Accepted
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0

Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Michael Blatherwick):

* owner: nobody => Michael Blatherwick
* status: new => assigned


--
Ticket URL: <https://code.djangoproject.com/ticket/26167#comment:4>

Django

unread,
Nov 6, 2016, 7:36:51 AM11/6/16
to django-...@googlegroups.com
#26167: Support for Functional Indexes (aka Indexes on Expressions)
-------------------------------------+-------------------------------------
Reporter: Alex Rothberg | Owner: Michael
| Blatherwick
Type: New feature | Status: assigned
Component: Database layer | Version: master
(models, ORM) |
Severity: Normal | Resolution:
Keywords: db-indexes | Triage Stage: Accepted
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0

Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------

Comment (by Michael Blatherwick):

I worked on this at the DUTH sprint but I was a long way from getting it
working and I won't be able to take it any further. I don't know how much
of my approach was even correct, but my branch is at
[https://github.com/exonian/django/tree/functional-indexes] anyway in case
parts of it can be informative to others.

Ian's PR [https://github.com/django/django/pull/7504] makes Expressions
deconstructible, which this relies on.

--
Ticket URL: <https://code.djangoproject.com/ticket/26167#comment:5>

Django

unread,
Nov 6, 2016, 7:37:07 AM11/6/16
to django-...@googlegroups.com
#26167: Support for Functional Indexes (aka Indexes on Expressions)
-------------------------------------+-------------------------------------
Reporter: Alex Rothberg | Owner: (none)

Type: New feature | Status: new
Component: Database layer | Version: master
(models, ORM) |
Severity: Normal | Resolution:
Keywords: db-indexes | Triage Stage: Accepted
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0

Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Michael Blatherwick):

* status: assigned => new
* owner: Michael Blatherwick => (none)


--
Ticket URL: <https://code.djangoproject.com/ticket/26167#comment:6>

Django

unread,
Feb 12, 2017, 1:30:16 PM2/12/17
to django-...@googlegroups.com
#26167: Support for Functional Indexes (aka Indexes on Expressions)
-------------------------------------+-------------------------------------
Reporter: Alex Rothberg | Owner: (none)
Type: New feature | Status: new
Component: Database layer | Version: master
(models, ORM) |
Severity: Normal | Resolution:
Keywords: db-indexes | Triage Stage: Accepted
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0

Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------

Comment (by Markus Holtermann):

Here's my shot at expression based functional indexes:
https://github.com/django/django/pull/8056

There's a whole lot more to do. Random things that just come to mind:
* Field validation -- validate that the fields in the expression exist on
the model
* Look into getting rid of `Ref()` and `output_field` as much as possible
* Work out what "functions in index expression must be marked IMMUTABLE"
means on PostgreSQL -- Running the example form the PR description on
PostgreSQL results in
{{{#!python
Applying app.0001_initial...Traceback (most recent call last):
File "/home/markus/Coding/django/django/db/backends/utils.py", line 62,
in execute
return self.cursor.execute(sql, params)
psycopg2.ProgrammingError: functions in index expression must be marked
IMMUTABLE


The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "manage.py", line 10, in <module>
execute_from_command_line(sys.argv)
File "/home/markus/Coding/django/django/core/management/__init__.py",
line 361, in execute_from_command_line
utility.execute()
File "/home/markus/Coding/django/django/core/management/__init__.py",
line 353, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/home/markus/Coding/django/django/core/management/base.py", line
280, in run_from_argv
self.execute(*args, **cmd_options)
File "/home/markus/Coding/django/django/core/management/base.py", line
327, in execute
output = self.handle(*args, **options)
File
"/home/markus/Coding/django/django/core/management/commands/migrate.py",
line 201, in handle
fake_initial=fake_initial,
File "/home/markus/Coding/django/django/db/migrations/executor.py", line
113, in migrate
state = self._migrate_all_forwards(state, plan, full_plan, fake=fake,
fake_initial=fake_initial)
File "/home/markus/Coding/django/django/db/migrations/executor.py", line
143, in _migrate_all_forwards
state = self.apply_migration(state, migration, fake=fake,
fake_initial=fake_initial)
File "/home/markus/Coding/django/django/db/migrations/executor.py", line
242, in apply_migration
state = migration.apply(state, schema_editor)
File "/home/markus/Coding/django/django/db/migrations/migration.py",
line 122, in apply
operation.database_forwards(self.app_label, schema_editor, old_state,
project_state)
File
"/home/markus/Coding/django/django/db/migrations/operations/models.py",
line 782, in database_forwards
schema_editor.add_index(model, self.index)
File "/home/markus/Coding/django/django/db/backends/base/schema.py",
line 330, in add_index
self.execute(index.create_sql(model, self))
File "/home/markus/Coding/django/django/db/backends/base/schema.py",
line 119, in execute
cursor.execute(sql, params)
File "/home/markus/Coding/django/django/db/backends/utils.py", line 77,
in execute
return super().execute(sql, params)
File "/home/markus/Coding/django/django/db/backends/utils.py", line 62,
in execute
return self.cursor.execute(sql, params)
File "/home/markus/Coding/django/django/db/utils.py", line 90, in
__exit__
raise dj_exc_value.with_traceback(traceback)
File "/home/markus/Coding/django/django/db/backends/utils.py", line 62,
in execute
return self.cursor.execute(sql, params)
django.db.utils.ProgrammingError: functions in index expression must be
marked IMMUTABLE
}}}

--
Ticket URL: <https://code.djangoproject.com/ticket/26167#comment:7>

Django

unread,
Feb 12, 2017, 1:30:40 PM2/12/17
to django-...@googlegroups.com
#26167: Support for Functional Indexes (aka Indexes on Expressions)
-------------------------------------+-------------------------------------
Reporter: Alex Rothberg | Owner: Markus
| Holtermann

Type: New feature | Status: assigned
Component: Database layer | Version: master
(models, ORM) |
Severity: Normal | Resolution:
Keywords: db-indexes | Triage Stage: Accepted
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0

Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Markus Holtermann):

* owner: (none) => Markus Holtermann


* status: new => assigned


--
Ticket URL: <https://code.djangoproject.com/ticket/26167#comment:8>

Django

unread,
Feb 23, 2017, 9:41:20 PM2/23/17
to django-...@googlegroups.com
#26167: Support for Functional Indexes (aka Indexes on Expressions)
-------------------------------------+-------------------------------------
Reporter: Alex Rothberg | Owner: Markus
| Holtermann
Type: New feature | Status: assigned
Component: Database layer | Version: master
(models, ORM) |
Severity: Normal | Resolution:
Keywords: db-indexes | Triage Stage: Accepted
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0

Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------

Comment (by Tim Graham <timograham@…>):

In [changeset:"19b2dfd1bfe7fd716dd3d8bfa5f972070d83b42f" 19b2dfd1]:
{{{
#!CommitTicketReference repository=""
revision="19b2dfd1bfe7fd716dd3d8bfa5f972070d83b42f"
Refs #11964, #26167 -- Made Expressions deconstructible.
}}}

--
Ticket URL: <https://code.djangoproject.com/ticket/26167#comment:9>

Django

unread,
Jul 21, 2017, 12:27:20 AM7/21/17
to django-...@googlegroups.com
#26167: Support for Functional Indexes (aka Indexes on Expressions)
-------------------------------------+-------------------------------------
Reporter: Alex Rothberg | Owner: Markus
| Holtermann
Type: New feature | Status: assigned
Component: Database layer | Version: master
(models, ORM) |
Severity: Normal | Resolution:
Keywords: db-indexes | Triage Stage: Accepted
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0

Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Markus Holtermann):

* has_patch: 0 => 1


Comment:

PR: https://github.com/django/django/pull/8056

--
Ticket URL: <https://code.djangoproject.com/ticket/26167#comment:10>

Django

unread,
Dec 15, 2017, 4:19:46 PM12/15/17
to django-...@googlegroups.com
#26167: Support for Functional Indexes (aka Indexes on Expressions)
-------------------------------------+-------------------------------------
Reporter: Alex Rothberg | Owner: Markus
| Holtermann
Type: New feature | Status: assigned
Component: Database layer | Version: master
(models, ORM) |
Severity: Normal | Resolution:
Keywords: db-indexes | Triage Stage: Accepted
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 1

Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Tim Martin):

* needs_better_patch: 0 => 1


--
Ticket URL: <https://code.djangoproject.com/ticket/26167#comment:11>

Django

unread,
Oct 2, 2018, 7:16:08 PM10/2/18
to django-...@googlegroups.com
#26167: Support for Functional Indexes (aka Indexes on Expressions)
-------------------------------------+-------------------------------------
Reporter: Alex Rothberg | Owner: Markus
| Holtermann
Type: New feature | Status: assigned
Component: Database layer | Version: master
(models, ORM) |
Severity: Normal | Resolution:
Keywords: db-indexes | Triage Stage: Accepted
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 1
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------

Comment (by Tim Graham <timograham@…>):

In [changeset:"bc7e288ca9554ac1a0a19941302dea19df1acd21" bc7e288]:
{{{
#!CommitTicketReference repository=""
revision="bc7e288ca9554ac1a0a19941302dea19df1acd21"
Fixed #29745 -- Based Expression equality on detailed initialization
signature.

The old implementation considered objects initialized with an equivalent
signature different if some arguments were provided positionally instead
of
as keyword arguments.

Refs #11964, #26167.
}}}

--
Ticket URL: <https://code.djangoproject.com/ticket/26167#comment:12>

Django

unread,
Oct 11, 2019, 1:10:47 PM10/11/19
to django-...@googlegroups.com
#26167: Support for Functional Indexes (aka Indexes on Expressions)
-------------------------------------+-------------------------------------
Reporter: Alex Rothberg | Owner: Markus
| Holtermann
Type: New feature | Status: assigned
Component: Database layer | Version: master
(models, ORM) |
Severity: Normal | Resolution:
Keywords: db-indexes | Triage Stage: Accepted
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 1
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------

Comment (by hannseman):

It have been a good while since there was any activity on this issue, both
here and on the GitHub PR. By reading the PR comments there’s still a
community interest in getting this feature into Django. Me personally
would love to use it to set B-Tree Indexes on keys in `JSONField` s by
using `KeyTransform`.

A lot of stuff have happened in regards to index creation since the last
work was done on the PR. I have a proof-of-concept based on the latest
master using a lot of work done by Markus Holtermann.

@Markus Holtermann would you mind if I opened a new PR to continue your
work?

--
Ticket URL: <https://code.djangoproject.com/ticket/26167#comment:13>

Django

unread,
Oct 16, 2019, 5:51:06 PM10/16/19
to django-...@googlegroups.com
#26167: Support for Functional Indexes (aka Indexes on Expressions)
-------------------------------------+-------------------------------------
Reporter: Alex Rothberg | Owner: Hannes
| Ljungberg

Type: New feature | Status: assigned
Component: Database layer | Version: master
(models, ORM) |
Severity: Normal | Resolution:
Keywords: db-indexes | Triage Stage: Accepted
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 1
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Hannes Ljungberg):

* owner: Markus Holtermann => Hannes Ljungberg


--
Ticket URL: <https://code.djangoproject.com/ticket/26167#comment:14>

Django

unread,
Oct 16, 2019, 6:10:52 PM10/16/19
to django-...@googlegroups.com
#26167: Support for Functional Indexes (aka Indexes on Expressions)
-------------------------------------+-------------------------------------
Reporter: Alex Rothberg | Owner: Hannes
| Ljungberg
Type: New feature | Status: assigned
Component: Database layer | Version: master
(models, ORM) |
Severity: Normal | Resolution:
Keywords: db-indexes | Triage Stage: Accepted
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 1
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------

Comment (by Hannes Ljungberg):

PR: https://github.com/django/django/pull/11929

--
Ticket URL: <https://code.djangoproject.com/ticket/26167#comment:15>

Django

unread,
Oct 23, 2019, 12:06:23 PM10/23/19
to django-...@googlegroups.com
#26167: Support for Functional Indexes (aka Indexes on Expressions)
-------------------------------------+-------------------------------------
Reporter: Alex Rothberg | Owner: Hannes
| Ljungberg
Type: New feature | Status: assigned
Component: Database layer | Version: master
(models, ORM) |
Severity: Normal | Resolution:
Keywords: db-indexes | Triage Stage: Accepted
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0

Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Hannes Ljungberg):

* needs_better_patch: 1 => 0


--
Ticket URL: <https://code.djangoproject.com/ticket/26167#comment:16>

Django

unread,
Jul 22, 2020, 3:28:57 AM7/22/20
to django-...@googlegroups.com
#26167: Support for Functional Indexes (aka Indexes on Expressions)
-------------------------------------+-------------------------------------
Reporter: Alex Rothberg | Owner: Hannes
| Ljungberg
Type: New feature | Status: assigned
Component: Database layer | Version: master
(models, ORM) |
Severity: Normal | Resolution:
Keywords: db-indexes | Triage Stage: Accepted
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 1

Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by felixxm):

* needs_better_patch: 0 => 1


--
Ticket URL: <https://code.djangoproject.com/ticket/26167#comment:18>

Django

unread,
Oct 11, 2020, 5:21:36 PM10/11/20
to django-...@googlegroups.com
#26167: Support for Functional Indexes (aka Indexes on Expressions)
-------------------------------------+-------------------------------------
Reporter: Alex Rothberg | Owner: Hannes
| Ljungberg
Type: New feature | Status: assigned
Component: Database layer | Version: master
(models, ORM) |
Severity: Normal | Resolution:
Keywords: db-indexes | Triage Stage: Accepted
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0

Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Hannes Ljungberg):

* needs_better_patch: 1 => 0


--
Ticket URL: <https://code.djangoproject.com/ticket/26167#comment:19>

Django

unread,
Dec 23, 2020, 11:10:54 AM12/23/20
to django-...@googlegroups.com
#26167: Support for Functional Indexes (aka Indexes on Expressions)
-------------------------------------+-------------------------------------
Reporter: Alex Rothberg | Owner: Hannes
| Ljungberg
Type: New feature | Status: assigned
Component: Database layer | Version: master
(models, ORM) |
Severity: Normal | Resolution:
Keywords: db-indexes | Triage Stage: Accepted
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0

Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------

Comment (by Mariusz Felisiak <felisiak.mariusz@…>):

In [changeset:"d23cb83c99bc77c23e2fb5bff378d2f2092d7b29" d23cb83c]:
{{{
#!CommitTicketReference repository=""
revision="d23cb83c99bc77c23e2fb5bff378d2f2092d7b29"
Refs #26167 -- Made DatabaseSchemaEditor._create_index_sql()'s fields
argument optional and kwarg-only.
}}}

--
Ticket URL: <https://code.djangoproject.com/ticket/26167#comment:20>

Django

unread,
Jan 13, 2021, 2:46:51 AM1/13/21
to django-...@googlegroups.com
#26167: Support for Functional Indexes (aka Indexes on Expressions)
-------------------------------------+-------------------------------------
Reporter: Alex Rothberg | Owner: Hannes
| Ljungberg
Type: New feature | Status: assigned
Component: Database layer | Version: master
(models, ORM) |
Severity: Normal | Resolution:
Keywords: db-indexes | Triage Stage: Ready for
| checkin

Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0

Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Mariusz Felisiak):

* stage: Accepted => Ready for checkin


--
Ticket URL: <https://code.djangoproject.com/ticket/26167#comment:21>

Django

unread,
Jan 13, 2021, 6:09:02 AM1/13/21
to django-...@googlegroups.com
#26167: Support for Functional Indexes (aka Indexes on Expressions)
-------------------------------------+-------------------------------------
Reporter: Alex Rothberg | Owner: Hannes
| Ljungberg
Type: New feature | Status: closed

Component: Database layer | Version: master
(models, ORM) |
Severity: Normal | Resolution: fixed

Keywords: db-indexes | Triage Stage: Ready for
| checkin
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0

Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Mariusz Felisiak <felisiak.mariusz@…>):

* status: assigned => closed
* resolution: => fixed


Comment:

In [changeset:"83fcfc9ec8610540948815e127101f1206562ead" 83fcfc9e]:
{{{
#!CommitTicketReference repository=""
revision="83fcfc9ec8610540948815e127101f1206562ead"
Fixed #26167 -- Added support for functional indexes.

Thanks Simon Charette, Mads Jensen, and Mariusz Felisiak for reviews.

Co-authored-by: Markus Holtermann <in...@markusholtermann.eu>
}}}

--
Ticket URL: <https://code.djangoproject.com/ticket/26167#comment:22>

Django

unread,
Jan 14, 2021, 2:56:22 AM1/14/21
to django-...@googlegroups.com
#26167: Support for Functional Indexes (aka Indexes on Expressions)
-------------------------------------+-------------------------------------
Reporter: Alex Rothberg | Owner: Hannes
| Ljungberg
Type: New feature | Status: closed
Component: Database layer | Version: master
(models, ORM) |
Severity: Normal | Resolution: fixed
Keywords: db-indexes | Triage Stage: Ready for
| checkin
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0

Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------

Comment (by Mariusz Felisiak <felisiak.mariusz@…>):

In [changeset:"ffe756d6242d513bfbba9686b5a3d90f0a67c214" ffe756d6]:
{{{
#!CommitTicketReference repository=""
revision="ffe756d6242d513bfbba9686b5a3d90f0a67c214"
Refs #26167 -- Changed default value of
DatabaseFeatures.supports_expression_indexes to True.
}}}

--
Ticket URL: <https://code.djangoproject.com/ticket/26167#comment:23>

Django

unread,
Jan 25, 2021, 3:04:10 AM1/25/21
to django-...@googlegroups.com
#26167: Support for Functional Indexes (aka Indexes on Expressions)
-------------------------------------+-------------------------------------
Reporter: Alex Rothberg | Owner: Hannes
| Ljungberg
Type: New feature | Status: closed
Component: Database layer | Version: master
(models, ORM) |
Severity: Normal | Resolution: fixed
Keywords: db-indexes | Triage Stage: Ready for
| checkin
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0

Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------

Comment (by Mariusz Felisiak <felisiak.mariusz@…>):

In [changeset:"90ddf46ef7b3d775b124d81e1846bec7961c7f1f" 90ddf46e]:
{{{
#!CommitTicketReference repository=""
revision="90ddf46ef7b3d775b124d81e1846bec7961c7f1f"
Refs #26167 -- Corrected OpClass() example in docs.
}}}

--
Ticket URL: <https://code.djangoproject.com/ticket/26167#comment:24>

Django

unread,
Jan 25, 2021, 3:04:11 AM1/25/21
to django-...@googlegroups.com
#26167: Support for Functional Indexes (aka Indexes on Expressions)
-------------------------------------+-------------------------------------
Reporter: Alex Rothberg | Owner: Hannes
| Ljungberg
Type: New feature | Status: closed
Component: Database layer | Version: master
(models, ORM) |
Severity: Normal | Resolution: fixed
Keywords: db-indexes | Triage Stage: Ready for
| checkin
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0

Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------

Comment (by Mariusz Felisiak <felisiak.mariusz@…>):

In [changeset:"5d9374b9fb12843ab897355fd319fef898a95d01" 5d9374b9]:
{{{
#!CommitTicketReference repository=""
revision="5d9374b9fb12843ab897355fd319fef898a95d01"
[3.2.x] Refs #26167 -- Corrected OpClass() example in docs.

Backport of 90ddf46ef7b3d775b124d81e1846bec7961c7f1f from master
}}}

--
Ticket URL: <https://code.djangoproject.com/ticket/26167#comment:25>

Django

unread,
Mar 8, 2021, 2:13:22 PM3/8/21
to django-...@googlegroups.com
#26167: Support for Functional Indexes (aka Indexes on Expressions)
-------------------------------------+-------------------------------------
Reporter: Alex Rothberg | Owner: Hannes
| Ljungberg
Type: New feature | Status: closed
Component: Database layer | Version: dev

(models, ORM) |
Severity: Normal | Resolution: fixed
Keywords: db-indexes | Triage Stage: Ready for
| checkin
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0

Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------

Comment (by GitHub <noreply@…>):

In [changeset:"76c0b32f826469320c59709d31e2f2126dd7c505" 76c0b32]:
{{{
#!CommitTicketReference repository=""
revision="76c0b32f826469320c59709d31e2f2126dd7c505"
Refs #26167 -- Added @skipUnlessDBFeature('supports_expression_indexes')
to a test.

Failure observed on CockroachDB.
}}}

--
Ticket URL: <https://code.djangoproject.com/ticket/26167#comment:26>

Django

unread,
Mar 9, 2021, 10:01:33 AM3/9/21
to django-...@googlegroups.com
#26167: Support for Functional Indexes (aka Indexes on Expressions)
-------------------------------------+-------------------------------------
Reporter: Alex Rothberg | Owner: Hannes
| Ljungberg
Type: New feature | Status: closed
Component: Database layer | Version: dev
(models, ORM) |
Severity: Normal | Resolution: fixed
Keywords: db-indexes | Triage Stage: Ready for
| checkin
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------

Comment (by Mariusz Felisiak <felisiak.mariusz@…>):

In [changeset:"cd4dc4c3f1ccc6664fca5c7c700fcf9e0830d74f" cd4dc4c]:
{{{
#!CommitTicketReference repository=""
revision="cd4dc4c3f1ccc6664fca5c7c700fcf9e0830d74f"
[3.2.x] Refs #26167 -- Added


@skipUnlessDBFeature('supports_expression_indexes') to a test.

Failure observed on CockroachDB.
Backport of 76c0b32f826469320c59709d31e2f2126dd7c505 from main
}}}

--
Ticket URL: <https://code.djangoproject.com/ticket/26167#comment:27>

Reply all
Reply to author
Forward
0 new messages