2012-04-17 5 views
0

Я пытаюсь использовать time interval algebra methods для типов событий, которые, в соответствии с документами, должны быть возможны. Сначала я попытался определить некоторые типы событий, используя синтаксис create schema, как это:Эспер: Использование начальных/конечных временных меток с POJO или определенными типами событий времени

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, которые являются производными от базовый тип события, который имеет свойства метки времени as described in the documentation. Хотя он работает, когда я фактически использую базовый тип, кажется странным, что Esper не использует унаследованное свойство времени в этом случае, когда он использует информацию о наследовании в каждом другом случае.

Я что-то не так? Это ошибка? Или, может быть, он просто работает как задумано ...

ответ

0

Это было на самом деле своего рода ошибка или «отсутствует» особенность:

Есть на самом деле два вопроса, я запутался здесь. Первое заключается в том, что наследование в Esper не работает таким образом, то есть производные типы не автоматически наследуют свойства метки времени. Другая проблема заключается в том, что события, являющиеся результатом шаблона, являются так называемыми фрагментами, которые не поддерживаются методами даты и времени.

Хорошо, что с предстоящей версией Esper, 4.6.0, будут исправлены обе проблемы: ESPER-659 и ESPER-660.

 Смежные вопросы

  • Нет связанных вопросов^_^