001package gudusoft.gsqlparser.catalog.input;
002
003/**
004 * Controls when a {@link gudusoft.gsqlparser.catalog.runtime.CatalogProvider} fetches metadata.
005 *
006 * <p>Plan §10.1. Decision matrix:
007 * <ul>
008 *   <li>{@link #EAGER} — provider materializes everything at {@code open()}; tests, small catalogs.</li>
009 *   <li>{@link #LAZY} — provider materializes nothing; on-miss fetch per {@code CatalogQuery}.</li>
010 *   <li>{@link #AUTO} — eager up to {@code maxEagerObjects}, then lazy; live providers.</li>
011 * </ul>
012 *
013 * <p>Phase 1A skeleton — used as parameter type by Phase 1B+ implementations.</p>
014 */
015public enum CatalogLoadingMode {
016    EAGER,
017    LAZY,
018    AUTO
019}