HelloZeroNet / HelloZeroNet/ZeroNet
Support virtual sqlite3 tables in dbschema.json
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
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- 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