Hi Samir,

2016-06-08 11:42 GMT+03:00 Samir Faci <[email protected]>:

> Well, it's not even a matter sharing the project, it's a hierarchy of
> module and projects that have to be included though yes somehow work has
> some minor objections about proprietary code being shared and passed about.
>  (Then again the other modules don't have this issue, so it could provide a
> hint as to why this problem is occurring.)
>

Sure, no worries. I would have been surprised if it was an option.


> The only obvious difference between this project and the other code I've
> migrated over to Jooq 3.8.x is an excessive usage of CTEs.
>

Oh, that's very interesting and might explain things. Here's all the with
clauses from jOOQ 3.5:
http://www.jooq.org/javadoc/3.5.x/org/jooq/DSLContext.html

WithStep    with(CommonTableExpression<?>... tables)
WithAsStep  with(java.lang.String alias)
WithAsStep  with(java.lang.String alias, java.lang.String... fieldAliases)

Here are the with clauses in jOOQ 3.8:
http://www.jooq.org/javadoc/latest/org/jooq/DSLContext.html

WithStep    with(CommonTableExpression<?>... tables)
WithAsStep  with(String alias)
WithAsStep  with(String alias, String... fieldAliases)
WithAsStep1 with(String alias, String fieldAlias1)
WithAsStep2 with(String alias, String fieldAlias1, String fieldAlias2)
WithAsStep3 with(String alias, String fieldAlias1, String fieldAlias2,
String fieldAlias3)
WithAsStep4 with(String alias, String fieldAlias1, String fieldAlias2,
String fieldAlias3, String fieldAlias4)
WithAsStep5 with(String alias, String fieldAlias1, String fieldAlias2,
String fieldAlias3, String fieldAlias4, String fieldAlias5)
WithAsStep6 with(String alias, String fieldAlias1, String fieldAlias2,
String fieldAlias3, String fieldAlias4, String fieldAlias5, String
fieldAlias6)
WithAsStep7 with(String alias, String fieldAlias1, String fieldAlias2,
String fieldAlias3, String fieldAlias4, String fieldAlias5, String
fieldAlias6, String fieldAlias7)
WithAsStep8 with(String alias, String fieldAlias1, String fieldAlias2,
String fieldAlias3, String fieldAlias4, String fieldAlias5, String
fieldAlias6, String fieldAlias7, String fieldAlias8)
WithAsStep9 with(String alias, String fieldAlias1, String fieldAlias2,
String fieldAlias3, String fieldAlias4, String fieldAlias5, String
fieldAlias6, String fieldAlias7, String fieldAlias8, String fieldAlias9)
WithAsStep10    with(String alias, String fieldAlias1, String fieldAlias2,
String fieldAlias3, String fieldAlias4, String fieldAlias5, String
fieldAlias6, String fieldAlias7, String fieldAlias8, String fieldAlias9,
String fieldAlias10)
WithAsStep11    with(String alias, String fieldAlias1, String fieldAlias2,
String fieldAlias3, String fieldAlias4, String fieldAlias5, String
fieldAlias6, String fieldAlias7, String fieldAlias8, String fieldAlias9,
String fieldAlias10, String fieldAlias11)
WithAsStep12    with(String alias, String fieldAlias1, String fieldAlias2,
String fieldAlias3, String fieldAlias4, String fieldAlias5, String
fieldAlias6, String fieldAlias7, String fieldAlias8, String fieldAlias9,
String fieldAlias10, String fieldAlias11, String fieldAlias12)
WithAsStep13    with(String alias, String fieldAlias1, String fieldAlias2,
String fieldAlias3, String fieldAlias4, String fieldAlias5, String
fieldAlias6, String fieldAlias7, String fieldAlias8, String fieldAlias9,
String fieldAlias10, String fieldAlias11, String fieldAlias12, String
fieldAlias13)
WithAsStep14    with(String alias, String fieldAlias1, String fieldAlias2,
String fieldAlias3, String fieldAlias4, String fieldAlias5, String
fieldAlias6, String fieldAlias7, String fieldAlias8, String fieldAlias9,
String fieldAlias10, String fieldAlias11, String fieldAlias12, String
fieldAlias13, String fieldAlias14)
WithAsStep15    with(String alias, String fieldAlias1, String fieldAlias2,
String fieldAlias3, String fieldAlias4, String fieldAlias5, String
fieldAlias6, String fieldAlias7, String fieldAlias8, String fieldAlias9,
String fieldAlias10, String fieldAlias11, String fieldAlias12, String
fieldAlias13, String fieldAlias14, String fieldAlias15)
WithAsStep16    with(String alias, String fieldAlias1, String fieldAlias2,
String fieldAlias3, String fieldAlias4, String fieldAlias5, String
fieldAlias6, String fieldAlias7, String fieldAlias8, String fieldAlias9,
String fieldAlias10, String fieldAlias11, String fieldAlias12, String
fieldAlias13, String fieldAlias14, String fieldAlias15, String fieldAlias16)
WithAsStep17    with(String alias, String fieldAlias1, String fieldAlias2,
String fieldAlias3, String fieldAlias4, String fieldAlias5, String
fieldAlias6, String fieldAlias7, String fieldAlias8, String fieldAlias9,
String fieldAlias10, String fieldAlias11, String fieldAlias12, String
fieldAlias13, String fieldAlias14, String fieldAlias15, String
fieldAlias16, String fieldAlias17)
WithAsStep18    with(String alias, String fieldAlias1, String fieldAlias2,
String fieldAlias3, String fieldAlias4, String fieldAlias5, String
fieldAlias6, String fieldAlias7, String fieldAlias8, String fieldAlias9,
String fieldAlias10, String fieldAlias11, String fieldAlias12, String
fieldAlias13, String fieldAlias14, String fieldAlias15, String
fieldAlias16, String fieldAlias17, String fieldAlias18)
WithAsStep19    with(String alias, String fieldAlias1, String fieldAlias2,
String fieldAlias3, String fieldAlias4, String fieldAlias5, String
fieldAlias6, String fieldAlias7, String fieldAlias8, String fieldAlias9,
String fieldAlias10, String fieldAlias11, String fieldAlias12, String
fieldAlias13, String fieldAlias14, String fieldAlias15, String
fieldAlias16, String fieldAlias17, String fieldAlias18, String fieldAlias19)
WithAsStep20    with(String alias, String fieldAlias1, String fieldAlias2,
String fieldAlias3, String fieldAlias4, String fieldAlias5, String
fieldAlias6, String fieldAlias7, String fieldAlias8, String fieldAlias9,
String fieldAlias10, String fieldAlias11, String fieldAlias12, String
fieldAlias13, String fieldAlias14, String fieldAlias15, String
fieldAlias16, String fieldAlias17, String fieldAlias18, String
fieldAlias19, String fieldAlias20)
WithAsStep21    with(String alias, String fieldAlias1, String fieldAlias2,
String fieldAlias3, String fieldAlias4, String fieldAlias5, String
fieldAlias6, String fieldAlias7, String fieldAlias8, String fieldAlias9,
String fieldAlias10, String fieldAlias11, String fieldAlias12, String
fieldAlias13, String fieldAlias14, String fieldAlias15, String
fieldAlias16, String fieldAlias17, String fieldAlias18, String
fieldAlias19, String fieldAlias20, String fieldAlias21)
WithAsStep22    with(String alias, String fieldAlias1, String fieldAlias2,
String fieldAlias3, String fieldAlias4, String fieldAlias5, String
fieldAlias6, String fieldAlias7, String fieldAlias8, String fieldAlias9,
String fieldAlias10, String fieldAlias11, String fieldAlias12, String
fieldAlias13, String fieldAlias14, String fieldAlias15, String
fieldAlias16, String fieldAlias17, String fieldAlias18, String
fieldAlias19, String fieldAlias20, String fieldAlias21, String fieldAlias22)

I would be surprised that the overloads by themselves would cause any
issues, but perhaps that's it?


> I'll spend some time trying to debug this but unless someone has some
> suggested tools for benchmarking compile time, I'm going to start deleting
> files and seeing if I can track down the code snippet that's causing the
> slow down.  Naturally this might take a little while to iron out.
>

Thank you very much for offering to do this. I'm not aware of any such
tool, unfortunately. Also, it might not be the case that there is a single
API usage scenario that causes the issue. Rather the overload resolution
might be generally slow for this case.

Can you show how you typically use jOOQ's CTE API? Do you store the
CommonTableExpression type in local variables? Or do you inline the CTE in
a SELECT Statement?

-- 
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.

Reply via email to