Funzioni deterministiche
In un ambiente non replicativo, le funzioni di sistema di questo argomento sono gestite in modo non deterministico e per valore. Tuttavia, in un ambiente di replica, la logica del software di replica li rende deterministici e, di conseguenza, vengono gestiti da SQL. Questo è necessario per mantenere sincronizzati i nodi di un set di replica.
Ad esempio, senza la modifica, se un'istruzione chiamasse la funzione CURRENT_TIMESTAMP sul primario, la replica non sarebbe a conoscenza dell'istruzione se non dopo il commit del primario e quindi avrebbe un timbro temporale diverso. Il codice aggiuntivo per la funzione CURRENT_TIMESTAMP nell'ambiente di replica consente alla replica di utilizzare la stessa marca temporale del primario. L'uso della marca temporale del primario rende deterministica la funzione CURRENT_TIMESTAMP all'interno dell'istruzione.
| Nome funzione | Tipo di ritorno | Argomenti |
|---|---|---|
| ADD_MONTI | DATA | DATA INT4 |
| ADD_MONTI | Data/ora | TIMESTAMP INT4 |
| ETÀ | INTERVAL | DATE Date |
| ETÀ | INTERVAL | TIMESTAMP Timestamp |
| DATA_PARTE | INT8 | VARCHAR DATA |
| DATA_PARTE | INT8 | VARCHAR TEMPO |
| DATA_PARTE | INT8 | VARCHAR TIMESTAMP |
| DATA_PARTE | INT8 | VARCHAR INTERVALLO |
| DATA_TRUNCO | Data/ora | VARCHAR TIMESTAMP |
| DATA_TRUNCO | INTERVAL | VARCHAR INTERVALLO |
| ULTIMO GIORNO | DATA | DATA |
| MESI_ TRA | NUMERIC | TIMESTAMP Timestamp |
| GIORNO SUCCESSIVO | DATA | DATA VARCHAR |
| GIORNO SUCCESSIVO | Data/ora | TIMESTAMP VARCHAR |
| ORA | Data/ora | |
| ORA | Data/ora | INT4 |
| Sovrapposizioni | Bool | TEMPO TEMPO TEMPO TEMPO |
| Sovrapposizioni | Bool | TEMPO INTERVALLO DI TEMPO |
| Sovrapposizioni | Bool | INTERVALLO DI TEMPO TEMPO TEMPO |
| Sovrapposizioni | Bool | INTERVALLO DI TEMPO INTERVALLO DI TEMPO |
| Sovrapposizioni | Bool | TIMESTAMP TIMESTAMP TIMESTAMP TIMESTAMP |
| Sovrapposizioni | Bool | TIMESTAMP TIMESTAMP INTERVALLO DI TEMPO |
| Sovrapposizioni | Bool | INTERVALLO TIMESTAMP TIMESTAMP TIMESTAMP |
| Sovrapposizioni | Bool | INTERVALLO DI TIMESTAMP INTERVALLO DI TIMESTAMP |
| Sovrapposizioni | Bool | TIMETZ TIMETZ TIMETZ |
| Data/ora | Data/ora | CAR. VAR. |
| Data/ora | Data/ora | DATA |
| Data/ora | Data/ora | Data/ora |
| Data/ora | Data/ora | DATA TIMETZ |
| timeTZ | timeTZ | CAR. VAR. |
| timeTZ | timeTZ | Data/ora |
| timeTZ | timeTZ | timeTZ |
| Fuso orario | CAR. VAR. | VARCHAR TIMESTAMP |
| Fuso orario | CAR. VAR. | INTERVALLO TIMESTAMP |
| TO_CHAR | CAR. VAR. | TIMESTAMP VARCHAR |
| TO_CHAR | NVARCHAR | TIMESTAMP NVARCHAR |
| DATA | DATA | VARCHAR VARCHAR |
| DATA | DATA | NVARCHAR NVARCHAR |
| TO_TIMESTAMP | Data/ora | VARCHAR VARCHAR |
| TO_TIMESTAMP | Data/ora | NVARCHAR NVARCHAR |