From: Victor E. (@kroky) <gi...@mg...> - 2024-10-02 10:48:38
|
Victor Emanouilov pushed to branch master at Tiki Wiki CMS Groupware / Tiki Commits: 7e052f14 by Victor Emanouilov at 2024-10-02T13:48:08+03:00 [FIX] manticore index optimization: do field cleanup only when selecting all the fields from the table - - - - - 2 changed files: - lib/core/Search/Manticore/Index.php - lib/core/Search/Manticore/PdoClient.php Changes: ===================================== lib/core/Search/Manticore/Index.php ===================================== @@ -432,7 +432,7 @@ class Index implements \Search_Index_Interface, \Search_Index_QueryRepository $sql .= ' ' . $facets; } - $results = $this->pdo_client->fetchAllRowsets($sql); + $results = $this->pdo_client->fetchAllRowsets($sql, false, ! empty($selectionFields)); $result = $results[0]; $meta = $this->pdo_client->fetchAll('SHOW META'); ===================================== lib/core/Search/Manticore/PdoClient.php ===================================== @@ -344,14 +344,17 @@ class PdoClient * @param boolean $retry * @return array of associative arrays */ - public function fetchAllRowsets($query, $retry = true) + public function fetchAllRowsets($query, $retry = true, $hasCustomSelect = false) { $available_fields = \TikiLib::lib('unifiedsearch')->getAvailableFields(); try { $result = []; $stmt = $this->query($query); while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) { - if ($row['object_type'] == 'trackeritem') { + if ($hasCustomSelect) { + $fields = []; + } + elseif ($row['object_type'] == 'trackeritem') { $fields = $available_fields['object_types']['trackeritem' . $row['tracker_id']] ?? []; } else { $fields = $available_fields['object_types'][$row['object_type']] ?? []; View it on GitLab: https://gitlab.com/tikiwiki/tiki/-/commit/7e052f14adefd25ac4ca442a4c3b006376d833ef -- View it on GitLab: https://gitlab.com/tikiwiki/tiki/-/commit/7e052f14adefd25ac4ca442a4c3b006376d833ef You're receiving this email because of your account on gitlab.com. |