Enforce cube dimension limit in all cube construction functions
authorAlexander Korotkov
Thu, 30 Aug 2018 11:18:53 +0000 (14:18 +0300)
committerAlexander Korotkov
Fri, 31 Aug 2018 17:10:40 +0000 (20:10 +0300)
commit7cea5e6ebfb3814d977c62bbe91775e0858acb50
tree7ffae05fed565120128dd2360a0fac5e5e1cb8f3
parent41180978b4039aee5128f0e339d1a139ad2eb68e
Enforce cube dimension limit in all cube construction functions

contrib/cube has a limit to 100 dimensions for cube datatype.  However, it's
not enforced everywhere, and one can actually construct cube with more than
100 dimensions having then trouble with dump/restore.  This commit add checks
for dimensions limit in all functions responsible for cube construction.
Backpatch to all supported versions.

Reported-by: Andrew Gierth
Discussion: https://postgr.es/m/87va7uybt4.fsf%40news-spur.riddles.org.uk
Author: Andrey Borodin with small additions by me
Review: Tom Lane
Backpatch-through: 9.3
contrib/cube/cube.c
contrib/cube/expected/cube.out
contrib/cube/sql/cube.sql