MCPcopy Create free account
hub / github.com/altairwei/WizNotePlus / TagArrayToSQL

Function TagArrayToSQL

src/database/WizIndex.cpp:2345–2399  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2343}
2344
2345CString TagArrayToSQL(WizIndex& index, const CWizStdStringArray& arrayTagName)
2346{
2347 CWizStdStringArray arrayWhere;
2348 //
2349 CWizTagDataArray arrayAllTag;
2350 std::set<CString> setAllTag;
2351 //
2352 for (CWizStdStringArray::const_iterator it = arrayTagName.begin();
2353 it != arrayTagName.end();
2354 it++)
2355 {
2356 CString strTagName = *it;
2357 if (strTagName.isEmpty())
2358 continue;
2359 //
2360 CWizTagDataArray arrayTag;
2361 index.tagArrayByName(strTagName, arrayTag);
2362 if (arrayTag.empty())
2363 continue;
2364 //
2365 for (CWizTagDataArray::const_iterator itTag = arrayTag.begin();
2366 itTag != arrayTag.end();
2367 itTag++)
2368 {
2369 if (setAllTag.find(itTag->strGUID) == setAllTag.end())
2370 {
2371 setAllTag.insert(itTag->strGUID);
2372 arrayAllTag.push_back(*itTag);
2373 }
2374 }
2375 }
2376 //
2377 for (CWizTagDataArray::const_iterator it = arrayAllTag.begin();
2378 it != arrayAllTag.end();
2379 it++)
2380 {
2381 CString strWhere = WizFormatString1("DOCUMENT_GUID in (select distinct DOCUMENT_GUID from WIZ_DOCUMENT_TAG where TAG_GUID ='%1')", it->strGUID);
2382 arrayWhere.push_back(strWhere);
2383 }
2384 //
2385 if (arrayWhere.empty())
2386 return CString();
2387 //
2388 if (arrayWhere.size() == 1)
2389 {
2390 return arrayWhere[0];
2391 }
2392 else
2393 {
2394 CString strWhere;
2395 ::WizStringArrayToText(arrayWhere, strWhere, " or ");
2396 strWhere = WizFormatString1("( %1 )", strWhere);
2397 return strWhere;
2398 }
2399}
2400
2401CString FileTypeArrayToSQL(const CWizStdStringArray& arrayFileType)
2402{

Callers 2

TitleToSQLFunction · 0.85
searchMethod · 0.85

Calls 10

WizFormatString1Function · 0.85
WizStringArrayToTextFunction · 0.85
beginMethod · 0.80
endMethod · 0.80
isEmptyMethod · 0.80
tagArrayByNameMethod · 0.80
sizeMethod · 0.80
CStringClass · 0.50
emptyMethod · 0.45
findMethod · 0.45

Tested by

no test coverage detected