2017-04-17 65 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

後。