psql: fix order of join clauses when listing extensions
authorMagnus Hagander <[email protected]>
Thu, 5 Jun 2025 07:54:16 +0000 (09:54 +0200)
committerMagnus Hagander <[email protected]>
Thu, 5 Jun 2025 07:54:16 +0000 (09:54 +0200)
Commit d696406a9b2 added a new join to the query for extensions, but did
so in the wrong place, causing the AND clause to be applied to the wrong
join.

Author: Suraj Kharage <[email protected]>
Reviewed-By: Dilip Kumar <[email protected]>
Discussion: https://postgr.es/m/CAF1DzPVBrN-cmPB2zb7ZU=2J4vEF2fNdArGCG9w+9fnKq4v8tg@mail.gmail.com

src/bin/psql/describe.c

index 1d08268393e3c86ea1c2caf26b39ac71d5295be2..24e0100c9f0a8bd89b2228875d075f866b101ea4 100644 (file)
@@ -6188,8 +6188,8 @@ listExtensions(const char *pattern)
                      "FROM pg_catalog.pg_extension e "
                      "LEFT JOIN pg_catalog.pg_namespace n ON n.oid = e.extnamespace "
                      "LEFT JOIN pg_catalog.pg_description d ON d.objoid = e.oid "
-                     "LEFT JOIN pg_catalog.pg_available_extensions() ae(name, default_version, comment) ON ae.name = e.extname "
-                     "AND d.classoid = 'pg_catalog.pg_extension'::pg_catalog.regclass\n",
+                     "AND d.classoid = 'pg_catalog.pg_extension'::pg_catalog.regclass "
+                     "LEFT JOIN pg_catalog.pg_available_extensions() ae(name, default_version, comment) ON ae.name = e.extname\n",
                      gettext_noop("Name"),
                      gettext_noop("Version"),
                      gettext_noop("Default version"),