Re: Correct way to send a composite type to Postgres - Mailing list pgsql-jdbc

From Jason Tesser
Subject Re: Correct way to send a composite type to Postgres
Date
Msg-id 98bbb46a1002180348r7e3bb0e8m9aa906ff41b9e4ad@mail.gmail.com
Whole thread Raw
In response to Re: Correct way to send a composite type to Postgres  (Kris Jurka <books@ejurka.com>)
List pgsql-jdbc
yea that is what i did.  I was wondering though if there are gotchas here for escaping?  Are here are Utilities in the driver I can use to make sure the data is escaped ok?  any thoughts here. 

I mean basically i did

public String getValue() {
        return "(" + person.getId() + "," + person.getFirstName() + "," + person.getLastName() + "," + person.getMiddleName() + ")";
}


On Thu, Feb 18, 2010 at 12:17 AM, Kris Jurka <books@ejurka.com> wrote:


On Tue, 16 Feb 2010, Jason Tesser wrote:

I have a composite type that is an IN parameter for a Stored Function.  How
do I construct the type in Java?

I know in Postgres I can do row(....)  I was hoping for something a little
more Javaish instead to having to build that String.

Can I extend PGObject to accomplish this?

Currently there isn't a great way to do this with the PG JDBC driver.  You can encapsulate the ugliness with PGObject, but you can't avoid it.  If you have a type that extends PGObject all you need to do is override the toString method to format the data as the server expects it.

Kris Jurka

pgsql-jdbc by date:

Previous
From: Kris Jurka
Date:
Subject: Re: Column is of type date but expression is of type text
Next
From: list_usr@spacebox.net
Date:
Subject: Re: Column is of type date but expression is of type text