Skip to content

Commit 76ca1e1

Browse files
committed
Fix issues with duplicated created_at stats, use effect_id for WHERE clause
1 parent 3da6af9 commit 76ca1e1

4 files changed

Lines changed: 4 additions & 4 deletions

db/migrations/0004_add_payments_to_asset_stats.down.sql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ BEGIN
1212
FOR t_row in SELECT * FROM effects LOOP
1313
INSERT INTO asset_stats(paging_token, asset_code, asset_issuer, asset_type, created_at, total_amount, num_accounts, num_effects)
1414
VALUES (t_row.paging_token, t_row.asset_code, t_row.asset_issuer, t_row.asset_type, t_row.created_at,
15-
(SELECT SUM(amount) FROM effects WHERE type='account_debited' AND account=t_row.asset_issuer AND created_at <= t_row.created_at),
15+
(SELECT SUM(amount) FROM effects WHERE type='account_debited' AND account=t_row.asset_issuer AND effect_id <= t_row.effect_id),
1616
(SELECT COUNT(DISTINCT account) FROM effects WHERE effect_id <= t_row.effect_id),
1717
(SELECT COUNT(*) FROM effects WHERE type='account_debited' AND effect_id <= t_row.effect_id),
1818
(SELECT COUNT(*) FROM effects WHERE effect_id <= t_row.effect_id)

db/migrations/0004_add_payments_to_asset_stats.up.sql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ BEGIN
1212
FOR t_row in SELECT * FROM effects LOOP
1313
INSERT INTO asset_stats(paging_token, asset_code, asset_issuer, asset_type, created_at, total_amount, num_accounts, payments)
1414
VALUES (t_row.paging_token, t_row.asset_code, t_row.asset_issuer, t_row.asset_type, t_row.created_at,
15-
(SELECT SUM(amount) FROM effects WHERE type='account_debited' AND account=t_row.asset_issuer AND created_at <= t_row.created_at),
15+
(SELECT SUM(amount) FROM effects WHERE type='account_debited' AND account=t_row.asset_issuer AND effect_id <= t_row.effect_id),
1616
(SELECT COUNT(DISTINCT account) FROM effects WHERE account != t_row.asset_issuer AND effect_id <= t_row.effect_id),
1717
(SELECT COUNT(*) FROM effects WHERE type='account_debited' AND account != t_row.asset_issuer AND effect_id <= t_row.effect_id)
1818
);

db/migrations/0005_materialized_view.down.sql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ BEGIN
2121
FOR t_row in SELECT * FROM effects LOOP
2222
INSERT INTO asset_stats(paging_token, asset_code, asset_issuer, asset_type, created_at, total_amount, num_accounts, payments)
2323
VALUES (t_row.paging_token, t_row.asset_code, t_row.asset_issuer, t_row.asset_type, t_row.created_at,
24-
(SELECT SUM(amount) FROM effects WHERE type='account_debited' AND account=t_row.asset_issuer AND created_at <= t_row.created_at),
24+
(SELECT SUM(amount) FROM effects WHERE type='account_debited' AND account=t_row.asset_issuer AND effect_id <= t_row.effect_id),
2525
(SELECT COUNT(DISTINCT account) FROM effects WHERE account != t_row.asset_issuer AND effect_id <= t_row.effect_id),
2626
(SELECT COUNT(*) FROM effects WHERE type='account_debited' AND account != t_row.asset_issuer AND effect_id <= t_row.effect_id)
2727
);

db/migrations/0005_materialized_view.up.sql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ BEGIN
2121
asset_code := t_row.asset_code;
2222
asset_issuer := t_row.asset_issuer;
2323
created_at := t_row.created_at;
24-
total_amount := (SELECT SUM(amount) FROM effects WHERE type='account_debited' AND account=t_row.asset_issuer AND created_at <= t_row.created_at);
24+
total_amount := (SELECT SUM(amount) FROM effects WHERE type='account_debited' AND account=t_row.asset_issuer AND effect_id <= t_row.effect_id);
2525
num_accounts := (SELECT COUNT(DISTINCT account) FROM effects WHERE account != t_row.asset_issuer AND effect_id <= t_row.effect_id);
2626
payments := (SELECT COUNT(*) FROM effects WHERE type='account_debited' AND account != t_row.asset_issuer AND effect_id <= t_row.effect_id);
2727
RETURN NEXT;

0 commit comments

Comments
 (0)