11import json
2- from collections .abc import Iterable , Sequence
2+ from collections .abc import Callable , Sequence
33from datetime import date , time , timedelta
44from datetime import datetime as real_datetime
55from decimal import Decimal
@@ -13,6 +13,9 @@ from django.db.models.constants import OnConflict
1313from django .db .models .expressions import Case , Col , Expression
1414from django .db .models .fields import Field
1515from django .db .models .sql .compiler import SQLCompiler
16+ from typing_extensions import TypeAlias
17+
18+ _Converter : TypeAlias = Callable [[Any , Expression , BaseDatabaseWrapper ], Any ]
1619
1720class BaseDatabaseOperations :
1821 compiler_module : str
@@ -57,7 +60,7 @@ class BaseDatabaseOperations:
5760 def pk_default_value (self ) -> str : ...
5861 def prepare_sql_script (self , sql : Any ) -> list [str ]: ...
5962 def process_clob (self , value : str ) -> str : ...
60- def return_insert_columns (self , fields : Any ) -> Any : ...
63+ def return_insert_columns (self , fields : list [ Field [ Any , Any ]] ) -> tuple [ str , list [ Any ]] : ...
6164 def compiler (self , compiler_name : str ) -> type [SQLCompiler ]: ...
6265 def quote_name (self , name : str ) -> str : ...
6366 def regex_lookup (self , lookup_type : str ) -> str : ...
@@ -68,14 +71,14 @@ class BaseDatabaseOperations:
6871 def sql_flush (
6972 self , style : Style , tables : Sequence [str ], * , reset_sequences : bool = ..., allow_cascade : bool = ...
7073 ) -> list [str ]: ...
71- def execute_sql_flush (self , sql_list : Iterable [str ]) -> None : ...
72- def sequence_reset_by_name_sql (self , style : Style | None , sequences : list [Any ] ) -> list [Any ]: ...
73- def sequence_reset_sql (self , style : Style , model_list : Sequence [type [Model ]]) -> list [Any ]: ...
74+ def execute_sql_flush (self , sql_list : list [str ]) -> None : ...
75+ def sequence_reset_by_name_sql (self , style : Style , sequences : list [dict [ str , str | None ]] ) -> list [str ]: ...
76+ def sequence_reset_sql (self , style : Style , model_list : list [type [Model ]]) -> list [str ]: ...
7477 def start_transaction_sql (self ) -> str : ...
7578 def end_transaction_sql (self , success : bool = ...) -> str : ...
76- def tablespace_sql (self , tablespace : str | None , inline : bool = ...) -> str : ...
77- def prep_for_like_query (self , x : str ) -> str : ...
78- prep_for_iexact_query : Any
79+ def tablespace_sql (self , tablespace : str , inline : bool = ...) -> str : ...
80+ def prep_for_like_query (self , x : object ) -> str : ...
81+ def prep_for_iexact_query ( self , x : object ) -> str : ...
7982 def validate_autopk_value (self , value : int ) -> int : ...
8083 def adapt_unknown_value (self , value : Any ) -> Any : ...
8184 def adapt_datefield_value (self , value : date | None ) -> str | None : ...
@@ -89,14 +92,14 @@ class BaseDatabaseOperations:
8992 def adapt_integerfield_value (self , value : Any , internal_type : Any ) -> Any : ...
9093 def year_lookup_bounds_for_date_field (self , value : int , iso_year : bool = ...) -> list [str ]: ...
9194 def year_lookup_bounds_for_datetime_field (self , value : int , iso_year : bool = ...) -> list [str ]: ...
92- def get_db_converters (self , expression : Expression ) -> list [Any ]: ...
95+ def get_db_converters (self , expression : Expression ) -> list [_Converter ]: ...
9396 def convert_durationfield_value (
9497 self , value : float | None , expression : Expression , connection : BaseDatabaseWrapper
9598 ) -> timedelta | None : ...
96- def check_expression_support (self , expression : Any ) -> None : ...
97- def conditional_expression_supported_in_where_clause (self , expression : Any ) -> bool : ...
99+ def check_expression_support (self , expression : Expression ) -> None : ...
100+ def conditional_expression_supported_in_where_clause (self , expression : Expression ) -> bool : ...
98101 def combine_expression (self , connector : str , sub_expressions : list [str ]) -> str : ...
99- def combine_duration_expression (self , connector : Any , sub_expressions : Any ) -> str : ...
102+ def combine_duration_expression (self , connector : str , sub_expressions : list [ str ] ) -> str : ...
100103 def binary_placeholder_sql (self , value : Case | None ) -> str : ...
101104 def modify_insert_params (self , placeholder : str , params : Any ) -> Any : ...
102105 def integer_field_range (self , internal_type : Any ) -> tuple [int , int ]: ...
0 commit comments