From 725453ce2be9a48ae5e854abb54c08b515a2f1da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juan=20Ignacio=20S=C3=A1nchez=20Lara?= Date: Thu, 13 Aug 2015 20:43:17 +0200 Subject: [PATCH] Configuration table and functions --- scripts-available/CDB_Conf.sql | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 scripts-available/CDB_Conf.sql diff --git a/scripts-available/CDB_Conf.sql b/scripts-available/CDB_Conf.sql new file mode 100644 index 0000000..440f51f --- /dev/null +++ b/scripts-available/CDB_Conf.sql @@ -0,0 +1,33 @@ +DO LANGUAGE 'plpgsql' $$ +BEGIN + CREATE TABLE IF NOT EXISTS CDB_CONF ( PARAM TEXT PRIMARY KEY, VALUE TEXT NOT NULL ); +END +$$; + +CREATE OR REPLACE +FUNCTION cartodb.CDB_Conf_SetParam(param text, value text) + RETURNS void AS $$ +BEGIN + PERFORM cartodb.CDB_Conf_RemoveParam(param); + EXECUTE 'INSERT INTO CDB_CONF (PARAM, VALUE) VALUES ($1, $2);' USING param, value; +END +$$ LANGUAGE PLPGSQL VOLATILE; + +CREATE OR REPLACE +FUNCTION cartodb.CDB_Conf_RemoveParam(param text) + RETURNS void AS $$ +BEGIN + EXECUTE 'DELETE FROM CDB_CONF WHERE PARAM = $1;' USING param; +END +$$ LANGUAGE PLPGSQL VOLATILE; + +CREATE OR REPLACE +FUNCTION cartodb.CDB_Conf_GetParam(param text) + RETURNS TEXT AS $$ +DECLARE + value TEXT; +BEGIN + EXECUTE 'SELECT VALUE FROM CDB_CONF WHERE PARAM = $1;' INTO value USING param; + RETURN value; +END +$$ LANGUAGE PLPGSQL STABLE;