The Postgres source connector has two nearly identical functions for extracting column values from a PgRow:
extract_column_value (method on PostgresSource, line ~1314) used by the sequential path
extract_column_value_static (free function, line ~1903) used by the parallel/chunked path
These handle different sets of Postgres types. The static version handles NUMERIC, DATE, and BPCHAR. The method version does not. Any bug fix or new type added to one will silently not apply to the other.
During the benchmark, fixing NUMERIC and DATE handling in the static version left the method version still broken for those types.
Fix: Delete one, keep a single free function, call it from both code paths.
The Postgres source connector has two nearly identical functions for extracting column values from a
PgRow:extract_column_value(method onPostgresSource, line ~1314) used by the sequential pathextract_column_value_static(free function, line ~1903) used by the parallel/chunked pathThese handle different sets of Postgres types. The static version handles
NUMERIC,DATE, andBPCHAR. The method version does not. Any bug fix or new type added to one will silently not apply to the other.During the benchmark, fixing
NUMERICandDATEhandling in the static version left the method version still broken for those types.Fix: Delete one, keep a single free function, call it from both code paths.