#!/bin/bash

# Requires:
# COUNT_LINES_LOG
# COUNT_LINES_INPUT_DIR
# COUNT_LINES_OUTPUT_FILE

# env file arg
ENV=$1
echo "Using env file: ${ENV}"

# read env file
export $(grep -v '^#' ${ENV} | xargs)

# redirect stdout/stderr to a file
exec >"${COUNT_LINES_LOG}" 2>&1

start_timestamp=$(date +%s)

table_names=(
  "public.nodes"
  "public.blocks"
  "eth.access_list_elements"
  "eth.log_cids"
  "eth.state_accounts"
  "eth.storage_cids"
  "eth.uncle_cids"
  "eth.header_cids"
  "eth.receipt_cids"
  "eth.state_cids"
  "eth.transaction_cids"
)

echo "Row counts:" > "${COUNT_LINES_OUTPUT_FILE}"

for table_name in "${table_names[@]}";
do
  echo "${table_name}";
  echo Start: "$(date)"
  wc -l "${COUNT_LINES_INPUT_DIR}"/"${table_name}.csv" >> "${COUNT_LINES_OUTPUT_FILE}"
  echo End: "$(date)"
  echo
done

difference=$(($(date +%s)-start_timestamp))
echo Time taken: $((difference/86400)):$(date -d@${difference} -u +%H:%M:%S)