I'm migrating my site from 5.x to 6.x. After having converted my view with the packaged tool and manually finished the migration path, I've got a strange SQL query (see the ORDER BY string below) concerning the sort.
I've compared the settings of my view with those of the default tracker view, but I haven't found differences for the settings of the sort criteria.
Any idea ?
Thanks for your great work !
Best regards.
The View code is the following :
>
$view = new view;
$view->name = 'contributions_recentes';
$view->description = 'Montrer les nouvelles contributions sur les blogs et les forums.';
$view->tag = '';
$view->view_php = '';
$view->base_table = 'node';
$view->is_cacheable = FALSE;
$view->api_version = 2;
$view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */
$handler = $view->new_display('default', 'Defaults', 'default');
$handler->override_option('fields', array(
'type' => array(
'id' => 'type',
'table' => 'node',
'field' => 'type',
'label' => 'Type',
),
'title' => array(
'id' => 'title',
'table' => 'node',
'field' => 'title',
'label' => 'Titre',
),
'name' => array(
'label' => 'Name',
'alter' => array(
'alter_text' => 0,
'text' => '',
'make_link' => 0,
'path' => '',
'alt' => '',
'prefix' => '',
'suffix' => '',
'help' => '',
'trim' => 0,
'max_length' => '',
'word_boundary' => 1,
'ellipsis' => 1,
'html' => 0,
),
'link_to_user' => 1,
'exclude' => 0,
'id' => 'name',
'table' => 'users',
'field' => 'name',
'relationship' => 'none',
),
'comment_count' => array(
'label' => 'Réponses',
'set_precision' => FALSE,
'precision' => 0,
'decimal' => '.',
'separator' => '',
'prefix' => '',
'suffix' => '',
'exclude' => 0,
'id' => 'comment_count',
'table' => 'node_comment_statistics',
'field' => 'comment_count',
'relationship' => 'none',
),
'last_comment_timestamp' => array(
'label' => 'Dernier commentaire',
'date_format' => 'small',
'custom_date_format' => '',
'exclude' => 0,
'id' => 'last_comment_timestamp',
'table' => 'node_comment_statistics',
'field' => 'last_comment_timestamp',
'relationship' => 'none',
),
'timestamp' => array(
'label' => '',
'alter' => array(
'alter_text' => 0,
'text' => '',
'make_link' => 0,
'path' => '',
'alt' => '',
'prefix' => '',
'suffix' => '',
'help' => '',
'trim' => 0,
'max_length' => '',
'word_boundary' => 1,
'ellipsis' => 1,
'html' => 0,
),
'link_to_node' => 0,
'comments' => 1,
'exclude' => 0,
'id' => 'timestamp',
'table' => 'history_user',
'field' => 'timestamp',
'relationship' => 'none',
),
'new_comments' => array(
'label' => '',
'alter' => array(
'alter_text' => 0,
'text' => '',
'make_link' => 0,
'path' => '',
'alt' => '',
'prefix' => '',
'suffix' => '',
'help' => '',
'trim' => 0,
'max_length' => '',
'word_boundary' => 1,
'ellipsis' => 1,
'html' => 0,
),
'set_precision' => FALSE,
'precision' => 0,
'decimal' => '.',
'separator' => '',
'prefix' => '',
'suffix' => '',
'link_to_comment' => 1,
'no_empty' => 1,
'exclude' => 0,
'id' => 'new_comments',
'table' => 'node',
'field' => 'new_comments',
'relationship' => 'none',
),
));
$handler->override_option('sorts', array(
'last_comment_timestamp' => array(
'order' => 'DESC',
'granularity' => 'second',
'id' => 'last_comment_timestamp',
'table' => 'node_comment_statistics',
'field' => 'last_comment_timestamp',
'relationship' => 'none',
),
));
$handler->override_option('filters', array(
'status' => array(
'operator' => '=',
'value' => '1',
'group' => '0',
'exposed' => FALSE,
'expose' => array(
'operator' => FALSE,
'label' => '',
),
'id' => 'status',
'table' => 'node',
'field' => 'status',
'relationship' => 'none',
),
'type' => array(
'operator' => 'in',
'value' => array(
'blog' => 'blog',
'forum' => 'forum',
'article' => 'article',
),
'group' => '0',
'exposed' => FALSE,
'expose' => array(
'operator' => FALSE,
'label' => '',
),
'id' => 'type',
'table' => 'node',
'field' => 'type',
'relationship' => 'none',
),
));
$handler->override_option('access', array(
'type' => 'role',
'role' => array(
'2' => '2',
),
'perm' => '',
));
$handler->override_option('title', 'Les contributions récentes');
$handler->override_option('header_format', '4');
$handler->override_option('footer_format', '4');
$handler->override_option('empty_format', '4');
$handler->override_option('use_pager', '1');
$handler->override_option('style_plugin', 'table');
$handler->override_option('style_options', array(
'columns' => array(),
'default' => 'last_comment_timestamp',
'info' => array(
'last_comment_timestamp' => array(
'sortable' => TRUE,
),
),
'override' => FALSE,
'order' => 'asc',
));
$handler = $view->new_display('page', 'Page', 'page_1');
$handler->override_option('path', 'view/contributions_recentes');
$handler->override_option('menu', array(
'type' => 'normal',
'title' => 'Contributions récentes',
'description' => '',
'weight' => 0,
'name' => 'navigation',
));
$handler->override_option('tab_options', array(
'type' => 'none',
'title' => '',
'description' => '',
'weight' => '0',
));
The SQL query is the following :
SELECT node.nid AS nid, node.type AS node_type, node.title AS node_title, users.name AS users_name, users.uid AS users_uid, node_comment_statistics.comment_count AS node_comment_statistics_comment_count, node_comment_statistics.last_comment_timestamp AS node_comment_statistics_last_comment_timestamp, history_user.timestamp AS history_user_timestamp, history_user.nid AS history_user_nid, node.created AS node_created, node.changed AS node_changed FROM node node INNER JOIN users users ON node.uid = users.uid LEFT JOIN node_comment_statistics node_comment_statistics ON node.nid = node_comment_statistics.nid LEFT JOIN history history_user ON node.nid = history_user.nid AND history_user.uid = ***CURRENT_USER*** WHERE (node.status <> 0) AND (node.type in ('blog', 'forum', 'article')) ORDER BY node_comment_statistics_last_comment_timestamp ASC, node_comment_statistics_last_comment_timestamp DESC
Comments
Comment #1
dawehneryou can solve this i think by just remove the sort criteria for last_comment_timestamp, and add a default sort criteria to the table.
Comment #2
esmerel commentedSuggestion for fix given, no response.