diff --git a/scripts-available/CDB_FederatedServerDiagnostics.sql b/scripts-available/CDB_FederatedServerDiagnostics.sql index 459338d..49388c5 100644 --- a/scripts-available/CDB_FederatedServerDiagnostics.sql +++ b/scripts-available/CDB_FederatedServerDiagnostics.sql @@ -97,6 +97,18 @@ AS $$ $$ LANGUAGE SQL VOLATILE PARALLEL UNSAFE; +-- +-- Get the network latency to a remote PG server +-- +CREATE OR REPLACE FUNCTION @extschema@.__CDB_FS_Foreign_Server_Latency_PG(server_internal name) +RETURNS float +AS $$ +BEGIN + RETURN 0.0; +END +$$ +LANGUAGE PLPGSQL VOLATILE PARALLEL UNSAFE; + -- -- Collect and return diagnostics info from a remote PG into a jsonb @@ -108,11 +120,13 @@ DECLARE remote_server_version text := @extschema@.__CDB_FS_Foreign_Server_Version_PG(server_internal); remote_postgis_version text := @extschema@.__CDB_FS_Foreign_PostGIS_Version_PG(server_internal); remote_server_options jsonb := @extschema@.__CDB_FS_Foreign_Server_Options_PG(server_internal); + remote_server_latency float := @extschema@.__CDB_FS_Foreign_Server_Latency_PG(server_internal); BEGIN RETURN jsonb_build_object( 'server_version', remote_server_version, 'postgis_version', remote_postgis_version, - 'server_options', remote_server_options + 'server_options', remote_server_options, + 'server_latency', remote_server_latency ); END $$ diff --git a/test/CDB_FederatedServerDiagnostics.sql b/test/CDB_FederatedServerDiagnostics.sql index d626004..e48fcb3 100644 --- a/test/CDB_FederatedServerDiagnostics.sql +++ b/test/CDB_FederatedServerDiagnostics.sql @@ -57,6 +57,9 @@ SELECT '1.5', cartodb.CDB_Federated_Server_Diagnostics(server => 'loopback') @> \echo '%% It returns the remote server options' SELECT '1.6', cartodb.CDB_Federated_Server_Diagnostics(server => 'loopback') @> '{"server_options": {"host": "localhost", "port": "@@PGPORT@@", "updatable": "false", "extensions": "postgis", "fetch_size": "1000", "use_remote_estimate": "true"}}'::jsonb; +\echo '%% It returns the network latency to the remote server' +SELECT '1.7', cartodb.CDB_Federated_Server_Diagnostics(server => 'loopback') @> '{"server_latency": 0.0}'::jsonb; + -- =================================================================== -- Cleanup