Documentation
¶
Overview ¶
Package rlcatalog adapts the Record Layer's `RecordMetaData` into the `semantic.Catalog` interface. Isolated in a sub-package so the core semantic package stays free of a recordlayer dependency — callers that want the adapter import this package explicitly.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewAnalyzer ¶
func NewAnalyzer(md *recordlayer.RecordMetaData, caseSensitive bool) *semantic.Analyzer
NewAnalyzer is the end-user convenience: given a RecordMetaData and a case-sensitivity flag, wire up a ready-to-use semantic.Analyzer. Saves callers a Wrap() + NewAnalyzer() boilerplate pair.
func Wrap ¶
func Wrap(md *recordlayer.RecordMetaData) semantic.Catalog
Wrap adapts a *RecordMetaData to the semantic.Catalog interface. Returns a Catalog that looks up tables by name against md.RecordTypes(). Nil metadata → empty catalog (every lookup returns false; matches the "no schema yet" stub case).
Pre-builds a folded-name index at construction so LookupTable is O(1) instead of scanning all record types every call. RecordMetaData is effectively immutable post-Build (callers re-wrap on rebuild), so caching is safe.
Types ¶
This section is empty.