Funciones deterministas
En un entorno sin replicación, las funciones del sistema en este tema se manejan como no deterministas y por valor. Sin embargo, en un entorno de replicación, la lógica del software de replicación los hace deterministas y, como resultado, son gestionados por SQL. Esto es necesario para mantener sincronizados los nodos de un conjunto de replicación.
Por ejemplo, sin la modificación, si una sentencia llamara a la función CURRENT_TIMESTAMP en el primario, la réplica no sería consciente de la sentencia hasta después de que el primario la confirmara y, por lo tanto, tendría una marca de tiempo diferente. El código adicional para la función CURRENT_TIMESTAMP en el entorno de replicación permite a la réplica utilizar la misma marca de tiempo que el primario. El uso de la marca de tiempo de la primaria hace que la función CURRENT_TIMESTAMP dentro de la sentencia sea determinista.
Nombre de función | Tipo de retorno | Argumentos |
---|---|---|
ADD_MONTHS | FECHA | FECHA INT4 |
ADD_MONTHS | TIMESTAMP | TIMESTAMP INT4 |
ANTIGÜEDAD | INTERVALO | FECHA FECHA |
ANTIGÜEDAD | INTERVALO | TIMESTAMP TIMESTAMP |
DATE_PART | INT8 | VARCHAR FECHA |
DATE_PART | INT8 | VARCHAR TIEMPO |
DATE_PART | INT8 | VARCHAR TIMESTAMP |
DATE_PART | INT8 | INTERVALO VARCHAR |
DATE_TRUNC | TIMESTAMP | VARCHAR TIMESTAMP |
DATE_TRUNC | INTERVALO | INTERVALO VARCHAR |
LAST_DAY | FECHA | FECHA |
MESES_ ENTRE | NUMÉRICO | TIMESTAMP TIMESTAMP |
NEXT_DAY | FECHA | FECHA VARCHAR |
NEXT_DAY | TIMESTAMP | TIMESTAMP VARCHAR |
AHORA | TIMESTAMP | |
AHORA | TIMESTAMP | INT4 |
OVERLAPS | BOOL | TIEMPO TIEMPO TIEMPO TIEMPO |
OVERLAPS | BOOL | INTERVALO DE TIEMPO |
OVERLAPS | BOOL | INTERVALO DE TIEMPO TIEMPO |
OVERLAPS | BOOL | INTERVALO DE TIEMPO INTERVALO DE TIEMPO |
OVERLAPS | BOOL | TIMESTAMP TIMESTAMP TIMESTAMP TIMESTAMP |
OVERLAPS | BOOL | TIMESTAMP TIMESTAMP TIMESTAMP INTERVALO |
OVERLAPS | BOOL | TIMESTAMP INTERVALO TIMESTAMP TIMESTAMP |
OVERLAPS | BOOL | INTERVALO TIMESTAMP INTERVALO TIMESTAMP |
OVERLAPS | BOOL | TIMETZ TIMETZ TIMETZ TIMETZ |
TIMESTAMP | TIMESTAMP | VARCHAR |
TIMESTAMP | TIMESTAMP | FECHA |
TIMESTAMP | TIMESTAMP | Fecha y hora |
TIMESTAMP | TIMESTAMP | FECHA TIMETZ |
TIMETZ | TIMETZ | VARCHAR |
TIMETZ | TIMETZ | TIMESTAMP |
TIMETZ | TIMETZ | TIMETZ |
TIMEZONE | VARCHAR | VARCHAR TIMESTAMP |
TIMEZONE | VARCHAR | INTERVALO TIMESTAMP |
TO_CHAR | VARCHAR | TIMESTAMP VARCHAR |
TO_CHAR | NVARCHAR | TIMESTAMP NVARCHAR |
TO_DATE | FECHA | VARCHAR VARCHAR |
TO_DATE | FECHA | NVARCHAR NVARCHAR |
TO_TIMESTAMP | TIMESTAMP | VARCHAR VARCHAR |
TO_TIMESTAMP | TIMESTAMP | NVARCHAR NVARCHAR |