This repository has been archived on 2025-01-04. You can view files and clone it, but cannot push or open issues or pull requests.
lwb6/legacyworlds-server-data/db-structure/tests/admin/040-functions/005-logs/010-write-sql-log.sql
Emmanuel BENOîT 3e109b13bc SQL logging fixes
* Added user mapping on the "remote" logging database for the
administrative user. This allows calls to sys.write_sql_log() to succeed
when they are executed by code with administrative privileges.

* Added test suites for both the link to the database and the function
itself.

* Replaced RAISE NOTICE with actual logging in the universe generator
2012-01-07 11:14:17 +01:00

32 lines
No EOL
1 KiB
PL/PgSQL

/*
* Test the sys.write_sql_log( ) function
*/
BEGIN;
DELETE FROM sys.logs;
SELECT plan( 4 );
SELECT diag_test_name( 'sys.write_sql_log( ) - Initial call' );
SELECT lives_ok(
$$ SELECT sys.write_sql_log( 'test' , 'WARNING'::log_level , 'test' ) $$
);
SELECT diag_test_name( 'sys.write_sql_log( ) - Contents of system log after call' );
SELECT is( COUNT(*)::INT , 1 ) FROM sys.logs;
DELETE FROM sys.logs;
SELECT diag_test_name( 'sys.write_sql_log( ) - Two calls in sequence' );
SELECT lives_ok(
$$ SELECT sys.write_sql_log( 'test' , 'WARNING'::log_level , 'test' );
SELECT sys.write_sql_log( 'test' , 'WARNING'::log_level , 'test' ) $$
);
DELETE FROM sys.logs;
SELECT diag_test_name( 'sys.write_sql_log( ) - Calling and rolling back' );
SAVEPOINT before_log;
SELECT sys.write_sql_log( 'test' , 'WARNING'::log_level , 'test' );
SELECT sys.write_log( 'test' , 'WARNING'::log_level , 'test' );
ROLLBACK TO SAVEPOINT before_log;
SELECT is( COUNT(*)::INT , 1 ) FROM sys.logs;
DELETE FROM sys.logs;
SELECT * FROM finish( );
ROLLBACK;