Skip to content

Commit 9339ab4

Browse files
committed
Add option to not used cached databases
1 parent dd602ad commit 9339ab4

File tree

3 files changed

+9
-3
lines changed

3 files changed

+9
-3
lines changed

tiled/_tests/test_sync.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
def client_factory(readable_storage=None):
2525
with tempfile.TemporaryDirectory() as tempdir:
2626
catalog = in_memory(
27-
writable_storage=str(tempdir), readable_storage=readable_storage
27+
writable_storage=str(tempdir), readable_storage=readable_storage, use_cached_database=False
2828
)
2929
app = build_app(catalog)
3030
with Context.from_app(app) as context:

tiled/catalog/adapter.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -171,8 +171,9 @@ def __init__(
171171
key_maker=lambda: str(uuid.uuid4()),
172172
storage_pool_size=5,
173173
storage_max_overflow=10,
174+
use_cached_database=True,
174175
):
175-
self.engine = get_database_engine(database_settings)
176+
self.engine = get_database_engine(database_settings, use_cached_database=use_cached_database)
176177
self.database_settings = database_settings
177178
self.writable_storage = {}
178179
self.readable_storage = {}
@@ -1676,6 +1677,7 @@ def in_memory(
16761677
adapters_by_mimetype=None,
16771678
top_level_access_blob=None,
16781679
cache_settings=None,
1680+
use_cached_database=True
16791681
):
16801682
if not named_memory:
16811683
uri = "sqlite:///:memory:"
@@ -1693,6 +1695,7 @@ def in_memory(
16931695
adapters_by_mimetype=adapters_by_mimetype,
16941696
top_level_access_blob=top_level_access_blob,
16951697
cache_settings=cache_settings,
1698+
use_cached_database=use_cached_database
16961699
)
16971700

16981701

@@ -1712,6 +1715,7 @@ def from_uri(
17121715
storage_pool_size=5,
17131716
catalog_max_overflow=10,
17141717
storage_max_overflow=10,
1718+
use_cached_database=True
17151719
):
17161720
uri = ensure_specified_sql_driver(uri)
17171721
if init_if_not_exists:
@@ -1747,6 +1751,7 @@ def from_uri(
17471751
cache_settings,
17481752
storage_pool_size=storage_pool_size,
17491753
storage_max_overflow=storage_max_overflow,
1754+
use_cached_database=use_cached_database,
17501755
)
17511756
node = RootNode(metadata, specs, top_level_access_blob)
17521757
mount_path = (

tiled/server/connection_pool.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,14 +98,15 @@ async def close_database_connection_pool(database_settings: DatabaseSettings):
9898

9999
def get_database_engine(
100100
settings: Union[Settings, DatabaseSettings] = Depends(get_settings),
101+
use_cached_database = True,
101102
) -> AsyncEngine:
102103
database_settings = (
103104
settings.database_settings if isinstance(settings, Settings) else settings
104105
)
105106
# Special case for single-user mode
106107
if database_settings.uri is None:
107108
return None
108-
if database_settings in _connection_pools:
109+
if database_settings in _connection_pools and use_cached_database:
109110
return _connection_pools[database_settings]
110111
else:
111112
return open_database_connection_pool(database_settings)

0 commit comments

Comments
 (0)