I prefer to have separate APIs for them as changelog stream requires Row type. It would make the API more straightforward and reduce the confusion.
Best, Jark On Wed, 9 Sep 2020 at 16:21, Timo Walther <twal...@apache.org> wrote: > I had this in the inital design, but Jark had concerns at least for the > `toChangelogStream(ChangelogMode)` (see earlier discussion). > > `fromDataStream(dataStream, schema, changelogMode)` would be possible. > > But in this case I would vote for a symmetric API. If we keep > toChangelogStream we should also have a fromChangelogStream. > > And if we unify `toChangelogStream` and `toDataStream`, retractions > cannot be represented for non-Rows and users will experience duplicate > records with a missing changeflag. > > Regards, > Timo > > > On 09.09.20 09:31, Danny Chan wrote: > > “But I think the planner needs to > > know whether the input is insert-only or not.” > > > > Does fromDataStream(dataStream, schema, changelogMode) > > > > solve your concerns ? People can pass around whatever ChangelogMode > they like as an optional param. > > By default: fromDataStream(dataStream, schema), the ChangelogMode is > INSERT. > > > > Best, > > Danny Chan > > 在 2020年9月9日 +0800 PM2:53,dev@flink.apache.org,写道: > >> > >> But I think the planner needs to > >> know whether the input is insert-only or not. > > > >