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 по дате отправления: