
    j                     r    S SK r 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KJr   " S	 S
\5      rg)    N)transaction)BaseDatabaseFeatures)OperationalError)cached_propertyPY314   )Databasec                     ^  \ 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SrSrSrSrSr\R6                  S:  rSrSrSrSr Sr!Sr"Sr#Sr$SSSSS	.r%S
1r&Sr'Sr(Sr)Sr*Sr+Sr,Sr-Sr.\/S 5       r0\/S 5       r1\/U 4S j5       r2\3S 5       r4\/S 5       r5\3" \6Rn                  " S5      5      r8\3" \6Rn                  " S5      5      r9\3" \6Rn                  " S5      5      r:Sr;U =r<$ )DatabaseFeatures   )   %   FTr   )r   ,   r   nocasebinary)cicsnon_defaultvirtualz9expressions.tests.FTimeDeltaTests.test_mixed_comparisons1z"INSERT INTO {} ("null") VALUES (1)c                     [         $ )Nr   selfs    [/var/www/html/KUNJ/venv/lib/python3.13/site-packages/django/db/backends/sqlite3/features.pysupports_uuid7_function(DatabaseFeatures.supports_uuid7_functionA   s        c                 
   S11 Sk1 SkS1S.nU R                   R                  5       (       a  UR                  SS1S1S	.5        OUR                  S
1S1S.5        [        R                  S:  a  UR                  SS10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_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)r   skipss     r   django_test_skips"DatabaseFeatures.django_test_skipsE   s    <GF	G Q@/
6 ??**,,LL22+H&" LL7'H) '''1LLC! r   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   r8   )DatabaseFeatures.introspected_field_types   s+    
g.
'.%0)
 	
r   c                     U R                   R                  5         U R                   R                   R                  [        R                  5      $ )z
SQLite has a variable limit per query. The limit can be changed using
the SQLITE_MAX_VARIABLE_NUMBER compile-time option (which defaults to
32766) or lowered per connection at run-time with
setlimit(SQLITE_LIMIT_VARIABLE_NUMBER, N).
)r(   ensure_connectiongetlimitsqlite3SQLITE_LIMIT_VARIABLE_NUMBERr   s    r   max_query_params!DatabaseFeatures.max_query_params   s5     	))+))2273W3WXXr   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   rC   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!rG   supports_uuid4_function )=__name__
__module____qualname____firstlineno__minimum_database_version#test_db_allows_multiple_connectionssupports_unspecified_pksupports_timezones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_like supports_parentheses_in_compoundcan_defer_constraint_checkssupports_over_clause#supports_frame_range_fixed_distancesupports_frame_exclusion supports_aggregate_filter_clauser
   r+   "supports_aggregate_order_by_clause-supports_aggregate_distinct_multiple_argumentsupports_any_value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_no_precision_decimalfieldcan_return_columns_from_insert can_return_rows_from_bulk_insertcan_return_rows_from_updaterI   r   r   r-   r8   propertyr@   rG   operator
attrgettercan_introspect_json_fieldhas_json_object_function"supports_uuid4_function_in_default__static_attributes____classcell__)r9   s   @r   r   r      s   &*/'"   $$(!"#( ! $',$"&*.'#'+$)1)E)E)S&491#(  $,0)(,%)-&	O 	D%!
 'K#).&#' )-&%)"'+$"&"  F FP 
 
 Y Y   !))<)<=R)S T'(;(;<Q(RS)156*&r   r   )rx   r>   	django.dbr    django.db.backends.base.featuresr   django.db.utilsr   django.utils.functionalr   django.utils.versionr   baser
   r   rJ   r   r   <module>r      s,      ! A , 3 & d+ dr   