<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in FrequencyCollectionTest.php</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2025</copyright>
    <generator>Java</generator><item>
        <title>06053dca2fac9a1da4eb1accf8c2488942da5d2a - SearchIndex: remove write side effect from retrieveRow()</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/_test/tests/Search/Collection/FrequencyCollectionTest.php#06053dca2fac9a1da4eb1accf8c2488942da5d2a</link>
        <description>SearchIndex: remove write side effect from retrieveRow()retrieveRow() padded the index file when the requested RID was beyondthe current length. This was an optimization for subsequent changeRow()calls, but changeRow() already handles padding on its own. The sideeffect was also inconsistent with retrieveRows() which is a pure read.Added a cross-index integration test verifying RID consistency acrossentity, token, frequency and reverse indexes when multiple entitiesshare tokens.

            List of files:
            /dokuwiki/_test/tests/Search/Collection/FrequencyCollectionTest.php</description>
        <pubDate>Fri, 10 Apr 2026 19:06:30 +0000</pubDate>
        <dc:creator>Andreas Gohr &lt;andi@splitbrain.org&gt;</dc:creator>
    </item>
<item>
        <title>21fbd01b3c3eea88b767376b7b158f31f0f63127 - SearchIndex: add integrity checking to Collection architecture</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/_test/tests/Search/Collection/FrequencyCollectionTest.php#21fbd01b3c3eea88b767376b7b158f31f0f63127</link>
        <description>SearchIndex: add integrity checking to Collection architectureAdd checkIntegrity() to AbstractCollection and DirectCollection thatverifies paired indexes have matching line counts (token==frequency,entity==reverse, entity==token for direct collections). ThrowsIndexIntegrityException on the first inconsistency found.Add Countable interface to AbstractIndex with count() implementationsin MemoryIndex and FileIndex. Add Indexer::checkIntegrity() andIndexer::isIndexEmpty() to orchestrate checks across all collections.Update infoutils.php to use the new Indexer API instead of the oldFulltextIndex/MetadataIndex classes.Fix range(1, 0) bug in three places that produced [1, 0] instead ofan empty array when split-by-length indexes were empty.

            List of files:
            /dokuwiki/_test/tests/Search/Collection/FrequencyCollectionTest.php</description>
        <pubDate>Tue, 07 Apr 2026 16:09:22 +0000</pubDate>
        <dc:creator>Andreas Gohr &lt;andi@splitbrain.org&gt;</dc:creator>
    </item>
<item>
        <title>6734bb8cef71e8b4af23e627d4db5430304d55a2 - SearchIndex: rewrite MetadataSearch to use Collection classes</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/_test/tests/Search/Collection/FrequencyCollectionTest.php#6734bb8cef71e8b4af23e627d4db5430304d55a2</link>
        <description>SearchIndex: rewrite MetadataSearch to use Collection classesReplace MetadataIndex usage in MetadataSearch with the new Collection/Indexarchitecture. This completes the read-path migration so data written by theCollection-based Indexer is read back correctly using TupleOps tuple format.Generalize FrequencyCollectionSearch into CollectionSearch that works with anyAbstractCollection type (Frequency, Lookup, Direct) and handles bothsplit-by-length and non-split index layouts transparently. DirectCollectionparticipates via resolveTokenFrequencies() which maps token RID = entity RID.Key changes:- AbstractCollection gains isSplitByLength(), resolveTokenFrequencies(),  getEntitiesWithData(), and groupToSuffix() with validation- Index groups are now int (0 = non-split, positive = token length)- CollectionSearch provides both addTerm()/execute() for fulltext and  lookup() for metadata-style search (exact/wildcard/callback)- MetadataSearch delegates entirely to collection APIs- Shared filterPages() replaces duplicated page filtering logic- All callers updated from MetadataIndex to MetadataSearch- Tests moved to Search namespace with full coverage for new APIs

            List of files:
            /dokuwiki/_test/tests/Search/Collection/FrequencyCollectionTest.php</description>
        <pubDate>Tue, 07 Apr 2026 13:33:54 +0000</pubDate>
        <dc:creator>Andreas Gohr &lt;andi@splitbrain.org&gt;</dc:creator>
    </item>
<item>
        <title>ede4646658cf51245060332d97a319a39c788ea1 - SearchIndex: reorganize and expand test suite</title>
        <link>http://127.0.0.1:8080/history/dokuwiki/_test/tests/Search/Collection/FrequencyCollectionTest.php#ede4646658cf51245060332d97a319a39c788ea1</link>
        <description>SearchIndex: reorganize and expand test suiteMove all Search tests from _test/tests/inc/Search/ to _test/tests/Search/to match the dokuwiki\test autoloader convention. Fix namespaces fromtests\* to dokuwiki\test\* so all tests work in isolation.Extract inline test helpers into separate autoloadable mock files:TestDirectCollection &#8594; MockDirectCollection, TestLookupCollection &#8594;MockLookupCollection, TestFrequencyCollection &#8594; MockFrequencyCollection.Rename AbstractIndexTest &#8594; AbstractIndexTestCase to fix PHPUnit warningabout abstract classes with Test suffix.Replace dead xxxRealWord() with proper testWildcardSearch() verifyingexact token matches and frequencies for all three wildcard types.Add testTokenizedPageSearch() using a dedicated test data file. AddtestNoMatchReturnsEmptyFrequencies() which exposed a bug in Term whereuninitialized $tokens/$frequencies caused crashes on zero-match terms.Replace fulltext_query.test.php with modern QueryParserTest in theSearch\Query namespace.Add new test files:- LockTest: acquire/release, reference counting, stale lock override,  foreign lock rejection, releaseAll, independent locks- NamespacePredicateTest: filter/exclude, sub-namespaces, partial prefix  safety, empty sets, score preservation- PageSetTest: intersect, unite, subtract, isEmpty- QueryEvaluatorTest: word lookups, AND/OR/NOT, namespace filtering,  combined queries, partial namespace prefix safetyFix Term.php: initialize $tokens and $frequencies to [] instead of null.

            List of files:
            /dokuwiki/_test/tests/Search/Collection/FrequencyCollectionTest.php</description>
        <pubDate>Mon, 06 Apr 2026 16:45:11 +0000</pubDate>
        <dc:creator>Andreas Gohr &lt;andi@splitbrain.org&gt;</dc:creator>
    </item>
</channel>
</rss>
