Hello,

Just to be sure, you removed a lot of query parts in your listing, right? I
only see the tables, not the bind variables, for instance...

What's going on here:

*causeStart() / clauseEnd() *events indicate that a certain "Clause" is
starting / ending. A "Clause" is an artificial marker in jOOQ's AST
transformation that is used to help identify individual SQL AST elements
that are not directly represented by a QueryPart. For instance, the whole
SELECT statement is a QueryPart, but the SELECT statement has a SELECT
clause, a FROM clause, a WHERE clause, a GROUP BY clause, etc. If you could
only listen to "QueryPart" events, it would be hard to distinguish between
predicates / conditions from the WHERE clause or the HAVING clause, for
instance.

In jOOQ 4.0, we might replace these clauses by actual query parts that
model the respective clauses, but we're not sure about the exact design for
this, yet.

*visitStart() / visitEnd()* events simply indicate that a given QueryPart
is about to be rendered to the SQL output (or its bind variables extracted).

A high-level outline of a cache invalidation algorithm via VisitListener
would include:

- Listen to visitStart() events that involve org.jooq.Table
- Check to see if you're "inside" of the INSERT_INSERT_INTO clause (as
opposed to, perhaps, a table that is generated for a subquery inside of the
INSERT_VALUES or INSERT_SELECT clause)
- If applicable, invalidate your cache through your own signalling (see
suggestions from my previous E-Mail: e.g. via ThreadLocal)

I hope this helps,
Cheers
Lukas

2015-06-16 1:26 GMT+02:00 <[email protected]>:

> Also, this is from a visitEnd() repeated call.
>
> --
> 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.

Reply via email to