0

我在 Esper 中有一个 UDF,它返回一个 int

getVal(int val){
//doing stuff
return val;
}

如果我这样做

select getVal(eventAttribute) from Event

它返回

{getVal(eventAttribute)=3 } //3 例子可以是任何东西

但是,如果我指定

select getVal(eventAttribute) from Event WHERE getVal(eventAttribute) = 3

听众不会更新

有谁知道为什么?我必须在 Event 类中设置属性吗?因为它从 select 子句更新,但带有 WHERE 子句,即使它返回 int = 3

编辑:

insert into Stream select getVal(attribute) as value

select value from Stream where value > 3

这行得通。

4

1 回答 1

0

您确定“getVal”总是为给定的“eventAttribute”返回相同的值,并且“eventAttribute”是不可变的吗?如果是,请提供一些测试代码来重现?

于 2017-01-25T23:57:57.163 回答