From 837c464069f34ff8e3e351a2e0b4e8aed4dc91d8 Mon Sep 17 00:00:00 2001 From: Nathan VanBenschoten Date: Fri, 2 Mar 2018 14:40:14 -0500 Subject: [PATCH] sql: Add pg_description table to pg_catalog The `pg_language` table registers languages in which users can write functions or stored procedures. Release note (sql change): Added pg_language table to the pg_catalog. --- pkg/sql/logictest/testdata/logic_test/explain | 4 ++-- .../testdata/logic_test/information_schema | 3 +++ .../logictest/testdata/logic_test/pg_catalog | 2 ++ pkg/sql/pg_catalog.go | 22 +++++++++++++++++++ 4 files changed, 29 insertions(+), 2 deletions(-) diff --git a/pkg/sql/logictest/testdata/logic_test/explain b/pkg/sql/logictest/testdata/logic_test/explain index 2090b84ea612..9de56c36214c 100644 --- a/pkg/sql/logictest/testdata/logic_test/explain +++ b/pkg/sql/logictest/testdata/logic_test/explain @@ -167,7 +167,7 @@ sort · · └── render · · └── filter · · └── values · · -· size 5 columns, 80 rows +· size 5 columns, 81 rows query TTT EXPLAIN SHOW DATABASE @@ -230,7 +230,7 @@ sort · · ├── render · · │ └── filter · · │ └── values · · - │ size 17 columns, 729 rows + │ size 17 columns, 738 rows └── render · · └── filter · · └── values · · diff --git a/pkg/sql/logictest/testdata/logic_test/information_schema b/pkg/sql/logictest/testdata/logic_test/information_schema index 77247d2e58a5..fbef8d00e8ff 100644 --- a/pkg/sql/logictest/testdata/logic_test/information_schema +++ b/pkg/sql/logictest/testdata/logic_test/information_schema @@ -266,6 +266,7 @@ pg_catalog pg_foreign_table pg_catalog pg_index pg_catalog pg_indexes pg_catalog pg_inherits +pg_catalog pg_language pg_catalog pg_namespace pg_catalog pg_operator pg_catalog pg_proc @@ -380,6 +381,7 @@ pg_foreign_table pg_index pg_indexes pg_inherits +pg_language pg_namespace pg_operator pg_proc @@ -501,6 +503,7 @@ system pg_catalog pg_foreign_table SYSTEM VIE system pg_catalog pg_index SYSTEM VIEW 1 system pg_catalog pg_indexes SYSTEM VIEW 1 system pg_catalog pg_inherits SYSTEM VIEW 1 +system pg_catalog pg_language SYSTEM VIEW 1 system pg_catalog pg_namespace SYSTEM VIEW 1 system pg_catalog pg_operator SYSTEM VIEW 1 system pg_catalog pg_proc SYSTEM VIEW 1 diff --git a/pkg/sql/logictest/testdata/logic_test/pg_catalog b/pkg/sql/logictest/testdata/logic_test/pg_catalog index 1be3fa56d4f2..0919c20da635 100644 --- a/pkg/sql/logictest/testdata/logic_test/pg_catalog +++ b/pkg/sql/logictest/testdata/logic_test/pg_catalog @@ -32,6 +32,7 @@ pg_foreign_table pg_index pg_indexes pg_inherits +pg_language pg_namespace pg_operator pg_proc @@ -91,6 +92,7 @@ pg_foreign_table pg_index pg_indexes pg_inherits +pg_language pg_namespace pg_operator pg_proc diff --git a/pkg/sql/pg_catalog.go b/pkg/sql/pg_catalog.go index 0c65af67efd2..b2d46fa9fe0d 100644 --- a/pkg/sql/pg_catalog.go +++ b/pkg/sql/pg_catalog.go @@ -75,6 +75,7 @@ var pgCatalog = virtualSchema{ pgCatalogIndexTable, pgCatalogIndexesTable, pgCatalogInheritsTable, + pgCatalogLanguageTable, pgCatalogNamespaceTable, pgCatalogOperatorTable, pgCatalogProcTable, @@ -1073,6 +1074,27 @@ CREATE TABLE pg_catalog.pg_inherits ( }, } +// See: https://www.postgresql.org/docs/9.6/static/catalog-pg-language.html. +var pgCatalogLanguageTable = virtualSchemaTable{ + schema: ` +CREATE TABLE pg_catalog.pg_language ( + oid OID, + lanname NAME, + lanowner OID, + lanispl BOOL, + lanpltrusted BOOL, + lanplcallfoid OID, + laninline OID, + lanvalidator OID, + lanacl STRING[] +); +`, + populate: func(_ context.Context, p *planner, _ *DatabaseDescriptor, addRow func(...tree.Datum) error) error { + // Languages to write functions and stored procedures are not supported. + return nil + }, +} + // See: https://www.postgresql.org/docs/9.6/static/catalog-pg-namespace.html. var pgCatalogNamespaceTable = virtualSchemaTable{ schema: `