
    Evg6                         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dS d dlZd d
lmZ d ZdS )    N)connections)NO_DB_ALIAS)is_psycopg3c                 \   t           |                                          5 }|                    d|f           g }g }|D ]8}|                    |d                    |                    |d                    9t	          |          t	          |          fcd d d            S # 1 swxY w Y   d S )Nz4SELECT oid, typarray FROM pg_type WHERE typname = %sr      )r   cursorexecuteappendtuple)connection_alias	type_namer   oids
array_oidsrows         \/var/www/pixelcanvas.ch/venv/lib/python3.11/site-packages/django/contrib/postgres/signals.pyget_type_oidsr      s    	%	&	-	-	/	/ 	.6BYL	
 	
 	
 
 	& 	&CKKAc!f%%%%T{{E*---	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	.s   A4B!!B%(B%c                 "    t          | d          S )z$Return hstore and hstore array OIDs.hstorer   r   s    r   get_hstore_oidsr           )84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k    s| j        t          k    rd S t          | j                  \  }}t	          ||          D ]0\  }}t          d||          }t          j        || j                   1t          | j                  \  }}|D ]-}t          dd|          }|
                    | j                   .d S )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@K0O0OF*:+;<<j!$
33 	> 	>NC(C33B"2z'<====()9::;$ 	/ 	/I(Ay11BKK
-....	/ 	/r   )r#   c                 n   | j         dk    s| j        t          k    rd S t          | j                  \  }}|rt	          | j        d||           t          | j                  \  }}|rMt          j        	                    |dt          j
                  }t          j                            |d            d S d S )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@K0O0OF*:+;<<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=      s       ! ! ! ! ! ! 4 4 4 4 4 4 A A A A A A
. 
. 
. 5 5 5
 5 5 5
  /@......../ / / / / OOO//////@ @ @ @ @r   