Represent zero-column relations (aka booleans) in the PartialTrieScan
interface?
#446
Labels
help wanted
Extra attention is needed
physical
physical layer
planning engine
question
Further information is requested
technical-debt
Refactoring for an implementation that was good enough at the time
Milestone
A relation with zero columns can have two possible values: either the empty set
{}
or the set containing the empty tuple{()}
. Currently there is no way to cleanly represent such a relation in thePartialTrieScan
interface. We need this, if we want to generate execution plans, that have "zero column" intermediary results, which is needed if we want to generate one overall execution plan for each rule.Are there other solutions?
If we change the execution planning engine in such a way, that a single rule can produce multiple execution plans, we could circumvent representing these types of relations in the
PartialTrieScan
interface. The implementation of this may be simpler, since it does not require the physical layer to change, however it has the downside that optimization of execution plans might become more difficult, and the overall complexity of the planning engine (which is already hard to understand) increases.Where do we need this?
For fixing the open issues #434, #428, #193
The text was updated successfully, but these errors were encountered: