diff options
Diffstat (limited to 'build/db-init/rev.sql')
-rw-r--r-- | build/db-init/rev.sql | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/build/db-init/rev.sql b/build/db-init/rev.sql new file mode 100644 index 0000000..d8443c3 --- /dev/null +++ b/build/db-init/rev.sql @@ -0,0 +1,41 @@ +--- CRIMSON --- A simple PHP framework. +--- Copyright © 2024 Freya Murphy <contact@freyacat.org> +--- +--- This file is part of CRIMSON. +--- +--- CRIMSON is free software; you can redistribute it and/or modify it +--- under the terms of the GNU General Public License as published by +--- the Free Software Foundation; either version 3 of the License, or (at +--- your option) any later version. +--- +--- CRIMSON is distributed in the hope that it will be useful, but +--- WITHOUT ANY WARRANTY; without even the implied warranty of +--- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +--- GNU General Public License for more details. +--- +--- You should have received a copy of the GNU General Public License +--- along with CRIMSON. If not, see <http://www.gnu.org/licenses/>. + +-- Gets the current databse revision. + +CREATE OR REPLACE FUNCTION curr_revision() +RETURNS INTEGER +LANGUAGE plpgsql VOLATILE +AS $BODY$ +DECLARE + _revision INTEGER; +BEGIN + BEGIN + SELECT curr_revision INTO _revision + FROM sys.database_info + WHERE name = current_database(); + RETURN _revision; + EXCEPTION WHEN OTHERS THEN + RETURN 0; + END; +END +$BODY$; + +GRANT EXECUTE ON FUNCTION curr_revision() TO POSTGRES_USER; + +SELECT curr_revision(); |