2843 questionnaire include url fix (#3447)
* Added test to verify BUG: #2843 (_include doesn't return canonically referred resource) * Fix '_include' query search by native query to support canonical url references * Fixed code review comments * Restored the res_type condition on join
This commit is contained in:
parent
62bcb80443
commit
abea0389be
|
@ -1053,15 +1053,17 @@ public class SearchBuilder implements ISearchBuilder {
|
|||
}
|
||||
}
|
||||
//@formatter:off
|
||||
StringBuilder resourceUrlBasedQuery = new StringBuilder("SELECT " + fieldsToLoadFromSpidxUriTable +
|
||||
String resourceUrlBasedQuery = "SELECT " + fieldsToLoadFromSpidxUriTable +
|
||||
" FROM hfj_res_link r " +
|
||||
" JOIN hfj_spidx_uri rUri ON ( " +
|
||||
" r.target_resource_url = rUri.sp_uri AND " +
|
||||
" rUri.sp_name = 'url' " +
|
||||
(targetResourceType != null ? " AND rUri.res_type = :target_resource_type " : "") +
|
||||
(haveTargetTypesDefinedByParam ? " AND rUri.res_type IN (:target_resource_types) " : "") +
|
||||
" ) " +
|
||||
" WHERE r.src_path = :src_path AND " +
|
||||
" r.target_resource_id IS NULL AND " +
|
||||
" r." + searchPidFieldSqlColumn + " IN (:target_pids) ");
|
||||
" r." + searchPidFieldSqlColumn + " IN (:target_pids) ";
|
||||
//@formatter:on
|
||||
|
||||
String sql = resourceIdBasedQuery + " UNION " + resourceUrlBasedQuery;
|
||||
|
|
Loading…
Reference in New Issue