Re: [Django] #35018: GeneratedField crashes on Oracle 19c when output_field is BooleanField.

18 views
Skip to first unread message

Django

unread,
Dec 6, 2023, 4:07:37 AM12/6/23
to django-...@googlegroups.com
#35018: GeneratedField crashes on Oracle 19c when output_field is BooleanField.
-------------------------------------+-------------------------------------
Reporter: Václav Řehák | Owner: nobody
Type: Bug | Status: new
Component: Database layer | Version: 5.0
(models, ORM) |
Severity: Release blocker | Resolution:
Keywords: oracle | Triage Stage: Accepted
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------

Comment (by Mariusz Felisiak):

Replying to [comment:1 Mariusz Felisiak]:
> Unexpectedly, it works fine on Oracle 23c without `CASE ...`.

[https://oracle-base.com/articles/23c/boolean-data-type-23c#boolean-table-
columns Oracle 23c introduced] `BOOLEAN` data type in SQL 😱 I never
expected this to finally happen.

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

Django

unread,
Dec 6, 2023, 11:47:23 AM12/6/23
to django-...@googlegroups.com
#35018: GeneratedField crashes on Oracle 19c when output_field is BooleanField.
-------------------------------------+-------------------------------------
Reporter: Václav Řehák | Owner: nobody
Type: Bug | Status: new
Component: Database layer | Version: 5.0
(models, ORM) |
Severity: Release blocker | Resolution:
Keywords: oracle | Triage Stage: Accepted
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------

Comment (by Simon Charette):

> ​Oracle 23c introduced BOOLEAN data type in SQL 😱 I never expected this
to finally happen.

Only a few more years of `CASE/WHEN` wrapping shenanigans I guess 😅.

I support we'll want to branch of
`compiler.connection.features.supports_boolean_expr_in_select_clause` here
I guess?

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

Django

unread,
Dec 6, 2023, 11:35:30 PM12/6/23
to django-...@googlegroups.com
#35018: GeneratedField crashes on Oracle 19c when output_field is BooleanField.
-------------------------------------+-------------------------------------
Reporter: Václav Řehák | Owner: nobody
Type: Bug | Status: new
Component: Database layer | Version: 5.0
(models, ORM) |
Severity: Release blocker | Resolution:
Keywords: oracle | Triage Stage: Accepted
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------

Comment (by Mariusz Felisiak):

Replying to [comment:3 Simon Charette]:


> I support we'll want to branch of
`compiler.connection.features.supports_boolean_expr_in_select_clause` here
I guess?

Yes, working on this. I need to investigate some
[https://github.com/oracle/python-oracledb/issues/263 issues] around
binding parameters, it was not enough to switch the flag.

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

Django

unread,
Dec 7, 2023, 5:32:00 AM12/7/23
to django-...@googlegroups.com
#35018: GeneratedField crashes on Oracle 19c when output_field is BooleanField.
-------------------------------------+-------------------------------------
Reporter: Václav Řehák | Owner: Mariusz
| Felisiak
Type: Bug | Status: assigned

Component: Database layer | Version: 5.0
(models, ORM) |
Severity: Release blocker | Resolution:
Keywords: oracle | Triage Stage: Accepted
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Mariusz Felisiak):

* owner: nobody => Mariusz Felisiak
* status: new => assigned


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

Django

unread,
Dec 11, 2023, 7:50:48 AM12/11/23
to django-...@googlegroups.com
#35018: GeneratedField crashes on Oracle 19c when output_field is BooleanField.
-------------------------------------+-------------------------------------
Reporter: Václav Řehák | Owner: Mariusz
| Felisiak
Type: Bug | Status: assigned
Component: Database layer | Version: 5.0
(models, ORM) |
Severity: Release blocker | Resolution:
Keywords: oracle | Triage Stage: Accepted
Has patch: 1 | Needs documentation: 0

Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Mariusz Felisiak):

* has_patch: 0 => 1


Comment:

[https://github.com/django/django/pull/17585 PR]

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

Django

unread,
Dec 11, 2023, 11:39:21 PM12/11/23
to django-...@googlegroups.com
#35018: GeneratedField crashes on Oracle 19c when output_field is BooleanField.
-------------------------------------+-------------------------------------
Reporter: Václav Řehák | Owner: Mariusz
| Felisiak
Type: Bug | Status: closed

Component: Database layer | Version: 5.0
(models, ORM) |
Severity: Release blocker | Resolution: fixed

Keywords: oracle | Triage Stage: Accepted
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by GitHub <noreply@…>):

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


Comment:

In [changeset:"fcf95e592774a6ededec35481a2061474d467a2b" fcf95e5]:
{{{
#!CommitTicketReference repository=""
revision="fcf95e592774a6ededec35481a2061474d467a2b"
Fixed #35018 -- Fixed migrations crash on GeneratedField with BooleanField
as output_field on Oracle < 23c.

Thanks Václav Řehák for the report.

Regression in f333e3513e8bdf5ffeb6eeb63021c230082e6f95.
}}}

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

Django

unread,
Dec 11, 2023, 11:43:07 PM12/11/23
to django-...@googlegroups.com
#35018: GeneratedField crashes on Oracle 19c when output_field is BooleanField.
-------------------------------------+-------------------------------------
Reporter: Václav Řehák | Owner: Mariusz
| Felisiak
Type: Bug | Status: closed
Component: Database layer | Version: 5.0
(models, ORM) |
Severity: Release blocker | Resolution: fixed
Keywords: oracle | 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:"5f89da0837009debda998af30f280d7075fb1a4d" 5f89da0]:
{{{
#!CommitTicketReference repository=""
revision="5f89da0837009debda998af30f280d7075fb1a4d"
[5.0.x] Fixed #35018 -- Fixed migrations crash on GeneratedField with


BooleanField as output_field on Oracle < 23c.

Thanks Václav Řehák for the report.

Regression in f333e3513e8bdf5ffeb6eeb63021c230082e6f95.

Backport of fcf95e592774a6ededec35481a2061474d467a2b from main.
}}}

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

Reply all
Reply to author
Forward
0 new messages