From 0c17fe0be89991aefd37e063b26169243dfbe02e Mon Sep 17 00:00:00 2001 From: Ben Ostrowsky Date: Thu, 10 Jun 2010 19:47:35 +0000 Subject: [PATCH] attempt_phone can take '' as second argument to refrain from adding an area code; added is_blank(TEXT) for convenience --- sql/base/base.sql | 9 ++++++++- 1 files changed, 8 insertions(+), 1 deletions(-) diff --git a/sql/base/base.sql b/sql/base/base.sql index b9703b2..bbe557c 100644 --- a/sql/base/base.sql +++ b/sql/base/base.sql @@ -705,7 +705,7 @@ CREATE OR REPLACE FUNCTION migration_tools.attempt_phone (TEXT,TEXT) RETURNS TEX temp := REGEXP_REPLACE(temp, '^1*[^0-9]*(?=[0-9])', ''); temp := REGEXP_REPLACE(temp, '[^0-9]*([0-9]{3})[^0-9]*([0-9]{3})[^0-9]*([0-9]{4})', E'\\1-\\2-\\3'); n_digits := LENGTH(REGEXP_REPLACE(REGEXP_REPLACE(temp, '(.*)?[a-zA-Z].*', E'\\1') , '[^0-9]', '', 'g')); - IF n_digits = 7 THEN + IF n_digits = 7 AND areacode <> '' THEN temp := REGEXP_REPLACE(temp, '[^0-9]*([0-9]{3})[^0-9]*([0-9]{4})', E'\\1-\\2'); output := (areacode || '-' || temp); ELSE @@ -769,3 +769,10 @@ CREATE OR REPLACE FUNCTION migration_tools.is_staff_profile (INT) RETURNS BOOLEA END; $$ LANGUAGE PLPGSQL STRICT STABLE; + +CREATE OR REPLACE FUNCTION migration_tools.is_blank (TEXT) RETURNS BOOLEAN AS $$ + BEGIN + RETURN CASE WHEN $1 = '' THEN TRUE ELSE FALSE END; + END; +$$ LANGUAGE PLPGSQL STRICT STABLE; + -- 1.7.2.5