| 87 | } |
| 88 | |
| 89 | func getStatementWithResultLimit(statement string, limit int) string { |
| 90 | stmt, err := getStatementWithResultLimitInline(statement, limit) |
| 91 | if err != nil { |
| 92 | slog.Error("fail to add limit clause", slog.String("statement", statement), log.BBError(err)) |
| 93 | return fmt.Sprintf("WITH result AS (%s) SELECT * FROM result LIMIT %d;", util.TrimStatement(statement), limit) |
| 94 | } |
| 95 | return stmt |
| 96 | } |
| 97 | |
| 98 | func getStatementWithResultLimitInline(statement string, limit int) (string, error) { |
| 99 | stmtList, err := tidbparser.ParseTiDB(statement, "", "") |