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.
