calcite-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ivan Grgurina <Ivan.Grgur...@fer.hr>
Subject Re: Placeholder schema for Volcano planner
Date Tue, 14 May 2019 14:41:00 GMT
Resending




________________________________
From: Ivan Grgurina <ivan.grgurina@fer.hr>
Sent: Tuesday, May 14, 2019 1:52 PM
To: dev@calcite.apache.org
Subject: Placeholder schema for Volcano planner

Hi everyone, I've managed to make some progress on my master thesis project
since last time we spoke [1]. I used a model.json configuration custom
schema factory to add rules and that worked, rules got executed, just not
chosen as the best option. You can find the code here: [2]. Now my
questions are:

1) Can I tell Volcano planner to ignore 1 out of 3 schemas that I passed
through custom JDBC SchemaFactory?

*I want parser to work on that 1 original schema*, but for the planner to
never suggest an optimal (cheapest) plan in that schema (only other 2
derived schemas). 1 original schema is always mapped 1-to-1 with other 2
derived schemas, so the RelNode that my rule returns is always semantically
equivalent, just more expensive (security reasons).

2) If that can't work, how can I call HepPlanner instead of default Volcano
planner *from SchemaFactory *that is set in model.json, since that's my
starting point?

3) Ideally, I would have HepPlanner execute my rules that transform them to
semantically equivalent expressions that use 2 derived schemas instead of 1
original schema (I have a rules that do that), and then have Volcano
planner optimize that using *only* 2 derived schemas, without having an
idea that 1 original schema exists, due to security reasons.

Unfortunately, I have no idea how to do that. Any help would be appreciated
:)

[1]
http://mail-archives.apache.org/mod_mbox/calcite-dev/201905.mbox/%3CAM6PR08MB5061442901DBFE49ED43329A92340@AM6PR08MB5061.eurprd08.prod.outlook.com%3E
[2] https://github.com/igrgurina/multicloud_rewriter

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message