diff options
| author | Dean Rasheed | 2020-12-08 20:10:11 +0000 |
|---|---|---|
| committer | Dean Rasheed | 2020-12-08 20:10:11 +0000 |
| commit | 4f5760d4afa9423fe4d38e4cbec48bf5e793e7e5 (patch) | |
| tree | e2f545d18e44849f81d593c181c08c9bcb77126d /src/test | |
| parent | 88b0898fe35a5a0325fca21bd4f3ed6dffb364c1 (diff) | |
Improve estimation of ANDs under ORs using extended statistics.
Formerly, extended statistics only handled clauses that were
RestrictInfos. However, the restrictinfo machinery doesn't create
sub-AND RestrictInfos for AND clauses underneath OR clauses.
Therefore teach extended statistics to handle bare AND clauses,
looking for compatible RestrictInfo clauses underneath them.
Dean Rasheed, reviewed by Tomas Vondra.
Discussion: https://postgr.es/m/CAEZATCW=J65GUFm50RcPv-iASnS2mTXQbr=CfBvWRVhFLJ_fWA@mail.gmail.com
Diffstat (limited to 'src/test')
| -rw-r--r-- | src/test/regress/expected/stats_ext.out | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/test/regress/expected/stats_ext.out b/src/test/regress/expected/stats_ext.out index 6e1c4f3edd1..7bfeaf85f0e 100644 --- a/src/test/regress/expected/stats_ext.out +++ b/src/test/regress/expected/stats_ext.out @@ -1594,13 +1594,13 @@ SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_partial WHERE a = 0 SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_partial WHERE (a = 0 AND b = 0 AND c = 0) OR (a = 1 AND b = 1 AND c = 1) OR (a = 2 AND b = 2 AND c = 2)'); estimated | actual -----------+-------- - 300 | 306 + 306 | 306 (1 row) SELECT * FROM check_estimated_rows('SELECT * FROM mcv_lists_partial WHERE (a = 0 AND b = 0) OR (a = 0 AND c = 0) OR (b = 0 AND c = 0)'); estimated | actual -----------+-------- - 306 | 102 + 108 | 102 (1 row) DROP TABLE mcv_lists_partial; |
