On 14-05-2021 17:42, Tom Lane wrote:
Condor <con...@stz-bg.com> writes:
      new_time = fromtime * 1000; -- here is line 19

Are you entirely certain that you counted lines correctly?
If new_time and fromtime are both declared bigint, and
fromtime is on the order of

# select extract(epoch from now())::bigint;
  extract
------------
 1621003124
(1 row)

then there's no way that that statement fails on integer overflow.

What I'm wondering about is the next line:

      unix_time = (new_time + rand_int)::BIGINT;

You've not shown us the declaration of unix_time ...

                        regards, tom lane


Sorry,
I was thinking I get the function from contrib and I think you guys know it. unix_time is BIGINT but I make a few more changes and now can't restore old function to reproduce the problem.

I will try to recover the code later.

Regards,
HS


Reply via email to