Details
-
Sub-task
-
Status: Closed
-
Critical
-
Resolution: Fixed
-
None
Description
The exception can be reproduced using following code in HiveDialectITCase
HiveModule hiveModule = new HiveModule(hiveCatalog.getHiveVersion()); CoreModule coreModule = CoreModule.INSTANCE; for (String loaded : tableEnv.listModules()) { tableEnv.unloadModule(loaded); } tableEnv.loadModule("hive", hiveModule); tableEnv.loadModule("core", coreModule); List<Row> results = CollectionUtil.iteratorToList(tableEnv.executeSql("select bround(55.0, -1)").collect());
It will case such exception "BROUND second argument only takes constant", the reson is the parameter "-1" will be considered as function call instead of contant, we should fold it in HiveParserTypeCheckProcFactory#getXpathOrFuncExprNodeDesc.
Attachments
Issue Links
- fixes
-
FLINK-29703 Fail to call unix_timestamp in runtime in Hive dialect
- Resolved
- links to