1 #ifndef BZS_DB_PROTOCOL_TDAP_CLIENT_GROUPQUERY_H
2 #define BZS_DB_PROTOCOL_TDAP_CLIENT_GROUPQUERY_H
21 #include <bzs/db/protocol/tdap/client/trdboostapi.h>
39 struct fieldNamesImple* m_impl;
49 fieldNames& keyField(
const _TCHAR* name,
const _TCHAR* name1 = NULL,
50 const _TCHAR* name2 = NULL,
const _TCHAR* name3 = NULL,
51 const _TCHAR* name4 = NULL,
const _TCHAR* name5 = NULL,
52 const _TCHAR* name6 = NULL,
const _TCHAR* name7 = NULL,
53 const _TCHAR* name8 = NULL,
const _TCHAR* name9 = NULL,
54 const _TCHAR* name10 = NULL);
57 const _TCHAR* operator[](
int index)
const;
58 const _TCHAR* getValue(
int index)
const;
59 void addValue(
const _TCHAR* v);
60 void addValues(
const _TCHAR* values,
74 std::vector<sortField> m_params;
76 template <
class Archive>
77 friend void serialize(Archive& ar,
sortFields& q,
const unsigned int);
84 m_params.push_back(op);
87 inline size_t size()
const {
return m_params.size(); }
90 return m_params[index];
92 inline void clear() { m_params.clear(); }
98 friend class recordsetImple;
100 struct recordsetQueryImple* m_imple;
102 bool isMatch(
int ret,
unsigned char compType)
const;
152 friend class groupQueryImple;
153 friend class groupFuncBaseImple;
160 unsigned char* stringResult(
int groupIndex)
const;
161 uchar_td resultType()
const;
162 ushort_td resultLen()
const;
163 void operator()(
const row_ptr&
row,
int index,
bool insert);
165 virtual void initResultVariable(
int index);
166 virtual void doCalc(
const row_ptr&
row,
int groupIndex);
167 virtual void doReset();
168 virtual void doInit(
const fielddefs* fdinfo);
169 virtual numeric_type numericResult(
int groupIndex)
const;
176 const _TCHAR* resultName = NULL);
181 const _TCHAR* resultName()
const;
182 void setResultName(
const _TCHAR* v);
183 int resultKey()
const;
188 class recordsetImple;
192 friend class recordsetImple;
193 class groupQueryImple* m_imple;
194 void grouping(recordsetImple& rs);
204 groupQuery& keyField(
const _TCHAR* name,
const _TCHAR* name1 = NULL,
205 const _TCHAR* name2 = NULL,
const _TCHAR* name3 = NULL,
206 const _TCHAR* name4 = NULL,
const _TCHAR* name5 = NULL,
207 const _TCHAR* name6 = NULL,
const _TCHAR* name7 = NULL,
208 const _TCHAR* name8 = NULL,
const _TCHAR* name9 = NULL,
209 const _TCHAR* name10 = NULL);
212 int functionCount()
const;
224 sum(
const fieldNames& targetNames,
const _TCHAR* resultName = NULL);
226 const _TCHAR* resultName = NULL);
237 count(
const _TCHAR* resultName);
238 static count* create(
const _TCHAR* resultName);
243 void initResultVariable(
int index);
250 avg(
const fieldNames& targetNames,
const _TCHAR* resultName = NULL);
252 const _TCHAR* resultName = NULL);
262 min& operator=(
const min& r);
266 min(
const fieldNames& targetNames,
const _TCHAR* resultName = NULL);
268 const _TCHAR* resultName = NULL);
277 max& operator=(
const max& r);
281 max(
const fieldNames& targetNames,
const _TCHAR* resultName = NULL);
283 const _TCHAR* resultName = NULL);
295 last(
const fieldNames& targetNames,
const _TCHAR* resultName = NULL);
297 const _TCHAR* resultName = NULL);
313 const _TCHAR* resultName = NULL);
324 #endif // BZS_DB_PROTOCOL_TDAP_CLIENT_GROUPQUERY_H
const _TCHAR * protocol(const _TCHAR *uri)
Definition: uri.h:42
last()
Definition: groupQuery.h:294
グルーピング Firstクラス
Definition: groupQuery.h:301
const _TCHAR * toString() const
Definition: groupQuery.h:142
グルーピング 最小値計算クラス
Definition: groupQuery.h:256
min()
Definition: groupQuery.h:265
sortFields & add(const _TCHAR *name, bool asc)
Definition: groupQuery.h:81
query & where(const _TCHAR *name, const _TCHAR *qlogic, T value)
Definition: table.h:499
グルーピング 合計計算クラス
Definition: groupQuery.h:217
max()
Definition: groupQuery.h:280
グルーピング 最大値計算クラス
Definition: groupQuery.h:272
グルーピング条件を指定するクラス
Definition: groupQuery.h:190
query & reset()
Definition: table.h:456
recordsetQuery & and_(const _TCHAR *name, const _TCHAR *qlogic, T value)
Definition: groupQuery.h:121
query * internalQuery()
Definition: groupQuery.h:144
グルーピング 平均値計算クラス
Definition: groupQuery.h:241
recordsetQuery & when(const _TCHAR *name, const _TCHAR *qlogic, T value)
Definition: groupQuery.h:113
sum()
Definition: groupQuery.h:223
fielddef のコレクションクラス
Definition: field.h:73
recordset のソートパラメータコレクションクラス
Definition: groupQuery.h:72
グルーピング レコード数カウンター
Definition: groupQuery.h:229
const _TCHAR * toString() const
recordset フィルタリングクエリー
Definition: groupQuery.h:95
double numeric_type
Definition: groupQuery.h:155
フィールドコレクションのベースクラス
Definition: fields.h:123
query & and_(const _TCHAR *name, const _TCHAR *qlogic, T value)
Definition: table.h:506
bool m_flag
Definition: groupQuery.h:259
読み取り用クエリー
Definition: table.h:448
count()
Definition: groupQuery.h:236
bool asc
Definition: groupQuery.h:69
std::_tstring name
Definition: groupQuery.h:68
void clear()
Definition: groupQuery.h:92
first()
Definition: groupQuery.h:310
size_t size() const
Definition: groupQuery.h:87
class groupFuncBaseImple * m_imple
Definition: groupQuery.h:157
グルーピング Lastクラス
Definition: groupQuery.h:287
フィールド名を保持するクラス
Definition: groupQuery.h:34
query & or_(const _TCHAR *name, const _TCHAR *qlogic, T value)
Definition: table.h:517
const sortField & operator[](int index) const
Definition: groupQuery.h:88
グルーピング計算関数のベースクラス
Definition: groupQuery.h:149
recordset のソートパラメータ構造体
Definition: groupQuery.h:66
avg()
Definition: groupQuery.h:249
recordsetQuery & or_(const _TCHAR *name, const _TCHAR *qlogic, T value)
Definition: groupQuery.h:129
recordsetQuery & reset()
Definition: groupQuery.h:136