File: functional_limitations.md

package info (click to toggle)
pg-hint-plan-18 1.8.0-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 2,848 kB
  • sloc: ansic: 4,667; sql: 4,649; lex: 1,160; perl: 289; makefile: 85; python: 10; sh: 2
file content (30 lines) | stat: -rw-r--r-- 987 bytes parent folder | download | duplicates (2)
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.