Re: Serial data type - Mailing list pgsql-jdbc

From Kris Jurka
Subject Re: Serial data type
Date
Msg-id Pine.BSO.4.64.0711300556200.17875@leary.csoft.net
Whole thread Raw
In response to Serial data type  ("Christian Rengstl" <Christian.Rengstl@klinik.uni-regensburg.de>)
List pgsql-jdbc

On Fri, 30 Nov 2007, Christian Rengstl wrote:

> in my Java app at certain points INSERT queries are built dynamically,
> but now i am facing a problem when the target table contains a SERIAL
> field where NULL values are not allowed. Therefore I have two questions:
>
> 1) How can I find out if there is a serial field in a table, as
> getColumnType() in ResultSetMetaData does not return a field indicating
> SERIAL as far as I could see?

getColumnType returns a value from java.sql.Types, which doesn't have
SERIAL so there is no way to return it.
ResultSetMetaData.getColumnTypeName() should probably return serial, but
it doesn't at the moment.  ResultSetMetaData.isAutoIncrement() will work
as will DatabaseMetaData.getColumns().

> 2) Why does it not work to issue a query like INSERT INTO
> x(serial_field) VALUES(NULL) as the default of the "serial_field" is
> nextval() anyway?
>

When you've explicitly supplied a value (NULL in this case) the default is
not used.  Otherwise there would be no way to set a column to NULL that
had a default value.

Kris Jurka

pgsql-jdbc by date:

Previous
From: "Christian Rengstl"
Date:
Subject: Serial data type
Next
From: Christian Schröder
Date:
Subject: Re: Serial data type