md.c should not call files "relations" - Mailing list pgsql-hackers

From Tom Lane
Subject md.c should not call files "relations"
Date
Msg-id 26241.1249435835@sss.pgh.pa.us
Whole thread Raw
Responses Re: md.c should not call files "relations"  ("David E. Wheeler" <david@kineticode.com>)
Re: md.c should not call files "relations"  (Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>)
List pgsql-hackers
There's an interesting thread over here
http://archives.postgresql.org/pgsql-sql/2009-08/msg00013.php
in which someone mistook a filesystem-level permissions problem
for a database permissions problem.  It wasn't exactly his fault,
I think, since the message he was presented with was

ERROR:  could not create relation "test": Permission denied

which is not all that obviously different from what you would
get for a SQL-permissions violation.

I am thinking that this message would be more correct and less
confusing if it looked something like

ERROR:  could not create file "12345/67890": Permission denied

ie, when reflecting an OS-level error we should call a file a file and
provide its filesystem name, not the name of the table that we were
hoping to map to it.  This would be more likely to lead the user's
mind in the right direction, and he'd need the filesystem pathname
for any detailed investigation anyway.

This would have the further advantage that we could make all the
errors in md.c consistent --- some of them provide filesystem names
rather than table names because that's all they have available.

Lastly, I'm wondering why someone seems to have removed the double
quotes around the filesystem name in some of these messages.
Surely that's not per style guide.

Comments?
        regards, tom lane


pgsql-hackers by date:

Previous
From: Robert Haas
Date:
Subject: Re: the case for machine-readable error fields
Next
From: David Fetter
Date:
Subject: Re: the case for machine-readable error fields