public interface RoutineCallBinder
docs/designs/sp/routine-summary-scc-design.md
§2.3): the one canonical call-site binding interface. Implementations
arrive in slice B3 by adapting the existing vendor extractors (P5
literal/EXEC/USE/DBMS_SQL machinery becomes the lower layer); B0 ships the
contract only, so that B2 summary extraction and B3 application code are
written against a stable shape.
Binding rules the contract encodes (normative, from the design):
| Modifier and Type | Interface and Description |
|---|---|
static class |
RoutineCallBinder.ActualSources
The leaf sources feeding one IN/INOUT formal: zero or more source
column references (zero for a pure literal actual) plus the actual
expression text when the actual is not a bare column/variable
(the transform carrier of the fan-in rule).
|
static class |
RoutineCallBinder.BindingCompleteness
Completeness of the produced maps for a RESOLVED/EXTERNAL bind.
|
static class |
RoutineCallBinder.BindingDiagnostic
One structured diagnostic attached to a bind.
|
static class |
RoutineCallBinder.BindingDiagnosticCode
Diagnostic codes surfaced by binding (design §2.1b/§2.3).
|
static class |
RoutineCallBinder.BindingResult
Canonical result of binding one call site (design §2.3).
|
static class |
RoutineCallBinder.BindingStatus
Outcome status of a bind attempt.
|
static class |
RoutineCallBinder.CallerContext
Effective ambient context of the caller at the call site.
|
static class |
RoutineCallBinder.ResultSetMapping
Positional mapping of a consumed result set (INSERT…EXEC and friends):
ordinal position in the routine's result-set shape → target column.
|
static class |
RoutineCallBinder.WritableTarget
A validated writable lvalue receiving an OUT/INOUT/RETURN/status flow.
|
| Modifier and Type | Method and Description |
|---|---|
RoutineCallBinder.BindingResult |
bind(TCustomSqlStatement callSite,
RoutineCallBinder.CallerContext callerContext)
Resolve and bind one call site against the candidate definitions
visible to the analysis.
|
RoutineCallBinder.BindingResult bind(TCustomSqlStatement callSite, RoutineCallBinder.CallerContext callerContext)
callSite - the call statement (EXEC / CALL / function reference)callerContext - effective caller context (USE database, schema)RoutineCallBinder.BindingResult.getStatus() reports failures