chore(api): stabilize SQL core and enhance searchability
- Refactor SQL CRUD to use engine.connect() context managers for thread safety - Optimize connection pooling in lib_sql_core - Clean up app/routers/api.py to fix duplicate definitions and OpenAPI KeyError - Add 'default_qry_str' to searchable_fields for Event, Session, Presentation, Presenter, Badge, and Journal - Add 'event_location_name' to searchable_fields for Event Session - Verified 20/20 E2E success via repro_intermittent_errors.py
This commit is contained in:
@@ -107,10 +107,11 @@ def apply_forced_account_filter(and_qry_dict: Optional[Dict], account: AccountCo
|
||||
from app import lib_sql_core
|
||||
from sqlalchemy import text
|
||||
try:
|
||||
lib_sql_core.db.execute(text(f"SELECT `{target_col}` FROM `{table_name}` LIMIT 0"))
|
||||
except Exception:
|
||||
log.warning(f"Forced account filter skipped: Column '{target_col}' not found in '{table_name}'.")
|
||||
return forced
|
||||
with lib_sql_core.engine.connect() as conn:
|
||||
conn.execute(text(f"SELECT `{target_col}` FROM `{table_name}` LIMIT 0"))
|
||||
has_col = True
|
||||
except:
|
||||
has_col = False
|
||||
|
||||
forced[target_col] = account.account_id
|
||||
return forced
|
||||
|
||||
Reference in New Issue
Block a user