HEX
Server: Apache
System: Linux pdx1-shared-a1-38 6.6.104-grsec-jammy+ #3 SMP Tue Sep 16 00:28:11 UTC 2025 x86_64
User: mmickelson (3396398)
PHP: 8.1.31
Disabled: NONE
Upload Files
File: //lib/python3/dist-packages/django/db/backends/postgresql/__pycache__/creation.cpython-310.pyc
o

3�a
�@s@ddlZddlmZddlmZddlmZGdd�de�ZdS)�N)�
errorcodes)�BaseDatabaseCreation)�strip_quotescsJeZdZdd�Zddd�Zdd�Zdd	�Zd�fdd�	Zdd
d�Z�Z	S)�DatabaseCreationcCs|jj�|�S)N)�
connection�ops�
quote_name)�self�name�r�H/usr/lib/python3/dist-packages/django/db/backends/postgresql/creation.py�_quote_nameszDatabaseCreation._quote_nameNcCs:d}|r|d�|�7}|r|d�|�|��7}|od|S)N�z ENCODING '{}'z TEMPLATE {}�WITH)�formatr
)r	�encoding�template�suffixrrr�_get_database_create_suffixsz,DatabaseCreation._get_database_create_suffixcCs8|jjd}|ddusJd��|j|d|�d�d�S)N�TEST�	COLLATIONzHPostgreSQL does not support collation setting at database creation time.�CHARSET�TEMPLATE)rr)r�
settings_dictr�get)r	�
test_settingsrrr�sql_table_creation_suffixs��z*DatabaseCreation.sql_table_creation_suffixcCs|�dt|�g�|��duS)Nz7SELECT 1 FROM pg_catalog.pg_database WHERE datname = %s)�executer�fetchone)r	�cursor�
database_namerrr�_database_exists sz!DatabaseCreation._database_existsFc
s�z|r|�||d�rWdSt��|||�WdStyL}z(t|jdd�tjkr7|�d|�t	�
d�n
|s:�WYd}~dSWYd}~dSd}~ww)N�dbname�pgcoderz+Got an error creating the test database: %s�)r!�super�_execute_create_test_db�	Exception�getattr�	__cause__r�DUPLICATE_DATABASE�log�sys�exit)r	r�
parameters�keepdb�e��	__class__rrr&$s����z(DatabaseCreation._execute_create_test_dbc	Cs|j��|jjd}|�|�d}|�|�|j|d�d�}|���c}z	|�|||�WnHtytz |dkrD|�	d|�
||�f�|�d|�|�|||�Wntyq}z|�	d|�t�
d�WYd}~nd}~wwYn	wWd�dSWd�dS1s�wYdS)	N�NAME)r)r"r�z,Destroying old test database for alias %s...zDROP DATABASE %(dbname)sz*Got an error cloning the test database: %sr$)r�closer�get_test_db_clone_settingsr
r�_nodb_cursorr&r'r+�_get_database_display_strrr,r-)	r	r�	verbosityr/�source_database_name�target_database_name�test_db_paramsrr0rrr�_clone_test_db5s8

�

��������"zDatabaseCreation._clone_test_db)NN)F)
�__name__�
__module__�__qualname__r
rrr!r&r=�
__classcell__rrr1rr	s

r)r,�psycopg2r� django.db.backends.base.creationr�django.db.backends.utilsrrrrrr�<module>s