[Pljava-dev] Updating an array

Lists: pljava-dev
From: bensmailinglists at gmail(dot)com (Bendik Rognlien Johansen)
To:
Subject: [Pljava-dev] Updating an array
Date: 2006-09-13 10:46:21
Message-ID: 6EEAC261-29D8-4C92-852E-3B03A513352F@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pljava-dev

Hello, I am trying to update an array of integers using a prepared
statement.

Column "categories" in the table "records" is of type integer[]

String updateSQL = "UPDATE records SET categories = ? WHERE id = ?;";
PreparedStatement updateStatement = getConnection().prepareStatement
(updateSQL);

int[] test = {11,22,33};

updateStatement.setObject(1, test);
updateStatement.setInt(2, 123);
updateStatement.execute();

I get the following error:
ERROR: java.sql.SQLException: No such SQL type: 2003

I also tried Integer[]. Same problem.

Is there any way to make this work?

Thanks!


From: thomas at tada(dot)se (Thomas Hallgren)
To:
Subject: [Pljava-dev] Updating an array
Date: 2006-09-13 12:12:48
Message-ID: 4507F5C0.2050504@tada.se
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pljava-dev

Hi Bendik,
This looks like a deficiency in the PL/Java JDBC driver. Could you
please enter it as a bug?

Thanks,
Thomas Hallgren

Bendik Rognlien Johansen wrote:
> Hello, I am trying to update an array of integers using a prepared
> statement.
>
> Column "categories" in the table "records" is of type integer[]
>
> String updateSQL = "UPDATE records SET categories = ? WHERE id = ?;";
> PreparedStatement updateStatement = getConnection().prepareStatement
> (updateSQL);
>
> int[] test = {11,22,33};
>
> updateStatement.setObject(1, test);
> updateStatement.setInt(2, 123);
> updateStatement.execute();
>
>
> I get the following error:
> ERROR: java.sql.SQLException: No such SQL type: 2003
>
> I also tried Integer[]. Same problem.
>
> Is there any way to make this work?
>
> Thanks!
>
> _______________________________________________
> Pljava-dev mailing list
> Pljava-dev at gborg.postgresql.org
> http://gborg.postgresql.org/mailman/listinfo/pljava-dev
>


From: bensmailinglists at gmail(dot)com (Bendik Rognlien Johansen)
To:
Subject: [Pljava-dev] Updating an array
Date: 2006-09-13 12:58:30
Message-ID: 5BFAA5B5-1D44-4E41-9951-EDBCE9244C60@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pljava-dev

Ok, thanks. I added it as a bug.
Any way of getting around this until the bug is fixed?

On Sep 13, 2006, at 2:12 PM, Thomas Hallgren wrote:

> Hi Bendik,
> This looks like a deficiency in the PL/Java JDBC driver. Could you
> please enter it as a bug?
>
> Thanks,
> Thomas Hallgren
>
>
> Bendik Rognlien Johansen wrote:
>> Hello, I am trying to update an array of integers using a
>> prepared statement.
>>
>> Column "categories" in the table "records" is of type integer[]
>>
>> String updateSQL = "UPDATE records SET categories = ? WHERE id = ?;";
>> PreparedStatement updateStatement = getConnection
>> ().prepareStatement (updateSQL);
>>
>> int[] test = {11,22,33};
>>
>> updateStatement.setObject(1, test);
>> updateStatement.setInt(2, 123);
>> updateStatement.execute();
>>
>>
>> I get the following error:
>> ERROR: java.sql.SQLException: No such SQL type: 2003
>>
>> I also tried Integer[]. Same problem.
>>
>> Is there any way to make this work?
>>
>> Thanks!
>>
>> _______________________________________________
>> Pljava-dev mailing list
>> Pljava-dev at gborg.postgresql.org
>> http://gborg.postgresql.org/mailman/listinfo/pljava-dev
>>
>


From: thhal at mailblocks(dot)com (Thomas Hallgren)
To:
Subject: [Pljava-dev] Updating an array
Date: 2006-09-14 01:06:55
Message-ID: eea9ud$lqqeea9ud$lqq$1@sea.gmane.org@sea.gmane.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pljava-dev

I guess you could pass a String parameter using the PostgreSQL string
format for integer arrays.

Regards,
Thomas Hallgren

Bendik Rognlien Johansen wrote:
> Ok, thanks. I added it as a bug.
> Any way of getting around this until the bug is fixed?
>
>
> On Sep 13, 2006, at 2:12 PM, Thomas Hallgren wrote:
>
>> Hi Bendik,
>> This looks like a deficiency in the PL/Java JDBC driver. Could you
>> please enter it as a bug?
>>
>> Thanks,
>> Thomas Hallgren
>>
>>
>> Bendik Rognlien Johansen wrote:
>>> Hello, I am trying to update an array of integers using a
>>> prepared statement.
>>>
>>> Column "categories" in the table "records" is of type integer[]
>>>
>>> String updateSQL = "UPDATE records SET categories = ? WHERE id = ?;";
>>> PreparedStatement updateStatement = getConnection
>>> ().prepareStatement (updateSQL);
>>>
>>> int[] test = {11,22,33};
>>>
>>> updateStatement.setObject(1, test);
>>> updateStatement.setInt(2, 123);
>>> updateStatement.execute();
>>>
>>>
>>> I get the following error:
>>> ERROR: java.sql.SQLException: No such SQL type: 2003
>>>
>>> I also tried Integer[]. Same problem.
>>>
>>> Is there any way to make this work?
>>>
>>> Thanks!
>>>
>>> _______________________________________________
>>> Pljava-dev mailing list
>>> Pljava-dev at gborg.postgresql.org
>>> http://gborg.postgresql.org/mailman/listinfo/pljava-dev
>>>