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.
Una columna se construye de esta forma:
instance{.composite_field}.field `['number`]'
|
Una
instance
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.