On Sun, May 20, 2012 at 11:28 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Peter Eisentraut <peter_e@gmx.net> writes:
>> I found this in contrib/sepgsql/expected/label.out:
>> SECURITY LABEL ON COLUMN t2
>> IS 'system_u:object_r:sepgsql_ro_table_t:s0'; -- be failed
>> ERROR: improper relation name (too many dotted names): <nothing>
>
>> Contrast with:
>
>> SECURITY LABEL ON COLUMN t2.b
>> IS 'system_u:object_r:sepgsql_ro_table_t:s0'; -- ok
>
>> I guess what's happening is that it's calling makeRangeVarFromNameList()
>> with a list of length zero.
>
>> We should either fix the SECURITY LABEL command to catch that case
>> beforehand, or fix makeRangeVarFromNameList() to give a proper error
>> message, or both.
>
> I think the appropriate error message is probably along the lines of
> "column name must be qualified", and it's hard to justify having
> makeRangeVarFromNameList emit such a thing. So this is the fault
> of the calling code.
Fixed and back-patched to 9.1. Thanks for the report.
--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company