in src/hologres_mcp_server/utils.py [0:0]
def try_infer_view_comments(schema_name, view_name):
try:
config = get_db_config()
with psycopg.connect(**config) as conn:
conn.autocommit = True
with conn.cursor() as cursor:
view_definition = get_view_definition(cursor, schema_name, view_name)
if not view_definition:
print(f"View '{view_name}' not found.")
return ""
comment_statements = []
parsed = pglast.parser.parse_sql(view_definition)
for raw_stmt in parsed:
stmt = raw_stmt.stmt
if isinstance(stmt, pglast.ast.SelectStmt):
for target in stmt.targetList:
if isinstance(target, pglast.ast.ResTarget):
if isinstance(target.val, pglast.ast.ColumnRef):
source_table = target.val.fields[0].sval
source_column = target.val.fields[1].sval
target_column = target.name or source_column
column_comment = get_column_comment(cursor, schema_name, source_table, source_column)
if column_comment:
cursor.execute(sql.SQL("""