Баг в taxonomy_select_nodes

Главные вкладки

Аватар пользователя xom940k xom940k 29 марта 2012 в 13:24

С прискорбием сообщаю, что обнаружил баг в данной функции.

<?php
$result 
taxonomy_select_nodes(array(55), 'or'0false); // 10 элементов
//=========================================
$sql '
SELECT n.nid 
FROM {node} n
INNER JOIN {term_node} tn USING(nid)
WHERE
  AND tn.tid=%d
'
;
$result db_query($sql55); // 15 элементов у меня, и сколько угодно у вас...
?>

Обращаю внимание, что последний false - означает НЕ использование пагинации. Однако он все равно лимитирует результат. К тому же переменные $result - в обоих случаях одинаковый и нужно в обоих случаях фетчить его. Что вообще ставит под вопрос исторический смысл данного сахара: экономия строк не сильно велика, понимания структуры базы не добавляет, ошибка в самой последней версии 6.х, нужно фетчить...
FIXME!

Комментарии

Аватар пользователя xom940k xom940k 8 марта 2013 в 6:47

RxB wrote:
*взял попкорн, когда же автор поймёт свой пук?*

Автор понял свой пук: "время потраченное на друпал - потрачено в пустую".
Тебе доставляет удовольствие видеть в зеркале хамло? Ты не удовлетворен в этой жизни? Что с тобой не так чувак? Из темы в тему ты источаешь яд.

Аватар пользователя divined divined 8 марта 2013 в 21:46

По теме...

Внутри функции мы можем увидеть такую строчку:

<?php
$result 
db_query_range($sql$args0variable_get('feed_default_items'10));
?>

Т.е. надо делать так:

<?php
variable_set
('feed_default_items'10000);
$result taxonomy_select_nodes(array(55), 'or'0false);
variable_set('feed_default_items'10);
?>