Re: Functions

From: Andrew Hammond <ahammond(at)ca(dot)afilias(dot)info>
To: Nick Jones <neckjonez(at)gmail(dot)com>
Cc: pgsql-novice Novice <pgsql-novice(at)postgresql(dot)org>
Subject: Re: Functions
Date: 2005-06-01 15:08:06
Message-ID: 429DCF56.7060408@ca.afilias.info
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-novice

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Keith Worthington wrote:
> John DeSoi wrote:
>
>>
>> On May 31, 2005, at 2:52 PM, Nick Jones wrote:
>>
>>> Aww, I was really close :) ... thanks, that works. I believe I
>>> understand it now :) Do you normally write functions in plpgsql or a
>>> different language (sql, perl, c)? I ask so I should know where to
>>> focus my learning.
>>
>>
>> I like plpsql because the semantics are designed for working with
>> databases and PostgreSQL in particular. I would only use a different
>> language for PostgreSQL if plpgsql can't get the job done or cannot do
>> it efficiently.
>>
>> John DeSoi, Ph.D.
>> http://pgedit.com/
>> Power Tools for PostgreSQL
>
>
> While I agree with John and write 98% of my functions in plpsql I found
> it necessary to write a couple of functions in Perl because I had to
> parse a text field that was sufficiently complex as to almost completely
> rule out plpsql.
>
> You will need to focus your learning on whatever makes sense for the
> majority of your application. The good news is that plpsql comes almost
> for free so you still get one more. ;-)

If I can reasonably write it as an SQL function, then I do it that way (
because it's easiest to read/maintain and might be a little faster).

Otherwise, if I can reasonably write it in plpgsql, then I do it that
way (for the reasons John laid out below and because it's still easy to
read/maintain and harder to shoot myself in the foot with).

Finally, I resort to plpython or plperl when there's "No Other Way".
I've never been in the position where I actually had to write c.

- --
Andrew Hammond 416-673-4138 ahammond(at)ca(dot)afilias(dot)info
Database Administrator, Afilias Canada Corp.
CB83 2838 4B67 D40F D086 3568 81FC E7E5 27AF 4A9A
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)

iD8DBQFCnc9Wgfzn5SevSpoRAlmmAKCQ8uH1u2z8E9Mzxof57J/l2NhBvQCgpISX
0WS6ftMV5zq4XYd941Lbuwk=
=U2fM
-----END PGP SIGNATURE-----

In response to

Responses

Browse pgsql-novice by date

  From Date Subject
Next Message Michael Fuhr 2005-06-01 15:26:53 Re: updating elements of an array which is part of a composite type?
Previous Message Celia McInnis 2005-06-01 14:54:38 updating elements of an array which is part of a composite type?