Manager.raw() allow for WITH ( ... ) SELECT
|Reported by:||carbonXT||Owned by:||nobody|
|Component:||Database layer (models, ORM)||Version:||master|
|Has patch:||yes||Needs documentation:||yes|
|Needs tests:||yes||Patch needs improvement:||yes|
The RawQuery object used by Manager.raw() validates input SQL to ensure that only SELECT queries can be ran through it. This is done such that SELECT queries with using a WITH (...) clause fail validation.
I propose changing the validation of the SQL such that SELECTs with these WITH clauses are ok.
The attached patch does that. It also does not weaken the validation as preceding WITH clauses can only be used with SELECT statements. Re:
- Postgres: http://www.postgresql.org/docs/9.0/static/sql-select.html
- Oracle: http://www.oracle-base.com/articles/misc/WithClause.php
- Other backends don't support the WITH clause.
Change History (4)
Changed 3 years ago by carbonXT
comment:1 Changed 3 years ago by russellm
- Needs documentation set
- Needs tests set
- Patch needs improvement set
- Triage Stage changed from Unreviewed to Accepted
comment:2 Changed 3 years ago by ramiro
- Resolution set to duplicate
- Status changed from new to closed