| 85 | } |
| 86 | |
| 87 | func getStatementWithResultLimit(statement string, limit int) string { |
| 88 | trimmedStatement := strings.TrimSpace(statement) |
| 89 | if strings.HasPrefix(strings.ToUpper(trimmedStatement), "SHOW") { |
| 90 | return statement |
| 91 | } |
| 92 | |
| 93 | stmt, err := getStatementWithResultLimitInline(statement, limit) |
| 94 | if err != nil { |
| 95 | slog.Error("fail to add limit clause", slog.String("statement", statement), log.BBError(err)) |
| 96 | return fmt.Sprintf("SELECT * FROM (%s) result LIMIT %d;", util.TrimStatement(statement), limit) |
| 97 | } |
| 98 | return stmt |
| 99 | } |
| 100 | |
| 101 | func getStatementWithResultLimitInline(statement string, limitCount int) (string, error) { |
| 102 | if strings.TrimSpace(statement) == "" { |