On Sat, Aug 13, 2011 at 1:56 PM, Peter Eisentraut <pete...@gmx.net> wrote: > On fre, 2011-08-12 at 16:14 -0400, Robert Haas wrote: >> On Fri, Aug 12, 2011 at 4:11 PM, Peter Eisentraut <pete...@gmx.net> wrote: >> > "A table is either a base table, a derived table, a transient table, or >> > a viewed table." (SQL/MED adds "foreign table".) >> > >> > Just FYI. >> >> Base table seems clear enough, and a transient table sounds like a >> temporary table, but what is a derived table? Is a viewed table a >> view? > > A base table is either a permanent base table or (one of various kinds > of) a temporary base table. A derived table is the result of a table > expression, so this is more of a notional syntactic term. A transient > table is, roughly speaking, OLD or NEW in a trigger. A viewed table is > a view.
Ah. Well, I guess I'm somewhat open to the idea of making all the places where we mean, specifically, a table say "base table". Then we could substitute the term "table" where we now say "relation". On the other hand, I am also not entirely sure such a change in terminology would be a net improvement in clarity, even though it does seem better in some cases. For example, the CREATE TABLE command does not create a viewed table; nor is there any CREATE VIEWED TABLE command. On the flip side, for something like CLUSTER, "ERROR: %s is not a base table" does seem like it could be more clear than just "ERROR: %s is not a table". So I'm not sure what to do. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers