Campos y Columnas

Campos

Un Campo es cualquier atributo de una clase dada o uno de lo siguiente:

oid

el identificador único de la instancia que añade Postgres a todas las instancias automáticamente. Los Oids no son reutilizable y tienen una longitud de 32 bits.

xmin

El identificador de la transacción insertada.

xmax

El identificador de la transacción borrada.

cmin

El identificador del comando dentro de la transacción.

cmax

El identificador del comando borrado.

Para más información de estos campos consultar Stonebraker, Hanson, Hong, 1987. El tiempo está representado internamente como una instancia del tipo dato abstime. Los identificadores de las transacciones y comandos son de 32 bits. Las transacciones se asignan secuencialmente empezando por 512.

Columnas

Una columna se construye de esta forma:

instance{.composite_field}.field `['number`]'
     
Unainstance identifica una clase concreta y podemos entenderla como un particularización de las instancias de esta clase. Cada nombre de variable es una variable instancia, un sustituto de la clase definida por el significado de la cláusula FROM, o la palabra clave NEW o CURRENT. NEW y CURRENT sólo pueden aparecer en una tramo de la acción de la regla, mientras otras variables de instancia pueden usarse en cualquier declaración SQL. composite_field un campo de uno de los tipos compuestos de Postgres, mientras que los sucesivos campos direccionan los atributos de la clase/es que evalúa los campo compuesto. Finalmente field es un campo normal (tipo base) de la última clase/s direccionada. Si field es de tipo array, entonces el designador opcional number indica el elemento especifico del array. Si no se indica el número, entonces se devolverán todos los elementos del array.