mirror of
https://github.com/fleetdm/fleet
synced 2026-04-21 21:47:20 +00:00
For #26713 # Details This PR updates Fleet and its related tools and binaries to use Go version 1.24.1. Scanning through the changelog, I didn't see anything relevant to Fleet that requires action. The only possible breaking change I spotted was: > As [announced](https://tip.golang.org/doc/go1.23#linux) in the Go 1.23 release notes, Go 1.24 requires Linux kernel version 3.2 or later. Linux kernel 3.2 was released in January of 2012, so I think we can commit to dropping support for earlier kernel versions. The new [tools directive](https://tip.golang.org/doc/go1.24#tools) is interesting as it means we can move away from using `tools.go` files, but it's not a required update. # Checklist for submitter If some of the following don't apply, delete the relevant line. <!-- Note that API documentation changes are now addressed by the product design team. --> - [X] Changes file added for user-visible changes in `changes/`, `orbit/changes/` or `ee/fleetd-chrome/changes`. - [x] Manual QA for all new/changed functionality - For Orbit and Fleet Desktop changes: - [X] Make sure fleetd is compatible with the latest released version of Fleet - [x] Orbit runs on macOS ✅ , Linux ✅ and Windows. - [x] Manual QA must be performed in the three main OSs, macOS ✅, Windows and Linux ✅.
39 lines
1,021 B
Go
39 lines
1,021 B
Go
package mysql
|
|
|
|
import (
|
|
"regexp"
|
|
"strings"
|
|
)
|
|
|
|
var mysqlFTSSymbolRegexp = regexp.MustCompile("[-+@]+")
|
|
|
|
// queryMinLength returns true if the query argument is longer than a "short" word.
|
|
// What defines a "short" word is MySQL's "ft_min_word_len" VARIABLE, generally set
|
|
// to 4 by default in Fleet deployments.
|
|
//
|
|
// TODO(lucas): Remove this method on #2627.
|
|
func queryMinLength(query string) bool {
|
|
return countLongestTerm(query) >= 3
|
|
}
|
|
|
|
func countLongestTerm(query string) int {
|
|
maxSize := 0
|
|
for _, q := range strings.Split(query, " ") {
|
|
if len(q) > maxSize {
|
|
maxSize = len(q)
|
|
}
|
|
}
|
|
return maxSize
|
|
}
|
|
|
|
// transformQuery replaces occurrences of characters that are treated specially
|
|
// by the MySQL FTS engine to try to make the search more user-friendly
|
|
func transformQuery(query string) string {
|
|
return transformQueryWithSuffix(query, "*")
|
|
}
|
|
|
|
func transformQueryWithSuffix(query, suffix string) string {
|
|
return strings.TrimSpace(
|
|
mysqlFTSSymbolRegexp.ReplaceAllLiteralString(query, " "),
|
|
) + suffix
|
|
}
|