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]"

Reply via email to