UNPKG

flink-sql-language-server

Version:

A LSP-based language server for Apache Flink SQL

63 lines (62 loc) 2.14 kB
import { CatalogContext, DatabaseContext, DereferenceContext, ModelContext, TableContext, ViewContext } from '../lib/FlinkSQLParser'; import { FlinkSQLParserListener } from '../lib/FlinkSQLParserListener'; export declare enum SchemaContextKindEnum { VIEW = "view", CATALOG = "catalog", DATABASE = "database", TABLE = "table", MODEL = "model", COLUMN = "column" } interface SchemaBaseContext { kind: SchemaContextKindEnum; text: string; startOffset: number; endOffset: number; } export interface SchemaCatalogContext extends SchemaBaseContext { kind: SchemaContextKindEnum.CATALOG; catalogName: string; } export interface SchemaDatabaseContext extends SchemaBaseContext { kind: SchemaContextKindEnum.DATABASE; catalogName?: string; databaseName: string; } export interface SchemaTableContext extends SchemaBaseContext { kind: SchemaContextKindEnum.TABLE; catalogName?: string; databaseName?: string; tableName: string; } export interface SchemaColumnContext extends SchemaBaseContext { kind: SchemaContextKindEnum.COLUMN; catalogName?: string; databaseName?: string; tableName?: string; columnName: string; } export interface SchemaViewContext extends SchemaBaseContext { kind: SchemaContextKindEnum.VIEW; catalogName?: string; databaseName?: string; viewName: string; } export interface SchemaModelContext extends SchemaBaseContext { kind: SchemaContextKindEnum.MODEL; catalogName?: string; databaseName?: string; modelName: string; } export type SchemaContext = SchemaCatalogContext | SchemaDatabaseContext | SchemaTableContext | SchemaViewContext | SchemaModelContext | SchemaColumnContext; export declare class SchemaListener implements FlinkSQLParserListener { private _schemaContexts; getSchemaContexts(): SchemaContext[]; enterView(ctx: ViewContext): void; enterCatalog(ctx: CatalogContext): void; enterDatabase(ctx: DatabaseContext): void; enterTable(ctx: TableContext): void; enterModel(ctx: ModelContext): void; enterDereference(ctx: DereferenceContext): void; } export {};