Ë
    ¹ûàgÌ  ã                   ó6   — d dl mZ d dlmZmZ  G d„ de«      Zy)é    )ÚDatabaseSchemaEditor)ÚColÚFuncc                   óR   ‡ — e Zd ZdZdZdZdZdZd„ Zˆ fd„Z	dd	œˆ fd
„
Z
ˆ fd„Zˆ xZS )ÚPostGISSchemaEditorÚGISTÚGIST_GEOMETRY_OPS_NDzST_ConvexHull(%(expressions)s)zLALTER COLUMN %(column)s TYPE %(type)s USING ST_Force3D(%(column)s)::%(type)szLALTER COLUMN %(column)s TYPE %(type)s USING ST_Force2D(%(column)s)::%(type)sc                 óL   — | j                   j                  j                  |«      S )N)Ú
connectionÚopsÚgeo_quote_name)ÚselfÚnames     úk/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/django/contrib/gis/db/backends/postgis/schema.pyr   z"PostGISSchemaEditor.geo_quote_name   s   € Ø�‰×"Ñ"×1Ñ1°$Ó7Ð7ó    c                 ó@   •— t        |dd«      ryt        ‰| �	  ||«      S )NÚspatial_indexFT)ÚgetattrÚsuperÚ_field_should_be_indexed)r   ÚmodelÚfieldÚ	__class__s      €r   r   z,PostGISSchemaEditor._field_should_be_indexed   s$   ø€ Ü�5˜/¨5Ô1ØÜ‰wÑ/°°uÓ=Ð=r   N)Úfieldsc                óü  •— |�t        |«      dk7  st        |d   d«      st        ‰| �  |fd|i|¤ŽS |d   }d }d }|j                  dk(  r$t        t        d |«      | j                  ¬«      }d }n(|j                  dkD  r|j                  s| j                  g}|j                  d«      }|s2| j                  |j                  j                  |j                  gd	«      }t        ‰| �  |||d
| j                   z  ||¬«      S )Né   r   Úgeodeticr   ÚRASTER)Útemplateé   r   Ú_idz	 USING %s)r   r   ÚusingÚ	opclassesÚexpressions)ÚlenÚhasattrr   Ú_create_index_sqlÚ	geom_typer   r   Úrast_index_templateÚdimÚ	geographyÚgeom_index_ops_ndÚgetÚ_create_index_nameÚ_metaÚdb_tableÚcolumnÚgeom_index_type)	r   r   r   Úkwargsr   r$   r#   r   r   s	           €r   r'   z%PostGISSchemaEditor._create_index_sql   s  ø€ Øˆ>œS ›[¨AÒ-´W¸VÀA¹YÈ
Ô5SÜ‘7Ñ,¨UÑL¸6ÐLÀVÑLÐLà�q‘	ˆØˆØˆ	Ø�?‰?˜hÒ&ô œs 4¨Ó/¸$×:RÑ:RÔSˆKØ‰FØ�Y‰Y˜Š] 5§?¢?à×/Ñ/Ð0ˆIØ�z‰z˜&Ó!ˆÙØ×*Ñ*¨5¯;©;×+?Ñ+?À%Ç,Á,ÀÐQVÓWˆDä‰wÑ(ØØØØ × 4Ñ 4Ñ4ØØ#ð )ó 
ð 	
r   c                 ól  •— t        |d«      rt        |d«      st        ‰| �	  ||||||«      S |j                  dk(  r|j                  dk(  r| j                  }n7|j                  dk(  r|j                  dk(  r| j
                  }n| j                  }|| j                  |j                  «      |ddœz  g fg fS )z6
        Special case when dimension changed.
        r*   r    é   Ú )r1   ÚtypeÚ	collation)	r&   r   Ú_alter_column_type_sqlr*   Úsql_alter_column_to_3dÚsql_alter_column_to_2dÚsql_alter_column_typeÚ
quote_namer1   )	r   ÚtableÚ	old_fieldÚ	new_fieldÚnew_typeÚold_collationÚnew_collationÚ	sql_alterr   s	           €r   r9   z*PostGISSchemaEditor._alter_column_type_sql5   sÈ   ø€ ô �y %Ô(´¸	À5Ô0IÜ‘7Ñ1Ø�y )¨X°}Àmóð ð �=‰=˜AÒ )§-¡-°1Ò"4Ø×3Ñ3‰IØ�]‰]˜aÒ I§M¡M°QÒ$6Ø×3Ñ3‰Ià×2Ñ2ˆIð à"Ÿo™o¨i×.>Ñ.>Ó?Ø$Ø!#ññð ðð ð
ð 	
r   )Ú__name__Ú
__module__Ú__qualname__r2   r,   r)   r:   r;   r   r   r'   r9   Ú__classcell__)r   s   @r   r   r      sH   ø„ Ø€OØ.ÐØ:Ðð 	Wð ð 	Wð ò8ô>ð
 26ö 
÷8
ð 
r   r   N)Ú$django.db.backends.postgresql.schemar   Údjango.db.models.expressionsr   r   r   © r   r   ú<module>rL      s   ðÝ Eß 2ôL
Ð.õ L
r   