3 | | Oracle 9i is quite old and no longer actively sold or available for download from www.oracle.com (11gR1 is current). However, if you know Oracle shops, they aren't often aggressive about upgrading--where Ian and I happen to work is one example of this. So I see three solutions: |
4 | | 1) Fall back to the old, compatible code that didn't use RETURNING |
5 | | 2) Make the use of RETURNING optional, conditional on server version |
6 | | 3) Correct the docs to say that Oracle 10g and later are supported in Django 1.1 |
| 3 | {{{ |
| 4 | Oracle Error :: ORA-22816 |
| 5 | |
| 6 | unsupported feature with RETURNING clause |
| 7 | Cause |
| 8 | |
| 9 | RETURNING clause is currently not supported for object type columns, LONG columns, remote tables, INSERT with subquery, and INSTEAD OF Triggers. |
| 10 | Action |
| 11 | |
| 12 | Use separate select statement to get the values." |
| 13 | |
| 14 | 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. |
| 15 | }}} |
| 16 | |
| 17 | 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. |