24 #include "../ConcordLib/Query.h" 33 #ifndef _GLIBCXX_USE_NOEXCEPT 34 # define _GLIBCXX_USE_NOEXCEPT 42 : invalid_argument(what_arg)
77 virtual string& Evaluate(
const CHit &Hit);
96 virtual string jsonClass() {
return "CQCountKeyExprConstant"; };
123 virtual string& Evaluate(
const CHit &Hit);
124 virtual string jsonClass() {
return "CQCountKeyExprFileId"; };
136 virtual string jsonClass() {
return "CQCountKeyExprIndexed"; };
145 virtual string& Evaluate(
const CHit &Hit);
146 virtual string jsonClass() {
return "CQCountKeyExprFileName"; };
164 virtual string& Evaluate(
const CHit &Hit);
165 virtual string jsonClass() {
return "CQCountKeyExprDate"; };
178 virtual string& Evaluate(
const CHit &Hit);
180 virtual string jsonClass() {
return "CQCountKeyExprDateSlice"; };
194 virtual string& Evaluate(
const CHit &Hit);
195 virtual string jsonClass() {
return "CQCountKeyExprBibl"; };
213 :
CQCountKeyExprIndexed(
"regex"), m_Src(src), m_Pattern(pattern), m_Replacement(replacement), m_Modifiers(modifiers), isGlobal(false), m_Regex(NULL) {};
215 virtual void DisownChildren();
218 virtual string& Evaluate(
const CHit &Hit);
225 m_Regex->
Replace(m_Replacement, &m_CurKey);
231 virtual string toString();
232 virtual string jsonClass() {
return "CQCountKeyExprRegex"; };
233 virtual string jsonData();
255 :
CQCountKeyExprIndexed(
"token"), m_IndexName(IndexName), m_MatchId(MatchId), m_Offset(Offset), m_pIndex(NULL)
262 virtual string& Evaluate(
const CHit &Hit);
263 virtual string toString();
264 virtual string jsonClass() {
return "CQCountKeyExprToken"; };
265 virtual string jsonData();
283 : m_Exprs(src.m_Exprs), m_Key(src.m_Key)
289 virtual void Clear();
292 inline bool empty()
const {
return m_Exprs.empty(); };
296 { m_Exprs.push_back(expr); };
299 virtual bool CanCountByFile()
const;
301 virtual BYTE GetMatchId()
const;
304 virtual string& Evaluate(
const CHit &Hit);
308 virtual void DisownChildren();
309 virtual string toString();
310 virtual string jsonClass() {
return "CQCountKeyExprList"; };
311 virtual string jsonData();
366 virtual BYTE GetMatchId()
const;
369 bool CompileLocal(
CQueryCompiler *compiler,
bool compileDtr=
true,
bool compileKeys=
true);
378 virtual void Evaluate();
381 virtual bool CanCountUniversal();
384 virtual bool CanCountByFile()
const;
390 virtual void CountUniversal(
CQueryResult &Result,
size_t Limit);
397 virtual void CountLocal(
CQueryResult &Result,
size_t Limit);
403 virtual void ConvertCountsToHits(
CQueryResult &Result,
size_t Limit);
406 virtual string toString();
408 virtual string countOptionsToString();
411 virtual string jsonData();
415 virtual void ClearNode();
418 virtual void Clear(
bool deep=
true);
422 virtual void DisownChildren();
466 :
CQuery(
"keys"), m_qCount(qCount), m_CountLimit(CountLimit), m_MatchId(0), m_proxy(NULL)
470 CQKeys(
CQCount *qCount,
size_t CountLimit,
const vector<string>& IndexNames)
471 :
CQuery(
"keys"), m_qCount(qCount), m_CountLimit(CountLimit), m_IndexNames(IndexNames), m_MatchId(0), m_proxy(NULL)
482 virtual void Evaluate();
485 virtual BYTE GetMatchId()
const;
489 {
return m_MatchId = matchId; };
492 virtual string toString();
495 virtual string jsonData();
498 virtual void ClearNode();
501 virtual void Clear(
bool deep=
true);
505 virtual void DisownChildren();
CQCountKeyExprList()
Definition: QCount.h:280
CQCountKeyExpr(const string &label="")
Definition: QCount.h:59
CQCountKeyExprList(const CQCountKeyExprList &src)
Definition: QCount.h:282
signed int m_year
Definition: QCount.h:155
string m_Replacement
Definition: QCount.h:206
void EvaluateRegex(const CHit &Hit, const string &srcKey)
Definition: QCount.h:219
virtual bool CanCountByFile() const
Definition: QCount.h:260
virtual ~CQCountKeyExprFileId()
Definition: QCount.h:122
virtual string toString()
Definition: QCount.h:179
RML_RE * m_Regex
Definition: QCount.h:209
DDCFormatTypeEnum
FormatTypeEnum defines the format of output hits:
Definition: ConcCommon.h:468
unsigned int m_slice
Definition: QCount.h:173
virtual string & Evaluate(const CHit &Hit)
Definition: QCount.h:95
virtual string jsonClass()
Definition: QCount.h:96
string Format(const char *format,...)
Definition: ddcString.cpp:393
string s
secondary sort key, new for v2.0.19
Definition: ConcCommon.h:268
CQCountKeyExprFileName(const string &label="filename")
Definition: QCount.h:143
bool Replace(const StringPiece &rewrite, string *str) const
Definition: PCRE/pcre_rml.cpp:407
virtual ~CQCountKeyExprDate()
Definition: QCount.h:162
virtual ~CQCountKeyExprIndexed()
Definition: QCount.h:134
BYTE m_MatchId
match-id of anchor token (0 for any)
Definition: QCount.h:452
void GenerateCountString(string &ResultStr, DDCFormatTypeEnum fmt, const string &key, size_t count)
Definition: QCount.cpp:1047
count query
Definition: QCount.h:320
virtual string toString()
Definition: QCount.h:80
class CConcordance * m_pConcordance
Definition: QCount.h:131
CQCountKeyExprConstant(const string &label="*")
Definition: QCount.h:93
CQKeys(CQCount *qCount=NULL, size_t CountLimit=DDCDefaultCountSampleSize)
bison constructor
Definition: QCount.h:465
void PushKey(CQCountKeyExpr *expr)
Definition: QCount.h:295
string jsonData()
Definition: QCount.h:86
size_t m_CountSample
temporary for tracking count-query sample size
Definition: QCount.h:344
virtual string jsonClass()
Definition: QCount.h:165
virtual ~CQCountKeyExprFileName()
Definition: QCount.h:144
virtual string jsonData()
Definition: QCount.h:181
BYTE m_MatchId
match-id of anchor token (0 for any)
Definition: QCount.h:245
virtual string jsonClass()
Definition: QCount.h:410
string m_IndexName
name of token index attribute
Definition: QCount.h:242
Definition: ConcCommon.h:248
virtual string jsonClass()
Definition: QCount.h:264
virtual bool CanCountByFile() const
Definition: QCount.h:216
CQCount * m_qCount
underlying count() query supplying keys
Definition: QCount.h:443
string jsonStr(ddcObject *o)
json strinfication wrapper
Definition: ddcObject.h:208
CQCountKeyExprIndexed(const string &label="file")
Definition: QCount.h:133
CQueryResult: query results, possibly aggregated by "break".
Definition: QueryResult.h:43
virtual ~CQCountKeyExprConstant()
Definition: QCount.h:94
virtual ~CQCountKeyBadOccurrence()
Definition: QCount.h:44
string jsonClass()
Definition: QCount.h:83
Definition: Concordance.h:126
virtual string jsonClass()
Definition: QCount.h:494
CCountMap m_Counts
temporary for constructing count-query results
Definition: QCount.h:341
size_t m_sample
sample size (sub-query limit)
Definition: QCount.h:326
CQCountKeyExprToken(const string &IndexName="Token", BYTE MatchId=0, int Offset=0)
Definition: QCount.h:254
vector< CQCountKeyExpr * > m_Exprs
Definition: QCount.h:274
virtual ~CQCountKeyExprBibl()
Definition: QCount.h:192
virtual string jsonClass()
Definition: QCount.h:310
virtual string toString()
Definition: QCount.h:196
HitSortEnum m_sort
sort-order one of: NoSort, (Less|Greater)ByCount(Key|Value)
Definition: QCount.h:329
list< ddcObject * > ddcObjectList
Definition: ddcObject.h:28
virtual string jsonClass()
Definition: QCount.h:195
const CFreeBiblIndexInterface * m_Bibl
Definition: QCount.h:189
bool isGlobal
Definition: QCount.h:208
virtual string jsonClass()
Definition: QCount.h:124
CQCountKeyBadOccurrence(const string &what_arg)
Definition: QCount.h:41
virtual ~CQCountKeyExpr()
Definition: QCount.h:67
vector< string > m_IndexNames
target index-tuple
Definition: QCount.h:449
CQKeys(CQCount *qCount, size_t CountLimit, const vector< string > &IndexNames)
bison constructor
Definition: QCount.h:470
CStringIndexSet * m_pIndex
underlying index-set (post-compile())
Definition: QCount.h:251
bool empty() const
Definition: QCount.h:292
virtual BYTE GetMatchId() const
Get current match-id (should return a nontrivial match-id if any was used, else 0; default just retur...
Definition: QCount.h:258
string m_hi
minimum sort-key to return (empty for none)
Definition: QCount.h:335
string m_Modifiers
Definition: QCount.h:207
int GlobalReplace(const StringPiece &rewrite, string *str) const
Definition: PCRE/pcre_rml.cpp:424
DWORD m_FileNo
the index of coprus file, where this hit is found, it is equal to m_BreakNo if user searches within f...
Definition: ConcCommon.h:445
Definition: QueryCompiler.h:50
virtual string jsonClass()
Definition: QCount.h:146
unsigned char BYTE
Definition: utilit.h:94
string m_lo
maximum sort-key to return (empty for none)
Definition: QCount.h:332
set< vector< string > > StringTupleSet
typedef for target value-tuples
Definition: QCount.h:439
virtual BYTE SetMatchId(BYTE matchId)
Set match-id, returns new value. Default throws an exception.
Definition: QCount.h:259
string m_Key
Definition: QCount.h:277
map< string, size_t > CCountMap
type for count-query maps
Definition: QueryResult.h:30
Definition: ConcCommon.h:438
virtual string jsonClass()
Definition: QCount.h:136
Definition: pcre_rml.h:41
const size_t DDCDefaultCountSampleSize
Definition: QCount.h:30
CQCountKeyExprDateSlice(const string &label="date", int slice=1)
Definition: QCount.h:175
CQCountKeyExpr * m_Src
Definition: QCount.h:204
CQCount(CQuery *dtr_=NULL, CQCountKeyExprList *keys_=NULL, size_t sample_=DDCDefaultCountSampleSize, HitSortEnum sort_=NoSort, string lb="", string ub="")
bison constructor
Definition: QCount.h:348
const ddcDateVector * m_pDates
Definition: QCount.h:154
unsigned int m_month
Definition: QCount.h:156
CQCountKeyExprFileId(const string &label="fileid")
Definition: QCount.h:121
CHitSortKey m_SortKey
Definition: ConcCommon.h:457
size_t m_Count
count for this item (for count-queries)
Definition: ConcCommon.h:452
int m_Offset
offset of reference token
Definition: QCount.h:248
CQCountKeyExprRegex(CQCountKeyExpr *src, const string &pattern, const string &replacement, const string &modifiers=string(""))
Definition: QCount.h:212
unsigned int m_day
Definition: QCount.h:157
#define _GLIBCXX_USE_NOEXCEPT
Definition: QCount.h:34
virtual string jsonClass()
Definition: QCount.h:232
virtual string toString()
Definition: QCount.h:97
CQuery * m_proxy
pseudo-private: proxy query for join of independent attributes (WITH)
Definition: QCount.h:458
virtual bool CanCountByFile() const
Definition: QCount.h:71
CQCountKeyExprBibl(const string &attrName="")
Definition: QCount.h:191
vector< CQTokSet * > m_dtrs
pseudo-private: temporary sub-queries for each CQCountKeyExprToken key-expression in m_qCount->m_keys...
Definition: QCount.h:455
string m_Pattern
Definition: QCount.h:205
uint32_t DWORD
Definition: utilit.h:105
virtual ~CQCountKeyExprDateSlice()
Definition: QCount.h:176
CQCountKeyExprDate(const string &label="date")
Definition: QCount.h:161
virtual BYTE SetMatchId(BYTE matchId)
Set match-id, returns new value.
Definition: QCount.h:488
utility struct for iterating over hit occurrences
Definition: QCount.h:436
HitSortEnum
Definition: ConcCommon.h:119
Definition: IndexSet.h:57
Truly abstract (index-independent) representation of a parsed query Should eventually replace old ad...
Definition: Query.h:36
CQCountKeyExprList * m_keys
list of count-bin metadata key expressions
Definition: QCount.h:338
virtual ~CQCountKeyExprToken()
Definition: QCount.h:257
virtual string jsonClass()
Definition: QCount.h:180
no sort operators, only filtering (used by #has_field[])
Definition: ConcCommon.h:121
size_t m_CountLimit
limit for m_qCount subquery
Definition: QCount.h:446
CQuery * m_dtr
underlying query conditions to be counted
Definition: QCount.h:323
string escapeChars(const string &s, const string &chars)
Definition: ddcString.cpp:353