| From: | Kris Jurka <books(at)ejurka(dot)com> |
|---|---|
| To: | Simon Temple <simon(dot)temple(at)amalto(dot)com> |
| Cc: | pgsql-jdbc(at)postgresql(dot)org |
| Subject: | Re: ParameterMetaData getPrecision() always zero? |
| Date: | 2010-01-29 21:35:50 |
| Message-ID: | alpine.BSO.2.00.1001291617290.31378@leary.csoft.net |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-jdbc |
On Thu, 28 Jan 2010, Simon Temple wrote:
> ParameterMetaData m = stat.getParameterMetaData( );
> int colWidth = m.getPrecision( parameterIndex );
>
> For varchar columns I would expect to get the maximum column width. So 8
> for a varchar(8).
>
> I always get zero as a result.
>
This is the best the JDBC driver can do. When preparing a statement, the
server only returns the datatypes, not additional details about the size.
This is because the parameters do not always match up with a table column.
Consider "WHERE replace(col, 'a', 'bb') = ?" you won't be able to tell
the parameter size from that.
Kris Jurka
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Kris Jurka | 2010-01-29 21:43:31 | Re: Object types and ResultSets (java.sql.Struct) |
| Previous Message | Kris Jurka | 2010-01-29 21:17:25 | Re: LIKE and ESCAPING in JDBC Select Statement |