Skip to content

Improve test coverage for clickhouse package (best covered but gaps remain) #22

@BrewingCoder

Description

@BrewingCoder

Area

Backend — Database / Migrations

Category

Test coverage

Description

The clickhouse package has the best test coverage in the backend (~2,450 lines of tests) but still has significant gaps in the 7,800+ LOC codebase.

Coverage gaps:

  1. Query builder SQL generation with complex filters — limited edge case testing
  2. Sampling table selection logic (>20M row threshold)
  3. Write operations (batch insert correctness for all 5 data streams)
  4. Connection failover (read-only connection fallback)
  5. Migration idempotency verification

Structural concerns:

  • query.go is 2,181 lines — largest file in the backend. Should be split by data stream.
  • 146 migrations with no rollback testing
  • Timestamp precision mismatch: logs (seconds) vs traces (nanoseconds)

See src/backend/clickhouse/MODULE.md for full analysis.

Affected Files / Packages

src/backend/clickhouse/query.go (2,181 lines — needs splitting)
src/backend/clickhouse/sessions.go (943 lines)
src/backend/clickhouse/errors.go (881 lines)
src/backend/clickhouse/traces.go (678 lines)
src/backend/clickhouse/logs.go (516 lines)
+ 11 more implementation files

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions