""" # noqa
-from functools import partial
-
from .pymysql import MySQLDialect_pymysql
from ... import pool
from ... import util
def connect(self, *arg, **kw):
async_fallback = kw.pop("async_fallback", False)
- creator_fn = kw.pop("creator_fn", partial(self.aiomysql.connect))
+ creator_fn = kw.pop("creator_fn", self.aiomysql.connect)
if util.asbool(async_fallback):
return AsyncAdaptFallback_aiomysql_connection(
""" # noqa
from contextlib import asynccontextmanager
-from functools import partial
from .pymysql import MySQLDialect_pymysql
from ... import pool
def connect(self, *arg, **kw):
async_fallback = kw.pop("async_fallback", False)
- creator_fn = kw.pop("creator_fn", partial(self.asyncmy.connect))
+ creator_fn = kw.pop("creator_fn", self.asyncmy.connect)
if util.asbool(async_fallback):
return AsyncAdaptFallback_asyncmy_connection(
import collections
import decimal
-from functools import partial
import json as _py_json
import re
import time
def connect(self, *arg, **kw):
async_fallback = kw.pop("async_fallback", False)
- creator_fn = kw.pop("creator_fn", partial(self.asyncpg.connect))
+ creator_fn = kw.pop("creator_fn", self.asyncpg.connect)
prepared_statement_cache_size = kw.pop(
"prepared_statement_cache_size", 100
)
def connect(self, *arg, **kw):
async_fallback = kw.pop("async_fallback", False)
- creator_fn = kw.pop("creator_fn", partial(self.aiosqlite.connect))
+ creator_fn = kw.pop("creator_fn", self.aiosqlite.connect)
connection = creator_fn(*arg, **kw)
# it's a Thread. you'll thank us later
from ...engine import Engine
from ...engine.base import NestedTransaction
from ...engine.base import Transaction
+from ...exc import ArgumentError
from ...util.concurrency import greenlet_spawn
if TYPE_CHECKING:
kw["_is_async"] = True
async_creator = kw.pop("async_creator", None)
if async_creator:
-
- async def wrap_async_creator() -> Any:
- return await async_creator()
+ if kw.get("creator", None):
+ raise ArgumentError(
+ "can only specify one of 'async_creator' or"
+ " 'creator', not both."
+ )
def creator() -> Any:
# note that to send adapted arguments like
# prepared_statement_cache_size, user would use
# "creator" and emulate this form here
- return sync_engine.dialect.dbapi.connect(
- creator_fn=wrap_async_creator
- )
+ return sync_engine.dialect.dbapi.connect(creator_fn=async_creator)
kw["creator"] = creator
sync_engine = _create_engine(url, **kw)