Skip to content

fix(introspection,stream,runtime): char i8 decoding + binary stream +… - #3

Merged
sandy-sachin7 merged 1 commit into
mainfrom
feat/app-runtime-wiring
Aug 31, 2026
Merged

fix(introspection,stream,runtime): char i8 decoding + binary stream +…#3
sandy-sachin7 merged 1 commit into
mainfrom
feat/app-runtime-wiring

Conversation

@sandy-sachin7

Copy link
Copy Markdown
Owner

… C gate integration

introspection: fetch_relations/columns/pk/functions prokind/relkind/ contype/attgenerated now try_get i8 before String fallback; fixes 'error deserializing column 3' on postgres:16 char("char") columns.

results/stream: drive_stream binary-safe — try_get typed bool/i16/i32/i64/f32/f64/bytea via try_get before text &str fallback; prevents panic on SELECT 1 (int4 oid 23 binary) and restores C8 decode.

runtime: Connect load_connection_config+resolve_password behind spawn_blocking (no tokio worker block); Cancel never falls back to NoTls on TLS config error — poison session instead (C1).

tests: add crates/app/tests/integration_c_slice.rs — real PG16 via testcontainers (or TEST_PG_URL): connect_live -> introspect (non-empty) -> SELECT 1 int4 typed -> 100-row fixture -> history insert/search -> cancel token + reuse; verifies AppCommand->PG-> stream->store->AppEvent boundary.

Co-authored-by: internal-model

… C gate integration

introspection: fetch_relations/columns/pk/functions prokind/relkind/
contype/attgenerated now try_get i8 before String fallback; fixes
'error deserializing column 3' on postgres:16 char("char") columns.

results/stream: drive_stream binary-safe — try_get typed
bool/i16/i32/i64/f32/f64/bytea via try_get before text &str fallback;
prevents panic on SELECT 1 (int4 oid 23 binary) and restores C8 decode.

runtime: Connect load_connection_config+resolve_password behind
spawn_blocking (no tokio worker block); Cancel never falls back to
NoTls on TLS config error — poison session instead (C1).

tests: add crates/app/tests/integration_c_slice.rs — real PG16
via testcontainers (or TEST_PG_URL): connect_live -> introspect
(non-empty) -> SELECT 1 int4 typed -> 100-row fixture -> history
insert/search -> cancel token + reuse; verifies AppCommand->PG->
stream->store->AppEvent boundary.

Co-authored-by: internal-model
@sandy-sachin7
sandy-sachin7 merged commit d2451bf into main Aug 31, 2026
1 check passed
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.

1 participant