WARNING

This text was automatically converted from troff me macros to HTML. Information may have been lost, added, or changed in the process. Lars Aronsson and Lysator do not guarantee the correctness of this HTML document.

NAME

create version *- construct a version class

SYNOPSIS

create version classname1 from classname2 [ [ abstime ] ]

DESCRIPTION

This command creates a version class classname1 which is related to its parent class, classname2 . Initially, classname1 has the same contents as classname2. As updates to classname1 occur, however, the contents of classname1 diverges from classname2. On the other hand, any updates to classname2 show transparently through to classname1 , unless the instance in question has already been updated in classname1 .

If the optional abstime clause is specified, then the version is constructed relative to a snapshot of classname2 as of the time specified.

POSTGRES uses the query rewrite rule system to ensure that classname1 is differentially encoded relative to classname2. Moreover, classname1 is automatically constructed to have the same indexes as 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].

EXAMPLE

/* create a version foobar from a snapshot of */
/* barfoo as of January 17, 1990              */

create version foobar from barfoo [ "Jan 17 1990" ]

SEE ALSO

merge(commands), define view(commands), postquel(commands).

BUGS

Snapshots (i.e. the optional abstime specifications) have not yet been implemented.