Interface ICatalogProvider

All Known Implementing Classes:
CatalogStoreProvider, LegacyCatalogProvider

public interface ICatalogProvider
Catalog 提供者接口(解耦 TSQLEnv 与具体实现)

此接口将 Catalog 存储与检索抽象化,支持多种实现:

  • LegacyCatalogProvider: 兼容旧实现(catalogList)
  • CatalogStoreProvider: 新实现(CatalogStore)
  • DatabaseCatalogProvider: 外部数据库持久化
  • CachedCatalogProvider: Redis/Memcached 缓存
Since:
3.2.0 (Phase 0)
  • Method Details

    • getCatalog

      获取 catalog(不存在返回 null)
      Parameters:
      catalogName - catalog 名称
      Returns:
      catalog 实例,未找到返回 null
    • createCatalog

      创建 catalog(已存在则返回现有)
      Parameters:
      catalogName - catalog 名称
      Returns:
      catalog 实例
    • getAllCatalogs

      获取所有 catalog
      Returns:
      catalog 列表
    • getDefaultCatalogName

      获取默认 catalog 名称
      Returns:
      默认 catalog 名称
    • setDefaultCatalogName

      设置默认 catalog 名称
      Parameters:
      name - 默认 catalog 名称
    • findObject

      TSQLSchemaObject findObject(String catalog, String schema, String objectName, ESQLDataObjectType type)
      查找 schema 对象(全限定名查找)
      Parameters:
      catalog - catalog 名称
      schema - schema 名称
      objectName - 对象名称
      type - 对象类型
      Returns:
      schema 对象,未找到返回 null
    • addObject

      添加 schema 对象
      Parameters:
      object - schema 对象
    • removeObject

      boolean removeObject(TSQLSchemaObject object)
      移除 schema 对象
      Parameters:
      object - schema 对象
      Returns:
      true 如果移除成功
    • clear

      void clear()
      清空所有对象
    • size

      int size()
      获取对象总数
      Returns:
      对象总数