aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2012-08-18 16:14:57 -0400
committerTom Lane <tgl@sss.pgh.pa.us>2012-08-18 16:14:57 -0400
commitc246eb5aafe66d5537b468d6da2116c462775faf (patch)
tree1da89d5170349327b2429c7c4743778444d6bfed
parent084a29c94f94b5a08aec9f68f3cfaf252f4fa17c (diff)
downloadpostgresql-c246eb5aafe66d5537b468d6da2116c462775faf.tar.gz
postgresql-c246eb5aafe66d5537b468d6da2116c462775faf.zip
Make use of LATERAL in information_schema.sequences view.
It said "XXX: The following could be improved if we had LATERAL" ... so let's do that. No catversion bump since either version of the view works fine.
-rw-r--r--src/backend/catalog/information_schema.sql13
1 files changed, 6 insertions, 7 deletions
diff --git a/src/backend/catalog/information_schema.sql b/src/backend/catalog/information_schema.sql
index 356797d5161..4bd942fb6d5 100644
--- a/src/backend/catalog/information_schema.sql
+++ b/src/backend/catalog/information_schema.sql
@@ -1521,13 +1521,12 @@ CREATE VIEW sequences AS
CAST(64 AS cardinal_number) AS numeric_precision,
CAST(2 AS cardinal_number) AS numeric_precision_radix,
CAST(0 AS cardinal_number) AS numeric_scale,
- -- XXX: The following could be improved if we had LATERAL.
- CAST((pg_sequence_parameters(c.oid)).start_value AS character_data) AS start_value,
- CAST((pg_sequence_parameters(c.oid)).minimum_value AS character_data) AS minimum_value,
- CAST((pg_sequence_parameters(c.oid)).maximum_value AS character_data) AS maximum_value,
- CAST((pg_sequence_parameters(c.oid)).increment AS character_data) AS increment,
- CAST(CASE WHEN (pg_sequence_parameters(c.oid)).cycle_option THEN 'YES' ELSE 'NO' END AS yes_or_no) AS cycle_option
- FROM pg_namespace nc, pg_class c
+ CAST(p.start_value AS character_data) AS start_value,
+ CAST(p.minimum_value AS character_data) AS minimum_value,
+ CAST(p.maximum_value AS character_data) AS maximum_value,
+ CAST(p.increment AS character_data) AS increment,
+ CAST(CASE WHEN p.cycle_option THEN 'YES' ELSE 'NO' END AS yes_or_no) AS cycle_option
+ FROM pg_namespace nc, pg_class c, LATERAL pg_sequence_parameters(c.oid) p
WHERE c.relnamespace = nc.oid
AND c.relkind = 'S'
AND (NOT pg_is_other_temp_schema(nc.oid))