Re: executeBatch() issue with new driver?
От | Dave Cramer |
---|---|
Тема | Re: executeBatch() issue with new driver? |
Дата | |
Msg-id | 4187C2D0.5050708@fastcrypt.com обсуждение исходный текст |
Ответ на | Re: executeBatch() issue with new driver? (Alan Stange <stange@rentec.com>) |
Ответы |
Re: executeBatch() issue with new driver?
|
Список | pgsql-jdbc |
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. Dave 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) >>> >>> >> > > > -- Dave Cramer http://www.postgresintl.com 519 939 0336 ICQ#14675561
В списке pgsql-jdbc по дате отправления: