Move conversion context to connector by NinoFloris · Pull Request #6587 · npgsql/npgsql
test/Npgsql.Tests/WriteStateTests.cs
Updates parameter binding calls to pass an explicit conversion context in tests.
test/Npgsql.Benchmarks/WriteParameter.cs
Uses connector conversion context for benchmark parameter binding.
src/Npgsql/Replication/PgOutput/ReplicationValue.cs
Uses connector conversion context when resolving field types and conversion contexts.
src/Npgsql/NpgsqlParameterCollection.cs
Threads conversion context into validation-time parameter binding.
src/Npgsql/NpgsqlParameter`.cs
Passes conversion context into typed parameter binding.
src/Npgsql/NpgsqlParameter.cs
Updates
Bind/typed binding hooks to accept conversion context and flow it into concrete binding.
src/Npgsql/NpgsqlNestedDataReader.cs
Passes connector conversion context into field binding for nested reads.
src/Npgsql/NpgsqlDataSource.cs
Stops constructing serializer options with per-connector encoding/timezone; options become context-agnostic.
src/Npgsql/NpgsqlDataReader.cs
Threads connector conversion context into row description conversion-context resolution.
src/Npgsql/NpgsqlCommand.cs
Passes connector conversion context into parameter processing.
src/Npgsql/NpgsqlBinaryImporter.cs
Passes connector conversion context into binary import parameter binding.
src/Npgsql/NpgsqlBinaryExporter.cs
Passes connector conversion context into binary export field binding.
src/Npgsql/Internal/PgWriter.cs
Captures conversion context per Init and uses cached encoder when available to reduce allocations.
src/Npgsql/Internal/PgTypeInfo.cs
Probes descriptors with empty context, caches invariance flags, and re-resolves requirements when non-invariant.
src/Npgsql/Internal/PgSerializerOptions.cs
Removes TimeZone provider and shared ConversionContext from serializer options.
src/Npgsql/Internal/PgReader.cs
Sources conversion context from connector (or buffer fallback when connector-less).
src/Npgsql/Internal/PgConverter.cs
Extends PgConversionContext to carry encoder/timezone; documents invariance via ConverterDescriptor.
src/Npgsql/Internal/NpgsqlWriteBuffer.cs
Sources encoding from connector dynamically and uses connector encoder; adds fallback conversion context for connector-less buffers.
src/Npgsql/Internal/NpgsqlReadBuffer.cs
Sources encoding from connector dynamically; adds fallback conversion context for connector-less buffers.
src/Npgsql/Internal/NpgsqlConnector.FrontendMessages.cs
Binds parameters using connector conversion context when writing Bind messages.
src/Npgsql/Internal/NpgsqlConnector.cs
Adds per-connector conversion context and encoder cache; rotates them on TimeZone/client_encoding ParameterStatus changes.
src/Npgsql/Internal/Converters/RecordConverter.cs
Binds fields using the runtime reader conversion context.
src/Npgsql/Internal/Converters/CompositeConverter.cs
Resolves composite field read requirements using runtime conversion context.
src/Npgsql/Internal/Composites/Metadata/CompositeFieldInfo.cs
Re-resolves requirements for non-invariant composite fields using runtime conversion context; adjusts fast-path assumptions.
src/Npgsql/BackendMessages/RowDescriptionMessage.cs
Threads conversion context into field binding/conversion-context resolution and field-type lookup.
src/Npgsql.NodaTime/Internal/NodaTimeTypeInfoResolverFactory.cs
Stops capturing time zone at mapping creation; defers to runtime context.
src/Npgsql.NodaTime/Internal/LegacyConverters.cs
Resolves session time zone at read-time from PgConversionContext and preserves the localtime error behavior.