Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
C
Core
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 913
    • Issues 913
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Operations
    • Operations
    • Incidents
  • Analytics
    • Analytics
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
  • Development
  • Core
  • Issues
  • #428

Closed
Open
Opened Oct 09, 2018 by AllenShaw@AllenShawDeveloper

Fatal error in Activity Details report when Sorting uses Section Header

Steps to reproduce on dmaster:

  1. Enable debug/backtrace options for better error reporting (this is not required to achieve the relevant fatal error).
  2. Open the Activity Details report at http://drupal-demo.amp.l/civicrm/report/instance/3?reset=1&output=criteria
  3. Open the Sort tab and enable the 'Section Header / group by' option for any sort-by column; click Refresh results to reload the report with this configuration change.
  4. Observe a fatal error page with the following Error Details:
Database Error Code: Table 'dmasterciv_jqcej.Array' doesn't exist, 1146
Additional Details:
Array
(
  [callback] => Array
      (
          [0] => CRM_Core_Error
          [1] => handle
      )

  [code] => -18
  [message] => DB Error: no such table
  [mode] => 16
  [debug_info] => SELECT ANY_VALUE(ifnull(civicrm_activity_activity_date_time_date, '')) as civicrm_activity_activity_date_time_date, ANY_VALUE(ifnull(civicrm_contact_contact_assignee, '')) as civicrm_contact_contact_assignee, ANY_VALUE(ifnull(civicrm_contact_contact_target, '')) as civicrm_contact_contact_target, ANY_VALUE(ifnull(civicrm_contact_contact_source_id, '')) as civicrm_contact_contact_source_id, ANY_VALUE(ifnull(civicrm_contact_contact_assignee_id, '')) as civicrm_contact_contact_assignee_id, ANY_VALUE(ifnull(civicrm_contact_contact_target_id, '')) as civicrm_contact_contact_target_id, ANY_VALUE(ifnull(civicrm_activity_id, '')) as civicrm_activity_id, ANY_VALUE(ifnull(civicrm_activity_source_record_id, '')) as civicrm_activity_source_record_id, ANY_VALUE(ifnull(civicrm_activity_activity_type_id, '')) as civicrm_activity_activity_type_id, ANY_VALUE(ifnull(civicrm_activity_activity_subject, '')) as civicrm_activity_activity_subject, ANY_VALUE(ifnull(civicrm_activity_activity_date_time, '')) as civicrm_activity_activity_date_time, ANY_VALUE(ifnull(civicrm_activity_status_id, '')) as civicrm_activity_status_id , count(DISTINCT civicrm_activity_id) as ct from Array group by civicrm_activity_activity_date_time_date [nativecode=1146 ** Table 'dmasterciv_jqcej.Array' doesn't exist]
  [type] => DB_Error
  [user_info] => SELECT ANY_VALUE(ifnull(civicrm_activity_activity_date_time_date, '')) as civicrm_activity_activity_date_time_date, ANY_VALUE(ifnull(civicrm_contact_contact_assignee, '')) as civicrm_contact_contact_assignee, ANY_VALUE(ifnull(civicrm_contact_contact_target, '')) as civicrm_contact_contact_target, ANY_VALUE(ifnull(civicrm_contact_contact_source_id, '')) as civicrm_contact_contact_source_id, ANY_VALUE(ifnull(civicrm_contact_contact_assignee_id, '')) as civicrm_contact_contact_assignee_id, ANY_VALUE(ifnull(civicrm_contact_contact_target_id, '')) as civicrm_contact_contact_target_id, ANY_VALUE(ifnull(civicrm_activity_id, '')) as civicrm_activity_id, ANY_VALUE(ifnull(civicrm_activity_source_record_id, '')) as civicrm_activity_source_record_id, ANY_VALUE(ifnull(civicrm_activity_activity_type_id, '')) as civicrm_activity_activity_type_id, ANY_VALUE(ifnull(civicrm_activity_activity_subject, '')) as civicrm_activity_activity_subject, ANY_VALUE(ifnull(civicrm_activity_activity_date_time, '')) as civicrm_activity_activity_date_time, ANY_VALUE(ifnull(civicrm_activity_status_id, '')) as civicrm_activity_status_id , count(DISTINCT civicrm_activity_id) as ct from Array group by civicrm_activity_activity_date_time_date [nativecode=1146 ** Table 'dmasterciv_jqcej.Array' doesn't exist]
  [to_string] => [db_error: message="DB Error: no such table" code=-18 mode=callback callback=CRM_Core_Error::handle prefix="" info="SELECT ANY_VALUE(ifnull(civicrm_activity_activity_date_time_date, '')) as civicrm_activity_activity_date_time_date, ANY_VALUE(ifnull(civicrm_contact_contact_assignee, '')) as civicrm_contact_contact_assignee, ANY_VALUE(ifnull(civicrm_contact_contact_target, '')) as civicrm_contact_contact_target, ANY_VALUE(ifnull(civicrm_contact_contact_source_id, '')) as civicrm_contact_contact_source_id, ANY_VALUE(ifnull(civicrm_contact_contact_assignee_id, '')) as civicrm_contact_contact_assignee_id, ANY_VALUE(ifnull(civicrm_contact_contact_target_id, '')) as civicrm_contact_contact_target_id, ANY_VALUE(ifnull(civicrm_activity_id, '')) as civicrm_activity_id, ANY_VALUE(ifnull(civicrm_activity_source_record_id, '')) as civicrm_activity_source_record_id, ANY_VALUE(ifnull(civicrm_activity_activity_type_id, '')) as civicrm_activity_activity_type_id, ANY_VALUE(ifnull(civicrm_activity_activity_subject, '')) as civicrm_activity_activity_subject, ANY_VALUE(ifnull(civicrm_activity_activity_date_time, '')) as civicrm_activity_activity_date_time, ANY_VALUE(ifnull(civicrm_activity_status_id, '')) as civicrm_activity_status_id , count(DISTINCT civicrm_activity_id) as ct from Array group by civicrm_activity_activity_date_time_date [nativecode=1146 ** Table 'dmasterciv_jqcej.Array' doesn't exist]"]
)
  1. Also observe this PHP Notice: Array to string conversion in CRM_Report_Form_Activity->sectionTotals() (line 1083 of /srv/buildkit/build/dmaster/sites/all/modules/civicrm/CRM/Report/Form/Activity.php).

Best guess what's going on:

The activity Details report assumes the name of a temporary table is stored in $this->temporaryTables['activity_temp_table'], but that's really an array. The table name is actually stored in $this->temporaryTables['activity_temp_table']['name'].

To upload designs, you'll need to enable LFS and have admin enable hashed storage. More information
Assignee
Assign to
5.7
Milestone
5.7
Assign milestone
Time tracking
None
Due date
None
Reference: dev/core#428