Changes for version 2.1106 - 2026-10-10
- oEdtk::DBAdmin: fix a quadratic hot spot in the PostgreSQL COPY path. _pg_csv_supplier used to accumulate each 1 MiB block by string concatenation and then reset the buffer, a pattern that is quadratic in the block size and dominated the whole load — it even made this "optimized" loader slower than the previous temporary-file one. Blocks are now built by collecting the cleaned rows in an array and joining them once per block. Measured on a 2 002 280-row fixture the load drops from 722.7 s to 195.8 s (3.7x faster); the 50 057-row fixture goes from 19.0 s to 5.7 s.
- tests: new fixture generator tracker/dev/build/tests/data/tracker-test-Metadata-heavy2M.pl, which rebuilds a two-million-row CSV from tracker-test-Metadata-heavy.csv by repeating it and rewriting ED_SEQDOC so the edtk_metadata primary key stays unique (all other columns are copied byte for byte). The generated CSV (~670 MB) is listed in .gitignore and rebuilt on demand.
- oEdtk::DBAdmin: $VERSION 2.1105 → 2.1106.
- oEdtk.pm: $VERSION 2.1105 → 2.1106.
Documentation
Modules
A module for industrial printing processing
Helper module for parsing printer spool files
Provides
in lib/oEdtk/AddrField.pm
in lib/oEdtk/C7Doc.pm
in lib/oEdtk/C7Tag.pm
in lib/oEdtk/Config.pm
in lib/oEdtk/DBAdmin.pm
in lib/oEdtk/DateField.pm
in lib/oEdtk/Dict.pm
in lib/oEdtk/Doc.pm
in lib/oEdtk/EDMS.pm
in lib/oEdtk/FPField.pm
in lib/oEdtk/Field.pm
in lib/oEdtk/Main.pm
in lib/oEdtk/Messenger.pm
in lib/oEdtk/OmgrIdxDoc.pm
in lib/oEdtk/Outmngr.pm
in lib/oEdtk/Record.pm
in lib/oEdtk/RecordParser.pm
in lib/oEdtk/Run.pm
in lib/oEdtk/SignedField.pm
in lib/oEdtk/TexDoc.pm
in lib/oEdtk/TexTag.pm
in lib/oEdtk/Tracking.pm
in lib/oEdtk/Util.pm
in lib/oEdtk/XPath.pm
in lib/oEdtk/libC7.pm
in lib/oEdtk/libDev.pm
in lib/oEdtk/libXls.pm
in lib/oEdtk/logger.pm
in lib/oEdtk/logger2.pm
in lib/oEdtk/trackEdtk.pm
in lib/oEdtk/tuiEdtk.pm