Lines Matching refs:query

211 inline Query delegate(const QueryCapabilities& queryCapabilities, Query& query)  in delegate()  argument
215 if (query.isOnly && queryCapabilities.canDelegateOnly) in delegate()
218 query.isOnly = false; in delegate()
221 if (query.expandType != ExpandType::None) in delegate()
223 delegated.expandType = query.expandType; in delegate()
224 if (query.expandLevel <= queryCapabilities.canDelegateExpandLevel) in delegate()
226 query.expandType = ExpandType::None; in delegate()
227 delegated.expandLevel = query.expandLevel; in delegate()
228 query.expandLevel = 0; in delegate()
237 if (query.top && queryCapabilities.canDelegateTop) in delegate()
239 delegated.top = query.top; in delegate()
240 query.top = std::nullopt; in delegate()
244 if (query.skip && queryCapabilities.canDelegateSkip) in delegate()
246 delegated.skip = query.skip; in delegate()
247 query.skip = 0; in delegate()
251 if (!query.selectTrie.root.empty() && queryCapabilities.canDelegateSelect) in delegate()
253 delegated.selectTrie = std::move(query.selectTrie); in delegate()
254 query.selectTrie.root.clear(); in delegate()
259 inline bool getExpandType(std::string_view value, Query& query) in getExpandType() argument
268 query.expandType = ExpandType::Both; in getExpandType()
271 query.expandType = ExpandType::NotLinks; in getExpandType()
274 query.expandType = ExpandType::Links; in getExpandType()
282 query.expandLevel = 1; in getExpandType()
292 auto it = std::from_chars(value.begin(), value.end(), query.expandLevel); in getExpandType()
327 inline QueryError getSkipParam(std::string_view value, Query& query) in getSkipParam() argument
329 return getNumericParam(value, query.skip.emplace()); in getSkipParam()
332 inline QueryError getTopParam(std::string_view value, Query& query) in getTopParam() argument
334 QueryError ret = getNumericParam(value, query.top.emplace()); in getTopParam()
341 if (query.top > Query::maxTop) in getTopParam()
356 inline bool getSelectParam(std::string_view value, Query& query) in getSelectParam() argument
373 if (!query.selectTrie.insertNode(property)) in getSelectParam()
382 inline bool getFilterParam(std::string_view value, Query& query) in getFilterParam() argument
384 query.filter = parseFilter(value); in getFilterParam()
385 return query.filter.has_value(); in getFilterParam()
715 inline std::optional<std::string> formatQueryForExpand(const Query& query) in formatQueryForExpand() argument
718 if (query.expandLevel <= 1) in formatQueryForExpand()
723 switch (query.expandType) in formatQueryForExpand()
740 str += std::to_string(query.expandLevel - 1); in formatQueryForExpand()
786 void startQuery(const Query& query, const Query& delegated, in startQuery() argument
790 query.expandType, query.expandLevel, delegated.expandLevel, in startQuery()
793 const std::optional<std::string> queryStr = formatQueryForExpand(query); in startQuery()
880 inline void processTopAndSkip(const Query& query, crow::Response& res) in processTopAndSkip() argument
882 if (!query.skip && !query.top) in processTopAndSkip()
917 if (query.skip) in processTopAndSkip()
921 size_t skip = std::min(arr->size(), *query.skip); in processTopAndSkip()
924 if (query.top) in processTopAndSkip()
926 size_t top = std::min(arr->size(), *query.top); in processTopAndSkip()
998 crow::App& app, const Query& query, const Query& delegated, in processAllParams() argument
1017 if (query.isOnly) in processAllParams()
1023 if (query.top || query.skip) in processAllParams()
1025 processTopAndSkip(query, intermediateResponse); in processAllParams()
1028 if (query.expandType != ExpandType::None) in processAllParams()
1036 multi->startQuery(query, delegated, req); in processAllParams()
1040 if (query.filter) in processAllParams()
1042 applyFilterToCollection(intermediateResponse.jsonValue, *query.filter); in processAllParams()
1047 if (!query.selectTrie.root.empty()) in processAllParams()
1049 processSelect(intermediateResponse, query.selectTrie.root); in processAllParams()