CiviCRM Core issueshttps://lab.civicrm.org/dev/core/-/issues2018-05-30T02:26:23Zhttps://lab.civicrm.org/dev/core/-/issues/139Contribution Details Report throws DB error When trying to filter by soft_cre...2018-05-30T02:26:23ZyashodhaContribution Details Report throws DB error When trying to filter by soft_credit_type but not including soft creditsSteps to replicate:
Go to Contribution Details Report
In filters section, select Contribution OR Soft Credit? Is equal to Soft Credits Only and Soft Credit Type Is Solicited
When you run the report, you get following DB error:
`
Databas...Steps to replicate:
Go to Contribution Details Report
In filters section, select Contribution OR Soft Credit? Is equal to Soft Credits Only and Soft Credit Type Is Solicited
When you run the report, you get following DB error:
`
Database Error Code: Unknown column 'contribution_soft_civireport.soft_credit_type_id' in 'where clause', 1054
Additional Details:
Array
(
[callback] => Array
(
[0] => CRM_Core_Error
[1] => handle
)
[code] => -19
[message] => DB Error: no such field
[mode] => 16
[debug_info] => CREATE TEMPORARY TABLE civireport_contribution_detail_temp1 DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci AS SELECT SQL_CALC_FOUND_ROWS GROUP_CONCAT(DISTINCT contact_civireport.sort_name) as civicrm_contact_sort_name, GROUP_CONCAT(DISTINCT contact_civireport.id) as civicrm_contact_id, GROUP_CONCAT(DISTINCT email_civireport.email) as civicrm_email_email, GROUP_CONCAT(DISTINCT phone_civireport.phone) as civicrm_phone_phone, (contribution_civireport.id) as civicrm_contribution_contribution_id, GROUP_CONCAT(DISTINCT contribution_civireport.financial_type_id) as civicrm_contribution_financial_type_id, GROUP_CONCAT(DISTINCT contribution_civireport.currency) as civicrm_contribution_currency, GROUP_CONCAT(DISTINCT contribution_civireport.receive_date) as civicrm_contribution_receive_date, sum(contribution_civireport.total_amount) as civicrm_contribution_total_amount_sum, GROUP_CONCAT(DISTINCT 'Contribution') as civicrm_contribution_contribution_or_soft, GROUP_CONCAT(DISTINCT address_civireport.country_id) as civicrm_address_country_id FROM civicrm_contact contact_civireport
INNER JOIN civicrm_contribution contribution_civireport
ON contact_civireport.id = contribution_civireport.contact_id
AND contribution_civireport.is_test = 0
LEFT JOIN civicrm_phone phone_civireport
ON contact_civireport.id = phone_civireport.contact_id AND
phone_civireport.is_primary = 1
LEFT JOIN civicrm_address address_civireport
ON (contact_civireport.id =
address_civireport.contact_id) AND
address_civireport.is_primary = 1
LEFT JOIN civicrm_email email_civireport
ON (contact_civireport.id = email_civireport.contact_id AND
email_civireport.is_primary = 1) WHERE ( contact_civireport.is_deleted = 0 ) AND (1) AND ( contribution_civireport.contribution_status_id IN (1) ) AND ( ( contribution_soft_civireport.soft_credit_type_id IN ( '3') ) ) GROUP BY contribution_civireport.id ORDER BY civicrm_contact_sort_name ASC LIMIT 0, 50 [nativecode=1054 ** Unknown column 'contribution_soft_civireport.soft_credit_type_id' in 'where clause']
[type] => DB_Error
[user_info] => CREATE TEMPORARY TABLE civireport_contribution_detail_temp1 DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci AS SELECT SQL_CALC_FOUND_ROWS GROUP_CONCAT(DISTINCT contact_civireport.sort_name) as civicrm_contact_sort_name, GROUP_CONCAT(DISTINCT contact_civireport.id) as civicrm_contact_id, GROUP_CONCAT(DISTINCT email_civireport.email) as civicrm_email_email, GROUP_CONCAT(DISTINCT phone_civireport.phone) as civicrm_phone_phone, (contribution_civireport.id) as civicrm_contribution_contribution_id, GROUP_CONCAT(DISTINCT contribution_civireport.financial_type_id) as civicrm_contribution_financial_type_id, GROUP_CONCAT(DISTINCT contribution_civireport.currency) as civicrm_contribution_currency, GROUP_CONCAT(DISTINCT contribution_civireport.receive_date) as civicrm_contribution_receive_date, sum(contribution_civireport.total_amount) as civicrm_contribution_total_amount_sum, GROUP_CONCAT(DISTINCT 'Contribution') as civicrm_contribution_contribution_or_soft, GROUP_CONCAT(DISTINCT address_civireport.country_id) as civicrm_address_country_id FROM civicrm_contact contact_civireport
INNER JOIN civicrm_contribution contribution_civireport
ON contact_civireport.id = contribution_civireport.contact_id
AND contribution_civireport.is_test = 0
LEFT JOIN civicrm_phone phone_civireport
ON contact_civireport.id = phone_civireport.contact_id AND
phone_civireport.is_primary = 1
LEFT JOIN civicrm_address address_civireport
ON (contact_civireport.id =
address_civireport.contact_id) AND
address_civireport.is_primary = 1
LEFT JOIN civicrm_email email_civireport
ON (contact_civireport.id = email_civireport.contact_id AND
email_civireport.is_primary = 1) WHERE ( contact_civireport.is_deleted = 0 ) AND (1) AND ( contribution_civireport.contribution_status_id IN (1) ) AND ( ( contribution_soft_civireport.soft_credit_type_id IN ( '3') ) ) GROUP BY contribution_civireport.id ORDER BY civicrm_contact_sort_name ASC LIMIT 0, 50 [nativecode=1054 ** Unknown column 'contribution_soft_civireport.soft_credit_type_id' in 'where clause']
[to_string] => [db_error: message="DB Error: no such field" code=-19 mode=callback callback=CRM_Core_Error::handle prefix="" info="CREATE TEMPORARY TABLE civireport_contribution_detail_temp1 DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci AS SELECT SQL_CALC_FOUND_ROWS GROUP_CONCAT(DISTINCT contact_civireport.sort_name) as civicrm_contact_sort_name, GROUP_CONCAT(DISTINCT contact_civireport.id) as civicrm_contact_id, GROUP_CONCAT(DISTINCT email_civireport.email) as civicrm_email_email, GROUP_CONCAT(DISTINCT phone_civireport.phone) as civicrm_phone_phone, (contribution_civireport.id) as civicrm_contribution_contribution_id, GROUP_CONCAT(DISTINCT contribution_civireport.financial_type_id) as civicrm_contribution_financial_type_id, GROUP_CONCAT(DISTINCT contribution_civireport.currency) as civicrm_contribution_currency, GROUP_CONCAT(DISTINCT contribution_civireport.receive_date) as civicrm_contribution_receive_date, sum(contribution_civireport.total_amount) as civicrm_contribution_total_amount_sum, GROUP_CONCAT(DISTINCT 'Contribution') as civicrm_contribution_contribution_or_soft, GROUP_CONCAT(DISTINCT address_civireport.country_id) as civicrm_address_country_id FROM civicrm_contact contact_civireport
INNER JOIN civicrm_contribution contribution_civireport
ON contact_civireport.id = contribution_civireport.contact_id
AND contribution_civireport.is_test = 0
LEFT JOIN civicrm_phone phone_civireport
ON contact_civireport.id = phone_civireport.contact_id AND
phone_civireport.is_primary = 1
LEFT JOIN civicrm_address address_civireport
ON (contact_civireport.id =
address_civireport.contact_id) AND
address_civireport.is_primary = 1
LEFT JOIN civicrm_email email_civireport
ON (contact_civireport.id = email_civireport.contact_id AND
email_civireport.is_primary = 1) WHERE ( contact_civireport.is_deleted = 0 ) AND (1) AND ( contribution_civireport.contribution_status_id IN (1) ) AND ( ( contribution_soft_civireport.soft_credit_type_id IN ( '3') ) ) GROUP BY contribution_civireport.id ORDER BY civicrm_contact_sort_name ASC LIMIT 0, 50 [nativecode=1054 ** Unknown column 'contribution_soft_civireport.soft_credit_type_id' in 'where clause']"]
)
`
I was able to replicate this on dmaster as well5.3.0yashodhayashodhahttps://lab.civicrm.org/dev/core/-/issues/100Membership Detail report throw DB error2018-05-25T05:45:46ZyashodhaMembership Detail report throw DB errorMembership Detail report throw DB error due to acl clause applied twice.Membership Detail report throw DB error due to acl clause applied twice.5.3.0yashodhayashodha