Changeset: 0dbe358c7428 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=0dbe358c7428
Modified Files:
sql/backends/monet5/datacell/Tests/durac00.sql
Branch: default
Log Message:
Emili example
A Datacell equivalent implementation of the DuraC case reported
in the deliverables.
diffs (70 lines):
diff --git a/sql/backends/monet5/datacell/Tests/durac00.sql
b/sql/backends/monet5/datacell/Tests/durac00.sql
new file mode 100644
--- /dev/null
+++ b/sql/backends/monet5/datacell/Tests/durac00.sql
@@ -0,0 +1,65 @@
+-- Scenario to exercise the datacell implementation
+-- using the hand compiled DuraC example
+
+set optimizer='datacell_pipe';
+
+-- temperatures are collected in a basket
+create table datacell.temperature(
+ id integer,
+ tag timestamp,
+ area string,
+ value integer
+);
+
+-- alarm knobs/switches produce a separate stream
+create table datacell.alarm (
+ id integer,
+ tag timestamp,
+ area string,
+ value string
+);
+
+-- output events report alarm message and average temp
+create table datacell.emergency (
+ tag timestamp,
+ avgtemp float,
+ payload string
+);
+
+call datacell.receptor('datacell.temperature','localhost',50506);
+call datacell.receptor('datacell.alarm','localhost',50507);
+
+call datacell.emitter('datacell.emergency','localhost',50606);
+
+-- this monitor only empties the basket when an alarm is giving
+create procedure datacell.monitor()
+begin
+ declare avgtemp float;
+ set avgtemp =
+ (select average(value)
+ from datacell.temperature , datacell.alarm
+ where datacell.temperature.tag > now() - interval '2' minute
+ and datacell.temperature.area = datacell.alarm.area );
+
+ -- notify the emergency room
+ insert into datacell.emergency values (now(), avgtemp, value from
datacell.alarm));
+
+ -- keep only the last 2 minutes for the future
+ insert into datacell.temperature select * from datacell.temperature
where tag > now() - interval '2' minute;
+end;
+
+call datacell.query('datacell.monitor');
+
+call datacell.resume();
+call datacell.dump();
+
+-- externally, activate the sensor
+--sensor --host=localhost --port=50506 --events=100 --columns=3 --delay=1
+
+
+-- wrapup
+--drop procedure datacell.monitor;
+--drop table datacell.temperature;
+--drop table datacell.alarm;
+--drop table datacell.emergency;
+
_______________________________________________
Checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list