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/contrib/gis/db/backends/mysql/__pycache__/schema.cpython-310.pyc
o

�a��@sJddlZddlmZddlmZddlmZe�d�ZGdd�de�Z	dS)�N)�
GeometryField)�OperationalError)�DatabaseSchemaEditorzdjango.contrib.giscsreZdZdZdZ�fdd�Z�fdd�Zd�fdd	�	Z�fd
d�Z�fdd
�Z	�fdd�Z
dd�Zdd�Z�Z
S)�MySQLGISSchemaEditorz7CREATE SPATIAL INDEX %(index)s ON %(table)s(%(column)s)z!DROP INDEX %(index)s ON %(table)scst�j|i|��g|_dS�N)�super�__init__�geometry_sql)�self�args�kwargs��	__class__��M/usr/lib/python3/dist-packages/django/contrib/gis/db/backends/mysql/schema.pyrs
zMySQLGISSchemaEditor.__init__cs t|t�r
|js
dSt��|�S)NT)�
isinstancer�$_supports_limited_data_type_defaultsr�skip_default)r
�fieldr
rrrsz!MySQLGISSchemaEditor.skip_defaultFcslt��|||�}t|t�r4|jr4|js4|jjj}|j	j
}|j�|j
||�||��||�||j�d��|S)N)�index�table�column)r�
column_sqlrr�
spatial_index�null�
connection�ops�
quote_name�_meta�db_tabler	�append�sql_add_spatial_index�_create_spatial_index_namer)r
�modelr�include_defaultr�qnrr
rrrs
��zMySQLGISSchemaEditor.column_sqlcst��|�|��dSr)r�create_model�create_spatial_indexes)r
r#r
rrr&(sz!MySQLGISSchemaEditor.create_modelcst��||�|��dSr)r�	add_fieldr'�r
r#rr
rrr(,szMySQLGISSchemaEditor.add_fieldcs~t|t�r6|jr6|jjj}|j||�||��||jj	�d�}z|�
|�Wnty5t�
d|�Ynwt��||�dS)N)rrz`Couldn't remove spatial index: %s (may be expected if your storage engine doesn't support them).)rrrrrr�sql_drop_spatial_indexr"rr�executer�logger�errorr�remove_field)r
r#rr%�sqlr
rrr.0s

���z!MySQLGISSchemaEditor.remove_fieldcCsd|jj|jfS)Nz%s_%s_id)rrrr)rrrr"Asz/MySQLGISSchemaEditor._create_spatial_index_namec	CsB|jD]}z|�|�Wqtyt�d|�Yqwg|_dS)NzXCannot create SPATIAL INDEX %s. Only MyISAM and (as of MySQL 5.7.5) InnoDB support them.)r	r+rr,r-)r
r/rrrr'Ds
��
z+MySQLGISSchemaEditor.create_spatial_indexes)F)�__name__�
__module__�__qualname__r!r*rrrr&r(r.r"r'�
__classcell__rrr
rr
sr)
�logging�django.contrib.gis.db.modelsr�	django.dbr�django.db.backends.mysql.schemar�	getLoggerr,rrrrr�<module>s