public function resetPriceCatArticleCount($iPrice)
    {
        // loading from cache
        if ($aCatData = $this->_getCatCache()) {
            $sTable = getViewName('oxcategories');
            $sSelect = "select $sTable.oxid from $sTable where " . (double) $iPrice . " >= $sTable.oxpricefrom and " . (double) $iPrice . " <= $sTable.oxpriceto ";

            // We force reading from master to prevent issues with slow replications or open transactions (see ESDEV-3804).
            $rs = \OxidEsales\Eshop\Core\DatabaseProvider::getMaster()->select($sSelect, false);
            if ($rs != false && $rs->count() > 0) {
                while (!$rs->EOF) {
                    if (isset($aCatData[$rs->fields[0]])) {
                        unset($aCatData[$rs->fields[0]]);
                    }
                    $rs->fetchRow();
                }

                // writing back to cache
                $this->_setCatCache($aCatData);
            }
        }
    }