001package gudusoft.gsqlparser.catalog.runtime;
002
003import java.util.Map;
004
005/**
006 * Read-only view of a catalog object inside a {@link CatalogSnapshot}.
007 *
008 * <p>Plan §7.2.</p>
009 *
010 * <p>Phase 1A skeleton — implementations land in P1B (T1B.5, T1B.7).</p>
011 */
012public interface CatalogEntry {
013
014    CatalogObjectId id();
015
016    CatalogQualifiedName name();
017
018    CatalogObjectKind kind();
019
020    /** Vendor-specific extras (Iceberg snapshot id, OpenMetadata tags, etc.) until promoted. */
021    Map<String, Object> properties();
022}