|
| 1 | +/* contrib/cube/cube--1.3--1.4.sql */ |
| 2 | + |
| 3 | +-- complain if script is sourced in psql, rather than via ALTER EXTENSION |
| 4 | +\echo Use "ALTER EXTENSION cube UPDATE TO '1.4'" to load this file. \quit |
| 5 | + |
| 6 | +-- |
| 7 | +-- Get rid of unnecessary compress and decompress support functions. |
| 8 | +-- |
| 9 | +-- To be allowed to drop the opclass entry for a support function, |
| 10 | +-- we must change the entry's dependency type from 'internal' to 'auto', |
| 11 | +-- as though it were a loose member of the opfamily rather than being |
| 12 | +-- bound into a particular opclass. There's no SQL command for that, |
| 13 | +-- so fake it with a manual update on pg_depend. |
| 14 | +-- |
| 15 | +UPDATE pg_catalog.pg_depend |
| 16 | +SET deptype = 'a' |
| 17 | +WHERE classid = 'pg_catalog.pg_amproc'::pg_catalog.regclass |
| 18 | + AND objid = |
| 19 | + (SELECT objid |
| 20 | + FROM pg_catalog.pg_depend |
| 21 | + WHERE classid = 'pg_catalog.pg_amproc'::pg_catalog.regclass |
| 22 | + AND refclassid = 'pg_catalog.pg_proc'::pg_catalog.regclass |
| 23 | + AND (refobjid = 'g_cube_compress(pg_catalog.internal)'::pg_catalog.regprocedure)) |
| 24 | + AND refclassid = 'pg_catalog.pg_opclass'::pg_catalog.regclass |
| 25 | + AND deptype = 'i'; |
| 26 | + |
| 27 | +ALTER OPERATOR FAMILY gist_cube_ops USING gist drop function 3 (cube); |
| 28 | +ALTER EXTENSION cube DROP function g_cube_compress(pg_catalog.internal); |
| 29 | +DROP FUNCTION g_cube_compress(pg_catalog.internal); |
| 30 | + |
| 31 | +UPDATE pg_catalog.pg_depend |
| 32 | +SET deptype = 'a' |
| 33 | +WHERE classid = 'pg_catalog.pg_amproc'::pg_catalog.regclass |
| 34 | + AND objid = |
| 35 | + (SELECT objid |
| 36 | + FROM pg_catalog.pg_depend |
| 37 | + WHERE classid = 'pg_catalog.pg_amproc'::pg_catalog.regclass |
| 38 | + AND refclassid = 'pg_catalog.pg_proc'::pg_catalog.regclass |
| 39 | + AND (refobjid = 'g_cube_decompress(pg_catalog.internal)'::pg_catalog.regprocedure)) |
| 40 | + AND refclassid = 'pg_catalog.pg_opclass'::pg_catalog.regclass |
| 41 | + AND deptype = 'i'; |
| 42 | + |
| 43 | +ALTER OPERATOR FAMILY gist_cube_ops USING gist drop function 4 (cube); |
| 44 | +ALTER EXTENSION cube DROP function g_cube_decompress(pg_catalog.internal); |
| 45 | +DROP FUNCTION g_cube_decompress(pg_catalog.internal); |
0 commit comments