DorisSQL: add Doris Dialect
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 35/100
Línea de trabajo
Comienza con el esqueleto planificado del PR 1 para el dialecto de Doris y la limpieza del AST de AUTO_INCREMENT; después, sigue el plan de implementación apilado hasta las cláusulas de CREATE TABLE y las sentencias de carga de Doris. Se considera terminado cuando estén cubiertos el AST específico de Doris, los campos de CreateTable, el soporte de Display y span, las pruebas positivas y de rechazo del parser, las aserciones del AST, el renderizado de ida y vuelta y los casos de escape de comentarios.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Doris SQL: Support Doris Dialect
Summary
Add Doris SQL dialect, covering the core Doris syntax needed to parse common Doris DDL and load statements.
Motivation
Apache Doris has SQL syntax that differs from the generic SQL dialect, especially around CREATE TABLE clauses, key models, partition/distribution definitions, table properties, and Doris-specific load statements. A dedicated DorisDialect would let users parse Doris SQL without weakening generic parser behavior.
Proposed Scope
- Add
DorisDialect - Support Doris
CREATE TABLEclauses:ENGINE = OLAPDUPLICATE KEY,UNIQUE KEY,AGGREGATE KEY- table
COMMENT PARTITION BY RANGE/LISTAUTO PARTITIONDISTRIBUTED BY HASH/RANDOMBUCKETS/BUCKETS AUTOPROPERTIES (...)
- Support Doris column options such as
AUTO_INCREMENT - Support Doris
LOAD DATA INFILE - Support Doris
CREATE ROUTINE LOAD - Preserve generic dialect behavior where Doris-only syntax should remain rejected
Parser / AST Changes
- Add Doris-specific AST structures for key model, partition, distribution, table properties, and load statements
- Extend
CreateTablewith optional Doris-specific fields - Add
Displaysupport for canonical SQL rendering - Add span support for newly introduced AST nodes where applicable
Tests
Add Doris parser tests covering:
- Positive Doris parsing cases
- Generic/ANSI rejection cases for Doris-only syntax
- AST structure assertions
- Round-trip canonical rendering
- Escaping behavior for table comments containing single quotes
Implementation Plan
This feature is delivered as a stacked PR series. Each PR builds on the previous one.
- PR 1: Doris dialect skeleton + AUTO_INCREMENT AST cleanup
- PR 2: CREATE TABLE column options
- PR 3: CREATE TABLE key model and distribution
- PR 4: CREATE TABLE partition clauses + ON UPDATE + double-quoted COMMENT
- PR 5: LOAD DATA INFILE
- PR 6: CREATE ROUTINE LOAD
- Lenguaje dominante
- Rust
- Estrellas
- 3.5k
- Forks
- 774
- Merge medio
- 3 d 4 h
- PR fusionados (30 d)
- 19
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de apache/datafusion-sqlparser-rs
-
Dificultad 2/5 1-2 días Aptitud para principiantes 72/100
apache/datafusion-sqlparser-rs#2495 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
apache/datafusion-sqlparser-rs#2461 · 2 comentarios ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 73/100
apache/datafusion-sqlparser-rs#2407 ·
-
Add SQL/PGQ keywords Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
apache/datafusion-sqlparser-rs#2393 ·
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
apache/datafusion-sqlparser-rs#2390 · 1 comentario ·
Todos los issues de apache/datafusion-sqlparser-rs
Issues similares
-
has_tail_capacity wraps and get_writable_raw_unchecked commits raw_len before the bounds check Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
stratum-mining/stratum#2404 ·
-
bug ci good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
-
documentation easy help wanted
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
lacs-project/sysknife#483 · 1 comentario ·
-
area:evidence documentation
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100
registrystack/registry-stack#1302 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100