Enhance loop processing with new aggregation support in `COLLECT` clauses. Introduce `emitCollectAggregator` for handling advanced accumulator logic. Optimize symbol scope management with new utility `DefineVariableInScope`. Skip outdated test cases and add support for aggregation operations such as `MIN` and `MAX` in tests.
Refactor `Collector` into `Transformer` for enhanced flexibility and modularity. Introduce `Sorter` and `MultiSorter` as specialized transformers to handle sorting operations. Streamline VM operations by replacing dataset-based methods with transformer logic. Add encoding/decoding utilities for multiple sorting directions. Optimize `Emit` logic and update related tests.
Refactor `Collector` into `Transformer` for enhanced flexibility and modularity. Introduce `Sorter` and `MultiSorter` as specialized transformers to handle sorting operations. Streamline VM operations by replacing dataset-based methods with transformer logic. Add encoding/decoding utilities for multiple sorting directions. Optimize `Emit` logic and update related tests.
Refactored the structure by relocating `compiler` elements into an `internal` package. Made `visitor` struct and methods exported for broader access. Added new utility methods in `Emitter` and `RegisterAllocator` to optimize functionality.
Introduced new opcode `OpCollectKc` for grouping with counting and updated the VM, compiler, and dataset logic to support this functionality. Enhanced the `CollectClause` to handle `WITH COUNT INTO` syntax, added `emitCollectCountProjection`, and implemented relevant test cases.