pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Bath, David <dave.bath@unix.net>
To: pgsql-sql@postgresql.org
Subject: Tidying values on variable instantiation
Date: Fri, 26 Aug 2005 13:04:10 +1000
Message-ID: <200508261304.10542.dave.bath@unix.net> (raw)

Folks,

Preamble:
* I can create a check constraint on a column or domain that enforces
  "no leading or trailing whitespace".  Imagine that the domain is
  called "trimmed_varchar"
* I can create plpgsql function/triggers that "tidy" up incoming varchars,
  trimming the offending whitespaces, on a column by column basis.
* When creating a column based on a domain with the check constraint, I
  cannot "tidy it up" during a pre-insert/pre-update trigger.  Fair enough.
* I'm only asking about this because I am a long-in-the-tooth Oracle guy,
  and Pg seems to have many *very* nice features, and there might be
  an *elegant* way to achieve this that I cannot attempt in Oracle.

Desired Outcome(s):
* I would like to have the convenience of declaring a column that obeys
  a constraint (similar to using a domain), but allows a "tidy-up" as the
  value is created BEFORE asserting the constraint.  This *might* be
  termed a "domain trigger".  (Perhaps even a WORM is possible!).
* I would like to able to declare columns as 
  "trimmed_varchar(n)".
* I'd like to be able to use the same approach for other "weak domains".

Question(s):
* Am I being realistic, or should I grit my teeth and clone code from
  trigger to trigger and column to column?
* Is this something I should try and do using domains, types and
  cast functions from "text" or some horrible combination of them all?
* Has anybody got a code sample that might do something similar.

Apologies if I have missed something obvious in the manual, or if it is
a well-known item in the wish-lists, but I am very new to serious Pg
work, and have a tight schedule to do deliver a schema. *sigh*

Thanks in advance
-- 
David T. Bath
dave.bath@unix.net




view thread (7+ messages)  latest in thread

Message-ID: <200508261304.10542.dave.bath@unix.net>
Permalink:  ../200508261304.10542.dave.bath@unix.net/
Also on:    postgresql.org/message-id/200508261304.10542.dave.bath@unix.net

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-sql@postgresql.org
  Cc: dave.bath@unix.net
  Subject: Re: Tidying values on variable instantiation
  In-Reply-To: <200508261304.10542.dave.bath@unix.net>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox