public final class CatalogRoutineCallBinder extends Object implements RoutineCallBinder
routine-summary-scc-design.md §2.1b/§2.3): the catalog-
backed RoutineCallBinder. Resolution is a function over the
candidate DEFINITION set — never identity field-equality against a single
key — and the binding maps follow the inline engine's semantics exactly
(arch-F8: SHADOW must not diff):
PROC_CALL_OUT_TARGET_NOT_WRITABLE; summary application then
quarantines the whole non-executable call;Overload resolution in B3 is the structural subset of §2.1b: named / positional binding plus default-fill over the candidate set. The vendor type-family ranking (§2.1b step 2) arrives with the SCC slice — until then two same-name candidates that both survive arity/name binding are AMBIGUOUS, which is the conservative direction.
| Modifier and Type | Class and Description |
|---|---|
static class |
CatalogRoutineCallBinder.BoundCall
Binder output enriched with what the SHADOW composition step needs
beyond the B0 contract: the formal-position → actual-position map
(named notation makes the two diverge) and the winning candidate's
defining unit.
|
RoutineCallBinder.ActualSources, RoutineCallBinder.BindingCompleteness, RoutineCallBinder.BindingDiagnostic, RoutineCallBinder.BindingDiagnosticCode, RoutineCallBinder.BindingResult, RoutineCallBinder.BindingStatus, RoutineCallBinder.CallerContext, RoutineCallBinder.ResultSetMapping, RoutineCallBinder.WritableTarget| Constructor and Description |
|---|
CatalogRoutineCallBinder(EDbVendor vendor,
RoutineCatalog catalog) |
| Modifier and Type | Method and Description |
|---|---|
CatalogRoutineCallBinder.BoundCall |
bind(CallSiteRef site,
String callerDb)
Bind one extractor-produced call site against every definition the
catalog knows, under the caller's effective database context.
|
CatalogRoutineCallBinder.BoundCall |
bind(CallSiteRef site,
String callerDb,
RoutineIdentity callerIdentity)
Summary-composition binding with the caller signature available for
writable-lvalue validation.
|
RoutineCallBinder.BindingResult |
bind(TCustomSqlStatement callSite,
RoutineCallBinder.CallerContext callerContext)
B0 contract entry: bind a raw call statement.
|
public CatalogRoutineCallBinder(EDbVendor vendor, RoutineCatalog catalog)
public RoutineCallBinder.BindingResult bind(TCustomSqlStatement callSite, RoutineCallBinder.CallerContext callerContext)
CallSiteRef path below is the primary consumer; this entry
serves callers that hold only the AST.bind in interface RoutineCallBindercallSite - the call statement (EXEC / CALL / function reference)callerContext - effective caller context (USE database, schema)RoutineCallBinder.BindingResult.getStatus() reports failurespublic CatalogRoutineCallBinder.BoundCall bind(CallSiteRef site, String callerDb)
public CatalogRoutineCallBinder.BoundCall bind(CallSiteRef site, String callerDb, RoutineIdentity callerIdentity)