Commit 63c1a871 authored by Kevin Grittner's avatar Kevin Grittner

Fix recent commit for tab-completion of database template.

The details of commit 52803098 were
based on a misunderstanding of the role inheritance allowing use
of a database for a template.  While the CREATEDB privilege is not
inherited, the database ownership is privileges are.

Pointed out by Vitaly Burovoy and Tom Lane.
Fix provided by Tom Lane, reviewed by Vitaly Burovoy.
parent 4068eb99
......@@ -601,9 +601,8 @@ static const SchemaQuery Query_for_list_of_matviews = {
#define Query_for_list_of_template_databases \
"SELECT pg_catalog.quote_ident(d.datname) "\
" FROM pg_catalog.pg_database d "\
" JOIN pg_catalog.pg_roles r ON r.rolname = CURRENT_USER "\
" WHERE substring(pg_catalog.quote_ident(d.datname),1,%d)='%s' "\
" AND (d.datistemplate OR r.rolsuper OR d.datdba = r.oid)"
" AND (d.datistemplate OR pg_catalog.pg_has_role(d.datdba, 'USAGE'))"
#define Query_for_list_of_databases \
"SELECT pg_catalog.quote_ident(datname) FROM pg_catalog.pg_database "\
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment