From 659007e5631b2ce30acf929371840352394a7629 Mon Sep 17 00:00:00 2001 From: Mohammed Sohail Date: Thu, 5 May 2022 14:56:22 +0300 Subject: [PATCH] fix: (sql) lower case addresses for easier joins - add schema docs --- docs/cic-dw-schema.png | Bin 0 -> 90430 bytes migrations/002_cic_dw_tables.sql | 2 +- queries.sql | 10 +++++----- 3 files changed, 6 insertions(+), 6 deletions(-) create mode 100644 docs/cic-dw-schema.png diff --git a/docs/cic-dw-schema.png b/docs/cic-dw-schema.png new file mode 100644 index 0000000000000000000000000000000000000000..d6462f5d034e7257d4c11a5dbb1aca018275a864 GIT binary patch literal 90430 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

Gk2#@4(Us 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 literal 0 HcmV?d00001 diff --git a/migrations/002_cic_dw_tables.sql b/migrations/002_cic_dw_tables.sql index f312f6c..90b1b71 100644 --- a/migrations/002_cic_dw_tables.sql +++ b/migrations/002_cic_dw_tables.sql @@ -80,7 +80,7 @@ SELECT 1, blockchain_address, 'cic_ussd.account.block_chain_address remote curso -- bootstrap first tx row INSERT INTO transactions (tx_hash, block_number, tx_index, token_address, sender_address, recipient_address, tx_value, date_block, tx_type, success) -SELECT tx.tx_hash, tx.block_number, tx.tx_index, tx.source_token, tx.sender, tx.recipient, tx.from_value, tx.date_block, concat(tag.domain, '_', tag.value) AS tx_type, tx.success +SELECT tx.tx_hash, tx.block_number, tx.tx_index, LOWER(tx.source_token), LOWER(tx.sender), LOWER(tx.recipient), tx.from_value, tx.date_block, concat(tag.domain, '_', tag.value) AS tx_type, tx.success FROM cic_cache.tx INNER JOIN cic_cache.tag_tx_link ON tx.id = cic_cache.tag_tx_link.tx_id INNER JOIN cic_cache.tag ON cic_cache.tag_tx_link.tag_id = cic_cache.tag.id diff --git a/queries.sql b/queries.sql index c03bfd2..946ec86 100644 --- a/queries.sql +++ b/queries.sql @@ -9,7 +9,7 @@ WITH current_ussd_cursor AS ( INSERT INTO users (phone_number, blockchain_address, date_registered, failed_pin_attempts, ussd_account_status) SELECT cic_ussd.account.phone_number, cic_ussd.account.blockchain_address, cic_ussd.account.created, cic_ussd.account.failed_pin_attempts, cic_ussd.account.status -FROM cic_ussd.account WHERE cic_ussd.account.id > (SELECT id FROM current_ussd_cursor) ORDER BY cic_ussd.account.id ASC LIMIT 200; +FROM cic_ussd.account WHERE cic_ussd.account.id > (SELECT id FROM current_ussd_cursor) ORDER BY cic_ussd.account.id ASC LIMIT 300; UPDATE cursors SET cursor_pos = (SELECT blockchain_address FROM users ORDER BY id DESC LIMIT 1) WHERE cursors.id = 1; @@ -17,13 +17,13 @@ UPDATE cursors SET cursor_pos = (SELECT blockchain_address FROM users ORDER BY i -- This db transaction will auto scroll the cic_cache remote adding values as per the limit and auto-updating the cursor -- The tx_hash is used as the cursor to retrieve the corresponding id since the id is not guaranteed to be sequential WITH current_cache_cursor AS ( - SELECT id FROM cic_cache.tx WHERE tx_hash = (SELECT cursor_pos FROM cursors WHERE id = 2) + SELECT id FROM cic_cache.tx WHERE LOWER(tx_hash) = (SELECT cursor_pos FROM cursors WHERE id = 2) ) INSERT INTO transactions (tx_hash, block_number, tx_index, token_address, sender_address, recipient_address, tx_value, date_block, tx_type, success) -SELECT cic_cache.tx.tx_hash, cic_cache.tx.block_number, cic_cache.tx.tx_index, cic_cache.tx.source_token, cic_cache.tx.sender, cic_cache.tx.recipient, cic_cache.tx.from_value, cic_cache.tx.date_block, concat(cic_cache.tag.domain, '_', cic_cache.tag.value) AS tx_type, cic_cache.tx.success +SELECT cic_cache.tx.tx_hash, cic_cache.tx.block_number, cic_cache.tx.tx_index, LOWER(cic_cache.tx.source_token), LOWER(cic_cache.tx.sender), LOWER(cic_cache.tx.recipient), cic_cache.tx.from_value, cic_cache.tx.date_block, concat(cic_cache.tag.domain, '_', cic_cache.tag.value) AS tx_type, cic_cache.tx.success FROM cic_cache.tx INNER JOIN cic_cache.tag_tx_link ON cic_cache.tx.id = cic_cache.tag_tx_link.tx_id INNER JOIN cic_cache.tag ON cic_cache.tag_tx_link.tag_id = cic_cache.tag.id -WHERE cic_cache.tx.id > (SELECT id FROM current_cache_cursor) ORDER BY cic_cache.tx.id ASC LIMIT 200; +WHERE cic_cache.tx.id > (SELECT id FROM current_cache_cursor) ORDER BY cic_cache.tx.id ASC LIMIT 300; UPDATE cursors SET cursor_pos = (SELECT tx_hash FROM transactions ORDER BY id DESC LIMIT 1) WHERE cursors.id = 2; @@ -34,7 +34,7 @@ SELECT cursor_pos from cursors WHERE id = $1; -- name: insert-token-data -- Insert new token INSERT INTO tokens (token_address, token_name, token_symbol, token_decimals) VALUES -($1, $2, $3, $4); +(LOWER($1), $2, $3, $4); -- name: update-cursor -- Generic cursor update