
    h                         d dl Z d dlZd dlmZ d dlmZ d dlmZ d dlmZ  e j                         d        Z
 e j                         d        Zd Zy)	    N)ProgrammingError)register_hstore)connections)NO_DB_ALIASc                    t         |    j                         5 }|j                  d       g }g }|D ]*  }|j                  |d          |j                  |d          , t	        |      t	        |      fcddd       S # 1 sw Y   yxY w)z$Return hstore and hstore array OIDs.zlSELECT t.oid, typarray FROM pg_type t JOIN pg_namespace ns ON typnamespace = ns.oid WHERE typname = 'hstore'r      N)r   cursorexecuteappendtuple)connection_aliasr	   oids
array_oidsrows        b/var/www/html/ranktracker/api/venv/lib/python3.12/site-packages/django/contrib/postgres/signals.pyget_hstore_oidsr      s     
%	&	-	-	/ .6'	
 
 	&CKKAc!f%	& T{E*--. . .s   AA<<Bc                     t         |    j                         5 }|j                  d       t        d |D              cddd       S # 1 sw Y   yxY w)zReturn citext array OIDs.z5SELECT typarray FROM pg_type WHERE typname = 'citext'c              3   &   K   | ]	  }|d      yw)r   N ).0r   s     r   	<genexpr>z"get_citext_oids.<locals>.<genexpr>"   s     .SV.s   N)r   r	   r
   r   )r   r	   s     r   get_citext_oidsr      sH     
%	&	-	-	/ /6NO.v../ / /s   #AAc                    | j                   dk7  s| j                  t        k(  ry 	 t        | j                        \  }}t	        | j
                  d||       	 t        | j                        }t        j                  j                  |dt        j                        }t        j                  j                  |d        y # t        $ r Y qw xY w# t        $ r Y y w xY w)N
postgresqlT)globallyoid	array_oidzcitext[])vendoraliasr   r   r   
connectionr   r   psycopg2
extensionsnew_array_typeSTRINGregister_type)r    kwargsr   r   citext_oids
array_types         r   register_type_handlersr)   %   s    L(J,<,<,K*:+;+;<j
--$R\]	%j&6&67((77ZQYQ`Q`a
))*d;  	 		  
 	s$   1B< A$C <	CC	CC)	functoolsr!   r   psycopg2.extrasr   	django.dbr   django.db.backends.base.baser   	lru_cacher   r   r)   r       r   <module>r0      sZ      % + ! 4 . ." / /r/   