Hi all,
I'm dealing with a big database and trying to use fetchlazy with a custom
sql and it seems not working.
I have two problems, first i have a custom sql, so i am could'nt find a way
to use custom sql with the 'setFetchSize'.
So i started a Statement and set the fetchsize in it, and passed it to the
fetchLazy to return records but the function hasNext cause such error:
Exception in thread "main" org.jooq.exception.DataAccessException: SQL
[null]; ERROR: portal "C_1" does not exist
at org.jooq_3.11.7.POSTGRES_10.debug(Unknown Source) ~[na:na]
at org.jooq_3.11.7.POSTGRES_10.debug(Unknown Source)
at org.jooq.impl.Tools.translate( at
org.jooq.impl.Tools.translate(Tools.java:2384) ~[jooq-3.11.7.jar:na]
Tools.java:2384)
at
org.jooq.impl.DefaultExecuteContext.sqlException(DefaultExecuteContext.java:811)
~[jooq-3.11.7.jar:na]
at
org.jooq.impl.DefaultExecuteContext.sqlException(DefaultExecuteContext.java:811)
at org.jooq.impl.CursorImpl$CursorIterator.fetchNext(CursorImpl.java:1685)
[jooq-3.11.7.jar:na]
at org.jooq.impl.CursorImpl$CursorIterator.fetchNext( at
org.jooq.impl.CursorImpl$CursorIterator.hasNext(CursorImpl.java:1685CursorImpl.java:1636)
[jooq-3.11.7.jar:na]
)
at org.jooq.impl.CursorImpl.hasNext(CursorImpl.java:296)
[jooq-3.11.7.jar:na]
at org.jooq.impl.CursorImpl$CursorIterator.hasNext(CursorImpl.java:1636)
at joindb.JoinDatabases.loadGuiaTransitoAnimal(JoinDatabases.java:185)
[classes/:na]
at joindb.JoinDb.main(JoinDb.java:23) [classes/:na]
at org.jooq.impl.CursorImpl.hasNext(CursorImpl.java:296)
Caused by: org.postgresql.util.PSQLException: ERROR: portal "C_1" does not
exist
at joindb.JoinDatabases.loadGuiaTransitoAnimal(JoinDatabases.java:185)
at joindb.JoinDb.main(JoinDb.java:23)
Caused by: org.postgresql.util.PSQLException: ERROR: portal "C_1" does not
exist
at
org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2440)
~[postgresql-42.2.5.jar:42.2.5]
at
org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2440)
at
org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2183)
~[postgresql-42.2.5.jar:42.2.5]
at
org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2183)
at
org.postgresql.core.v3.QueryExecutorImpl.fetch(QueryExecutorImpl.java:2372)
~[postgresql-42.2.5.jar:42.2.5]
at
org.postgresql.core.v3.QueryExecutorImpl.fetch(QueryExecutorImpl.java:2372)
at org.postgresql.jdbc.PgResultSet.next(PgResultSet.java:1856)
~[postgresql-42.2.5.jar:42.2.5]
at org.jooq.impl.CursorImpl$CursorResultSet.next( at
org.postgresql.jdbc.PgResultSet.next(PgResultSet.java:1856)
CursorImpl.java:596) ~[jooq-3.11.7.jar:na]
at org.jooq.impl.CursorImpl$CursorResultSet.next( at
org.jooq.impl.CursorImpl$CursorIterator.fetchNext(CursorImpl.java:596)
CursorImpl.java:1659) [jooq-3.11.7.jar:na]
... 4 common frames omitted
at org.jooq.impl.CursorImpl$CursorIterator.fetchNext(CursorImpl.java:1659)
... 4 more
The code is like this:
Class.forName("org.postgresql.Driver").newInstance();
Connection conn = DriverManager.getConnection(url, USER, PASSWORD);
conn.setAutoCommit(false);
....
Connection connection = databaseManager.startConnection();
Statement st = connection.createStatement();
st.setFetchSize(2);
DSLContext create = DSL.using(connection, SQLDialect.POSTGRES_10);
ResultSet gtaResultSet = st.executeQuery("SELECT * from queryString");
int missingReference = 0;
try (Cursor<Record> gtaIt = create.fetchLazy(curQuery))
{//gtaResultSet)) {
// while (gtaResultSet.next()) {
// Cursor<Record> gtaIt = create.fetchLazy(gtaResultSet); //some
tests that doesnt works as well
while (gtaIt.hasNext()) {
System.out.println("Current count: " + count++);
Record gtaRow = gtaIt.fetchNext();
}}
Any insigths ?
Thanks,
Danilo
--
You received this message because you are subscribed to the Google Groups "jOOQ
User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.