I have a view to display list of my events starting at a specified time. The default date is set to 'now'. The list of events rendered by the view does not start from today as 'now' parameter would suggest. Instead of I'm getting list of all events from the very first one from before a year ago.

If I hit the Apply button on the exposed filter the problem disappears.

Basically the SQL query the view construct has a malformed date string as a condition:

SELECT node.nid AS nid,
   node_data_field_eventstart.field_eventstart_value AS node_data_field_eventstart_field_eventstart_value,
   node_data_field_eventstart.field_eventstart_value2 AS node_data_field_eventstart_field_eventstart_value2,
   node_data_field_eventstart.nid AS node_data_field_eventstart_nid,
   node.type AS node_type,
   node.title AS node_title,
   node_revisions.teaser AS node_revisions_teaser,
   node_revisions.format AS node_revisions_format
 FROM node node 
 LEFT JOIN content_field_eventstart node_data_field_eventstart ON node.vid = node_data_field_eventstart.vid
 LEFT JOIN node_revisions node_revisions ON node.vid = node_revisions.vid
 WHERE ((node.type in ('calendar_event')) AND (node.status <> 0))
    AND (DATE_FORMAT(node_data_field_eventstart.field_eventstart_value, '%Y-%m-%d') >= '0009-03-18')
   ORDER BY node_data_field_eventstart_field_eventstart_value ASC

The code renders current date as '0009-03-18'. Similar problem was described on http://drupal.org/node/386406#comment-1340322

Drupal 6.9 and 6.10
Calendar 6.x-2.0
Date 6.x-2.0 and 6.x-2.x-dev (20009-Mar-09)
Views 6.x-2.3
PHP 5.2.6 and 5.2.8

View

$view = new view;
$view->name = 'event_calendar';
$view->description = 'Event Calendar with grid and list views and exposed filters.';
$view->tag = 'WC';
$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(
  'title' => array(
    'label' => '',
    'link_to_node' => 1,
    'exclude' => 0,
    'id' => 'title',
    'table' => 'node',
    'field' => 'title',
    'relationship' => 'none',
  ),
  'field_eventstart_value' => array(
    'label' => '',
    'link_to_node' => 0,
    'label_type' => 'none',
    'format' => 'default',
    'multiple' => array(
      'group' => TRUE,
      'multiple_number' => '',
      'multiple_from' => '',
      'multiple_reversed' => FALSE,
    ),
    'exclude' => 0,
    'id' => 'field_eventstart_value',
    'table' => 'node_data_field_eventstart',
    'field' => 'field_eventstart_value',
    'relationship' => 'none',
  ),
  'teaser' => array(
    'label' => 'Teaser',
    'exclude' => 1,
    'id' => 'teaser',
    'table' => 'node_revisions',
    'field' => 'teaser',
    'relationship' => 'none',
  ),
));
$handler->override_option('arguments', array(
  'date_argument' => array(
    'default_action' => 'default',
    'style_plugin' => 'default_summary',
    'style_options' => array(),
    'wildcard' => 'all',
    'wildcard_substitution' => 'All',
    'title' => '',
    'default_argument_type' => 'date',
    'default_argument' => '',
    'validate_type' => 'none',
    'validate_fail' => 'not found',
    'date_fields' => array(
      'node_data_field_eventstart.field_eventstart_value' => 'node_data_field_eventstart.field_eventstart_value',
    ),
    'date_method' => 'OR',
    'granularity' => 'month',
    'id' => 'date_argument',
    'table' => 'node',
    'field' => 'date_argument',
    'relationship' => 'none',
    'default_argument_user' => 0,
    'default_argument_fixed' => '',
    'default_argument_php' => '',
    'validate_argument_node_type' => array(
      'webform' => 0,
      'poll' => 0,
      'forum' => 0,
      'article' => 0,
      'book' => 0,
      'calendar_event' => 0,
      'glossary_term' => 0,
      'page' => 0,
      'playground' => 0,
      'presentation' => 0,
      'training' => 0,
      'wx_og' => 0,
    ),
    'validate_argument_node_access' => 0,
    'validate_argument_nid_type' => 'nid',
    'validate_argument_vocabulary' => array(
      '1' => 0,
      '14' => 0,
      '12' => 0,
      '15' => 0,
      '8' => 0,
      '2' => 0,
      '3' => 0,
      '11' => 0,
      '4' => 0,
      '9' => 0,
      '6' => 0,
      '5' => 0,
      '13' => 0,
    ),
    'validate_argument_type' => 'tid',
    'validate_argument_php' => '',
    'default_options_div_prefix' => '',
    'validate_argument_is_member' => 0,
  ),
));
$handler->override_option('filters', array(
  'type' => array(
    'operator' => 'in',
    'value' => array(
      'calendar_event' => 'calendar_event',
    ),
    'group' => '0',
    'exposed' => FALSE,
    'expose' => array(
      'operator' => FALSE,
      'label' => '',
    ),
    'id' => 'type',
    'table' => 'node',
    'field' => 'type',
    'relationship' => 'none',
  ),
  'status' => array(
    'operator' => '=',
    'value' => 1,
    'group' => '0',
    'exposed' => FALSE,
    'expose' => array(
      'operator' => FALSE,
      'label' => '',
    ),
    'id' => 'status',
    'table' => 'node',
    'field' => 'status',
    'relationship' => 'none',
  ),
  'tid' => array(
    'operator' => 'or',
    'value' => array(),
    'group' => '0',
    'exposed' => TRUE,
    'expose' => array(
      'use_operator' => 0,
      'operator' => 'tid_op',
      'identifier' => 'tid_1',
      'label' => 'Filter by: event type    and/or  by',
      'optional' => 1,
      'single' => 0,
      'remember' => 1,
      'reduce' => 0,
    ),
    'type' => 'select',
    'vid' => '12',
    'id' => 'tid',
    'table' => 'term_node',
    'field' => 'tid',
    'hierarchy' => 1,
    'relationship' => 'none',
    'reduce_duplicates' => 0,
    'override' => array(
      'button' => 'Override',
    ),
  ),
  'tid_1' => array(
    'operator' => 'or',
    'value' => array(),
    'group' => '0',
    'exposed' => TRUE,
    'expose' => array(
      'use_operator' => 0,
      'operator' => 'tid_1_op',
      'identifier' => 'tid_2',
      'label' => 'Workday Update',
      'optional' => 1,
      'single' => 0,
      'remember' => 1,
      'reduce' => 0,
    ),
    'type' => 'select',
    'vid' => '8',
    'id' => 'tid_1',
    'table' => 'term_node',
    'field' => 'tid',
    'hierarchy' => 0,
    'relationship' => 'none',
    'reduce_duplicates' => 0,
    'override' => array(
      'button' => 'Override',
    ),
  ),
));
$handler->override_option('access', array(
  'type' => 'role',
  'role' => array(
    '2' => 2,
  ),
));
$handler->override_option('title', 'Event Calendar');
$handler->override_option('header', 'Please select one of the filters and click Apply button to filter down by the specific categories.
<ul>
<li>Select multiple non-contiguous categories in one filter with Ctrl button pressed.</li>
<li>Select multiple contiguous categories in one filter with Shift button.</li>
<li>Deselect filter clicking on highlighted item with Ctrl button pressed.</li>
</ul>');
$handler->override_option('header_format', '2');
$handler->override_option('header_empty', 0);
$handler->override_option('footer_format', '2');
$handler->override_option('footer_empty', 0);
$handler->override_option('empty', 'There are no events for the filters you have selected.

Please select different filters.');
$handler->override_option('empty_format', '2');
$handler->override_option('use_ajax', TRUE);
$handler->override_option('items_per_page', 0);
$handler->override_option('style_plugin', 'calendar_nav');
$handler = $view->new_display('calendar', 'Calendar page', 'calendar_1');
$handler->override_option('filters', array(
  'type' => array(
    'operator' => 'in',
    'value' => array(
      'calendar_event' => 'calendar_event',
    ),
    'group' => '0',
    'exposed' => FALSE,
    'expose' => array(
      'operator' => FALSE,
      'label' => '',
    ),
    'id' => 'type',
    'table' => 'node',
    'field' => 'type',
    'relationship' => 'none',
  ),
  'status' => array(
    'operator' => '=',
    'value' => 1,
    'group' => '0',
    'exposed' => FALSE,
    'expose' => array(
      'operator' => FALSE,
      'label' => '',
    ),
    'id' => 'status',
    'table' => 'node',
    'field' => 'status',
    'relationship' => 'none',
  ),
));
$handler->override_option('header', '');
$handler->override_option('path', 'calendar/grid');
$handler->override_option('menu', array(
  'type' => 'default tab',
  'title' => 'Calendar',
  'description' => '',
  'weight' => '0',
  'name' => 'navigation',
));
$handler->override_option('tab_options', array(
  'type' => 'normal',
  'title' => 'Calendar',
  'description' => '',
  'weight' => '0',
));
$handler->override_option('calendar_colors', array(
  'page' => '#ffff66',
  'story' => '#668cff',
));
$handler->override_option('calendar_colors_vocabulary', array());
$handler->override_option('calendar_colors_taxonomy', array());
$handler->override_option('calendar_popup', 0);
$handler->override_option('calendar_date_link', '');
$handler = $view->new_display('calendar_period', 'Year view', 'calendar_period_2');
$handler->override_option('header', '');
$handler->override_option('style_plugin', 'calendar_style');
$handler->override_option('style_options', array(
  'display_type' => 'year',
  'name_size' => '1',
));
$handler->override_option('attachment_position', 'after');
$handler->override_option('inherit_arguments', TRUE);
$handler->override_option('inherit_exposed_filters', 1);
$handler->override_option('displays', array(
  'calendar_1' => 'calendar_1',
  'default' => 0,
  'calendar_block_1' => 0,
));
$handler->override_option('calendar_type', 'year');
$handler = $view->new_display('calendar_period', 'Month view', 'calendar_period_1');
$handler->override_option('header', '');
$handler->override_option('style_plugin', 'calendar_style');
$handler->override_option('style_options', array(
  'name_size' => '99',
  'with_weekno' => '0',
));
$handler->override_option('attachment_position', 'after');
$handler->override_option('inherit_arguments', TRUE);
$handler->override_option('inherit_exposed_filters', 1);
$handler->override_option('displays', array(
  'calendar_1' => 'calendar_1',
  'default' => 0,
  'calendar_block_1' => 0,
));
$handler->override_option('calendar_type', 'month');
$handler = $view->new_display('calendar_period', 'Day view', 'calendar_period_3');
$handler->override_option('header', '');
$handler->override_option('style_plugin', 'calendar_style');
$handler->override_option('style_options', array(
  'display_type' => 'day',
  'name_size' => '99',
));
$handler->override_option('attachment_position', 'after');
$handler->override_option('inherit_arguments', TRUE);
$handler->override_option('inherit_exposed_filters', 1);
$handler->override_option('displays', array(
  'calendar_1' => 'calendar_1',
  'default' => 0,
  'calendar_block_1' => 0,
));
$handler->override_option('calendar_type', 'day');
$handler = $view->new_display('calendar_period', 'Week view', 'calendar_period_4');
$handler->override_option('header', '');
$handler->override_option('style_plugin', 'calendar_style');
$handler->override_option('style_options', array(
  'display_type' => 'week',
  'name_size' => '99',
));
$handler->override_option('attachment_position', 'after');
$handler->override_option('inherit_arguments', TRUE);
$handler->override_option('inherit_exposed_filters', 1);
$handler->override_option('displays', array(
  'calendar_1' => 'calendar_1',
  'default' => 0,
  'calendar_block_1' => 0,
));
$handler->override_option('calendar_type', 'week');
$handler = $view->new_display('calendar_block', 'Calendar block', 'calendar_block_1');
$handler->override_option('filters', array(
  'type' => array(
    'operator' => 'in',
    'value' => array(
      'calendar_event' => 'calendar_event',
    ),
    'group' => '0',
    'exposed' => FALSE,
    'expose' => array(
      'operator' => FALSE,
      'label' => '',
    ),
    'id' => 'type',
    'table' => 'node',
    'field' => 'type',
    'relationship' => 'none',
  ),
  'status' => array(
    'operator' => '=',
    'value' => 1,
    'group' => '0',
    'exposed' => FALSE,
    'expose' => array(
      'operator' => FALSE,
      'label' => '',
    ),
    'id' => 'status',
    'table' => 'node',
    'field' => 'status',
    'relationship' => 'none',
  ),
));
$handler->override_option('header', '');
$handler->override_option('block_description', 'Calendar');
$handler->override_option('block_caching', -1);
$handler = $view->new_display('calendar_period', 'Block view', 'calendar_period_5');
$handler->override_option('filters', array(
  'type' => array(
    'operator' => 'in',
    'value' => array(
      'calendar_event' => 'calendar_event',
    ),
    'group' => '0',
    'exposed' => FALSE,
    'expose' => array(
      'operator' => FALSE,
      'label' => '',
    ),
    'id' => 'type',
    'table' => 'node',
    'field' => 'type',
    'relationship' => 'none',
  ),
  'status' => array(
    'operator' => '=',
    'value' => 1,
    'group' => '0',
    'exposed' => FALSE,
    'expose' => array(
      'operator' => FALSE,
      'label' => '',
    ),
    'id' => 'status',
    'table' => 'node',
    'field' => 'status',
    'relationship' => 'none',
  ),
  'tid' => array(
    'operator' => 'or',
    'value' => array(),
    'group' => '0',
    'exposed' => FALSE,
    'expose' => array(
      'operator' => 'tid_op',
      'label' => 'Filter by: event type    and/or  by',
      'use_operator' => 0,
      'identifier' => 'tid_1',
      'optional' => 1,
      'single' => 0,
      'remember' => 0,
      'reduce' => 0,
    ),
    'type' => 'select',
    'vid' => '12',
    'id' => 'tid',
    'table' => 'term_node',
    'field' => 'tid',
    'hierarchy' => 0,
    'relationship' => 'none',
    'reduce_duplicates' => 0,
    'override' => array(
      'button' => 'Use default',
    ),
  ),
  'tid_1' => array(
    'operator' => 'or',
    'value' => array(),
    'group' => '0',
    'exposed' => FALSE,
    'expose' => array(
      'operator' => 'tid_1_op',
      'label' => 'Workday Update',
      'use_operator' => 0,
      'identifier' => 'tid_2',
      'optional' => 1,
      'single' => 0,
      'remember' => 1,
      'reduce' => 0,
    ),
    'type' => 'select',
    'vid' => '8',
    'id' => 'tid_1',
    'table' => 'term_node',
    'field' => 'tid',
    'hierarchy' => 0,
    'relationship' => 'none',
    'reduce_duplicates' => 0,
    'override' => array(
      'button' => 'Use default',
    ),
  ),
));
$handler->override_option('header', '');
$handler->override_option('style_plugin', 'calendar_style');
$handler->override_option('style_options', array(
  'display_type' => 'month',
  'name_size' => '1',
));
$handler->override_option('attachment_position', 'after');
$handler->override_option('inherit_arguments', TRUE);
$handler->override_option('inherit_exposed_filters', 0);
$handler->override_option('displays', array(
  'calendar_1' => 0,
  'default' => 0,
  'calendar_block_1' => 'calendar_block_1',
));
$handler->override_option('calendar_type', 'month');
$handler = $view->new_display('page', 'List view', 'page_1');
$handler->override_option('fields', array(
  'field_eventstart_value' => array(
    'label' => '',
    'link_to_node' => 0,
    'label_type' => 'none',
    'format' => 'default',
    'multiple' => array(
      'group' => TRUE,
      'multiple_number' => '',
      'multiple_from' => '',
      'multiple_reversed' => FALSE,
    ),
    'exclude' => 0,
    'id' => 'field_eventstart_value',
    'table' => 'node_data_field_eventstart',
    'field' => 'field_eventstart_value',
    'relationship' => 'none',
  ),
  'title' => array(
    'label' => '',
    'link_to_node' => 1,
    'exclude' => 0,
    'id' => 'title',
    'table' => 'node',
    'field' => 'title',
    'relationship' => 'none',
  ),
  'teaser' => array(
    'label' => '',
    'exclude' => 0,
    'id' => 'teaser',
    'table' => 'node_revisions',
    'field' => 'teaser',
    'relationship' => 'none',
  ),
));
$handler->override_option('sorts', array(
  'field_eventstart_value' => array(
    'order' => 'ASC',
    'id' => 'field_eventstart_value',
    'table' => 'node_data_field_eventstart',
    'field' => 'field_eventstart_value',
    'override' => array(
      'button' => 'Use default',
    ),
    'relationship' => 'none',
  ),
));
$handler->override_option('arguments', array());
$handler->override_option('filters', array(
  'type' => array(
    'operator' => 'in',
    'value' => array(
      'calendar_event' => 'calendar_event',
    ),
    'group' => '0',
    'exposed' => FALSE,
    'expose' => array(
      'operator' => FALSE,
      'label' => '',
    ),
    'id' => 'type',
    'table' => 'node',
    'field' => 'type',
    'relationship' => 'none',
  ),
  'status' => array(
    'operator' => '=',
    'value' => 1,
    'group' => '0',
    'exposed' => FALSE,
    'expose' => array(
      'operator' => FALSE,
      'label' => '',
    ),
    'id' => 'status',
    'table' => 'node',
    'field' => 'status',
    'relationship' => 'none',
  ),
  'tid' => array(
    'operator' => 'or',
    'value' => array(),
    'group' => '0',
    'exposed' => TRUE,
    'expose' => array(
      'operator' => 'tid_op',
      'label' => 'Select event type:',
      'use_operator' => 0,
      'identifier' => 'tid_1',
      'optional' => 1,
      'single' => 0,
      'remember' => 0,
      'reduce' => 0,
    ),
    'type' => 'select',
    'vid' => '12',
    'id' => 'tid',
    'table' => 'term_node',
    'field' => 'tid',
    'hierarchy' => 1,
    'relationship' => 'none',
    'reduce_duplicates' => 0,
    'override' => array(
      'button' => 'Use default',
    ),
  ),
  'tid_1' => array(
    'operator' => 'or',
    'value' => array(),
    'group' => '0',
    'exposed' => TRUE,
    'expose' => array(
      'use_operator' => 0,
      'operator' => 'tid_1_op',
      'identifier' => 'tid_2',
      'label' => 'Select update:',
      'optional' => 1,
      'single' => 0,
      'remember' => 0,
      'reduce' => 0,
    ),
    'type' => 'select',
    'vid' => '8',
    'id' => 'tid_1',
    'table' => 'term_node',
    'field' => 'tid',
    'hierarchy' => 0,
    'override' => array(
      'button' => 'Use default',
    ),
    'relationship' => 'none',
    'reduce_duplicates' => 0,
  ),
  'date_filter' => array(
    'operator' => '>=',
    'value' => array(
      'value' => NULL,
      'min' => NULL,
      'max' => NULL,
      'default_date' => 'now',
      'default_to_date' => '',
    ),
    'group' => '0',
    'exposed' => TRUE,
    'expose' => array(
      'use_operator' => 0,
      'operator' => 'date_filter_op',
      'identifier' => 'date_filter',
      'label' => 'Select event start date:',
      'optional' => 1,
      'remember' => 0,
    ),
    'date_fields' => array(
      'node_data_field_eventstart.field_eventstart_value' => 'node_data_field_eventstart.field_eventstart_value',
    ),
    'date_method' => 'OR',
    'granularity' => 'day',
    'form_type' => 'date_select',
    'default_date' => 'now',
    'default_to_date' => '',
    'year_range' => '-3:+3',
    'id' => 'date_filter',
    'table' => 'node',
    'field' => 'date_filter',
    'override' => array(
      'button' => 'Use default',
    ),
    'relationship' => 'none',
  ),
));
$handler->override_option('items_per_page', 10);
$handler->override_option('use_pager', 'mini');
$handler->override_option('style_plugin', 'list');
$handler->override_option('row_options', array(
  'inline' => array(
    'title' => 'title',
    'field_eventstart_value' => 'field_eventstart_value',
  ),
  'separator' => ' | ',
));
$handler->override_option('path', 'calendar/list');
$handler->override_option('menu', array(
  'type' => 'tab',
  'title' => 'List',
  'description' => '',
  'weight' => '1',
  'name' => 'navigation',
));
$handler->override_option('tab_options', array(
  'type' => 'none',
  'title' => '',
  'description' => '',
  'weight' => 0,
));
$handler = $view->new_display('block', 'List block', 'block_1');
$handler->override_option('fields', array(
  'title' => array(
    'label' => '',
    'link_to_node' => 1,
    'exclude' => 0,
    'id' => 'title',
    'table' => 'node',
    'field' => 'title',
    'relationship' => 'none',
  ),
  'field_eventstart_value' => array(
    'label' => '',
    'link_to_node' => 0,
    'label_type' => 'none',
    'format' => 'default',
    'multiple' => array(
      'group' => TRUE,
      'multiple_number' => '',
      'multiple_from' => '',
      'multiple_reversed' => FALSE,
    ),
    'exclude' => 0,
    'id' => 'field_eventstart_value',
    'table' => 'node_data_field_eventstart',
    'field' => 'field_eventstart_value',
    'relationship' => 'none',
  ),
));
$handler->override_option('sorts', array(
  'field_eventstart_value' => array(
    'order' => 'ASC',
    'id' => 'field_eventstart_value',
    'table' => 'node_data_field_eventstart',
    'field' => 'field_eventstart_value',
    'override' => array(
      'button' => 'Use default',
    ),
    'relationship' => 'none',
  ),
));
$handler->override_option('arguments', array(
  'date_argument' => array(
    'default_action' => 'ignore',
    'style_plugin' => 'default_summary',
    'style_options' => array(),
    'wildcard' => 'all',
    'wildcard_substitution' => 'All',
    'title' => '',
    'default_argument_type' => 'date',
    'default_argument' => '',
    'validate_type' => 'none',
    'validate_fail' => 'not found',
    'date_fields' => array(
      'node_data_field_eventstart.field_eventstart_value' => 'node_data_field_eventstart.field_eventstart_value',
    ),
    'year_range' => '-3:+3',
    'date_method' => 'OR',
    'granularity' => 'day',
    'id' => 'date_argument',
    'table' => 'node',
    'field' => 'date_argument',
    'relationship' => 'none',
    'default_argument_user' => 0,
    'default_argument_fixed' => '',
    'default_argument_php' => '',
    'validate_argument_node_type' => array(
      'webform' => 0,
      'poll' => 0,
      'forum' => 0,
      'book' => 0,
      'calendar_event' => 0,
      'glossary_term' => 0,
      'news' => 0,
      'page' => 0,
      'playground' => 0,
      'presentation' => 0,
      'training' => 0,
      'wx_og' => 0,
    ),
    'validate_argument_node_access' => 0,
    'validate_argument_nid_type' => 'nid',
    'validate_argument_vocabulary' => array(
      '1' => 0,
      '14' => 0,
      '12' => 0,
      '15' => 0,
      '8' => 0,
      '2' => 0,
      '3' => 0,
      '11' => 0,
      '4' => 0,
      '9' => 0,
      '6' => 0,
      '5' => 0,
      '13' => 0,
    ),
    'validate_argument_type' => 'tid',
    'validate_argument_php' => '',
    'default_options_div_prefix' => '',
    'validate_argument_is_member' => 0,
    'override' => array(
      'button' => 'Use default',
    ),
  ),
));
$handler->override_option('filters', array(
  'type' => array(
    'operator' => 'in',
    'value' => array(
      'calendar_event' => 'calendar_event',
    ),
    'group' => '0',
    'exposed' => FALSE,
    'expose' => array(
      'operator' => FALSE,
      'label' => '',
    ),
    'id' => 'type',
    'table' => 'node',
    'field' => 'type',
    'relationship' => 'none',
  ),
  'status' => array(
    'operator' => '=',
    'value' => 1,
    'group' => '0',
    'exposed' => FALSE,
    'expose' => array(
      'operator' => FALSE,
      'label' => '',
    ),
    'id' => 'status',
    'table' => 'node',
    'field' => 'status',
    'relationship' => 'none',
  ),
  'date_filter' => array(
    'operator' => '>=',
    'value' => array(
      'value' => NULL,
      'min' => NULL,
      'max' => NULL,
      'default_date' => 'now',
      'default_to_date' => '',
    ),
    'group' => '0',
    'exposed' => FALSE,
    'expose' => array(
      'operator' => 'date_filter_op',
      'label' => 'Date: Date',
      'use_operator' => 0,
      'identifier' => 'date_filter',
      'optional' => 1,
      'remember' => 0,
    ),
    'date_fields' => array(
      'node_data_field_eventstart.field_eventstart_value' => 'node_data_field_eventstart.field_eventstart_value',
    ),
    'date_method' => 'OR',
    'granularity' => 'day',
    'form_type' => 'date_select',
    'default_date' => 'now',
    'default_to_date' => '',
    'year_range' => '-3:+3',
    'id' => 'date_filter',
    'table' => 'node',
    'field' => 'date_filter',
    'override' => array(
      'button' => 'Use default',
    ),
    'relationship' => 'none',
  ),
));
$handler->override_option('title', 'Upcoming Events');
$handler->override_option('header', '');
$handler->override_option('items_per_page', 3);
$handler->override_option('use_more', 1);
$handler->override_option('link_display', 'page_1');
$handler->override_option('style_plugin', 'list');
$handler->override_option('style_options', array(
  'grouping' => '',
  'type' => 'ul',
));
$handler->override_option('block_description', 'Calendar Upcoming Events List');
$handler->override_option('block_caching', -1);

View used is called List view.

I've tried to debug the code but it's Date module's internal logic is beyond my expertise.
What I found out is that for the subsequent invocation of form_builder function for $form children (year, month, day, hour etc.) in line 833 of form.inc parent element of year, month, day etc. $form_state[values][date_filter][value] is being overridden inside form_set_value.
It's initial value of 2009-03-18 16:46:59 eventually transforms to 0009-03-18 16:46:59. I assume that a Date module is providing a wrongly formated date parameter for the form processing functions.

Comments

Peter Swietoslawski’s picture

I have a view to display list of my events starting at a specified time. The default date is set to 'now'. The list of events rendered by the view does not start from today as 'now' parameter would suggest. Instead of I'm getting list of all events from the very first one from before a year ago.

If I hit the Apply button on the exposed filter the problem disappears.

Basically the SQL query the view construct has a malformated date condition:

SELECT node.nid AS nid,
   node_data_field_eventstart.field_eventstart_value AS node_data_field_eventstart_field_eventstart_value,
   node_data_field_eventstart.field_eventstart_value2 AS node_data_field_eventstart_field_eventstart_value2,
   node_data_field_eventstart.nid AS node_data_field_eventstart_nid,
   node.type AS node_type,
   node.title AS node_title,
   node_revisions.teaser AS node_revisions_teaser,
   node_revisions.format AS node_revisions_format
 FROM node node 
 LEFT JOIN content_field_eventstart node_data_field_eventstart ON node.vid = node_data_field_eventstart.vid
 LEFT JOIN node_revisions node_revisions ON node.vid = node_revisions.vid
 WHERE ((node.type in ('calendar_event')) AND (node.status <> 0))
    AND (DATE_FORMAT(node_data_field_eventstart.field_eventstart_value, '%Y-%m-%d') >= '0009-03-18')
   ORDER BY node_data_field_eventstart_field_eventstart_value ASC

The code renders current date as '0009-03-18'. Similar problem was described on http://drupal.org/node/386406#comment-1340322

Drupal 6.9 and 6.10
Calendar 6.x-2.0
Date 6.x-2.0 and 6.x-2.x-dev (20009-Mar-09)
Views 6.x-2.3
PHP 5.2.6 and 5.2.8

I've tried to debug the code but it's Date module's internal logic is beyond my expertise.
What I found out is that for the subsequent invocation of form_builder function for $form children (year, month, day, hour etc.) in line 833 of form.inc parent element of year, month, day etc. $form_state[values][date_filter][value] is being overridden inside form_set_value.
It's initial value of 2009-03-18 16:46:59 eventually transforms to 0009-03-18 16:46:59. I assume that a Date module is providing a wrongly formated date parameter for the form processing functions.

karens’s picture

Status: Active » Fixed

The issue you refer to was fixed in -dev, and I cannot reproduce your problem in -dev either.

Peter Swietoslawski’s picture

Karen I've just done clean install of Drupal as follows:
Drupal 6.10
Calendar 6.x-2.0
CCK 6.x-2.2
Date 6.x-2.x-dev (March 24)
Views 6.x-2.3

And upon building such a simple view:

$view = new view;
$view->name = 'wx_calendar';
$view->description = 'A multi-dimensional calendar view with back/next navigation.';
$view->tag = 'Calendar';
$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(
  'title' => array(
    'label' => '',
    'link_to_node' => 1,
    'exclude' => 0,
    'id' => 'title',
    'field' => 'title',
    'table' => 'node',
    'relationship' => 'none',
  ),
  'changed' => array(
    'label' => '',
    'link_to_node' => 0,
    'exclude' => 0,
    'id' => 'changed',
    'field' => 'changed',
    'table' => 'node',
    'relationship' => 'none',
    'date_format' => 'small',
  ),
));
$handler->override_option('sorts', array(
  'changed' => array(
    'order' => 'ASC',
    'delta' => '-1',
    'id' => 'changed',
    'table' => 'node',
    'field' => 'changed',
    'relationship' => 'none',
  ),
));
$handler->override_option('arguments', array(
  'date_argument' => array(
    'default_action' => 'default',
    'style_plugin' => 'default_summary',
    'style_options' => array(),
    'wildcard' => 'all',
    'wildcard_substitution' => 'All',
    'title' => '',
    'default_argument_type' => 'date',
    'default_argument' => '',
    'validate_type' => 'none',
    'validate_fail' => 'not found',
    'date_fields' => array(
      'node.changed' => 'node.changed',
    ),
    'year_range' => '-3:+3',
    'date_method' => 'OR',
    'granularity' => 'day',
    'id' => 'date_argument',
    'table' => 'users',
    'field' => 'date_argument',
    'relationship' => 'none',
    'default_options_div_prefix' => '',
    'default_argument_user' => 0,
    'default_argument_fixed' => '',
    'default_argument_php' => '',
    'validate_argument_node_type' => array(
      'grouppost' => 0,
      'oggroup' => 0,
      'page' => 0,
      'story' => 0,
    ),
    'validate_argument_node_access' => 0,
    'validate_argument_nid_type' => 'nid',
    'validate_argument_vocabulary' => array(),
    'validate_argument_type' => 'tid',
    'user_argument_type' => '',
    'restrict_user_roles' => 0,
    'user_roles' => array(),
    'validate_argument_is_member' => 0,
    'validate_argument_php' => '',
  ),
));
$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',
    'override' => array(
      'button' => 'Override',
    ),
  ),
));
$handler->override_option('access', array(
  'type' => 'none',
  'role' => array(),
  'perm' => '',
));
$handler->override_option('title', 'Calendar');
$handler->override_option('header_empty', 1);
$handler->override_option('items_per_page', 0);
$handler->override_option('use_more', 0);
$handler->override_option('style_plugin', 'calendar_nav');
$handler = $view->new_display('page', 'List view', 'page_1');
$handler->override_option('arguments', array(
  'date_argument' => array(
    'default_action' => 'ignore',
    'style_plugin' => 'default_summary',
    'style_options' => array(),
    'wildcard' => 'all',
    'wildcard_substitution' => 'All',
    'title' => '',
    'default_argument_type' => 'date',
    'default_argument' => '',
    'validate_type' => 'none',
    'validate_fail' => 'not found',
    'date_fields' => array(
      'node.changed' => 'node.changed',
    ),
    'year_range' => '-3:+3',
    'date_method' => 'OR',
    'granularity' => 'day',
    'id' => 'date_argument',
    'table' => 'users',
    'field' => 'date_argument',
    'relationship' => 'none',
    'default_options_div_prefix' => '',
    'default_argument_user' => 0,
    'default_argument_fixed' => '',
    'default_argument_php' => '',
    'validate_argument_node_type' => array(
      'grouppost' => 0,
      'oggroup' => 0,
      'page' => 0,
      'story' => 0,
    ),
    'validate_argument_node_access' => 0,
    'validate_argument_nid_type' => 'nid',
    'validate_argument_vocabulary' => array(),
    'validate_argument_type' => 'tid',
    'user_argument_type' => '',
    'restrict_user_roles' => 0,
    'user_roles' => array(),
    'validate_argument_is_member' => 0,
    'validate_argument_php' => '',
    'override' => array(
      'button' => 'Use default',
    ),
  ),
));
$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',
    'override' => array(
      'button' => 'Override',
    ),
  ),
  'date_filter' => array(
    'operator' => '>=',
    'value' => array(
      'value' => NULL,
      'min' => NULL,
      'max' => NULL,
      'default_date' => 'now',
      'default_to_date' => '',
    ),
    'group' => '0',
    'exposed' => TRUE,
    'expose' => array(
      'use_operator' => 0,
      'operator' => 'date_filter_op',
      'identifier' => 'date_filter',
      'label' => 'Date: Date',
      'optional' => 1,
      'remember' => 0,
    ),
    'date_fields' => array(
      'node.changed' => 'node.changed',
    ),
    'date_method' => 'OR',
    'granularity' => 'day',
    'form_type' => 'date_select',
    'default_date' => 'now',
    'default_to_date' => '',
    'year_range' => '-3:+3',
    'id' => 'date_filter',
    'table' => 'users',
    'field' => 'date_filter',
    'override' => array(
      'button' => 'Use default',
    ),
    'relationship' => 'none',
  ),
));
$handler->override_option('style_plugin', 'list');
$handler->override_option('style_options', array(
  'grouping' => '',
  'type' => 'ul',
));
$handler->override_option('path', 'calendar/list-view');
$handler->override_option('menu', array(
  'type' => 'none',
  'title' => '',
  'description' => '',
  'weight' => 0,
  'name' => 'navigation',
));
$handler->override_option('tab_options', array(
  'type' => 'none',
  'title' => '',
  'description' => '',
  'weight' => 0,
));

