Skip to content
This repository was archived by the owner on Oct 16, 2025. It is now read-only.

Commit ab887bd

Browse files
authored
Update migrate_audit.sql
1 parent 8663bd9 commit ab887bd

1 file changed

Lines changed: 2 additions & 248 deletions

File tree

merrit-billing/migrate_audit.sql

Lines changed: 2 additions & 248 deletions
Original file line numberDiff line numberDiff line change
@@ -1,249 +1,3 @@
1-
DELIMITER $$
2-
31
/*
4-
*/
5-
DROP PROCEDURE IF EXISTS iterate_audit_range$$
6-
CREATE PROCEDURE iterate_audit_range(dstart date, dend date)
7-
BEGIN
8-
if dend > dstart then
9-
set @dcur = dstart;
10-
loop_label: LOOP
11-
set @dnext = adddate(@dcur, interval 1 day);
12-
13-
call update_audits_processed_for_day(@dcur);
14-
15-
set @dcur = @dnext;
16-
if @dcur >= dend then
17-
LEAVE loop_label;
18-
end if;
19-
END LOOP;
20-
end if;
21-
END$$
22-
23-
DELIMITER ;
24-
25-
DELIMITER $$
26-
27-
DROP PROCEDURE IF EXISTS update_audits_processed$$
28-
CREATE PROCEDURE update_audits_processed()
29-
BEGIN
30-
call iterate_audit_range(
31-
(
32-
select
33-
date_add(max(audit_date), INTERVAL 1 DAY)
34-
from
35-
audits_processed
36-
),
37-
date(now())
38-
);
39-
END$$
40-
41-
DELIMITER ;
42-
43-
DELIMITER $$
44-
45-
DROP PROCEDURE IF EXISTS update_audits_processed_for_day$$
46-
CREATE PROCEDURE update_audits_processed_for_day(dcur date)
47-
BEGIN
48-
set @dcur = dcur;
49-
delete from
50-
audits_processed
51-
where
52-
audit_date = @dcur;
53-
54-
CREATE TEMPORARY TABLE IF NOT EXISTS tmp_audits_processed AS (
55-
select * from audits_processed limit 0
56-
);
57-
58-
truncate table tmp_audits_processed;
59-
60-
set @interval = 5,
61-
@tstart = date_add(@dcur, INTERVAL 0 HOUR),
62-
@tnext = date_add(@tstart, INTERVAL @interval MINUTE),
63-
@tend = date_add(@dcur, INTERVAL 1 DAY);
64-
65-
loop_label: LOOP
66-
insert into
67-
tmp_audits_processed
68-
select
69-
@dcur as audit_date,
70-
count(a.id) as all_files,
71-
ifnull(
72-
sum(
73-
case
74-
when a.inv_node_id in (select id from inv.inv_nodes where access_mode != 'on-line')
75-
then 0
76-
else 1
77-
end
78-
),
79-
0
80-
) as online_files,
81-
ifnull(
82-
sum(
83-
case
84-
when a.inv_node_id in (select id from inv.inv_nodes where access_mode != 'on-line')
85-
then 0
86-
else full_size
87-
end
88-
),
89-
0
90-
) as online_bytes,
91-
ifnull(
92-
sum(
93-
case
94-
when a.inv_node_id in (select id from inv.inv_nodes where number in (5001, 3041, 3042))
95-
then 1
96-
else 0
97-
end
98-
),
99-
0
100-
) as s3_files,
101-
ifnull(
102-
sum(
103-
case
104-
when a.inv_node_id in (select id from inv.inv_nodes where number in (5001, 3041, 3042))
105-
then full_size
106-
else 0
107-
end
108-
),
109-
0
110-
) as s3_bytes,
111-
ifnull(
112-
sum(
113-
case
114-
when a.inv_node_id in (select id from inv.inv_nodes where access_mode != 'on-line')
115-
then 1
116-
else 0
117-
end
118-
),
119-
0
120-
) as glacier_files,
121-
ifnull(
122-
sum(
123-
case
124-
when a.inv_node_id in (select id from inv.inv_nodes where access_mode != 'on-line')
125-
then full_size
126-
else 0
127-
end
128-
),
129-
0
130-
) as glacier_bytes,
131-
ifnull(
132-
sum(
133-
case
134-
when a.inv_node_id in (select id from inv.inv_nodes where number in (2001, 2002))
135-
then 1
136-
else 0
137-
end
138-
),
139-
0
140-
) as sdsc_files,
141-
ifnull(
142-
sum(
143-
case
144-
when a.inv_node_id in (select id from inv.inv_nodes where number in (2001, 2002))
145-
then full_size
146-
else 0
147-
end
148-
),
149-
0
150-
) as sdsc_bytes,
151-
ifnull(
152-
sum(
153-
case
154-
when a.inv_node_id in (select id from inv.inv_nodes where number in (9501, 9502))
155-
then 1
156-
else 0
157-
end
158-
),
159-
0
160-
) as wasabi_files,
161-
ifnull(
162-
sum(
163-
case
164-
when a.inv_node_id in (select id from inv.inv_nodes where number in (9501, 9502))
165-
then full_size
166-
else 0
167-
end
168-
),
169-
0
170-
) as wasabi_bytes,
171-
ifnull(
172-
sum(
173-
case
174-
when a.inv_node_id in (select id from inv.inv_nodes where number in (5001, 3041, 3042))
175-
then 0
176-
when a.inv_node_id in (select id from inv.inv_nodes where access_mode != 'on-line')
177-
then 0
178-
when a.inv_node_id in (select id from inv.inv_nodes where number in (2001, 2002))
179-
then 0
180-
when a.inv_node_id in (select id from inv.inv_nodes where number in (9501, 9502))
181-
then 0
182-
else 1
183-
end
184-
),
185-
0
186-
) as other_files,
187-
ifnull(
188-
sum(
189-
case
190-
when a.inv_node_id in (select id from inv.inv_nodes where number in (5001, 3041, 3042))
191-
then 0
192-
when a.inv_node_id in (select id from inv.inv_nodes where access_mode != 'on-line')
193-
then 0
194-
when a.inv_node_id in (select id from inv.inv_nodes where number in (2001, 2002))
195-
then 0
196-
when a.inv_node_id in (select id from inv.inv_nodes where number in (9501, 9502))
197-
then 0
198-
else full_size
199-
end
200-
),
201-
0
202-
) as other_bytes
203-
from
204-
inv.inv_audits a
205-
inner join inv.inv_files f
206-
on
207-
f.id = a.inv_file_id
208-
and
209-
f.inv_object_id = a.inv_object_id
210-
and
211-
f.inv_version_id = a.inv_version_id
212-
where
213-
verified >= @tstart
214-
and
215-
verified < @tnext
216-
;
217-
218-
set @tstart = @tnext,
219-
@tnext = date_add(@tstart, INTERVAL @interval MINUTE);
220-
221-
if @tstart >= @tend then
222-
LEAVE loop_label;
223-
end if;
224-
END LOOP;
225-
226-
insert into audits_processed
227-
select
228-
audit_date,
229-
sum(all_files),
230-
sum(online_files),
231-
sum(online_bytes),
232-
sum(s3_files),
233-
sum(s3_bytes),
234-
sum(glacier_files),
235-
sum(glacier_bytes),
236-
sum(sdsc_files),
237-
sum(sdsc_bytes),
238-
sum(wasabi_files),
239-
sum(wasabi_bytes),
240-
sum(other_files),
241-
sum(other_bytes)
242-
from
243-
tmp_audits_processed
244-
group by
245-
audit_date;
246-
247-
END$$
248-
249-
DELIMITER ;
2+
See https://github.com/CDLUC3/merritt-docker/blob/main/mrt-services/mysql/init.sql for stored procedure definitions
3+
*/

0 commit comments

Comments
 (0)