40 lines
1.1 KiB
MySQL
40 lines
1.1 KiB
MySQL
|
/*
|
||
|
* Test the presence and configuration of the dblink
|
||
|
* extension
|
||
|
*/
|
||
|
BEGIN;
|
||
|
SELECT plan( 6 );
|
||
|
|
||
|
SELECT diag_test_name( 'dblink - dblink_connect() exists' );
|
||
|
SELECT has_function( 'dblink_connect' );
|
||
|
|
||
|
SELECT diag_test_name( 'dblink - Foreign data wrapper defined' );
|
||
|
SELECT is( p.proname , 'postgresql_fdw_validator' )
|
||
|
FROM pg_foreign_data_wrapper w
|
||
|
INNER JOIN pg_proc p ON w.fdwvalidator = p.oid
|
||
|
WHERE w.fdwname = 'pgsql';
|
||
|
|
||
|
SELECT diag_test_name( 'dblink - Foreign server defined' );
|
||
|
SELECT is ( w.fdwname , 'pgsql' )
|
||
|
FROM pg_foreign_server s
|
||
|
INNER JOIN pg_foreign_data_wrapper w
|
||
|
ON s.srvfdw = w.oid
|
||
|
WHERE s.srvname = 'srv_logging';
|
||
|
|
||
|
SELECT diag_test_name( 'dblink - Connection' );
|
||
|
SELECT lives_ok(
|
||
|
$$ SELECT dblink_connect( 'cn_logging' , 'srv_logging' ) $$
|
||
|
);
|
||
|
|
||
|
SELECT diag_test_name( 'dblink - Remote user is not the administrator' );
|
||
|
SELECT isnt( username , current_user::TEXT )
|
||
|
FROM dblink( 'cn_logging' , 'SELECT current_user' )
|
||
|
AS ( username TEXT );
|
||
|
|
||
|
SELECT diag_test_name( 'dblink - Disconnection' );
|
||
|
SELECT lives_ok(
|
||
|
$$ SELECT dblink_disconnect( 'cn_logging' ) $$
|
||
|
);
|
||
|
|
||
|
SELECT * FROM finish( );
|
||
|
ROLLBACK;
|