FIND_IN_SET

From: Michael Eshom <oldiesmann(at)oldiesmann(dot)us>
To: pgsql-sql(at)postgresql(dot)org
Subject: FIND_IN_SET
Date: 2009-12-11 06:22:02
Message-ID: 4B21E50A.7090404@oldiesmann.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

I am on the marketing team for a popular forum system, and am also the
primary PostgreSQL tester/bugfixer. Currently our forum system treats
MySQL's FIND_IN_SET() as a boolean (eg whether or not the specified
value was found in the given set), which is fine since MySQL will treat
any integer greater than 0 as boolean true and 0 as boolean false. I
have already managed to write a FIND_IN_SET() function for Postgres that
behaves as boolean. However, we would like to be able to use the true
functionality of this function (so it will return an integer instead of
boolean).

This is where I've run into a problem. The mysqlcompat package has a
FIND_IN_SET() in it, but it requires plpgsql, and I'd rather not require
something that a regular user can't install themselves, regardless of
how simple it is for the host to add it.

I did find another version of FIND_IN_SET() on a blog with several other
MySQL-compatible functions, and while it uses regular SQL, it requires
the generate_subscripts() function which isn't available in Postgres 8.1
- the latest version officially supported by CentOS.

Is there a way to do this without requiring plpgsql or generate_subscripts?
--
Michael "Oldiesmann" Eshom
Christian Oldies Fan
Cincinnati, Ohio

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Jasen Betts 2009-12-11 08:39:47 Re: constants in 2-column foreign keys or how to design a storage for text-groups ?
Previous Message Tom Lane 2009-12-10 23:08:07 Re: Window function trouble