FTS detection treats table names as LIKE patterns
I maintainer di solito rispondono entro 3 giorni
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 82/100
Direzione di ricerca
Inizia leggendo detect_fts() e i pattern LIKE che usa per trovare le tabelle FTS; l’issue indica nella gestione dei caratteri jolly nei nomi delle tabelle la causa. Riproduci il problema con l’esempio fornito book_titles e bookXtitles, poi verifica che un test di regressione copra sia _ sia %. Il lavoro è completato quando viene rilevata book_titles_fts e la ricerca di incorrect non restituisce righe.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
When a table name contains _ or %, detect_fts() treats those characters as SQL LIKE wildcards. It can select another table's FTS index and use its matching row IDs against the requested table.
from sqlite_utils import Database
db = Database(memory=True)
db["bookXtitles"].insert({"title": "incorrect"}).enable_fts(["title"])
db["book_titles"].insert({"title": "correct"}).enable_fts(["title"])
print(db["book_titles"].detect_fts())
print(list(db["book_titles"].search("incorrect")))
Current main prints bookXtitles_fts and returns the row containing correct, even though that row does not match the search. It should detect book_titles_fts and return no rows for this query.
The same issue occurs with % in the table name. The table-name portion of the LIKE patterns needs escaping. The quote delimiters added for #434 prevent prefix matches but leave wildcard characters active.
Reproduced on Python 3.12 and SQLite 3.53.1 using current main.
- Lingua principale
- Python
- Stelle
- 2.2k
- Fork
- 215
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di simonw/sqlite-utils
-
Contributing docs: local test runs silently skip SpatiaLite and ext.c tests, and the setup steps assume SSH and uvForse già presa Una pull request collegata a questa issue è aperta o già unita. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
simonw/sqlite-utils#928 ·
I maintainer di solito rispondono entro 3 giorni
-
Tests use CliRunner.isolated_filesystem(), which is deprecated and will be removed in Click 9.0Forse già presa @devpryan7792 l’ha presa 12 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
simonw/sqlite-utils#916 ·
I maintainer di solito rispondono entro 3 giorni
-
rows_from_file() splits a single-column CSV file on a letter, or raises csv.ErrorForse già presa @L4XB l’ha presa 20 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
simonw/sqlite-utils#907 ·
I maintainer di solito rispondono entro 3 giorni
-
enable_fts() exhausts iterator columns before populating the indexForse già presa @syahra712 l’ha presa 26 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 83/100
simonw/sqlite-utils#902 ·
I maintainer di solito rispondono entro 3 giorni
-
rows_from_file() ignores ignore_extras= and extras_key= for anything that isn't Format.CSVForse già presa @feiiiiii5 l’ha presa 37 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
simonw/sqlite-utils#892 ·
I maintainer di solito rispondono entro 3 giorni
Tutte le issue di simonw/sqlite-utils
Issue simili
-
Remove the `pull_request_target` workflow before GitHub blocks itForse già presa @jat255 l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
IBM/mcp-context-forge#7483 ·
I maintainer di solito rispondono entro 2 giorni
-
bug good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
-
[Bug Report]: OpenAI 辅助 API 连通性测试因输出上限仅 1 token 误报“未知错误”Forse già presa @fjfanjian l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
Project-N-E-K-O/N.E.K.O#3640 ·
I maintainer di solito rispondono entro 1 giorno
-
author-page correction
Difficoltà 2/5 1-3 ore Idoneità per principianti 64/100
acl-org/acl-anthology#10808 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno