Magnus Hagander <mag...@hagander.net> writes: > On Fri, Aug 7, 2009 at 05:04, Itagaki > Takahiro<itagaki.takah...@oss.ntt.co.jp> wrote: >> I found include/commands/version.h is empty and not included from any files. >> What is the purpose of the file?
>> From what I can tell, it hasn't been used since back in the Berkeley > days, but it did contain some function headers that were removed back > in 1997. I think we can just get rid of it... +1. Looking at the postgres v4r2 sources, it was for their "version" facility, which evidently got ripped out later. The description in the create_version man page is interesting: This command creates a version class .IR classname1 which is related to its parent class, .IR classname2 . Initially, .IR classname1 has the same contents as .IR classname2. As updates to .IR classname1 occur, however, the content of .IR classname1 diverges from .IR classname2. On the other hand, any updates to .IR classname2 show transparently through to .IR classname1 , unless the instance in question has already been updated in .IR classname1 . .PP If the optional .IR abstime clause is specified, then the version is constructed relative to a .BR snapshot of .IR classname2 as of the time specified. .PP \*(PG uses the query rewrite rule system to ensure that .IR classname1 is differentially encoded relative to .IR classname2. Moreover, .IR classname1 is automatically constructed to have the same indexes as .IR classname2 . It is legal to cascade versions arbitrarily, so a tree of versions can ultimately result. The algorithms that control versions are explained in [ONG90]. So that appears to depend on time travel, and also on a version of query rewrite rules that we no longer have. Dead as a doornail :-( regards, tom lane -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers