Убран лишний код. Скорректированы docker и package файлы. Переработано взаимодействие с бд - упрощена логика. #1
@@ -17,25 +17,18 @@ export class HistoryRepository {
|
|||||||
const result = await this.db.query<HistoryRow>(
|
const result = await this.db.query<HistoryRow>(
|
||||||
`
|
`
|
||||||
SELECT
|
SELECT
|
||||||
$1::varchar AS edge,
|
time_bucket($5::interval, timestamp) AS time,
|
||||||
$2::varchar AS tag,
|
|
||||||
bucket AS time,
|
|
||||||
min(value)::double precision AS min_value,
|
min(value)::double precision AS min_value,
|
||||||
avg(value)::double precision AS avg_value,
|
avg(value)::double precision AS avg_value,
|
||||||
max(value)::double precision AS max_value,
|
max(value)::double precision AS max_value,
|
||||||
count(*)::integer AS point_count
|
count(*)::integer AS point_count
|
||||||
FROM (
|
FROM history
|
||||||
SELECT
|
WHERE edge = $1
|
||||||
time_bucket($5::interval, timestamp) AS bucket,
|
AND tag = $2
|
||||||
value
|
AND timestamp >= $3
|
||||||
FROM history
|
AND timestamp < $4
|
||||||
WHERE edge = $1
|
GROUP BY time
|
||||||
AND tag = $2
|
ORDER BY time ASC
|
||||||
AND timestamp >= $3
|
|
||||||
AND timestamp < $4
|
|
||||||
) AS bucketed
|
|
||||||
GROUP BY bucket
|
|
||||||
ORDER BY bucket ASC
|
|
||||||
`,
|
`,
|
||||||
[edge, tag, from, to, granulate],
|
[edge, tag, from, to, granulate],
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -1,6 +1,4 @@
|
|||||||
export type HistoryRow = {
|
export type HistoryRow = {
|
||||||
edge: string;
|
|
||||||
tag: string;
|
|
||||||
time: Date;
|
time: Date;
|
||||||
min_value: number;
|
min_value: number;
|
||||||
avg_value: number;
|
avg_value: number;
|
||||||
|
|||||||
Reference in New Issue
Block a user