github.com/status-im/status-go@v1.1.0/services/wallet/activity/oldest_timestamp.sql (about)

     1  -- Get oldest timestamp query
     2  
     3  WITH filter_conditions AS 
     4  	(SELECT ? AS filterAllAddresses),
     5  	filter_addresses(address) AS (
     6  		SELECT * FROM (VALUES %s) WHERE (SELECT filterAllAddresses FROM filter_conditions) = 0
     7  	)
     8  SELECT
     9  	transfers.tx_from_address AS from_address,
    10  	transfers.tx_to_address AS to_address,
    11  	transfers.timestamp AS timestamp
    12  FROM transfers, filter_conditions
    13  WHERE transfers.multi_transaction_id = 0
    14  	AND (filterAllAddresses OR from_address IN filter_addresses OR to_address IN filter_addresses)
    15  
    16  UNION ALL
    17  
    18  SELECT
    19  	pending_transactions.from_address AS from_address,
    20  	pending_transactions.to_address AS to_address,
    21  	pending_transactions.timestamp AS timestamp
    22  FROM pending_transactions, filter_conditions
    23  WHERE pending_transactions.multi_transaction_id = 0
    24  	AND (filterAllAddresses OR from_address IN filter_addresses OR to_address IN filter_addresses)
    25  
    26  UNION ALL
    27  
    28  SELECT
    29  	multi_transactions.from_address AS from_address,
    30  	multi_transactions.to_address AS to_address,
    31  	multi_transactions.timestamp AS timestamp
    32  FROM multi_transactions, filter_conditions
    33  WHERE filterAllAddresses OR from_address IN filter_addresses OR to_address IN filter_addresses
    34  ORDER BY timestamp ASC
    35  LIMIT 1