Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit262e821

Browse files
committed
Update information_schema queries and system views for new relkind.
The original table partitioning patch overlooked this.Discussion:http://postgr.es/m/CAG1_KcDJiZB=L6yOUO_bVufj2q2851_xdkfhw0JdcD_2VtKssw@mail.gmail.comKeith Fiske and Amit Langote, adjusted by me.
1 parent9a34123 commit262e821

File tree

3 files changed

+24
-24
lines changed

3 files changed

+24
-24
lines changed

‎src/backend/catalog/information_schema.sql

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -453,7 +453,7 @@ CREATE VIEW check_constraints AS
453453
ANDa.attnum>0
454454
AND NOTa.attisdropped
455455
ANDa.attnotnull
456-
ANDr.relkind='r'
456+
ANDr.relkindIN ('r','P')
457457
AND pg_has_role(r.relowner,'USAGE');
458458

459459
GRANTSELECTON check_constraints TO PUBLIC;
@@ -525,7 +525,7 @@ CREATE VIEW column_domain_usage AS
525525
ANDa.attrelid=c.oid
526526
ANDa.atttypid=t.oid
527527
ANDt.typtype='d'
528-
ANDc.relkindIN ('r','v','f')
528+
ANDc.relkindIN ('r','v','f','P')
529529
ANDa.attnum>0
530530
AND NOTa.attisdropped
531531
AND pg_has_role(t.typowner,'USAGE');
@@ -564,7 +564,7 @@ CREATE VIEW column_privileges AS
564564
pr_c.relowner
565565
FROM (SELECToid, relname, relnamespace, relowner, (aclexplode(coalesce(relacl, acldefault('r', relowner)))).*
566566
FROM pg_class
567-
WHERE relkindIN ('r','v','f')
567+
WHERE relkindIN ('r','v','f','P')
568568
) pr_c (oid, relname, relnamespace, relowner, grantor, grantee, prtype, grantable),
569569
pg_attribute a
570570
WHEREa.attrelid=pr_c.oid
@@ -586,7 +586,7 @@ CREATE VIEW column_privileges AS
586586
) pr_a (attrelid, attname, grantor, grantee, prtype, grantable),
587587
pg_class c
588588
WHEREpr_a.attrelid=c.oid
589-
AND relkindIN ('r','v','f')
589+
AND relkindIN ('r','v','f','P')
590590
) x,
591591
pg_namespace nc,
592592
pg_authid u_grantor,
@@ -629,7 +629,7 @@ CREATE VIEW column_udt_usage AS
629629
WHEREa.attrelid=c.oid
630630
ANDa.atttypid=t.oid
631631
ANDnc.oid=c.relnamespace
632-
ANDa.attnum>0AND NOTa.attisdroppedANDc.relkindin ('r','v','f')
632+
ANDa.attnum>0AND NOTa.attisdroppedANDc.relkindin ('r','v','f','P')
633633
AND pg_has_role(coalesce(bt.typowner,t.typowner),'USAGE');
634634

635635
GRANTSELECTON column_udt_usage TO PUBLIC;
@@ -738,7 +738,7 @@ CREATE VIEW columns AS
738738
CAST('NEVER'AS character_data)AS is_generated,
739739
CAST(nullAS character_data)AS generation_expression,
740740

741-
CAST(CASE WHENc.relkind='r'OR
741+
CAST(CASE WHENc.relkindIN ('r','P')OR
742742
(c.relkindIN ('v','f')AND
743743
pg_column_is_updatable(c.oid,a.attnum, false))
744744
THEN'YES' ELSE'NO' ENDAS yes_or_no)AS is_updatable
@@ -753,7 +753,7 @@ CREATE VIEW columns AS
753753

754754
WHERE (NOT pg_is_other_temp_schema(nc.oid))
755755

756-
ANDa.attnum>0AND NOTa.attisdroppedANDc.relkindin ('r','v','f')
756+
ANDa.attnum>0AND NOTa.attisdroppedANDc.relkindin ('r','v','f','P')
757757

758758
AND (pg_has_role(c.relowner,'USAGE')
759759
OR has_column_privilege(c.oid,a.attnum,
@@ -789,7 +789,7 @@ CREATE VIEW constraint_column_usage AS
789789
ANDd.objid=c.oid
790790
ANDc.connamespace=nc.oid
791791
ANDc.contype='c'
792-
ANDr.relkind='r'
792+
ANDr.relkindIN ('r','P')
793793
AND NOTa.attisdropped
794794

795795
UNION ALL
@@ -805,7 +805,7 @@ CREATE VIEW constraint_column_usage AS
805805
ELSEr.oid=c.conrelidANDa.attnum= ANY (c.conkey) END)
806806
AND NOTa.attisdropped
807807
ANDc.contypeIN ('p','u','f')
808-
ANDr.relkind='r'
808+
ANDr.relkindIN ('r','P')
809809

810810
)AS x (tblschema, tblname, tblowner, colname, cstrschema, cstrname)
811811

@@ -841,7 +841,7 @@ CREATE VIEW constraint_table_usage AS
841841
WHEREc.connamespace=nc.oidANDr.relnamespace=nr.oid
842842
AND ( (c.contype='f'ANDc.confrelid=r.oid)
843843
OR (c.contypeIN ('p','u')ANDc.conrelid=r.oid) )
844-
ANDr.relkind='r'
844+
ANDr.relkindIN ('r','P')
845845
AND pg_has_role(r.relowner,'USAGE');
846846

847847
GRANTSELECTON constraint_table_usage TO PUBLIC;
@@ -1058,7 +1058,7 @@ CREATE VIEW key_column_usage AS
10581058
ANDr.oid=c.conrelid
10591059
ANDnc.oid=c.connamespace
10601060
ANDc.contypeIN ('p','u','f')
1061-
ANDr.relkind='r'
1061+
ANDr.relkindIN ('r','P')
10621062
AND (NOT pg_is_other_temp_schema(nr.oid)) )AS ss
10631063
WHEREss.roid=a.attrelid
10641064
ANDa.attnum= (ss.x).x
@@ -1774,7 +1774,7 @@ CREATE VIEW table_constraints AS
17741774
WHEREnc.oid=c.connamespaceANDnr.oid=r.relnamespace
17751775
ANDc.conrelid=r.oid
17761776
ANDc.contype NOTIN ('t','x')-- ignore nonstandard constraints
1777-
ANDr.relkind='r'
1777+
ANDr.relkindIN ('r','P')
17781778
AND (NOT pg_is_other_temp_schema(nr.oid))
17791779
AND (pg_has_role(r.relowner,'USAGE')
17801780
-- SELECT privilege omitted, per SQL standard
@@ -1804,7 +1804,7 @@ CREATE VIEW table_constraints AS
18041804
ANDa.attnotnull
18051805
ANDa.attnum>0
18061806
AND NOTa.attisdropped
1807-
ANDr.relkind='r'
1807+
ANDr.relkindIN ('r','P')
18081808
AND (NOT pg_is_other_temp_schema(nr.oid))
18091809
AND (pg_has_role(r.relowner,'USAGE')
18101810
-- SELECT privilege omitted, per SQL standard
@@ -1854,7 +1854,7 @@ CREATE VIEW table_privileges AS
18541854
)AS grantee (oid, rolname)
18551855

18561856
WHEREc.relnamespace=nc.oid
1857-
ANDc.relkindIN ('r','v')
1857+
ANDc.relkindIN ('r','v','P')
18581858
ANDc.grantee=grantee.oid
18591859
ANDc.grantor=u_grantor.oid
18601860
ANDc.prtypeIN ('INSERT','SELECT','UPDATE','DELETE','TRUNCATE','REFERENCES','TRIGGER')
@@ -1898,7 +1898,7 @@ CREATE VIEW tables AS
18981898

18991899
CAST(
19001900
CASE WHENnc.oid= pg_my_temp_schema() THEN'LOCAL TEMPORARY'
1901-
WHENc.relkind='r' THEN'BASE TABLE'
1901+
WHENc.relkindIN ('r','P') THEN'BASE TABLE'
19021902
WHENc.relkind='v' THEN'VIEW'
19031903
WHENc.relkind='f' THEN'FOREIGN TABLE'
19041904
ELSEnull END
@@ -1911,7 +1911,7 @@ CREATE VIEW tables AS
19111911
CAST(nt.nspnameAS sql_identifier)AS user_defined_type_schema,
19121912
CAST(t.typnameAS sql_identifier)AS user_defined_type_name,
19131913

1914-
CAST(CASE WHENc.relkind='r'OR
1914+
CAST(CASE WHENc.relkindIN ('r','P')OR
19151915
(c.relkindIN ('v','f')AND
19161916
-- 1 << CMD_INSERT
19171917
pg_relation_is_updatable(c.oid, false) &8=8)
@@ -1923,7 +1923,7 @@ CREATE VIEW tables AS
19231923
FROM pg_namespace ncJOIN pg_class cON (nc.oid=c.relnamespace)
19241924
LEFT JOIN (pg_type tJOIN pg_namespace ntON (t.typnamespace=nt.oid))ON (c.reloftype=t.oid)
19251925

1926-
WHEREc.relkindIN ('r','v','f')
1926+
WHEREc.relkindIN ('r','v','f','P')
19271927
AND (NOT pg_is_other_temp_schema(nc.oid))
19281928
AND (pg_has_role(c.relowner,'USAGE')
19291929
OR has_table_privilege(c.oid,'SELECT, INSERT, UPDATE, DELETE, TRUNCATE, REFERENCES, TRIGGER')
@@ -2442,7 +2442,7 @@ CREATE VIEW view_column_usage AS
24422442
ANDdt.refclassid='pg_catalog.pg_class'::regclass
24432443
ANDdt.refobjid=t.oid
24442444
ANDt.relnamespace=nt.oid
2445-
ANDt.relkindIN ('r','v','f')
2445+
ANDt.relkindIN ('r','v','f','P')
24462446
ANDt.oid=a.attrelid
24472447
ANDdt.refobjsubid=a.attnum
24482448
AND pg_has_role(t.relowner,'USAGE');
@@ -2520,7 +2520,7 @@ CREATE VIEW view_table_usage AS
25202520
ANDdt.refclassid='pg_catalog.pg_class'::regclass
25212521
ANDdt.refobjid=t.oid
25222522
ANDt.relnamespace=nt.oid
2523-
ANDt.relkindIN ('r','v','f')
2523+
ANDt.relkindIN ('r','v','f','P')
25242524
AND pg_has_role(t.relowner,'USAGE');
25252525

25262526
GRANTSELECTON view_table_usage TO PUBLIC;
@@ -2673,7 +2673,7 @@ CREATE VIEW element_types AS
26732673
a.attnum,a.atttypid,a.attcollation
26742674
FROM pg_class c, pg_attribute a
26752675
WHEREc.oid=a.attrelid
2676-
ANDc.relkindIN ('r','v','f','c')
2676+
ANDc.relkindIN ('r','v','f','c','P')
26772677
AND attnum>0AND NOT attisdropped
26782678

26792679
UNION ALL

‎src/backend/catalog/system_views.sql

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ CREATE VIEW pg_tables AS
136136
C.relrowsecurityAS rowsecurity
137137
FROM pg_class CLEFT JOIN pg_namespace NON (N.oid=C.relnamespace)
138138
LEFT JOIN pg_tablespace TON (T.oid=C.reltablespace)
139-
WHEREC.relkind='r';
139+
WHEREC.relkindIN ('r','P');
140140

141141
CREATEVIEWpg_matviewsAS
142142
SELECT
@@ -280,7 +280,7 @@ CREATE VIEW pg_prepared_statements AS
280280
CREATEVIEWpg_seclabelsAS
281281
SELECT
282282
l.objoid,l.classoid,l.objsubid,
283-
CASE WHENrel.relkind='r' THEN'table'::text
283+
CASE WHENrel.relkindIN ('r','P') THEN'table'::text
284284
WHENrel.relkind='v' THEN'view'::text
285285
WHENrel.relkind='m' THEN'materialized view'::text
286286
WHENrel.relkind='S' THEN'sequence'::text

‎src/test/regress/expected/rules.out

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1463,7 +1463,7 @@ pg_seclabels| SELECT l.objoid,
14631463
l.classoid,
14641464
l.objsubid,
14651465
CASE
1466-
WHEN (rel.relkind = 'r'::"char") THEN 'table'::text
1466+
WHEN (rel.relkind =ANY (ARRAY['r'::"char", 'P'::"char"])) THEN 'table'::text
14671467
WHEN (rel.relkind = 'v'::"char") THEN 'view'::text
14681468
WHEN (rel.relkind = 'm'::"char") THEN 'materialized view'::text
14691469
WHEN (rel.relkind = 'S'::"char") THEN 'sequence'::text
@@ -2139,7 +2139,7 @@ pg_tables| SELECT n.nspname AS schemaname,
21392139
FROM ((pg_class c
21402140
LEFT JOIN pg_namespace n ON ((n.oid = c.relnamespace)))
21412141
LEFT JOIN pg_tablespace t ON ((t.oid = c.reltablespace)))
2142-
WHERE (c.relkind = 'r'::"char");
2142+
WHERE (c.relkind =ANY (ARRAY['r'::"char", 'P'::"char"]));
21432143
pg_timezone_abbrevs| SELECT pg_timezone_abbrevs.abbrev,
21442144
pg_timezone_abbrevs.utc_offset,
21452145
pg_timezone_abbrevs.is_dst

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp