python / python/cpython

Expose an interface to sqlite3_file_control

Aberta
#128,505 1 comentário 2 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

extension-modules topic-sqlite3 type-feature
Linguagem predominante
Python
Estrelas
77.2k
Forks
35.9k
Métricas de merge de PRs
Métricas de PR pendentes

Descrição

Feature or enhancement

Proposal:

sqlite3_file_control can affect the semantics of a sqlite3 database, but is not exposed by the sqlite.Connection class. In particular, I would like to use the SQLITE_FCNTL_PERSIST_WAL opcode, which ensures that callers can open a WAL-mode database on a read-only mount even when the writers have closed the DB.

Has this already been discussed elsewhere?

This is a minor feature, which does not need previous discussion elsewhere

Links to previous discussion of this feature:

No response

Linked PRs
  • gh-128507
  • gh-148870

Guia de contribuição

Abrir o 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.

Direção de pesquisa

Comece lendo a interface sqlite3.Connection e a documentação de sqlite3_file_control; em seguida, revise os PRs vinculados gh-128507 e gh-148870 para verificar a direção atual da implementação. O trabalho estará concluído quando o recurso de controle de arquivos solicitado estiver exposto por meio da interface de conexão e oferecer suporte ao caso de uso SQLITE_FCNTL_PERSIST_WAL descrito aqui.

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

Avaliação

Stack de tecnologia
sqlite
Domínio
databases
Tipo de issue
Funcionalidade
Dificuldade
4/5
Tempo estimado
3-5 dias
Status de atividade
Estagnada
Clareza
Razoavelmente clara
Facilidade para iniciantes
25/100

Receba novas issues na sua caixa de entrada

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