1616 SortSpec ,
1717)
1818
19- from ..utils import BaseSQLDB , apply_search_filters , apply_sort_constraints
19+ from ..utils import BaseSQLDB , apply_search_filters , apply_sort_constraints , get_columns
2020from .schema import (
2121 InputData ,
2222 JobCommands ,
2626)
2727
2828
29- def _get_columns (table , parameters ):
30- columns = [x for x in table .columns ]
31- if parameters :
32- if unrecognised_parameters := set (parameters ) - set (table .columns .keys ()):
33- raise InvalidQueryError (
34- f"Unrecognised parameters requested { unrecognised_parameters } "
35- )
36- columns = [c for c in columns if c .name in parameters ]
37- return columns
38-
39-
4029class JobDB (BaseSQLDB ):
4130 metadata = JobDBBase .metadata
4231
@@ -46,7 +35,7 @@ class JobDB(BaseSQLDB):
4635 jdl_2_db_parameters = ["JobName" , "JobType" , "JobGroup" ]
4736
4837 async def summary (self , group_by , search ) -> list [dict [str , str | int ]]:
49- columns = _get_columns (Jobs .__table__ , group_by )
38+ columns = get_columns (Jobs .__table__ , group_by )
5039
5140 stmt = select (* columns , func .count (Jobs .job_id ).label ("count" ))
5241 stmt = apply_search_filters (Jobs .__table__ .columns .__getitem__ , stmt , search )
@@ -70,7 +59,7 @@ async def search(
7059 page : int | None = None ,
7160 ) -> tuple [int , list [dict [Any , Any ]]]:
7261 # Find which columns to select
73- columns = _get_columns (Jobs .__table__ , parameters )
62+ columns = get_columns (Jobs .__table__ , parameters )
7463
7564 stmt = select (* columns )
7665
@@ -328,7 +317,7 @@ async def set_properties(
328317 required_parameters = list (required_parameters_set )[0 ]
329318 update_parameters = [{"job_id" : k , ** v } for k , v in properties .items ()]
330319
331- columns = _get_columns (Jobs .__table__ , required_parameters )
320+ columns = get_columns (Jobs .__table__ , required_parameters )
332321 values : dict [str , BindParameter [Any ] | datetime ] = {
333322 c .name : bindparam (c .name ) for c in columns
334323 }
0 commit comments