Thread: pgsql: Add table to regression tests for binary-compatibility checks in
Add table to regression tests for binary-compatibility checks in pg_upgrade This commit adds to the main regression test suite a table with all the in-core data types (some exceptions apply). This table is not dropped, so as pg_upgrade would be able to check the binary compatibility of the types tracked in the table. If a new type is added in core, this part of the tests would need a refresh but the tests are designed to fail if that were to happen. As this is useful for upgrades and that these rely on the objects created in the regression test suite of the old version upgraded from, a backpatch down to 12 is done, which is the last point where a binary incompatible change has been done (7c15cef). This will hopefully be enough to find out if something gets broken during the development of a new version of Postgres, so as it is possible to take actions in pg_upgrade itself in this case (like 0ccfc28 for sql_identifier). An area that is not covered yet is related to external modules, which may create their own types. The testing infrastructure of pg_upgrade is not integrated yet with the external modules stored in core (src/test/modules/ or contrib/, all use the same database name for their tests so there would be an overlap). This could be improved in the future. Author: Justin Pryzby Reviewed-by: Jacob Champion, Peter Eisentraut, Tom Lane, Michael Paquier Discussion: https://postgr.es/m/20201206180248.GI24052@telsasoft.com Backpatch-through: 12 Branch ------ master Details ------- https://git.postgresql.org/pg/commitdiff/835bcba8b8d72a00cecc5431b67e70bbea93f947 Modified Files -------------- src/test/regress/expected/sanity_check.out | 1 + src/test/regress/expected/type_sanity.out | 102 +++++++++++++++++++++++++++++ src/test/regress/sql/type_sanity.sql | 100 ++++++++++++++++++++++++++++ 3 files changed, 203 insertions(+)
Re: pgsql: Add table to regression tests for binary-compatibility checks in
From
Michael Paquier
Date:
On Thu, Nov 18, 2021 at 01:38:30AM +0000, Michael Paquier wrote: > Add table to regression tests for binary-compatibility checks in pg_upgrade > > This commit adds to the main regression test suite a table with all > the in-core data types (some exceptions apply). This table is not > dropped, so as pg_upgrade would be able to check the binary > compatibility of the types tracked in the table. If a new type is added > in core, this part of the tests would need a refresh but the tests are > designed to fail if that were to happen. prion has been failing in a fancy way: arraymultirange(arrayrange(ARRAY[1,2], ARRAY[2,1])); +ERROR: unrecognized key word: "ec2" +HINT: ACL key word must be "group" or "user". That's an environment-related issue, as the user name of this animal uses an hyphen "ec2-user", and this is bumping on the generation of the aclitem. This is missing some quote_ident()'s, visibly. -- Michael