Andrew Stewart <astew@wam.umd.edu> writes:
> I myself am still very new to PostgreSQL, so I'm having trouble telling
> if there is anything wrong with the postgres transaction that is being
> attempted by the bioperl-db maketest. The verbose error output is as
> follows...
> preparing SELECT statement: SELECT SUBSTRING(seq FROM ? FOR ?) FROM
> biosequence WHERE bioentry_id = ?
> ok 30
> ok 31
> DBD::Pg::st execute failed: ERROR: invalid escape string
> HINT: Escape string must be empty or one character.
According to the docs, that syntax is
The substring function with three parameters, substring(string from
pattern for escape-character), provides extraction of a substring that
matches an SQL regular expression pattern.
It would appear that you're supplying an empty string for the second ?
which is a no-no for this particular function.
My guess is that you are trying to port code from another database that
has a different interpretation of this syntax.
regards, tom lane