HelloZeroNet / HelloZeroNet/ZeroNet

Support virtual sqlite3 tables in dbschema.json

Ouverte
#1,456 6 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Langage dominant
JavaScript
Étoiles
18.8k
Forks
2.3k
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

Sqlite has two very useful extensions: Full Text Search and Spellfix search that could make searching on Zites more meaningful and very fast.

Looking briefly at files in src/Db, I think that it would be a very short change to enable virtual tables: One could just modify a couple of lines in the function createTable@DbCursor.py.

So a new virtual table using fts5 could be defined as

"fts_posts": {
    "virtual": true,
    "payload": fts5(title, body, uuid UNINDEXED)",
    "schema_changed": 1
}

that would be translated into CREATE VIRTUAL TABLE fts_posts USING fts5(title, body, uuid UNINDEXED). Update and delete queries works as in a standard table.

It is indeed true that such extensions are optional, but since ZeroNet ships with its built version of sqlite3 I think we can make sure such extensions are enabled.

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

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 dans src/Db/DbCursor.py au niveau de createTable, puis suivez la manière dont les entrées de dbschema.json parviennent à cette fonction. Confirmez comment le build SQLite fourni gère les extensions de tables virtuelles et vérifiez que le schéma proposé produit le comportement attendu de CREATE VIRTUAL TABLE, y compris les opérations de mise à jour et de suppression.

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é
3/5
Temps estimé
1-2 jours
Activité
À l'abandon
Clarté
Clairement spécifiée
Accessibilité débutants
38/100

Recevez les nouvelles issues par e-mail

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