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>
commitc31c202ac51f0f51ac3e3717495d2005ac0ef2f3
parent293a6d7a69c10aed20ecefec30d2aa30f479f76c
authorJarek Kobus <jaroslaw.kobus@qt.io>
committerJarek Kobus <jaroslaw.kobus@qt.io>
commit timeMon, 19 Oct 2026 20:19:20 +0000