When live-previewing 'List view' display the SQL looks like

SELECT node.nid AS nid,
   node.title AS node_title,
   node.changed AS node_changed
 FROM node node 
 INNER JOIN users users ON node.uid = users.uid
 WHERE (node.status <> 0)
    AND (DATE_FORMAT(FROM_UNIXTIME(node.changed), '%Y-%m-%%d') >= '0009-03-24')
   ORDER BY node_changed ASC

When I hit Apply button on exposed Date filter the SQL looks properly

SELECT node.nid AS nid,
   node.title AS node_title,
   node.changed AS node_changed
 FROM node node 
 INNER JOIN users users ON node.uid = users.uid
 WHERE (node.status <> 0)
    AND (DATE_FORMAT(FROM_UNIXTIME(node.changed), '%Y-%m-%%d') >= '2009-03-24')
   ORDER BY node_changed ASC
karens’s picture

Don't mix the -dev version of Date with an older version of Calendar (2.0), there's no telling what you'll run into. Use the latest -dev of both or use the latest official release of both.

Peter Swietoslawski’s picture

Ok my fault, Karen.

I've did another clean install of Drupal 6.10 with with absolute minimal setup to have calendar working (attached screenshots for more details Modules-for-Calendar-Date-on-Dev.png):
Date 6.x-2.x-dev (2009-Feb-24)
Calendar 6.x-2.x-dev (2009-Feb-28)
Views 6.x-2.3

