@@ -109,8 +109,12 @@ def connection_validator(self) -> t.Callable[[], None]:
109109 """A function that validates the connection configuration"""
110110 return self .create_engine_adapter ().ping
111111
112- def create_engine_adapter (self , register_comments_override : bool = False ) -> EngineAdapter :
112+ def create_engine_adapter (
113+ self , register_comments_override : bool = False , concurrent_tasks : t .Optional [int ] = None
114+ ) -> EngineAdapter :
113115 """Returns a new instance of the Engine Adapter."""
116+ if concurrent_tasks :
117+ self .concurrent_tasks = concurrent_tasks
114118 return self ._engine_adapter (
115119 self ._connection_factory_with_kwargs ,
116120 multithreaded = self .concurrent_tasks > 1 ,
@@ -288,7 +292,9 @@ def init(cursor: duckdb.DuckDBPyConnection) -> None:
288292
289293 return init
290294
291- def create_engine_adapter (self , register_comments_override : bool = False ) -> EngineAdapter :
295+ def create_engine_adapter (
296+ self , register_comments_override : bool = False , concurrent_tasks : t .Optional [int ] = None
297+ ) -> EngineAdapter :
292298 """Checks if another engine adapter has already been created that shares a catalog that points to the same data
293299 file. If so, it uses that same adapter instead of creating a new one. As a result, any additional configuration
294300 associated with the new adapter will be ignored."""
@@ -319,7 +325,9 @@ def create_engine_adapter(self, register_comments_override: bool = False) -> Eng
319325 logger .info (f"Creating new DuckDB adapter for data files: { masked_files } " )
320326 else :
321327 logger .info ("Creating new DuckDB adapter for in-memory database" )
322- adapter = super ().create_engine_adapter (register_comments_override )
328+ adapter = super ().create_engine_adapter (
329+ register_comments_override , concurrent_tasks = concurrent_tasks
330+ )
323331 for data_file in data_files :
324332 key = data_file if isinstance (data_file , str ) else data_file .path
325333 BaseDuckDBConnectionConfig ._data_file_to_adapter [key ] = adapter
0 commit comments