Hi Chris, you mean that we should `table`, `tree` and `common` packages in the root of datanode? I think it's better to keep the current package structure of datanode. For example, I think we can sub-packages in each module like what we do in queryengine package.
We have `iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational` for query planner codes for table model. Because I think queryengine should be a complete module, we can distinguish table and tree in its sub-module like query planner, query execution and so on. Best regards, -------------------- Yuan Tian On 2024/09/26 12:57:33 Christofer Dutz wrote: > Hi all, > > while working on implementing some features in the tree and table models > recently. I noticed that it seems the structure of the tree model differs > quite a bit from that of the table model and that the new table model sort of > was merged into the package structure of the existing tree model. > > Now we also have several commands that are specific to the tree model and > some that are specific to the table model, but also a number of commands that > are shared among the models. > > I would therefore propose to refactor this code so it is somewhat more along > this structure: > > > * Table > * Tree > * Common > > The antlr parsers should ideally remain separate, but the visitor should > produce tasks and share as much as possible. Also would it be good to > separate the antlr-parser related code from the task code. > > What do you think? > > > Chris >