Skip to content

Commit

Permalink
Fixes function after merge
Browse files Browse the repository at this point in the history
  • Loading branch information
gurkanindibay committed Nov 16, 2023
1 parent a6e1625 commit ef2a47e
Showing 1 changed file with 23 additions and 7 deletions.
30 changes: 23 additions & 7 deletions src/test/regress/sql/multi_test_helpers.sql
Original file line number Diff line number Diff line change
Expand Up @@ -590,7 +590,22 @@ $func$ LANGUAGE plpgsql;
CREATE OR REPLACE FUNCTION check_database_on_all_nodes(p_database_name text)
RETURNS TABLE (node_type text, result text)
AS $func$
DECLARE
pg_ge_15_options text := '';
pg_ge_16_options text := '';
BEGIN
IF EXISTS (SELECT 1 FROM pg_attribute WHERE attrelid = 'pg_database'::regclass AND attname = 'datlocprovider') THEN
pg_ge_15_options := ', daticulocale, datcollversion, datlocprovider';
ELSE
pg_ge_15_options := $$, null as daticulocale, null as datcollversion, 'c' as datlocprovider$$;
END IF;

IF EXISTS (SELECT 1 FROM pg_attribute WHERE attrelid = 'pg_database'::regclass AND attname = 'daticurules') THEN
pg_ge_16_options := ', daticurules';
ELSE
pg_ge_16_options := ', null as daticurules';
END IF;

RETURN QUERY
SELECT
CASE WHEN (groupid = 0 AND groupid = (SELECT groupid FROM pg_dist_local_group)) THEN 'coordinator (local)'
Expand All @@ -609,19 +624,20 @@ BEGIN
SELECT to_jsonb(database_properties.*)
FROM (
SELECT datname, pa.rolname as database_owner,
pg_encoding_to_char(pd.encoding) as encoding, datlocprovider,
datistemplate, datallowconn, datconnlimit,
pt.spcname AS tablespace, datcollate, datctype, daticulocale,
datcollversion, datacl
pg_encoding_to_char(pd.encoding) as encoding,
datistemplate, datallowconn, datconnlimit, datacl,
pt.spcname AS tablespace, datcollate, datctype
%2$s -- >= pg15 options
%3$s -- >= pg16 options
FROM pg_database pd
JOIN pg_authid pa ON pd.datdba = pa.oid
JOIN pg_tablespace pt ON pd.dattablespace = pt.oid
WHERE datname = '%s'
WHERE datname = '%1$s'
) database_properties
) AS database_properties,
(
SELECT COUNT(*)=1
FROM pg_dist_object WHERE objid = (SELECT oid FROM pg_database WHERE datname = '%s')
FROM pg_dist_object WHERE objid = (SELECT oid FROM pg_database WHERE datname = '%1$s')
) AS pg_dist_object_record_for_db_exists,
(
SELECT COUNT(*) > 0
Expand All @@ -630,7 +646,7 @@ BEGIN
) AS stale_pg_dist_object_record_for_a_db_exists
) q
$$,
p_database_name, p_database_name
p_database_name, pg_ge_15_options, pg_ge_16_options
)
) q2
JOIN pg_dist_node USING (nodeid);
Expand Down

0 comments on commit ef2a47e

Please sign in to comment.