Today i found one strange bug with drupal 6 pager_query implementation. When i write part of sql query in small letters like
$result = pager_query("SELECT * from {table1} where placementid = %d", 10, $pager_num, NULL, $vid);
and calling theme('pager', NULL, 10, $pager_num); pager is failed to print.
But writing like this
$result = pager_query("SELECT * FROM {table1} where placementid = %d", 10, $pager_num, NULL, $vid);
and calling theme('pager', NULL, 10, $pager_num); pager is displayed. This is due to case sensitivity of "FROM" in sql query.
if you look up includes/pager.inc, you will notice such a line:
if
(!isset
($count_query
)) {
$count_query
= preg_replace
(array
('/SELECT.*?FROM /As'
, '/ORDER BY .*/'
), array
('SELECT COUNT(*) FROM '
, ''
), $query
);
}
Probably, this is how the problem arise.