
    g6                         d dl Z d dlmZ d dlmZ d dlmZ d Ze j                  d        Z	e j                  d        Z
erd dlmZmZ d	 Zyd dlZd d
lmZ d Zy)    N)connections)NO_DB_ALIAS)is_psycopg3c                    t         |    j                         5 }|j                  d|f       g }g }|D ]*  }|j                  |d          |j                  |d          , t	        |      t	        |      fcd d d        S # 1 sw Y   y xY w)Nz4SELECT oid, typarray FROM pg_type WHERE typname = %sr      )r   cursorexecuteappendtuple)connection_alias	type_namer   oids
array_oidsrows         w/var/www/python.vincentserveurtest.ovh/public_html/venv/lib/python3.12/site-packages/django/contrib/postgres/signals.pyget_type_oidsr      s    	%	&	-	-	/6BYL	
 
CKKAc!f%  T{E*-- 
0	/	/s   AA>>Bc                     t        | d      S )z$Return hstore and hstore array OIDs.hstorer   r   s    r   get_hstore_oidsr           )844    c                     t        | d      S )z$Return citext and citext array OIDs.citextr   r   s    r   get_citext_oidsr      r   r   )TypeInfor   c                    | j                   dk7  s| j                  t        k(  ry t        | j                        \  }}t	        ||      D ]2  \  }}t        d||      }t        j                  || j                         4 t        | j                        \  }}|D ]*  }t        dd|      }|j                  | j                         , y )N
postgresqlr   r   r   )vendoraliasr   r   zipr   r   register_hstore
connectionr   register)	r$   kwargsr   r   oid	array_oidti_citext_oidss	            r   register_type_handlersr,   $   s    ,
0@0@K0O*:+;+;<j!$
3NC(C3B""2z'<'<= 4 ))9)9:;$I(Ay1BKK
--. %r   )r#   c                    | j                   dk7  s| j                  t        k(  ry t        | j                        \  }}|rt	        | j
                  d||       t        | j                        \  }}|rPt        j                  j                  |dt        j                        }t        j                  j                  |d        y y )Nr   T)globallyr'   r(   zcitext[])r    r!   r   r   r#   r$   r   psycopg2
extensionsnew_array_typeSTRINGregister_type)r$   r&   r   r   r+   
array_types         r   r,   r,   6   s    ,
0@0@K0O*:+;+;<j %%$* ,J,<,<=k !,,;;ZJ --j$?	 r   )	functools	django.dbr   django.db.backends.base.baser   )django.db.backends.postgresql.psycopg_anyr   r   	lru_cacher   r   psycopg.typesr   r   r,   r/   psycopg2.extrasr#    r   r   <module>r=      se     ! 4 A
. 5 5
 5 5
 ./ /@r   