(self, with_db: bool)
| 76 | self._pool_init_lock = asyncio.Lock() |
| 77 | |
| 78 | async def create_connection(self, with_db: bool) -> None: |
| 79 | self._template = { |
| 80 | "minsize": self.minsize, |
| 81 | "maxsize": self.maxsize, |
| 82 | "echo": self.echo, |
| 83 | "pool_recycle": self.pool_recycle, |
| 84 | "dsn": self.dsn, |
| 85 | "autocommit": True, |
| 86 | **self._kwargs, |
| 87 | } |
| 88 | if with_db: |
| 89 | self._template["database"] = self.database |
| 90 | try: |
| 91 | self._pool = await asyncodbc.create_pool( |
| 92 | **self._template, |
| 93 | ) |
| 94 | await self._post_connect() |
| 95 | self.log.debug("Created connection %s pool with params: %s", self._pool, self._template) |
| 96 | except pyodbc.InterfaceError: |
| 97 | raise DBConnectionError(f"Can't establish connection to database {self.database}") |
| 98 | |
| 99 | async def _expire_connections(self) -> None: |
| 100 | if self._pool: # pragma: nobranch |
no test coverage detected