§
    Ÿj…  ã                   óf   — 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dS )
é    N)Útransaction)ÚBaseDatabaseFeatures)ÚOperationalError)Úcached_propertyé   )ÚDatabasec                   ó´  ‡ — 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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dddd	œZ#d
hZ$dZ%dZ&dZ'dZ(e)d„ ¦   «         Z*e)ˆ fd„¦   «         Z+e)d„ ¦   «         Z, e- e.j/        d¦  «        ¦  «        Z0 e- e.j/        d¦  «        ¦  «        Z1e)d„ ¦   «         Z2 e- e.j/        d¦  «        ¦  «        Z3ˆ xZ4S )ÚDatabaseFeatures)é   é   FTiç  r   )r   é#   é   ÚnocaseÚbinary)ÚciÚcsÚnon_defaultÚvirtualz9expressions.tests.FTimeDeltaTests.test_mixed_comparisons1z"INSERT INTO {} ("null") VALUES (1)c                 ó  — dhh d£h d£dhdœ}| j                              ¦   «         r|                     ddhdhd	œ¦  «         n|                     d
hdhdœ¦  «         t          j        dk     r|                     ddhi¦  «         |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_precisionz>backends.base.test_base.ExecuteWrapperTests.test_wrapper_debug)z6SQLite stores values rounded to 15 significant digits.z5SQLite naively remakes the table on field alteration.z6SQLite doesn't support negative precision for ROUND().z/The actual query cannot be determined on SQLitezJservers.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 databasezIFor SQLite in-memory tests, closing the connection destroys the 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   é/   zESQLite does not parse escaped double quotes in the JSON path notationzQmodel_fields.test_jsonfield.TestQuerying.test_lookups_special_chars_double_quotes)Ú
connectionÚis_in_memory_dbÚupdater   Úsqlite_version_info)ÚselfÚskipss     úp/var/www/finuniver-perm.ru/html/student/venv/lib/python3.11/site-packages/django/db/backends/sqlite3/features.pyÚdjango_test_skipsz"DatabaseFeatures.django_test_skips;   s  € ð<ðGðFð Fð Fð	Gð 	Gð 	Gð Qð@ð/
ð 
ˆð6 Œ?×*Ò*Ñ,Ô,ð 	Ø�LŠLð2ð2ð+ðHð&ðð ñô ð ð ð" �LŠLð7ð'ðHð)ðð ñô ð õ Ô'¨'Ò1Ð1Ø�LŠLððCð!ðñô ð ð ˆó    c                 ó<   •— i t          ¦   «         j        ¥dddddœ¥S )NÚ	AutoFieldÚBigIntegerFieldÚ	CharField)ÚBigAutoFieldÚDurationFieldÚGenericIPAddressFieldÚSmallAutoField)ÚsuperÚintrospected_field_types)r#   Ú	__class__s    €r%   r1   z)DatabaseFeatures.introspected_field_types„   s7   ø€ ð
Ý‰gŒgÔ.ð
à'Ø.Ø%0Ø)ð
ð 
ð 
ð 	
r'   c                 ó:  — | j                              ¦   «         5 }	 t          j        | j         j        ¦  «        5  |                     d¦  «         d d d ¦  «         n# 1 swxY w Y   n# t          $ r Y d d d ¦  «         dS w xY wd d d ¦  «         n# 1 swxY w Y   dS )NzSELECT JSON('{"a": "b"}')FT)r   Úcursorr   ÚatomicÚaliasÚexecuter   )r#   r4   s     r%   Úsupports_json_fieldz$DatabaseFeatures.supports_json_fieldŽ   sJ  € àŒ_×#Ò#Ñ%Ô%ð 	¨ðÝ Ô'¨¬Ô(=Ñ>Ô>ð Bð BØ—N’NÐ#@ÑAÔAÐAðBð Bð Bñ Bô Bð Bð Bð Bð Bð Bð Bøøøð Bð Bð Bð Bøøå#ð ð ð Øð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ðøøøð		ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð ˆtsW   šBœA(ºAÁA(ÁA 	Á A(Á#A 	Á$A(Á'BÁ(
BÁ2BÂ BÂBÂBÂBr8   c                 ó"   — t           j        dk    S )N)r   r   )r   r"   )r#   s    r%   Úcan_return_columns_from_insertz/DatabaseFeatures.can_return_columns_from_insert›   s   € åÔ+¨wÒ6Ð6r'   r:   )5Ú__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_drop_columnÚ supports_parentheses_in_compoundÚcan_defer_constraint_checksÚsupports_over_clauseÚ#supports_frame_range_fixed_distanceÚsupports_frame_exclusionÚ supports_aggregate_filter_clauseÚorder_by_nulls_firstÚsupports_json_field_containsÚsupports_update_conflictsÚ%supports_update_conflicts_with_targetÚ!supports_stored_generated_columnsÚ"supports_virtual_generated_columnsÚtest_collationsÚdjango_test_expected_failuresÚinsert_test_table_with_defaultsÚ"supports_default_keyword_in_insertÚsupports_unlimited_charfieldÚsupports_tuple_lookupsr   r&   r1   r8   ÚpropertyÚoperatorÚ
attrgetterÚcan_introspect_json_fieldÚhas_json_object_functionr:   Ú can_return_rows_from_bulk_insertÚ__classcell__)r2   s   @r%   r
   r
      sï  ø€ € € € € Ø&ÐØ*/Ð'Ø"ÐØÐØÐØ ÐØÐØÐØ ÐØ $ÐØÐØ$(Ð!Ø"ÐØ#(Ð ØÐØ!ÐØ $Ðà"*Ô">À*Ò"LÐØ',Ð$Ø"&ÐØÐØ*.Ð'Ø#ÐØ'+Ð$ØÐØ#(Ð Ø $ÐØ,0Ð)Ø(,Ð%Ø)-Ð&àØØØð	ð €Oð 	Dð%Ð!ð
 'KÐ#Ø).Ð&Ø#'Ð Ø"ÐàðFð Fñ „_ðFðP ð
ð 
ð 
ð 
ñ „_ð
ð ðð ñ „_ðð !) Ð)<¨Ô)<Ð=RÑ)SÔ)SÑ TÔ TÐØ'˜xÐ(;¨Ô(;Ð<QÑ(RÔ(RÑSÔSÐàð7ð 7ñ „_ð7ð (0 xØˆÔÐ<Ñ=Ô=ñ(ô (Ð$Ð$Ð$Ð$Ð$r'   r
   )rc   Ú	django.dbr   Ú django.db.backends.base.featuresr   Údjango.db.utilsr   Údjango.utils.functionalr   Úbaser   r
   © r'   r%   ú<module>ro      s§   ðØ €€€à !Ð !Ð !Ð !Ð !Ð !Ø AÐ AÐ AÐ AÐ AÐ AØ ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø 3Ð 3Ð 3Ð 3Ð 3Ð 3à Ð Ð Ð Ð Ð ðVð Vð Vð Vð VÐ+ñ Vô Vð Vð Vð Vr'   