
    h6                         S SK r S SKJr  S SKJr  S SKJr  S r\ R                  S 5       r	\ R                  S 5       r
\(       a  S SKJrJr  S	 rgS SKrS S
KJr  S rg)    N)connections)NO_DB_ALIAS)is_psycopg3c                 "   [         U    R                  5        nUR                  SU45        / n/ nU H+  nUR                  US   5        UR                  US   5        M-     [	        U5      [	        U5      4sS S S 5        $ ! , (       d  f       g = f)Nz4SELECT oid, typarray FROM pg_type WHERE typname = %sr      )r   cursorexecuteappendtuple)connection_alias	type_namer   oids
array_oidsrows         Q/var/www/html/env/lib/python3.13/site-packages/django/contrib/postgres/signals.pyget_type_oidsr      s    	%	&	-	-	/6BYL	
 
CKKAc!f%  T{E*-- 
0	/	/s   AB  
Bc                     [        U S5      $ )z$Return hstore and hstore array OIDs.hstorer   r   s    r   get_hstore_oidsr           )844    c                     [        U S5      $ )z$Return citext and citext array OIDs.citextr   r   s    r   get_citext_oidsr      r   r   )TypeInfor   c                    U R                   S:w  d  U R                  [        :X  a  g [        U R                  5      u  p#[	        X#5       H1  u  pE[        SXE5      n[        R                  " X`R                  5        M3     [        U R                  5      u  pxU H+  n[        SSU5      nUR                  U R                  5        M-     g )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*:+;+;<!$3NC(C3B""2'<'<= 4 ))9)9:$I(Ay1BKK
--. %r   )r#   c                    U R                   S:w  d  U R                  [        :X  a  g [        U R                  5      u  p#U(       a  [	        U R
                  SX#S9  [        U R                  5      u  p$U(       aP  [        R                  R                  US[        R                  5      n[        R                  R                  US 5        g g )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,<,<= !,,;;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   