Re: psql blows up on BOM character sequence

From: Jim Nasby <jim(at)nasby(dot)net>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Merlin Moncure <mmoncure(at)gmail(dot)com>
Cc: Andrew Dunstan <andrew(at)dunslane(dot)net>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: psql blows up on BOM character sequence
Date: 2014-03-24 18:50:21
Message-ID: 53307E6D.2080503@nasby.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 3/22/14, 11:26 AM, Jim Nasby wrote:
> On 3/21/14, 4:54 PM, Tom Lane wrote:
>> Merlin Moncure <mmoncure(at)gmail(dot)com> writes:
>>> There is no way for psql to handle that case though unless you'd strip
>>> *all* BOMs encountered. Compounding this problem is that there's no
>>> practical way AFAIK to send multiple file to psql via single command
>>> line invocation. If you pass multiple -f arguments all but one is
>>> ignored.
>>
>> Well, that seems like a solvable but rather independent problem.
>> I guess one issue is how you'd define the meaning of --single ...
>> one transaction per run, or one per file?
>
> Well, if you're catting multiple files into psql -1, you'd get all the files in one transaction, right? So I'd say that's what should happen.

It occurs to me that we're going about this the wrong way...

The error here isn't being generated by psql; it's generated by the backend. In the context of a statement (and not, say, a COPY command).

So instead of trying to handle this on the psql side[1], I think we need to handle it in the backend; specifically in the parser. Is there an easy way to get the parser to ignore the BOM character in the context of commands (but not in strings)?

[1]: Obviously, BOM could still screw up a psql command like \d. We'd want to address that as well; but I suspect backends are the more common scenario.
--
Jim C. Nasby, Data Architect jim(at)nasby(dot)net
512.569.9461 (cell) http://jim.nasby.net

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Andrew Dunstan 2014-03-24 18:59:50 Re: psql blows up on BOM character sequence
Previous Message Jeff Janes 2014-03-24 17:54:07 Re: Global flag