PostgreSQL: support 2PC (`PREPARE TRANSACTION` / `COMMIT PREPARED` / `ROLLBACK PREPARED`)

Aberta
#2,878 0 comentários 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 1 dia

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
4/5
Tempo estimado
3-5 dias
Facilidade para iniciantes
57/100
Tipo de issue
Funcionalidade
Clareza
Razoavelmente clara
Status de atividade
Ativa
Stack de tecnologia
rust, sql
Domínio
backend, database

Direção de pesquisa

Start in mod.rs near line 20092 and inspect Statement::Prepare and parse_commit to follow how statement variants and PostgreSQL syntax are parsed. Add support for the three named 2PC forms, then check the parser tests for corresponding AST output; the issue points to prepared_xacts (isolation) in pg_regress as a coverage reference. Done means all three forms produce the expected statement variants.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

PostgreSQL

Dialect: PostgreSQL

Statement

PREPARE TRANSACTION 's1';
COMMIT PREPARED 's1';

Current behavior: Statement::Prepare models SQL-level PREPARE name AS ...; the 2PC transaction forms have no production.

Expected AST: Statement::PrepareTransaction, Statement::CommitPrepared, Statement::RollbackPrepared.

0.63.0 anchor: mod.rs:20092 (Prepare), parse_commit

pg_regress coverage: prepared_xacts (isolation)

Linguagem predominante
Rust
Estrelas
3.5k
Forks
805
Merge médio
2d 3h
PRs com merge (30d)
116

Preparar o ambiente

  • Sem Dockerfile nem arquivo Docker Compose
  • Tem um modelo de pull request
  • Sem guia de contribuição

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de apache/datafusion-sqlparser-rs

Todas as issues de apache/datafusion-sqlparser-rs

Issues semelhantes

Mais issues de Rust

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.