Hi Bhavya, It seems the problem is that the json format provided by Calcite does not include properties specific to your operator? If so, I think you can override RelNode#explainTerms in your operator to attach the properties.
Best, Liya Fan On Thu, Dec 17, 2020 at 10:45 PM Bhavya Aggarwal <bha...@knoldus.com> wrote: > Please let me know if we have an example for writing a custom visitor that > I can use. I see a RelVisitor class that I can extend but how to make it to > visit the specific Physical Operator. > > Thanks and Regards > Bhavya > > On Thu, Dec 17, 2020 at 7:43 PM Bhavya Aggarwal <bha...@knoldus.com> > wrote: > > > Thanks, > > > > I tried using the RelJsonWriter and tried to add my custom implementation > > in the my custom Rel Nodes but I am not getting all the data in my child > > operators. We are trying to use Calcite for a columnar data and we need > the > > information of the projections in the TableScan as well because we need > to > > pass those projections to read specific columns but I am not able to find > > the projections in my Table scan. As per my understanding Calcite should > be > > passing this information as it is required for me reading the table. > Please > > let me know if I need to do something special to get that information in > > the child operator. > > > > Regards > > Bhavya > > > > On Sun, Dec 13, 2020 at 11:32 PM Michael Mior <mm...@apache.org> wrote: > > > >> That would likely be the best approach if you have some specific JSON > >> format you're trying to generate. If you're happy with a JSON format > >> defined by Calcite, you can look at RelJsonWriter. > >> > >> -- > >> Michael Mior > >> mm...@apache.org > >> > >> Le dim. 13 déc. 2020 à 05:36, Muhammad Gelbana <mgelb...@apache.org> a > >> écrit : > >> > > >> > I would use a visitor to traverse the optimized/physical plan. > >> > > >> > > >> > > >> > On Sun, Dec 13, 2020 at 6:42 AM Bhavya Aggarwal <bha...@knoldus.com> > >> wrote: > >> > > >> > > Hi All, > >> > > > >> > > We need to generate a JSON object for the physical execution tree > >> that has > >> > > been created. Is there an option in Calcite that we can use to do > >> this. I > >> > > am not sure what is the right approach to do it. Please let me know > if > >> > > there are different ways to achieve this. > >> > > > >> > > Regards > >> > > Bhavya > >> > > > >> > > -- > >> > > Your feedback matters - At Knoldus we aim to be very professional in > >> our > >> > > quality of work, commitment to results, and proactive communication. > >> If > >> > > you > >> > > feel otherwise please share your feedback > >> > > <https://forms.gle/Ax1Te1DDpirAQuQ8A> and we would work on it. > >> > > > >> > > > > > > -- > > *Bhavya Aggarwal* > > CTO & Partner > > Knoldus Inc. <http://www.knoldus.com/> > > +91-9910483067 > > Canada - USA - India - Singapore > > <https://in.linkedin.com/company/knoldus> <https://twitter.com/Knolspeak > > > > <https://www.facebook.com/KnoldusSoftware/> <https://blog.knoldus.com/> > > > > > -- > *Bhavya Aggarwal* > CTO & Partner > Knoldus Inc. <http://www.knoldus.com/> > +91-9910483067 > Canada - USA - India - Singapore > <https://in.linkedin.com/company/knoldus> <https://twitter.com/Knolspeak> > <https://www.facebook.com/KnoldusSoftware/> <https://blog.knoldus.com/> > > -- > Your feedback matters - At Knoldus we aim to be very professional in our > quality of work, commitment to results, and proactive communication. If > you > feel otherwise please share your feedback > <https://forms.gle/Ax1Te1DDpirAQuQ8A> and we would work on it. >