From 6e6ce5134404fd541fc5271f6ed49b06a069e356 Mon Sep 17 00:00:00 2001 From: Fujii Masao Date: Tue, 20 Oct 2026 13:27:46 +0900 Subject: [PATCH v2 1/3] cube: Mark cube_out() as STABLE cube_out() calls float8out_internal(), so its result depends on the extra_float_digits setting. Mark it STABLE rather than IMMUTABLE to reject new expression indexes, generated columns, and partition keys that rely on this conversion being immutable. Note that existing dependent objects are not revalidated by this change, and their definitions may need to be revised before restoring into an installation using cube 1.6. Bump the cube extension version to 1.6. Suggested-by: Peter Eisentraut Author: Fujii Masao Discussion: https://postgr.es/m/61ca987c-8bd1-4380-b81a-72c94c36b41c@eisentraut.org --- contrib/cube/Makefile | 2 +- contrib/cube/cube--1.5--1.6.sql | 7 +++++++ contrib/cube/cube.control | 2 +- contrib/cube/meson.build | 1 + 4 files changed, 10 insertions(+), 2 deletions(-) create mode 100644 contrib/cube/cube--1.5--1.6.sql diff --git a/contrib/cube/Makefile b/contrib/cube/Makefile index dfb0d806e4b..bee4a77340d 100644 --- a/contrib/cube/Makefile +++ b/contrib/cube/Makefile @@ -9,7 +9,7 @@ OBJS = \ EXTENSION = cube DATA = cube--1.2.sql cube--1.2--1.3.sql cube--1.3--1.4.sql cube--1.4--1.5.sql \ - cube--1.1--1.2.sql cube--1.0--1.1.sql + cube--1.5--1.6.sql cube--1.1--1.2.sql cube--1.0--1.1.sql PGFILEDESC = "cube - multidimensional cube data type" HEADERS = cubedata.h diff --git a/contrib/cube/cube--1.5--1.6.sql b/contrib/cube/cube--1.5--1.6.sql new file mode 100644 index 00000000000..99090546b9f --- /dev/null +++ b/contrib/cube/cube--1.5--1.6.sql @@ -0,0 +1,7 @@ +/* contrib/cube/cube--1.5--1.6.sql */ + +-- complain if script is sourced in psql, rather than via ALTER EXTENSION +\echo Use "ALTER EXTENSION cube UPDATE TO '1.6'" to load this file. \quit + +-- Output depends on extra_float_digits. +ALTER FUNCTION cube_out(cube) STABLE; diff --git a/contrib/cube/cube.control b/contrib/cube/cube.control index 50427ec1170..7797f7e08d4 100644 --- a/contrib/cube/cube.control +++ b/contrib/cube/cube.control @@ -1,6 +1,6 @@ # cube extension comment = 'data type for multidimensional cubes' -default_version = '1.5' +default_version = '1.6' module_pathname = '$libdir/cube' relocatable = true trusted = true diff --git a/contrib/cube/meson.build b/contrib/cube/meson.build index 6526091c688..d0398f73a8a 100644 --- a/contrib/cube/meson.build +++ b/contrib/cube/meson.build @@ -40,6 +40,7 @@ install_data( 'cube--1.2--1.3.sql', 'cube--1.3--1.4.sql', 'cube--1.4--1.5.sql', + 'cube--1.5--1.6.sql', kwargs: contrib_data_args, ) -- 2.56.0