diff options
| author | Jeff Carr <[email protected]> | 2024-12-27 14:43:21 -0600 |
|---|---|---|
| committer | Jeff Carr <[email protected]> | 2024-12-27 14:43:21 -0600 |
| commit | c9c98765d257d5898867512646627f02d2f583be (patch) | |
| tree | 39ec300fc079f74c615dc0a294a1df055cbba47b /sortnew.go | |
| parent | 13d9cfd6586c038aa1d3647f5407c82c9a252238 (diff) | |
start thinking about redoing the sort functionv0.0.35
Signed-off-by: Jeff Carr <[email protected]>
Diffstat (limited to 'sortnew.go')
| -rw-r--r-- | sortnew.go | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/sortnew.go b/sortnew.go new file mode 100644 index 0000000..6479a2d --- /dev/null +++ b/sortnew.go @@ -0,0 +1,58 @@ +package main + +import ( + "os" + "strings" +) + +func makeNewSortfile() { + f, _ := os.OpenFile(sortmap["protobase"]+".newsort.pb.go", os.O_WRONLY|os.O_CREATE|os.O_TRUNC, 0644) + + header(f, sortmap) + + if sortmap["lock"] == "all" { + // if the lock is set to 'all' this means the mutex was put in the protoc-gen-go struct + } else { + syncLock(f, sortmap) + } + iterTop(f, sortmap) + iterNext(f, sortmap) + iterAppend(f, sortmap) // Append() enforce no unique keys + iterSortAll(f, sortmap) + + if argv.Append != "" { + sortmap["append"] = string(argv.Append) + iterAppend(f, sortmap) // Append() enforce unique key argv.Append + } + + for _, s := range uniqueKeys { + // log.Info("found unique key in .proto", s) + sortmap["sortBy"] = s + sortmap["sortKey"] = s + + iterSortBy(f, sortmap) + + sortmap["append"] = sortmap["sortKey"] + iterAppend(f, sortmap) // Append() enforce unique key argv.Append + + iterDelete(f, sortmap) + iterReplace(f, sortmap) + iterFind(f, sortmap) + } + + for _, s := range argv.Sort { + sortparts := strings.Split(s, ",") + sortmap["sortBy"] = sortparts[0] + sortmap["sortKey"] = sortparts[1] + + iterSortBy(f, sortmap) + + sortmap["append"] = sortmap["sortKey"] + iterAppend(f, sortmap) // Append() enforce unique key argv.Append + + iterDelete(f, sortmap) + iterReplace(f, sortmap) + iterFind(f, sortmap) + } + iterEnd(f, sortmap) +} |
