Bit objects not supported with Psycopg 2 and pg8000
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 2/5
- Geschätzter Aufwand
- 1-3 Stunden
- Anfängerfreundlichkeit
- 72/100
Rechercherichtung
Lies zunächst die vorhandenen Muster für HalfvecAdapter und register_out_adapter und prüfe dann, wie die Adapter für Vector, HalfVector und SparseVector für Psycopg 2 und pg8000 getestet werden. Ergänze eine entsprechende Textanpassung für Bit in beiden Treibern; die Aufgabe ist abgeschlossen, wenn die beiden Abfragebeispiele Bit('101') akzeptieren und der pg8000-Wert als vorgesehene Bit-Zeichenfolge behandelt wird.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
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.
- Vorherrschende Sprache
- Python
- Sterne
- 1.5k
- Forks
- 100
- Ø Merge
- 13 Min.
- Gemergte PRs (30 T.)
- 1
Entwicklungsumgebung
Dieses Projekt bietet weder Dev-Container noch Dockerfile noch Beitragsleitfaden – die Einrichtung liegt bei Ihnen. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus pgvector/pgvector-python
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 55/100
pgvector/pgvector-python#168 ·
Alle Issues in pgvector/pgvector-python
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 77/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 67/100
Maintainer antworten meist innerhalb von 1 Tag
-
ChaosEngine: backup-remote doctor row passes while consumer mode hides bot memory from gitEvtl. vergeben @MohabMohie hat das heute übernommen. Offenagentic
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
ShaftHQ/SHAFT_ENGINE#7263 ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 87/100
huggingface/smolagents#3045 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
Maintainer antworten meist innerhalb von 1 Tag