Re: Timestamp weirdness - Mailing list pgsql-jdbc

From Dave Cramer
Subject Re: Timestamp weirdness
Date
Msg-id 298B1CAF-F26F-4B1B-93FA-545CE821ED2D@fastcrypt.com
Whole thread Raw
In response to Re: Timestamp weirdness  ("Kevin Grittner" <Kevin.Grittner@wicourts.gov>)
List pgsql-jdbc
On 26-Jul-05, at 1:51 PM, Kevin Grittner wrote:

> Hi Oliver,
>
> You're saying that a timestampz read from the protocol stream on the
> server side is always parsed into a TIMESTAMP WITH TIME ZONE.  When it
> is assigned to a TIMESTAMP WITHOUT TIME ZONE, there is a cast.  The
> cast
> converts the moment into the local time string for that moment in the
> time zone of the database server.  I get that.
>
> My question (not well stated, I'm sure) was whether there is a way to
> know, on the server, at the point of handling the timestampz from the
> protocol stream, that it is going to be assigned to a TIMESTAMP
> WITHOUT
> TIME ZONE and use literal assignment rules (i.e., ignore the time zone
> info) instead of the cast rules.  The next question was whether this
> would break existing code.
Sort of.... postgres has automatic casting rules, if you tell it that
it is going to be a timestamptz and
it is being assigned to a timestamp then there is a cast function
which is invoked, and vice versa
>
> It sounds like you're well along on another solution, so this becomes
> acedemic.  I'm not sure how you're inferring a type with your
> approach,
> but I guess I was thinking that it might be possible to infer
> alternative types for a timestampz.
He is telling the server that he doesn't know what the type is
(INVALID) and the server is going
to cast it appropriately. Much like you do if you do "insert into foo
values('2005-01-01 03:15:34')


>
> I'm new to PostgreSQL, so I appreciate the patience of those who are
> intimately familiar with the code.  It's takes quite a while to scan
> through source code and infer it all.  I'm hoping to gain a firm
> enough
> understanding to contribute to the code without too many missteps.
>
> -Kevin
>
>
>
>>>> Oliver Jowett <oliver@opencloud.com> 07/26/05 9:20 AM >>>
>>>>
> Kevin Grittner wrote:
>
>
>> I assume that the behavior of the server when receiving a timestampz
>> within the protocol couldn't be changed to match the handling of a
>> literal without breaking significant existing code.
>>
>
> (One more time!)
>
> The parsing of timestamptz is just fine, it's the cast to timestamp
> that
> breaks things.
>
> If we get the server to infer a type for the parameter rather than
> explicitly specifying it as timestamptz, then we can avoid that cast.
> Then things don't break.
>
> -O
>
>
> ---------------------------(end of
> broadcast)---------------------------
> TIP 3: Have you checked our extensive FAQ?
>
>                http://www.postgresql.org/docs/faq
>
>


pgsql-jdbc by date:

Previous
From: Tom Lane
Date:
Subject: Re: Timestamp weirdness
Next
From: Christian Cryder
Date:
Subject: Configuring Connections