From ebf8cc40549d41ca5a5d932145dd18a67ddfa569 Mon Sep 17 00:00:00 2001 From: Ben Ostrowsky Date: Mon, 21 Nov 2011 15:56:04 +0000 Subject: [PATCH] Horizon-specific functions, beginning with a date conversion routine --- sql/ils_specific/horizon/horizon.sql | 21 +++++++++++++++++++++ 1 files changed, 21 insertions(+), 0 deletions(-) create mode 100644 sql/ils_specific/horizon/horizon.sql diff --git a/sql/ils_specific/horizon/horizon.sql b/sql/ils_specific/horizon/horizon.sql new file mode 100644 index 0000000..417e923 --- /dev/null +++ b/sql/ils_specific/horizon/horizon.sql @@ -0,0 +1,21 @@ +CREATE OR REPLACE FUNCTION migration_tools.attempt_hz_date (TEXT,TEXT) RETURNS DATE AS $$ + DECLARE + attempt_value ALIAS FOR $1; + fail_value ALIAS FOR $2; + output DATE; + BEGIN + FOR output IN + EXECUTE E'SELECT (\'1970-01-01\'::date + \'' || attempt_value || E' days\'::interval)::date AS a;' + LOOP + RETURN output; + END LOOP; + EXCEPTION + WHEN OTHERS THEN + FOR output IN + EXECUTE 'SELECT ' || quote_literal(fail_value) || '::date AS a;' + LOOP + RETURN output; + END LOOP; + END; +$$ LANGUAGE PLPGSQL STRICT STABLE; + -- 1.7.2.5