esper - 当 ON-SELECT 查询或其他子句没有结果时如何要求 esper 调用更新
问题描述
无论有没有结果,我都想要回调。
下面的代码旨在查找范围内的所有点。
ON QueryEvent e
SELECT w, e FROM DataRecordWindow w
WHERE w.value>e.begin AND w.value<e.end // between-and
ORDER BY w.value;
如果没有结果,就没有回调调用UpdateListener,我希望esper调用带参数null的update。
我尝试了 InnerJoin,但结果是一样的:
SELECT w, e FROM DataRecordWindow w, QueryEvent e UNIDIRECTIONAL
WHERE w.value>e.begin AND w.value<e.end // between-and
ORDER BY w.value;
我的第三次尝试是:
ON QueryEvent e
SELECT WINDOW(w), WINDOW(e) FROM DataRecordWindow w
WHERE w.value>e.begin AND w.value<e.end // between-and
ORDER BY w.value;
好,如果有结果,返回两个数组,否则返回两个null。最后,至少,即使没有结果,它也会回调。
但我希望它返回我的起源e。
解决方案
使用外连接或单向外连接。
SELECT w, e
FROM DataRecordWindow w
full outer join
QueryEvent e UNIDIRECTIONAL
WHERE w.value>e.begin AND w.value<e.end // between-and
ORDER BY w.value;
推荐阅读
- node.js - 代理在 nodejs 请求模块中不起作用
- php - PHP 未捕获的 PDOException:SQLSTATE [HY000]:一般错误:2031
- javascript - 为什么 (_=1)=>$=>_++ 是一个计数器
- delphi - 如何在 Windows 任务栏中显示 MessageBox 而不显示应用程序图标?
- hugo - Hugo 改为 post-stub-description 而不是 post-date
- android - LiveData:AndroidX 重构后无法在后台线程上调用 observeForever
- python - 如果我有一个多维 numpy 数组,如何动态引用特定切片?
- konvajs - Konva - 反应拖放而不移动拖动元素
- swift - EXC_BREAKPOINT 崩溃的原因
- c# - COM 互操作的重命名/前缀类