Re: ResultSet internal data type handling

From: John Lister <john(dot)lister(at)kickstone(dot)com>
To: Luca Ferrari <fluca1978(at)infinito(dot)it>
Cc: pgsql-jdbc(at)postgresql(dot)org
Subject: Re: ResultSet internal data type handling
Date: 2009-05-12 08:02:54
Message-ID: 4A092D2E.3070905@kickstone.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

Luca Ferrari wrote:
> Having a look at jdbc2.AsbtractJDBC2ResultSet (the parent of all ResultSets) I
> discovered that all data received from the server is handled internally as a
> string (right?) and is converted from the getXXX methods into the appropriate
> type. This means that you can actually write a getString on a date field
> obtaining a valida date (and if you are lucky you can do something the
> opposite). I'm curious to know if this is an implementation choice or a jdbc
> specification and why the objects are not checked against the table metadata
> (as the getInternalObject method does).
>
I believe the original wire protocol only supported text values hence
the driver converts all data into a string before sending it to the
server... Because of this the server will generally convert any value
into the appropriate type (if this conversion is possible) which saves
the driver from doing so. This simplifies the driver at the expense of
extra network traffic and errors thrown by the server as opposed to the
driver. The original authors can probably expand on this

Thanks

JOHN

In response to

Responses

Browse pgsql-jdbc by date

  From Date Subject
Next Message Oliver Jowett 2009-05-12 08:44:33 Re: ResultSet internal data type handling
Previous Message Scott Marlowe 2009-05-12 07:55:13 Re: Unable to access table named "user"