mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-09-24 10:40:49 +00:00
Fix
This commit is contained in:
parent
7ca8811216
commit
05c3767d05
@ -94,9 +94,7 @@ AggregateFunctionPtr createAggregateFunctionSequenceNextNode(const std::string &
|
||||
|
||||
void registerAggregateFunctionSequenceNextNode(AggregateFunctionFactory & factory)
|
||||
{
|
||||
AggregateFunctionProperties properties = { .returns_default_when_only_null = true, .is_order_dependent = false };
|
||||
|
||||
factory.registerFunction("sequenceNextNode", { createAggregateFunctionSequenceNextNode, properties });
|
||||
factory.registerFunction("sequenceNextNode", { createAggregateFunctionSequenceNextNode });
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -158,7 +158,7 @@ public:
|
||||
// aggregated events: [A -> B -> C]
|
||||
// events to find: [C -> D]
|
||||
// [C -> D] is not matched to 'A -> B -> C' so that it returns null.
|
||||
return std::make_shared<AggregateFunctionNullVariadic<false, false, false, true>>(nested_function, arguments, params);
|
||||
return std::make_shared<AggregateFunctionNullVariadic<true, false, true, true>>(nested_function, arguments, params);
|
||||
}
|
||||
|
||||
void insert(Data & a, const Node * v, Arena * arena) const
|
||||
|
@ -118,3 +118,135 @@
|
||||
(1, B->A->A) 4 A
|
||||
(1, B->A->A) 5 \N
|
||||
(1, B->A->A) 6 \N
|
||||
(0, A) id >= 10 10 B
|
||||
(0, A) id >= 10 10 C
|
||||
(0, A) id >= 10 10 D
|
||||
(0, A) id >= 10 10 B
|
||||
(0, A) id >= 10 10 B
|
||||
(0, A) id >= 10 10 A
|
||||
(0, A) 1 B
|
||||
(0, A) 2 B
|
||||
(0, A) 3 B
|
||||
(0, A) 4 A
|
||||
(0, A) 5 B
|
||||
(0, A) 6 B
|
||||
(0, B) 1 C
|
||||
(0, B) 2 D
|
||||
(0, B) 3 \N
|
||||
(0, B) 4 C
|
||||
(0, B) 5 A
|
||||
(0, B) 6 A
|
||||
(0, C) 1 D
|
||||
(0, C) 2 \N
|
||||
(0, C) 3 \N
|
||||
(0, C) 4 \N
|
||||
(0, C) 5 \N
|
||||
(0, C) 6 \N
|
||||
(0, D) 1 \N
|
||||
(0, D) 2 C
|
||||
(0, D) 3 \N
|
||||
(0, D) 4 \N
|
||||
(0, D) 5 \N
|
||||
(0, D) 6 \N
|
||||
(0, E) 1 \N
|
||||
(0, E) 2 \N
|
||||
(0, E) 3 \N
|
||||
(0, E) 4 \N
|
||||
(0, E) 5 \N
|
||||
(0, E) 6 \N
|
||||
(1, A) 1 \N
|
||||
(1, A) 2 \N
|
||||
(1, A) 3 \N
|
||||
(1, A) 4 A
|
||||
(1, A) 5 B
|
||||
(1, A) 6 B
|
||||
(1, B) 1 A
|
||||
(1, B) 2 A
|
||||
(1, B) 3 A
|
||||
(1, B) 4 A
|
||||
(1, B) 5 A
|
||||
(1, B) 6 A
|
||||
(1, C) 1 B
|
||||
(1, C) 2 D
|
||||
(1, C) 3 \N
|
||||
(1, C) 4 B
|
||||
(1, C) 5 A
|
||||
(1, C) 6 B
|
||||
(1, D) 1 C
|
||||
(1, D) 2 B
|
||||
(1, D) 3 \N
|
||||
(1, D) 4 \N
|
||||
(1, D) 5 \N
|
||||
(1, D) 6 \N
|
||||
(1, E) 1 \N
|
||||
(1, E) 2 \N
|
||||
(1, E) 3 \N
|
||||
(1, E) 4 \N
|
||||
(1, E) 5 \N
|
||||
(1, E) 6 \N
|
||||
(0, A->B) 1 C
|
||||
(0, A->B) 2 D
|
||||
(0, A->B) 3 \N
|
||||
(0, A->B) 4 C
|
||||
(0, A->B) 5 A
|
||||
(0, A->B) 6 A
|
||||
(0, A->C) 1 \N
|
||||
(0, A->C) 2 \N
|
||||
(0, A->C) 3 \N
|
||||
(0, A->C) 4 \N
|
||||
(0, A->C) 5 \N
|
||||
(0, A->C) 6 \N
|
||||
(0, B->A) 1 \N
|
||||
(0, B->A) 2 \N
|
||||
(0, B->A) 3 \N
|
||||
(0, B->A) 4 \N
|
||||
(0, B->A) 5 C
|
||||
(0, B->A) 6 B
|
||||
(1, A->B) 1 \N
|
||||
(1, A->B) 2 \N
|
||||
(1, A->B) 3 \N
|
||||
(1, A->B) 4 \N
|
||||
(1, A->B) 5 A
|
||||
(1, A->B) 6 A
|
||||
(1, A->C) 1 \N
|
||||
(1, A->C) 2 \N
|
||||
(1, A->C) 3 \N
|
||||
(1, A->C) 4 \N
|
||||
(1, A->C) 5 \N
|
||||
(1, A->C) 6 \N
|
||||
(1, B->A) 1 \N
|
||||
(1, B->A) 2 \N
|
||||
(1, B->A) 3 \N
|
||||
(1, B->A) 4 A
|
||||
(1, B->A) 5 \N
|
||||
(1, B->A) 6 B
|
||||
(0, A->A->B) 1 \N
|
||||
(0, A->A->B) 2 \N
|
||||
(0, A->A->B) 3 \N
|
||||
(0, A->A->B) 4 C
|
||||
(0, A->A->B) 5 \N
|
||||
(0, A->A->B) 6 \N
|
||||
(0, B->A->A) 1 \N
|
||||
(0, B->A->A) 2 \N
|
||||
(0, B->A->A) 3 \N
|
||||
(0, B->A->A) 4 \N
|
||||
(0, B->A->A) 5 \N
|
||||
(0, B->A->A) 6 \N
|
||||
(1, A->A->B) 1 \N
|
||||
(1, A->A->B) 2 \N
|
||||
(1, A->A->B) 3 \N
|
||||
(1, A->A->B) 4 \N
|
||||
(1, A->A->B) 5 \N
|
||||
(1, A->A->B) 6 \N
|
||||
(1, B->A->A) 1 \N
|
||||
(1, B->A->A) 2 \N
|
||||
(1, B->A->A) 3 \N
|
||||
(1, B->A->A) 4 A
|
||||
(1, B->A->A) 5 \N
|
||||
(1, B->A->A) 6 \N
|
||||
(0, A) id >= 10 10 B
|
||||
(0, A) id >= 10 10 C
|
||||
(0, A) id >= 10 10 D
|
||||
(0, A) id >= 10 10 B
|
||||
(0, A) id >= 10 10 B
|
||||
(0, A) id >= 10 10 A
|
||||
|
@ -1,3 +1,70 @@
|
||||
DROP TABLE IF EXISTS test_sequenceNextNode_Nullable;
|
||||
|
||||
CREATE TABLE iF NOT EXISTS test_sequenceNextNode_Nullable (dt DateTime, id int, action Nullable(String)) ENGINE = MergeTree() PARTITION BY dt ORDER BY id;
|
||||
|
||||
INSERT INTO test_sequenceNextNode_Nullable values ('1970-01-01 09:00:01',1,'A');
|
||||
INSERT INTO test_sequenceNextNode_Nullable values ('1970-01-01 09:00:02',1,'B');
|
||||
INSERT INTO test_sequenceNextNode_Nullable values ('1970-01-01 09:00:03',1,'C');
|
||||
INSERT INTO test_sequenceNextNode_Nullable values ('1970-01-01 09:00:04',1,'D');
|
||||
INSERT INTO test_sequenceNextNode_Nullable values ('1970-01-01 09:00:01',2,'A');
|
||||
INSERT INTO test_sequenceNextNode_Nullable values ('1970-01-01 09:00:02',2,'B');
|
||||
INSERT INTO test_sequenceNextNode_Nullable values ('1970-01-01 09:00:03',2,'D');
|
||||
INSERT INTO test_sequenceNextNode_Nullable values ('1970-01-01 09:00:04',2,'C');
|
||||
INSERT INTO test_sequenceNextNode_Nullable values ('1970-01-01 09:00:01',3,'A');
|
||||
INSERT INTO test_sequenceNextNode_Nullable values ('1970-01-01 09:00:02',3,'B');
|
||||
INSERT INTO test_sequenceNextNode_Nullable values ('1970-01-01 09:00:01',4,'A');
|
||||
INSERT INTO test_sequenceNextNode_Nullable values ('1970-01-01 09:00:02',4,'A');
|
||||
INSERT INTO test_sequenceNextNode_Nullable values ('1970-01-01 09:00:03',4,'A');
|
||||
INSERT INTO test_sequenceNextNode_Nullable values ('1970-01-01 09:00:04',4,'B');
|
||||
INSERT INTO test_sequenceNextNode_Nullable values ('1970-01-01 09:00:05',4,'C');
|
||||
INSERT INTO test_sequenceNextNode_Nullable values ('1970-01-01 09:00:01',5,'A');
|
||||
INSERT INTO test_sequenceNextNode_Nullable values ('1970-01-01 09:00:02',5,'B');
|
||||
INSERT INTO test_sequenceNextNode_Nullable values ('1970-01-01 09:00:03',5,'A');
|
||||
INSERT INTO test_sequenceNextNode_Nullable values ('1970-01-01 09:00:04',5,'C');
|
||||
INSERT INTO test_sequenceNextNode_Nullable values ('1970-01-01 09:00:01',6,'A');
|
||||
INSERT INTO test_sequenceNextNode_Nullable values ('1970-01-01 09:00:02',6,'B');
|
||||
INSERT INTO test_sequenceNextNode_Nullable values ('1970-01-01 09:00:03',6,'A');
|
||||
INSERT INTO test_sequenceNextNode_Nullable values ('1970-01-01 09:00:04',6,'B');
|
||||
INSERT INTO test_sequenceNextNode_Nullable values ('1970-01-01 09:00:05',6,'C');
|
||||
|
||||
SELECT '(0, A)', id, sequenceNextNode(0)(dt, action, action = 'A') AS next_node FROM test_sequenceNextNode_Nullable GROUP BY id ORDER BY id;
|
||||
SELECT '(0, B)', id, sequenceNextNode(0)(dt, action, action = 'B') AS next_node FROM test_sequenceNextNode_Nullable GROUP BY id ORDER BY id;
|
||||
SELECT '(0, C)', id, sequenceNextNode(0)(dt, action, action = 'C') AS next_node FROM test_sequenceNextNode_Nullable GROUP BY id ORDER BY id;
|
||||
SELECT '(0, D)', id, sequenceNextNode(0)(dt, action, action = 'D') AS next_node FROM test_sequenceNextNode_Nullable GROUP BY id ORDER BY id;
|
||||
SELECT '(0, E)', id, sequenceNextNode(0)(dt, action, action = 'E') AS next_node FROM test_sequenceNextNode_Nullable GROUP BY id ORDER BY id;
|
||||
SELECT '(1, A)', id, sequenceNextNode(1)(dt, action, action = 'A') AS next_node FROM test_sequenceNextNode_Nullable GROUP BY id ORDER BY id;
|
||||
SELECT '(1, B)', id, sequenceNextNode(1)(dt, action, action = 'B') AS next_node FROM test_sequenceNextNode_Nullable GROUP BY id ORDER BY id;
|
||||
SELECT '(1, C)', id, sequenceNextNode(1)(dt, action, action = 'C') AS next_node FROM test_sequenceNextNode_Nullable GROUP BY id ORDER BY id;
|
||||
SELECT '(1, D)', id, sequenceNextNode(1)(dt, action, action = 'D') AS next_node FROM test_sequenceNextNode_Nullable GROUP BY id ORDER BY id;
|
||||
SELECT '(1, E)', id, sequenceNextNode(1)(dt, action, action = 'E') AS next_node FROM test_sequenceNextNode_Nullable GROUP BY id ORDER BY id;
|
||||
SELECT '(0, A->B)', id, sequenceNextNode(0)(dt, action, action = 'A', action = 'B') AS next_node FROM test_sequenceNextNode_Nullable GROUP BY id ORDER BY id;
|
||||
SELECT '(0, A->C)', id, sequenceNextNode(0)(dt, action, action = 'A', action = 'C') AS next_node FROM test_sequenceNextNode_Nullable GROUP BY id ORDER BY id;
|
||||
SELECT '(0, B->A)', id, sequenceNextNode(0)(dt, action, action = 'B', action = 'A') AS next_node FROM test_sequenceNextNode_Nullable GROUP BY id ORDER BY id;
|
||||
SELECT '(1, A->B)', id, sequenceNextNode(1)(dt, action, action = 'A', action = 'B') AS next_node FROM test_sequenceNextNode_Nullable GROUP BY id ORDER BY id;
|
||||
SELECT '(1, A->C)', id, sequenceNextNode(1)(dt, action, action = 'A', action = 'C') AS next_node FROM test_sequenceNextNode_Nullable GROUP BY id ORDER BY id;
|
||||
SELECT '(1, B->A)', id, sequenceNextNode(1)(dt, action, action = 'B', action = 'A') AS next_node FROM test_sequenceNextNode_Nullable GROUP BY id ORDER BY id;
|
||||
SELECT '(0, A->A->B)', id, sequenceNextNode(0)(dt, action, action = 'A', action = 'A', action = 'B') AS next_node FROM test_sequenceNextNode_Nullable GROUP BY id ORDER BY id;
|
||||
SELECT '(0, B->A->A)', id, sequenceNextNode(0)(dt, action, action = 'B', action = 'A', action = 'A') AS next_node FROM test_sequenceNextNode_Nullable GROUP BY id ORDER BY id;
|
||||
SELECT '(1, A->A->B)', id, sequenceNextNode(1)(dt, action, action = 'A', action = 'A', action = 'B') AS next_node FROM test_sequenceNextNode_Nullable GROUP BY id ORDER BY id;
|
||||
SELECT '(1, B->A->A)', id, sequenceNextNode(1)(dt, action, action = 'B', action = 'A', action = 'A') AS next_node FROM test_sequenceNextNode_Nullable GROUP BY id ORDER BY id;
|
||||
|
||||
INSERT INTO test_sequenceNextNode_Nullable values ('1970-01-01 09:00:01',10,'A');
|
||||
INSERT INTO test_sequenceNextNode_Nullable values ('1970-01-01 09:00:02',10,'B');
|
||||
INSERT INTO test_sequenceNextNode_Nullable values ('1970-01-01 09:00:02',10,NULL);
|
||||
INSERT INTO test_sequenceNextNode_Nullable values ('1970-01-01 09:00:03',10,'C');
|
||||
INSERT INTO test_sequenceNextNode_Nullable values ('1970-01-01 09:00:04',10,'D');
|
||||
|
||||
SELECT '(0, A) id >= 10', id, sequenceNextNode(0)(dt, action, action = 'A') AS next_node FROM test_sequenceNextNode_Nullable WHERE id >= 10 GROUP BY id ORDER BY id;
|
||||
SELECT '(0, A) id >= 10', id, sequenceNextNode(0)(dt, action, action = 'A', action = 'B') AS next_node FROM test_sequenceNextNode_Nullable WHERE id >= 10 GROUP BY id ORDER BY id;
|
||||
SELECT '(0, A) id >= 10', id, sequenceNextNode(0)(dt, action, action = 'B', action = 'C') AS next_node FROM test_sequenceNextNode_Nullable WHERE id >= 10 GROUP BY id ORDER BY id;
|
||||
SELECT '(0, A) id >= 10', id, sequenceNextNode(1)(dt, action, action = 'C') AS next_node FROM test_sequenceNextNode_Nullable WHERE id >= 10 GROUP BY id ORDER BY id;
|
||||
SELECT '(0, A) id >= 10', id, sequenceNextNode(1)(dt, action, action = 'D', action = 'C') AS next_node FROM test_sequenceNextNode_Nullable WHERE id >= 10 GROUP BY id ORDER BY id;
|
||||
SELECT '(0, A) id >= 10', id, sequenceNextNode(1)(dt, action, action = 'C', action = 'B') AS next_node FROM test_sequenceNextNode_Nullable WHERE id >= 10 GROUP BY id ORDER BY id;
|
||||
|
||||
DROP TABLE IF EXISTS test_sequenceNextNode_Nullable;
|
||||
|
||||
-- The same testcases for a non-null type.
|
||||
|
||||
DROP TABLE IF EXISTS test_sequenceNextNode;
|
||||
|
||||
CREATE TABLE iF NOT EXISTS test_sequenceNextNode (dt DateTime, id int, action String) ENGINE = MergeTree() PARTITION BY dt ORDER BY id;
|
||||
@ -27,25 +94,37 @@ INSERT INTO test_sequenceNextNode values ('1970-01-01 09:00:03',6,'A');
|
||||
INSERT INTO test_sequenceNextNode values ('1970-01-01 09:00:04',6,'B');
|
||||
INSERT INTO test_sequenceNextNode values ('1970-01-01 09:00:05',6,'C');
|
||||
|
||||
SELECT '(0, A)', id, sequenceNextNode(0)(dt, action, action = 'A') AS next_node FROM test GROUP BY id ORDER BY id;
|
||||
SELECT '(0, B)', id, sequenceNextNode(0)(dt, action, action = 'B') AS next_node FROM test GROUP BY id ORDER BY id;
|
||||
SELECT '(0, C)', id, sequenceNextNode(0)(dt, action, action = 'C') AS next_node FROM test GROUP BY id ORDER BY id;
|
||||
SELECT '(0, D)', id, sequenceNextNode(0)(dt, action, action = 'D') AS next_node FROM test GROUP BY id ORDER BY id;
|
||||
SELECT '(0, E)', id, sequenceNextNode(0)(dt, action, action = 'E') AS next_node FROM test GROUP BY id ORDER BY id;
|
||||
SELECT '(1, A)', id, sequenceNextNode(1)(dt, action, action = 'A') AS next_node FROM test GROUP BY id ORDER BY id;
|
||||
SELECT '(1, B)', id, sequenceNextNode(1)(dt, action, action = 'B') AS next_node FROM test GROUP BY id ORDER BY id;
|
||||
SELECT '(1, C)', id, sequenceNextNode(1)(dt, action, action = 'C') AS next_node FROM test GROUP BY id ORDER BY id;
|
||||
SELECT '(1, D)', id, sequenceNextNode(1)(dt, action, action = 'D') AS next_node FROM test GROUP BY id ORDER BY id;
|
||||
SELECT '(1, E)', id, sequenceNextNode(1)(dt, action, action = 'E') AS next_node FROM test GROUP BY id ORDER BY id;
|
||||
SELECT '(0, A->B)', id, sequenceNextNode(0)(dt, action, action = 'A', action = 'B') AS next_node FROM test GROUP BY id ORDER BY id;
|
||||
SELECT '(0, A->C)', id, sequenceNextNode(0)(dt, action, action = 'A', action = 'C') AS next_node FROM test GROUP BY id ORDER BY id;
|
||||
SELECT '(0, B->A)', id, sequenceNextNode(0)(dt, action, action = 'B', action = 'A') AS next_node FROM test GROUP BY id ORDER BY id;
|
||||
SELECT '(1, A->B)', id, sequenceNextNode(1)(dt, action, action = 'A', action = 'B') AS next_node FROM test GROUP BY id ORDER BY id;
|
||||
SELECT '(1, A->C)', id, sequenceNextNode(1)(dt, action, action = 'A', action = 'C') AS next_node FROM test GROUP BY id ORDER BY id;
|
||||
SELECT '(1, B->A)', id, sequenceNextNode(1)(dt, action, action = 'B', action = 'A') AS next_node FROM test GROUP BY id ORDER BY id;
|
||||
SELECT '(0, A->A->B)', id, sequenceNextNode(0)(dt, action, action = 'A', action = 'A', action = 'B') AS next_node FROM test GROUP BY id ORDER BY id;
|
||||
SELECT '(0, B->A->A)', id, sequenceNextNode(0)(dt, action, action = 'B', action = 'A', action = 'A') AS next_node FROM test GROUP BY id ORDER BY id;
|
||||
SELECT '(1, A->A->B)', id, sequenceNextNode(1)(dt, action, action = 'A', action = 'A', action = 'B') AS next_node FROM test GROUP BY id ORDER BY id;
|
||||
SELECT '(1, B->A->A)', id, sequenceNextNode(1)(dt, action, action = 'B', action = 'A', action = 'A') AS next_node FROM test GROUP BY id ORDER BY id;
|
||||
SELECT '(0, A)', id, sequenceNextNode(0)(dt, action, action = 'A') AS next_node FROM test_sequenceNextNode GROUP BY id ORDER BY id;
|
||||
SELECT '(0, B)', id, sequenceNextNode(0)(dt, action, action = 'B') AS next_node FROM test_sequenceNextNode GROUP BY id ORDER BY id;
|
||||
SELECT '(0, C)', id, sequenceNextNode(0)(dt, action, action = 'C') AS next_node FROM test_sequenceNextNode GROUP BY id ORDER BY id;
|
||||
SELECT '(0, D)', id, sequenceNextNode(0)(dt, action, action = 'D') AS next_node FROM test_sequenceNextNode GROUP BY id ORDER BY id;
|
||||
SELECT '(0, E)', id, sequenceNextNode(0)(dt, action, action = 'E') AS next_node FROM test_sequenceNextNode GROUP BY id ORDER BY id;
|
||||
SELECT '(1, A)', id, sequenceNextNode(1)(dt, action, action = 'A') AS next_node FROM test_sequenceNextNode GROUP BY id ORDER BY id;
|
||||
SELECT '(1, B)', id, sequenceNextNode(1)(dt, action, action = 'B') AS next_node FROM test_sequenceNextNode GROUP BY id ORDER BY id;
|
||||
SELECT '(1, C)', id, sequenceNextNode(1)(dt, action, action = 'C') AS next_node FROM test_sequenceNextNode GROUP BY id ORDER BY id;
|
||||
SELECT '(1, D)', id, sequenceNextNode(1)(dt, action, action = 'D') AS next_node FROM test_sequenceNextNode GROUP BY id ORDER BY id;
|
||||
SELECT '(1, E)', id, sequenceNextNode(1)(dt, action, action = 'E') AS next_node FROM test_sequenceNextNode GROUP BY id ORDER BY id;
|
||||
SELECT '(0, A->B)', id, sequenceNextNode(0)(dt, action, action = 'A', action = 'B') AS next_node FROM test_sequenceNextNode GROUP BY id ORDER BY id;
|
||||
SELECT '(0, A->C)', id, sequenceNextNode(0)(dt, action, action = 'A', action = 'C') AS next_node FROM test_sequenceNextNode GROUP BY id ORDER BY id;
|
||||
SELECT '(0, B->A)', id, sequenceNextNode(0)(dt, action, action = 'B', action = 'A') AS next_node FROM test_sequenceNextNode GROUP BY id ORDER BY id;
|
||||
SELECT '(1, A->B)', id, sequenceNextNode(1)(dt, action, action = 'A', action = 'B') AS next_node FROM test_sequenceNextNode GROUP BY id ORDER BY id;
|
||||
SELECT '(1, A->C)', id, sequenceNextNode(1)(dt, action, action = 'A', action = 'C') AS next_node FROM test_sequenceNextNode GROUP BY id ORDER BY id;
|
||||
SELECT '(1, B->A)', id, sequenceNextNode(1)(dt, action, action = 'B', action = 'A') AS next_node FROM test_sequenceNextNode GROUP BY id ORDER BY id;
|
||||
SELECT '(0, A->A->B)', id, sequenceNextNode(0)(dt, action, action = 'A', action = 'A', action = 'B') AS next_node FROM test_sequenceNextNode GROUP BY id ORDER BY id;
|
||||
SELECT '(0, B->A->A)', id, sequenceNextNode(0)(dt, action, action = 'B', action = 'A', action = 'A') AS next_node FROM test_sequenceNextNode GROUP BY id ORDER BY id;
|
||||
SELECT '(1, A->A->B)', id, sequenceNextNode(1)(dt, action, action = 'A', action = 'A', action = 'B') AS next_node FROM test_sequenceNextNode GROUP BY id ORDER BY id;
|
||||
SELECT '(1, B->A->A)', id, sequenceNextNode(1)(dt, action, action = 'B', action = 'A', action = 'A') AS next_node FROM test_sequenceNextNode GROUP BY id ORDER BY id;
|
||||
|
||||
INSERT INTO test_sequenceNextNode values ('1970-01-01 09:00:01',10,'A');
|
||||
INSERT INTO test_sequenceNextNode values ('1970-01-01 09:00:02',10,'B');
|
||||
INSERT INTO test_sequenceNextNode values ('1970-01-01 09:00:03',10,'C');
|
||||
INSERT INTO test_sequenceNextNode values ('1970-01-01 09:00:04',10,'D');
|
||||
|
||||
SELECT '(0, A) id >= 10', id, sequenceNextNode(0)(dt, action, action = 'A') AS next_node FROM test_sequenceNextNode WHERE id >= 10 GROUP BY id ORDER BY id;
|
||||
SELECT '(0, A) id >= 10', id, sequenceNextNode(0)(dt, action, action = 'A', action = 'B') AS next_node FROM test_sequenceNextNode WHERE id >= 10 GROUP BY id ORDER BY id;
|
||||
SELECT '(0, A) id >= 10', id, sequenceNextNode(0)(dt, action, action = 'B', action = 'C') AS next_node FROM test_sequenceNextNode WHERE id >= 10 GROUP BY id ORDER BY id;
|
||||
SELECT '(0, A) id >= 10', id, sequenceNextNode(1)(dt, action, action = 'C') AS next_node FROM test_sequenceNextNode WHERE id >= 10 GROUP BY id ORDER BY id;
|
||||
SELECT '(0, A) id >= 10', id, sequenceNextNode(1)(dt, action, action = 'D', action = 'C') AS next_node FROM test_sequenceNextNode WHERE id >= 10 GROUP BY id ORDER BY id;
|
||||
SELECT '(0, A) id >= 10', id, sequenceNextNode(1)(dt, action, action = 'C', action = 'B') AS next_node FROM test_sequenceNextNode WHERE id >= 10 GROUP BY id ORDER BY id;
|
||||
|
||||
DROP TABLE IF EXISTS test_sequenceNextNode;
|
||||
|
Loading…
Reference in New Issue
Block a user