(dbname, connection, fn, *arg, **kw)
| 2988 | |
| 2989 | |
| 2990 | def _switch_db(dbname, connection, fn, *arg, **kw): |
| 2991 | if dbname: |
| 2992 | current_db = connection.exec_driver_sql("select db_name()").scalar() |
| 2993 | if current_db != dbname: |
| 2994 | connection.exec_driver_sql( |
| 2995 | "use %s" % connection.dialect.identifier_preparer.quote(dbname) |
| 2996 | ) |
| 2997 | try: |
| 2998 | return fn(*arg, **kw) |
| 2999 | finally: |
| 3000 | if dbname and current_db != dbname: |
| 3001 | connection.exec_driver_sql( |
| 3002 | "use %s" |
| 3003 | % connection.dialect.identifier_preparer.quote(current_db) |
| 3004 | ) |
| 3005 | |
| 3006 | |
| 3007 | def _owner_plus_db(dialect, schema): |
no test coverage detected