o
    lf6                     @   s   d dl Z d dlmZ d dlmZ d dlmZ dd Ze jdd Z	e jd	d
 Z
er8d dlmZmZ dd ZdS d dlZd dlmZ dd ZdS )    N)connections)NO_DB_ALIAS)is_psycopg3c                 C   s|   t |   .}|d|f g }g }|D ]}||d  ||d  qt|t|fW  d    S 1 s7w   Y  d S )Nz4SELECT oid, typarray FROM pg_type WHERE typname = %sr      )r   cursorexecuteappendtuple)connection_alias	type_namer   oids
array_oidsrow r   c/var/www/ticemtrilhas/avaliacao_env/lib/python3.10/site-packages/django/contrib/postgres/signals.pyget_type_oids   s   $r   c                 C   
   t | dS )z$Return hstore and hstore array OIDs.hstorer   r
   r   r   r   get_hstore_oids      
r   c                 C   r   )z$Return citext and citext array OIDs.citextr   r   r   r   r   get_citext_oids   r   r   )TypeInfor   c           	      K   s   | j dks
| jtkrd S t| j\}}t||D ]\}}td||}t|| j qt	| j\}}|D ]}tdd|}|
| j q3d S )N
postgresqlr   r   r   )vendoraliasr   r   zipr   r   register_hstore
connectionr   register)	r    kwargsr   r   oid	array_oidti_citext_oidsr   r   r   register_type_handlers$   s   r(   )r   c                 K   sv   | j dks
| jtkrd S t| j\}}|rt| jd||d t| j\}}|r9t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_typer   r   r   r(   6   s   	
)	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   r   r   <module>   s    

