Source code for probes.oracle.metadata.views

"""Probe: oracle.metadata.views — extract view definitions from ALL_VIEWS."""

from core.base_probe import BaseProbe
from core.registry import register


[docs] @register class ViewsProbe(BaseProbe):
[docs] @staticmethod def probe_name() -> str: return "oracle.metadata.views"
[docs] @staticmethod def description() -> str: return "Extract view names and SQL text from ALL_VIEWS"
[docs] def execute(self, connection, schema: str, **kwargs) -> list[dict]: with connection.cursor() as cur: cur.execute( """SELECT view_name, text_length, text FROM all_views WHERE owner = :schema ORDER BY view_name""", schema=schema.upper(), ) return [ { "view_name": row[0], "text_length": row[1], "sql_text": str(row[2]) if row[2] else "", } for row in cur.fetchall() ]