QtHelp: Stream file data when indexing documentation
The indexer called QHelpDBReader::filesData() once per extension and
united the results, so the whole decompressed documentation set of a
namespace was held in memory at once. The cancel flag was checked
only after all of it had been decompressed.
Make filesData() fetch all extensions with a single query and pass
the files one by one to a handler, which can stop the iteration.
Make the query forward-only, so that the already fetched rows aren't
cached. The indexer now checks the cancel flag before each file.
Add a test that indexes .html, .htm, .txt and .css files and checks
that only the first three are searchable.
Task-number: QTBUG-150684
Pick-to: 6.12 6.8
Change-Id: I96cfa24f8e7a48291bad9c9318270d51f2da19df
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>