1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
|
(functional-limitations)=
# Functional limitations
## Influence of planner GUC parameters
The planner does not try to consider joining order for FROM clause entries
more than `from_collapse_limit`. `pg_hint_plan` cannot affect the joining
order in this case.
## Hints trying to enforce non-executable plans
Planner chooses any executable plans when the enforced plan cannot be
executed:
- `FULL OUTER JOIN` to use nested loop.
- Use of indexes that do not have columns used in quals.
- TID scans for queries without ctid conditions.
## Queries in ECPG
ECPG removes comments in queries written as embedded SQLs so hints cannot
be passed to it. The only exception `EXECUTE`, that passes the query string
to the server as-is. The hint table can be used in the case.
## Query Identifiers
When `compute_query_id` is enabled, PostgreSQL generates a query ID,
ignoring comments. Hence, queries with different hints, still written
the same way, may compute the same query ID.
|