(How to) Make SQLData of UUID?

From: Alexander Myodov <amyodov(at)gmail(dot)com>
To: pgsql-jdbc(at)lists(dot)postgresql(dot)org
Subject: (How to) Make SQLData of UUID?
Date: 2019-07-21 21:58:52
Message-ID: CAHF95JzG9dAJnmjR000VQMeyLb1+4JsyffDQcSQ5h2LrNTaqHA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

Hello!

I seem to miss something obvious maybe, but I cannot find a way to use UUID
as SQLData; for example, to make a proper JDBC handling of custom
PostgreSQL type containing an UUID.

Imagine I made a custom type returned from some PL/PgSQL function:

CREATE TYPE MYFUNC_RETURN_TYPE AS

(

key UUID

);

Now, to handle it in JDBC, I need to make a custom type like
MyfuncReturnType implements
SQLData, and then add it to the type map of the connection. In
MyfuncReturnType, I’ll need to implement void writeSQL(SQLOutput stream)
method, and at some point I’ll need to do something like this: to call
either

SQLOutput::writeObject(SQLData x)

or

SQLOutput::writeObject(Object x, SQLType targetSqlType),

passing my UUID in somehow.

But UUID doesn’t satisfy SQLData interface in any way; and if I use the
second method, I do not have a proper SQLType for UUID anywhere.

I previously used the pgjdbc-ng driver, and they had a collection of
postgresql-specific SQLType's; but that driver had other problems, so I
decided to switch to the mainstream JDBC driver, and faced this lack.

Any hints please?

--
Alex Myodov

Responses

Browse pgsql-jdbc by date

  From Date Subject
Next Message Rob Sargent 2019-07-21 22:44:15 Re: (How to) Make SQLData of UUID?
Previous Message Hajar Razip 2019-07-19 10:45:54 [pgjdbc/pgjdbc] c30556: docs: add note on behavior of ResultSet.getString(...