[td-6395]<enhance>: use the keyword "every" instead of keyword of "interval" in the where clause in case of point interpolation query.

This commit is contained in:
Haojun Liao 2021-08-26 23:18:38 +08:00
parent c13e41832f
commit 8616399c7a
8 changed files with 2022 additions and 2984 deletions

View File

@ -1084,6 +1084,7 @@ int32_t validateIntervalNode(SSqlObj* pSql, SQueryInfo* pQueryInfo, SSqlNode* pS
const char* msg1 = "sliding cannot be used without interval"; const char* msg1 = "sliding cannot be used without interval";
const char* msg2 = "interval cannot be less than 1 us"; const char* msg2 = "interval cannot be less than 1 us";
const char* msg3 = "interval value is too small"; const char* msg3 = "interval value is too small";
const char* msg4 = "only point interpolation query requires keyword EVERY";
SSqlCmd* pCmd = &pSql->cmd; SSqlCmd* pCmd = &pSql->cmd;
@ -1115,7 +1116,6 @@ int32_t validateIntervalNode(SSqlObj* pSql, SQueryInfo* pQueryInfo, SSqlNode* pS
} }
if (pQueryInfo->interval.intervalUnit != 'n' && pQueryInfo->interval.intervalUnit != 'y') { if (pQueryInfo->interval.intervalUnit != 'n' && pQueryInfo->interval.intervalUnit != 'y') {
// interval cannot be less than 10 milliseconds // interval cannot be less than 10 milliseconds
if (convertTimePrecision(pQueryInfo->interval.interval, tinfo.precision, TSDB_TIME_PRECISION_MICRO) < tsMinIntervalTime) { if (convertTimePrecision(pQueryInfo->interval.interval, tinfo.precision, TSDB_TIME_PRECISION_MICRO) < tsMinIntervalTime) {
return invalidOperationMsg(tscGetErrorMsgPayload(pCmd), msg2); return invalidOperationMsg(tscGetErrorMsgPayload(pCmd), msg2);
@ -1130,9 +1130,15 @@ int32_t validateIntervalNode(SSqlObj* pSql, SQueryInfo* pQueryInfo, SSqlNode* pS
return TSDB_CODE_TSC_INVALID_OPERATION; return TSDB_CODE_TSC_INVALID_OPERATION;
} }
bool interpQuery = tscIsPointInterpQuery(pQueryInfo);
if ((pSqlNode->interval.token == TK_EVERY && (!interpQuery)) || (pSqlNode->interval.token == TK_INTERVAL && interpQuery)) {
return invalidOperationMsg(tscGetErrorMsgPayload(pCmd), msg4);
}
// The following part is used to check for the invalid query expression. // The following part is used to check for the invalid query expression.
return checkInvalidExprForTimeWindow(pCmd, pQueryInfo); return checkInvalidExprForTimeWindow(pCmd, pQueryInfo);
} }
static int32_t validateStateWindowNode(SSqlCmd* pCmd, SQueryInfo* pQueryInfo, SSqlNode* pSqlNode, bool isStable) { static int32_t validateStateWindowNode(SSqlCmd* pCmd, SQueryInfo* pQueryInfo, SSqlNode* pSqlNode, bool isStable) {
const char* msg1 = "invalid column name"; const char* msg1 = "invalid column name";

View File

@ -141,75 +141,76 @@
#define TK_FROM 123 #define TK_FROM 123
#define TK_VARIABLE 124 #define TK_VARIABLE 124
#define TK_INTERVAL 125 #define TK_INTERVAL 125
#define TK_SESSION 126 #define TK_EVERY 126
#define TK_STATE_WINDOW 127 #define TK_SESSION 127
#define TK_FILL 128 #define TK_STATE_WINDOW 128
#define TK_SLIDING 129 #define TK_FILL 129
#define TK_ORDER 130 #define TK_SLIDING 130
#define TK_BY 131 #define TK_ORDER 131
#define TK_ASC 132 #define TK_BY 132
#define TK_GROUP 133 #define TK_ASC 133
#define TK_HAVING 134 #define TK_GROUP 134
#define TK_LIMIT 135 #define TK_HAVING 135
#define TK_OFFSET 136 #define TK_LIMIT 136
#define TK_SLIMIT 137 #define TK_OFFSET 137
#define TK_SOFFSET 138 #define TK_SLIMIT 138
#define TK_WHERE 139 #define TK_SOFFSET 139
#define TK_RESET 140 #define TK_WHERE 140
#define TK_QUERY 141 #define TK_RESET 141
#define TK_SYNCDB 142 #define TK_QUERY 142
#define TK_ADD 143 #define TK_SYNCDB 143
#define TK_COLUMN 144 #define TK_ADD 144
#define TK_MODIFY 145 #define TK_COLUMN 145
#define TK_TAG 146 #define TK_MODIFY 146
#define TK_CHANGE 147 #define TK_TAG 147
#define TK_SET 148 #define TK_CHANGE 148
#define TK_KILL 149 #define TK_SET 149
#define TK_CONNECTION 150 #define TK_KILL 150
#define TK_STREAM 151 #define TK_CONNECTION 151
#define TK_COLON 152 #define TK_STREAM 152
#define TK_ABORT 153 #define TK_COLON 153
#define TK_AFTER 154 #define TK_ABORT 154
#define TK_ATTACH 155 #define TK_AFTER 155
#define TK_BEFORE 156 #define TK_ATTACH 156
#define TK_BEGIN 157 #define TK_BEFORE 157
#define TK_CASCADE 158 #define TK_BEGIN 158
#define TK_CLUSTER 159 #define TK_CASCADE 159
#define TK_CONFLICT 160 #define TK_CLUSTER 160
#define TK_COPY 161 #define TK_CONFLICT 161
#define TK_DEFERRED 162 #define TK_COPY 162
#define TK_DELIMITERS 163 #define TK_DEFERRED 163
#define TK_DETACH 164 #define TK_DELIMITERS 164
#define TK_EACH 165 #define TK_DETACH 165
#define TK_END 166 #define TK_EACH 166
#define TK_EXPLAIN 167 #define TK_END 167
#define TK_FAIL 168 #define TK_EXPLAIN 168
#define TK_FOR 169 #define TK_FAIL 169
#define TK_IGNORE 170 #define TK_FOR 170
#define TK_IMMEDIATE 171 #define TK_IGNORE 171
#define TK_INITIALLY 172 #define TK_IMMEDIATE 172
#define TK_INSTEAD 173 #define TK_INITIALLY 173
#define TK_MATCH 174 #define TK_INSTEAD 174
#define TK_KEY 175 #define TK_MATCH 175
#define TK_OF 176 #define TK_KEY 176
#define TK_RAISE 177 #define TK_OF 177
#define TK_REPLACE 178 #define TK_RAISE 178
#define TK_RESTRICT 179 #define TK_REPLACE 179
#define TK_ROW 180 #define TK_RESTRICT 180
#define TK_STATEMENT 181 #define TK_ROW 181
#define TK_TRIGGER 182 #define TK_STATEMENT 182
#define TK_VIEW 183 #define TK_TRIGGER 183
#define TK_IPTOKEN 184 #define TK_VIEW 184
#define TK_SEMI 185 #define TK_IPTOKEN 185
#define TK_NONE 186 #define TK_SEMI 186
#define TK_PREV 187 #define TK_NONE 187
#define TK_LINEAR 188 #define TK_PREV 188
#define TK_IMPORT 189 #define TK_LINEAR 189
#define TK_TBNAME 190 #define TK_IMPORT 190
#define TK_JOIN 191 #define TK_TBNAME 191
#define TK_INSERT 192 #define TK_JOIN 192
#define TK_INTO 193 #define TK_INSERT 193
#define TK_VALUES 194 #define TK_INTO 194
#define TK_VALUES 195
#define TK_SPACE 300 #define TK_SPACE 300

View File

@ -80,6 +80,7 @@ typedef struct tVariantListItem {
} tVariantListItem; } tVariantListItem;
typedef struct SIntervalVal { typedef struct SIntervalVal {
int32_t token;
SStrToken interval; SStrToken interval;
SStrToken offset; SStrToken offset;
} SIntervalVal; } SIntervalVal;

View File

@ -482,7 +482,7 @@ tagitem(A) ::= PLUS(X) FLOAT(Y). {
//////////////////////// The SELECT statement ///////////////////////////////// //////////////////////// The SELECT statement /////////////////////////////////
%type select {SSqlNode*} %type select {SSqlNode*}
%destructor select {destroySqlNode($$);} %destructor select {destroySqlNode($$);}
select(A) ::= SELECT(T) selcollist(W) from(X) where_opt(Y) interval_opt(K) sliding_opt(S) session_option(H) windowstate_option(D) fill_opt(F)groupby_opt(P) having_opt(N) orderby_opt(Z) slimit_opt(G) limit_opt(L). { select(A) ::= SELECT(T) selcollist(W) from(X) where_opt(Y) interval_option(K) sliding_opt(S) session_option(H) windowstate_option(D) fill_opt(F)groupby_opt(P) having_opt(N) orderby_opt(Z) slimit_opt(G) limit_opt(L). {
A = tSetQuerySqlNode(&T, W, X, Y, P, Z, &K, &H, &D, &S, F, &L, &G, N); A = tSetQuerySqlNode(&T, W, X, Y, P, Z, &K, &H, &D, &S, F, &L, &G, N);
} }
@ -572,10 +572,14 @@ tablelist(A) ::= tablelist(Y) COMMA ids(X) cpxName(Z) ids(F). {
%type tmvar {SStrToken} %type tmvar {SStrToken}
tmvar(A) ::= VARIABLE(X). {A = X;} tmvar(A) ::= VARIABLE(X). {A = X;}
%type interval_opt {SIntervalVal} %type interval_option {SIntervalVal}
interval_opt(N) ::= INTERVAL LP tmvar(E) RP. {N.interval = E; N.offset.n = 0;} interval_option(N) ::= intervalKey(A) LP tmvar(E) RP. {N.interval = E; N.offset.n = 0; N.token = A;}
interval_opt(N) ::= INTERVAL LP tmvar(E) COMMA tmvar(X) RP. {N.interval = E; N.offset = X;} interval_option(N) ::= intervalKey(A) LP tmvar(E) COMMA tmvar(X) RP. {N.interval = E; N.offset = X; N.token = A;}
interval_opt(N) ::= . {memset(&N, 0, sizeof(N));} interval_option(N) ::= . {memset(&N, 0, sizeof(N));}
%type intervalKey {int32_t}
intervalKey(A) ::= INTERVAL. {A = TK_INTERVAL;}
intervalKey(A) ::= EVERY. {A = TK_EVERY; }
%type session_option {SSessionWindowVal} %type session_option {SSessionWindowVal}
session_option(X) ::= . {X.col.n = 0; X.gap.n = 0;} session_option(X) ::= . {X.col.n = 0; X.gap.n = 0;}
@ -584,6 +588,7 @@ session_option(X) ::= SESSION LP ids(V) cpxName(Z) COMMA tmvar(Y) RP. {
X.col = V; X.col = V;
X.gap = Y; X.gap = Y;
} }
%type windowstate_option {SWindowStateVal} %type windowstate_option {SWindowStateVal}
windowstate_option(X) ::= . { X.col.n = 0; X.col.z = NULL;} windowstate_option(X) ::= . { X.col.n = 0; X.col.z = NULL;}
windowstate_option(X) ::= STATE_WINDOW LP ids(V) RP. { X.col = V; } windowstate_option(X) ::= STATE_WINDOW LP ids(V) RP. { X.col = V; }

File diff suppressed because it is too large Load Diff

View File

@ -137,6 +137,7 @@ static SKeyword keywordTable[] = {
{"COMMA", TK_COMMA}, {"COMMA", TK_COMMA},
{"NULL", TK_NULL}, {"NULL", TK_NULL},
{"SELECT", TK_SELECT}, {"SELECT", TK_SELECT},
{"EVERY", TK_EVERY},
{"FROM", TK_FROM}, {"FROM", TK_FROM},
{"VARIABLE", TK_VARIABLE}, {"VARIABLE", TK_VARIABLE},
{"INTERVAL", TK_INTERVAL}, {"INTERVAL", TK_INTERVAL},

View File

@ -80,9 +80,10 @@ $tb = $tbPrefix . 0
endi endi
## intp + aggregation functions ## intp + aggregation functions
#$t = $ts0 + $delta $t = $ts0 + $delta
#$t = $t + $delta $t = $t + $delta
#sql_error select interp(ts), max(c1), min(c2), count(c3), sum(c4), avg(c5), stddev(c6), first(c7), last(c8), interp(c9) from $tb where ts = $t sql_error select interp(ts), max(c1), min(c2), count(c3), sum(c4), avg(c5), stddev(c6), first(c7), last(c8), interp(c9) from $tb where ts = $t
sql_error select interp(ts) from $tb where ts=$ts0 interval(1s)
### illegal queries on a table ### illegal queries on a table
sql_error select interp(ts), c1 from $tb where ts = $ts0 sql_error select interp(ts), c1 from $tb where ts = $ts0
@ -496,7 +497,7 @@ $tb = $tbPrefix . 0
return -1 return -1
endi endi
##### select interp from stable ### select interp from stable
## interp(*) from stb ## interp(*) from stb
print select interp(*) from $stb where ts = $ts0 print select interp(*) from $stb where ts = $ts0
sql select interp(*) from $stb where ts = $ts0 sql select interp(*) from $stb where ts = $ts0
@ -846,12 +847,12 @@ if $data29 != NULL then
endi endi
sql_error select interp(ts,c1) from intp_tb0 where ts>'2018-11-25 19:19:00' and ts<'2018-11-25 19:19:12'; sql_error select interp(ts,c1) from intp_tb0 where ts>'2018-11-25 19:19:00' and ts<'2018-11-25 19:19:12';
sql select interp(ts,c1) from intp_tb0 where ts>'2018-11-25 19:19:00' and ts<'2018-11-25 19:19:12' interval(1s) fill(linear); sql select interp(ts,c1) from intp_tb0 where ts>'2018-11-25 19:19:00' and ts<'2018-11-25 19:19:12' every(1s) fill(linear);
if $rows != 0 then if $rows != 0 then
return -1 return -1
endi endi
sql select interp(c1) from intp_tb0 where ts>'2018-11-25 18:09:00' and ts<'2018-11-25 19:20:12' interval(18m); sql select interp(c1) from intp_tb0 where ts>'2018-11-25 18:09:00' and ts<'2018-11-25 19:20:12' every(18m);
if $rows != 1 then if $rows != 1 then
return -1 return -1
endi endi
@ -864,7 +865,7 @@ if $data01 != 3 then
return -1 return -1
endi endi
sql select interp(c1,c3,c4,ts) from intp_tb0 where ts>'2018-11-25 18:09:00' and ts<'2018-11-25 19:20:12' interval(18m) fill(linear) sql select interp(c1,c3,c4,ts) from intp_tb0 where ts>'2018-11-25 18:09:00' and ts<'2018-11-25 19:20:12' every(18m) fill(linear)
if $rows != 5 then if $rows != 5 then
return -1 return -1
endi endi
@ -930,7 +931,7 @@ if $data44 != @18-11-25 19:06:00.000@ then
endi endi
sql select interp(c1) from intp_stb0 where ts >= '2018-09-17 20:35:00.000' and ts <= '2018-09-17 20:42:00.000' interval(1m) fill(linear); sql select interp(c1) from intp_stb0 where ts >= '2018-09-17 20:35:00.000' and ts <= '2018-09-17 20:42:00.000' every(1m) fill(linear);
if $rows != 8 then if $rows != 8 then
return -1 return -1
endi endi
@ -984,7 +985,7 @@ if $data71 != NULL then
endi endi
sql select interp(c1) from intp_stb0 where ts >= '2018-09-17 20:35:00.000' and ts <= '2018-09-17 20:42:00.000' interval(1m) fill(linear) order by ts desc; sql select interp(c1) from intp_stb0 where ts >= '2018-09-17 20:35:00.000' and ts <= '2018-09-17 20:42:00.000' every(1m) fill(linear) order by ts desc;
if $rows != 8 then if $rows != 8 then
return -1 return -1
endi endi
@ -1037,7 +1038,7 @@ if $data71 != NULL then
return -1 return -1
endi endi
sql select interp(c3) from intp_stb0 where ts >= '2018-09-17 20:35:00.000' and ts <= '2018-09-17 20:50:00.000' interval(2m) fill(linear) order by ts; sql select interp(c3) from intp_stb0 where ts >= '2018-09-17 20:35:00.000' and ts <= '2018-09-17 20:50:00.000' every(2m) fill(linear) order by ts;
if $rows != 9 then if $rows != 9 then
return -1 return -1
endi endi
@ -1097,7 +1098,7 @@ if $data81 != 1.00000 then
endi endi
sql select interp(c3) from intp_stb0 where ts >= '2018-09-17 20:35:00.000' and ts <= '2018-09-17 20:50:00.000' interval(3m) fill(linear) order by ts; sql select interp(c3) from intp_stb0 where ts >= '2018-09-17 20:35:00.000' and ts <= '2018-09-17 20:50:00.000' every(3m) fill(linear) order by ts;
if $rows != 6 then if $rows != 6 then
return -1 return -1
endi endi
@ -1138,7 +1139,7 @@ if $data51 != 0.80000 then
return -1 return -1
endi endi
sql select interp(c3) from intp_stb0 where ts >= '2018-09-17 20:35:00.000' and ts <= '2018-09-17 20:50:00.000' interval(3m) fill(linear) order by ts desc; sql select interp(c3) from intp_stb0 where ts >= '2018-09-17 20:35:00.000' and ts <= '2018-09-17 20:50:00.000' every(3m) fill(linear) order by ts desc;
if $rows != 6 then if $rows != 6 then
return -1 return -1
endi endi
@ -1181,7 +1182,7 @@ endi
sql select interp(pav) from ap1 where ts> '2021-07-25 02:19:54' and ts<'2021-07-25 02:20:00' interval(1s) fill(linear); sql select interp(pav) from ap1 where ts> '2021-07-25 02:19:54' and ts<'2021-07-25 02:20:00' every(1s) fill(linear);
if $rows != 6 then if $rows != 6 then
return -1 return -1
endi endi
@ -1222,7 +1223,7 @@ if $data51 != 9.87500 then
return -1 return -1
endi endi
sql select interp(pav) from ap1 where ts> '2021-07-25 02:19:54' and ts<'2021-07-25 02:20:00' interval(1s) fill(value, 1); sql select interp(pav) from ap1 where ts> '2021-07-25 02:19:54' and ts<'2021-07-25 02:20:00' every(1s) fill(value, 1);
if $rows != 6 then if $rows != 6 then
return -1 return -1
endi endi
@ -1263,7 +1264,7 @@ if $data51 != 1.00000 then
return -1 return -1
endi endi
sql select interp(pav) from ap1 where ts> '2021-07-25 02:19:54' and ts<'2021-07-25 02:20:00' interval(1s) fill(NULL); sql select interp(pav) from ap1 where ts> '2021-07-25 02:19:54' and ts<'2021-07-25 02:20:00' every(1s) fill(NULL);
if $rows != 6 then if $rows != 6 then
return -1 return -1
endi endi
@ -1304,7 +1305,7 @@ if $data51 != NULL then
return -1 return -1
endi endi
sql select interp(pav) from ap1 where ts> '2021-07-25 02:19:54' and ts<'2021-07-25 02:20:00' interval(1s) fill(prev); sql select interp(pav) from ap1 where ts> '2021-07-25 02:19:54' and ts<'2021-07-25 02:20:00' every(1s) fill(prev);
if $rows != 6 then if $rows != 6 then
return -1 return -1
endi endi
@ -1345,7 +1346,7 @@ if $data51 != 9.00000 then
return -1 return -1
endi endi
sql select interp(pav) from ap1 where ts> '2021-07-25 02:19:54' and ts<'2021-07-25 02:20:00' interval(1s) fill(next); sql select interp(pav) from ap1 where ts> '2021-07-25 02:19:54' and ts<'2021-07-25 02:20:00' every(1s) fill(next);
if $rows != 6 then if $rows != 6 then
return -1 return -1
endi endi
@ -1387,11 +1388,11 @@ if $data51 != 10.00000 then
endi endi
sql select interp(pav) from ap1 where ts> '2021-07-25 02:19:54' and ts<'2021-07-25 02:19:56' interval(1s) fill(linear); sql select interp(pav) from ap1 where ts> '2021-07-25 02:19:54' and ts<'2021-07-25 02:19:56' every(1s) fill(linear);
if $rows != 0 then if $rows != 0 then
return -1 return -1
endi endi
sql select interp(pav) from ap1 where ts> '2021-07-25 02:19:54' and ts<'2021-07-25 02:19:56' interval(1s) fill(prev); sql select interp(pav) from ap1 where ts> '2021-07-25 02:19:54' and ts<'2021-07-25 02:19:56' every(1s) fill(prev);
if $rows != 2 then if $rows != 2 then
return -1 return -1
endi endi
@ -1408,7 +1409,7 @@ if $data11 != 3.00000 then
return -1 return -1
endi endi
sql select interp(pav) from ap1 where ts> '2021-07-25 02:19:54' and ts<'2021-07-25 02:19:56' interval(1s) fill(next); sql select interp(pav) from ap1 where ts> '2021-07-25 02:19:54' and ts<'2021-07-25 02:19:56' every(1s) fill(next);
if $rows != 2 then if $rows != 2 then
return -1 return -1
endi endi
@ -1425,7 +1426,7 @@ if $data11 != NULL then
return -1 return -1
endi endi
sql select interp(pav) from ap1 where ts> '2021-07-25 02:19:54' and ts<'2021-07-25 02:19:57' interval(1s) fill(linear); sql select interp(pav) from ap1 where ts> '2021-07-25 02:19:54' and ts<'2021-07-25 02:19:57' every(1s) fill(linear);
if $rows != 3 then if $rows != 3 then
return -1 return -1
endi endi
@ -1448,7 +1449,7 @@ if $data21 != 3.77273 then
return -1 return -1
endi endi
sql select interp(pav) from ap1 where ts> '2021-07-25 02:19:54' and ts<'2021-07-25 02:19:57' interval(1s) fill(prev); sql select interp(pav) from ap1 where ts> '2021-07-25 02:19:54' and ts<'2021-07-25 02:19:57' every(1s) fill(prev);
if $rows != 3 then if $rows != 3 then
return -1 return -1
endi endi
@ -1471,7 +1472,7 @@ if $data21 != 3.00000 then
return -1 return -1
endi endi
sql select interp(pav) from ap1 where ts> '2021-07-25 02:19:54' and ts<'2021-07-25 02:19:57' interval(1s) fill(next); sql select interp(pav) from ap1 where ts> '2021-07-25 02:19:54' and ts<'2021-07-25 02:19:57' every(1s) fill(next);
if $rows != 3 then if $rows != 3 then
return -1 return -1
endi endi
@ -1494,7 +1495,7 @@ if $data21 != 4.00000 then
return -1 return -1
endi endi
sql select interp(pav) from ap1 where ts> '2021-07-25 02:19:54' and ts<='2021-07-25 02:20:03' interval(1s) fill(linear); sql select interp(pav) from ap1 where ts> '2021-07-25 02:19:54' and ts<='2021-07-25 02:20:03' every(1s) fill(linear);
if $rows != 10 then if $rows != 10 then
return -1 return -1
endi endi
@ -1559,7 +1560,7 @@ if $data91 != NULL then
return -1 return -1
endi endi
sql select interp(pav) from ap1 where ts> '2021-07-25 02:19:54' and ts<='2021-07-25 02:20:03' interval(1s) fill(prev); sql select interp(pav) from ap1 where ts> '2021-07-25 02:19:54' and ts<='2021-07-25 02:20:03' every(1s) fill(prev);
if $rows != 10 then if $rows != 10 then
return -1 return -1
endi endi
@ -1624,7 +1625,7 @@ if $data91 != 14.00000 then
return -1 return -1
endi endi
sql select interp(pav) from ap1 where ts> '2021-07-25 02:19:54' and ts<='2021-07-25 02:20:03' interval(1s) fill(next); sql select interp(pav) from ap1 where ts> '2021-07-25 02:19:54' and ts<='2021-07-25 02:20:03' every(1s) fill(next);
if $rows != 10 then if $rows != 10 then
return -1 return -1
endi endi
@ -1689,7 +1690,7 @@ if $data91 != NULL then
return -1 return -1
endi endi
sql select interp(pav) from ap1 where ts> '2021-07-25 02:19:54' and ts<='2021-07-25 02:20:05' interval(1s) fill(linear); sql select interp(pav) from ap1 where ts> '2021-07-25 02:19:54' and ts<='2021-07-25 02:20:05' every(1s) fill(linear);
if $rows != 12 then if $rows != 12 then
return -1 return -1
endi endi
@ -1742,7 +1743,7 @@ if $data71 != 15.29412 then
return -1 return -1
endi endi
sql select interp(pav) from ap1 where ts> '2021-07-25 02:19:54' and ts<='2021-07-25 02:20:05' interval(1s) fill(prev); sql select interp(pav) from ap1 where ts> '2021-07-25 02:19:54' and ts<='2021-07-25 02:20:05' every(1s) fill(prev);
if $rows != 12 then if $rows != 12 then
return -1 return -1
endi endi
@ -1807,7 +1808,7 @@ if $data91 != 14.00000 then
return -1 return -1
endi endi
sql select interp(pav) from ap1 where ts> '2021-07-25 02:19:54' and ts<='2021-07-25 02:20:05' interval(1s) fill(next); sql select interp(pav) from ap1 where ts> '2021-07-25 02:19:54' and ts<='2021-07-25 02:20:05' every(1s) fill(next);
if $rows != 12 then if $rows != 12 then
return -1 return -1
endi endi
@ -1872,7 +1873,7 @@ if $data91 != 20.00000 then
return -1 return -1
endi endi
sql select interp(pav) from ap1 where ts> '2021-07-25 02:20:02' and ts<='2021-07-25 02:20:05' interval(1s) fill(value, 1); sql select interp(pav) from ap1 where ts> '2021-07-25 02:20:02' and ts<='2021-07-25 02:20:05' every(1s) fill(value, 1);
if $rows != 4 then if $rows != 4 then
return -1 return -1
endi endi
@ -1901,7 +1902,7 @@ if $data31 != 20.00000 then
return -1 return -1
endi endi
sql select interp(pav) from ap1 where ts> '2021-07-25 02:20:02' and ts<='2021-07-25 02:20:05' interval(1s) fill(null); sql select interp(pav) from ap1 where ts> '2021-07-25 02:20:02' and ts<='2021-07-25 02:20:05' every(1s) fill(null);
if $rows != 4 then if $rows != 4 then
return -1 return -1
endi endi
@ -1931,7 +1932,7 @@ if $data31 != 20.00000 then
endi endi
sql select interp(pav) from ap1 where ts> '2021-07-25 02:19:54' and ts<='2021-07-25 02:20:25' interval(1s) fill(linear); sql select interp(pav) from ap1 where ts> '2021-07-25 02:19:54' and ts<='2021-07-25 02:20:25' every(1s) fill(linear);
if $rows != 32 then if $rows != 32 then
return -1 return -1
endi endi
@ -1984,7 +1985,7 @@ if $data71 != 15.29412 then
return -1 return -1
endi endi
sql select interp(pav) from ap1 where ts> '2021-07-25 02:19:54' and ts<='2021-07-25 02:20:25' interval(1s) fill(prev); sql select interp(pav) from ap1 where ts> '2021-07-25 02:19:54' and ts<='2021-07-25 02:20:25' every(1s) fill(prev);
if $rows != 32 then if $rows != 32 then
return -1 return -1
endi endi
@ -2049,7 +2050,7 @@ if $data91 != 14.00000 then
return -1 return -1
endi endi
sql select interp(pav) from ap1 where ts> '2021-07-25 02:19:54' and ts<='2021-07-25 02:20:25' interval(1s) fill(next); sql select interp(pav) from ap1 where ts> '2021-07-25 02:19:54' and ts<='2021-07-25 02:20:25' every(1s) fill(next);
if $rows != 32 then if $rows != 32 then
return -1 return -1
endi endi
@ -2115,7 +2116,7 @@ if $data91 != 20.00000 then
endi endi
sql select interp(pav) from ap1 where ts> '2021-07-25 02:19:54' and ts<='2021-07-25 02:25:00' interval(1s) fill(linear); sql select interp(pav) from ap1 where ts> '2021-07-25 02:19:54' and ts<='2021-07-25 02:25:00' every(1s) fill(linear);
if $rows != 307 then if $rows != 307 then
return -1 return -1
endi endi
@ -2168,7 +2169,7 @@ if $data71 != 15.29412 then
return -1 return -1
endi endi
sql select interp(pav) from ap1 where ts> '2021-07-25 02:19:54' and ts<='2021-07-25 02:25:00' interval(1s) fill(prev); sql select interp(pav) from ap1 where ts> '2021-07-25 02:19:54' and ts<='2021-07-25 02:25:00' every(1s) fill(prev);
if $rows != 307 then if $rows != 307 then
return -1 return -1
endi endi
@ -2233,7 +2234,7 @@ if $data91 != 14.00000 then
return -1 return -1
endi endi
sql select interp(pav) from ap1 where ts> '2021-07-25 02:19:54' and ts<='2021-07-25 02:25:00' interval(1s) fill(next); sql select interp(pav) from ap1 where ts> '2021-07-25 02:19:54' and ts<='2021-07-25 02:25:00' every(1s) fill(next);
if $rows != 307 then if $rows != 307 then
return -1 return -1
endi endi
@ -2298,7 +2299,7 @@ if $data91 != 20.00000 then
return -1 return -1
endi endi
sql select interp(pav) from ap1 where ts> '2021-07-25 02:19:54' and ts<='2021-07-25 03:25:00' interval(1s) fill(linear); sql select interp(pav) from ap1 where ts> '2021-07-25 02:19:54' and ts<='2021-07-25 03:25:00' every(1s) fill(linear);
if $rows != 3907 then if $rows != 3907 then
return -1 return -1
endi endi
@ -2352,7 +2353,7 @@ if $data71 != 15.29412 then
endi endi
sql select interp(pav) from ap1 where ts> '2021-07-25 02:19:54' and ts<='2021-07-25 03:25:00' interval(1s) fill(prev); sql select interp(pav) from ap1 where ts> '2021-07-25 02:19:54' and ts<='2021-07-25 03:25:00' every(1s) fill(prev);
if $rows != 3907 then if $rows != 3907 then
return -1 return -1
endi endi
@ -2417,7 +2418,7 @@ if $data91 != 14.00000 then
return -1 return -1
endi endi
sql select interp(pav) from ap1 where ts> '2021-07-25 02:19:54' and ts<='2021-07-25 03:25:00' interval(1s) fill(next); sql select interp(pav) from ap1 where ts> '2021-07-25 02:19:54' and ts<='2021-07-25 03:25:00' every(1s) fill(next);
if $rows != 3907 then if $rows != 3907 then
return -1 return -1
endi endi
@ -2482,7 +2483,7 @@ if $data91 != 20.00000 then
return -1 return -1
endi endi
sql select interp(pav) from ap1 where ts> '2021-07-25 02:19:54' and ts<'2021-07-25 02:20:07' interval(1s); sql select interp(pav) from ap1 where ts> '2021-07-25 02:19:54' and ts<'2021-07-25 02:20:07' every(1s);
if $rows != 1 then if $rows != 1 then
return -1 return -1
endi endi