Re: Fixes for missing schema qualifications

From: Noah Misch <noah(at)leadboat(dot)com>
To: Michael Paquier <michael(at)paquier(dot)xyz>
Cc: Postgres hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Fixes for missing schema qualifications
Date: 2018-03-10 08:36:34
Message-ID: 20180310083634.GA1982154@rfd.leadboat.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Fri, Mar 09, 2018 at 04:55:38PM +0900, Michael Paquier wrote:
> --- a/src/backend/catalog/information_schema.sql
> +++ b/src/backend/catalog/information_schema.sql
> @@ -186,7 +186,7 @@ CREATE FUNCTION _pg_interval_type(typid oid, mod int4) RETURNS text
> AS
> $$SELECT
> CASE WHEN $1 IN (1186) /* interval */
> - THEN upper(substring(format_type($1, $2) from 'interval[()0-9]* #"%#"' for '#'))
> + THEN pg_catalog.upper(substring(pg_catalog.format_type($1, $2) from 'interval[()0-9]* #"%#"' for '#'))
> ELSE null
> END$$;
>
> diff --git a/src/bin/psql/command.c b/src/bin/psql/command.c
> index 3560318749..f345572c8c 100644
> --- a/src/bin/psql/command.c
> +++ b/src/bin/psql/command.c
> @@ -4483,7 +4483,7 @@ get_create_object_cmd(EditableObjectType obj_type, Oid oid,
> printfPQExpBuffer(query,
> "SELECT nspname, relname, relkind, "
> "pg_catalog.pg_get_viewdef(c.oid, true), "
> - "array_remove(array_remove(c.reloptions,'check_option=local'),'check_option=cascaded') AS reloptions, "
> + "pg_catalog.array_remove(pg_catalog.array_remove(c.reloptions,'check_option=local'),'check_option=cascaded') AS reloptions, "
> "CASE WHEN 'check_option=local' = ANY (c.reloptions) THEN 'LOCAL'::text "
> "WHEN 'check_option=cascaded' = ANY (c.reloptions) THEN 'CASCADED'::text ELSE NULL END AS checkoption "
> "FROM pg_catalog.pg_class c "
> diff --git a/src/test/isolation/isolationtester.c b/src/test/isolation/isolationtester.c
> index 4ecad038bd..64d666f5cd 100644
> --- a/src/test/isolation/isolationtester.c
> +++ b/src/test/isolation/isolationtester.c
> @@ -184,7 +184,7 @@ main(int argc, char **argv)
> PQclear(res);
>
> /* Get the backend pid for lock wait checking. */
> - res = PQexec(conns[i], "SELECT pg_backend_pid()");
> + res = PQexec(conns[i], "SELECT pg_catalog.pg_backend_pid()");
> if (PQresultStatus(res) == PGRES_TUPLES_OK)
> {
> if (PQntuples(res) == 1 && PQnfields(res) == 1)
> diff --git a/src/test/modules/worker_spi/worker_spi.c b/src/test/modules/worker_spi/worker_spi.c
> index 3b98b1682b..547bdb26c4 100644
> --- a/src/test/modules/worker_spi/worker_spi.c
> +++ b/src/test/modules/worker_spi/worker_spi.c
> @@ -115,7 +115,9 @@ initialize_worker_spi(worktable *table)
>
> /* XXX could we use CREATE SCHEMA IF NOT EXISTS? */
> initStringInfo(&buf);
> - appendStringInfo(&buf, "select count(*) from pg_namespace where nspname = '%s'",
> + appendStringInfo(&buf,
> + "select pg_catalog.count(*) "
> + "from pg_catalog.pg_namespace where nspname = '%s'",

This qualifies some functions, but it leaves plenty of unqualified operators.

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Sergei Kornilov 2018-03-10 09:35:21 Re: using index or check in ALTER TABLE SET NOT NULL
Previous Message Michael Paquier 2018-03-10 08:14:32 Re: Fixes for missing schema qualifications