o
    i                     @   sF   d dl Z d dlmZ ddlmZ ddlmZ ddlmZ dd	d
Z	dS )    N)cursor   )register_halfvec_info)register_sparsevec_info)register_vector_infoFTc                 C   s   t | dr| n| j}|jtd}|rd n| }|d t| }d|vr*tdt|d |r4|d nd | d|v rJt	|d |rF|d nd | d	|v r^t
|d	 |rX|d
 nd | d S d S )Nr   )cursor_factoryzSELECT typname, oid FROM pg_type WHERE oid IN (to_regtype('vector'), to_regtype('_vector'), to_regtype('halfvec'), to_regtype('_halfvec'), to_regtype('sparsevec'), to_regtype('_sparsevec'))vectorz%vector type not found in the database_vectorhalfvec_halfvec	sparsevec
_sparsevec)hasattr
connectionr   executedictfetchallpsycopg2ProgrammingErrorr   r   r   )conn_or_cursgloballyarraysconncurscope	type_info r   `/var/www/html/karishye-ai-python/venv/lib/python3.10/site-packages/pgvector/psycopg2/register.pyregister_vector	   s   

 r   )FT)
r   psycopg2.extensionsr   r
   r   r   r   r   r   r   r   r   r   r   <module>   s    