OwlCyberSecurity - MANAGER
Edit File: features.cpython-39.pyc
a ���e�/ � @ s4 d dl Z d dlmZ d dlmZ G dd� de�ZdS )� N)�BaseDatabaseFeatures)�cached_propertyc s e Zd ZdZdZdZdZdZdZdZ dZ dZdZdZ dZdZdZdZdZdZdZdZdZdZdZdZdZdZedd� �Zed d � �ZdZedd � �Z edd� �Z!edd� �Z"edd� �Z#edd� �Z$e� fdd��Z%edd� �Z&e'e(�)d��Z*edd� �Z+edd� �Z,edd � �Z-e'e(�)d!��Z.ed"d#� �Z/e'e(�)d$��Z0ed%d&� �Z1ed'd(� �Z2ed)d*� �Z3ed+d,� �Z4ed-d.� �Z5ed/d0� �Z6ed1d2� �Z7e'e(�)d3��Z8e'e(�)d3��Z9ed4d5� �Z:ed6d7� �Z;ed8d9� �Z<ed:d;� �Z=ed<d=� �Z>ed>d?� �Z?e'e(�)d@��Z@edAdB� �ZAedCdD� �ZB� ZCS )E�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� CREATE TABLE test_table_composite_pk ( column_1 INTEGER NOT NULL, column_2 INTEGER NOT NULL, PRIMARY KEY(column_1, column_2) ) c C s | j jrdS dS d S )N)� � )� �� connection�mysql_is_mariadb��selfr r �b/home/gouroczh/virtualenv/pat/3.9/lib/python3.9/site-packages/django/db/backends/mysql/features.py�minimum_database_version9 s z)DatabaseFeatures.minimum_database_versionc C sN d}| j jr| j jdks,| j js0| j jdkr0d}|� d�|� d�|� d�d�S ) N�utf8�r � )r r � Zutf8mb3Z_general_ciZ _esperanto_ciZ_swedish_ci)�ciZnon_defaultZ swedish_ci�r r � mysql_version)r �charsetr r r �test_collations@ s � �� ��z DatabaseFeatures.test_collationszUTC_TIMESTAMP(6)c C s� ddhddhdhdhddhd �}| j jrTd | j j k r@dk rTn n|�dd hi� | j jr�d| j j k rtdk r�n n|�ddhi� | js�|�ddhi� d| j jv r�|�ddhi� | j jr�| j jdkr�|�ddhi� |S )NzLdb_functions.comparison.test_greatest.GreatestTests.test_coalesce_workaroundzFdb_functions.comparison.test_least.LeastTests.test_coalesce_workaroundz5model_fields.test_textfield.TextFieldTests.test_emojiz4model_fields.test_charfield.TestCharField.test_emojiz;schema.tests.SchemaTests.test_func_index_json_key_transformzDexpressions.tests.FTimeDeltaTests.test_durationfield_multiply_dividezGupdate.tests.AdvancedTests.test_update_ordered_by_inline_m2m_annotationz@update.tests.AdvancedTests.test_update_ordered_by_m2m_annotation)zThis doesn't work on MySQL.z4Running on MySQL requires utf8mb4 encoding (#18392).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.)r r � �r � � z*https://jira.mariadb.org/browse/MDEV-19598zCschema.tests.SchemaTests.test_alter_not_unique_field_to_primary_key)r r � )r r z*https://jira.mariadb.org/browse/MDEV-22775zBschema.tests.SchemaTests.test_alter_pk_with_self_referential_fieldz%MariaDB and MySQL >= 8.0.18 specific.z4queries.test_explain.ExplainTests.test_mysql_analyze�ONLY_FULL_GROUP_BYzjGROUP BY cannot contain nonaggregated column when ONLY_FULL_GROUP_BY mode is enabled on MySQL, see #34262.zOaggregation.tests.AggregateTestCase.test_group_by_nested_expression_with_paramsz�ALTER TABLE ... RENAME COLUMN statement doesn't rename inline constraints on MariaDB 10.5.2+, this is fixed in Django 5.0+ (#34320).zGschema.tests.SchemaTests.test_rename_field_with_check_to_truncated_name)r r r �update�supports_explain_analyze�sql_mode)r �skipsr r r �django_test_skipsT st ������ �� ��� �� ��������� ��� z"DatabaseFeatures.django_test_skipsc C s | j jd S )zGInternal method used in Django tests. Don't rely on this from your codeZdefault_storage_engine�r Zmysql_server_datar r r r �_mysql_storage_engine� s z&DatabaseFeatures._mysql_storage_enginec C s d| j jv S )zt Autoincrement primary key can be set to 0 if it doesn't generate new autoincrement values. ZNO_AUTO_VALUE_ON_ZERO)r r! r r r r �allows_auto_pk_0� s z!DatabaseFeatures.allows_auto_pk_0c C s | j jo| j jdkS )N)r r r r r r r r �update_can_self_select� s z'DatabaseFeatures.update_can_self_selectc C s | j dkS )z-Confirm support for introspected foreign keys�MyISAM�r% r r r r �can_introspect_foreign_keys� s z,DatabaseFeatures.can_introspect_foreign_keysc s i t � j�ddddd��S )NZ TextFieldZIntegerFieldZBigIntegerFieldZ CharField)ZBinaryFieldZBooleanFieldZ DurationFieldZGenericIPAddressField)�super�introspected_field_typesr �� __class__r r r, � s ��z)DatabaseFeatures.introspected_field_typesc C s | j jo| j jdkS )N)r r r r r r r r �can_return_columns_from_insert� s z/DatabaseFeatures.can_return_columns_from_insertr/ c C s | j jd S )N�has_zoneinfo_databaser$ r r r r r0 � s z&DatabaseFeatures.has_zoneinfo_databasec C s | j jd S )NZsql_auto_is_nullr$ r r r r �is_sql_auto_is_null_enabled� s z,DatabaseFeatures.is_sql_auto_is_null_enabledc C s | j jrdS | j jdkS )NT)r r r r r r r r �supports_over_clause� s z%DatabaseFeatures.supports_over_clauser2 c C s | j jrdS | j jdkS �NT�r r � r r r r r �!supports_column_check_constraints� s z2DatabaseFeatures.supports_column_check_constraintsr6 c C s | j jrdS | j jdkS r3 r r r r r � can_introspect_check_constraints� s z1DatabaseFeatures.can_introspect_check_constraintsc C s | j jr| j jdkS | j jdkS )Nr �r r � r r r r r �!has_select_for_update_skip_locked� s z2DatabaseFeatures.has_select_for_update_skip_lockedc C s | j jrdS | j jdkS )NTr8 r r r r r �has_select_for_update_nowait s z-DatabaseFeatures.has_select_for_update_nowaitc C s | j j o| j jdkS )Nr8 r r r r r �has_select_for_update_of s �z)DatabaseFeatures.has_select_for_update_ofc C s | j jp| j jdkS )N)r r � r r r r r r s z)DatabaseFeatures.supports_explain_analyzec C s* h d�}| j js&| j jdkr&|�d� |S )N> ZTRADITIONALZTEXT�JSONr4 ZTREE)r r r �add)r �formatsr r r �supported_explain_formats s z*DatabaseFeatures.supported_explain_formatsc C s | j dkS )zI All storage engines except MyISAM support transactions. r( r) r r r r �supports_transactions' s z&DatabaseFeatures.supports_transactionsrB c C s | j jd S )NZlower_case_table_namesr$ r r r r �ignores_table_name_case1 s z(DatabaseFeatures.ignores_table_name_casec C s | j j S )Nr r r r r �supports_default_in_lead_lag5 s z-DatabaseFeatures.supports_default_in_lead_lagc C s | j jr| jS dS )NT)r r r7 r r r r �can_introspect_json_field: s z*DatabaseFeatures.can_introspect_json_fieldc C s. | j dkrdS | jjr"| jjdkS | jjdkS )NZInnoDBF)r r r8 )r% r r r r r r r �supports_index_column_ordering@ s z/DatabaseFeatures.supports_index_column_orderingc C s | j j o| jdko| j jdkS )Nr( )r r � )r r r% r r r r r �supports_expression_indexesH s � �z,DatabaseFeatures.supports_expression_indexesc C s | j j}|p| j jdkS )N)r r � r )r Z is_mariadbr r r �supports_select_intersectionP s z-DatabaseFeatures.supports_select_intersectionrJ c C s | j jr| j jdkS dS )Nr Tr r r r r �can_rename_indexY s z!DatabaseFeatures.can_rename_indexc C s | j jrd| j jvS dS )Nr T)r r r! r r r r �allows_group_by_selected_pks_ s z-DatabaseFeatures.allows_group_by_selected_pks)D�__name__� __module__�__qualname__Zempty_fetchmany_valueZrelated_fields_match_typeZallow_sliced_subqueries_with_inZhas_select_for_updateZsupports_forward_referencesZsupports_regex_backreferencingZ!supports_date_lookup_using_stringZsupports_timezonesZ-requires_explicit_null_ordering_when_groupingZatomic_transactionsZcan_clone_databasesZsupports_commentsZsupports_comments_inlineZsupports_temporal_subtractionZ%supports_slicing_ordering_in_compoundZsupports_index_on_text_fieldZsupports_update_conflictsZ(create_test_procedure_without_params_sqlZ(create_test_procedure_with_int_param_sqlZ,create_test_table_with_composite_primary_keyZsupports_partial_indexesZcollate_as_index_expressionZ supports_order_by_nulls_modifierZorder_by_nulls_firstZsupports_logical_xorr r r Ztest_now_utc_templater# r% r&