BUG #17715: dumps file raise an error on restore if a materialized view use a function calling another function

From: PG Bug reporting form <noreply(at)postgresql(dot)org>
To: pgsql-bugs(at)lists(dot)postgresql(dot)org
Cc: benoitfontaine(dot)ba(at)gmail(dot)com
Subject: BUG #17715: dumps file raise an error on restore if a materialized view use a function calling another function
Date: 2022-12-12 15:42:46
Message-ID: 17715-5b3b05201e49c6a0@postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

The following bug has been logged on the website:

Bug reference: 17715
Logged by: Benoît Fontaine
Email address: benoitfontaine(dot)ba(at)gmail(dot)com
PostgreSQL version: 14.5
Operating system: debian
Description:

## Steps to reproduce :
1- Execute this code on an empty database :
```sql
CREATE FUNCTION square (p integer) RETURNS integer AS $$
BEGIN
RETURN p * p;
END;
$$ LANGUAGE plpgsql;

CREATE FUNCTION myfunc (p integer) RETURNS integer AS $$
BEGIN
RETURN square(p) + 1;
END;
$$ LANGUAGE plpgsql;

CREATE TABLE dewey (num integer);

INSERT INTO dewey VALUES (10);

CREATE MATERIALIZED VIEW myview AS (SELECT myfunc (num) FROM dewey);
```
2- Dump this database
3- Restore the dump into another empty database

## Issue
```
psql:res.sql:89: ERROR: function square(integer) does not exist
LINE 1: square (p) + 1
^
HINT: No function matches the given name and argument types. You might need
to add explicit type casts.
QUERY: square (p) + 1
CONTEXT: PL/pgSQL function public.myfunc(integer) line 3 at RETURN
```

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message David G. Johnston 2022-12-12 16:38:26 Re: BUG #17715: dumps file raise an error on restore if a materialized view use a function calling another function
Previous Message Jean-Francois Levesque 2022-12-12 14:37:10 Re: BUG #17710: Slow queries (100% CPU) after auto-vacuum