Also, what I'm really saying is:

Is there a way to access *org.h2.command.dml.Select* from my
TableEngine implementation through some field/superclass method/
property of the RegularTable that I extend? Perhaps through "session"
or something else?

On Jul 29, 10:07 pm, Atul <[email protected]> wrote:
> Hi -
>
> In order to pre-filter my custom Table ( using "MyTableEngine" and
> "MyTable <extends RegularTable> " ), I need to:
>
> a) determine what the components of the SQL select being fired by the
> client are (including select expressions, condition expressions)
> b) parse this SQL
> c) pre-filter my list of java objects
> d) add the now-filtered object rows to my custom table's ScanIndex
>
> Currently I can do this without any problem by hooking into:
>
> protected LocalResult queryWithoutCache(int maxRows, ResultTarget
> target)
>
> Inside this, I perform a call to getTables() and retrieve any
> TableFilter that's an instanceof MyTable.  When it is, I call to a
> utility class method "MyTablePreparer(Expression[] conditions,
> Expression[] selectExpressions, Set<Column> columns, TableFilter
> tableFilter)"
>
> ...where I read through the select columns and ultimately build by own
> Rows (i.e. Value [] data ) using something like:
> MyTable.getScanIndex(session).add(session, row);
>
> However, I'd like to understand if, within the query lifecycle, I can
> utilize any overridable/implementable methods in MyTable (which
> extends RegularTable) which allow me to NOT have to use
> Select.queryWithoutCache(int maxRows, ResultTarget target) to perform
> these same activities.
>
> The closest thing I've found is a fire-before-select but even here I'm
> unable to get a handle on the running query (I tried
> session.getCurrentCommand() but it's mostly empty at the times where
> it's of any use to me inside my RegularTable).
>
> It's really only three lines of code to the H2 codebase that I've
> added for the time being that I'd like to get rid of completely in
> order to not have to modify any part of H2.
>
> Thanks for any help in advance !

-- 
You received this message because you are subscribed to the Google Groups "H2 
Database" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/h2-database?hl=en.

Reply via email to