1717from sqlalchemy .ext .declarative .api import DeclarativeMeta
1818import datetime
1919
20+ from materializationengine .blueprints .client .cache import get_cached_table_metadata , get_cached_view_metadata
21+ from materializationengine .database import dynamic_annotation_cache
22+
2023DEFAULT_SUFFIX_LIST = ["x" , "y" , "z" , "xx" , "yy" , "zz" , "xxx" , "yyy" , "zzz" ]
2124DEFAULT_LIMIT = 250000
2225
@@ -39,8 +42,11 @@ def __init__(
3942 self ._db = dynamic_annotation_cache .get_db (db_name )
4043 if meta_db_name is None :
4144 self ._meta_db = self ._db
45+ self ._meta_db_name = db_name
4246 else :
4347 self ._meta_db = dynamic_annotation_cache .get_db (meta_db_name )
48+ self ._meta_db_name = meta_db_name
49+
4450 self ._segmentation_source = segmentation_source
4551 self ._split_mode = split_mode
4652 self ._random_sample = random_sample
@@ -77,7 +83,7 @@ def _get_split_model(self, table_name):
7783 if table_name in self ._split_models .keys ():
7884 return self ._split_models [table_name ]
7985 else :
80- md = self ._meta_db . database . get_table_metadata ( table_name )
86+ md = get_cached_table_metadata ( self ._meta_db_name , table_name )
8187 if md is None :
8288 abort (404 , f"Table { table_name } not found in metadata database" )
8389 vox_res = np .array (
@@ -93,7 +99,7 @@ def _get_split_model(self, table_name):
9399 reference_table = md .get ("reference_table" )
94100 if reference_table :
95101 table_metadata = {"reference_table" : reference_table }
96- ref_md = self ._meta_db . database . get_table_metadata ( reference_table )
102+ ref_md = get_cached_table_metadata ( self ._meta_db_name , reference_table )
97103 _ = self ._db .schema .get_split_models (
98104 reference_table ,
99105 ref_md ["schema_type" ],
@@ -119,7 +125,7 @@ def _get_flat_model(self, table_name):
119125 return self ._models [table_name ]
120126 else :
121127 # schema = self._meta_db.database.get_table_schema(table_name)
122- md = self ._meta_db . database . get_table_metadata ( table_name )
128+ md = get_cached_table_metadata ( self ._meta_db_name , table_name )
123129 vox_res = np .array (
124130 [
125131 md ["voxel_resolution_x" ],
@@ -148,7 +154,7 @@ def add_view(self, datastack_name, view_name):
148154 view_table = self ._db .database .get_view_table (view_name )
149155 self ._tables .add (view_table )
150156 self ._models [view_name ] = view_table
151- md = self ._meta_db . database . get_view_metadata ( datastack_name , view_name )
157+ md = get_cached_view_metadata ( self ._meta_db_name , datastack_name , view_name )
152158 vox_res = np .array (
153159 [
154160 md ["voxel_resolution_x" ],
0 commit comments