git.postgresql.org Git - postgresql.git/commit

git projects / postgresql.git / commit
? search:
summary | shortlog | log | commit | commitdiff | tree
(parent: 333ed24) | patch
Add support for multivariate MCV lists
2019年3月27日 17:32:18 +0000 (18:32 +0100)
2019年3月27日 17:32:18 +0000 (18:32 +0100)
commit 7300a699502fe5432b05fbc75baca534b080bebb
Add support for multivariate MCV lists

Introduce a third extended statistic type, supported by the CREATE
STATISTICS command - MCV lists, a generalization of the statistic
already built and used for individual columns.

Compared to the already supported types (n-distinct coefficients and
functional dependencies), MCV lists are more complex, include column
values and allow estimation of much wider range of common clauses
(equality and inequality conditions, IS NULL, IS NOT NULL etc.).
Similarly to the other types, a new pseudo-type (pg_mcv_list) is used.

Author: Tomas Vondra
Reviewed-by: Dean Rasheed, David Rowley, Mark Dilger, Alvaro Herrera
Discussion: https://postgr.es/m/dfdac334-9cf2-2597-fb27-f0fb3753f435@2ndquadrant.com
32 files changed:
doc/src/sgml/catalogs.sgml diff | blob | blame | history
doc/src/sgml/func.sgml diff | blob | blame | history
doc/src/sgml/perform.sgml diff | blob | blame | history
doc/src/sgml/planstats.sgml diff | blob | blame | history
doc/src/sgml/ref/create_statistics.sgml diff | blob | blame | history
src/backend/commands/statscmds.c diff | blob | blame | history
src/backend/nodes/bitmapset.c diff | blob | blame | history
src/backend/optimizer/path/clausesel.c diff | blob | blame | history
src/backend/optimizer/util/plancat.c diff | blob | blame | history
src/backend/parser/parse_utilcmd.c diff | blob | blame | history
src/backend/statistics/Makefile diff | blob | blame | history
src/backend/statistics/README diff | blob | blame | history
src/backend/statistics/README.mcv [new file with mode: 0644] blob
src/backend/statistics/dependencies.c diff | blob | blame | history
src/backend/statistics/extended_stats.c diff | blob | blame | history
src/backend/statistics/mcv.c [new file with mode: 0644] blob
src/backend/utils/adt/ruleutils.c diff | blob | blame | history
src/bin/psql/describe.c diff | blob | blame | history
src/bin/psql/tab-complete.c diff | blob | blame | history
src/include/catalog/pg_cast.dat diff | blob | blame | history
src/include/catalog/pg_proc.dat diff | blob | blame | history
src/include/catalog/pg_statistic_ext.h diff | blob | blame | history
src/include/catalog/pg_type.dat diff | blob | blame | history
src/include/nodes/bitmapset.h diff | blob | blame | history
src/include/optimizer/optimizer.h diff | blob | blame | history
src/include/statistics/extended_stats_internal.h diff | blob | blame | history
src/include/statistics/statistics.h diff | blob | blame | history
src/test/regress/expected/create_table_like.out diff | blob | blame | history
src/test/regress/expected/opr_sanity.out diff | blob | blame | history
src/test/regress/expected/stats_ext.out diff | blob | blame | history
src/test/regress/expected/type_sanity.out diff | blob | blame | history
src/test/regress/sql/stats_ext.sql diff | blob | blame | history
This is the main PostgreSQL git repository.
RSS Atom

AltStyle によって変換されたページ (->オリジナル) /