Ë
    q^ëiÔ  ã                   ó^   — d dl Z d dlmZ d dlmZ d dlmZ d dlmZ ddl	m
Z
  G d„ d	e«      Zy)
é    N)Útransaction)ÚBaseDatabaseFeatures)ÚOperationalError)Úcached_propertyé   )ÚDatabasec                   óV  ‡ — e Zd ZdZdZdZdZdZdZdZ	dZ
dZdZdZdZdZdZdZdZdZej*                  dk\  Zej*                  dk\  ZdZdZej*                  dk\  Zej*                  dk\  Zej*                  d	k\  Zej*                  d
k\  Zej*                  dk  ZdZdZ ej*                  dk\  Z!e!Z"ddddœZ#dhZ$dZ%e&d„ «       Z'e&d„ «       Z(e&ˆ fd„«       Z)e&d„ «       Z* e+ e,jZ                  d«      «      Z. e+ e,jZ                  d«      «      Z/e&d„ «       Z0 e+ e,jZ                  d«      «      Z1ˆ xZ2S )ÚDatabaseFeatures)é   é   FTiç  r   )r   é   r   )r   é#   é   )r   é   r   )r   é   r   )r   r   r   )r   r   )r   é   r   ÚnocaseÚbinary)ÚciÚcsÚnon_defaultz9expressions.tests.FTimeDeltaTests.test_mixed_comparisons1z¸
        CREATE TABLE test_table_composite_pk (
            column_1 INTEGER NOT NULL,
            column_2 INTEGER NOT NULL,
            PRIMARY KEY(column_1, column_2)
        )
    c                 óü   — dhh d£h d£dœ}t         j                  dk  r|j                  ddhi«       | j                  j	                  «       r|j                  dd	hd
