Opened 14 years ago

Closed 12 years ago

Last modified 12 years ago

#11706 closed (fixed)

Use of RETURNING should be optional

Reported by: Matt Boersma Owned by: nobody
Component: Database layer (models, ORM) Version: 1.1
Severity: Keywords: Oracle oracle RETURNING
Cc: Ian 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.

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 (7)

comment:1 Changed 14 years ago by Alex Gaynor

Triage Stage: UnreviewedAccepted

comment:2 Changed 14 years ago by Malcolm Tredinnick

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 Changed 14 years ago by Matt Boersma

Description: modified (diff)
Summary: Use of RETURNING means Oracle 9i is no longer supportedUse of RETURNING should be optional

comment:4 Changed 14 years ago by Matt Boersma

Description: modified (diff)

comment:5 Changed 13 years ago by Russell Keith-Magee

milestone: 1.21.3

Not critical for 1.2

comment:6 Changed 12 years ago by Ian Kelly

Resolution: fixed
Status: newclosed

(In [14765]) Fixed #11706: Added an Oracle connection option to disable the use of RETURNING INTO in INSERT statements.

comment:7 Changed 12 years ago by Jacob

milestone: 1.3

Milestone 1.3 deleted

Note: See TracTickets for help on using tickets.
Back to Top