void QTreeValidator::indexQueryTarget(QueryData & queryData, QueryTarget & target, const std::vector<std::string>& synList) { if (target._type == QueryTargetType::QTT_Boolean) { queryData.setQueryTarget(IndexedQueryTarget()); } else if (target._type == QueryTargetType::QTT_TargetList) { vector<arg_idx_t> idxList; vector<WithAttrRefType> attrList; for (size_t i = 0; i < target._content.size(); i++) { QueryTargetContent qtc = target._content[i]; arg_idx_t idx = getVarArgIdx(synList, qtc._synonym); assert(ARG_IDX_NOT_FOUND != idx); idxList.push_back(idx); attrList.push_back(qtc._attrType); } queryData.setQueryTarget(IndexedQueryTarget(idxList, attrList)); } else { assert(false); } }