pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Kris Jurka <books@ejurka.com>
To: software@sistemat.com.ar
Cc: pgsql-jdbc@postgresql.org
Subject: Re: Error in DatabaseMetaData.getColumns() with Views
Date: Sat, 3 Jul 2004 03:45:45 -0500 (EST)
Message-ID: <Pine.BSO.4.56.0407030343090.19721@leary.csoft.net> (raw)
In-Reply-To: <40E6088E.6030703@yahoo.com.ar>
References: <40E6088E.6030703@yahoo.com.ar>



On Fri, 2 Jul 2004, Dario Fassi wrote:

> Hi, I wish to report a erroneous information returned by   
> DatabaseMetaData.getColumns()  method.
> 
> This happens with ResultSet's column (7) COLUMN_SIZE  and  (9) 
> DECIMAL_DIGITS ,
> when DatabaseMetaData.getColumns() inform about a VIEW with columns 
> formed with :
> coalesce , case or numeric operations over DECIMAL fields.
> 
> Suppose
> 
> CREATE TABLE A (  f1 DEC(6,3), f2 dec(6,3) );
> CREATE VIEW B as ( select ( f1 + f2 ) as f from a;
> 
> Then DatabaseMetaData.getColumns() returns:
> 
> VIEW B
>     F   NUMERIC(  65535 ,  -65531 )
> 

The problem is that f1+f2 does not retain the numeric(6,3) size 
restriction, but turns into an unbounded plain "numeric" datatype.  So 
when retrieving this data the precision/scale are unavailable and the 
unreasonable values you see are returned.  We could return NULL instead, 
but I'm not sure that would be much more helpful if the client is 
expecting real values.  Any other ideas?

Kris Jurka




view thread (11+ messages)  latest in thread

Message-ID: <Pine.BSO.4.56.0407030343090.19721@leary.csoft.net>
Permalink:  ../Pine.BSO.4.56.0407030343090.19721@leary.csoft.net/
Also on:    postgresql.org/message-id/Pine.BSO.4.56.0407030343090.19721@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: pgsql-sql@postgresql.org
  Cc: books@ejurka.com, software@sistemat.com.ar, pgsql-jdbc@postgresql.org
  Subject: Re: Error in DatabaseMetaData.getColumns() with Views
  In-Reply-To: <Pine.BSO.4.56.0407030343090.19721@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 DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox