Selecto.Schema.ParameterizedJoin
(Selecto v0.4.5)
Copy Markdown
Processing and configuration for parameterized joins.
This module handles the creation and management of parameterized joins, including parameter validation, SQL generation context, and join condition resolution.
Summary
Functions
Build parameter context map for SQL template resolution.
Build parameter signature string for caching and identification.
Update join configuration to include parameterized context.
Process a parameterized join configuration by validating parameters and building context.
Resolve parameterized join condition by replacing parameter placeholders.
Validate provided parameters against parameter definitions from join configuration.
Types
@type parameterized_join_config() :: %{ base_config: map(), parameters: [validated_parameter()], parameter_context: map(), join_condition: String.t() | nil, parameter_signature: String.t() }
Functions
@spec build_parameter_context([validated_parameter()]) :: map()
Build parameter context map for SQL template resolution.
@spec build_parameter_signature([ Selecto.FieldResolver.ParameterizedParser.parameter() ]) :: String.t()
Build parameter signature string for caching and identification.
@spec enhance_join_with_parameters(map(), parameterized_join_config()) :: map()
Update join configuration to include parameterized context.
@spec process_parameterized_join( join_id :: atom(), join_config :: map(), parameters :: [Selecto.FieldResolver.ParameterizedParser.parameter()], parent :: atom(), from_source :: module(), queryable :: map() ) :: parameterized_join_config()
Process a parameterized join configuration by validating parameters and building context.
@spec resolve_parameterized_condition(map(), [validated_parameter()]) :: String.t() | nil
Resolve parameterized join condition by replacing parameter placeholders.
@spec validate_parameters([parameter_definition()], [ Selecto.FieldResolver.ParameterizedParser.parameter() ]) :: [validated_parameter()]
Validate provided parameters against parameter definitions from join configuration.