MerginMaps / MerginMaps/python-api-client

Vacuuming

Ouverte Adaptée aux débutants
#320 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Langage dominant
Python
Étoiles
23
Forks
12
Merge moyen
2 j 13 h
PR mergées (30 j)
7

Description

https://github.com/MerginMaps/python-api-client/blob/master/mergin/utils.py#L99

Vacuuming could be useful even for gpkgs without the -wal sidecar

Vacuuming takes some time, so we should check that it is worth it.

Sources
https://gdal.org/en/stable/drivers/vector/gpkg.html
When dropping a table, or removing records from tables, the space they occupied is not immediately released and kept in the pool of file pages that SQLite may reuse later. If you need to shrink the file to its minimum size, you need to issue an explicit "VACUUM" SQL request.

https://sqlite.org/lang_vacuum.html
When content is deleted from an SQLite database, the content is not usually erased, but rather the space used to hold the content is marked as being available for reuse.

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez à la ligne 99 de mergin/utils.py et lisez les guides liés sur GDAL GeoPackage et SQLite VACUUM. Vérifiez comment la logique actuelle détermine si un VACUUM est utile, y compris pour les GeoPackages sans fichier sidecar -wal. C’est terminé lorsque la décision couvre ce cas sans effectuer de VACUUM inutilement ; validez-la avec les tests existants du projet.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
python, sqlite
Domaine
databases
Type d'issue
Fonctionnalité
Difficulté
2/5
Temps estimé
1-3 heures
Activité
Active
Clarté
Plutôt claire
Accessibilité débutants
68/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.