Hana计算视图场景,计算视图包含输入参数,查询的SQL如下:
SELECT
"DESC1",
"UDATE",
"VALUE1",
"VALUE2",
"VALUE3"
FROM "_SYS_BIC"."test/TEST_SCRIPT"('PLACEHOLDER' = ('$$SEL_DATE$$',
'2020-10-11'))
WHERE DESC1 NOT IN ('上月同期累计','去年同期累计','月度目标','年度目标')
经过Druid解析后,会变成
SELECT
"DESC1",
"UDATE",
"VALUE1",
"VALUE2",
"VALUE3"
FROM "_SYS_BIC"."test/TEST_SCRIPT"
WHERE DESC1 NOT IN ('上月同期累计','去年同期累计','月度目标','年度目标')
这在Hana中会出现错误,因为某些输入参数是必填项
我们暂时通过新建一个HanaSelectParser 类继承自 SQLSelectParser,重写 parseTableSourceQueryTableExpr 方法来解决,不知到官方啥时候支持上Hana计算视图的输入参数。