Opened 15 years ago

Last modified 13 years ago

#11706 closed

Use of RETURNING should be optional — at Version 3

Reported by: Matt Boersma Owned by: nobody
Component: Database layer (models, ORM) Version: 1.1
Severity: Keywords: Oracle oracle RETURNING
Cc: Erin Kelly Triage Stage: Accepted
Has patch: no Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: no UI/UX: no

Description (last modified by Matt Boersma)

See closed ticket #10473. The "RETURNING...INTO" SQL construct is supported in Oracle versions 9i and later, but with some significant restrictions:

Oracle Error :: ORA-22816

unsupported feature with RETURNING clause
Cause

RETURNING clause is currently not supported for object type columns, LONG columns, remote tables, INSERT with subquery, and INSTEAD OF Triggers.
Action

Use separate select statement to get the values."

 at least in version 9isupported only in Oracle 10g and later, so effectively Django 1.1 will no longer work on Oracle 9i because INSERT statements will fail with "ORA-22816: unsupported feature with RETURNING clause.

The use of RETURNING INTO isn't mandatory, so perhaps we could refactor it so a settings.py option turns it off. Our use case is an in-house application that has several INSTEAD OF triggers.

Change History (3)

comment:1 by Alex Gaynor, 15 years ago

Triage Stage: UnreviewedAccepted

comment:2 by Malcolm Tredinnick, 15 years ago

Agree that it would be nice to keep supporting 9i. Given that we already do some version-specific mods for Oracle (regex_lookup_*), it'd be nice to do the same thing for "RETURNING INTO".

comment:3 by Matt Boersma, 15 years ago

Description: modified (diff)
Summary: Use of RETURNING means Oracle 9i is no longer supportedUse of RETURNING should be optional
Note: See TracTickets for help on using tickets.
Back to Top