Manager.raw() allow for WITH ( ... ) SELECT
|Reported by:||Mike Fogel||Owned by:||nobody|
|Component:||Database layer (models, ORM)||Version:||master|
|Cc:||Mike Fogel||Triage Stage:||Accepted|
|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)
comment:1 Changed 6 years ago by
|Patch needs improvement:||set|
|Triage Stage:||Unreviewed → Accepted|