diff options
| author | Paul Buetow <paul@buetow.org> | 2026-03-20 11:06:50 +0200 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2026-03-20 11:06:50 +0200 |
| commit | 13b21feb07c86f65760f7338f284f3b492364cd9 (patch) | |
| tree | c9fa6fc4fb0c7fe8b927297d26e5f3b1448a3518 /internal/mapr/parserfieldplan_test.go | |
| parent | da8e581617a0240626d2bc922916416440e65bae (diff) | |
Optimize mapr parsing and stabilize aggregate shutdown
Diffstat (limited to 'internal/mapr/parserfieldplan_test.go')
| -rw-r--r-- | internal/mapr/parserfieldplan_test.go | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/internal/mapr/parserfieldplan_test.go b/internal/mapr/parserfieldplan_test.go new file mode 100644 index 0000000..f6d664f --- /dev/null +++ b/internal/mapr/parserfieldplan_test.go @@ -0,0 +1,32 @@ +package mapr + +import "testing" + +func TestParserFieldPlan(t *testing.T) { + q, err := NewQuery( + "select count($derived) from STATS where $goroutines > 10 " + + "set $derived = md5sum(foo), $other = $derived group by $derived", + ) + if err != nil { + t.Fatalf("Unable to create query: %s", err.Error()) + } + + plan := q.ParserFieldPlan() + if plan.AllFields { + t.Fatalf("Expected query-specific field plan") + } + + requiredFields := []string{"foo", "$goroutines"} + for _, field := range requiredFields { + if !plan.Needs(field) { + t.Errorf("Expected field '%s' to be required", field) + } + } + + notRequiredFields := []string{"$derived", "$other", "$time"} + for _, field := range notRequiredFields { + if plan.Needs(field) { + t.Errorf("Expected field '%s' to not be required", field) + } + } +} |
