FTS detection treats table names as LIKE patterns
Maintainer thường phản hồi trong vòng 3 ngày
Đánh giá
- Độ khó
- 2/5
- Thời gian dự kiến
- 1-3 giờ
- Mức phù hợp với người mới
- 82/100
Hướng nghiên cứu
Bắt đầu bằng cách đọc detect_fts() và các mẫu LIKE mà hàm này dùng để tìm bảng FTS; issue xác định việc xử lý ký tự đại diện trong tên bảng là nguyên nhân. Tái hiện lỗi bằng ví dụ book_titles và bookXtitles được cung cấp, sau đó kiểm tra xem có bài kiểm thử hồi quy bao quát cả _ và % hay không. Hoàn tất khi phát hiện được book_titles_fts và tìm kiếm incorrect không trả về hàng nào.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
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.
- Ngôn ngữ chính
- Python
- Star
- 2.2k
- Fork
- 215
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Không có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của simonw/sqlite-utils
-
Contributing docs: local test runs silently skip SpatiaLite and ext.c tests, and the setup steps assume SSH and uvCó thể đã có người làm Có pull request liên kết đang mở hoặc đã được merge. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100
simonw/sqlite-utils#928 ·
Maintainer thường phản hồi trong vòng 3 ngày
-
Tests use CliRunner.isolated_filesystem(), which is deprecated and will be removed in Click 9.0Có thể đã có người làm @devpryan7792 đã nhận 12 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
simonw/sqlite-utils#916 ·
Maintainer thường phản hồi trong vòng 3 ngày
-
rows_from_file() splits a single-column CSV file on a letter, or raises csv.ErrorCó thể đã có người làm @L4XB đã nhận 20 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100
simonw/sqlite-utils#907 ·
Maintainer thường phản hồi trong vòng 3 ngày
-
enable_fts() exhausts iterator columns before populating the indexCó thể đã có người làm @syahra712 đã nhận 26 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 83/100
simonw/sqlite-utils#902 ·
Maintainer thường phản hồi trong vòng 3 ngày
-
rows_from_file() ignores ignore_extras= and extras_key= for anything that isn't Format.CSVCó thể đã có người làm @feiiiiii5 đã nhận 37 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
simonw/sqlite-utils#892 ·
Maintainer thường phản hồi trong vòng 3 ngày
Tất cả issue của simonw/sqlite-utils
Issue tương tự
-
Remove the `pull_request_target` workflow before GitHub blocks itCó thể đã có người làm @jat255 đã nhận hôm nay. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
Maintainer thường phản hồi trong vòng 2 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 85/100
IBM/mcp-context-forge#7483 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
bug good first issue
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
-
[Bug Report]: OpenAI 辅助 API 连通性测试因输出上限仅 1 token 误报“未知错误”Có thể đã có người làm @fjfanjian đã nhận hôm nay. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
Project-N-E-K-O/N.E.K.O#3640 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
author-page correction
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 64/100
acl-org/acl-anthology#10808 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày