Book Image

PostgreSQL Server Programming

Book Image

PostgreSQL Server Programming

Overview of this book

Table of Contents (21 chapters)
PostgreSQL Server Programming Second Edition
Credits
About the Authors
About the Reviewers
www.PacktPub.com
Preface
Index

Manual debugging with RAISE NOTICE


Here's the first promised example:

CREATE OR REPLACE FUNCTION format_us_full_name_debug(
  prefix text, 
    firstname text, 
    mi text, 
    lastname text, 
    suffix text)
  RETURNS text AS
$BODY$
DECLARE
  fname_mi text;
  fmi_lname text;
  prefix_fmil text;
  pfmil_suffix text;
BEGIN    
  fname_mi := CONCAT_WS(' ', CASE trim(firstname) WHEN '' THEN NULL ELSE firstname END, CASE trim(mi) WHEN '' THEN NULL ELSE mi END || '.');
  RAISE NOTICE 'firstname mi.: %', fname_mi;
  fmi_lname := CONCAT_WS(' ', CASE fname_mi WHEN '' THEN NULL ELSE fname_mi END,CASE trim(lastname) WHEN '' THEN NULL ELSE lastname END);
  RAISE NOTICE 'firstname mi. lastname: %', fmi_lname;
  prefix_fmil := CONCAT_WS('. ', CASE trim(prefix) WHEN '' THEN NULL ELSE prefix END, CASE fmi_lname WHEN '' THEN NULL ELSE fmi_lname END);
  RAISE NOTICE 'prefix. firstname mi lastname: %', prefix_fmil;
  pfmil_suffix := CONCAT_WS(', ', CASE prefix_fmil WHEN '' THEN NULL ELSE prefix_fmil END...