Go to the SVN repository for this file.
29 #ifndef OBJTOOLS__PUBSEQ_GATEWAY__IMPL__CASSANDRA__FULLSCAN__FILTERED_PLAN_HPP 30 #define OBJTOOLS__PUBSEQ_GATEWAY__IMPL__CASSANDRA__FULLSCAN__FILTERED_PLAN_HPP 45pair<CCassConnection::TTokenValue, CCassConnection::TTokenValue>
prev= {0,0};
46 for(
autorange : ranges) {
47 if(range.first >= range.second) {
48 NCBI_USER_THROW(
"Illegal filter range - "+ to_string(range.first) +
":"+ to_string(range.second));
50 if(
prev.first != 0 ||
prev.second != 0) {
51 if(range.first <
prev.second) {
52 NCBI_USER_THROW(
"Unsorted filter range - "+ to_string(range.first) +
":"+ to_string(range.second));
70 for(
autorange : ranges) {
71 autorange_begin = range.first, range_end = range.second;
73 autofilter_begin = filter.first, filter_end = filter.second;
74 if(range_begin < filter_end && range_end > filter_begin) {
75filtered_ranges.push_back({
76 max(range_begin, filter_begin),
77 min(range_end, filter_end)
87 swap(ranges, filtered_ranges);
#define BEGIN_IDBLOB_SCOPE
vector< pair< TTokenValue, TTokenValue > > TTokenRanges
CCassandraFilteredPlan & SetFilterRanges(CCassConnection::TTokenRanges ranges)
CCassConnection::TTokenRanges m_Filter
CCassandraFilteredPlan()=default
CCassandraFullscanPlan & SetMinPartitionsForSubrangeScan(size_t value)
CCassConnection::TTokenRanges & GetTokenRanges()
BEGIN_IDBLOB_SCOPE USING_NCBI_SCOPE
static DLIST_TYPE *DLIST_NAME() prev(DLIST_LIST_TYPE *list, DLIST_TYPE *item)
void swap(NCBI_NS_NCBI::pair_base_member< T1, T2 > &pair1, NCBI_NS_NCBI::pair_base_member< T1, T2 > &pair2)
#define NCBI_USER_THROW(message)
Throw a quick-and-dirty runtime exception of type 'CException' with the given error message and error...
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4