Re: Speeding up loops in pl/pgsql function

From: "Reuven M(dot) Lerner" <reuven(at)lerner(dot)co(dot)il>
To: Merlin Moncure <mmoncure(at)gmail(dot)com>
Cc: Steve Crawford <scrawford(at)pinpointresearch(dot)com>, Alex Hunsaker <badalex(at)gmail(dot)com>, pgsql-performance(at)postgresql(dot)org
Subject: Re: Speeding up loops in pl/pgsql function
Date: 2011-06-01 09:19:30
Message-ID: 4DE60422.3090800@lerner.co.il
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

Hi, everyone.

First of all, thanks for all of your help several days ago. The
improvements to our program were rather dramatic (in a positive sense).

Based on the help that everyone gave, I'm working on something similar,
trying to use regexp_replace to transform a string into the result of
invoking a function on each character. For example, I'd like to do the
following:

regexp_replace('abc', '(.)', ascii(E'\\1')::text, 'g');

Unfortunately, the above invokes ascii() on the literal string E'\\1',
rather than on the value of the backreference, which isn't nearly as
useful. I'd like to get '979899' back as a string. And of course, once
I can get back the value of ascii(), I figure that it should work for
any function that I define.

Thanks again for any suggestions everyone might have.

(And if this should go to pgsql-general, then I'll understand. If it
helps, my alternative to regexp_replace is a super-slow function, akin
to the one that I showed here last week.)

Reuven

In response to

Responses

Browse pgsql-performance by date

  From Date Subject
Next Message Robert Haas 2011-06-01 11:40:27 Re: [PERFORM] Hash Anti Join performance degradation
Previous Message Greg Smith 2011-06-01 06:14:11 Re: Delete performance