| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- """DemandAgent PG Pattern V2 query facade.
- Historically this module opened the MySQL Pattern compatibility schema. The PG
- migration keeps the function names used by DemandAgent, but all
- Pattern evidence reads now go through `pg_pattern_repository` and are read-only.
- """
- from __future__ import annotations
- from examples.demand.pg_pattern_repository import (
- query_case_ids_by_post_ids,
- query_category_level,
- query_element_bindings_for_items,
- query_execution_for_evidence,
- query_itemset_evidence,
- query_itemset_items_with_categories,
- query_latest_success_execution_id,
- query_video_ids_by_names,
- )
- class DatabaseManager:
- """Legacy guard.
- PG Pattern V2 does not expose a SQLAlchemy MySQL session. Old prepare paths
- must be migrated before production use; local MVP uses explicit PG
- execution_id and never calls `get_session()`.
- """
- def get_session(self):
- raise RuntimeError(
- "DatabaseManager MySQL session was removed; use PG Pattern V2 "
- "repository functions instead"
- )
- def exist_cluster_tree(merge_level2: str) -> bool:
- """Return whether a successful PG Pattern V2 execution is available.
- The old implementation checked MySQL cluster tree state by merge_level2.
- The PG-only MVP consumes existing Pattern V2 executions instead, so this is
- a conservative readiness check used only by legacy web guards.
- """
- del merge_level2
- return query_latest_success_execution_id() is not None
- __all__ = [
- "DatabaseManager",
- "exist_cluster_tree",
- "query_case_ids_by_post_ids",
- "query_category_level",
- "query_element_bindings_for_items",
- "query_execution_for_evidence",
- "query_itemset_evidence",
- "query_itemset_items_with_categories",
- "query_latest_success_execution_id",
- "query_video_ids_by_names",
- ]
|