Thread: String functions like split() and join() in plpgsql
Hi, I'm writing a trigger to change the third field in a varchar record. (it's an SOA field from DNS) and I can do it in plperl but since it needs to be a trigger I have to do it in plpgsql (or other right?). In perl it's as simple as: // assuming $soa = 'ns1.domain.com hostmaster.domain.com 104249825 10800 3600 604000 86400'; @x = split(/ /, $soa); $x[2] = time(); join(' ', @x); Any ideas on how I can create a trigger to change the third field to now()? Can I use perl as a trigger? Thanks in advance, davidu -- "Never doubt that a small group of thoughtful citizens can change the world. Indeed, it is the only thing that ever has." --Margaret Mead
"David U." <davidu@everydns.net> writes: > I'm writing a trigger to change the third field in a varchar record. (it's > an SOA field from DNS) and I can do it in plperl but since it needs to be a > trigger I have to do it in plpgsql (or other right?). There's nothing to stop you from calling a plperl function from a plpgsql trigger function. If you've got complicated string-mashing requirements, I'd certainly recommend coding them in plperl (or pltcl). Someday someone should get around to implementing trigger support for plperl, but in the meantime a two-layer approach seems like your answer. regards, tom lane
Or try plpython. You can write triggers in plpython directly. --elein On Monday 13 January 2003 18:39, Tom Lane wrote: > "David U." <davidu@everydns.net> writes: > > I'm writing a trigger to change the third field in a varchar record. > > (it's an SOA field from DNS) and I can do it in plperl but since it needs > > to be a trigger I have to do it in plpgsql (or other right?). > > There's nothing to stop you from calling a plperl function from a > plpgsql trigger function. If you've got complicated string-mashing > requirements, I'd certainly recommend coding them in plperl (or pltcl). > > Someday someone should get around to implementing trigger support for > plperl, but in the meantime a two-layer approach seems like your answer. > > regards, tom lane > > ---------------------------(end of broadcast)--------------------------- > TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org -- ---------------------------------------------------------------------------------------- elein@varlena.com Database Consulting www.varlena.com I have always depended on the [QA] of strangers.