I no longer use any custom CCK's Date fields.

Here is my view

$view = new view;
$view->name = 'my_calendar';
$view->description = 'A multi-dimensional calendar view with back/next navigation.';
$view->tag = 'Calendar';
$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(
  'created' => array(
    'label' => 'Post date',
    '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,
    ),
    'date_format' => 'small',
    'custom_date_format' => '',
    'exclude' => 0,
    'id' => 'created',
    'table' => 'node',
    'field' => 'created',
    'override' => array(
      'button' => 'Override',
    ),
    'relationship' => 'none',
  ),
  'title' => array(
    'label' => '',
    'link_to_node' => 1,
    'exclude' => 0,
    'id' => 'title',
    'field' => 'title',
    'table' => 'node',
    'relationship' => 'none',
  ),
));
$handler->override_option('sorts', array(
  'changed' => array(
    'order' => 'ASC',
    'delta' => '-1',
    'id' => 'changed',
    'table' => 'node',
    'field' => 'changed',
    'relationship' => 'none',
  ),
));
$handler->override_option('arguments', array(
  'date_argument' => array(
    'default_action' => 'default',
    'style_plugin' => 'default_summary',
    'style_options' => array(),
    'wildcard' => 'all',
    'wildcard_substitution' => 'All',
    'title' => '',
    'default_argument_type' => 'date',
    'default_argument' => '',
    'validate_type' => 'none',
    'validate_fail' => 'not found',
    'date_fields' => array(
      'node.created' => 'node.created',
    ),
    'year_range' => '-3:+3',
    'date_method' => 'OR',
    'granularity' => 'day',
    'id' => 'date_argument',
    'table' => 'users',
    'field' => 'date_argument',
    'relationship' => 'none',
    'default_options_div_prefix' => '',
    'default_argument_user' => 0,
    'default_argument_fixed' => '',
    'default_argument_php' => '',
    'validate_argument_node_type' => array(
      'page' => 0,
      'story' => 0,
    ),
    'validate_argument_node_access' => 0,
    'validate_argument_nid_type' => 'nid',
    'validate_argument_vocabulary' => array(),
    'validate_argument_type' => 'tid',
    'user_argument_type' => '',
    'restrict_user_roles' => 0,
    'user_roles' => array(),
    'validate_argument_php' => '',
    'override' => array(
      'button' => 'Override',
    ),
  ),
));
$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',
  ),
  'date_filter' => array(
    'operator' => '<',
    'value' => array(
      'value' => NULL,
      'min' => NULL,
      'max' => NULL,
      'default_date' => 'now -1 day',
      'default_to_date' => '',
    ),
    'group' => '0',
    'exposed' => TRUE,
    'expose' => array(
      'use_operator' => 0,
      'operator' => 'date_filter_op',
      'identifier' => 'date_filter',
      'label' => 'Date: Date',
      'optional' => 1,
      'remember' => 0,
    ),
    'date_fields' => array(
      'node.created' => 'node.created',
    ),
    'date_method' => 'OR',
    'granularity' => 'day',
    'form_type' => 'date_select',
    'default_date' => 'now -1 day',
    'default_to_date' => '',
    'year_range' => '-3:+3',
    'id' => 'date_filter',
    'table' => 'users',
    'field' => 'date_filter',
    'relationship' => 'none',
    'override' => array(
      'button' => 'Override',
    ),
  ),
));
$handler->override_option('access', array(
  'type' => 'none',
  'role' => array(),
  'perm' => '',
));
$handler->override_option('title', 'Calendar');
$handler->override_option('header_empty', 1);
$handler->override_option('items_per_page', 0);
$handler->override_option('use_more', 0);
$handler->override_option('style_plugin', 'list');
$handler->override_option('row_options', array(
  'inline' => array(
    'title' => 'title',
    'created' => 'created',
  ),
  'separator' => '|',
));
$handler = $view->new_display('page', 'Page', 'page_1');
$handler->override_option('path', 'calendar/list-view');
$handler->override_option('menu', array(
  'type' => 'none',
  'title' => '',
  'description' => '',
  'weight' => 0,
  'name' => 'navigation',
));
$handler->override_option('tab_options', array(
  'type' => 'none',
  'title' => '',
  'description' => '',
  'weight' => 0,
));

As it would be to much writting I've attached screenshot of following three use cases:

1. The Not-Exposed-date-filter-generate-wrong-date-format-string screenshot shows live preview of this view with filter not exposed. The date is picked up and formated correctly. However there is another issue with format string for day which in dev version now is malformed and shows %%d.

2. The Exposed-filter---Preview-button screenshot shows live preview of view with exposed filter and Preview button used. As you can see the date string is malformed with year being '0009'.

3. And finally Exposed-filter---Apply-button screenshot shows live preview of view with exposed filter and Apply button used. The date string is now ok but formating string for day is malformed.

Hope this is more clear now.

karens’s picture

This view won't create any logical results -- you have both a Date argument and a Date filter. The date argument will limit the results to a specific date, the filter will have no effect at all after that. You want one or the other. Using both together also has some bugs where they get in the way of each other (reported elsewhere) but in this case I think it is a mistake to try to use both and your problem will be fixed by getting rid of one of them.

The double '%%' is not a bug, it is needed to keep the 'd' from getting stripped out of the final results.

karens’s picture

There is also an issue #411496: Exposed filter date query is '0009' not '2009' when using 'select' widget that might be the problem with the exposed filter, but that is reported already.

Peter Swietoslawski’s picture

Looks like my issue indeed duplicates #411496: Exposed filter date query is '0009' not '2009' when using 'select' widget. I'll just check there for updates on the case however it is marked as fixed?
Thanks for your quick response and of course you are right that setting attribute and filter on Date didn't make sense.

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.