mirror of
https://github.com/pgadmin-org/pgadmin4.git
synced 2025-02-25 18:55:31 -06:00
Use schema qualification while accessing the catalog objects.
refs #3976
This commit is contained in:
committed by
Akshay Joshi
parent
d6ee715d83
commit
9d8360641f
@@ -4,7 +4,7 @@ SELECT
|
||||
nspname,
|
||||
proargtypes
|
||||
FROM
|
||||
pg_catalog.pg_proc p JOIN pg_namespace n ON n.oid=p.pronamespace
|
||||
pg_catalog.pg_proc p JOIN pg_catalog.pg_namespace n ON n.oid=p.pronamespace
|
||||
WHERE
|
||||
proargtypes[0] = (SELECT t.oid FROM pg_catalog.pg_type t WHERE pg_catalog.format_type(t.oid, NULL) = {{srctyp|qtLiteral}})
|
||||
AND prorettype = (SELECT t.oid FROM pg_catalog.pg_type t WHERE pg_catalog.format_type(t.oid, NULL) = {{trgtyp|qtLiteral}})
|
||||
|
@@ -3,8 +3,8 @@
|
||||
SELECT
|
||||
ca.oid
|
||||
FROM pg_catalog.pg_cast ca
|
||||
WHERE ca.castsource = (SELECT t.oid FROM pg_type t WHERE format_type(t.oid, NULL) = {{srctyp|qtLiteral}})
|
||||
AND ca.casttarget = (SELECT t.oid FROM pg_type t WHERE format_type(t.oid, NULL) = {{trgtyp|qtLiteral}})
|
||||
WHERE ca.castsource = (SELECT t.oid FROM pg_catalog.pg_type t WHERE pg_catalog.format_type(t.oid, NULL) = {{srctyp|qtLiteral}})
|
||||
AND ca.casttarget = (SELECT t.oid FROM pg_catalog.pg_type t WHERE pg_catalog.format_type(t.oid, NULL) = {{trgtyp|qtLiteral}})
|
||||
{% if datlastsysoid %}
|
||||
AND ca.oid > {{datlastsysoid}}::OID
|
||||
{% endif %}
|
||||
|
@@ -167,11 +167,12 @@ def create_cast(server, source_type, target_type):
|
||||
|
||||
# Get 'oid' from newly created cast
|
||||
pg_cursor.execute(
|
||||
"SELECT ca.oid FROM pg_cast ca WHERE ca.castsource = "
|
||||
"(SELECT t.oid FROM pg_type t "
|
||||
"SELECT ca.oid FROM pg_catalog.pg_cast ca WHERE ca.castsource = "
|
||||
"(SELECT t.oid FROM pg_catalog.pg_type t "
|
||||
"WHERE format_type(t.oid, NULL)='%s') "
|
||||
"AND ca.casttarget = (SELECT t.oid FROM pg_type t WHERE "
|
||||
"format_type(t.oid, NULL) = '%s')" % (source_type, target_type))
|
||||
"AND ca.casttarget = (SELECT t.oid FROM pg_catalog.pg_type t "
|
||||
"WHERE pg_catalog.format_type(t.oid, NULL) = '%s')" %
|
||||
(source_type, target_type))
|
||||
oid = pg_cursor.fetchone()
|
||||
cast_id = ''
|
||||
if oid:
|
||||
@@ -187,11 +188,12 @@ def verify_cast(connection, source_type, target_type):
|
||||
try:
|
||||
pg_cursor = connection.cursor()
|
||||
pg_cursor.execute(
|
||||
"SELECT * FROM pg_cast ca WHERE ca.castsource = "
|
||||
"(SELECT t.oid FROM pg_type t "
|
||||
"SELECT * FROM pg_catalog.pg_cast ca WHERE ca.castsource = "
|
||||
"(SELECT t.oid FROM pg_catalog.pg_type t "
|
||||
"WHERE format_type(t.oid, NULL)='%s') "
|
||||
"AND ca.casttarget = (SELECT t.oid FROM pg_type t WHERE "
|
||||
"format_type(t.oid, NULL) = '%s')" % (source_type, target_type))
|
||||
"AND ca.casttarget = (SELECT t.oid FROM pg_catalog.pg_type t "
|
||||
"WHERE pg_catalog.format_type(t.oid, NULL) = '%s')" %
|
||||
(source_type, target_type))
|
||||
casts = pg_cursor.fetchall()
|
||||
connection.close()
|
||||
if len(casts) > 0:
|
||||
@@ -208,11 +210,12 @@ def drop_cast(connection, source_type, target_type):
|
||||
try:
|
||||
pg_cursor = connection.cursor()
|
||||
pg_cursor.execute(
|
||||
"SELECT * FROM pg_cast ca WHERE ca.castsource = "
|
||||
"(SELECT t.oid FROM pg_type t "
|
||||
"SELECT * FROM pg_catalog.pg_cast ca WHERE ca.castsource = "
|
||||
"(SELECT t.oid FROM pg_catalog.pg_type t "
|
||||
"WHERE format_type(t.oid, NULL)='%s') "
|
||||
"AND ca.casttarget = (SELECT t.oid FROM pg_type t WHERE "
|
||||
"format_type(t.oid, NULL) = '%s')" % (source_type, target_type))
|
||||
"AND ca.casttarget = (SELECT t.oid FROM pg_catalog.pg_type t "
|
||||
"WHERE pg_catalog.format_type(t.oid, NULL) = '%s')" %
|
||||
(source_type, target_type))
|
||||
if pg_cursor.fetchall():
|
||||
pg_cursor.execute(
|
||||
"DROP CAST (%s AS %s) CASCADE" % (source_type, target_type))
|
||||
|
@@ -55,7 +55,7 @@ def create_event_trigger(server, db_name, schema_name, func_name,
|
||||
connection.commit()
|
||||
# Get 'oid' from newly created event trigger
|
||||
pg_cursor.execute(
|
||||
"SELECT oid FROM pg_event_trigger WHERE evtname = '%s'"
|
||||
"SELECT oid FROM pg_catalog.pg_event_trigger WHERE evtname = '%s'"
|
||||
% trigger_name)
|
||||
oid = pg_cursor.fetchone()
|
||||
trigger_id = ''
|
||||
@@ -88,7 +88,7 @@ def verify_event_trigger(server, db_name, trigger_name):
|
||||
server['sslmode'])
|
||||
pg_cursor = connection.cursor()
|
||||
pg_cursor.execute(
|
||||
"SELECT oid FROM pg_event_trigger WHERE evtname = '%s'"
|
||||
"SELECT oid FROM pg_catalog.pg_event_trigger WHERE evtname = '%s'"
|
||||
% trigger_name)
|
||||
event_trigger = pg_cursor.fetchone()
|
||||
connection.close()
|
||||
@@ -116,7 +116,7 @@ def verify_event_trigger_node(self):
|
||||
"evtevent, "
|
||||
"(select rolname from pg_authid where oid "
|
||||
"= pl.evtowner) as evtowner,"
|
||||
" evtname from pg_event_trigger pl "
|
||||
" evtname from pg_catalog.pg_event_trigger pl "
|
||||
"WHERE evtname = '%s'" % self.test_data['name'])
|
||||
|
||||
event_trigger = pg_cursor.fetchone()
|
||||
|
@@ -53,9 +53,8 @@ def create_extension(server, db_name, extension_name, schema_name):
|
||||
connection.set_isolation_level(old_isolation_level)
|
||||
connection.commit()
|
||||
# Get 'oid' from newly created extension
|
||||
pg_cursor.execute(
|
||||
"SELECT oid FROM pg_extension WHERE extname = '%s'" %
|
||||
extension_name)
|
||||
pg_cursor.execute("SELECT oid FROM pg_catalog.pg_extension "
|
||||
"WHERE extname = '%s'" % extension_name)
|
||||
oid = pg_cursor.fetchone()
|
||||
extension_id = ''
|
||||
if oid:
|
||||
@@ -87,8 +86,8 @@ def verify_extension(server, db_name, extension_name):
|
||||
server['sslmode'])
|
||||
pg_cursor = connection.cursor()
|
||||
|
||||
pg_cursor.execute(
|
||||
"select * from pg_extension where extname='%s'" % extension_name)
|
||||
pg_cursor.execute("select * from pg_catalog.pg_extension "
|
||||
"where extname='%s'" % extension_name)
|
||||
extension = pg_cursor.fetchone()
|
||||
connection.close()
|
||||
return extension
|
||||
@@ -116,7 +115,7 @@ def drop_extension(server, db_name, extension_name):
|
||||
server['sslmode'])
|
||||
pg_cursor = connection.cursor()
|
||||
pg_cursor.execute(
|
||||
"SELECT * FROM pg_extension WHERE extname='%s'"
|
||||
"SELECT * FROM pg_catalog.pg_extension WHERE extname='%s'"
|
||||
% extension_name)
|
||||
if pg_cursor.fetchall():
|
||||
pg_cursor.execute(
|
||||
|
@@ -86,7 +86,7 @@ def create_fsrv(server, db_name, fsrv_name, fdw_name):
|
||||
|
||||
# Get 'oid' from newly created foreign server
|
||||
pg_cursor.execute(
|
||||
"SELECT oid FROM pg_foreign_server WHERE srvname = '%s'"
|
||||
"SELECT oid FROM pg_catalog.pg_foreign_server WHERE srvname = '%s'"
|
||||
% fsrv_name)
|
||||
oid = pg_cursor.fetchone()
|
||||
fsrv_id = ''
|
||||
@@ -113,7 +113,7 @@ def verify_fsrv(server, db_name, fsrv_name):
|
||||
pg_cursor = connection.cursor()
|
||||
|
||||
pg_cursor.execute(
|
||||
"SELECT oid FROM pg_foreign_server WHERE srvname = '%s'"
|
||||
"SELECT oid FROM pg_catalog.pg_foreign_server WHERE srvname = '%s'"
|
||||
% fsrv_name)
|
||||
fsrvs = pg_cursor.fetchall()
|
||||
connection.close()
|
||||
|
@@ -71,8 +71,8 @@ def create_user_mapping(server, db_name, fsrv_name):
|
||||
connection.commit()
|
||||
# Get 'oid' from newly created user mapping
|
||||
pg_cursor.execute(
|
||||
"select umid from pg_user_mappings where srvname = '%s' order by"
|
||||
" umid asc limit 1" % fsrv_name)
|
||||
"select umid from pg_catalog.pg_user_mappings where "
|
||||
"srvname = '%s' order by umid asc limit 1" % fsrv_name)
|
||||
oid = pg_cursor.fetchone()
|
||||
um_id = ''
|
||||
if oid:
|
||||
@@ -104,8 +104,8 @@ def verify_user_mapping(server, db_name, fsrv_name):
|
||||
server['sslmode'])
|
||||
pg_cursor = connection.cursor()
|
||||
pg_cursor.execute(
|
||||
"select umid from pg_user_mappings where srvname = '%s' order by"
|
||||
" umid asc limit 1" % fsrv_name)
|
||||
"select umid from pg_catalog.pg_user_mappings "
|
||||
"where srvname = '%s' order by umid asc limit 1" % fsrv_name)
|
||||
user_mapping = pg_cursor.fetchone()
|
||||
connection.close()
|
||||
return user_mapping
|
||||
|
@@ -74,7 +74,8 @@ def create_fdw(server, db_name, fdw_name):
|
||||
connection.commit()
|
||||
# Get 'oid' from newly created foreign data wrapper
|
||||
pg_cursor.execute(
|
||||
"SELECT oid FROM pg_foreign_data_wrapper WHERE fdwname = '%s'"
|
||||
"SELECT oid FROM pg_catalog.pg_foreign_data_wrapper "
|
||||
"WHERE fdwname = '%s'"
|
||||
% fdw_name)
|
||||
oid = pg_cursor.fetchone()
|
||||
fdw_id = ''
|
||||
@@ -107,7 +108,8 @@ def verify_fdw(server, db_name, fdw_name):
|
||||
server['sslmode'])
|
||||
pg_cursor = connection.cursor()
|
||||
pg_cursor.execute(
|
||||
"SELECT oid FROM pg_foreign_data_wrapper WHERE fdwname = '%s'"
|
||||
"SELECT oid FROM pg_catalog.pg_foreign_data_wrapper "
|
||||
"WHERE fdwname = '%s'"
|
||||
% fdw_name)
|
||||
fdw = pg_cursor.fetchone()
|
||||
connection.close()
|
||||
|
@@ -46,8 +46,8 @@ def create_language(server, db_name, lang_name):
|
||||
pg_cursor.execute(query)
|
||||
connection.commit()
|
||||
# Get 'oid' from newly created language
|
||||
pg_cursor.execute("SELECT oid from pg_language where lanname='%s'" %
|
||||
lang_name)
|
||||
pg_cursor.execute("SELECT oid from pg_catalog.pg_language where "
|
||||
"lanname='%s'" % lang_name)
|
||||
language = pg_cursor.fetchone()
|
||||
language_id = language[0]
|
||||
connection.close()
|
||||
@@ -68,19 +68,19 @@ def verify_language(self):
|
||||
self.server['port'],
|
||||
self.server['sslmode'])
|
||||
pg_cursor = connection.cursor()
|
||||
pg_cursor.execute("SELECT * from pg_language where lanname='%s'" %
|
||||
self.data["name"])
|
||||
pg_cursor.execute("SELECT * from pg_catalog.pg_language where "
|
||||
"lanname='%s'" % self.data["name"])
|
||||
pg_cursor.execute("select pl.lanname, "
|
||||
"(select rolname from pg_authid where oid "
|
||||
"= pl.lanowner) as lanowner, "
|
||||
"pl.lanpltrusted, "
|
||||
"( select prosrc from pg_proc where "
|
||||
"( select prosrc from pg_catalog.pg_proc where "
|
||||
"oid = pl.lanplcallfoid) as lanplcallfoid, "
|
||||
"( select prosrc from pg_proc where oid = "
|
||||
"pl.laninline) as laninline, "
|
||||
"( select prosrc from pg_proc where oid = "
|
||||
"pl.lanvalidator) as lanvalidator "
|
||||
"from pg_language pl where lanname='%s'" %
|
||||
"( select prosrc from pg_catalog.pg_proc "
|
||||
"where oid = pl.laninline) as laninline, "
|
||||
"( select prosrc from pg_catalog.pg_proc "
|
||||
"where oid = pl.lanvalidator) as lanvalidator "
|
||||
"from pg_catalog.pg_language pl where lanname='%s'" %
|
||||
self.data["name"])
|
||||
language = pg_cursor.fetchall()
|
||||
expected_output = utils.create_expected_output(
|
||||
@@ -113,13 +113,13 @@ def delete_language(server, db_name, lang_name):
|
||||
server['port'],
|
||||
server['sslmode'])
|
||||
pg_cursor = connection.cursor()
|
||||
pg_cursor.execute("SELECT * from pg_language where lanname='%s'" %
|
||||
lang_name)
|
||||
pg_cursor.execute("SELECT * from pg_catalog.pg_language where "
|
||||
"lanname='%s'" % lang_name)
|
||||
languages = pg_cursor.fetchall()
|
||||
language_count = len(languages)
|
||||
if language_count:
|
||||
pg_cursor.execute(
|
||||
"DELETE FROM pg_language where lanname='%s'" %
|
||||
"DELETE FROM pg_catalog.pg_language where lanname='%s'" %
|
||||
lang_name)
|
||||
connection.commit()
|
||||
connection.close()
|
||||
|
@@ -67,9 +67,8 @@ def create_publication(server, db_name, publication_name):
|
||||
connection.set_isolation_level(old_isolation_level)
|
||||
connection.commit()
|
||||
# Get role oid of newly added publication
|
||||
pg_cursor.execute("select oid from pg_publication pub where "
|
||||
"pub.pubname='%s'" %
|
||||
publication_name)
|
||||
pg_cursor.execute("select oid from pg_catalog.pg_publication pub "
|
||||
"where pub.pubname='%s'" % publication_name)
|
||||
publication = pg_cursor.fetchone()
|
||||
publication_id = ''
|
||||
if publication:
|
||||
@@ -101,7 +100,7 @@ def verify_publication(server, db_name, publication_name):
|
||||
server['port'],
|
||||
server['sslmode'])
|
||||
pg_cursor = connection.cursor()
|
||||
pg_cursor.execute("select * from pg_publication pub "
|
||||
pg_cursor.execute("select * from pg_catalog.pg_publication pub "
|
||||
"where pub.pubname='%s'" %
|
||||
publication_name)
|
||||
publication = pg_cursor.fetchone()
|
||||
@@ -134,7 +133,7 @@ def delete_publication(server, db_name, publication_name):
|
||||
server['sslmode'])
|
||||
pg_cursor = connection.cursor()
|
||||
|
||||
pg_cursor.execute("select * from pg_publication pub where "
|
||||
pg_cursor.execute("select * from pg_catalog.pg_publication pub where "
|
||||
"pub.pubname='%s'" %
|
||||
publication_name)
|
||||
publication_count = pg_cursor.fetchone()
|
||||
|
@@ -13,7 +13,7 @@ WHERE
|
||||
-- On EnterpriseDB - ignore some objects in the catalog, whose name starts
|
||||
-- with _*, dual and type_object_source.
|
||||
SELECT 'sys' ~ (
|
||||
SELECT nsp.nspname FROM pg_namespace nsp
|
||||
SELECT nsp.nspname FROM pg_catalog.pg_namespace nsp
|
||||
WHERE nsp.oid = {{scid}}::oid
|
||||
) AND (
|
||||
c.relname NOT LIKE '\\_%' AND c.relname = 'dual' AND
|
||||
|
@@ -37,7 +37,8 @@ def create_collation(server, schema_name, coll_name, db_name):
|
||||
|
||||
# Get 'oid' from newly created database
|
||||
pg_cursor.execute("SELECT coll.oid, coll.collname FROM"
|
||||
" pg_collation coll WHERE coll.collname='%s'" %
|
||||
" pg_catalog.pg_collation coll WHERE "
|
||||
"coll.collname='%s'" %
|
||||
coll_name)
|
||||
collation = pg_cursor.fetchone()
|
||||
connection.close()
|
||||
@@ -58,7 +59,8 @@ def verify_collation(server, db_name, coll_name):
|
||||
pg_cursor = connection.cursor()
|
||||
# Get 'oid' from newly created database
|
||||
pg_cursor.execute("SELECT coll.oid, coll.collname FROM"
|
||||
" pg_collation coll WHERE coll.collname='%s'" %
|
||||
" pg_catalog.pg_collation coll "
|
||||
"WHERE coll.collname='%s'" %
|
||||
coll_name)
|
||||
collation = pg_cursor.fetchone()
|
||||
connection.close()
|
||||
|
@@ -536,9 +536,9 @@ It may have been removed by another user or moved to another schema.
|
||||
"""
|
||||
|
||||
condition = """typisdefined AND typtype IN ('b', 'c', 'd', 'e', 'r')
|
||||
AND NOT EXISTS (SELECT 1 FROM pg_class WHERE relnamespace=typnamespace
|
||||
AND relname = typname AND relkind != 'c') AND
|
||||
(typname NOT LIKE '_%' OR NOT EXISTS (SELECT 1 FROM pg_class WHERE
|
||||
AND NOT EXISTS (SELECT 1 FROM pg_catalog.pg_class
|
||||
WHERE relnamespace=typnamespace AND relname = typname AND relkind != 'c') AND
|
||||
(typname NOT LIKE '_%' OR NOT EXISTS (SELECT 1 FROM pg_catalog.pg_class WHERE
|
||||
relnamespace=typnamespace AND relname = substring(typname FROM 2)::name
|
||||
AND relkind != 'c'))"""
|
||||
|
||||
|
@@ -57,7 +57,7 @@ def create_domain_constraints(server, db_name, schema_name,
|
||||
pg_cursor.execute(query)
|
||||
connection.commit()
|
||||
# Get 'oid' from newly created domain
|
||||
pg_cursor.execute("SELECT oid FROM pg_constraint WHERE"
|
||||
pg_cursor.execute("SELECT oid FROM pg_catalog.pg_constraint WHERE"
|
||||
" conname='%s'" %
|
||||
domain_constraint_name)
|
||||
oid = pg_cursor.fetchone()
|
||||
@@ -88,7 +88,7 @@ def verify_domain_constraint(server, db_name, domain_constraint_name):
|
||||
server['host'], server['port'],
|
||||
server['sslmode'])
|
||||
pg_cursor = connection.cursor()
|
||||
pg_cursor.execute("SELECT oid FROM pg_constraint WHERE"
|
||||
pg_cursor.execute("SELECT oid FROM pg_catalog.pg_constraint WHERE"
|
||||
" conname='%s'" %
|
||||
domain_constraint_name)
|
||||
domain_con_id = pg_cursor.fetchone()
|
||||
@@ -132,8 +132,8 @@ def create_domain(server, db_name, schema_name,
|
||||
pg_cursor.execute(query)
|
||||
connection.commit()
|
||||
# Get 'oid' from newly created domain
|
||||
pg_cursor.execute("SELECT d.oid, d.typname FROM pg_type d WHERE"
|
||||
" d.typname='%s' AND d.typnamespace='%s'" %
|
||||
pg_cursor.execute("SELECT d.oid, d.typname FROM pg_catalog.pg_type d "
|
||||
"WHERE d.typname='%s' AND d.typnamespace='%s'" %
|
||||
(domain_name, schema_id))
|
||||
domains = pg_cursor.fetchone()
|
||||
connection.close()
|
||||
@@ -161,7 +161,7 @@ def verify_domain(server, db_name, schema_id, domain_name):
|
||||
server['host'],
|
||||
server['port'])
|
||||
pg_cursor = connection.cursor()
|
||||
pg_cursor.execute("SELECT d.oid, d.typname FROM pg_type d WHERE"
|
||||
pg_cursor.execute("SELECT d.oid, d.typname FROM pg_catalog.pg_type d WHERE"
|
||||
" d.typname='%s' AND d.typnamespace='%s'" %
|
||||
(domain_name, schema_id))
|
||||
domains = pg_cursor.fetchone()
|
||||
@@ -207,7 +207,7 @@ def create_domain_constraints_invalid(server, db_name, schema_name,
|
||||
pg_cursor.execute(query)
|
||||
connection.commit()
|
||||
# Get 'oid' from newly created domain
|
||||
pg_cursor.execute("SELECT oid FROM pg_constraint WHERE"
|
||||
pg_cursor.execute("SELECT oid FROM pg_catalog.pg_constraint WHERE"
|
||||
" conname='%s'" %
|
||||
domain_constraint_name)
|
||||
oid = pg_cursor.fetchone()
|
||||
|
@@ -53,8 +53,8 @@ def create_domain(server, db_name, schema_name, schema_id, domain_name,
|
||||
pg_cursor.execute(query)
|
||||
connection.commit()
|
||||
# Get 'oid' from newly created domain
|
||||
pg_cursor.execute("SELECT d.oid, d.typname FROM pg_type d WHERE"
|
||||
" d.typname='%s' AND d.typnamespace='%s'" %
|
||||
pg_cursor.execute("SELECT d.oid, d.typname FROM pg_catalog.pg_type d "
|
||||
"WHERE d.typname='%s' AND d.typnamespace='%s'" %
|
||||
(domain_name, schema_id))
|
||||
domains = pg_cursor.fetchone()
|
||||
connection.close()
|
||||
@@ -82,7 +82,7 @@ def verify_domain(server, db_name, schema_id, domain_name):
|
||||
server['host'],
|
||||
server['port'])
|
||||
pg_cursor = connection.cursor()
|
||||
pg_cursor.execute("SELECT d.oid, d.typname FROM pg_type d WHERE"
|
||||
pg_cursor.execute("SELECT d.oid, d.typname FROM pg_catalog.pg_type d WHERE"
|
||||
" d.typname='%s' AND d.typnamespace='%s'" %
|
||||
(domain_name, schema_id))
|
||||
domains = pg_cursor.fetchone()
|
||||
|
@@ -1,8 +1,8 @@
|
||||
SELECT
|
||||
attname, attndims, atttypmod, attoptions, attfdwoptions, pg_catalog.format_type(t.oid,NULL) AS datatype,
|
||||
attnotnull, attstattarget, attnum, format_type(t.oid, att.atttypmod) AS fulltype,
|
||||
attnotnull, attstattarget, attnum, pg_catalog.format_type(t.oid, att.atttypmod) AS fulltype,
|
||||
CASE WHEN length(cn.nspname::text) > 0 AND length(cl.collname::text) > 0 THEN
|
||||
concat(cn.nspname, '."', cl.collname,'"') ELSE '' END AS collname,
|
||||
pg_catalog.concat(cn.nspname, '."', cl.collname,'"') ELSE '' END AS collname,
|
||||
(SELECT COUNT(1) from pg_catalog.pg_type t2 WHERE t2.typname=t.typname) > 1 AS isdup,
|
||||
pg_catalog.pg_get_expr(def.adbin, def.adrelid) AS typdefault
|
||||
FROM
|
||||
|
@@ -20,7 +20,7 @@ SELECT INH.inheritedfrom, INH.inheritedid, att.attoptions, attfdwoptions,
|
||||
pg_catalog.concat(cn.nspname, '."', cl.collname,'"')
|
||||
ELSE '' END AS collname,
|
||||
pg_catalog.pg_get_expr(def.adbin, def.adrelid) AS typdefault,
|
||||
(SELECT COUNT(1) from pg_type t2 WHERE t2.typname=t.typname) > 1 AS isdup
|
||||
(SELECT COUNT(1) from pg_catalog.pg_type t2 WHERE t2.typname=t.typname) > 1 AS isdup
|
||||
FROM
|
||||
pg_catalog.pg_attribute att
|
||||
LEFT JOIN
|
||||
|
@@ -1,7 +1,7 @@
|
||||
{% if attrelid %}
|
||||
SELECT
|
||||
a.attname, pg_catalog.format_type(a.atttypid, NULL) AS datatype,
|
||||
quote_ident(n.nspname)||'.'||quote_ident(c.relname) as inheritedfrom,
|
||||
pg_catalog.quote_ident(n.nspname)||'.'||quote_ident(c.relname) as inheritedfrom,
|
||||
c.oid as inheritedid
|
||||
FROM
|
||||
pg_catalog.pg_class c
|
||||
|
@@ -1,7 +1,7 @@
|
||||
{% import 'foreign_tables/sql/macros/db_catalogs.macro' as CATALOG %}
|
||||
{% if attrelid %}
|
||||
SELECT
|
||||
pg_catalog.array_agg(quote_ident(n.nspname) || '.' || quote_ident(c.relname)) as inherits
|
||||
pg_catalog.array_agg(quote_ident(n.nspname) || '.' || pg_catalog.quote_ident(c.relname)) as inherits
|
||||
FROM
|
||||
pg_catalog.pg_class c, pg_catalog.pg_namespace n
|
||||
WHERE
|
||||
@@ -10,7 +10,7 @@ WHERE
|
||||
|
||||
{% else %}
|
||||
SELECT
|
||||
c.oid AS value, quote_ident(n.nspname) || '.' || quote_ident(c.relname) as label
|
||||
c.oid AS value, pg_catalog.quote_ident(n.nspname) || '.' || pg_catalog.quote_ident(c.relname) as label
|
||||
FROM
|
||||
pg_catalog.pg_class c, pg_catalog.pg_namespace n
|
||||
WHERE
|
||||
|
@@ -2,14 +2,14 @@ SELECT
|
||||
c.oid, c.relname AS name, c.relacl, pg_catalog.pg_get_userbyid(relowner) AS owner,
|
||||
ftoptions, srvname AS ftsrvname, description, nspname AS basensp,
|
||||
(SELECT
|
||||
array_agg(provider || '=' || label)
|
||||
pg_catalog.array_agg(provider || '=' || label)
|
||||
FROM
|
||||
pg_catalog.pg_seclabel sl1
|
||||
WHERE
|
||||
sl1.objoid=c.oid) AS seclabels
|
||||
{% if foid %},
|
||||
(SELECT
|
||||
array_agg(i.inhparent) FROM pg_inherits i
|
||||
pg_catalog.array_agg(i.inhparent) FROM pg_catalog.pg_inherits i
|
||||
WHERE
|
||||
i.inhrelid = {{foid}}::oid GROUP BY i.inhrelid) AS inherits
|
||||
{% endif %}
|
||||
|
@@ -3,7 +3,7 @@ SELECT --nspname, collname,
|
||||
pg_catalog.concat(nspname, '."', collname,'"')
|
||||
ELSE '' END AS copy_collation
|
||||
FROM
|
||||
pg_catalog.pg_collation c, pg_namespace n
|
||||
pg_catalog.pg_collation c, pg_catalog.pg_namespace n
|
||||
WHERE
|
||||
c.collnamespace=n.oid
|
||||
ORDER BY
|
||||
|
@@ -96,8 +96,9 @@ def create_foreign_table(server, db_name, schema_name, fsrv_name,
|
||||
|
||||
# Get 'oid' from newly created foreign table
|
||||
pg_cursor.execute(
|
||||
"SELECT ftrelid FROM pg_foreign_table WHERE ftserver = "
|
||||
"(SELECT oid FROM pg_foreign_server WHERE srvname = '%s') "
|
||||
"SELECT ftrelid FROM pg_catalog.pg_foreign_table WHERE ftserver = "
|
||||
"(SELECT oid FROM pg_catalog.pg_foreign_server "
|
||||
"WHERE srvname = '%s') "
|
||||
"ORDER BY ftrelid ASC limit 1" % fsrv_name)
|
||||
|
||||
oid = pg_cursor.fetchone()
|
||||
@@ -122,8 +123,9 @@ def verify_foreign_table(server, db_name, fsrv_name):
|
||||
pg_cursor = connection.cursor()
|
||||
|
||||
pg_cursor.execute(
|
||||
"SELECT ftrelid FROM pg_foreign_table WHERE ftserver = "
|
||||
"(SELECT oid FROM pg_foreign_server WHERE srvname = '%s') "
|
||||
"SELECT ftrelid FROM pg_catalog.pg_foreign_table WHERE ftserver = "
|
||||
"(SELECT oid FROM pg_catalog.pg_foreign_server "
|
||||
"WHERE srvname = '%s') "
|
||||
"ORDER BY ftrelid ASC limit 1" % fsrv_name)
|
||||
fts = pg_cursor.fetchone()
|
||||
connection.close()
|
||||
|
@@ -7,7 +7,7 @@ SELECT
|
||||
cfg.cfgnamespace as schema,
|
||||
CASE WHEN (np.nspname not in ('public', 'pg_catalog') AND length(parser.prsname::text) > 0
|
||||
AND parser.prsname != 'default') THEN
|
||||
pg_catalog.concat(quote_ident(np.nspname), '.', quote_ident(parser.prsname))
|
||||
pg_catalog.concat(pg_catalog.quote_ident(np.nspname), '.', pg_catalog.quote_ident(parser.prsname))
|
||||
ELSE parser.prsname END AS prsname,
|
||||
description
|
||||
FROM
|
||||
|
@@ -5,18 +5,18 @@ SELECT
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
E'-- Text Search CONFIGURATION: ' || quote_ident(nspname) || E'.'
|
||||
E'-- Text Search CONFIGURATION: ' || pg_catalog.quote_ident(nspname) || E'.'
|
||||
|| (cfg.cfgname) ||
|
||||
E'\n\n-- DROP TEXT SEARCH CONFIGURATION ' || quote_ident(nspname) ||
|
||||
E'.' || quote_ident(cfg.cfgname) ||
|
||||
E'\n\nCREATE TEXT SEARCH CONFIGURATION ' || quote_ident(nspname) ||
|
||||
E'.' || quote_ident(cfg.cfgname) || E' (\n' ||
|
||||
E'\n\n-- DROP TEXT SEARCH CONFIGURATION ' || pg_catalog.quote_ident(nspname) ||
|
||||
E'.' || pg_catalog.quote_ident(cfg.cfgname) ||
|
||||
E'\n\nCREATE TEXT SEARCH CONFIGURATION ' || pg_catalog.quote_ident(nspname) ||
|
||||
E'.' || pg_catalog.quote_ident(cfg.cfgname) || E' (\n' ||
|
||||
E'\tPARSER = ' || parsername ||
|
||||
E'\n);' ||
|
||||
CASE
|
||||
WHEN description IS NOT NULL THEN
|
||||
E'\n\nCOMMENT ON TEXT SEARCH CONFIGURATION ' ||
|
||||
quote_ident(nspname) || E'.' || quote_ident(cfg.cfgname) ||
|
||||
pg_catalog.quote_ident(nspname) || E'.' || pg_catalog.quote_ident(cfg.cfgname) ||
|
||||
E' IS ' || pg_catalog.quote_literal(description) || E';'
|
||||
ELSE ''
|
||||
END || E'\n' ||
|
||||
@@ -24,8 +24,8 @@ FROM
|
||||
pg_catalog.array_to_string(
|
||||
array(
|
||||
SELECT
|
||||
'ALTER TEXT SEARCH CONFIGURATION ' || quote_ident(b.nspname) ||
|
||||
E'.' || quote_ident(cfg.cfgname) || ' ADD MAPPING FOR ' ||
|
||||
'ALTER TEXT SEARCH CONFIGURATION ' || pg_catalog.quote_ident(b.nspname) ||
|
||||
E'.' || pg_catalog.quote_ident(cfg.cfgname) || ' ADD MAPPING FOR ' ||
|
||||
t.alias || ' WITH ' ||
|
||||
pg_catalog.array_to_string(array_agg(
|
||||
CASE WHEN (pg_ns.nspname != 'pg_catalog') THEN
|
||||
|
@@ -11,7 +11,7 @@ SELECT
|
||||
) AS token,
|
||||
pg_catalog.array_agg(
|
||||
CASE WHEN (pg_ns.nspname != 'pg_catalog') THEN
|
||||
CONCAT(pg_ns.nspname, '.', pg_ts_dict.dictname)
|
||||
pg_catalog.CONCAT(pg_ns.nspname, '.', pg_ts_dict.dictname)
|
||||
ELSE
|
||||
pg_catalog.pg_ts_dict.dictname END) AS dictname
|
||||
FROM
|
||||
|
@@ -1,5 +1,5 @@
|
||||
SELECT
|
||||
format_type(oid, NULL) AS out_arg_type
|
||||
pg_catalog.format_type(oid, NULL) AS out_arg_type
|
||||
FROM
|
||||
pg_catalog.pg_type
|
||||
WHERE
|
||||
|
@@ -1,5 +1,5 @@
|
||||
SELECT
|
||||
format_type(oid, NULL) AS out_arg_type
|
||||
pg_catalog.format_type(oid, NULL) AS out_arg_type
|
||||
FROM
|
||||
pg_catalog.pg_type
|
||||
WHERE
|
||||
|
@@ -26,7 +26,7 @@ FROM
|
||||
(d).is_grantable AS is_grantable,
|
||||
(d).privilege_type AS privilege_type
|
||||
FROM
|
||||
(SELECT pg_catalog.aclexplode(db.proacl) AS d FROM pg_proc db
|
||||
(SELECT pg_catalog.aclexplode(db.proacl) AS d FROM pg_catalog.pg_proc db
|
||||
WHERE db.oid = {{fnid}}::OID) a ORDER BY privilege_type
|
||||
) d
|
||||
) d
|
||||
|
@@ -26,7 +26,7 @@ FROM
|
||||
(d).is_grantable AS is_grantable,
|
||||
(d).privilege_type AS privilege_type
|
||||
FROM
|
||||
(SELECT pg_catalog.aclexplode(db.proacl) AS d FROM pg_proc db
|
||||
(SELECT pg_catalog.aclexplode(db.proacl) AS d FROM pg_catalog.pg_proc db
|
||||
WHERE db.oid = {{fnid}}::OID) a ORDER BY privilege_type
|
||||
) d
|
||||
) d
|
||||
|
@@ -1,5 +1,5 @@
|
||||
SELECT
|
||||
format_type(oid, NULL) AS out_arg_type
|
||||
pg_catalog.format_type(oid, NULL) AS out_arg_type
|
||||
FROM
|
||||
pg_catalog.pg_type
|
||||
WHERE
|
||||
|
@@ -43,7 +43,7 @@ def create_trigger_function(server, db_name, schema_name, func_name,
|
||||
connection.commit()
|
||||
# Get 'oid' from newly created function
|
||||
pg_cursor.execute("SELECT pro.oid, pro.proname FROM"
|
||||
" pg_proc pro WHERE pro.proname='%s'" %
|
||||
" pg_catalog.pg_proc pro WHERE pro.proname='%s'" %
|
||||
func_name)
|
||||
functions = pg_cursor.fetchone()
|
||||
connection.close()
|
||||
@@ -72,7 +72,7 @@ def create_trigger_function_with_trigger(server, db_name, schema_name,
|
||||
connection.commit()
|
||||
# Get 'oid' from newly created function
|
||||
pg_cursor.execute("SELECT pro.oid, pro.proname FROM"
|
||||
" pg_proc pro WHERE pro.proname='%s'" %
|
||||
" pg_catalog.pg_proc pro WHERE pro.proname='%s'" %
|
||||
func_name)
|
||||
functions = pg_cursor.fetchone()
|
||||
connection.close()
|
||||
@@ -91,7 +91,7 @@ def verify_trigger_function(server, db_name, func_name):
|
||||
server['sslmode'])
|
||||
pg_cursor = connection.cursor()
|
||||
pg_cursor.execute("SELECT pro.oid, pro.proname FROM"
|
||||
" pg_proc pro WHERE pro.proname='%s'" %
|
||||
" pg_catalog.pg_proc pro WHERE pro.proname='%s'" %
|
||||
func_name)
|
||||
functions = pg_cursor.fetchone()
|
||||
connection.close()
|
||||
@@ -133,7 +133,7 @@ def create_procedure(server, db_name, schema_name, func_name, s_type,
|
||||
connection.commit()
|
||||
# Get 'oid' from newly created function
|
||||
pg_cursor.execute("SELECT pro.oid, pro.proname FROM"
|
||||
" pg_proc pro WHERE pro.proname='%s'" %
|
||||
" pg_catalog.pg_proc pro WHERE pro.proname='%s'" %
|
||||
func_name)
|
||||
functions = pg_cursor.fetchone()
|
||||
connection.close()
|
||||
@@ -166,7 +166,7 @@ def create_function(server, db_name, schema_name, func_name, args=None,
|
||||
connection.commit()
|
||||
# Get 'oid' from newly created function
|
||||
pg_cursor.execute("SELECT pro.oid, pro.proname FROM"
|
||||
" pg_proc pro WHERE pro.proname='%s'" %
|
||||
" pg_catalog.pg_proc pro WHERE pro.proname='%s'" %
|
||||
func_name)
|
||||
functions = pg_cursor.fetchone()
|
||||
connection.close()
|
||||
@@ -194,7 +194,7 @@ def create_support_internal_function(server, db_name, schema_name, func_name):
|
||||
connection.commit()
|
||||
# Get 'oid' from newly created function
|
||||
pg_cursor.execute("SELECT pro.oid, pro.proname FROM"
|
||||
" pg_proc pro WHERE pro.proname='%s'" %
|
||||
" pg_catalog.pg_proc pro WHERE pro.proname='%s'" %
|
||||
func_name)
|
||||
functions = pg_cursor.fetchone()
|
||||
connection.close()
|
||||
@@ -213,7 +213,7 @@ def verify_procedure(server, db_name, proc_name):
|
||||
server['sslmode'])
|
||||
pg_cursor = connection.cursor()
|
||||
pg_cursor.execute("SELECT pro.oid, pro.proname FROM"
|
||||
" pg_proc pro WHERE pro.proname='%s'" %
|
||||
" pg_catalog.g_proc pro WHERE pro.proname='%s'" %
|
||||
proc_name)
|
||||
procs = pg_cursor.fetchone()
|
||||
connection.close()
|
||||
|
@@ -4,7 +4,7 @@ SELECT pg_proc.oid,
|
||||
proallargtypes,
|
||||
proargnames AS argnames,
|
||||
pronargdefaults,
|
||||
oidvectortypes(proargtypes) AS proargtypenames,
|
||||
pg_catalog.oidvectortypes(proargtypes) AS proargtypenames,
|
||||
proargmodes,
|
||||
proargnames,
|
||||
pg_catalog.pg_get_expr(proargdefaults, 'pg_catalog.pg_class'::regclass) AS proargdefaultvals,
|
||||
|
@@ -80,7 +80,7 @@ END %s;""" % (self.schema_name, self.pkg_name, self.proc_name,
|
||||
pg_cursor.execute(query)
|
||||
connection.commit()
|
||||
# Get 'oid' from newly created package
|
||||
pg_cursor.execute("SELECT oid FROM pg_namespace"
|
||||
pg_cursor.execute("SELECT oid FROM pg_catalog.pg_namespace"
|
||||
" WHERE nspname='%s'" %
|
||||
self.pkg_name)
|
||||
self.package_id = pg_cursor.fetchone()[0]
|
||||
|
@@ -46,8 +46,8 @@ def create_package(server, db_name, schema_name, pkg_name, proc_name):
|
||||
pg_cursor.execute(query)
|
||||
connection.commit()
|
||||
# Get 'oid' from newly created package
|
||||
pg_cursor.execute("SELECT oid FROM pg_namespace WHERE nspname='%s'" %
|
||||
pkg_name)
|
||||
pg_cursor.execute("SELECT oid FROM pg_catalog.pg_namespace "
|
||||
"WHERE nspname='%s'" % pkg_name)
|
||||
package_id = pg_cursor.fetchone()[0]
|
||||
connection.close()
|
||||
return package_id
|
||||
@@ -75,8 +75,8 @@ def verify_package(server, db_name, pkg_name):
|
||||
server['port'],
|
||||
server['sslmode'])
|
||||
pg_cursor = connection.cursor()
|
||||
pg_cursor.execute("SELECT oid FROM pg_namespace WHERE nspname='%s'" %
|
||||
pkg_name)
|
||||
pg_cursor.execute("SELECT oid FROM pg_catalog.pg_namespace "
|
||||
"WHERE nspname='%s'" % pkg_name)
|
||||
package = pg_cursor.fetchone()
|
||||
connection.close()
|
||||
return package
|
||||
|
@@ -48,8 +48,8 @@ def create_sequences(server, db_name, schema_name, sequence_name,
|
||||
pg_cursor.execute(query)
|
||||
connection.commit()
|
||||
# Get 'oid' from newly created sequence
|
||||
pg_cursor.execute("select oid from pg_class where relname='%s'" %
|
||||
sequence_name)
|
||||
pg_cursor.execute("select oid from pg_catalog.pg_class "
|
||||
"where relname='%s'" % sequence_name)
|
||||
sequence = pg_cursor.fetchone()
|
||||
sequence_id = ''
|
||||
if sequence:
|
||||
@@ -80,8 +80,8 @@ def verify_sequence(server, db_name, sequence_name):
|
||||
server['port'],
|
||||
server['sslmode'])
|
||||
pg_cursor = connection.cursor()
|
||||
pg_cursor.execute("select * from pg_class where relname='%s'" %
|
||||
sequence_name)
|
||||
pg_cursor.execute("select * from pg_catalog.pg_class "
|
||||
"where relname='%s'" % sequence_name)
|
||||
sequence = pg_cursor.fetchone()
|
||||
connection.close()
|
||||
return sequence
|
||||
|
@@ -61,8 +61,8 @@ def create_compound_trigger(server, db_name, schema_name, table_name,
|
||||
pg_cursor.execute(query)
|
||||
connection.set_isolation_level(old_isolation_level)
|
||||
connection.commit()
|
||||
pg_cursor.execute("SELECT oid FROM pg_trigger where tgname='%s'" %
|
||||
trigger_name)
|
||||
pg_cursor.execute("SELECT oid FROM pg_catalog.pg_trigger "
|
||||
"where tgname='%s'" % trigger_name)
|
||||
trigger = pg_cursor.fetchone()
|
||||
trigger_id = ''
|
||||
if trigger:
|
||||
@@ -106,8 +106,8 @@ def create_view(server, db_name, schema_name, sql_query, view_name):
|
||||
connection.set_isolation_level(old_isolation_level)
|
||||
connection.commit()
|
||||
# Get 'oid' from newly created view
|
||||
pg_cursor.execute("select oid from pg_class where relname='%s'" %
|
||||
view_name)
|
||||
pg_cursor.execute("select oid from pg_catalog.pg_class where "
|
||||
"relname='%s'" % view_name)
|
||||
view = pg_cursor.fetchone()
|
||||
view_id = view[0]
|
||||
connection.close()
|
||||
@@ -137,8 +137,8 @@ def verify_compound_trigger(server, db_name, trigger_name):
|
||||
server['port'],
|
||||
server['sslmode'])
|
||||
pg_cursor = connection.cursor()
|
||||
pg_cursor.execute("SELECT oid FROM pg_trigger where tgname='%s'" %
|
||||
trigger_name)
|
||||
pg_cursor.execute("SELECT oid FROM pg_catalog.pg_trigger "
|
||||
"where tgname='%s'" % trigger_name)
|
||||
trigger = pg_cursor.fetchone()
|
||||
connection.close()
|
||||
return trigger
|
||||
|
@@ -123,7 +123,7 @@ def create_check_constraint(server, db_name, schema_name, table_name,
|
||||
connection.commit()
|
||||
# Get oid of newly added check constraint
|
||||
pg_cursor.execute(
|
||||
"SELECT oid FROM pg_constraint where conname='%s'" %
|
||||
"SELECT oid FROM pg_catalog.pg_constraint where conname='%s'" %
|
||||
check_constraint_name)
|
||||
chk_constraint_record = pg_cursor.fetchone()
|
||||
connection.close()
|
||||
@@ -153,7 +153,7 @@ def verify_check_constraint(server, db_name, check_constraint_name):
|
||||
server['port'])
|
||||
pg_cursor = connection.cursor()
|
||||
pg_cursor.execute(
|
||||
"SELECT oid FROM pg_constraint where conname='%s'" %
|
||||
"SELECT oid FROM pg_catalog.pg_constraint where conname='%s'" %
|
||||
check_constraint_name)
|
||||
chk_constraint_record = pg_cursor.fetchone()
|
||||
connection.close()
|
||||
|
@@ -112,8 +112,8 @@ def create_exclusion_constraint(server, db_name, schema_name, table_name,
|
||||
connection.set_isolation_level(old_isolation_level)
|
||||
connection.commit()
|
||||
# Get oid of newly added index constraint
|
||||
pg_cursor.execute(
|
||||
"SELECT conindid FROM pg_constraint where conname='%s'" % key_name)
|
||||
pg_cursor.execute("SELECT conindid FROM pg_catalog.pg_constraint "
|
||||
"where conname='%s'" % key_name)
|
||||
index_constraint = pg_cursor.fetchone()
|
||||
connection.close()
|
||||
oid = index_constraint[0]
|
||||
@@ -142,8 +142,8 @@ def verify_exclusion_constraint(server, db_name, index_name):
|
||||
server['port'],
|
||||
server['sslmode'])
|
||||
pg_cursor = connection.cursor()
|
||||
pg_cursor.execute("select * from pg_class where relname='%s'" %
|
||||
index_name)
|
||||
pg_cursor.execute("select * from pg_catalog.pg_class "
|
||||
"where relname='%s'" % index_name)
|
||||
index_record = pg_cursor.fetchone()
|
||||
connection.close()
|
||||
return index_record
|
||||
|
@@ -133,9 +133,8 @@ def create_foreignkey(server, db_name, schema_name, local_table_name,
|
||||
connection.set_isolation_level(old_isolation_level)
|
||||
connection.commit()
|
||||
# Get oid of newly added foreign key
|
||||
pg_cursor.execute(
|
||||
"SELECT oid FROM pg_constraint where conname='%s_id_fkey'" %
|
||||
local_table_name)
|
||||
pg_cursor.execute("SELECT oid FROM pg_catalog.pg_constraint "
|
||||
"where conname='%s_id_fkey'" % local_table_name)
|
||||
fk_record = pg_cursor.fetchone()
|
||||
connection.close()
|
||||
fk_id = fk_record[0]
|
||||
@@ -168,8 +167,8 @@ def verify_foreignkey(server, db_name, local_table_name, fk_name=None):
|
||||
server['port'],
|
||||
server['sslmode'])
|
||||
pg_cursor = connection.cursor()
|
||||
pg_cursor.execute(
|
||||
"SELECT oid FROM pg_constraint where conname='%s'" % conname)
|
||||
pg_cursor.execute("SELECT oid FROM pg_catalog.pg_constraint "
|
||||
"where conname='%s'" % conname)
|
||||
fk_record = pg_cursor.fetchone()
|
||||
connection.close()
|
||||
return fk_record
|
||||
|
@@ -120,8 +120,8 @@ def create_index_constraint(server, db_name, schema_name, table_name,
|
||||
connection.set_isolation_level(old_isolation_level)
|
||||
connection.commit()
|
||||
# Get oid of newly added index constraint
|
||||
pg_cursor.execute(
|
||||
"SELECT conindid FROM pg_constraint where conname='%s'" % key_name)
|
||||
pg_cursor.execute("SELECT conindid FROM pg_catalog.pg_constraint "
|
||||
"where conname='%s'" % key_name)
|
||||
index_constraint = pg_cursor.fetchone()
|
||||
connection.close()
|
||||
oid = index_constraint[0]
|
||||
@@ -149,9 +149,8 @@ def verify_index_constraint(server, db_name, constraint_name):
|
||||
server['port'],
|
||||
server['sslmode'])
|
||||
pg_cursor = connection.cursor()
|
||||
pg_cursor.execute(
|
||||
"SELECT oid FROM pg_constraint where conname='%s'" %
|
||||
constraint_name)
|
||||
pg_cursor.execute("SELECT oid FROM pg_catalog.pg_constraint "
|
||||
"where conname='%s'" % constraint_name)
|
||||
index_constraint = pg_cursor.fetchone()
|
||||
connection.close()
|
||||
return index_constraint
|
||||
|
@@ -59,7 +59,7 @@ def verify_constraint(server, db_name, constraint_name):
|
||||
server['port'])
|
||||
pg_cursor = connection.cursor()
|
||||
pg_cursor.execute(
|
||||
"SELECT oid FROM pg_constraint where conname='%s'" %
|
||||
"SELECT oid FROM pg_catalog.pg_constraint where conname='%s'" %
|
||||
constraint_name)
|
||||
chk_constraint_record = pg_cursor.fetchone()
|
||||
connection.close()
|
||||
|
@@ -194,8 +194,8 @@ def create_index(server, db_name, schema_name, table_name, index_name,
|
||||
connection.set_isolation_level(old_isolation_level)
|
||||
connection.commit()
|
||||
# Get oid of newly added index
|
||||
pg_cursor.execute("select oid from pg_class where relname='%s'" %
|
||||
index_name)
|
||||
pg_cursor.execute("select oid from pg_catalog.pg_class "
|
||||
"where relname='%s'" % index_name)
|
||||
index_record = pg_cursor.fetchone()
|
||||
index_oid = ''
|
||||
if index_record:
|
||||
@@ -227,8 +227,8 @@ def verify_index(server, db_name, index_name):
|
||||
server['port'],
|
||||
server['sslmode'])
|
||||
pg_cursor = connection.cursor()
|
||||
pg_cursor.execute("select * from pg_class where relname='%s'" %
|
||||
index_name)
|
||||
pg_cursor.execute("select * from pg_catalog.pg_class "
|
||||
"where relname='%s'" % index_name)
|
||||
index_record = pg_cursor.fetchone()
|
||||
connection.close()
|
||||
return index_record
|
||||
|
@@ -52,8 +52,8 @@ def create_policy(server, db_name, schema_name, table_name, policy_name):
|
||||
connection.set_isolation_level(old_isolation_level)
|
||||
connection.commit()
|
||||
# Get role oid of newly added policy
|
||||
pg_cursor.execute("select oid from pg_policy where polname='%s'" %
|
||||
policy_name)
|
||||
pg_cursor.execute("select oid from pg_catalog.pg_policy where "
|
||||
"polname='%s'" % policy_name)
|
||||
policy = pg_cursor.fetchone()
|
||||
policy_id = ''
|
||||
if policy:
|
||||
@@ -85,8 +85,8 @@ def verify_policy(server, db_name, policy_name):
|
||||
server['port'],
|
||||
server['sslmode'])
|
||||
pg_cursor = connection.cursor()
|
||||
pg_cursor.execute("select * from pg_policy where polname='%s'" %
|
||||
policy_name)
|
||||
pg_cursor.execute("select * from pg_catalog.pg_policy where "
|
||||
"polname='%s'" % policy_name)
|
||||
policy = pg_cursor.fetchone()
|
||||
connection.close()
|
||||
return policy
|
||||
@@ -121,8 +121,8 @@ def delete_policy(server, db_name, policy_name, schema_name, table_name):
|
||||
server['sslmode'])
|
||||
pg_cursor = connection.cursor()
|
||||
|
||||
pg_cursor.execute("select * from pg_policy where polname='%s'" %
|
||||
policy_name)
|
||||
pg_cursor.execute("select * from pg_catalog.pg_policy "
|
||||
"where polname='%s'" % policy_name)
|
||||
policy_count = pg_cursor.fetchone()
|
||||
if policy_count:
|
||||
old_isolation_level = connection.isolation_level
|
||||
|
@@ -52,8 +52,8 @@ def create_rule(server, db_name, schema_name, table_name, rule_name):
|
||||
connection.set_isolation_level(old_isolation_level)
|
||||
connection.commit()
|
||||
# Get role oid of newly added rule
|
||||
pg_cursor.execute("select oid from pg_rewrite where rulename='%s'" %
|
||||
rule_name)
|
||||
pg_cursor.execute("select oid from pg_catalog.pg_rewrite where "
|
||||
"rulename='%s'" % rule_name)
|
||||
rule = pg_cursor.fetchone()
|
||||
rule_id = ''
|
||||
if rule:
|
||||
@@ -85,8 +85,8 @@ def verify_rule(server, db_name, rule_name):
|
||||
server['port'],
|
||||
server['sslmode'])
|
||||
pg_cursor = connection.cursor()
|
||||
pg_cursor.execute("select * from pg_rewrite where rulename='%s'" %
|
||||
rule_name)
|
||||
pg_cursor.execute("select * from pg_catalog.pg_rewrite where "
|
||||
"rulename='%s'" % rule_name)
|
||||
rule = pg_cursor.fetchone()
|
||||
connection.close()
|
||||
return rule
|
||||
|
@@ -6,7 +6,7 @@ SELECT att.attname as name, att.atttypid, att.attlen, att.attnum, att.attndims,
|
||||
pg_catalog.format_type(ty.oid,att.atttypmod) AS displaytypname,
|
||||
pg_catalog.format_type(ty.oid,att.atttypmod) AS cltype,
|
||||
CASE WHEN ty.typelem > 0 THEN ty.typelem ELSE ty.oid END as elemoid,
|
||||
(SELECT nspname FROM pg_namespace WHERE oid = ty.typnamespace) as typnspname,
|
||||
(SELECT nspname FROM pg_catalog.pg_namespace WHERE oid = ty.typnamespace) as typnspname,
|
||||
ty.typstorage AS defaultstorage,
|
||||
description, pi.indkey,
|
||||
(SELECT count(1) FROM pg_catalog.pg_type t2 WHERE t2.typname=ty.typname) > 1 AS isdup,
|
||||
|
@@ -28,7 +28,7 @@ FROM pg_catalog.pg_attribute att
|
||||
JOIN pg_catalog.pg_namespace na ON na.oid=cl.relnamespace
|
||||
LEFT OUTER JOIN pg_catalog.pg_type et ON et.oid=ty.typelem
|
||||
LEFT OUTER JOIN pg_catalog.pg_attrdef def ON adrelid=att.attrelid AND adnum=att.attnum
|
||||
LEFT OUTER JOIN pg_description des ON (des.objoid=att.attrelid AND des.objsubid=att.attnum AND des.classoid='pg_class'::regclass)
|
||||
LEFT OUTER JOIN pg_catalog.pg_description des ON (des.objoid=att.attrelid AND des.objsubid=att.attnum AND des.classoid='pg_class'::regclass)
|
||||
LEFT OUTER JOIN (pg_catalog.pg_depend JOIN pg_catalog.pg_class cs ON classid='pg_class'::regclass AND objid=cs.oid AND cs.relkind='S') ON refobjid=att.attrelid AND refobjsubid=att.attnum
|
||||
LEFT OUTER JOIN pg_catalog.pg_namespace ns ON ns.oid=cs.relnamespace
|
||||
LEFT OUTER JOIN pg_catalog.pg_index pi ON pi.indrelid=att.attrelid AND indisprimary
|
||||
|
@@ -13,7 +13,7 @@ SELECT att.attname as name, att.atttypid, att.attlen, att.attnum, att.attndims,
|
||||
pg_catalog.concat(pg_catalog.quote_ident(nspc.nspname),'.',pg_catalog.quote_ident(coll.collname))
|
||||
ELSE '' END AS collspcname,
|
||||
EXISTS(SELECT 1 FROM pg_catalog.pg_constraint WHERE conrelid=att.attrelid AND contype='f' AND att.attnum=ANY(conkey)) As is_fk,
|
||||
(SELECT array_agg(provider || '=' || label) FROM pg_catalog.pg_seclabels sl1 WHERE sl1.objoid=att.attrelid AND sl1.objsubid=att.attnum) AS seclabels,
|
||||
(SELECT pg_catalog.array_agg(provider || '=' || label) FROM pg_catalog.pg_seclabels sl1 WHERE sl1.objoid=att.attrelid AND sl1.objsubid=att.attnum) AS seclabels,
|
||||
(CASE WHEN (att.attnum < 1) THEN true ElSE false END) AS is_sys_column, tab.relname as relname,
|
||||
(CASE WHEN tab.relkind = 'v' THEN true ELSE false END) AS is_view_only
|
||||
FROM pg_catalog.pg_attribute att
|
||||
|
@@ -4,7 +4,7 @@ SELECT * FROM
|
||||
,typlen, typtype, t.oid, nspname,
|
||||
(SELECT COUNT(1) FROM pg_catalog.pg_type t2 WHERE t2.typname = t.typname) > 1 AS isdup
|
||||
FROM pg_catalog.pg_type t
|
||||
JOIN pg_namespace nsp ON typnamespace=nsp.oid
|
||||
JOIN pg_catalog.pg_namespace nsp ON typnamespace=nsp.oid
|
||||
WHERE (NOT (typname = 'unknown' AND nspname = 'pg_catalog'))
|
||||
AND typisdefined AND typtype IN ('b', 'c', 'd', 'e', 'r')
|
||||
AND NOT EXISTS (select 1 from pg_catalog.pg_class where relnamespace=typnamespace and relname = typname and relkind != 'c')
|
||||
|
@@ -3,7 +3,7 @@ SELECT cls.oid,
|
||||
indnkeyatts as col_count,
|
||||
amname,
|
||||
CASE WHEN length(spcname::text) > 0 THEN spcname ELSE
|
||||
(SELECT sp.spcname FROM pg_database dtb
|
||||
(SELECT sp.spcname FROM pg_catalog.pg_database dtb
|
||||
JOIN pg_catalog.pg_tablespace sp ON dtb.dattablespace=sp.oid
|
||||
WHERE dtb.oid = {{ did }}::oid)
|
||||
END as spcname,
|
||||
|
@@ -16,7 +16,7 @@ FROM pg_catalog.pg_index i
|
||||
JOIN pg_catalog.pg_attribute a ON (a.attrelid = i.indexrelid AND attnum = {{loop.index}})
|
||||
JOIN pg_catalog.pg_type ty ON ty.oid=a.atttypid
|
||||
LEFT OUTER JOIN pg_catalog.pg_opclass o ON (o.oid = i.indclass[{{loop.index -1}}])
|
||||
LEFT OUTER JOIN pg_catalog.pg_constraint c ON (c.conindid = i.indexrelid) LEFT OUTER JOIN pg_operator op ON (op.oid = c.conexclop[{{loop.index}}])
|
||||
LEFT OUTER JOIN pg_catalog.pg_constraint c ON (c.conindid = i.indexrelid) LEFT OUTER JOIN pg_catalog.pg_operator op ON (op.oid = c.conexclop[{{loop.index}}])
|
||||
LEFT OUTER JOIN pg_catalog.pg_collation coll ON a.attcollation=coll.oid
|
||||
LEFT OUTER JOIN pg_catalog.pg_namespace nspc ON coll.collnamespace=nspc.oid
|
||||
WHERE i.indexrelid = {{cid}}::oid
|
||||
|
@@ -32,7 +32,7 @@ class TestColumnForeignKeyGetConstraintCols(BaseTestGenerator):
|
||||
cursor = connection.cursor()
|
||||
cursor.execute("SELECT pg_class.oid as table_id, "
|
||||
"pg_attribute.attnum as column_id "
|
||||
"FROM pg_class join pg_attribute on "
|
||||
"FROM pg_catalog.pg_class join pg_attribute on "
|
||||
"attrelid=pg_class.oid "
|
||||
"where pg_class.relname='test_table'"
|
||||
" and pg_attribute.attname = 'some_column'")
|
||||
|
@@ -8,7 +8,7 @@ FROM (
|
||||
pg_catalog.unnest(indkey) AS table_colnum,
|
||||
pg_catalog.unnest(ARRAY(SELECT pg_catalog.generate_series(1, i.indnatts) AS n)) attnum
|
||||
FROM
|
||||
pg_index i
|
||||
pg_catalog.pg_index i
|
||||
WHERE i.indexrelid = {{cid}}::OID
|
||||
) i JOIN pg_catalog.pg_attribute a
|
||||
ON (a.attrelid = i.indrelid AND i.table_colnum = a.attnum)
|
||||
|
@@ -1,6 +1,6 @@
|
||||
SELECT rel.oid, rel.relname AS name, rel.reltablespace AS spcoid,rel.relacl AS relacl_str,
|
||||
(CASE WHEN length(spc.spcname::text) > 0 THEN spc.spcname ELSE
|
||||
(SELECT sp.spcname FROM pg_database dtb
|
||||
(SELECT sp.spcname FROM pg_catalog.pg_database dtb
|
||||
JOIN pg_catalog.pg_tablespace sp ON dtb.dattablespace=sp.oid
|
||||
WHERE dtb.oid = {{ did }}::oid)
|
||||
END) as spcname,
|
||||
@@ -14,8 +14,8 @@ SELECT rel.oid, rel.relname AS name, rel.reltablespace AS spcoid,rel.relacl AS r
|
||||
WHERE tgrelid=rel.oid) AS isrepl,
|
||||
(SELECT count(*) FROM pg_catalog.pg_trigger WHERE tgrelid=rel.oid AND tgisinternal = FALSE) AS triggercount,
|
||||
(SELECT ARRAY(SELECT CASE WHEN (nspname NOT LIKE 'pg\_%') THEN
|
||||
quote_ident(nspname)||'.'||quote_ident(c.relname)
|
||||
ELSE quote_ident(c.relname) END AS inherited_tables
|
||||
pg_catalog.quote_ident(nspname)||'.'||pg_catalog.quote_ident(c.relname)
|
||||
ELSE pg_catalog.quote_ident(c.relname) END AS inherited_tables
|
||||
FROM pg_catalog.pg_inherits i
|
||||
JOIN pg_catalog.pg_class c ON c.oid = i.inhparent
|
||||
JOIN pg_catalog.pg_namespace n ON n.oid=c.relnamespace
|
||||
@@ -50,7 +50,7 @@ SELECT rel.oid, rel.relname AS name, rel.reltablespace AS spcoid,rel.relacl AS r
|
||||
rel.reloptions AS reloptions, tst.reloptions AS toast_reloptions, rel.reloftype, typ.typname,
|
||||
typ.typrelid AS typoid,
|
||||
(CASE WHEN rel.reltoastrelid = 0 THEN false ELSE true END) AS hastoasttable,
|
||||
(SELECT array_agg(provider || '=' || label) FROM pg_catalog.pg_seclabels sl1 WHERE sl1.objoid=rel.oid AND sl1.objsubid=0) AS seclabels,
|
||||
(SELECT pg_catalog.array_agg(provider || '=' || label) FROM pg_catalog.pg_seclabels sl1 WHERE sl1.objoid=rel.oid AND sl1.objsubid=0) AS seclabels,
|
||||
(CASE WHEN rel.oid <= {{ datlastsysoid}}::oid THEN true ElSE false END) AS is_sys_table,
|
||||
-- Added for partition table
|
||||
(CASE WHEN rel.relkind = 'p' THEN true ELSE false END) AS is_partitioned,
|
||||
|
@@ -51,7 +51,7 @@ SELECT rel.oid, rel.relname AS name, rel.reltablespace AS spcoid,rel.relacl AS r
|
||||
CASE WHEN typ.typname IS NOT NULL THEN (select pg_catalog.quote_ident(nspname) FROM pg_catalog.pg_namespace WHERE oid = {{scid}}::oid )||'.'||pg_catalog.quote_ident(typ.typname) ELSE typ.typname END AS typname,
|
||||
typ.typrelid AS typoid,rel.relrowsecurity as rlspolicy, rel.relforcerowsecurity as forcerlspolicy,
|
||||
(CASE WHEN rel.reltoastrelid = 0 THEN false ELSE true END) AS hastoasttable,
|
||||
(SELECT array_agg(provider || '=' || label) FROM pg_catalog.pg_seclabels sl1 WHERE sl1.objoid=rel.oid AND sl1.objsubid=0) AS seclabels,
|
||||
(SELECT pg_catalog.array_agg(provider || '=' || label) FROM pg_catalog.pg_seclabels sl1 WHERE sl1.objoid=rel.oid AND sl1.objsubid=0) AS seclabels,
|
||||
(CASE WHEN rel.oid <= {{ datlastsysoid}}::oid THEN true ElSE false END) AS is_sys_table
|
||||
FROM pg_catalog.pg_class rel
|
||||
LEFT OUTER JOIN pg_catalog.pg_tablespace spc on spc.oid=rel.reltablespace
|
||||
|
@@ -1,4 +1,4 @@
|
||||
SELECT cl.oid as value, quote_ident(nspname)||'.'||quote_ident(relname) AS label
|
||||
SELECT cl.oid as value, pg_catalog.quote_ident(nspname)||'.'||pg_catalog.quote_ident(relname) AS label
|
||||
FROM pg_catalog.pg_namespace nsp, pg_class cl
|
||||
WHERE relnamespace=nsp.oid AND relkind='r'
|
||||
AND nsp.nspname NOT LIKE E'pg\_temp\_%'
|
||||
|
@@ -1,5 +1,5 @@
|
||||
SELECT nsp.nspname AS schema ,rel.relname AS table
|
||||
FROM pg_class rel
|
||||
FROM pg_catalog.pg_class rel
|
||||
JOIN pg_namespace nsp
|
||||
ON rel.relnamespace = nsp.oid::oid
|
||||
WHERE rel.oid = {{tid}}::oid
|
||||
WHERE rel.oid = {{tid}}::oid
|
||||
|
@@ -1,7 +1,7 @@
|
||||
SELECT t.oid,t.tgname AS name, t.xmin, t.tgenabled AS is_enable_trigger, t.*, relname, CASE WHEN relkind = 'r' THEN TRUE ELSE FALSE END AS parentistable,
|
||||
nspname, des.description, l.lanname, p.prosrc, p.proname AS tfunction,
|
||||
COALESCE(substring(pg_catalog.pg_get_triggerdef(t.oid, true), 'WHEN (.*) EXECUTE (PROCEDURE|FUNCTION)'),
|
||||
substring(pg_catalog.pg_get_triggerdef(t.oid, true), 'WHEN (.*) \$trigger')) AS whenclause,
|
||||
COALESCE(pg_catalog.substring(pg_catalog.pg_get_triggerdef(t.oid, true), 'WHEN (.*) EXECUTE (PROCEDURE|FUNCTION)'),
|
||||
pg_catalog.substring(pg_catalog.pg_get_triggerdef(t.oid, true), 'WHEN (.*) \$trigger')) AS whenclause,
|
||||
-- We need to convert tgargs column bytea datatype to array datatype
|
||||
(pg_catalog.string_to_array(encode(tgargs, 'escape'), E'\\000')::text[])[1:tgnargs] AS custom_tgargs,
|
||||
{% if datlastsysoid %}
|
||||
|
@@ -1,7 +1,7 @@
|
||||
SELECT t.oid,t.tgname AS name, t.xmin, t.tgenabled AS is_enable_trigger, t.*, relname, CASE WHEN relkind = 'r' THEN TRUE ELSE FALSE END AS parentistable,
|
||||
nspname, des.description, l.lanname, p.prosrc, p.proname AS tfunction,
|
||||
COALESCE(substring(pg_catalog.pg_get_triggerdef(t.oid, true), 'WHEN (.*) EXECUTE PROCEDURE'),
|
||||
substring(pg_catalog.pg_get_triggerdef(t.oid, true), 'WHEN (.*) \$trigger')) AS whenclause,
|
||||
COALESCE(pg_catalog.substring(pg_catalog.pg_get_triggerdef(t.oid, true), 'WHEN (.*) EXECUTE PROCEDURE'),
|
||||
pg_catalog.substring(pg_catalog.pg_get_triggerdef(t.oid, true), 'WHEN (.*) \$trigger')) AS whenclause,
|
||||
-- We need to convert tgargs column bytea datatype to array datatype
|
||||
(pg_catalog.string_to_array(encode(tgargs, 'escape'), E'\\000')::text[])[1:tgnargs] AS custom_tgargs,
|
||||
{% if datlastsysoid %}
|
||||
|
@@ -1,7 +1,7 @@
|
||||
SELECT t.oid,t.tgname AS name, t.xmin, t.tgenabled AS is_enable_trigger, t.*, relname, CASE WHEN relkind = 'r' THEN TRUE ELSE FALSE END AS parentistable,
|
||||
nspname, des.description, l.lanname, p.prosrc, p.proname AS tfunction,
|
||||
COALESCE(substring(pg_catalog.pg_get_triggerdef(t.oid, true), 'WHEN (.*) EXECUTE (PROCEDURE|FUNCTION)'),
|
||||
substring(pg_catalog.pg_get_triggerdef(t.oid, true), 'WHEN (.*) \$trigger')) AS whenclause,
|
||||
COALESCE(pg_catalog.substring(pg_catalog.pg_get_triggerdef(t.oid, true), 'WHEN (.*) EXECUTE (PROCEDURE|FUNCTION)'),
|
||||
pg_catalog.substring(pg_catalog.pg_get_triggerdef(t.oid, true), 'WHEN (.*) \$trigger')) AS whenclause,
|
||||
-- We need to convert tgargs column bytea datatype to array datatype
|
||||
(pg_catalog.string_to_array(encode(tgargs, 'escape'), E'\\000')::text[])[1:tgnargs] AS custom_tgargs,
|
||||
{% if datlastsysoid %}
|
||||
|
@@ -1,7 +1,7 @@
|
||||
SELECT t.oid,t.tgname AS name, t.xmin, t.tgenabled AS is_enable_trigger, t.*, relname, CASE WHEN relkind = 'r' THEN TRUE ELSE FALSE END AS parentistable,
|
||||
nspname, des.description, l.lanname, p.prosrc, p.proname AS tfunction,
|
||||
COALESCE(substring(pg_catalog.pg_get_triggerdef(t.oid, true), 'WHEN (.*) EXECUTE (PROCEDURE|FUNCTION)'),
|
||||
substring(pg_catalog.pg_get_triggerdef(t.oid, true), 'WHEN (.*) \$trigger')) AS whenclause,
|
||||
pg_catalog.substring(pg_catalog.pg_get_triggerdef(t.oid, true), 'WHEN (.*) \$trigger')) AS whenclause,
|
||||
-- We need to convert tgargs column bytea datatype to array datatype
|
||||
(pg_catalog.string_to_array(encode(tgargs, 'escape'), E'\\000')::text[])[1:tgnargs] AS custom_tgargs,
|
||||
{% if datlastsysoid %}
|
||||
|
@@ -1,7 +1,7 @@
|
||||
SELECT t.oid,t.tgname AS name, t.xmin, t.tgenabled AS is_enable_trigger, t.*, relname, CASE WHEN relkind = 'r' THEN TRUE ELSE FALSE END AS parentistable,
|
||||
nspname, des.description, l.lanname, p.prosrc, p.proname AS tfunction,
|
||||
COALESCE(substring(pg_catalog.pg_get_triggerdef(t.oid, true), 'WHEN (.*) EXECUTE PROCEDURE'),
|
||||
substring(pg_catalog.pg_get_triggerdef(t.oid, true), 'WHEN (.*) \$trigger')) AS whenclause,
|
||||
pg_catalog.substring(pg_catalog.pg_get_triggerdef(t.oid, true), 'WHEN (.*) \$trigger')) AS whenclause,
|
||||
-- We need to convert tgargs column bytea datatype to array datatype
|
||||
(pg_catalog.string_to_array(encode(tgargs, 'escape'), E'\\000')::text[])[1:tgnargs] AS custom_tgargs,
|
||||
{% if datlastsysoid %}
|
||||
|
@@ -28,7 +28,7 @@ class TestColumnAclSql(SQLTemplateTestBase):
|
||||
def test_setup(self, connection, cursor):
|
||||
cursor.execute("SELECT pg_class.oid AS table_id, "
|
||||
"pg_attribute.attnum AS column_id "
|
||||
"FROM pg_class JOIN pg_attribute ON "
|
||||
"FROM pg_catalog.pg_class JOIN pg_attribute ON "
|
||||
"attrelid=pg_class.oid "
|
||||
"WHERE pg_class.relname='test_table'"
|
||||
" AND pg_attribute.attname = 'some_column'")
|
||||
|
@@ -25,7 +25,8 @@ class TestColumnPropertiesSql(SQLTemplateTestBase):
|
||||
self.table_id = -1
|
||||
|
||||
def test_setup(self, connection, cursor):
|
||||
cursor.execute("SELECT oid FROM pg_class where relname='test_table'")
|
||||
cursor.execute("SELECT oid FROM pg_catalog.pg_class "
|
||||
"where relname='test_table'")
|
||||
|
||||
self.table_id = cursor.fetchone()[0]
|
||||
|
||||
|
@@ -26,7 +26,8 @@ class TestTablesAclSql(SQLTemplateTestBase):
|
||||
def test_setup(self, connection, cursor):
|
||||
cursor.execute("GRANT SELECT ON test_table TO PUBLIC")
|
||||
cursor = connection.cursor()
|
||||
cursor.execute("SELECT oid FROM pg_class WHERE relname='test_table'")
|
||||
cursor.execute("SELECT oid FROM pg_catalog.pg_class WHERE relname="
|
||||
"'test_table'")
|
||||
self.table_id = cursor.fetchone()[0]
|
||||
|
||||
def generate_sql(self, version):
|
||||
|
@@ -56,10 +56,11 @@ class TestTablesPropertiesSql(SQLTemplateTestBase):
|
||||
SELECT
|
||||
db.oid as did, datlastsysoid
|
||||
FROM
|
||||
pg_database db
|
||||
pg_catalog.pg_database db
|
||||
WHERE db.datname = '{0}'""".format(self.database_name)
|
||||
)
|
||||
self.database_id, self.last_system_oid = cursor.fetchone()
|
||||
|
||||
cursor.execute("SELECT oid FROM pg_class where relname='test_table'")
|
||||
cursor.execute("SELECT oid FROM pg_catalog.pg_class where relname="
|
||||
"'test_table'")
|
||||
self.table_id = cursor.fetchone()[0]
|
||||
|
@@ -28,7 +28,7 @@ class TestTriggerGetOidSql(SQLTemplateTestBase):
|
||||
def test_setup(self, connection, cursor):
|
||||
cursor.execute("SELECT pg_class.oid AS table_id, "
|
||||
"pg_attribute.attnum AS column_id "
|
||||
"FROM pg_class JOIN pg_attribute ON "
|
||||
"FROM pg_catalog.pg_class JOIN pg_attribute ON "
|
||||
"attrelid=pg_class.oid "
|
||||
"WHERE pg_class.relname='test_table'"
|
||||
" AND pg_attribute.attname = 'some_column'")
|
||||
|
@@ -25,7 +25,7 @@ class TestTriggerNodesSql(SQLTemplateTestBase):
|
||||
|
||||
def test_setup(self, connection, cursor):
|
||||
cursor.execute("SELECT pg_class.oid AS table_id "
|
||||
"FROM pg_class "
|
||||
"FROM pg_catalog.pg_class "
|
||||
"WHERE pg_class.relname='test_table'")
|
||||
self.table_id = cursor.fetchone()[0]
|
||||
|
||||
|
@@ -126,8 +126,8 @@ def create_table(server, db_name, schema_name, table_name, custom_query=None):
|
||||
connection.set_isolation_level(old_isolation_level)
|
||||
connection.commit()
|
||||
# Get 'oid' from newly created table
|
||||
pg_cursor.execute("select oid from pg_class where relname='%s'" %
|
||||
table_name)
|
||||
pg_cursor.execute("select oid from pg_catalog.pg_class "
|
||||
"where relname='%s'" % table_name)
|
||||
table = pg_cursor.fetchone()
|
||||
table_id = ''
|
||||
if table:
|
||||
@@ -159,8 +159,8 @@ def verify_table(server, db_name, table_id):
|
||||
server['port'],
|
||||
server['sslmode'])
|
||||
pg_cursor = connection.cursor()
|
||||
pg_cursor.execute("SELECT * FROM pg_class tb WHERE tb.oid=%s" %
|
||||
table_id)
|
||||
pg_cursor.execute("SELECT * FROM pg_catalog.pg_class tb "
|
||||
"WHERE tb.oid=%s" % table_id)
|
||||
table = pg_cursor.fetchone()
|
||||
connection.close()
|
||||
return table
|
||||
@@ -227,8 +227,8 @@ def create_table_for_partition(
|
||||
connection.set_isolation_level(old_isolation_level)
|
||||
connection.commit()
|
||||
# Get 'oid' from newly created table
|
||||
pg_cursor.execute("select oid from pg_class where relname='%s'" %
|
||||
table_name)
|
||||
pg_cursor.execute("select oid from pg_catalog.pg_class "
|
||||
"where relname='%s'" % table_name)
|
||||
table = pg_cursor.fetchone()
|
||||
table_id = ''
|
||||
if table:
|
||||
@@ -574,8 +574,8 @@ def get_table_id(server, db_name, table_name):
|
||||
server['port'],
|
||||
server['sslmode'])
|
||||
pg_cursor = connection.cursor()
|
||||
pg_cursor.execute("select oid from pg_class where relname='%s'" %
|
||||
table_name)
|
||||
pg_cursor.execute("select oid from pg_catalog.pg_class "
|
||||
"where relname='%s'" % table_name)
|
||||
table = pg_cursor.fetchone()
|
||||
if table:
|
||||
table_id = table[0]
|
||||
|
@@ -56,8 +56,8 @@ def create_trigger(server, db_name, schema_name, table_name, trigger_name,
|
||||
pg_cursor.execute(query)
|
||||
connection.set_isolation_level(old_isolation_level)
|
||||
connection.commit()
|
||||
pg_cursor.execute("SELECT oid FROM pg_trigger where tgname='%s'" %
|
||||
trigger_name)
|
||||
pg_cursor.execute("SELECT oid FROM pg_catalog.pg_trigger "
|
||||
"where tgname='%s'" % trigger_name)
|
||||
trigger = pg_cursor.fetchone()
|
||||
trigger_id = ''
|
||||
if trigger:
|
||||
@@ -89,8 +89,8 @@ def verify_trigger(server, db_name, trigger_name):
|
||||
server['port'],
|
||||
server['sslmode'])
|
||||
pg_cursor = connection.cursor()
|
||||
pg_cursor.execute("SELECT oid FROM pg_trigger where tgname='%s'" %
|
||||
trigger_name)
|
||||
pg_cursor.execute("SELECT oid FROM pg_catalog.pg_trigger "
|
||||
"where tgname='%s'" % trigger_name)
|
||||
trigger = pg_cursor.fetchone()
|
||||
connection.close()
|
||||
return trigger
|
||||
|
@@ -417,7 +417,7 @@ class BaseTableView(PGChildNodeView, BasePartitionTable, VacuumSettings):
|
||||
# if created then only add extended stats
|
||||
status, is_pgstattuple = self.conn.execute_scalar("""
|
||||
SELECT (count(extname) > 0) AS is_pgstattuple
|
||||
FROM pg_extension
|
||||
FROM pg_catalog.pg_extension
|
||||
WHERE extname='pgstattuple'
|
||||
""")
|
||||
if not status:
|
||||
|
@@ -1,12 +1,12 @@
|
||||
{% macro LIST(tbl) -%}
|
||||
({{ tbl }}.nspname = 'pg_catalog' AND EXISTS
|
||||
(SELECT 1 FROM pg_class WHERE relname = 'pg_class' AND
|
||||
(SELECT 1 FROM pg_catalog.pg_class WHERE relname = 'pg_class' AND
|
||||
relnamespace = {{ tbl }}.oid LIMIT 1)) OR
|
||||
({{ tbl }}.nspname = 'pgagent' AND EXISTS
|
||||
(SELECT 1 FROM pg_class WHERE relname = 'pga_job' AND
|
||||
(SELECT 1 FROM pg_catalog.pg_class WHERE relname = 'pga_job' AND
|
||||
relnamespace = {{ tbl }}.oid LIMIT 1)) OR
|
||||
({{ tbl }}.nspname = 'information_schema' AND EXISTS
|
||||
(SELECT 1 FROM pg_class WHERE relname = 'tables' AND
|
||||
(SELECT 1 FROM pg_catalog.pg_class WHERE relname = 'tables' AND
|
||||
relnamespace = {{ tbl }}.oid LIMIT 1))
|
||||
{%- endmacro %}
|
||||
{% macro IS_CATALOG_SCHEMA(schema_col_name) -%}
|
||||
|
@@ -11,7 +11,7 @@ SELECT
|
||||
(SELECT pg_catalog.array_to_string(defaclacl::text[], ', ') FROM pg_catalog.pg_default_acl WHERE defaclobjtype = 'f' AND defaclnamespace = nsp.oid) AS funcacl,
|
||||
(SELECT pg_catalog.array_agg(provider || '=' || label) FROM pg_catalog.pg_seclabels sl1 WHERE sl1.objoid=nsp.oid) AS seclabels
|
||||
FROM
|
||||
pg_namespace nsp
|
||||
pg_catalog.pg_namespace nsp
|
||||
LEFT OUTER JOIN pg_catalog.pg_description des ON
|
||||
(des.objoid=nsp.oid AND des.classoid='pg_namespace'::regclass)
|
||||
LEFT JOIN pg_catalog.pg_roles r ON (r.oid = nsp.nspowner)
|
||||
|
@@ -1,16 +1,16 @@
|
||||
{% macro LIST(tbl) -%}
|
||||
({{ tbl }}.nspname = 'pg_catalog' AND EXISTS
|
||||
(SELECT 1 FROM pg_class
|
||||
(SELECT 1 FROM pg_catalog.pg_class
|
||||
WHERE relname = 'pg_class' AND relnamespace = {{ tbl }}.oid LIMIT 1)) OR
|
||||
({{ tbl }}.nspname = 'pgagent' AND EXISTS
|
||||
(SELECT 1 FROM pg_class
|
||||
(SELECT 1 FROM pg_catalog.pg_class
|
||||
WHERE relname = 'pga_job' AND relnamespace = {{ tbl }}.oid LIMIT 1)) OR
|
||||
({{ tbl }}.nspname = 'information_schema' AND EXISTS
|
||||
(SELECT 1 FROM pg_class
|
||||
(SELECT 1 FROM pg_catalog.pg_class
|
||||
WHERE relname = 'tables' AND relnamespace = {{ tbl }}.oid LIMIT 1)) OR
|
||||
({{ tbl }}.nspname = 'dbo' OR {{ tbl }}.nspname = 'sys') OR
|
||||
({{ tbl }}.nspname = 'dbms_job_procedure' AND EXISTS
|
||||
(SELECT 1 FROM pg_proc
|
||||
(SELECT 1 FROM pg_catalog.pg_proc
|
||||
WHERE pronamespace = {{ tbl }}.oid and proname = 'run_job' LIMIT 1))
|
||||
{%- endmacro %}
|
||||
{% macro IS_CATALOG_SCHEMA(schema_col_name) -%}
|
||||
|
@@ -6,7 +6,7 @@ SELECT
|
||||
ELSE 3 END AS nsptyp,
|
||||
nsp.nspname AS name,
|
||||
nsp.oid,
|
||||
array_to_string(nsp.nspacl::text[], ', ') as acl,
|
||||
pg_catalog.array_to_string(nsp.nspacl::text[], ', ') as acl,
|
||||
r.rolname AS namespaceowner, description,
|
||||
pg_catalog.has_schema_privilege(nsp.oid, 'CREATE') AS can_create,
|
||||
{### Default ACL for Tables ###}
|
||||
|
@@ -64,7 +64,8 @@ def create_schema(connection, schema_name):
|
||||
connection.set_isolation_level(old_isolation_level)
|
||||
connection.commit()
|
||||
# Get schema details of newly created schema
|
||||
pg_cursor.execute("SELECT sch.oid, sch.nspname FROM pg_namespace sch"
|
||||
pg_cursor.execute("SELECT sch.oid, sch.nspname FROM "
|
||||
"pg_catalog.pg_namespace sch"
|
||||
" WHERE sch.nspname='%s'" % schema_name)
|
||||
schema = pg_cursor.fetchone()
|
||||
connection.close()
|
||||
@@ -83,7 +84,7 @@ def verify_schemas(server, db_name, schema_name):
|
||||
server['port'],
|
||||
server['sslmode'])
|
||||
pg_cursor = connection.cursor()
|
||||
pg_cursor.execute("SELECT oid,* FROM pg_namespace sch"
|
||||
pg_cursor.execute("SELECT oid,* FROM pg_catalog.pg_namespace sch"
|
||||
" WHERE sch.nspname='%s'" % schema_name)
|
||||
schema = pg_cursor.fetchone()
|
||||
connection.close()
|
||||
|
@@ -7,7 +7,7 @@ SELECT attnum, attname, pg_catalog.format_type(t.oid,NULL) AS typname, attndims,
|
||||
CASE WHEN t.typelem > 0 THEN t.typelem ELSE t.oid END as elemoid
|
||||
FROM pg_catalog.pg_attribute att
|
||||
JOIN pg_catalog.pg_type t ON t.oid=atttypid
|
||||
JOIN pg_namespace nsp ON t.typnamespace=nsp.oid
|
||||
JOIN pg_catalog.pg_namespace nsp ON t.typnamespace=nsp.oid
|
||||
LEFT OUTER JOIN pg_catalog.pg_type b ON t.typelem=b.oid
|
||||
LEFT OUTER JOIN pg_catalog.pg_collation c ON att.attcollation=c.oid
|
||||
LEFT OUTER JOIN pg_catalog.pg_namespace nspc ON c.collnamespace=nspc.oid
|
||||
@@ -30,7 +30,7 @@ SELECT rngsubtype, st.typname,
|
||||
CASE WHEN n.nspname IS NOT NULL THEN pg_catalog.concat(pg_catalog.quote_ident(n.nspname), '.', pg_catalog.quote_ident(col.collname)) ELSE col.collname END AS collname,
|
||||
rngsubopc, opc.opcname,
|
||||
rngcanonical, rngsubdiff
|
||||
FROM pg_range
|
||||
FROM pg_catalog.pg_range
|
||||
LEFT JOIN pg_catalog.pg_type st ON st.oid=rngsubtype
|
||||
LEFT JOIN pg_catalog.pg_collation col ON col.oid=rngcollation
|
||||
LEFT JOIN pg_catalog.pg_namespace n ON col.collnamespace=n.oid
|
||||
|
@@ -2,10 +2,10 @@ SELECT * FROM
|
||||
(SELECT pg_catalog.format_type(t.oid,NULL) AS typname,
|
||||
CASE WHEN typelem > 0 THEN typelem ELSE t.oid END AS elemoid,
|
||||
typlen, typtype, t.oid, nspname,
|
||||
(SELECT COUNT(1) FROM pg_type t2 WHERE t2.typname = t.typname) > 1 AS isdup,
|
||||
(SELECT COUNT(1) FROM pg_catalog.pg_type t2 WHERE t2.typname = t.typname) > 1 AS isdup,
|
||||
CASE WHEN t.typcollation != 0 THEN TRUE ELSE FALSE END AS is_collatable
|
||||
FROM pg_catalog.pg_type t
|
||||
JOIN pg_catalog.pg_namespace nsp ON typnamespace=nsp.oid
|
||||
WHERE (NOT (typname = 'unknown' AND nspname = 'pg_catalog')) AND typisdefined AND typtype IN ('b', 'c', 'd', 'e', 'r') AND NOT EXISTS (select 1 from pg_class where relnamespace=typnamespace and relname = typname and relkind != 'c') AND (typname not like '_%' OR NOT EXISTS (select 1 from pg_class where relnamespace=typnamespace and relname = substring(typname from 2)::name and relkind != 'c')) AND nsp.nspname != 'information_schema'
|
||||
WHERE (NOT (typname = 'unknown' AND nspname = 'pg_catalog')) AND typisdefined AND typtype IN ('b', 'c', 'd', 'e', 'r') AND NOT EXISTS (select 1 from pg_catalog.pg_class where relnamespace=typnamespace and relname = typname and relkind != 'c') AND (typname not like '_%' OR NOT EXISTS (select 1 from pg_catalog.pg_class where relnamespace=typnamespace and relname = substring(typname from 2)::name and relkind != 'c')) AND nsp.nspname != 'information_schema'
|
||||
) AS dummy
|
||||
ORDER BY nspname <> 'pg_catalog', nspname <> 'public', nspname, 1
|
||||
|
@@ -65,8 +65,8 @@ def create_type(server, db_name, schema_name, type_name):
|
||||
connection.set_isolation_level(old_isolation_level)
|
||||
connection.commit()
|
||||
# Get 'oid' from newly created type
|
||||
pg_cursor.execute(
|
||||
"select oid from pg_type where typname='%s'" % type_name)
|
||||
pg_cursor.execute("select oid from pg_catalog.pg_type "
|
||||
"where typname='%s'" % type_name)
|
||||
schema_type = pg_cursor.fetchone()
|
||||
type_id = schema_type[0]
|
||||
connection.close()
|
||||
@@ -94,8 +94,8 @@ def verify_type(server, db_name, type_name):
|
||||
server['host'],
|
||||
server['port'])
|
||||
pg_cursor = connection.cursor()
|
||||
pg_cursor.execute(
|
||||
"select oid from pg_type where typname='%s'" % type_name)
|
||||
pg_cursor.execute("select oid from pg_catalog.pg_type "
|
||||
"where typname='%s'" % type_name)
|
||||
schema_type = pg_cursor.fetchone()
|
||||
connection.close()
|
||||
return schema_type
|
||||
|
@@ -10,7 +10,7 @@ SELECT
|
||||
description As comment,
|
||||
pg_catalog.pg_get_viewdef(c.oid, true) AS definition,
|
||||
nsp.nspname AS schema,
|
||||
array_to_string(c.relacl::text[], ', ') AS acl,
|
||||
pg_catalog.array_to_string(c.relacl::text[], ', ') AS acl,
|
||||
{#=============Checks if it is system view================#}
|
||||
{% if vid and datlastsysoid %}
|
||||
CASE WHEN {{vid}} <= {{datlastsysoid}} THEN True ELSE False END AS system_view,
|
||||
|
@@ -93,7 +93,7 @@ def create_trigger_function_with_trigger(server, db_name, schema_name,
|
||||
connection.commit()
|
||||
# Get 'oid' from newly created function
|
||||
pg_cursor.execute("SELECT pro.oid, pro.proname FROM"
|
||||
" pg_proc pro WHERE pro.proname='%s'" %
|
||||
" pg_catalog.pg_proc pro WHERE pro.proname='%s'" %
|
||||
func_name)
|
||||
functions = pg_cursor.fetchone()
|
||||
connection.close()
|
||||
@@ -139,8 +139,8 @@ def create_trigger(server, db_name, schema_name, table_name, trigger_name,
|
||||
pg_cursor.execute(query)
|
||||
connection.set_isolation_level(old_isolation_level)
|
||||
connection.commit()
|
||||
pg_cursor.execute("SELECT oid FROM pg_trigger where tgname='%s'" %
|
||||
trigger_name)
|
||||
pg_cursor.execute("SELECT oid FROM pg_catalog.pg_trigger "
|
||||
"where tgname='%s'" % trigger_name)
|
||||
trigger = pg_cursor.fetchone()
|
||||
trigger_id = ''
|
||||
if trigger:
|
||||
@@ -184,8 +184,8 @@ def create_view(server, db_name, schema_name, view_name, sql_query=None,
|
||||
connection.set_isolation_level(old_isolation_level)
|
||||
connection.commit()
|
||||
# Get 'oid' from newly created view
|
||||
pg_cursor.execute("select oid from pg_class where relname='%s'" %
|
||||
view_name)
|
||||
pg_cursor.execute("select oid from pg_catalog.pg_class "
|
||||
"where relname='%s'" % view_name)
|
||||
view = pg_cursor.fetchone()
|
||||
view_id = view[0]
|
||||
connection.close()
|
||||
@@ -215,8 +215,8 @@ def verify_view(server, db_name, view_name):
|
||||
server['port'],
|
||||
server['sslmode'])
|
||||
pg_cursor = connection.cursor()
|
||||
pg_cursor.execute("select oid from pg_class where relname='%s'" %
|
||||
view_name)
|
||||
pg_cursor.execute("select oid from pg_catalog.pg_class "
|
||||
"where relname='%s'" % view_name)
|
||||
view = pg_cursor.fetchone()
|
||||
connection.close()
|
||||
return view
|
||||
@@ -236,8 +236,8 @@ def get_view_id(server, db_name, view_name):
|
||||
connection.set_isolation_level(0)
|
||||
pg_cursor = connection.cursor()
|
||||
# Get 'oid' from newly created view
|
||||
pg_cursor.execute("select oid from pg_class where relname='%s'" %
|
||||
view_name)
|
||||
pg_cursor.execute("select oid from pg_catalog.pg_class "
|
||||
"where relname='%s'" % view_name)
|
||||
view = pg_cursor.fetchone()
|
||||
view_id = None
|
||||
if view:
|
||||
|
@@ -71,9 +71,8 @@ def create_subscription(server, db_name, subscription_name):
|
||||
connection.set_isolation_level(old_isolation_level)
|
||||
connection.commit()
|
||||
# Get role oid of newly added subscription
|
||||
pg_cursor.execute("select oid from pg_subscription sub where "
|
||||
"sub.subname='%s'" %
|
||||
subscription_name)
|
||||
pg_cursor.execute("select oid from pg_catalog.pg_subscription sub "
|
||||
"where sub.subname='%s'" % subscription_name)
|
||||
subscription = pg_cursor.fetchone()
|
||||
subscription_id = ''
|
||||
if subscription:
|
||||
@@ -105,7 +104,7 @@ def verify_subscription(server, db_name, subscription_name):
|
||||
server['port'],
|
||||
server['sslmode'])
|
||||
pg_cursor = connection.cursor()
|
||||
pg_cursor.execute("select * from pg_subscription sub "
|
||||
pg_cursor.execute("select * from pg_catalog.pg_subscription sub "
|
||||
"where sub.subname='%s'" %
|
||||
subscription_name)
|
||||
subscription = pg_cursor.fetchone()
|
||||
@@ -138,7 +137,7 @@ def delete_subscription(server, db_name, subscription_name):
|
||||
server['sslmode'])
|
||||
pg_cursor = connection.cursor()
|
||||
|
||||
pg_cursor.execute("select * from pg_subscription sub where "
|
||||
pg_cursor.execute("select * from pg_catalog.pg_subscription sub where "
|
||||
"sub.subname='%s'" %
|
||||
subscription_name)
|
||||
subscription_count = pg_cursor.fetchone()
|
||||
|
@@ -8,13 +8,13 @@ SELECT
|
||||
{### Default ACL for Tables ###}
|
||||
(SELECT pg_catalog.array_to_string(ARRAY(
|
||||
SELECT pg_catalog.array_to_string(defaclacl::text[], ', ')
|
||||
FROM pg_default_acl
|
||||
FROM pg_catalog.pg_default_acl
|
||||
WHERE defaclobjtype = 'r' AND defaclnamespace = 0::OID
|
||||
), ', ')) AS tblacl,
|
||||
{### Default ACL for Sequnces ###}
|
||||
(SELECT pg_catalog.array_to_string(ARRAY(
|
||||
SELECT pg_catalog.array_to_string(defaclacl::text[], ', ')
|
||||
FROM pg_default_acl
|
||||
FROM pg_catalog.pg_default_acl
|
||||
WHERE defaclobjtype = 'S' AND defaclnamespace = 0::OID
|
||||
), ', ')) AS seqacl,
|
||||
{### Default ACL for Functions ###}
|
||||
|
@@ -8,7 +8,7 @@ SELECT
|
||||
{### Default ACL for Tables ###}
|
||||
(SELECT pg_catalog.array_to_string(ARRAY(
|
||||
SELECT pg_catalog.array_to_string(defaclacl::text[], ', ')
|
||||
FROM pg_default_acl
|
||||
FROM pg_catalog.pg_default_acl
|
||||
WHERE defaclobjtype = 'r' AND defaclnamespace = 0::OID
|
||||
), ', ')) AS tblacl,
|
||||
{### Default ACL for Sequnces ###}
|
||||
|
@@ -28,8 +28,8 @@ FROM
|
||||
grantee.oid AS grantee,
|
||||
pr.type AS privilege_type,
|
||||
pg_catalog.aclcontains(c.datacl, pg_catalog.makeaclitem(grantee.oid, u_grantor.oid, pr.type, true)) AS is_grantable
|
||||
FROM pg_catalog.pg_database c, pg_authid u_grantor, (
|
||||
SELECT pg_authid.oid, pg_authid.rolname
|
||||
FROM pg_catalog.pg_database c, pg_catalog.pg_authid u_grantor, (
|
||||
SELECT pg_catalog.pg_authid.oid, pg_catalog.pg_authid.rolname
|
||||
FROM pg_catalog.pg_authid
|
||||
UNION ALL
|
||||
SELECT 0::oid AS oid, 'PUBLIC') grantee(oid, rolname),
|
||||
|
@@ -64,8 +64,8 @@ SELECT
|
||||
WHERE EXISTS(
|
||||
SELECT has_schema_privilege('pgagent', 'USAGE')
|
||||
WHERE EXISTS(
|
||||
SELECT cl.oid FROM pg_class cl
|
||||
LEFT JOIN pg_namespace ns ON ns.oid=relnamespace
|
||||
SELECT cl.oid FROM pg_catalog.pg_class cl
|
||||
LEFT JOIN pg_catalog.pg_namespace ns ON ns.oid=relnamespace
|
||||
WHERE relname='pga_job' AND nspname='pgagent'
|
||||
)
|
||||
)
|
||||
|
@@ -106,8 +106,8 @@ def is_pgagent_installed_on_server(self):
|
||||
WHERE EXISTS(
|
||||
SELECT has_schema_privilege('pgagent', 'USAGE')
|
||||
WHERE EXISTS(
|
||||
SELECT cl.oid FROM pg_class cl
|
||||
LEFT JOIN pg_namespace ns ON ns.oid=relnamespace
|
||||
SELECT cl.oid FROM pg_catalog.pg_class cl
|
||||
LEFT JOIN pg_catalog.pg_namespace ns ON ns.oid=relnamespace
|
||||
WHERE relname='pga_job' AND nspname='pgagent'
|
||||
)
|
||||
)
|
||||
|
@@ -33,7 +33,7 @@ CREATE ROLE {{ conn|qtIdent(data.rolname) }} WITH{% if data.rolcanlogin and data
|
||||
PASSWORD {% if data.rolpassword is none %}NULL{% else %}{% if dummy %}'xxxxxx'{% else %} {{ data.rolpassword | qtLiteral }}{% endif %}{% endif %}{% endif %};{% if data.rolsuper and data.rolcatupdate is sameas false %}
|
||||
|
||||
|
||||
UPDATE pg_authid SET rolcatupdate=false WHERE rolname = {{ data.rolname|qtLiteral }};{% endif %}{% if data.members and data.members|length > 0 %}
|
||||
UPDATE pg_catalog.pg_authid SET rolcatupdate=false WHERE rolname = {{ data.rolname|qtLiteral }};{% endif %}{% if data.members and data.members|length > 0 %}
|
||||
|
||||
|
||||
GRANT {{ conn|qtIdent(data.members)|join(', ') }} TO {{ conn|qtIdent(data.rolname) }};{% endif %}{% if data.admins and data.admins|length > 0 %}
|
||||
|
@@ -18,7 +18,7 @@ FROM
|
||||
CASE WHEN rolconnlimit > 0 THEN E'\n CONNECTION LIMIT ' || rolconnlimit ELSE '' END ||
|
||||
CASE WHEN rolvaliduntil IS NOT NULL THEN E'\n VALID UNTIL ' || pg_catalog.quote_literal(rolvaliduntil::text) ELSE '' END || ';' ||
|
||||
-- PostgreSQL < 9.5
|
||||
CASE WHEN rolsuper AND NOT rolcatupdate THEN E'\n\nUPDATE pg_authid SET rolcatupdate=false WHERE rolname=' || pg_catalog.quote_literal(rolname) || ';' ELSE '' END AS sql
|
||||
CASE WHEN rolsuper AND NOT rolcatupdate THEN E'\n\nUPDATE pg_catalog.pg_authid SET rolcatupdate=false WHERE rolname=' || pg_catalog.quote_literal(rolname) || ';' ELSE '' END AS sql
|
||||
FROM
|
||||
pg_catalog.pg_roles r
|
||||
WHERE
|
||||
|
@@ -50,7 +50,7 @@ ALTER ROLE {{ conn|qtIdent(rolname) }}{% if 'rolcanlogin' in data %}
|
||||
data.rolsuper %}
|
||||
|
||||
|
||||
UPDATE pg_authid SET rolcatupdate=false WHERE rolname = {{ rolname|qtLiteral }};
|
||||
UPDATE pg_catalog.pg_authid SET rolcatupdate=false WHERE rolname = {{ rolname|qtLiteral }};
|
||||
|
||||
{% elif
|
||||
rolSuper and
|
||||
@@ -59,12 +59,12 @@ UPDATE pg_authid SET rolcatupdate=false WHERE rolname = {{ rolname|qtLiteral }};
|
||||
{% if data.rolcatupdate %}
|
||||
|
||||
|
||||
UPDATE pg_authid SET rolcatupdate=true WHERE rolname = {{ rolname|qtLiteral }};
|
||||
UPDATE pg_catalog.pg_authid SET rolcatupdate=true WHERE rolname = {{ rolname|qtLiteral }};
|
||||
|
||||
{% else %}
|
||||
|
||||
|
||||
UPDATE pg_authid SET rolcatupdate=false WHERE rolname = {{ rolname|qtLiteral }};
|
||||
UPDATE pg_catalog.pg_authid SET rolcatupdate=false WHERE rolname = {{ rolname|qtLiteral }};
|
||||
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
@@ -81,7 +81,7 @@ FROM
|
||||
datname, pg_catalog.split_part(rolconfig, '=', 1) AS param, pg_catalog.replace(rolconfig, pg_catalog.split_part(rolconfig, '=', 1) || '=', '') AS value
|
||||
FROM
|
||||
(SELECT
|
||||
d.datname, unnest(c.setconfig) AS rolconfig
|
||||
d.datname, pg_catalog.unnest(c.setconfig) AS rolconfig
|
||||
FROM
|
||||
(SELECT *
|
||||
FROM
|
||||
|
@@ -10,6 +10,6 @@ CREATE ROLE "Role1_$%{}[]()&*^!@""'`\/#" WITH
|
||||
REPLICATION;
|
||||
|
||||
|
||||
UPDATE pg_authid SET rolcatupdate=false WHERE rolname = 'Role1_$%{}[]()&*^!@"''`\/#';
|
||||
UPDATE pg_catalog.pg_authid SET rolcatupdate=false WHERE rolname = 'Role1_$%{}[]()&*^!@"''`\/#';
|
||||
|
||||
COMMENT ON ROLE "Role1_$%{}[]()&*^!@""'`\/#" IS 'This is detailed description';
|
||||
|
@@ -10,6 +10,6 @@ CREATE ROLE "Role2_$%{}[]()&*^!@""'`\/#" WITH
|
||||
REPLICATION;
|
||||
|
||||
|
||||
UPDATE pg_authid SET rolcatupdate=false WHERE rolname = 'Role2_$%{}[]()&*^!@"''`\/#'';
|
||||
UPDATE pg_catalog.pg_authid SET rolcatupdate=false WHERE rolname = 'Role2_$%{}[]()&*^!@"''`\/#'';
|
||||
|
||||
COMMENT ON ROLE "Role2_$%{}[]()&*^!@""'`\/#" IS 'This is detailed description';
|
||||
|
@@ -37,5 +37,5 @@ COMMENT ON TABLESPACE {{ conn|qtIdent(data.name) }}
|
||||
{% endif %}
|
||||
{# ======== The SQl Below will fetch id for given dataspace ======== #}
|
||||
{% if tablespace %}
|
||||
SELECT ts.oid FROM pg_tablespace ts WHERE spcname = {{tablespace|qtLiteral}};
|
||||
SELECT ts.oid FROM pg_catalog.pg_tablespace ts WHERE spcname = {{tablespace|qtLiteral}};
|
||||
{% endif %}
|
||||
|
@@ -63,8 +63,8 @@ def create_tablespace(server, test_tablespace_name, test_tablespace_dir=None):
|
||||
|
||||
# Get 'oid' from newly created tablespace
|
||||
pg_cursor.execute(
|
||||
"SELECT ts.oid from pg_tablespace ts WHERE ts.spcname='%s'" %
|
||||
test_tablespace_name)
|
||||
"SELECT ts.oid from pg_catalog.pg_tablespace ts "
|
||||
"WHERE ts.spcname='%s'" % test_tablespace_name)
|
||||
oid = pg_cursor.fetchone()
|
||||
tspc_id = ''
|
||||
if oid:
|
||||
@@ -93,7 +93,7 @@ def verify_table_space(server, test_tablespace_name):
|
||||
server['port'],
|
||||
server['sslmode'])
|
||||
pg_cursor = connection.cursor()
|
||||
pg_cursor.execute("SELECT * FROM pg_tablespace ts WHERE"
|
||||
pg_cursor.execute("SELECT * FROM pg_catalog.pg_tablespace ts WHERE"
|
||||
" ts.spcname='%s'" % test_tablespace_name)
|
||||
tablespace_count = len(pg_cursor.fetchall())
|
||||
connection.close()
|
||||
@@ -107,7 +107,7 @@ def verify_table_space(server, test_tablespace_name):
|
||||
def delete_tablespace(connection, test_tablespace_name):
|
||||
try:
|
||||
pg_cursor = connection.cursor()
|
||||
pg_cursor.execute("SELECT * FROM pg_tablespace ts WHERE"
|
||||
pg_cursor.execute("SELECT * FROM pg_catalog.pg_tablespace ts WHERE"
|
||||
" ts.spcname='%s'" % test_tablespace_name)
|
||||
tablespace_count = len(pg_cursor.fetchall())
|
||||
if tablespace_count:
|
||||
|
@@ -68,7 +68,7 @@ LEFT JOIN pg_catalog.pg_namespace ftstns ON ftst.tmplnamespace=ftstns.oid
|
||||
LEFT JOIN pg_catalog.pg_extension ext ON ext.oid=dep.objid
|
||||
LEFT JOIN pg_catalog.pg_policy pl ON pl.oid=dep.objid
|
||||
{{where_clause}} AND
|
||||
classid IN ( SELECT oid FROM pg_class WHERE relname IN
|
||||
classid IN ( SELECT oid FROM pg_catalog.pg_class WHERE relname IN
|
||||
('pg_class', 'pg_constraint', 'pg_conversion', 'pg_language', 'pg_proc', 'pg_rewrite', 'pg_namespace',
|
||||
'pg_trigger', 'pg_type', 'pg_attrdef', 'pg_event_trigger', 'pg_foreign_server', 'pg_foreign_data_wrapper',
|
||||
'pg_collation', 'pg_ts_config', 'pg_ts_dict', 'pg_ts_parser', 'pg_ts_template', 'pg_extension', 'pg_policy'))
|
||||
|
@@ -1,8 +1,8 @@
|
||||
SELECT rolname AS refname, refclassid, deptype
|
||||
FROM pg_shdepend dep
|
||||
LEFT JOIN pg_roles r ON refclassid=1260 AND refobjid=r.oid
|
||||
FROM pg_catalog.pg_shdepend dep
|
||||
LEFT JOIN pg_catalog.pg_roles r ON refclassid=1260 AND refobjid=r.oid
|
||||
{{where_clause}}
|
||||
{% if db_name %}
|
||||
AND dep.dbid = (SELECT oid FROM pg_database WHERE datname = {{ db_name|qtLiteral }})
|
||||
AND dep.dbid = (SELECT oid FROM pg_catalog.pg_database WHERE datname = {{ db_name|qtLiteral }})
|
||||
{% endif %}
|
||||
ORDER BY 1
|
||||
|
@@ -25,8 +25,8 @@ class TestDependenciesSql(SQLTemplateTestBase):
|
||||
self.table_id = -1
|
||||
|
||||
def test_setup(self, connection, cursor):
|
||||
cursor.execute("SELECT pg_class.oid AS table_id "
|
||||
"FROM pg_class "
|
||||
cursor.execute("SELECT pg_catalog.pg_class.oid AS table_id "
|
||||
"FROM pg_catalog.pg_class "
|
||||
"WHERE pg_class.relname='test_table'")
|
||||
self.table_id = cursor.fetchone()[0]
|
||||
|
||||
|
@@ -26,7 +26,7 @@ class TestDependentsSql(SQLTemplateTestBase):
|
||||
|
||||
def test_setup(self, connection, cursor):
|
||||
cursor.execute("SELECT pg_class.oid AS table_id "
|
||||
"FROM pg_class "
|
||||
"FROM pg_catalog.pg_class "
|
||||
"WHERE pg_class.relname='test_table'")
|
||||
self.table_id = cursor.fetchone()[0]
|
||||
|
||||
|
@@ -48,7 +48,7 @@ class TestRoleDependenciesSql(SQLTemplateTestBase):
|
||||
database_name, "test_new_role_table")
|
||||
cursor = connection.cursor()
|
||||
cursor.execute("SELECT pg_class.oid AS table_id "
|
||||
"FROM pg_class "
|
||||
"FROM pg_catalog.pg_class "
|
||||
"WHERE pg_class.relname='test_new_role_table'")
|
||||
self.table_id = cursor.fetchone()[0]
|
||||
|
||||
|
@@ -374,7 +374,7 @@ ROLLBACK;"""
|
||||
-- 2. (Done) Create table in public schema.
|
||||
-- 3. (Done) ROLLBACK transaction.
|
||||
-- 4. Check if table is *NOT* created.
|
||||
SELECT relname FROM pg_class
|
||||
SELECT relname FROM pg_catalog.pg_class
|
||||
WHERE relkind IN ('r','s','t') and relnamespace = 2200::oid;"""
|
||||
|
||||
self.page.execute_query(query)
|
||||
@@ -458,7 +458,7 @@ ROLLBACK;"""
|
||||
-- 3. (Done) Create table in public schema.
|
||||
-- 4. (Done) ROLLBACK transaction
|
||||
-- 5. Check if table is created event after ROLLBACK.
|
||||
SELECT relname FROM pg_class
|
||||
SELECT relname FROM pg_catalog.pg_class
|
||||
WHERE relkind IN ('r','s','t') and relnamespace = 2200::oid;"""
|
||||
|
||||
self.page.execute_query(query)
|
||||
@@ -553,7 +553,7 @@ END;"""
|
||||
-- 4. (Done) Generate error in transaction.
|
||||
-- 5. (Done) END transaction.
|
||||
-- 6. Check if table is *NOT* created after ending transaction.
|
||||
SELECT relname FROM pg_class
|
||||
SELECT relname FROM pg_catalog.pg_class
|
||||
WHERE relkind IN ('r','s','t') and relnamespace = 2200::oid;"""
|
||||
self.page.execute_query(query)
|
||||
self.page.wait_for_query_tool_loading_indicator_to_disappear()
|
||||
@@ -687,7 +687,8 @@ SELECT 1, pg_sleep(300)"""
|
||||
self.page.execute_query("SET jit_above_cost=10;")
|
||||
self.page.clear_query_tool()
|
||||
|
||||
self.page.fill_codemirror_area_with("SELECT count(*) FROM pg_class;")
|
||||
self.page.fill_codemirror_area_with(
|
||||
"SELECT count(*) FROM pg_catalog.pg_class;")
|
||||
explain_op = self.page.find_by_css_selector(
|
||||
QueryToolLocators.btn_explain_options_dropdown)
|
||||
explain_op.click()
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user