AnswerDotAI / AnswerDotAI/sqlite-minutils
last_rowid returns `int ROWID` on non-`int` PKs
- Ngôn ngữ chính
- Python
- Star
- 17
- Fork
- 9
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Mô tả
## Description
Non-int last_pk are called incorrectly, or the table continues to have a ROWID. This results in that `last_id` check on any DB change returns the hidden `int ROWID` rather than whatever the pk was set to.
- https://www.sqlite.org/c3ref/last_insert_rowid.html
- https://www.sqlite.org/withoutrowid.html
## Test
```sh
python tests/test_upsert.py::test_upsert_with_hash_id
```
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Hướng nghiên cứu
Bắt đầu bằng cách chạy tests/test_upsert.py::test_upsert_with_hash_id và đọc tài liệu SQLite được liên kết về last_insert_rowid và các bảng WITHOUT ROWID. Theo dõi hành vi của last_rowid đối với các khóa chính không phải số nguyên. Hoàn tất khi bước kiểm tra last_id trả về giá trị khóa chính đã được gán thay vì ROWID số nguyên ẩn.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- python, sqlite
- Lĩnh vực
- database
- Loại issue
- Lỗi
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Khá rõ ràng
- Mức phù hợp với người mới
- 45/100