Record Class SystemRelationSymbol
- Record Components:
namespace- always"relix"; must not be blankdeclaredName- the catalog name (e.g."relations"); must not be blankprovenance- alwaysProvenance.BUILTIN; must not be nullshadowPolicy-ShadowPolicy.FORBIDDENfor fixed-extent catalogs;ShadowPolicy.PERMITTEDfor placeholder-then-fill; must not be nullschema- the structural description of the relation; must not be nullrows- the catalog row data; must not be null (may be empty for placeholders awaiting their post-inference fill)
- All Implemented Interfaces:
RelationSymbol,Symbol
relix.* namespace.
System catalog relations represent the engine's self-description (the
information_schema analogue).
They are always Provenance.BUILTIN; unlike
InlineRelationSymbol — which stores user-declared inline data — this
type signals that the rows are engine-computed and the relation is
structurally read-only. Callers pattern-matching on RelationSymbol
can distinguish catalog relations from user-declared inline data by type alone.
Catalog relations are registered by CatalogBuilder in the
relix namespace. Those whose extents depend on inferred view schemas
(relix.columns, relix.plan) use the placeholder-then-fill
pattern: they are registered with an empty rows list before schema
inference and re-registered with the real extent after; the placeholder
registration uses ShadowPolicy.PERMITTED to allow the overwrite.
Both the outer row list and each inner map are defensive-copied on construction.
-
Constructor Summary
ConstructorsConstructorDescriptionSystemRelationSymbol(String namespace, String declaredName, Provenance provenance, ShadowPolicy shadowPolicy, Schema schema, List<Map<String, Operand>> rows) Creates an instance of aSystemRelationSymbolrecord class. -
Method Summary
Modifier and TypeMethodDescriptionReturns the value of thedeclaredNamerecord component.final booleanIndicates whether some other object is "equal to" this one.final inthashCode()Returns a hash code value for this object.Returns the value of thenamespacerecord component.Returns the value of theprovenancerecord component.rows()Returns the value of therowsrecord component.schema()Returns the value of theschemarecord component.Returns the value of theshadowPolicyrecord component.final StringtoString()Returns a string representation of this record class.Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface com.darkcollective.relix.symbol.Symbol
canonicalName
-
Constructor Details
-
SystemRelationSymbol
public SystemRelationSymbol(String namespace, String declaredName, Provenance provenance, ShadowPolicy shadowPolicy, Schema schema, List<Map<String, Operand>> rows) Creates an instance of aSystemRelationSymbolrecord class.- Parameters:
namespace- the value for thenamespacerecord componentdeclaredName- the value for thedeclaredNamerecord componentprovenance- the value for theprovenancerecord componentshadowPolicy- the value for theshadowPolicyrecord componentschema- the value for theschemarecord componentrows- the value for therowsrecord component
-
-
Method Details
-
toString
Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components. -
hashCode
public final int hashCode()Returns a hash code value for this object. The value is derived from the hash code of each of the record components. -
equals
Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. All components in this record class are compared withObjects::equals(Object,Object). -
namespace
Returns the value of thenamespacerecord component. -
declaredName
Returns the value of thedeclaredNamerecord component.- Specified by:
declaredNamein interfaceSymbol- Returns:
- the value of the
declaredNamerecord component
-
provenance
Returns the value of theprovenancerecord component.- Specified by:
provenancein interfaceSymbol- Returns:
- the value of the
provenancerecord component
-
shadowPolicy
Returns the value of theshadowPolicyrecord component.- Specified by:
shadowPolicyin interfaceSymbol- Returns:
- the value of the
shadowPolicyrecord component
-
schema
Returns the value of theschemarecord component.- Specified by:
schemain interfaceRelationSymbol- Returns:
- the value of the
schemarecord component
-
rows
Returns the value of therowsrecord component.- Returns:
- the value of the
rowsrecord component
-