agora inbox for pgsql-sql@postgresql.org  
help / color / mirror / Atom feed
From: David Johnston <polobo@yahoo.com>
To: pgsql-sql@postgresql.org
Subject: Re: Function args: TEXT -vs- VARCHAR?
Date: Wed, 13 Nov 2013 09:59:42 -0800 (PST)
Message-ID: <1384365582722-5778200.post@n5.nabble.com> (raw)
In-Reply-To: <17777.1384365119@sss.pgh.pa.us>
References: <CAHZ=uVAOB9H9jS2BGnu9jDKosxapKY2_M+arf+-kC1fwCSgvfg@mail.gmail.com>
	<20131113130308.GA17439@teak.britvault.co.uk>
	<20131113141718.GA29223@teak.britvault.co.uk>
	<CAFj8pRBhCirj16X0-toyLg85mnJ=wa98V5U941Szw6aNnzifaw@mail.gmail.com>
	<20131113142515.GB29223@teak.britvault.co.uk>
	<52838DF0.8040708@gmail.com>
	<20131113155113.GA26600@teak.britvault.co.uk>
	<6365.1384360602@sss.pgh.pa.us>
	<1384362845994-5778192.post@n5.nabble.com>
	<17777.1384365119@sss.pgh.pa.us>
List-Unsubscribe: <mailto:majordomo@postgresql.org?body=unsub%20pgsql-sql>

Tom Lane-2 wrote
> David Johnston &lt;

> polobo@

> &gt; writes:
>> Tom Lane-2 wrote
>>> skinner@.co (Craig R. Skinner) writes:
>>>> An explicit table of datatype & what's "silently swallowed" would be
>>>> valuable to clarify this topic that's said to be often repeatedly
>>>> asked.
> 
>>> Can't be asked that often, as that text has been untouched for more
>>> than a dozen years ...
> 
>> s/some/parenthetical/  ?
> 
> [ thinks for a bit ]  Actually, the existing text is wrong/misleading
> in another way, since it implies that a PL implementation *could* enforce
> parameter typmods if it wanted.  It can't, because the information isn't
> even stored by CREATE FUNCTION.  So we do need to do something about this
> text.  Perhaps something like this:
> 
> The full SQL type syntax is allowed for declaring a function's arguments
> and return value.  However, parenthesized type modifiers (e.g., the
> precision field for type numeric) are discarded by CREATE FUNCTION.  Thus
> for example "CREATE FUNCTION foo (varchar(10)) ..." is exactly the same as
> "CREATE FUNCTION foo (varchar) ...".

+1

FWIW I have always read that as "if you care about stuff like precision and
text lengths you have to deal with it yourself inside your function."  Not
that the PL implementation itself would be capable to doing something with
the information.  Since CREATE FUNCTION was doing the stripping I reasoned
out the actual PL language interpreter never even saw the info.

David J.








--
View this message in context: http://postgresql.1045698.n5.nabble.com/Function-args-TEXT-vs-VARCHAR-tp5777968p5778200.html
Sent from the PostgreSQL - sql mailing list archive at Nabble.com.


-- 
Sent via pgsql-sql mailing list (pgsql-sql@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-sql



view thread (17+ messages)  latest in thread

Message-ID: <1384365582722-5778200.post@n5.nabble.com>
Permalink:  ../1384365582722-5778200.post@n5.nabble.com/
Also on:    postgresql.org/message-id/1384365582722-5778200.post@n5.nabble.com

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: polobo@yahoo.com
  Subject: Re: Function args: TEXT -vs- VARCHAR?
  In-Reply-To: <1384365582722-5778200.post@n5.nabble.com>

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

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