Re: Functions
От | Andrew Hammond |
---|---|
Тема | Re: Functions |
Дата | |
Msg-id | 429DCF56.7060408@ca.afilias.info обсуждение исходный текст |
Ответ на | Re: Functions (Keith Worthington <KeithW@NarrowPathInc.com>) |
Ответы |
Re: Functions
|
Список | 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@ca.afilias.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-----
В списке pgsql-novice по дате отправления: