Thanks. I'm going to look through the tutorial, but an initial look of the File adapter seems to be exactly the kind of thing that I was looking for. A way to mark that a table scan is being done on a specific source and a way to register rules that can then apply to that specific read node.
Thanks again. On Mon, Feb 27, 2023 at 1:24 PM Julian Hyde <[email protected]> wrote: > Strictly there’s no such things as a ‘pushdown rule’. Every rule needs to > produce an equivalent relational expression. And therefore rules are > typically ’swaps’ - the rule that pushes a filter through a join is, in > some sense, pulling the join through the filter. It matches a filter on top > of a join and then goes to work. > > The rules that push processing into another engine are also ’swaps’. You > might write a rule that matches a filter on top of a X-to-Y-converter where > X and Y are conventions, and therefore the filter is handling the data in Y > format. The rule might create an X-to-Y-converter on top of a filter that > is handling data in X format. > > If you are dealing with remote database you likely need a new convention, > therefore an adapter. The tutorial that Stamatis and I gave at BOSS ’21 [1] > explains how to write such rules. > > Julian > > [1] > https://www.slideshare.net/julianhyde/apache-calcite-a-tutorial-given-at-boss-21 > > > On Feb 27, 2023, at 10:53 AM, Jonathan Sternberg <[email protected]> > wrote: > > > > Hi, > > > > I'm looking to implement a planner rule for Calcite that can only trigger > > if reading from a table in a specific catalog implementation. For > example, > > the planner rule should not trigger if reading from the catalog that > > represents the in-memory database, but I'd like to do a specific > > optimization when reading from a remote database because it's more > > efficient to push down the logic to the server than to read the data into > > the client and perform the transformation there. > > > > I've been trying to identify the way that I'm meant to do this. If I can > > just get a little nudge in the correct direction, that would be > incredibly > > helpful. > > > > Thank you. > > > > --Jonathan Sternberg > >
