On 09/03/2017 03:34 PM, Tom Lane wrote:
> Joe Conway writes:
>> Notice that tsr is not empty at all on the first loop, but on the second
>> loop it is empty every second time the trigger fires.
>
> I think the issue is that now() isn't changing within the transaction,
> so when you construct "tst
Joe Conway writes:
> Notice that tsr is not empty at all on the first loop, but on the second
> loop it is empty every second time the trigger fires.
I think the issue is that now() isn't changing within the transaction,
so when you construct "tstzrange(lower(OLD.tr), now(), '[)')" using an
old r
On 09/03/2017 02:28 PM, Joe Conway wrote:
> I was playing around with partitioning and found an oddity that is best
> described with the following reasonably minimal test case:
> Notice that in the first loop iteration tsr is calculated from OLD.tr
> correctly. But in the second loop iteration i
I was playing around with partitioning and found an oddity that is best
described with the following reasonably minimal test case:
8<-
CREATE TABLE timetravel
(
id int8,
f1 text not null,
tr tstzrange not null default tstzrange(now(), 'infinity', '[]')
) PARTITION BY RANGE (upper(tr)