Re: Using ResultSetMetaData.getColumnTypeName

From: dmp <danap(at)ttc-cmc(dot)net>
To: pgsql-jdbc(at)postgresql(dot)org
Subject: Re: Using ResultSetMetaData.getColumnTypeName
Date: 2010-09-30 16:23:28
Message-ID: 4CA4B980.1010108@ttc-cmc.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

>
> I am trying to write some code to copy the definition of a database with all
> its tables and keys, and I am trying to do it in Java using JDBC. You may
> think that I am mad and that there are better ways of doing this, but in this
> case I am already within a Java app, and so using native facilities is more
> trouble than it is worth.
>
> The problem I have hit is that getColumnTypeName does not return say
> numeric or int for a number, but a size specific name like int4. If you then
> use int4 as the type you can not use the precision (it is implicit I guess)
> in the column type. So you can say "fred int(10)" or "fred int4" but not
> "fred int4(10)". So I guess my question is whether there is a simple way
> to work out whether a given column type name is or is not allowed to be
> followed by a precision.
>
> I suppose I could use getColumnType and convert those into strings,
> but then one has to ask why getColumnTypeName exists.
>
> David
>
> BTW, I tried googling to find some code to do this, and I found some
> MySql specific code but nothing for Postgresql. If someone has already
> done this I would much rather use tested code than reinvent the wheel.
Hello,

I ran into similar problems with generating DDL in the MyJSQLView
project, and created code to I believe gather the information you
desire. I have not checked with the new PostgreSQL database release
or for that matter a couple of months since the updated release
of JDBC. You may find the source code at the Google Code, class
TableDefinitionGenerator under utilities/com/dandymadeproductions/myjsqlview

http://code.google.com/p/myjsqlview/source/browse/trunk/myjsqlview/src

If I remember correctly it was not straight forward and I have not
revisited to see if there is a better way.

danap.

In response to

Browse pgsql-jdbc by date

  From Date Subject
Next Message stagirus 2010-09-30 17:31:21 Re: [BUGS] Mapping Hibernate boolean to smallint(Postgresql)
Previous Message David Goodenough 2010-09-30 14:33:21 Using ResultSetMetaData.getColumnTypeName