-
-
Notifications
You must be signed in to change notification settings - Fork 383
Version Update Signatures
Stephen Woodbridge edited this page Jul 25, 2015
·
6 revisions
We have a system to automatically track PostgreSQL FUNCTION and TYPE signatures so that pgRouting can automatically generate the files needed for ALTER EXTENSION pgrouting UPDATE to '<version>'. This system is mostly integrated into cmake and works like this.
- we store signature files for old releases in
tools/sigs/pgrouting--<version>.sigand these are used along with the current version to generate the update scripts. - when cmake is run it will create
build/lib/pgrouting--<version>.sigfor the current version using a perl scripttools/mk-signature-file - cmake will also run
tools/build-extension-update-filesthat will read all the files intools/sigs/pgrouting--<versions>.sigand compare them to the current version and generate update script namedbuild/lib/pgrouting--<old_version>--<current_version>.sqland these files will get installed appropriately withsudo make install. - when we do an official release, we need to also make sure the the final
build/lib/pgrouting--<version>.sigalso gets copied and committed intotools/sigs/pgrouting--<version>.sigso it will be available when we make the next release so we can generate update scripts for that.
- the current perl scripts mentioned above do not handle a TYPE definition change with the same TYPE name other than to throw an error. We do not check if the column name changes on for column types and this might be an issue.