Bit objects not supported with Psycopg 2 and pg8000
還沒有人認領這個 Issue。
評估
研究方向
先閱讀現有的 HalfvecAdapter 和 register_out_adapter 模式,接著檢查 Vector、HalfVector 和 SparseVector 配接器在 Psycopg 2 和 pg8000 中如何測試。為兩個驅動程式新增等效的 Bit 文字配接;當兩個查詢範例都接受 Bit('101'),且 pg8000 的值依預期作為位元字串處理時,即表示完成。
由索引模型根據 Issue 內容生成。
描述
Hi, pgvector.Bit works as a query parameter with Psycopg 3 (it registers a dumper), but not with Psycopg 2 or pg8000:
cur.execute('SELECT %s::bit(3)', (Bit('101'),)) # psycopg2: ProgrammingError: can't adapt type 'Bit'
conn.run('SELECT CAST(:b AS bit(3))', b=Bit('101')) # pg8000: "i" is not a valid binary digit
Passing to_text() works, but it's inconsistent with Vector/HalfVector/SparseVector, which both drivers adapt. The pg8000 case is a bit worse since it sends the wrong value rather than raising a clear error.
For both drivers this is a small text adapter (same pattern as HalfvecAdapter / register_out_adapter); happy to open a PR if you'd like. (asyncpg left out on purpose, per #110.)
Tested with main (b5d9b70), Postgres 17, pgvector master.
- 主要語言
- Python
- 星號
- 1.5k
- 分支
- 100
- 平均合併
- 13 分鐘
- 30 天內合併 PR
- 1
環境準備
這個專案沒有提供開發容器、Dockerfile 或貢獻指南,環境需要你自己搭建:先看它的 README,通用步驟見我們的新手貢獻指南。
從這裡開始
- 先讀完整個 Issue,再讀專案的貢獻指南。
- 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
- Fork 儲存庫,在一個分支上完成修改。
- 送出 Pull Request,並在描述裡引用這個 Issue 編號。
pgvector/pgvector-python 的其他 Issue
-
難度 3/5 1-2 天 新手友好度 55/100
pgvector/pgvector-python#168 ·
查看 pgvector/pgvector-python 的全部 Issue
相似的 Issue
-
難度 2/5 1-3 小時 新手友好度 74/100
zach-blumenfeld/aip#13 ·
-
難度 2/5 1-3 小時 新手友好度 80/100
nathanmarlor/foxess_modbus#1287 ·
維護者通常 4 天內回覆
-
bug good first issue help wanted
難度 2/5 1-3 小時 新手友好度 84/100
OpenLakeForge/openlakeforge#498 ·
維護者通常 1 天內回覆
-
good first issue hacktoberfest help wanted python
難度 2/5 1-3 小時 新手友好度 73/100
維護者通常 1 天內回覆
-
難度 2/5 1-3 小時 新手友好度 69/100
pollen-robotics/reachy_mini#1493 ·
維護者通常 1 天內回覆