2017-04-17 64 views
1

我使用PipelineDB 0.9.7u3PipelineDB:鉴于连续输出流意外显示相同的(旧)和(新)值

我打了继续观看输出流一点点地发现,如果我能得到一个新的连续查看一些更新。

这是我的测试用例。

CREATE STREAM stream_test(ticketid text, val int, status text); 

-- simple continuous view on stream_test 
CREATE CONTINUOUS VIEW cv_test AS 
    SELECT 
    ticketid, 
    min(val) as v0, 
    keyed_min(val, status) as v0_status 
    FROM stream_test 
    GROUP BY ticketid; 

-- continuous view to keep cv_test's updates and insertions 
CREATE CONTINUOUS VIEW cv_test_upin AS 
    SELECT 
    (new).ticketid, 
    (old).v0 as oldV0, 
    (old).v0_status as oldV0Status, 
    (new).v0 as newV0, 
    (new).v0_status as newV0Status  
    FROM output_of('cv_test') 

-- continuous view to keep just some cv_test's updates 
CREATE CONTINUOUS VIEW cv_test_up AS 
    SELECT 
    (new).ticketid, 
    (old).v0 as oldV0, 
    (old).v0_status as oldV0Status, 
    (new).v0 as newV0, 
    (new).v0_status as newV0Status  
    FROM output_of('cv_test') 
    WHERE (old).v0 != (new).v0; 

让我们把一些数据。

INSERT INTO stream_test VALUES 
('t1', 124, 'open'), 
('t2', 190, 'pending') 

和预期的一样:

select * from cv_test; 

“T2”; 190; “待定”

“T1”; 124; “开放”

select * from cv_test_upin; 

“t2”;;“” ; 190; “待定”

“T1” ;; “”; 124; “开放”

select * from cv_test_up; 

然后,一些更新。

INSERT INTO stream_test VALUES 
('t2', 160, 'waiting'), 
('t1', 100, 'pending') 

和预期的一样:

select * from cv_test; 

“T2”; 160; “等待”

“T1”; 100; “待定”

select * from cv_test_upin; 

“t 2 “;;” “; 190;” 待定”

“T1” ;; “”; 124; “开放”

“T2”; 190; “待定”; 160; “等待”

“T1”; 124; “开放”; 100; “待定”

select * from cv_test_up; 

“T2”; 190; “待定”; 160; “等待”

“T1” ; 124;“打开”; 100;“未决”

现在,一些新的数据和一些更新。

INSERT INTO stream_test VALUES 
('t2', 90, 'spam'), 
('t3', 140, 'open'), 
('t1', 80, 'closed') 

select * from cv_test;返回预期,但select * from cv_test_upin;没有。

...

“T2”; 160; “等待”; 90; “垃圾邮件”

“T3” ;; “”; 140; “开放”

“ T1 “; 80,” 关闭 “; 80,” 封闭”

我希望最后的 “T1” 是"t1";100;"pending";80;"closed"

错误或EXP行为?

感谢。

回答

0

深入研究之后,看起来您确实发现了一些意外的行为,并且很可能是一个错误。我们会在短期内解决这个问题,这里的问题:它的解决,我们将发布一个更新的版本

https://github.com/pipelinedb/pipelinedb/issues/1797

后。