branch: elpa/pg
commit c0c63af8cb33f60d02369d61c166e89a93336950
Author: Eric Marsden <[email protected]>
Commit: Eric Marsden <[email protected]>
Fix for variants with a vector type but no vector extension.
The vector type needs to be registered in our oid<->typname mappings.
---
pg.el | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/pg.el b/pg.el
index d2c99dc8731..40f8ea5d043 100644
--- a/pg.el
+++ b/pg.el
@@ -3091,9 +3091,10 @@ Return nil if the extension could not be set up."
(let* ((res (pg-exec con "SELECT oid FROM pg_catalog.pg_type WHERE
typname='vector'"))
(oid (car (pg-result res :tuple 0)))
(parser (pg-lookup-parser "vector")))
- (and parser
- oid
- (puthash oid parser (pgcon-parser-by-oid con)))))
+ (when (and parser oid)
+ (puthash "vector" oid (pgcon-oid-by-typname con))
+ (puthash oid "vector" (pgcon-typname-by-oid con))
+ (puthash oid parser (pgcon-parser-by-oid con)))))
;; pgvector embeddings are sent by the database as strings, in the form
"[1,2,3]" or ["0.015220831,
;; 0.039211094, 0.02235647]"