To not introduce shared object dependencies on functions in extension
update scripts we use this stub function as placeholder whenever we
need to reference c functions in the update scripts.
Having c function references in the versioned part of the sql
scripts introduces linking requirements to the update script
potentially preventing version updates. To prevent this we can
have a dummy function in latest-dev.sql since it will get over-
written as the final step of the extension update.
We have to be careful with the column types we use in our catalog to only allow types
that are safe to use in catalog tables and not cause problems during extension upgrade,
pg_upgrade or dump/restore.
There are certain modifications/commands that should not be allowed
in our update/downgrade scripts. For example, when adding or dropping
columns to timescaledb catalog tables, the right way to do this is to
drop and recreate the table with the desired definition instead of doing
ALTER TABLE ... ADD/DROP COLUMN. This is required to ensure consistent
attribute numbers across versions.
This workflow detects this and some other incorrect catalog table
modifications and fails with an error in that case.
Fixes#6049