
    (phS                     ^    S SK r S SKJr  S SKJr  S SKJr  S SKJr  SSK	J
r
   " S S	\5      rg)
    N)transaction)BaseDatabaseFeatures)OperationalError)cached_property   )Databasec                   D  ^  \ rS rSrSrSrSrSrSrSr	Sr
SrSrSrSrSrSrSrSrSrSr\R,                  S:  rSrSrSr\R,                  S:  r\R,                  S	:  r\R,                  S
:  r\R,                  S:  rSrSr Sr!Sr"\R,                  S:  r#\R,                  S:  r$SSSSS.r%S1r&Sr'Sr(Sr)\*S 5       r+\*U 4S j5       r,\*S 5       r-\." \/R`                  " S5      5      r1\." \/R`                  " S5      5      r2\*S 5       r3\." \/R`                  " S5      5      r4Sr5U =r6$ )DatabaseFeatures   )      FTi  r   )r   #      )r      r   )r      r   )r   r   r   )r   r   )r      r   nocasebinary)cicsnon_defaultvirtualz9expressions.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)
        )
    z"INSERT INTO {} ("null") VALUES (1)c                     S11 Sk1 SkS.nU R                   R                  5       (       a  UR                  SS1S1S.5        U$ UR                  S	1S
1S.5        U$ )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_dropsHschema.tests.SchemaTests.test_alter_field_default_doesnt_perform_queriesKschema.tests.SchemaTests.test_rename_column_renames_deferred_sql_references>   Idb_functions.math.test_round.RoundTests.test_null_with_negative_precisionJdb_functions.math.test_round.RoundTests.test_float_with_negative_precisionLdb_functions.math.test_round.RoundTests.test_decimal_with_negative_precisionLdb_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().zJservers.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)
connectionis_in_memory_dbupdate)selfskipss     V/var/www/html/venv/lib/python3.13/site-packages/django/db/backends/sqlite3/features.pydjango_test_skips"DatabaseFeatures.django_test_skipsB   s    <GF	G
0 ??**,,LL22+H&>  LL7'H)     c                 *   > 0 [         TU ]  ESSSSS.E$ )N	AutoFieldBigIntegerField	CharField)BigAutoFieldDurationFieldGenericIPAddressFieldSmallAutoField)superintrospected_field_types)r%   	__class__s    r'   r4   )DatabaseFeatures.introspected_field_types~   s+    
g.
'.%0)
 	
r*   c                 H   U R                   R                  5        n [        R                  " U R                   R                  5         UR                  S5        S S S 5        S S S 5        g! , (       d  f       N= f! [         a     S S S 5        gf = f! , (       d  f       g= f)NzSELECT JSON('{"a": "b"}')FT)r"   cursorr   atomicaliasexecuter   )r%   r8   s     r'   supports_json_field$DatabaseFeatures.supports_json_field   s}    __##% ''(=(=>NN#@A ? & 	 ?>#  &%	 &% sL   B*A;A*A;*
A8	4A;7B8A;;
BBBB
B!r<   c                 (    [         R                  S:  $ )N)r   r   )r   sqlite_version_info)r%   s    r'   can_return_columns_from_insert/DatabaseFeatures.can_return_columns_from_insert   s    ++w66r*   r@    )7__name__
__module____qualname____firstlineno__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_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!supports_stored_generated_columns"supports_virtual_generated_columnstest_collationsdjango_test_expected_failures,create_test_table_with_composite_primary_keyinsert_test_table_with_defaults"supports_default_keyword_in_insertr   r(   r4   r<   propertyoperator
attrgettercan_introspect_json_fieldhas_json_object_functionr@    can_return_rows_from_bulk_insert__static_attributes____classcell__)r5   s   @r'   r
   r
      s   &*/'"   $$(!"#( ! $"*">">*"L',$"&*2*F*F**T''/'C'Cz'Q$'/'C'Cz'Q$*2*F*F*P'#(  $,0)(0(D(D
(R%)1)E)E)S&	O 	D%!
40 'K#).&9 9v 
 
   !))<)<=R)S T'(;(;<Q(RS7 7 (0<=($r*   r
   )rl   	django.dbr    django.db.backends.base.featuresr   django.db.utilsr   django.utils.functionalr   baser   r
   rB   r*   r'   <module>rx      s&     ! A , 3 P+ Pr*   