def try_infer_view_comments()

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("""