fe/README.md
The Frontend (FE) is the Java layer of StarRocks that provides the SQL interface and cluster coordination. It parses and validates SQL, builds optimized query plans, manages metadata, and coordinates execution with the Backend (BE).
fe-core/
src/main/java/com/starrocks/
sql/ — Analyzer and optimizerplanner/ — Plan fragments and physical planningcatalog/ — Metadata (databases, tables, partitions, statistics)qe/ — Query execution coordination and session managementprivilege/ — Authentication and authorizationscheduler/, load/, backup/ — Scheduling, data loading, backup/restorefe/fe-type/ — Type system definitions (scalar, complex, aggregate state types)fe/fe-grammar/ — ANTLR grammars (.g4) for StarRocks SQLfe/fe-parser/ — StarRocks SQL parser and full AST definitionsfe/fe-spi/ — FE Service Provider Interfaces (contracts for connectors/plugins)fe/connector/ — Data source connector implementations and FE-side integrationfe/plugin/ — Plugin implementations extending FE core capabilities (non-data-source)fe/fe-utils/ — FE utilities and base libraries (no business logic)fe/fe-testing/ — Shared test utilities, fixtures, and mock implementationsRelated:
be/ — C++ Backend engine (execution and storage)fe/fe-grammar/ (ANTLR .g4 files).fe/fe-parser/ (package com.starrocks.sql.parser and com.starrocks.sql.ast).fe/fe-utils/ contains general-purpose helpers only; no business logic or FE internals.fe/fe-spi/.fe/fe-'xxx'/src/test/fe/fe-testing/fe/fe-grammar/fe/fe-parser/fe/fe-type/fe/fe-spi/fe/connector/fe/plugin/fe/fe-utils/fe/fe-testing/