/**
  * Returns all the column names of this table
  *
  * @return array
  */
 static function &fields()
 {
   if (!(self::$_fields)) {
     self::$_fields = array(
       'duration_id' => array(
         'name' => 'duration_id',
         'type' => CRM_Utils_Type::T_INT,
         'description' => 'Duration ID',
         'required' => true,
       ) ,
       'start_date' => array(
         'name' => 'start_date',
         'type' => CRM_Utils_Type::T_DATE,
         'title' => ts('Start Date') ,
         'description' => 'Start date',
         'import' => true,
         'where' => 'civicrm_contribution_member_dues_duration.start_date',
         'headerPattern' => '/start(.?date)?/i',
         'dataPattern' => '/^\d{4}-?\d{2}-?\d{2} ?(\d{2}:?\d{2}:?(\d{2})?)?$/',
         'export' => true,
         'html' => array(
           'type' => 'Select Date',
         ) ,
       ) ,
         'end_date' => array(
         'name' => 'end_date',
         'type' => CRM_Utils_Type::T_DATE,
         'title' => ts('End Date') ,
         'description' => 'End date',
         'import' => true,
         'where' => 'civicrm_contribution_member_dues_duration.end_date',
         'headerPattern' => '/end(.?date)?/i',
         'dataPattern' => '/^\d{4}-?\d{2}-?\d{2} ?(\d{2}:?\d{2}:?(\d{2})?)?$/',
         'export' => true,
         'html' => array(
           'type' => 'Select Date',
         ) ,
       ) ,
     );
   }
   return self::$_fields;
 }