Re: TypeInfoCache

From: Daniel Migowski <dmigowski(at)ikoffice(dot)de>
To: pgsql-jdbc(at)postgresql(dot)org
Cc: Gregory Stark <stark(at)enterprisedb(dot)com>
Subject: Re: TypeInfoCache
Date: 2007-12-19 15:45:15
Message-ID: 47693C8B.3000603@ikoffice.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Daniel Migowski schrieb:
<blockquote cite="mid:47693B10(dot)3040804(at)ikoffice(dot)de" type="cite">Gregory
Stark schrieb:
<br>
<blockquote type="cite">"Daniel Migowski"
<a class="moz-txt-link-rfc2396E" href="mailto:dmigowski(at)ikoffice(dot)de">&lt;dmigowski(at)ikoffice(dot)de&gt;</a> writes:
<br>
&nbsp;
<blockquote type="cite">Hello dear developers,
<br>
<br>
I just updated the TypeInfoCache to return LONGVARCHAR for the
PostgreSQL Type
<br>
text. Currently VARCHAR(0) is returned, which seems not correct in my
eyes, and
<br>
confuses some major software packets like Chrystal Reports.
<br>
&nbsp;&nbsp;&nbsp; </blockquote>
<br>
Why?
<br>
</blockquote>
Because VARCHAR (in my understanding) has some limit, like 256 or 50 or
even 8192, whatever. LONGVARCHAR is unlimited as I understand and much
better matches what i understood what "text" is for. While looking at
the JDBC specification "JSR-000221 JDBC 4.0 Final Release Evaluation",
they didn't make a clear statement on this, but AFAIK varchar always
carries a length with it. "text" does not, so its a LONGVARCHAR. It
doesn't matters, because all functions to get the data are equally
defined for both datatypes (spec page 199, table B-6).
<br>
<br>
At all, the driver returns a length of -1 for the "text" type, since
its no varchar type, and software using the metadata might expect to
get something &gt;0 for the length of a VARCHAR, like defined in the
SQL spec (don't know the page there, but the postgresql handbook says,
varchar without a parameter is a postgres extension).
<br>
<br>
With best regards,
<br>
Daniel Migowski
<br>
</blockquote>
Btw, a varchar without length in PostgreSQL should be treated as
LONGVARCHAR, too, but i didn't implement that for now. <br>
<br>
With best regards,<br>
Daniel Migowski<br>
<div class="moz-signature">-- <br>
<pre> |&macr;&macr;|&macr;&macr;| <b>IKOffice GmbH Daniel Migowski</b>
| | |/| Mail: <a
href="mailto:dmigowski(at)ikoffice(dot)de">dmigowski(at)ikoffice(dot)de</a>
| | // | Nordstr. 10 Tel.: +49 (441) 21 98 89 52
| | \\ | 26135 Oldenburg Fax.: +49 (441) 21 98 89 55
|__|__|\| <a href="http://www.ikoffice.de">http://www.ikoffice.de</a> Mob.: +49 (176) 22 31 20 76

Gesch&auml;ftsf&uuml;hrer: Ingo Kuhlmann, Daniel Migowski
Amtsgericht Oldenburg, HRB 201467
Steuernummer: 64/211/01864</pre>
</div>
</body>
</html>

Attachment Content-Type Size
unknown_filename text/html 2.6 KB

In response to

Browse pgsql-jdbc by date

  From Date Subject
Next Message Tom Lane 2007-12-19 15:48:45 Re: setting PreparedStatement parameter using "at time zone interval ?"
Previous Message Daniel Migowski 2007-12-19 15:38:56 Re: TypeInfoCache