{
  "license": "CC BY 4.0",
  "recipe": {
    "slug": "database-errors-by-sqlstate-release",
    "title": "Analyze Database Errors by SQLSTATE and Release",
    "testedWith": "Apache DataFusion 45.2.0",
    "lastReviewed": "2026-07-28"
  },
  "contract": {
    "tableName": "database_error_events",
    "schema": [
      {
        "name": "timestamp_utc",
        "type": "Timestamp",
        "description": "Database failure time."
      },
      {
        "name": "database_system",
        "type": "Utf8",
        "description": "Database system."
      },
      {
        "name": "operation_name",
        "type": "Utf8",
        "description": "Controlled application operation."
      },
      {
        "name": "sqlstate",
        "type": "Utf8",
        "description": "Portable SQLSTATE code when available."
      },
      {
        "name": "release",
        "type": "Utf8",
        "description": "Application release."
      },
      {
        "name": "request_id",
        "type": "Utf8",
        "description": "Safe parent request identifier."
      }
    ]
  },
  "query": "SELECT\n  database_system,\n  release,\n  operation_name,\n  sqlstate,\n  COUNT(*) AS failures,\n  COUNT(DISTINCT request_id) AS affected_requests\nFROM database_error_events\nWHERE timestamp_utc >= now() - INTERVAL '7 days'\nGROUP BY database_system, release, operation_name, sqlstate\nORDER BY failures DESC, affected_requests DESC;",
  "fixtureKind": "schema-example",
  "inputRows": [
    {
      "timestamp_utc": "2026-07-28T10:00:00Z",
      "database_system": "database_system_example_1",
      "operation_name": "operation_name_example_1",
      "sqlstate": "sqlstate_example_1",
      "release": "release_2026_07_1",
      "request_id": "request_id_example_1"
    },
    {
      "timestamp_utc": "2026-07-28T11:00:00Z",
      "database_system": "database_system_example_2",
      "operation_name": "operation_name_example_2",
      "sqlstate": "sqlstate_example_2",
      "release": "release_2026_07_2",
      "request_id": "request_id_example_2"
    },
    {
      "timestamp_utc": "2026-07-28T12:00:00Z",
      "database_system": "database_system_example_3",
      "operation_name": "operation_name_example_3",
      "sqlstate": "sqlstate_example_3",
      "release": "release_2026_07_3",
      "request_id": "request_id_example_3"
    }
  ],
  "illustrativeInputRows": [
    {
      "timestamp_utc": "2026-07-28T10:00:00Z",
      "database_system": "database_system_example_1",
      "operation_name": "operation_name_example_1",
      "sqlstate": "sqlstate_example_1",
      "release": "release_2026_07_1",
      "request_id": "request_id_example_1"
    },
    {
      "timestamp_utc": "2026-07-28T11:00:00Z",
      "database_system": "database_system_example_2",
      "operation_name": "operation_name_example_2",
      "sqlstate": "sqlstate_example_2",
      "release": "release_2026_07_2",
      "request_id": "request_id_example_2"
    },
    {
      "timestamp_utc": "2026-07-28T12:00:00Z",
      "database_system": "database_system_example_3",
      "operation_name": "operation_name_example_3",
      "sqlstate": "sqlstate_example_3",
      "release": "release_2026_07_3",
      "request_id": "request_id_example_3"
    }
  ],
  "expectedOutput": {
    "columns": [
      "database_system",
      "release",
      "operation_name",
      "sqlstate",
      "failures",
      "affected_requests"
    ],
    "rows": [
      {
        "database_system": "postgresql",
        "release": "api-88",
        "operation_name": "checkout",
        "sqlstate": "40001",
        "failures": 184,
        "affected_requests": 176
      },
      {
        "database_system": "postgresql",
        "release": "api-88",
        "operation_name": "project-create",
        "sqlstate": "23505",
        "failures": 62,
        "affected_requests": 62
      }
    ]
  },
  "notes": [
    "The compact input rows demonstrate field names and JSON types; they are not claimed to generate the displayed aggregate by themselves.",
    "The expected output is deterministic synthetic review data for the documented output shape.",
    "Adapt time windows, thresholds, identities, and business definitions before operational use."
  ]
}