Open Source
Trino Monaco SQL Editor
Trino를 위한 Monaco 기반 React SQL 에디터 컴포넌트입니다. ANTLR 문법 분석과 라이브 클러스터 메타데이터로 IDE 수준의 SQL 편집 경험을 제공합니다.
MIT License · Open SourceGitHub 저장소
브라우저 편집과 Trino 실행
Monaco 편집, 워커의 문법 분석, 메타데이터 조회, 호스트가 연결한 쿼리 실행을 서로 다른 역할로 구성합니다.

- 1.React에서 SQL 편집
- TrinoEditor가 Monaco·Monarch에 Trino 언어, 키워드, 테마를 등록하고 문서·커서·실행 콜백을 연결합니다.
- 2.워커에서 문법 분석
- contextAware를 켜면 Comlink Web Worker가 ANTLR 파서와 antlr4-c3로 커서 문맥·별칭·문법 오류 위치를 분석합니다.
- 3.라이브 메타데이터 조회
- 메인 스레드의 프로바이더가 SHOW 쿼리로 카탈로그·스키마·테이블·컬럼을 조회합니다. 기본 5분 캐시를 사용하고 후보를 자동 완성 목록에 합칩니다.
- 4.호스트를 통해 실행
- onRunQuery에 연결한 쿼리 러너가 Trino statement API를 호출합니다. POST 이후 nextUri를 GET으로 따라가고, 호스트의 결과 UI가 데이터 페이지를 표시합니다.
contextAware의 기본값은 false입니다. 운영용 백엔드·인증·결과 UI는 호스트 앱의 연동 영역이며, 브라우저 워커는 SQL을 분석하고 Trino가 쿼리를 실행합니다.
GitHub 문서·코드 확인자동 완성에서 결과 조회까지
입력한 별칭에 맞는 컬럼 후보를 찾고, 문법을 확인한 뒤 명시적인 실행 동작으로 결과 페이지를 받습니다.

- 1.입력과 커서 문맥 파악
- SELECT o. FROM iceberg.sales.orders o 같은 문장에서 워커가 o. 위치의 컬럼 문맥과 o가 가리키는 테이블을 파악합니다.
- 2.해당 컬럼 조회
- 캐시가 있으면 재사용하고, 없으면 SHOW COLUMNS로 orders 테이블의 컬럼 이름·타입을 조회합니다. 연결은 호스트의 프록시·인증 설정을 따릅니다.
- 3.후보와 문법 오류 표시
- Monaco가 메타데이터와 문법 기반 후보를 합쳐 표시합니다. 입력 후 250ms 대기로 문법을 검사하며, 이는 실행 성공이나 의미적 정확성 검증과는 다릅니다.
- 4.실행과 결과 페이지 수신
- Ctrl/Cmd+Enter가 선택한 SQL 또는 전체 문서를 호스트에 전달합니다. 쿼리 러너는 POST와 nextUri GET으로 결과를 받고 AbortSignal에 따라 취소를 시도합니다.
자동 완성을 위한 SHOW 조회와 사용자가 작성한 SQL의 실행은 별개입니다. 실행·Explain은 호스트 콜백이며, 실행 중 취소는 활성 URI에 대한 DELETE를 시도합니다.
GitHub 문서·코드 확인편집 기능과 연동 구성
기본 편집 도구에 문맥 분석을 활성화하고 앱을 통해 메타데이터와 쿼리 실행을 연결합니다.

- 1.기본 편집
- 구문 강조·자동 완성·포맷·라이트/다크 테마를 사용합니다.
- 2.SQL 언어 지원
- 워커 기반 문법 분석과 문맥별 후보를 활성화합니다.
- 3.메타데이터
- 비동기 프로바이더와 캐시를 갖춘 SHOW 조회를 연결합니다.
- 4.실행
- Run·Explain 콜백을 연결하고 호스트 앱에 결과를 표시합니다.
contextAware는 선택 기능입니다. 워커는 SQL을 파싱하고 Trino가 실행합니다. 운영 백엔드와 결과 화면은 앱에서 구성합니다.
GitHub 문서·코드 확인