Hello, I understand that there is a bit of effort involved with the upgrade, although there are also lots of benefits, in particular if you're using any of PostgreSQL, MySQL, Oracle, or SQL Server, whose integrations have seen the biggest improvements between 2.6 and 3.5. The other improvements are documented here: http://www.jooq.org/notes
Note that we have tried to keep the breaking changes as low as possible. If they were inevitable, we've documented them all in this single section of the manual: http://www.jooq.org/doc/3.5/manual/reference/migrating-to-3.0 If the current performance issue is the only one that's currently bothering you, you might also just patch jOOQ 2.6 yourself. If I remember correctly, the most significant improvements were made in AbstractField and AbstractTable. Here's the current implementation in jOOQ 3.6.0-SNAPSHOT: https://github.com/jOOQ/jOOQ/blob/82d46a5a0c4778bbca9eab251d7bef2f76187a72/jOOQ/src/main/java/org/jooq/impl/AbstractField.java#L1921 https://github.com/jOOQ/jOOQ/blob/ef39b04e187b4baad30f48affed70952f4550af5/jOOQ/src/main/java/org/jooq/impl/AbstractTable.java#L747 Another option is that we (Data Geekery) maintain 2.6 for you, specifically, in a time-and-material based agreement. We could then publish an official 2.6.5 with these issues addressed. But as I said, the amount of new features that you will get after the upgrade is very significant, so you should definitely keep an eye on jOOQ 3 versions. Best Regards, Lukas 2014-12-17 12:47 GMT+01:00 Дмитрий Прайвит <[email protected]>: > Thank you for quick responce! > Well, now, after your assurance, that such performance problems are solved > in jOOQ 3, we will try to migrate to latest version, but unfortunately it's > a hard work for us - many things must be overwrited. > > среда, 17 декабря 2014 г., 13:26:01 UTC+3 пользователь Lukas Eder написал: >> >> Hello, >> >> We've made quite a few improvements over the last 1.5 years in terms of >> performance. In particular, a couple of those issues related to inefficient >> hashCode() (and equals()) implementations were addressed - if I remember >> correctly, mostly in jOOQ 3.2. Is upgrading to jOOQ 3.5 not an option for >> you? >> >> Best Regards, >> Lukas >> >> 2014-12-17 11:03 GMT+01:00 Дмитрий Прайвит <[email protected]>: >>> >>> Hi! >>> I got a problem. getValue method performs extremly slow because of slow >>> hashCode method realisation. >>> In our project, we convert every result from jOOQ (ExecuteQueryCursor >>> res = NgQueryPkg.executeQueryCursor(factory, ...) to our inernal fomat. >>> NgQueryPkg is generated by jOOQ. In this conversation we retrieve fields >>> from Result using getValue method: >>> //converter function >>> public static QueryResponse fromJooqQueryCursor(Result<Record> >>> cursorQueryResult,... >>> { .... >>> for (final Record record : >>> cursorQueryResult.sortAsc(QUERY_RECORD_COMPARATOR)) >>> { >>> String synonym = record.getValue(QueryRecordFie >>> ld.SCHEMA_SYNONYM.name(), String.class); >>> String schemaCode = record.getValue(QueryRecordFie >>> ld.ENTITY_SCHEMA_CODE.name(), String.class); >>> //other getValue() invocations >>> This is what profiler shows me: >>> >>> <https://lh4.googleusercontent.com/-rHzJ_AVypiY/VJFSqoBw7XI/AAAAAAAAADA/ehmJ0bqnl3E/s1600/%D0%91%D0%B5%D0%B7%D1%8B%D0%BC%D1%8F%D0%BD%D0%BD%D1%8B%D0%B9.jpg> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> In AbstractQueryPart in hashCode method there is a comment: >>> "// This is a working default implementation. It should be overridden by >>> // concrete subclasses, to improve performance" >>> Who must override it? Me? Or internaj jOOQ AbstractQueryPart's >>> implimentation classes? >>> If so, how could I specify jOOQ to use exact realisation of >>> AbstractQueryPart >>> when giving me result? >>> >>> Wish you could help me, because currently our system works very slow! >>> Thank you! >>> >>> P.S. We'r using jOOq 2.6.7 >>> P.P.S Sorry if the question is stupid - I'm new in jOOQ) >>> >>> -- >>> 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. >>> >> -- > 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. > -- 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.
