Bit objects not supported with Psycopg 2 and pg8000
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 2/5
- Temps estimé
- 1-3 heures
- Accessibilité débutants
- 72/100
Piste de recherche
Commencez par lire les modèles existants de HalfvecAdapter et register_out_adapter, puis vérifiez comment les adaptateurs de Vector, HalfVector et SparseVector sont testés pour Psycopg 2 et pg8000. Ajoutez une adaptation de texte équivalente pour Bit dans les deux pilotes ; le travail est terminé lorsque les deux exemples de requête acceptent Bit('101') et que la valeur pg8000 est traitée comme la chaîne de bits attendue.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
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.
- Langage dominant
- Python
- Étoiles
- 1.5k
- Forks
- 100
- Merge moyen
- 13 min
- PR mergées (30 j)
- 1
Préparer son environnement
Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de pgvector/pgvector-python
-
Difficulté 3/5 1-2 jours Accessibilité débutants 55/100
pgvector/pgvector-python#168 ·
Toutes les issues de pgvector/pgvector-python
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 77/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 67/100
Les mainteneurs répondent en général sous 1 jour
-
ChaosEngine: backup-remote doctor row passes while consumer mode hides bot memory from gitPeut-être pris @MohabMohie l’a pris aujourd’hui. Ouverteagentic
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
ShaftHQ/SHAFT_ENGINE#7263 ·
Les mainteneurs répondent en général sous 1 jour
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 87/100
huggingface/smolagents#3045 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
Les mainteneurs répondent en général sous 1 jour