I think it would bring in much confusion by a different API name just because the DataStream generic type is different. If there are ChangelogMode that only works for Row, can we have a type check there ?
Switch to a new API name does not really solve the problem well, people still need to declare the ChangelogMode explicitly, and there are some confusions: • Should DataStream of Row type always use #fromChangelogStream ? • Does fromChangelogStream works for only INSERT ChangelogMode ? Best, Danny Chan 在 2020年9月9日 +0800 PM4:21,Timo Walther <twal...@apache.org>,写道: > 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. > > >