Added
- Major refactoring of main variants - moved redundant code to a new module - clitypes.rs.
Added custom exit codes. Removed --exitcode option in several commands as qsv now returns exit codes for ALL commands in a standard way. #460 - Major refactoring of CI test helpers in workdir.rs
Changed
py
: use python interning to amortize allocs #457search
&searchset
: return num of matches to stderr; add --quick option; remove --exitcode option #458extsort
: improved error handlingfetch
&fetchpost
: better --report option handling #451lua
: faster number to string conversion using itoa and ryureplace
: removed --exitcode option; return number of replaced patterns to stderrsortcheck
: --json options now always cause full scan of CSVstats
: expanded usage text, explicitly listing stats that require loading the entire CSV into memory. Mentioned data type inferences are guaranteed.- cargo update bumped several dependencies
- pin Rust nightly to 2022-08-27
Fixed
py
: batched python processing refactor. Instead of using one GILpool for one session,py
now processes in batches of 30,000 rows, releasing memory after each batch. This resulted in memory consumption levelling out, instead of increasing to gigabytes of memory with very large files. As an added bonus, this made thepy
command ~30% faster in testing. 😄 #456
Full Changelog: 0.64.0...0.65.0