次のように、EPL クエリでさまざまなユーザーの表示権限を設定したいと考えています。
Users AllowedView
U1 V1,V2
U2 V1,V3
U3 V2,V3
Input Events sequence are as:
User View Amount
1. U1, V1, 20
2. U2, V3, 30
3. U3, V3, 40
4. U3, V2, 50
Output required as Sum(amount):
1. U1 - 20, U2 - 20 (as V1 is changed and permission to U1 & U2)
2. U2 - 50, U3 - 30 (as V3 is changed and permission to U2 & U3)
3. U2 - 90, U3 - 70 (as V3 is changed and permission to U2 & U3)
4. U1 - 70, U3 - 100 (as V2 is changed and permission to U1 & U3)
コンテキストがこれを行うと思いますが、イベントの流れとコンテキストの構成を合理化するための助けが必要です。
したがって、ビューのグループに基づいてコンテキスト パーティションを作成する必要があります。そのような
Partition1 - V1,V2
Partition2 - V1,V3
Partition3 - V2,V3
すべての計算はそれらに基づいて行うことができます。ご覧のとおり、コンテキストの分割キーは単一または二重のプロパティではなく、基本的に同じプロパティのグループです。だから私は次のように書くことはできません
Create context TestContext
partition by view
from EventPermissibleView;