Re: Freezing localtimestamp and other time function on some value

From: "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com>
To: Alex Ignatov <a(dot)ignatov(at)postgrespro(dot)ru>
Cc: Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com>, George Neuner <gneuner2(at)comcast(dot)net>, "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org>
Subject: Re: Freezing localtimestamp and other time function on some value
Date: 2016-04-12 16:45:29
Message-ID: CAKFQuwYSQS2A1y1=9+HqBxPjn-F2M0GvqU04M-nHUQLVPeFciw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Tue, Apr 12, 2016 at 8:37 AM, Alex Ignatov <a(dot)ignatov(at)postgrespro(dot)ru>
wrote:

>
> On 12.04.2016 18:01, Adrian Klaver wrote:
>
>>
>> >>I do it by having the date be one of the function arguments and have
> the default be something like current_date. When I test I supply a date to
> override the default. This allows for testing the various scenarios by
> changing the supplied date.
>
> With that approach you have to say application programmer - 'Hey dude,
> please edit this piece of code for my purpose and after that rollback it'.
> I think that it is unacceptable in large project...

​CREATE FUNCTION do_some_date_based_stuff(reference_date date, other_args)
[...]

CREATE FUNCTION production_wrapper_for_above(other_args) [...]
AS $$
SELECT do_some_date_based_stuff(now(), other_args);
$$​;

Easy to test do_some_date_based_stuff since it has fewer if any external
dependencies. Shouldn't need to test the wrapper that simply calls the
"do_some..." with a default value of the current date.

You might be able to define an appropriate function signature that avoids
having to write the wrapper though regardless there is no need to have a
different environment for testing versus production if approached in this
manner. You just need to decide on the most desirable way to make it work.

David J.

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Alex Ignatov 2016-04-12 17:14:25 Re: Freezing localtimestamp and other time function on some value
Previous Message David G. Johnston 2016-04-12 16:35:56 Re: Table seems empty but its size is in gigabytes