o xäÁg1ã@s@ddlZddlmZddlmZddlmZGdd„deƒZdS)éN)ÚInterfaceError)ÚBaseDatabaseFeatures)Úcached_propertycs`eZdZdZdZdZdZdZdZdZ dZ dZ dZ dZ dZdZdZdZdZdZdZdZdZdZeZdZdZdZdZdZdZdZ dZ!dZ"dZ#dZ$hd£Z%dZ&dZ'dZ(ddhiZ)e*dd „ƒZ+e*‡fd d „ƒZ,e*d d „ƒZ-e*dd„ƒZ.e*dd„ƒZ/e*dd„ƒZ0e1e2 3d¡ƒZ4e1e2 3d¡ƒZ5e1e2 3d¡ƒZ6e1e2 3d¡ƒZ7e1e2 3d¡ƒZ8e1e2 3d¡ƒZ9e1e2 3d¡ƒZ:‡Z;S)ÚDatabaseFeaturesTFz° CREATE FUNCTION test_procedure () RETURNS void AS $$ DECLARE V_I INTEGER; BEGIN V_I := 1; END; $$ LANGUAGE plpgsql;z½ CREATE FUNCTION test_procedure (P_I INTEGER) RETURNS void AS $$ DECLARE V_I INTEGER; BEGIN V_I := P_I; END; $$ LANGUAGE plpgsql;>ÚXMLÚJSONÚTEXTÚYAMLzopclasses are PostgreSQL only.zQindexes.tests.SchemaIndexesNotPostgreSQLTests.test_create_index_ignores_opclassescCs|jrdddœSiS)Nzsv-x-icu)Ú non_defaultÚ swedish_ci)Úis_postgresql_10©Úself©rúH/usr/lib/python3/dist-packages/django/db/backends/postgresql/features.pyÚtest_collationsCs þz DatabaseFeatures.test_collationscsitƒj¥ddddœ¥S)NÚBigIntegerFieldÚ IntegerFieldÚSmallIntegerField)ÚPositiveBigIntegerFieldÚPositiveIntegerFieldÚPositiveSmallIntegerField)ÚsuperÚintrospected_field_typesr ©Ú __class__rrrMsÿüz)DatabaseFeatures.introspected_field_typescCó |jjdkS)Ni †©Ú connectionÚ pg_versionr rrrr Vó z!DatabaseFeatures.is_postgresql_10cCr)Ni°­rr rrrÚis_postgresql_11Zr z!DatabaseFeatures.is_postgresql_11cCr)NiÀÔrr rrrÚis_postgresql_12^r z!DatabaseFeatures.is_postgresql_12cCr)NiÐûrr rrrÚis_postgresql_13br z!DatabaseFeatures.is_postgresql_13r r!r")<Ú__name__Ú __module__Ú __qualname__Úallows_group_by_selected_pksÚcan_return_columns_from_insertÚ can_return_rows_from_bulk_insertÚhas_real_datatypeÚhas_native_uuid_fieldÚhas_native_duration_fieldÚhas_native_json_fieldÚcan_defer_constraint_checksÚhas_select_for_updateÚhas_select_for_update_nowaitÚhas_select_for_update_ofÚ!has_select_for_update_skip_lockedÚhas_select_for_no_key_updateÚcan_release_savepointsÚsupports_tablespacesÚsupports_transactionsÚ!can_introspect_materialized_viewsÚcan_distinct_on_fieldsÚcan_rollback_ddlÚsupports_combined_altersÚnulls_order_largestrÚclosed_cursor_error_classÚhas_case_insensitive_likeÚgreatest_least_ignores_nullsÚcan_clone_databasesÚsupports_temporal_subtractionÚ%supports_slicing_ordering_in_compoundÚ(create_test_procedure_without_params_sqlÚ(create_test_procedure_with_int_param_sqlÚrequires_casted_case_in_updatesÚsupports_over_clauseÚ4only_supports_unbounded_with_preceding_and_followingÚ supports_aggregate_filter_clauseÚsupported_explain_formatsÚ&supports_deferrable_unique_constraintsÚhas_json_operatorsÚ-json_key_contains_list_matching_requires_listÚdjango_test_skipsrrrr r!r"r#ÚpropertyÚoperatorÚ attrgetterÚhas_brin_autosummarizeÚhas_websearch_to_tsqueryÚsupports_table_partitionsÚsupports_covering_indexesÚsupports_covering_gist_indexesÚ%supports_non_deterministic_collationsÚ&supports_alternate_collation_providersÚ __classcell__rrrrrszÿÿ      r)rNÚ django.dbrÚ django.db.backends.base.featuresrÚdjango.utils.functionalrrrrrrÚs