Split `src/parser/mod.rs` and `src/ast/mod.rs` into smaller modules
Mantenedores costumam responder em até 2 dias
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 5/5
- Tempo estimado
- Mais de uma semana
- Facilidade para iniciantes
- 38/100
- Tipo de issue
- Refatoração
- Clareza
- Razoavelmente clara
- Status de atividade
- Ativa
- Domínio
- build-system, compilers
Direção de pesquisa
Start by reading src/parser/mod.rs and src/ast/mod.rs, then review the discussion in #944 and #1581 for the agreed boundaries and sequencing. The work should be divided into small pure-move PRs, with a CI script checking that each move is complete and contains no unintended changes; completion means both large modules are split without behavioral changes.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Several source files have grown past the point where navigating them is practical, with the parser mod at over 20k and the ast mod at over 10k.
This has come up before. #944 (2023, still open) proposed one parser file per statement, and #1581 (2024) split the whole parser in one draft PR. Both got agreement on the goal, conditioned on a series of small pure-move PRs. The earlier one-shot attempts #344 and #351 (2021) stalled on reviewer bandwidth, with concerns about conflicts with open PRs and about coupled code being easier to read in one file.
I suggest we try to do this before the next release, currently roughly planned for end of October (https://github.com/apache/datafusion-sqlparser-rs/issues/2454), as a series of pure move PRs. I believe that, given the size of the task, it may be desirable to:
- Do this operation in single, reasonably sized PRs
- Prepare BEFORE a script for the CI that checks that the move is actually a move, and it is complete
If agreed, this supersedes #944.
- Linguagem predominante
- Rust
- Estrelas
- 3.5k
- Forks
- 774
- Merge médio
- 4d 23min
- PRs com merge (30d)
- 55
Preparar o ambiente
Ainda não verificamos os arquivos de configuração deste projeto. Comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de apache/datafusion-sqlparser-rs
-
Hive
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 70/100
apache/datafusion-sqlparser-rs#2589 ·
Mantenedores costumam responder em até 2 dias
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
apache/datafusion-sqlparser-rs#2461 · 2 comentários ·
Mantenedores costumam responder em até 2 dias
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 73/100
apache/datafusion-sqlparser-rs#2407 ·
Mantenedores costumam responder em até 2 dias
-
Add SQL/PGQ keywordsAberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 65/100
apache/datafusion-sqlparser-rs#2393 ·
Mantenedores costumam responder em até 2 dias
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 88/100
apache/datafusion-sqlparser-rs#2390 · 1 comentário ·
Mantenedores costumam responder em até 2 dias
Todas as issues de apache/datafusion-sqlparser-rs
Issues semelhantes
-
`sysknife history --help` says --since takes ISO-8601, and the parser refuses offsets and bare datesAbertabug easy good first issue help wanted
Dificuldade 1/5 1-3 horas Facilidade para iniciantes 94/100
lacs-project/sysknife#519 ·
Mantenedores costumam responder em até 1 dia
-
enhancement
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 72/100
-
area:breg bug criticality:p3 triage:needs-implementation
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
registrystack/registry-stack#1699 ·
Mantenedores costumam responder em até 1 dia
-
documentation
Dificuldade 1/5 1-3 horas Facilidade para iniciantes 84/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 88/100
lbjlaq/Antigravity-Manager#3539 · 2 comentários ·
Mantenedores costumam responder em até 1 dia