Re: Why are clobs always "0" - Mailing list pgsql-general

From Thomas Kellerer
Subject Re: Why are clobs always "0"
Date
Msg-id 4e8fc973-e6cb-5610-1e50-46bbb11e8813@gmx.net
Whole thread Raw
In response to Why are clobs always "0"  (Arnie Morein <arnie.morein@mac.com>)
List pgsql-general
Arnie Morein schrieb am 01.12.2019 um 18:31:
> I have tested the most recent driver in three different SQL IDEs, and
> now with an application I'm writing that uses JDBC metadata, the
> comment on a field definition also isn't available as a string
> value.
>
> The only thing I ever see regarding data type "text" field values are
> either a 0 or a 1; neither of which applies.
>
> So why is this happening, even from the JDBC metadata results as
> well?

The Postgres JDBC driver does not have any problems with the "text"
data type, neither with reporting it properly through DatabaseMetaData
(it's reported as Types.VARCHAR) nor with retrieving values from
such a column.

The column size for such a column is reported as 2147483647

Column comments are reliably returned in the column "REMARKS" in the
result of DatabaseMetaData.getColumns()

Given the following table:

     create table test (data text);
     comment on column test.data is 'The text column';

then the following Java code:

     ResultSet rs = connection.getDatabaseMetaData().getColumn(null, "public", "test", "%");
     rs.next();
     System.out.println("column_name: " + rs.getString("COLUMN_NAME"));
     System.out.println("column_size: " + rs.getInt("COLUMN_SIZE"));
     System.out.println("data_type: " + rs.getInt("DATA_TYPE"));
     System.out.println("remarks: " + rs.getString("REMARKS"));

will output:

   column_name: data
   column_size: 2147483647
   data_type: 12
   remarks: The text column

With 12 being the value of java.sql.Types.VARCHAR

Thomas




pgsql-general by date:

Previous
From: Andreas Joseph Krogh
Date:
Subject: Sv: Why are clobs always "0"
Next
From: David Wheeler
Date:
Subject: Connection terminated but client didn't realise