Hi Dawid, But the temporary table does not belong to Catalog, actually Catalog doesn't know the existence of the temporary table. Let the table factory of catalog to create source/sink sounds a little sudden.
If we want to make temporary tables belong to Catalog, I think we need to involve catalog when creating temporary tables. Best, Jingsong On Tue, Aug 25, 2020 at 3:55 PM Dawid Wysakowicz <dwysakow...@apache.org> wrote: > Hi Rui, > > My take is that temporary tables should use the factory of the catalog > they were registered with. > > What you are describing sounds very much like a limitation/bug in Hive > catalog only. I'd be in favor of passing the *isTemporary* flag. > > Best, > > Dawid > > On 25/08/2020 09:37, Rui Li wrote: > > Hi Dev, > > > > Currently temporary generic tables cannot work with hive catalog [1]. > When > > hive catalog is chosen as the current catalog, planner will use > > HiveTableFactory to create source/sink for the temporary > > table. HiveTableFactory cannot tell whether a table is temporary or not, > > and considers it as a Hive table, which leads to job failure. > > I've discussed with Jingsong offline and we believe one solution is to > make > > planner avoid using catalog table factory for temporary tables. But I'd > > also like to hear more opinions from others whether this is the right way > > to go. I think a possible alternative is to add an *isTemporary* field > > to TableSourceFactory.Context & TableSinkFactory.Context, so that > > HiveTableFactory knows how to handle such tables. What do you think? > > > > [1] https://issues.apache.org/jira/browse/FLINK-18999 > > > > -- Best, Jingsong Lee