Re: executeBatch() issue with new driver?

Поиск
Список
Период
Сортировка
От Alan Stange
Тема Re: executeBatch() issue with new driver?
Дата
Msg-id 4187C4F5.3050402@rentec.com
обсуждение исходный текст
Ответ на Re: executeBatch() issue with new driver?  (Dave Cramer <pg@fastcrypt.com>)
Список pgsql-jdbc
Dave Cramer wrote:

> Well, I'm not suggesting that this is the intent of the driver, just
> pointing out that there is an inference in the documentation that the
> API may not be intended to be used that way.

I understand.

Thanks!

-- Alan

> Alan Stange wrote:
>
>> Dave Cramer wrote:
>>
>>> Without looking at the code, I noticed that the javadoc's refer to
>>> addBatch as adding a single command, see below.
>>>
>>> Adds the given SQL command to the current list of commmands for this
>>> |Statement| object. The commands in this list can be executed as a
>>> batch by calling the method |executeBatch|.
>>
>>
>>
>> I see.
>> This appears to be a change in behavior from the pg74 drivers, which
>> do accept more than a single statement.   The MS SQLServer JDBC
>> driver  also accepts more than one statement.
>>
>> I was leaning toward dropping our use of batches anyway.  Thanks.
>>
>> -- Alan
>>
>>
>>> Alan Stange wrote:
>>>
>>>> Hello all,
>>>>
>>>> I'm using pg8 beta 3, with the pgdev.307.jdbc3.jar JDBC driver.
>>>>
>>>>
>>>> If I run the following example code:
>>>>
>>>> Connection conn = ...;
>>>> Statement st = conn.createStatement();
>>>> String sql = "create temp table t (a int4); insert into t (a)
>>>> values (1);";
>>>> st.addBatch(sql);
>>>> st.executeBatch();
>>>>
>>>> I get the following error:
>>>>
>>>> Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1
>>>>    at
>>>> org.postgresql.jdbc2.AbstractJdbc2Statement$BatchResultHandler.handleError(AbstractJdbc2Statement.java:2317)
>>>>
>>>>    at
>>>>
org.postgresql.jdbc2.AbstractJdbc2Statement$BatchResultHandler.handleCommandStatus(AbstractJdbc2Statement.java:2293) 
>>>>
>>>>    at
>>>> org.postgresql.core.v3.QueryExecutorImpl.interpretCommandStatus(QueryExecutorImpl.java:1230)
>>>>
>>>>    at
>>>> org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:968)
>>>>
>>>>    at
>>>> org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:283)
>>>>
>>>>    at
>>>> org.postgresql.jdbc2.AbstractJdbc2Statement.executeBatch(AbstractJdbc2Statement.java:2371)
>>>>
>>>>    at com.rentec.fi.db.DbStatement.executeBatch(DbStatement.java:88)
>>>>
>>>>
>>>> Am I missing something here?
>>>>
>>>> Thanks!
>>>>
>>>> -- Alan
>>>>
>>>> ---------------------------(end of
>>>> broadcast)---------------------------
>>>> TIP 2: you can get off all lists at once with the unregister command
>>>>    (send "unregister YourEmailAddressHere" to
>>>> majordomo@postgresql.org)
>>>>
>>>>
>>>
>>
>>
>>
>


В списке pgsql-jdbc по дате отправления:

Предыдущее
От: Dave Cramer
Дата:
Сообщение: Re: executeBatch() issue with new driver?
Следующее
От: Kris Jurka
Дата:
Сообщение: Re: executeBatch() issue with new driver?