hdœ«       |S |j                  dhdhdœ«       |S )NzZmodel_fields.test_decimalfield.DecimalFieldTests.test_fetch_from_db_without_float_rounding>   ú4schema.tests.SchemaTests.test_unique_and_reverse_m2mú<schema.tests.SchemaTests.test_unique_no_unnecessary_fk_dropsúHschema.tests.SchemaTests.test_alter_field_default_doesnt_perform_queriesúKschema.tests.SchemaTests.test_rename_column_renames_deferred_sql_references>   úIdb_functions.math.test_round.RoundTests.test_null_with_negative_precisionúJdb_functions.math.test_round.RoundTests.test_float_with_negative_precisionúLdb_functions.math.test_round.RoundTests.test_decimal_with_negative_precisionúLdb_functions.math.test_round.RoundTests.test_integer_with_negative_precision)z6SQLite stores values rounded to 15 significant digits.z5SQLite naively remakes the table on field alteration.z6SQLite doesn't support negative precision for ROUND().)r   é   z*Nondeterministic failure on SQLite < 3.27.zIexpressions_window.tests.WindowFunctionTests.test_subquery_row_range_rankzJservers.test_liveserverthread.LiveServerThreadTest.test_closes_connectionszGservers.tests.LiveServerTestCloseConnectionTest.test_closes_connectionszbtest_utils.tests.AssertNumQueriesUponConnectionTests.test_ignores_connection_configuration_queries)zOthe sqlite backend's close() method is a no-op when using an in-memory databasezHFor SQLite in-memory tests, closing the connection destroysthe database.zMservers.tests.LiveServerInMemoryDatabaseLockTest.test_in_memory_database_lockz`backends.sqlite.test_creation.TestDbSignatureTests.test_get_test_db_clone_settings_not_supported)zOOnly connections to in-memory SQLite databases are passed to the server thread.zMmultiprocessing's start method is checked only for in-memory SQLite databases)r   Úsqlite_version_infoÚupdateÚ
connectionÚis_in_memory_db)ÚselfÚskipss     úT/var/www/eb/venv/lib/python3.12/site-packages/django/db/backends/sqlite3/features.pyÚdjango_test_skipsz"DatabaseFeatures.django_test_skips?   sÂ   € ð<ðGòFò	Gñ
ˆô0 ×'Ñ'¨'Ò1Ø�L‰Là@ð7ðCðôð �?‰?×*Ñ*Ô,Ø�L‰Lð2ð2ð+ðHð&ñôð> ˆð �L‰Lð7ð'ðHð)ñôð ˆó    c                 ó(   — t         j                  dk\  S )N)r   é   r   ©r   r"   ©r&   s    r(   Ú!supports_atomic_references_renamez2DatabaseFeatures.supports_atomic_references_rename„   s   € ä×+Ñ+¨zÑ9Ð9r*   c                 ó*   •— i t         ‰| �  ¥dddddœ¥S )NÚ	AutoFieldÚBigIntegerFieldÚ	CharField)ÚBigAutoFieldÚDurationFieldÚGenericIPAddressFieldÚSmallAutoField)ÚsuperÚintrospected_field_types)r&   Ú	__class__s    €r(   r9   z)DatabaseFeatures.introspected_field_typesˆ   s+   ø€ ð
Ü‰gÑ.ð
à'Ø.Ø%0Ø)ò
ð 	
r*   c                 ó0  — | j                   j                  «       5 }	 t        j                  | j                   j                  «      5  |j                  d«       d d d «       d d d «       y# 1 sw Y   ŒxY w# t        $ r Y d d d «       yw xY w# 1 sw Y   yxY w)NzSELECT JSON('{"a": "b"}')FT)r$   Úcursorr   ÚatomicÚaliasÚexecuter   )r&   r<   s     r(   Úsupports_json_fieldz$DatabaseFeatures.supports_json_field’   sŒ   € à�_‰_×#Ñ#Ó%ð 	¨ðÜ ×'Ñ'¨¯©×(=Ñ(=Ó>ñ BØ—N‘NÐ#@ÔA÷B÷	ð ÷	Bð Bûä#ò Ø÷	ð 	ðú÷		ð ús@   ›B�)A5ÁA)ÁA5Á)A2	Á.A5Á5	B	Á>BÂB	Â	BÂBr@   c                 ó(   — t         j                  dk\  S )N)r   r   r-   r.   s    r(   Úcan_return_columns_from_insertz/DatabaseFeatures.can_return_columns_from_insertŸ   s   € ä×+Ñ+¨wÑ6Ð6r*   rB   )3Ú__name__Ú
__module__Ú__qualname__Úminimum_database_versionÚ#test_db_allows_multiple_connectionsÚsupports_unspecified_pkÚsupports_timezonesÚmax_query_paramsÚsupports_transactionsÚatomic_transactionsÚcan_rollback_ddlÚcan_create_inline_fkÚrequires_literal_defaultsÚcan_clone_databasesÚsupports_temporal_subtractionÚignores_table_name_caseÚsupports_cast_with_precisionÚtime_cast_precisionÚcan_release_savepointsÚhas_case_insensitive_liker   r"   Úcan_alter_table_rename_columnÚcan_alter_table_drop_columnÚ supports_parentheses_in_compoundÚcan_defer_constraint_checksÚsupports_over_clauseÚ#supports_frame_range_fixed_distanceÚ supports_aggregate_filter_clauseÚ supports_order_by_nulls_modifierÚ#requires_compound_order_by_subqueryÚorder_by_nulls_firstÚsupports_json_field_containsÚsupports_update_conflictsÚ%supports_update_conflicts_with_targetÚtest_collationsÚdjango_test_expected_failuresÚ,create_test_table_with_composite_primary_keyr   r)   r/   r9   r@   ÚpropertyÚoperatorÚ
attrgetterÚcan_introspect_json_fieldÚhas_json_object_functionrB   Ú can_return_rows_from_bulk_insertÚ__classcell__)r:   s   @r(   r
   r
      sî  ø„ Ø&ÐØ*/Ð'Ø"ÐØÐØÐØ ÐØÐØÐØ ÐØ $ÐØÐØ$(Ð!Ø"ÐØ#(Ð ØÐØ!ÐØ $Ðà$,×$@Ñ$@ÀJÑ$NÐ!à"*×">Ñ">À*Ñ"LÐØ',Ð$Ø"&ÐØ#×7Ñ7¸:ÑEÐØ*2×*FÑ*FÈ*Ñ*TÐ'Ø'/×'CÑ'CÀzÑ'QÐ$Ø'/×'CÑ'CÀzÑ'QÐ$à*2×*FÑ*FÈÑ*PÐ'ØÐØ#(Ð Ø (× <Ñ <À
Ñ JÐØ,EÐ)àØØñ€Oð 	Dð%Ð!ð
4Ð0ð ñBó ðBðH ñ:ó ð:ð ó
ó ð
ð ñó ðñ !)Ð)<¨×)<Ñ)<Ð=RÓ)SÓ TÐÙ'Ð(;¨×(;Ñ(;Ð<QÓ(RÓSÐàñ7ó ð7ñ (0Øˆ×ÑÐ<Ó=ó(Ô$r*   r
   )rh   Ú	django.dbr   Ú django.db.backends.base.featuresr   Údjango.db.utilsr   Údjango.utils.functionalr   Úbaser   r
   © r*   r(   ú<module>rt      s&   ðÛ å !Ý AÝ ,Ý 3å ôZÐ+õ Zr*   