Package-level declarations

Types

Link copied to clipboard

A dictionary that maps PostgreSQL OIDs and Kotlin classes to their corresponding TypeCodecs.

Link copied to clipboard
class ContainerFactory(typeManager: TypeManager)

A factory for creating PostgreSQL container types such as composites, ranges, and multiranges.

Link copied to clipboard

A registry managing the converters used for mapping between Kotlin objects and PostgreSQL types.

Link copied to clipboard

Global registry for managing database type registries, keyed by the physical database (host, port, database name) they belong to.

Link copied to clipboard
internal class IntObjectMap<V>

A highly optimized, primitive-key map implementation that maps primitive Int keys to object values.

Link copied to clipboard
data class PgEnumRegistration(val qualifiedName: QualifiedName, val pgConvention: CaseConvention, val kotlinConvention: CaseConvention)

What an enum was registered as: the type it stands for, and the two conventions that map one side's names onto the other's.

Link copied to clipboard
internal data class RegistryKey(val host: String, val port: Int, val database: String)

Identifies the physical database (host, port, database name) a TypeRegistry belongs to.

Link copied to clipboard

A dictionary that holds PostgreSQL types definitions and allows querying them by OID or name.

Link copied to clipboard
class TypeManager(registry: TypeRegistry, searchPathProvider: () -> List<String> = { emptyList() })

Manages the registration and resolution of PostgreSQL types, codecs, and converters.

Link copied to clipboard
internal class TypeRegistry

Registry holding the mapping of database types, data codecs, and type converters.

Link copied to clipboard
internal object TypeRegistryLoader

Utility object responsible for loading PostgreSQL type definitions from the database and populating a TypeRegistry.