Advertisement
temaon_lieto

refreshing: db_logs

Jul 4th, 2025 (edited)
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 4.78 KB | None | 0 0
  1. -- DATABASE LOGS QUERIES
  2. -- -----------------------------------------------------
  3. -- Explanation of status codes:
  4. -- kind: 0 = refresh_clickhouse_tables_started, 1 = refresh_clickhouse_tables_finished
  5. -- severity: 0 = success (no error), 1 = failure (with error)
  6.  
  7. -- QUERY 1: Latest successful log entries
  8. -- -----------------------------------------------------
  9. -- Shows the most recent successful log entry for each source (table_name)
  10. -- Only includes entries where process started (kind=0) without errors (severity=0)
  11. WITH db_logs AS (
  12.     SELECT
  13.         *,
  14.         RANK() OVER (PARTITION BY SOURCE ORDER BY created_at DESC) AS rank
  15.     FROM db_logs
  16.     WHERE db_logs.kind = 0 AND db_logs.severity = 0
  17.       AND db_logs.created_at BETWEEN '2025-07-04 00:00:00' AND '2025-07-04 23:59:59.999999'
  18. )
  19. SELECT db_logs.*
  20. FROM db_logs
  21. WHERE db_logs.rank = 1
  22. ORDER BY db_logs.created_at DESC;
  23.  
  24.  
  25. -- QUERY 2: Latest failed log entries
  26. -- -----------------------------------------------------
  27. -- Shows the most recent failed log entry for each source (table_name)
  28. -- Only includes entries where process started (kind=0) with errors (severity=1)
  29. WITH db_logs AS (
  30.     SELECT
  31.         *,
  32.         RANK() OVER (PARTITION BY SOURCE ORDER BY created_at DESC) AS rank
  33.     FROM db_logs
  34.     WHERE db_logs.kind = 0 AND db_logs.severity = 1
  35.       AND db_logs.created_at BETWEEN '2024-07-04 00:00:00' AND '2025-07-04 23:59:59.999999'
  36. )
  37. SELECT db_logs.*
  38. FROM db_logs
  39. WHERE db_logs.rank = 1
  40. ORDER BY db_logs.created_at DESC;
  41.  
  42.  
  43. -- QUERY 3: Latest successful log entries (finished)
  44. -- -----------------------------------------------------
  45. -- Shows the most recent successful log entry for each source (table_name)
  46. -- Only includes entries where process finished (kind=1) without errors (severity=0)
  47. WITH db_logs AS (
  48.     SELECT
  49.         *,
  50.         RANK() OVER (PARTITION BY SOURCE ORDER BY created_at DESC) AS rank
  51.     FROM db_logs
  52.     WHERE db_logs.kind = 1 AND db_logs.severity = 0
  53.       AND db_logs.created_at BETWEEN '2024-07-04 00:00:00' AND '2025-07-04 23:59:59.999999'
  54. )
  55. SELECT db_logs.*
  56. FROM db_logs
  57. WHERE db_logs.rank = 1
  58. ORDER BY db_logs.created_at DESC;
  59.  
  60. -- QUERY 4: Latest failed log entries (finished)
  61. -- -----------------------------------------------------
  62. -- Shows the most recent failed log entry for each source (table_name)
  63. -- Only includes entries where process finished (kind=1) with errors (severity=1)
  64. WITH db_logs AS (
  65.     SELECT
  66.         *,
  67.         RANK() OVER (PARTITION BY SOURCE ORDER BY created_at DESC) AS rank
  68.     FROM db_logs
  69.     WHERE db_logs.kind = 1 AND db_logs.severity = 1
  70.       AND db_logs.created_at BETWEEN '2024-07-04 00:00:00' AND '2025-07-04 23:59:59.999999'
  71. )
  72. SELECT db_logs.*
  73. FROM db_logs
  74. WHERE db_logs.rank = 1
  75. ORDER BY db_logs.created_at DESC;
  76.  
  77. -- QUERY 5: SUMMARY OF LOG ENTRIES
  78. -- -----------------------------------------------------
  79. WITH db_error_logs AS (
  80.     SELECT
  81.         *,
  82.         DATE(created_at) AS log_date,
  83.         RANK() OVER (PARTITION BY SOURCE ORDER BY created_at DESC) AS rank
  84.     FROM db_logs
  85.     WHERE db_logs.kind = 1 AND db_logs.severity = 1
  86.       AND db_logs.created_at BETWEEN '2024-07-04 00:00:00' AND '2025-07-04 23:59:59.999999'
  87.     ORDER BY db_logs.created_at DESC
  88. ), db_completed_logs AS (
  89.     SELECT
  90.         *,
  91.         DATE(created_at) AS log_date,
  92.         RANK() OVER (PARTITION BY SOURCE ORDER BY created_at DESC) AS rank
  93.         FROM db_logs
  94.         WHERE db_logs.kind = 1 AND db_logs.severity = 0
  95.         AND db_logs.created_at BETWEEN '2024-07-04 00:00:00' AND '2025-07-04 23:59:59.999999'
  96.         ORDER BY db_logs.created_at DESC
  97. ), db_logs AS (
  98.     SELECT
  99.         *,
  100.         DATE(created_at) AS log_date,
  101.         RANK() OVER (PARTITION BY SOURCE ORDER BY created_at DESC) AS rank
  102.     FROM db_logs
  103.     WHERE db_logs.kind = 0 AND db_logs.severity IN (0, 1)
  104.       AND db_logs.created_at BETWEEN '2024-07-04 00:00:00' AND '2025-07-04 23:59:59.999999'
  105.     ORDER BY db_logs.created_at DESC
  106. )
  107.  
  108. SELECT
  109.     db_logs.SOURCE AS SOURCE,
  110.     CASE WHEN cl.created_at > el.created_at OR el.created_at IS NULL THEN 'finished' ELSE 'failed' END AS lastest_result,
  111.     db_logs.log_date AS log_date,
  112.     cl.created_at AS finished_at,
  113.     el.created_at AS failed_at,
  114.     CASE WHEN db_logs.severity = 0 THEN 'info' ELSE 'error' END AS kind,
  115.     CASE WHEN cl.created_at > el.created_at OR el.created_at IS NULL THEN cl.description ELSE el.description END AS description,
  116.     CASE WHEN cl.created_at > el.created_at OR el.created_at IS NULL THEN cl.metadata ELSE el.metadata END AS metadata
  117. FROM db_logs
  118. LEFT JOIN db_error_logs el ON db_logs.SOURCE = el.SOURCE AND el.rank = 1 AND el.log_date = db_logs.log_date
  119. LEFT JOIN db_completed_logs cl ON db_logs.SOURCE = cl.SOURCE AND cl.rank = 1 AND cl.log_date = db_logs.log_date
  120. WHERE db_logs.rank = 1
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement