Skip to content

Instantly share code, notes, and snippets.

@toff63
Last active November 28, 2015 18:09
Show Gist options
  • Save toff63/250bc58f498f53e169a8 to your computer and use it in GitHub Desktop.
Save toff63/250bc58f498f53e169a8 to your computer and use it in GitHub Desktop.
create schema Temperature(place string, temperature double);
        
create window HallTemperature.win:length(1) as Temperature;
insert into HallTemperature select * from Temperature(place='hall');
        
create window HallTemperatureStatus.win:length(1) as (status string);
        
insert into HallTemperatureStatus select 'warning' as status from HallTemperature(temperature > 18 and temperature <=22);
insert into HallTemperatureStatus select 'alert' as status from HallTemperature(temperature <= 18);
insert into HallTemperatureStatus select 'ok' as status from HallTemperature(temperature > 22);
        
create window BedroomTemperature.win:length(1) as Temperature;
insert into BedroomTemperature select * from Temperature(place='bedroom');
        
create window BedroomTemperatureStatus.win:length(1) as (status string) ;
        
insert into BedroomTemperatureStatus select 'warning' as status from BedroomTemperature(temperature > 18 and temperature <=22);
insert into BedroomTemperatureStatus select 'alert' as status from BedroomTemperature(temperature <= 18);
insert into BedroomTemperatureStatus select 'ok' as status from BedroomTemperature(temperature > 22);
        
create window HomeStatus.win:length(1) as (status string);
insert into HomeStatus select 'ok' as status 
from BedroomTemperatureStatus as bedroom ,
HallTemperatureStatus as hall
where bedroom.status = hall.status and bedroom.status = 'ok';
        
insert into HomeStatus select 'warning' as status 
from BedroomTemperatureStatus as bedroom ,
     HallTemperatureStatus as hall
where bedroom.status = 'warning' or hall.status = 'warning';
        
        
insert into HomeStatus select 'alert' as status 
from BedroomTemperatureStatus as bedroom ,
     HallTemperatureStatus as hall
where bedroom.status = hall.status and bedroom.status = 'alert';
        
@Name("out") select status from HomeStatus ;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment