agora inbox for pljava-dev@postgresql.org
help / color / mirror / Atom feedSubject: [Pljava-dev] R: select CURRENT_TIMESTAMP is wrong
Date: Fri, 25 Jan 2008 05:08:14 -0500 (EST)
Message-ID: <Pine.BSO.4.64.0801250502210.7084@leary.csoft.net> (raw)
In-Reply-To: <A38F63DA-3A61-4796-8952-7D699433D5B2@mcsnw.com>
References: <014401c85dbc$477601d0$16b0a8c0@ASUSSTEFANO>
<09DA7761-B2E9-4036-B2B1-84F97418F3D4@mac.com>
<014901c85dbf$c92040d0$16b0a8c0@ASUSSTEFANO>
<227D74A0-C160-4036-ABBD-75D08B65C44A@mac.com>
<A38F63DA-3A61-4796-8952-7D699433D5B2@mcsnw.com>
On Fri, 25 Jan 2008, Lucas Madar wrote:
> I didn't post this to the list by mistake, but I found a solution. It appears
> that some precision is being lost with certain compilers. The culprit is
> this:
> mSecs += EPOCH_DIFF * 1000; /* Adjust for diff
> between Postgres and Java (Unix) */
>
> EPOCH_DIFF is cast as an int32; multiplying it by 1000 yields some 949
> billion. Here's a fix:
>
> +#define EPOCH_DIFF (((uint64)86400) * (POSTGRES_EPOCH_JDATE -
> UNIX_EPOCH_JDATE))
>
I'm not sure what the implications of this change are. I see this
existing code for the reverse operation and think we should mirror that
instead:
src/C/pljava/type/Timestamp.c:97
mSecs -= ((jlong)EPOCH_DIFF) * 1000L;
Kris Jurka
PS: I'm aware of your other reports, but I just haven't found the time to
look into them. Keep things coming and we'll get to them eventually.
view thread (5+ messages) latest in thread
Message-ID: <Pine.BSO.4.64.0801250502210.7084@leary.csoft.net>
Permalink: ../Pine.BSO.4.64.0801250502210.7084@leary.csoft.net/
Also on: postgresql.org/message-id/Pine.BSO.4.64.0801250502210.7084@leary.csoft.net
reply
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pljava-dev@postgresql.org
Subject: Re: [Pljava-dev] R: select CURRENT_TIMESTAMP is wrong
In-Reply-To: <Pine.BSO.4.64.0801250502210.7084@leary.csoft.net>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox