pgdesign v0.26.0 /internal/extregistry
On this page

Package extregistry implements the PostgreSQL extension capability registry, mapping extension names to the types, opclasses, functions, and DDL names they provide.

#internal/extregistry

#internal/extregistry

Package extregistry implements the PostgreSQL extension capability registry, mapping extension names to the types, opclasses, and functions they provide.

#Extension

Go go
type Extension struct

Extension describes what a PostgreSQL extension provides.

#Registry

Go go
type Registry struct

Registry holds extensions and reverse-lookup maps.

#UserExtension

Go go
type UserExtension struct

UserExtension represents a user-defined extension from pgdesign.toml config.

#NewBuiltinRegistry

Go go
func NewBuiltinRegistry() *Registry

NewBuiltinRegistry returns a registry pre-loaded with common PostgreSQL extensions.

#NewRegistry

Go go
func NewRegistry() *Registry

NewRegistry creates an empty registry.

#Registry.Register

Go go
func (r *Registry) Register(ext *Extension)

Register adds an extension to the registry and builds reverse maps.

#Registry.ResolveDDLName

Go go
func (r *Registry) ResolveDDLName(name string) string

ResolveDDLName returns the PostgreSQL extension name to use in CREATE EXTENSION statements. Three-tier fallback: - If extension found and ext.DDLName non-empty, return ext.DDLName - If extension found and ext.DDLName empty, return ext.Name - If extension not found (user-defined), return input name as-is

#Registry.RequiredExtension

Go go
func (r *Registry) RequiredExtension(opclass string) (string, bool)

RequiredExtension returns which extension provides the given opclass.

#Registry.RequiredExtensionForType

Go go
func (r *Registry) RequiredExtensionForType(typeName string) (string, bool)

RequiredExtensionForType returns which extension provides the given type.

#Registry.RequiredExtensionForFunction

Go go
func (r *Registry) RequiredExtensionForFunction(funcName string) (string, bool)

RequiredExtensionForFunction returns which extension provides the given function.

#Registry.RequiredExtensionForMethod

Go go
func (r *Registry) RequiredExtensionForMethod(method string) (string, bool)

RequiredExtensionForMethod returns which extension provides the given index method.

#Registry.ValidIndexParams

Go go
func (r *Registry) ValidIndexParams(method string) ([]string, bool)

ValidIndexParams returns the valid WITH parameter names for an index method. Returns (nil, false) if the method is not registered.

#Registry.LoadUserExtensions

Go go
func (r *Registry) LoadUserExtensions(exts []UserExtension)

LoadUserExtensions adds user-defined extensions to the registry.

Search