This commit addresses some defects with the handling of expressions in pg_restore_extended_stats() and pg_clear_extended_stats(): - Misleading WARNING for an incorrect number of expressions, where the number of required expressions was reported as the number of elements given in input rather than the actual number of expressions expected by the extstats object definition. - Incorrect matching of expression names, where a key name was considered as valid as long as it matched with the prefix of a legit key name. For example "correlatio" given in input would match with "correlation", and be considered valid. The consequence of this bug was a silent discard of the input data, where the operation would be considered a success. The value associated to the prefixed key was not inserted in the catalogs, just ignored. pg_dump would not generate such input data patterns, but a user doing manual stats injection could. - Missing heap_freetuple() in pg_clear_extended_stats(), for the case where the extstats object in input does not match with its parent relation. Author: Chao Li <li.evan.chao@gmail.com> Discussion: https://postgr.es/m/A7C11B83-7534-4A09-9071-FBD09175CFC8@gmail.com |
||
|---|---|---|
| .github | ||
| config | ||
| contrib | ||
| doc | ||
| src | ||
| .cirrus.star | ||
| .cirrus.tasks.yml | ||
| .cirrus.yml | ||
| .dir-locals.el | ||
| .editorconfig | ||
| .git-blame-ignore-revs | ||
| .gitattributes | ||
| .gitignore | ||
| .mailmap | ||
| aclocal.m4 | ||
| configure | ||
| configure.ac | ||
| COPYRIGHT | ||
| GNUmakefile.in | ||
| HISTORY | ||
| Makefile | ||
| meson.build | ||
| meson_options.txt | ||
| README.md | ||
PostgreSQL Database Management System
This directory contains the source code distribution of the PostgreSQL database management system.
PostgreSQL is an advanced object-relational database management system that supports an extended subset of the SQL standard, including transactions, foreign keys, subqueries, triggers, user-defined types and functions. This distribution also contains C language bindings.
Copyright and license information can be found in the file COPYRIGHT.
General documentation about this version of PostgreSQL can be found at https://www.postgresql.org/docs/devel/. In particular, information about building PostgreSQL from the source code can be found at https://www.postgresql.org/docs/devel/installation.html.
The latest version of this software, and related software, may be obtained at https://www.postgresql.org/download/. For more information look at our web site located at https://www.postgresql.org/.