Re: Does postgresql 9.0.4 use index on PREFIX%SUFFIX queries?

From: Harald Fuchs <hari(dot)fuchs(at)gmail(dot)com>
To: pgsql-general(at)postgresql(dot)org
Subject: Re: Does postgresql 9.0.4 use index on PREFIX%SUFFIX queries?
Date: 2011-09-27 10:00:57
Message-ID: 86r532l2xy.fsf@protecting.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

In article <CABRT9RDxHKCxrq8wboHnikpF-CGgkteJWdw3Q2_kXFEdP4prTw(at)mail(dot)gmail(dot)com>,
Marti Raudsepp <marti(at)juffo(dot)org> writes:

> Ah, the reverse() function is not included with PostgreSQL 9.0 yet.
> This is what I use:

> CREATE FUNCTION reverse(input text) RETURNS text
> LANGUAGE plpgsql IMMUTABLE STRICT AS $$
> DECLARE
> result text = '';
> i int;
> BEGIN
> FOR i IN 1..length(input) BY 2 LOOP
> result = substr(input,i+1,1) || substr(input,i,1) || result;
> END LOOP;
> RETURN result;
> END$$;

Pavel Stehule has found a better solution for that:

CREATE OR REPLACE FUNCTION reverse(text) RETURNS text AS $$
SELECT string_agg(substring($1 FROM i FOR 1), '')
FROM generate_series(length($1), 1, -1) g(i)
$$ language sql;

But the best, of course, is upgrading to 9.1.

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Marti Raudsepp 2011-09-27 10:50:30 Re: Does postgresql 9.0.4 use index on PREFIX%SUFFIX queries?
Previous Message Venkat Balaji 2011-09-27 09:55:13 Re: PostgreSQL recovery when lost some file in data\global