Changeset: bfe1cb3b4a63 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=bfe1cb3b4a63
Added Files:
sql/backends/monet5/timetrails/Tests/cquery00.sql
sql/backends/monet5/timetrails/Tests/demoschema.sql
sql/scripts/50_cquery.sql
Removed Files:
sql/backends/monet5/timetrails/Tests/bug01.sql
sql/backends/monet5/timetrails/Tests/bug02.sql
sql/backends/monet5/timetrails/Tests/bug03.sql
sql/backends/monet5/timetrails/Tests/bug04.sql
sql/backends/monet5/timetrails/Tests/bug05.sql
sql/backends/monet5/timetrails/Tests/bug06.sql
sql/backends/monet5/timetrails/Tests/iot00.sql
Modified Files:
clients/Tests/exports.stable.out
sql/backends/monet5/Makefile.ag
sql/backends/monet5/timetrails/50_timetrails.sql
sql/backends/monet5/timetrails/Makefile.ag
sql/backends/monet5/timetrails/Tests/All
sql/backends/monet5/timetrails/timetrails.c
sql/scripts/Makefile.ag
Branch: timetrails
Log Message:
Intermedidate state, still cleaning out
diffs (truncated from 559 to 300 lines):
diff --git a/clients/Tests/exports.stable.out b/clients/Tests/exports.stable.out
--- a/clients/Tests/exports.stable.out
+++ b/clients/Tests/exports.stable.out
@@ -1575,6 +1575,7 @@ str OPTremapImplementation(Client cntxt,
str OPTremoteQueriesImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk,
InstrPtr pci);
str OPTreorderImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk,
InstrPtr p);
str OPTstatistics(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr p);
+str OPTtimetrailsImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk,
InstrPtr pci);
str OPTvolcanoImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk,
InstrPtr p);
str OPTwrapper(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr p);
str PCREilike2(bit *ret, const str *s, const str *pat);
@@ -2043,6 +2044,7 @@ void dumpExceptionsToStream(stream *out,
str emptybindRef;
str emptybindidxRef;
str eqRef;
+str errorRef;
str escape_str(str *retval, str s);
str evalFile(Client c, str fname, int listing);
str evalRef;
@@ -2529,6 +2531,7 @@ timestamp *timestamp_nil;
int timestamp_tostr(str *buf, int *len, const timestamp *val);
int timestamp_tz_fromstr(const char *buf, int *len, timestamp **ret);
int timestamp_tz_tostr(str *buf, int *len, const timestamp *val, const tzone
*timezone);
+str timetrailsRef;
str transactionRef;
str transaction_abortRef;
str transaction_beginRef;
@@ -2537,6 +2540,7 @@ str transaction_releaseRef;
str transaction_rollbackRef;
void trimMalVariables(MalBlkPtr mb, MalStkPtr stk);
void trimMalVariables_(MalBlkPtr mb, MalStkPtr glb);
+str tumbleRef;
void typeChecker(stream *out, Module scope, MalBlkPtr mb, InstrPtr p, int
silent);
int tzone_fromstr(const char *buf, int *len, tzone **d);
tzone tzone_local;
diff --git a/sql/backends/monet5/Makefile.ag b/sql/backends/monet5/Makefile.ag
--- a/sql/backends/monet5/Makefile.ag
+++ b/sql/backends/monet5/Makefile.ag
@@ -4,7 +4,7 @@
#
# Copyright 1997 - July 2008 CWI, August 2008 - 2017 MonetDB B.V.
-SUBDIRS = NOT_WIN32?vaults UDF LSST generator timetrails
+SUBDIRS = NOT_WIN32?vaults UDF LSST generator
INCLUDES = ../../include ../../common ../../storage ../../server \
../../../monetdb5/modules/atoms \
@@ -49,7 +49,6 @@ lib__sql = {
LIBS = ../../server/libsqlserver \
../../storage/libstore \
../../storage/bat/libbatstore \
- ../../backends/monet5/timetrails/libtimetrails \
../../common/libsqlcommon \
../../../monetdb5/tools/libmonetdb5 \
../../../gdk/libbat \
@@ -59,6 +58,8 @@ lib__sql = {
$(openssl_LIBS) $(MATH_LIBS)
}
+# ../../backends/monet5/timetrails/libtimetrails
+
headers_mal = {
HEADERS = mal
DIR = libdir/monetdb5
diff --git a/sql/backends/monet5/timetrails/50_timetrails.sql
b/sql/backends/monet5/timetrails/50_timetrails.sql
--- a/sql/backends/monet5/timetrails/50_timetrails.sql
+++ b/sql/backends/monet5/timetrails/50_timetrails.sql
@@ -17,103 +17,78 @@
create schema timetrails;
--- register and start a continuous query
-create procedure timetrails.query(qry string, maxcalls integer)
- external name timetrails.query;
-
-create procedure timetrails.query(qry string)
- external name timetrails.query;
-
-create procedure timetrails.query("schema" string, name string, maxcalls
integer)
- external name timetrails.query;
-
-create procedure timetrails.query("schema" string, name string)
- external name timetrails.query;
-
-create procedure timetrails.resume("schema" string, name string)
- external name timetrails.resume;
-
-create procedure timetrails.resume()
- external name timetrails.resume;
-
-create procedure timetrails.pause("schema" string, name string)
- external name timetrails.pause;
-
-create procedure timetrails.keep("schema" string, name string)
- external name timetrails.keep;
-
-create procedure timetrails.release("schema" string, name string)
- external name timetrails.release;
-
-create procedure timetrails.pause()
- external name timetrails.pause;
-
-create procedure timetrails.wait(ms integer)
- external name timetrails.wait;
-
-create procedure timetrails.stop()
- external name timetrails.stop;
-
-create procedure timetrails.deregister("schema" string, name string)
- external name timetrails.deregister;
-
-create procedure timetrails.deregister()
- external name timetrails.deregister;
-
--- set the scheduler periodic delay
-create procedure timetrails.period(n integer)
- external name timetrails.period;
-
--- deliver a new basket with tuples
+-- The timetrails catalog contains the meta information about metric relations.
+CREATE TABLE timetrails.metrics (
+ name string PRIMARY KEY,
+ auth string, --(for later) The owner ticket for this metric
+ credit integer, --(for later)The volume of data allowed for this
metric
+ precision string , --time stamp precision
{millisecond,second,minute,hour,day,month,year, null}
+ retention string, --time stamp interval
{millisecond,second,minute,hour,day,month,year, null}
+ threshold integer, --max rows delayed in the Guardian cache
+ heartbeat integer, -- maximum delay (in ms) before forwarding
+ frozen boolean, --once defined its structure can not be changed
+ title string, --informative title
+ description string --short explanation);
-create procedure timetrails.heartbeat("schema" string, "table" string, msec
integer)
- external name timetrails.heartbeat;
-
-create procedure timetrails.heartbeat("schema" string, "table" string, msec
bigint)
- external name timetrails.heartbeat;
-
--- cleanup activities
-create procedure timetrails.tumble("schema" string, "table" string, elem
integer)
- external name timetrails.tumble;
-
-create procedure timetrails.window("schema" string, "table" string, elem
integer)
- external name timetrails.window;
-
-create procedure timetrails.cycles("schema" string, "query" string, elem
integer)
- external name timetrails.cycles;
-
--- Inspection tables
-create function timetrails.gettumble("schema" string, "table" string) returns
integer
-external name timetrails.gettumble;
-
-create function timetrails.getwindow("schema" string, "table" string) returns
integer
-external name timetrails.getwindow;
+--Return the names of all known metric relations
+CREATE FUNCTION timetrails.metrics()
+RETURNS TABLE (metric string)
+BEGIN
+ RETURN SELECT m.name FROM timetrails.metrics m ORDER BY m.name;
+END;
-create function timetrails.getheartbeat("schema" string, "table" string)
returns bigint
-external name timetrails.getheartbeat;
-
-create function timetrails.baskets()
-returns table( "schema" string, "table" string, "status" string, winsize int,
winstride int, timeslice int, timestride int, heartbeat int, seen timestamp,
"count" bigint, events bigint)
-external name timetrails.baskets;
-
-create procedure timetrails.show("schema" string, "query" string)
-external name timetrails.show;
-
-create function timetrails.queries()
- returns table( "schema" string, "function" string, "status" string, lastrun
timestamp, runs int, avgtime bigint, error string)
- external name timetrails.queries;
+--Return the tags associated with a metric relation
+CREATE FUNCTION timetrails.tags(metric string)
+RETURNS TABLE (colname string)
+BEGIN
+ RETURN SELECT o.name AS colname
+ FROM sys.objects o, sys.tables t, sys.keys k
+ WHERE o.id = k.id AND k.table_id = t.id AND t.name = metric ORDER BY
o.nr;
+END;
-create function timetrails.inputs()
- returns table( "s" string, "t" string, "sch" string, "qry" string)
- external name timetrails.inputplaces;
+--Return the measure names for a metric relation
+CREATE FUNCTION timetrails.fields(metric string)
+RETURNS TABLE (colname string)
+BEGIN
+ RETURN SELECT c.name
+ FROM sys.columns c, sys.tables t
+ WHERE t.name= metric AND t.id = c.table_id AND
+ c.name NOT IN (SELECT o.name AS colname
+ FROM sys.objects o, sys.tables tt, sys.keys k WHERE
o.id = k.id AND k.table_id = tt.id AND tt.name = metric );
+END;
-create function timetrails.outputs()
- returns table( "s" string, "t" string, "sch" string, "qry" string)
- external name timetrails.outputplaces;
+--Return the preferred message layout and their type
+CREATE FUNCTION timetrails.getLayout(metric string)
+RETURNS TABLE( name string, type string)
+BEGIN
+ RETURN SELECT c.name, c.type FROM timetrails.metrics m, sys.tables t,
sys.columns c WHERE m.name = metric AND t.name = m.name and c.table_id= t.id;
+END;
-create function timetrails.errors()
-returns table( "table" string, error string)
-external name timetrails.errors;
+--Return the time precision for a metric relation
+CREATE FUNCTION timetrails.getPrecision(metric string)
+RETURNS string
+BEGIN
+ RETURN SELECT m.precision FROM timetrails.metrics m WHERE m.name = metric;
+END;
--- tables for timetrailswebserver
-CREATE TABLE timetrails.webserverstreams (table_id INTEGER, base TINYINT,
"interval" INTEGER NULL, unit CHAR(1) NULL);
+--Return the retention period of a metric relation
+CREATE FUNCTION timetrails.getRetention(metric string)
+RETURNS string
+BEGIN
+ RETURN SELECT m.retention FROM timetrails.metrics m WHERE m.name = metric;
+END;
+
+--Return the title annotation
+CREATE FUNCTION timetrails.getTitle(metric string)
+RETURNS string
+BEGIN
+ RETURN SELECT m.title FROM timetrails.metrics m WHERE m.name = metric;
+END;
+
+--Return the short help on a metric relation
+CREATE FUNCTION timetrails.getDescription(metric string)
+RETURNS string
+BEGIN
+ RETURN SELECT m.description FROM timetrails.metrics m WHERE m.name = metric;
+END;
+
diff --git a/sql/backends/monet5/timetrails/Makefile.ag
b/sql/backends/monet5/timetrails/Makefile.ag
--- a/sql/backends/monet5/timetrails/Makefile.ag
+++ b/sql/backends/monet5/timetrails/Makefile.ag
@@ -36,9 +36,10 @@ INCLUDES = .. \
lib_timetrails = {
NOINST
DIR = libdir/monetdb5
- SOURCES = timetrails.c timetrails.h \
- basket.c basket.h \
- petrinet.c petrinet.h
+ SOURCES =
+ #SOURCES = timetrails.c timetrails.h \
+ #basket.c basket.h \
+ #petrinet.c petrinet.h
LIBS = ../../../../monetdb5/tools/libmonetdb5 \
../../../../gdk/libbat
}
diff --git a/sql/backends/monet5/timetrails/Tests/All
b/sql/backends/monet5/timetrails/Tests/All
--- a/sql/backends/monet5/timetrails/Tests/All
+++ b/sql/backends/monet5/timetrails/Tests/All
@@ -1,8 +1,6 @@
-bug01
-bug02
-bug03
-bug04
-bug05
+demoschema
+loaddata
+
iot00
iot01
iot02
diff --git a/sql/backends/monet5/timetrails/Tests/bug01.sql
b/sql/backends/monet5/timetrails/Tests/bug01.sql
deleted file mode 100644
--- a/sql/backends/monet5/timetrails/Tests/bug01.sql
+++ /dev/null
@@ -1,1 +0,0 @@
-select * from iot.baskets();
diff --git a/sql/backends/monet5/timetrails/Tests/bug02.sql
b/sql/backends/monet5/timetrails/Tests/bug02.sql
deleted file mode 100644
--- a/sql/backends/monet5/timetrails/Tests/bug02.sql
+++ /dev/null
@@ -1,3 +0,0 @@
-set schema iot;
-set optimizer='iot_pipe';
-call iot.show('sys','test');
diff --git a/sql/backends/monet5/timetrails/Tests/bug03.sql
b/sql/backends/monet5/timetrails/Tests/bug03.sql
deleted file mode 100644
--- a/sql/backends/monet5/timetrails/Tests/bug03.sql
+++ /dev/null
@@ -1,1 +0,0 @@
-call iot.deregister();
diff --git a/sql/backends/monet5/timetrails/Tests/bug04.sql
b/sql/backends/monet5/timetrails/Tests/bug04.sql
deleted file mode 100644
--- a/sql/backends/monet5/timetrails/Tests/bug04.sql
+++ /dev/null
@@ -1,1 +0,0 @@
-call iot.period(1);
diff --git a/sql/backends/monet5/timetrails/Tests/bug05.sql
b/sql/backends/monet5/timetrails/Tests/bug05.sql
deleted file mode 100644
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list