Fonctions déterministes

Dans un environnement non répliqué, les fonctions système de cette rubrique sont traitées de manière non déterministe et par valeur. Toutefois, dans un environnement de réplication, la logique du logiciel de réplication les rend déterministes et, par conséquent, ils sont traités par SQL. Cela est nécessaire pour que les nœuds d'un ensemble de réplication restent synchronisés.

Par exemple, sans cette modification, si une instruction appelle la fonction CURRENT_TIMESTAMP sur le serveur primaire, le réplica n'aura connaissance de l'instruction qu'après la validation du serveur primaire et aura donc un horodatage différent. Le code supplémentaire pour la fonction CURRENT_TIMESTAMP dans l'environnement de réplication permet au réplica d'utiliser le même horodatage que le primaire. L'utilisation de l'horodatage du primaire rend la fonction CURRENT_TIMESTAMP de la déclaration déterministe.

Le tableau suivant énumère les fonctions du système qui sont gérées de manière déterministe dans un environnement de réplication :
Tableau 1. Fonctions déterministes
Nom de la fonction Type de retour Arguments
ADD_MONTHS DATE DATE INT4
ADD_MONTHS HORODATAGE TIMESTAMP INT4
ANCIENNETE INTERVAL DATE DATE
ANCIENNETE INTERVAL HORODATAGE HORODATAGE
DATE_PART INT8 VARCHAR DATE
DATE_PART INT8 VARCHAR TIME
DATE_PART INT8 VARCHAR TIMESTAMP
DATE_PART INT8 VARCHAR INTERVALLE
DATE_TRUNC HORODATAGE VARCHAR TIMESTAMP
DATE_TRUNC INTERVAL VARCHAR INTERVALLE
LAST_DAY DATE DATE
MOIS_ ENTRE NUMERIQUE HORODATAGE HORODATAGE
NEXT_DAY DATE DATE VARCHAR
NEXT_DAY HORODATAGE TIMESTAMP VARCHAR
MAINTENANT HORODATAGE  
MAINTENANT HORODATAGE INT4
OVERLAPS BOOL TEMPS TEMPS TEMPS TEMPS
OVERLAPS BOOL TEMPS TEMPS TEMPS INTERVALLE
OVERLAPS BOOL INTERVALLE DE TEMPS TEMPS TEMPS
OVERLAPS BOOL INTERVALLE DE TEMPS INTERVALLE DE TEMPS
OVERLAPS BOOL HORODATAGE HORODATAGE HORODATAGE HORODATAGE HORODATAGE
OVERLAPS BOOL HORODATAGE HORODATAGE HORODATAGE INTERVALLE
OVERLAPS BOOL HORODATAGE INTERVALLE HORODATAGE HORODATAGE HORODATAGE
OVERLAPS BOOL INTERVALLE D'HORODATAGE INTERVALLE D'HORODATAGE
OVERLAPS BOOL TIMETZ TIMETZ TIMETZ TIMETZ TIMETZ
HORODATAGE HORODATAGE VARCHAR
HORODATAGE HORODATAGE DATE
HORODATAGE HORODATAGE Date et heure
HORODATAGE HORODATAGE DATE TIMETZ
timeTZ timeTZ VARCHAR
timeTZ timeTZ HORODATAGE
timeTZ timeTZ timeTZ
TIMEZONE VARCHAR VARCHAR TIMESTAMP
TIMEZONE VARCHAR HORODATAGE DE L'INTERVALLE
TO_CHAR VARCHAR TIMESTAMP VARCHAR
TO_CHAR NVARCHAR TIMESTAMP NVARCHAR
TO_DATE DATE VARCHAR VARCHAR
TO_DATE DATE NVARCHAR NVARCHAR
to_timestamp HORODATAGE VARCHAR VARCHAR
to_timestamp HORODATAGE NVARCHAR NVARCHAR