From bbc5f8afa530f385f185e089d87749a5ad0b9c3c Mon Sep 17 00:00:00 2001 From: Ben Ostrowsky Date: Thu, 28 Jan 2010 17:35:37 +0000 Subject: [PATCH] Added migration_tools.attempt_money, which returns NUMERIC(6,2) --- sql/base/base.sql | 21 +++++++++++++++++++++ 1 files changed, 21 insertions(+), 0 deletions(-) diff --git a/sql/base/base.sql b/sql/base/base.sql index e5c5d2f..06bebff 100644 --- a/sql/base/base.sql +++ b/sql/base/base.sql @@ -650,3 +650,24 @@ CREATE OR REPLACE FUNCTION migration_tools.attempt_date (TEXT,TEXT) RETURNS DATE END; $$ LANGUAGE PLPGSQL STRICT STABLE; +CREATE OR REPLACE FUNCTION migration_tools.attempt_money (TEXT,TEXT) RETURNS NUMERIC(6,2) AS $$ + DECLARE + attempt_value ALIAS FOR $1; + fail_value ALIAS FOR $2; + output NUMERIC(6,2); + BEGIN + FOR output IN + EXECUTE 'SELECT ' || quote_literal(attempt_value) || '::NUMERIC(6,2) AS a;' + LOOP + RETURN output; + END LOOP; + EXCEPTION + WHEN OTHERS THEN + FOR output IN + EXECUTE 'SELECT ' || quote_literal(fail_value) || '::NUMERIC(6,2) AS a;' + LOOP + RETURN output; + END LOOP; + END; +$$ LANGUAGE PLPGSQL STRICT STABLE; + -- 1.7.2.5