Thank you, i simply didn't see the "push" method 🤓 Le lun. 2 janv. 2023 à 15:51, Ruben Q L <[email protected]> a écrit :
> Hello Christophe, > > Once you have the RelRoot from the SqlToRelConverter, you can obtain the > corresponding RelNode via RelRoot#project. > After that, you could create a new RelBuilder, and then push that RelNode > inside using RelBuilder#push(RelNode) and from that point on continue using > the builder. > > Maybe not relevant in your case, but just fyi another possibility to > "modify the request" (i.e. modify the RelNode) without using a RelBuilder > could be applying a RelShuttle to the RelNode (see e.g. > RelHomogeneousShuttle and subclasses if you want to check some examples). > > Best regards, > Ruben > > > > On Mon, Jan 2, 2023 at 2:25 PM Christophe Le Saëc <[email protected]> > wrote: > > > Hello, > > > > I used RelBuilder to scan table name without any pb. > > Now, i would like to do same kind of transformation, but instead of table > > name, with a SQL query. > > Something like > > RelBuilder.scanSQL("Select x, y from ..."); > > > > I try to use SqlParser / SqlToRelConcerter > > > > SqlNode sqlNode = SqlParser.create(sqlQuery).parseQuery(); > > SqlToRelConverter => build RelRoot > > > > but didn't find a way to convert SqlNode nor RelRoot to RelBuilder in > order > > to modify the request. > > > > Is it possible ? And if yes, how ? > > > > Best regards, > > Christophe. > > >
