mirror of
https://github.com/postgres/postgres.git
synced 2025-11-06 07:49:08 +03:00
Improve expression evaluation test coverage.
Upcoming patches are revamping expression evaluation significantly. It therefore seems prudent to try to ensure that the coverage of the existing evaluation code is high. This commit adds coverage for the cases that can reasonably be tested. There's still a bunch of unreachable error messages and such, but otherwise this achieves nearly full regression test coverage (with the exception of the unused GetAttributeByNum/GetAttributeByName). Author: Andres Freund Discussion: https://postgr.es/m/20170310194021.ek4bs4bl2khxkmll@alap3.anarazel.de
This commit is contained in:
36
src/test/regress/sql/expressions.sql
Normal file
36
src/test/regress/sql/expressions.sql
Normal file
@@ -0,0 +1,36 @@
|
||||
--
|
||||
-- expression evaluated tests that don't fit into a more specific file
|
||||
--
|
||||
|
||||
--
|
||||
-- Tests for SQLVAlueFunction
|
||||
--
|
||||
|
||||
|
||||
-- current_date (always matches because of transactional behaviour)
|
||||
SELECT date(now())::text = current_date::text;
|
||||
|
||||
|
||||
-- current_time / localtime
|
||||
SELECT now()::timetz::text = current_time::text;
|
||||
SELECT now()::time::text = localtime::text;
|
||||
|
||||
-- current_timestamp / localtimestamp (always matches because of transactional behaviour)
|
||||
SELECT current_timestamp = NOW();
|
||||
-- precision
|
||||
SELECT length(current_timestamp::text) >= length(current_timestamp(0)::text);
|
||||
-- localtimestamp
|
||||
SELECT now()::timestamp::text = localtimestamp::text;
|
||||
|
||||
-- current_role/user/user is tested in rolnames.sql
|
||||
|
||||
-- current database / catalog
|
||||
SELECT current_catalog = current_database();
|
||||
|
||||
-- current_schema
|
||||
SELECT current_schema;
|
||||
SET search_path = 'notme';
|
||||
SELECT current_schema;
|
||||
SET search_path = 'pg_catalog';
|
||||
SELECT current_schema;
|
||||
RESET search_path;
|
||||
Reference in New Issue
Block a user