
    jF!                     :    S SK r S SKJr  S SKJr   " S S\5      rg)    N)BaseDatabaseFeatures)cached_propertyc                     ^  \ 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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 5       r*\)S	 5       r+S
r,\)S 5       r-\)S 5       r.\)S 5       r/\)S 5       r0\)S 5       r1\)U 4S j5       r2\)S 5       r3\4" \5Rl                  " S5      5      r7\)S 5       r8\)S 5       r9\)S 5       r:\)S 5       r;\)S 5       r<\)S 5       r=\)S 5       r>\)S 5       r?\)S 5       r@\)S 5       rA\)S 5       rB\)S 5       rC\)S 5       rD\)S  5       rE\4" \5Rl                  " S!5      5      rF\)S" 5       rGSrHU =rI$ )#DatabaseFeatures    TFz
        CREATE PROCEDURE test_procedure ()
        BEGIN
            DECLARE V_I INTEGER;
            SET V_I = 1;
        END;
    z
        CREATE PROCEDURE test_procedure (P_I INTEGER)
        BEGIN
            DECLARE V_I INTEGER;
            SET V_I = P_I;
        END;
    zINSERT INTO {} () VALUES ()c                 <    U R                   R                  (       a  gg)N)
      )      
connectionmysql_is_mariadbselfs    Y/var/www/html/KUNJ/venv/lib/python3.13/site-packages/django/db/backends/mysql/features.pyminimum_database_version)DatabaseFeatures.minimum_database_versionA   s    ??++    c                     SSSSS.$ )Nutf8mb4_general_ciutf8mb4_esperanto_ciutf8mb4_swedish_ci)cinon_default
swedish_civirtualr   r   s    r   test_collations DatabaseFeatures.test_collationsH   s     '1.-	
 	
r   zUTC_TIMESTAMP(6)c                     SS1S1S11 SkS.nU R                   R                  (       d  UR                  SSS	105        U$ )
NzLdb_functions.comparison.test_greatest.GreatestTests.test_coalesce_workaroundzFdb_functions.comparison.test_least.LeastTests.test_coalesce_workaroundz;schema.tests.SchemaTests.test_func_index_json_key_transformzDexpressions.tests.FTimeDeltaTests.test_durationfield_multiply_divide>   @update.tests.AdvancedTests.test_update_ordered_by_m2m_annotationEupdate.tests.AdvancedTests.test_update_ordered_by_m2m_annotation_descGupdate.tests.AdvancedTests.test_update_ordered_by_inline_m2m_annotation)zThis doesn't work on MySQL.zHMySQL doesn't support functional indexes on a function that returns JSONzkMySQL supports multiplying and dividing DurationFields by a scalar value but it's not implemented (#25287).zWUPDATE ... ORDER BY syntax on MySQL/MariaDB does not support ordering byrelated fields.zDMySQL doesn't allow renaming columns referenced by generated columnsz_migrations.test_operations.OperationTests.test_invalid_generated_field_changes_on_rename_storedz`migrations.test_operations.OperationTests.test_invalid_generated_field_changes_on_rename_virtual)r   r   update)r   skipss     r   django_test_skips"DatabaseFeatures.django_test_skipsS   sq    ++, N
 W@ !
. //LLPQ 
 r   c                 4    U R                   R                  S   $ )zI
Internal method used in Django tests. Don't rely on this from your code
default_storage_enginer   mysql_server_datar   s    r   _mysql_storage_engine&DatabaseFeatures._mysql_storage_enginez   s    
 001IJJr   c                 4    SU R                   R                  ;   $ )z\
Autoincrement primary key can be set to 0 if it doesn't generate new
autoincrement values.
NO_AUTO_VALUE_ON_ZERO)r   sql_moder   s    r   allows_auto_pk_0!DatabaseFeatures.allows_auto_pk_0   s     '$//*B*BBBr   c                 .    U R                   R                  $ Nr   r   s    r   update_can_self_select'DatabaseFeatures.update_can_self_select       ///r   c                      U R                   S:g  $ )z-Confirm support for introspected foreign keysMyISAMr-   r   s    r   can_introspect_foreign_keys,DatabaseFeatures.can_introspect_foreign_keys   s     ))X55r   c                 *   > 0 [         TU ]  ESSSSS.E$ )N	TextFieldIntegerFieldBigIntegerField	CharField)BinaryFieldBooleanFieldDurationFieldGenericIPAddressField)superintrospected_field_types)r   	__class__s    r   rH   )DatabaseFeatures.introspected_field_types   s+    
g.
&*.%0
 	
r   c                 .    U R                   R                  $ r5   r   r   s    r   can_return_columns_from_insert/DatabaseFeatures.can_return_columns_from_insert   r8   r   rL   c                 4    U R                   R                  S   $ )Nhas_zoneinfo_databaser+   r   s    r   rO   &DatabaseFeatures.has_zoneinfo_database   s    001HIIr   c                 4    U R                   R                  S   $ )Nsql_auto_is_nullr+   r   s    r   is_sql_auto_is_null_enabled,DatabaseFeatures.is_sql_auto_is_null_enabled   s    001CDDr   c                 8    U R                   R                  (       + $ r5   r   r   s    r   has_select_for_update_of)DatabaseFeatures.has_select_for_update_of       ??3333r   c                 f    1 SknU R                   R                  (       d  UR                  S5        U$ )N>   JSONTEXTTRADITIONALTREE)r   r   add)r   formatss     r   supported_explain_formats*DatabaseFeatures.supported_explain_formats   s'     2//KKr   c                      U R                   S:g  $ )z9
All storage engines except MyISAM support transactions.
r:   r;   r   s    r   supports_transactions&DatabaseFeatures.supports_transactions   s    
 ))X55r   c                 4    U R                   R                  S   $ )Nlower_case_table_namesr+   r   s    r   ignores_table_name_case(DatabaseFeatures.ignores_table_name_case   s    001IJJr   c                 8    U R                   R                  (       + $ r5   r   r   s    r   supports_default_in_lead_lag-DatabaseFeatures.supports_default_in_lead_lag   s     ??3333r   c                 R    U R                   R                  (       a  U R                  $ g)NT)r   r    can_introspect_check_constraintsr   s    r   can_introspect_json_field*DatabaseFeatures.can_introspect_json_field   s    ??++888r   c                 &    U R                   S:w  a  gg)NInnoDBFTr;   r   s    r   supports_index_column_ordering/DatabaseFeatures.supports_index_column_ordering   s    %%1r   c                 d    U R                   R                  (       + =(       a    U R                  S:g  $ )Nr:   )r   r   r-   r   s    r   supports_expression_indexes,DatabaseFeatures.supports_expression_indexes   s,     000 7**h6	
r   c                 .    U R                   R                  $ r5   r   r   s    r   has_native_uuid_field&DatabaseFeatures.has_native_uuid_field   r8   r   c                 l    U R                   R                  (       a  SU R                   R                  ;  $ g)NONLY_FULL_GROUP_BYT)r   r   r1   r   s    r   allows_group_by_selected_pks-DatabaseFeatures.allows_group_by_selected_pks   s'    ??++'t/G/GGGr   c                 8    U R                   R                  (       + $ r5   r   r   s    r   supports_any_value#DatabaseFeatures.supports_any_value   rX   r   c                 l    U R                   R                  (       a  U R                   R                  S:  $ gN)r   r   Fr   r   mysql_versionr   s    r   supports_uuid4_function(DatabaseFeatures.supports_uuid4_function   '    ??++??00G;;r   r   c                 l    U R                   R                  (       a  U R                   R                  S:  $ gr   r   r   s    r   supports_uuid7_function(DatabaseFeatures.supports_uuid7_function   r   r   )J__name__
__module____qualname____firstlineno__empty_fetchmany_valuerelated_fields_match_typeallow_sliced_subqueries_with_inhas_select_for_updatehas_select_for_update_nowait!has_select_for_update_skip_lockedsupports_forward_referencessupports_regex_backreferencing!supports_date_lookup_using_stringsupports_timezones-requires_explicit_null_ordering_when_groupingatomic_transactionscan_clone_databases"supports_aggregate_order_by_clausesupports_commentssupports_comments_inlinesupports_temporal_subtraction%supports_slicing_ordering_in_compoundsupports_index_on_text_fieldsupports_over_clause#supports_frame_range_fixed_distancesupports_update_conflicts$supports_default_in_bit_aggregationscan_rename_index"delete_can_self_reference_subquery(create_test_procedure_without_params_sql(create_test_procedure_with_int_param_sqlsupports_on_delete_db_defaultsupports_partial_indexescollate_as_index_expressioninsert_test_table_with_defaults supports_order_by_nulls_modifierorder_by_nulls_firstsupports_logical_xor!supports_stored_generated_columns"supports_virtual_generated_columnssupports_json_negative_indexingr   r   r   test_now_utc_templater'   r-   r2   r6   r<   rH   rL   propertyoperator
attrgetter can_return_rows_from_bulk_insertrO   rS   rV   r`   rc   rg   rj   rn   rr   ru   rx   r|   r   r   "supports_uuid4_function_in_defaultr   __static_attributes____classcell__)rI   s   @r   r   r      s    $&+# #' (,%"'%*"(-%481)-&#$(!,0)#( *.' $+0().&0,0, %*!$ #'&C#',$(,%)-&&+#  
 
 /$ $L K K C C 0 0 6 6 
 
 0 0 (0<=($ J J E E 4 4   6 6 K K 4 4  
  
 
 
 0 0  
 4 4  
 *256*&  r   r   )r    django.db.backends.base.featuresr   django.utils.functionalr   r   r   r   r   <module>r      s     A 3q+ qr   