Re: Global Variables?
| От | Eric Radman |
|---|---|
| Тема | Re: Global Variables? |
| Дата | |
| Msg-id | 20111011195315.GA14540@SDF.ORG обсуждение исходный текст |
| Ответ на | Re: Global Variables? (Alban Hertroys <haramrae@gmail.com>) |
| Список | pgsql-general |
On Tue, Oct 11, 2011 at 04:26:47PM +0200, Alban Hertroys wrote: > On 11 October 2011 16:06, Eric Radman <ericshane@eradman.com> wrote: > > When writing unit tests it's sometimes useful to stub functions such > > as the current date and time > > You could create a table for such "constants" and read your > current-time from that table. > > Additionally, I would put such stub functions in a separate schema and > create a test role with that schema as the top of their search_path. > > That way, you could even override system function implementations (and > other definitions) and only have them apply to the role you're using > for unit testing. > CREATE ROLE unit_tester; > CREATE SCHEMA unit_tests AUTHORIZATION unit_tester; > SET search_path TO unit_tests, my_schema, public; > > CREATE TABLE unit_test_parameters ( > current_time timestamp without time zone NOT NULL DEFAULT now() > ); Excellent advice; this model works wonderfully. pg_catalog is normally implicit, but you're right, system functions can be overridden by setting the search path. Eric Radman | http://eradman.com
В списке pgsql-general по дате отправления: