ドキュメントによると、可能なはずのイベントタイプで時間間隔代数メソッドを直接使用しようとしています。create schema
最初に、次のような構文を使用していくつかのイベント タイプを定義しようとしました。
create schema BaseEvent as (time long, name String) starttimestamp time
create schema ExtendedEvent as (moreInfo String) inherits BaseEvent
このようなクエリを書くと
select *
from BaseEvent.std:lastevent() as a, ExtendedEvent.std:lastevent() as b
where a.after(b)
実際にはエラーなしでコンパイルされます。しかし、結合の代わりにパターンを使用しようとすると、次のようになります
select *
from pattern [ every (a = BaseEvent and b = ExtendedEvent) ]
where a.after(b)
それは私にエラーを与えます:
Date-time enumeration method 'after' requires either a Calendar,
Date or long value as input or events of an event type that
declares a timestamp property
ドキュメントで説明されているようにタイムスタンプ プロパティが定義されているベース イベント タイプから派生した POJO を使用しようとすると、同じエラーが発生します。実際に基本型を使用すると機能しますが、他のすべてのケースでは継承に関する情報を使用するのに、この場合は継承された時間プロパティを使用しないのは奇妙に思えます。
私は何か間違ったことをしていますか?これはバグですか?それとも、意図したとおりに機能するのでしょうか...