Skip to content

Support tables outside the public schema - #142

Merged
lukashes merged 3 commits into
mainfrom
feat/multi-schema
Aug 3, 2026
Merged

Support tables outside the public schema#142
lukashes merged 3 commits into
mainfrom
feat/multi-schema

Conversation

@lukashes

@lukashes lukashes commented Aug 3, 2026

Copy link
Copy Markdown
Owner

Closes #50.

Streams could only target the public schema: startup validation hardcoded it and matchStreams dropped any change from another schema, even when the table name collided.

  • resource is a fully-qualified name (schema.table) end to end. The Postgres converter emits it and matchStreams compares it as an opaque string, so routing stays source-agnostic (no schema concept in the domain).
  • The config accepts a bare name and normalizes it to public.<name>; write schema.table to target another schema.
  • Breaking (message format): meta.schema is removed and meta.resource now carries the qualified name (public.users, was users). v0, noted in the changelog.

@github-actions

github-actions Bot commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

📊 Benchmark Results

Current run is the minimum over 3 passes, compared against the base branch (main @ eea6c0c), built on the same runner.

Benchmark Baseline Current Δ Time Allocs Status
Converter DELETE 134.56μs 152.31μs +13.2% 14 → 13 🔴 slower
Converter INSERT 135.21μs 152.60μs +12.9% 14 → 13 🔴 slower
Converter UPDATE 183.82μs 184.47μs +0.3% 23 → 22 ➡️
JsonSerializer 53.44μs 53.72μs +0.5% 3 → 3 ➡️
KafkaProducer produce 211.82μs 202.49μs -4.4% 1 → 1 ➡️
KafkaProducer send 257.42μs 257.44μs +0.0% 0 → 0 ➡️
PgOutputDecoder 94.37μs 102.89μs +9.0% 6 → 6 🔴 slower
getPartitionKeyValue boolean 17.54μs 16.80μs -4.2% 1 → 1 ➡️
getPartitionKeyValue integer 0.04μs 0.04μs +0.0% 0 → 0 ⚪ noise
getPartitionKeyValue not found 0.04μs 0.04μs +0.0% 0 → 0 ⚪ noise
getPartitionKeyValue string 19.00μs 18.84μs -0.8% 1 → 1 ➡️
matchStreams found 19.14μs 18.96μs -0.9% 1 → 1 ➡️
matchStreams not found 0.06μs 0.06μs -3.4% 0 → 0 ⚪ noise

Summary: ➡️ 7 neutral · 🔴 3 slower · ⚪ 3 ignored (sub-μs)

Thresholds: <1μs ignore · 1–20μs 15% · 20–50μs 10% · ≥50μs 5%. Measured on a shared CI runner — treat small deltas as noise. Informational only; this check never fails the build.

@lukashes

lukashes commented Aug 3, 2026

Copy link
Copy Markdown
Owner Author

/bench

1 similar comment
@lukashes

lukashes commented Aug 3, 2026

Copy link
Copy Markdown
Owner Author

/bench

@lukashes

lukashes commented Aug 3, 2026

Copy link
Copy Markdown
Owner Author

/bench

@lukashes
lukashes merged commit b041d9c into main Aug 3, 2026
6 checks passed
@lukashes
lukashes deleted the feat/multi-schema branch August 3, 2026 16:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support tables outside the public schema

1 participant