--
-- PostgreSQL database dump
--

-- Dumped from database version 15.8 (Debian 15.8-1.pgdg120+1)
-- Dumped by pg_dump version 15.8 (Debian 15.8-1.pgdg120+1)

SET statement_timeout = 0;
SET lock_timeout = 0;
SET idle_in_transaction_session_timeout = 0;
SET client_encoding = 'UTF8';
SET standard_conforming_strings = on;
SELECT pg_catalog.set_config('search_path', '', false);
SET check_function_bodies = false;
SET xmloption = content;
SET client_min_messages = warning;
SET row_security = off;

--
-- Name: s1; Type: SCHEMA; Schema: -; Owner: postgres
--

CREATE SCHEMA s1;


ALTER SCHEMA s1 OWNER TO postgres;

--
-- Name: s2; Type: SCHEMA; Schema: -; Owner: postgres
--

CREATE SCHEMA s2;


ALTER SCHEMA s2 OWNER TO postgres;

--
-- Name: f2(text); Type: FUNCTION; Schema: s2; Owner: postgres
--

CREATE FUNCTION s2.f2(c1 text) RETURNS text
    LANGUAGE sql IMMUTABLE
    AS $$
SELECT s2.f1(c1);
$$;


ALTER FUNCTION s2.f2(c1 text) OWNER TO postgres;

SET default_tablespace = '';

SET default_table_access_method = heap;

--
-- Name: t1; Type: TABLE; Schema: s1; Owner: postgres
--

CREATE TABLE s1.t1 (
    c1 text,
    c2 text GENERATED ALWAYS AS (s2.f2(c1)) STORED
);


ALTER TABLE s1.t1 OWNER TO postgres;

--
-- Name: f3(); Type: FUNCTION; Schema: s1; Owner: postgres
--

CREATE FUNCTION s1.f3() RETURNS SETOF s1.t1
    LANGUAGE sql
    AS $$
select * from s1.t1
$$;


ALTER FUNCTION s1.f3() OWNER TO postgres;

--
-- Name: f1(text); Type: FUNCTION; Schema: s2; Owner: postgres
--

CREATE FUNCTION s2.f1(c1 text) RETURNS text
    LANGUAGE sql IMMUTABLE
    AS $$
SELECT c1
$$;


ALTER FUNCTION s2.f1(c1 text) OWNER TO postgres;

--
-- PostgreSQL database dump complete
--
