179 // TODO: Test this case on HW and verify leading zeros. |
185 // TODO: Test this case on HW and verify leading zeros. |
180 pattern.clear(); |
186 pattern.clear(); |
181 pattern = "0705"; |
187 pattern = "0705"; |
182 #if defined(SEARCH_FROM_ONE_TABLE) |
188 #if defined(SEARCH_FROM_ONE_TABLE) |
183 #if defined(USE_DEMORGAN) |
189 #if defined(USE_DEMORGAN) |
184 reference = QString("SELECT contact_id FROM predictivesearch0 WHERE NOT(NOT(NOT(NOT(nbr>31613158321815551 AND nbr<31630750507859968) AND NOT(nbr2>31613158321815551 AND nbr2<31630750507859968) AND NOT(nbr3>31613158321815551 AND nbr3<31630750507859968) AND NOT(nbr4>31613158321815551 AND nbr4<31630750507859968))) AND NOT(NOT(NOT(nbr2>360287970189639679 AND nbr2<432345564227567616 AND nbr>31525197391593471 AND nbr<36028797018963968) AND NOT(nbr3>360287970189639679 AND nbr3<432345564227567616 AND nbr>31525197391593471 AND nbr<36028797018963968) AND NOT(nbr3>360287970189639679 AND nbr3<432345564227567616 AND nbr2>31525197391593471 AND nbr2<36028797018963968) AND NOT(nbr4>360287970189639679 AND nbr4<432345564227567616 AND nbr>31525197391593471 AND nbr<36028797018963968) AND NOT(nbr4>360287970189639679 AND nbr4<432345564227567616 AND nbr2>31525197391593471 AND nbr2<36028797018963968) AND NOT(nbr4>360287970189639679 AND nbr4<432345564227567616 AND nbr3>31525197391593471 AND nbr3<36028797018963968))) AND NOT(NOT(NOT(nbr2>31525197391593471 AND nbr2<36028797018963968 AND nbr>360287970189639679 AND nbr<432345564227567616) AND NOT(nbr3>31525197391593471 AND nbr3<36028797018963968 AND nbr>360287970189639679 AND nbr<432345564227567616) AND NOT(nbr3>31525197391593471 AND nbr3<36028797018963968 AND nbr2>360287970189639679 AND nbr2<432345564227567616) AND NOT(nbr4>31525197391593471 AND nbr4<36028797018963968 AND nbr>360287970189639679 AND nbr<432345564227567616) AND NOT(nbr4>31525197391593471 AND nbr4<36028797018963968 AND nbr2>360287970189639679 AND nbr2<432345564227567616) AND NOT(nbr4>31525197391593471 AND nbr4<36028797018963968 AND nbr3>360287970189639679 AND nbr3<432345564227567616)))) ORDER BY predictivesearch0.first_name, predictivesearch0.last_name ASC;"); |
190 reference = QString("SELECT contact_id FROM (SELECT predictivesearch7.contact_id, predictivesearch7.first_name, predictivesearch7.last_name FROM predictivesearch7 WHERE ((NOT(NOT(nbr2>360287970189639679 AND nbr2<432345564227567616 AND nbr>504403158265495551 AND nbr<576460752303423488) AND NOT(nbr3>360287970189639679 AND nbr3<432345564227567616 AND nbr>504403158265495551 AND nbr<576460752303423488) AND NOT(nbr3>360287970189639679 AND nbr3<432345564227567616 AND nbr2>504403158265495551 AND nbr2<576460752303423488) AND NOT(nbr4>360287970189639679 AND nbr4<432345564227567616 AND nbr>504403158265495551 AND nbr<576460752303423488) AND NOT(nbr4>360287970189639679 AND nbr4<432345564227567616 AND nbr2>504403158265495551 AND nbr2<576460752303423488) AND NOT(nbr4>360287970189639679 AND nbr4<432345564227567616 AND nbr3>504403158265495551 AND nbr3<576460752303423488))) OR(NOT(NOT(nbr2>504403158265495551 AND nbr2<576460752303423488 AND nbr>360287970189639679 AND nbr<432345564227567616) AND NOT(nbr3>504403158265495551 AND nbr3<576460752303423488 AND nbr>360287970189639679 AND nbr<432345564227567616) AND NOT(nbr3>504403158265495551 AND nbr3<576460752303423488 AND nbr2>360287970189639679 AND nbr2<432345564227567616) AND NOT(nbr4>504403158265495551 AND nbr4<576460752303423488 AND nbr>360287970189639679 AND nbr<432345564227567616) AND NOT(nbr4>504403158265495551 AND nbr4<576460752303423488 AND nbr2>360287970189639679 AND nbr2<432345564227567616) AND NOT(nbr4>504403158265495551 AND nbr4<576460752303423488 AND nbr3>360287970189639679 AND nbr3<432345564227567616)))) UNION SELECT predictivesearch0.contact_id, predictivesearch0.first_name, predictivesearch0.last_name FROM predictivesearch0 WHERE ((NOT(NOT(predictivesearch0.nbr>31613158321815551 AND predictivesearch0.nbr<31630750507859968) AND NOT(predictivesearch0.nbr2>31613158321815551 AND predictivesearch0.nbr2<31630750507859968) AND NOT(predictivesearch0.nbr3>31613158321815551 AND predictivesearch0.nbr3<31630750507859968) AND NOT(predictivesearch0.nbr4>31613158321815551 AND predictivesearch0.nbr4<31630750507859968)))) OR(NOT(NOT(nbr2>360287970189639679 AND nbr2<432345564227567616 AND nbr>31525197391593471 AND nbr<36028797018963968) AND NOT(nbr3>360287970189639679 AND nbr3<432345564227567616 AND nbr>31525197391593471 AND nbr<36028797018963968) AND NOT(nbr3>360287970189639679 AND nbr3<432345564227567616 AND nbr2>31525197391593471 AND nbr2<36028797018963968) AND NOT(nbr4>360287970189639679 AND nbr4<432345564227567616 AND nbr>31525197391593471 AND nbr<36028797018963968) AND NOT(nbr4>360287970189639679 AND nbr4<432345564227567616 AND nbr2>31525197391593471 AND nbr2<36028797018963968) AND NOT(nbr4>360287970189639679 AND nbr4<432345564227567616 AND nbr3>31525197391593471 AND nbr3<36028797018963968))) OR(NOT(NOT(nbr2>31525197391593471 AND nbr2<36028797018963968 AND nbr>360287970189639679 AND nbr<432345564227567616) AND NOT(nbr3>31525197391593471 AND nbr3<36028797018963968 AND nbr>360287970189639679 AND nbr<432345564227567616) AND NOT(nbr3>31525197391593471 AND nbr3<36028797018963968 AND nbr2>360287970189639679 AND nbr2<432345564227567616) AND NOT(nbr4>31525197391593471 AND nbr4<36028797018963968 AND nbr>360287970189639679 AND nbr<432345564227567616) AND NOT(nbr4>31525197391593471 AND nbr4<36028797018963968 AND nbr2>360287970189639679 AND nbr2<432345564227567616) AND NOT(nbr4>31525197391593471 AND nbr4<36028797018963968 AND nbr3>360287970189639679 AND nbr3<432345564227567616)))) AS PR ORDER BY PR.first_name, PR.last_name ASC;"); |
185 #else // #if defined(USE_DEMORGAN) |
191 #else // #if defined(USE_DEMORGAN) |
186 |
192 |
187 #endif //#if defined(USE_DEMORGAN) |
193 #endif //#if defined(USE_DEMORGAN) |
188 #else // #if defined(SEARCH_FROM_ONE_TABLE) |
194 #else // #if defined(SEARCH_FROM_ONE_TABLE) |
189 reference = QString("SELECT contact_id FROM (SELECT predictivesearch0.contact_id, predictivesearch0.first_name, predictivesearch0.last_name FROM predictivesearch0 WHERE (NOT(NOT(predictivesearch0.nbr>31613158321815551 AND predictivesearch0.nbr<31630750507859968) AND NOT(predictivesearch0.nbr2>31613158321815551 AND predictivesearch0.nbr2<31630750507859968) AND NOT(predictivesearch0.nbr3>31613158321815551 AND predictivesearch0.nbr3<31630750507859968) AND NOT(predictivesearch0.nbr4>31613158321815551 AND predictivesearch0.nbr4<31630750507859968))) UNION SELECT predictivesearch0.contact_id, predictivesearch0.first_name, predictivesearch0.last_name FROM predictivesearch0 JOIN predictivesearch5 ON predictivesearch0.contact_id = predictivesearch5.contact_id WHERE(NOT(NOT(predictivesearch0.nbr>31525197391593471 AND predictivesearch0.nbr<36028797018963968) AND NOT(predictivesearch0.nbr2>31525197391593471 AND predictivesearch0.nbr2<36028797018963968) AND NOT(predictivesearch0.nbr3>31525197391593471 AND predictivesearch0.nbr3<36028797018963968) AND NOT(predictivesearch0.nbr4>31525197391593471 AND predictivesearch0.nbr4<36028797018963968)))) AS PR ORDER BY PR.first_name, PR.last_name ASC;"); |
195 reference = QString("SELECT contact_id FROM (SELECT predictivesearch0.contact_id, predictivesearch0.first_name, predictivesearch0.last_name FROM predictivesearch0 WHERE (NOT(NOT(predictivesearch0.nbr>31613158321815551 AND predictivesearch0.nbr<31630750507859968) AND NOT(predictivesearch0.nbr2>31613158321815551 AND predictivesearch0.nbr2<31630750507859968) AND NOT(predictivesearch0.nbr3>31613158321815551 AND predictivesearch0.nbr3<31630750507859968) AND NOT(predictivesearch0.nbr4>31613158321815551 AND predictivesearch0.nbr4<31630750507859968))) UNION SELECT predictivesearch0.contact_id, predictivesearch0.first_name, predictivesearch0.last_name FROM predictivesearch0 JOIN predictivesearch5 ON predictivesearch0.contact_id = predictivesearch5.contact_id WHERE(NOT(NOT(predictivesearch0.nbr>31525197391593471 AND predictivesearch0.nbr<36028797018963968) AND NOT(predictivesearch0.nbr2>31525197391593471 AND predictivesearch0.nbr2<36028797018963968) AND NOT(predictivesearch0.nbr3>31525197391593471 AND predictivesearch0.nbr3<36028797018963968) AND NOT(predictivesearch0.nbr4>31525197391593471 AND predictivesearch0.nbr4<36028797018963968)))) AS PR ORDER BY PR.first_name, PR.last_name ASC;"); |
190 #endif // #if defined(SEARCH_FROM_ONE_TABLE) |
196 #endif // #if defined(SEARCH_FROM_ONE_TABLE) |
191 |
197 |
192 result = mCntSqlSearch->CreatePredictiveSearch(pattern); |
198 result = mCntSqlSearch->CreatePredictiveSearch(pattern); |
193 //qDebug() << pattern << result; |
199 LOG2(pattern, result); |
194 LOG2(pattern, result); |
200 //qDebug() << pattern << " -> result" << result; |
195 QVERIFY(!result.compare(reference)); |
201 QVERIFY(!result.compare(reference)); |
196 |
202 |
197 pattern.clear(); |
203 pattern.clear(); |
198 pattern = "4301"; |
204 pattern = "4301"; |
199 #if defined(SEARCH_FROM_ONE_TABLE) |
205 #if defined(SEARCH_FROM_ONE_TABLE) |
289 QVERIFY(!result.compare(reference)); |
295 QVERIFY(!result.compare(reference)); |
290 |
296 |
291 // Leading zeros |
297 // Leading zeros |
292 pattern = QString("001100"); |
298 pattern = QString("001100"); |
293 #if defined(USE_DEMORGAN) |
299 #if defined(USE_DEMORGAN) |
294 reference = QString("SELECT contact_id FROM predictivesearch0 WHERE (NOT(NOT(nbr>299067162755071 AND nbr<299135882231808) AND NOT(nbr2>299067162755071 AND nbr2<299135882231808) AND NOT(nbr3>299067162755071 AND nbr3<299135882231808) AND NOT(nbr4>299067162755071 AND nbr4<299135882231808))) ORDER BY first_name, last_name ASC;"); |
300 reference = QString("SELECT contact_id FROM (SELECT predictivesearch1.contact_id, predictivesearch1.first_name, predictivesearch1.last_name FROM predictivesearch1 WHERE ((NOT(NOT(predictivesearch1.nbr>76561193665298431 AND predictivesearch1.nbr<81064793292668928) AND NOT(predictivesearch1.nbr2>76561193665298431 AND predictivesearch1.nbr2<81064793292668928) AND NOT(predictivesearch1.nbr3>76561193665298431 AND predictivesearch1.nbr3<81064793292668928) AND NOT(predictivesearch1.nbr4>76561193665298431 AND predictivesearch1.nbr4<81064793292668928)))) UNION SELECT predictivesearch0.contact_id, predictivesearch0.first_name, predictivesearch0.last_name FROM predictivesearch0 WHERE ((NOT(NOT(predictivesearch0.nbr>299067162755071 AND predictivesearch0.nbr<299135882231808) AND NOT(predictivesearch0.nbr2>299067162755071 AND predictivesearch0.nbr2<299135882231808) AND NOT(predictivesearch0.nbr3>299067162755071 AND predictivesearch0.nbr3<299135882231808) AND NOT(predictivesearch0.nbr4>299067162755071 AND predictivesearch0.nbr4<299135882231808))))) AS PR ORDER BY PR.first_name, PR.last_name ASC;"); |
295 #else |
301 #else |
296 reference = QString("SELECT contact_id FROM predictivesearch0 WHERE (nbr>299067162755071 AND nbr<299135882231808) OR (nbr2>299067162755071 AND nbr2<299135882231808) OR (nbr3>299067162755071 AND nbr3<299135882231808) OR (nbr4>299067162755071 AND nbr4<299135882231808) ORDER BY first_name, last_name ASC;"); |
302 reference = QString("SELECT contact_id FROM predictivesearch0 WHERE (nbr>299067162755071 AND nbr<299135882231808) OR (nbr2>299067162755071 AND nbr2<299135882231808) OR (nbr3>299067162755071 AND nbr3<299135882231808) OR (nbr4>299067162755071 AND nbr4<299135882231808) ORDER BY first_name, last_name ASC;"); |
297 #endif |
303 #endif |
298 result = mCntSqlSearch->CreatePredictiveSearch(pattern); |
304 result = mCntSqlSearch->CreatePredictiveSearch(pattern); |
299 //qDebug() << pattern << " -> result" << result; |
|
300 LOG2(pattern, result); |
305 LOG2(pattern, result); |
301 QVERIFY(!result.compare(reference)); |
306 QVERIFY(!result.compare(reference)); |
302 |
307 |
303 pattern = QString("43043"); |
308 pattern = QString("43043"); |
304 reference = QString("SELECT contact_id FROM predictivesearch4 WHERE NOT(NOT(NOT(NOT(nbr>301814842312884223 AND nbr<301815941824512000) AND NOT(nbr2>301814842312884223 AND nbr2<301815941824512000) AND NOT(nbr3>301814842312884223 AND nbr3<301815941824512000) AND NOT(nbr4>301814842312884223 AND nbr4<301815941824512000))) AND NOT(NOT(NOT(nbr2>301741175033823231 AND nbr2<306244774661193728 AND nbr>301741175033823231 AND nbr<306244774661193728) AND NOT(nbr3>301741175033823231 AND nbr3<306244774661193728 AND nbr>301741175033823231 AND nbr<306244774661193728) AND NOT(nbr3>301741175033823231 AND nbr3<306244774661193728 AND nbr2>301741175033823231 AND nbr2<306244774661193728) AND NOT(nbr4>301741175033823231 AND nbr4<306244774661193728 AND nbr>301741175033823231 AND nbr<306244774661193728) AND NOT(nbr4>301741175033823231 AND nbr4<306244774661193728 AND nbr2>301741175033823231 AND nbr2<306244774661193728) AND NOT(nbr4>301741175033823231 AND nbr4<306244774661193728 AND nbr3>301741175033823231 AND nbr3<306244774661193728)))) ORDER BY predictivesearch4.first_name, predictivesearch4.last_name ASC;"); |
309 reference = QString("SELECT contact_id FROM predictivesearch4 WHERE NOT(NOT(NOT(NOT(nbr>301814842312884223 AND nbr<301815941824512000) AND NOT(nbr2>301814842312884223 AND nbr2<301815941824512000) AND NOT(nbr3>301814842312884223 AND nbr3<301815941824512000) AND NOT(nbr4>301814842312884223 AND nbr4<301815941824512000))) AND NOT(NOT(NOT(nbr2>301741175033823231 AND nbr2<306244774661193728 AND nbr>301741175033823231 AND nbr<306244774661193728) AND NOT(nbr3>301741175033823231 AND nbr3<306244774661193728 AND nbr>301741175033823231 AND nbr<306244774661193728) AND NOT(nbr3>301741175033823231 AND nbr3<306244774661193728 AND nbr2>301741175033823231 AND nbr2<306244774661193728) AND NOT(nbr4>301741175033823231 AND nbr4<306244774661193728 AND nbr>301741175033823231 AND nbr<306244774661193728) AND NOT(nbr4>301741175033823231 AND nbr4<306244774661193728 AND nbr2>301741175033823231 AND nbr2<306244774661193728) AND NOT(nbr4>301741175033823231 AND nbr4<306244774661193728 AND nbr3>301741175033823231 AND nbr3<306244774661193728)))) ORDER BY predictivesearch4.first_name, predictivesearch4.last_name ASC;"); |
307 LOG2(pattern, result); |
312 LOG2(pattern, result); |
308 QVERIFY(!result.compare(reference)); |
313 QVERIFY(!result.compare(reference)); |
309 |
314 |
310 pattern = QString("0020030"); |
315 pattern = QString("0020030"); |
311 #if defined(USE_DEMORGAN) |
316 #if defined(USE_DEMORGAN) |
312 reference = QString("SELECT contact_id FROM predictivesearch0 WHERE NOT(NOT(NOT(NOT(nbr>563156111851519 AND nbr<563160406818816) AND NOT(nbr2>563156111851519 AND nbr2<563160406818816) AND NOT(nbr3>563156111851519 AND nbr3<563160406818816) AND NOT(nbr4>563156111851519 AND nbr4<563160406818816))) AND NOT(NOT(NOT(nbr2>216172782113783807 AND nbr2<220676381741154304 AND nbr>562949953421311 AND nbr<844424930131968) AND NOT(nbr3>216172782113783807 AND nbr3<220676381741154304 AND nbr>562949953421311 AND nbr<844424930131968) AND NOT(nbr3>216172782113783807 AND nbr3<220676381741154304 AND nbr2>562949953421311 AND nbr2<844424930131968) AND NOT(nbr4>216172782113783807 AND nbr4<220676381741154304 AND nbr>562949953421311 AND nbr<844424930131968) AND NOT(nbr4>216172782113783807 AND nbr4<220676381741154304 AND nbr2>562949953421311 AND nbr2<844424930131968) AND NOT(nbr4>216172782113783807 AND nbr4<220676381741154304 AND nbr3>562949953421311 AND nbr3<844424930131968))) AND NOT(NOT(NOT(nbr2>562949953421311 AND nbr2<844424930131968 AND nbr>216172782113783807 AND nbr<220676381741154304) AND NOT(nbr3>562949953421311 AND nbr3<844424930131968 AND nbr>216172782113783807 AND nbr<220676381741154304) AND NOT(nbr3>562949953421311 AND nbr3<844424930131968 AND nbr2>216172782113783807 AND nbr2<220676381741154304) AND NOT(nbr4>562949953421311 AND nbr4<844424930131968 AND nbr>216172782113783807 AND nbr<220676381741154304) AND NOT(nbr4>562949953421311 AND nbr4<844424930131968 AND nbr2>216172782113783807 AND nbr2<220676381741154304) AND NOT(nbr4>562949953421311 AND nbr4<844424930131968 AND nbr3>216172782113783807 AND nbr3<220676381741154304)))) ORDER BY predictivesearch0.first_name, predictivesearch0.last_name ASC;"); |
317 reference = QString("SELECT contact_id FROM (SELECT predictivesearch2.contact_id, predictivesearch2.first_name, predictivesearch2.last_name FROM predictivesearch2 WHERE ((NOT(NOT(nbr2>216172782113783807 AND nbr2<220676381741154304 AND nbr>144115188075855871 AND nbr<216172782113783808) AND NOT(nbr3>216172782113783807 AND nbr3<220676381741154304 AND nbr>144115188075855871 AND nbr<216172782113783808) AND NOT(nbr3>216172782113783807 AND nbr3<220676381741154304 AND nbr2>144115188075855871 AND nbr2<216172782113783808) AND NOT(nbr4>216172782113783807 AND nbr4<220676381741154304 AND nbr>144115188075855871 AND nbr<216172782113783808) AND NOT(nbr4>216172782113783807 AND nbr4<220676381741154304 AND nbr2>144115188075855871 AND nbr2<216172782113783808) AND NOT(nbr4>216172782113783807 AND nbr4<220676381741154304 AND nbr3>144115188075855871 AND nbr3<216172782113783808))) OR(NOT(NOT(nbr2>144115188075855871 AND nbr2<216172782113783808 AND nbr>216172782113783807 AND nbr<220676381741154304) AND NOT(nbr3>144115188075855871 AND nbr3<216172782113783808 AND nbr>216172782113783807 AND nbr<220676381741154304) AND NOT(nbr3>144115188075855871 AND nbr3<216172782113783808 AND nbr2>216172782113783807 AND nbr2<220676381741154304) AND NOT(nbr4>144115188075855871 AND nbr4<216172782113783808 AND nbr>216172782113783807 AND nbr<220676381741154304) AND NOT(nbr4>144115188075855871 AND nbr4<216172782113783808 AND nbr2>216172782113783807 AND nbr2<220676381741154304) AND NOT(nbr4>144115188075855871 AND nbr4<216172782113783808 AND nbr3>216172782113783807 AND nbr3<220676381741154304)))) UNION SELECT predictivesearch0.contact_id, predictivesearch0.first_name, predictivesearch0.last_name FROM predictivesearch0 WHERE ((NOT(NOT(predictivesearch0.nbr>563156111851519 AND predictivesearch0.nbr<563160406818816) AND NOT(predictivesearch0.nbr2>563156111851519 AND predictivesearch0.nbr2<563160406818816) AND NOT(predictivesearch0.nbr3>563156111851519 AND predictivesearch0.nbr3<563160406818816) AND NOT(predictivesearch0.nbr4>563156111851519 AND predictivesearch0.nbr4<563160406818816)))) OR(NOT(NOT(nbr2>216172782113783807 AND nbr2<220676381741154304 AND nbr>562949953421311 AND nbr<844424930131968) AND NOT(nbr3>216172782113783807 AND nbr3<220676381741154304 AND nbr>562949953421311 AND nbr<844424930131968) AND NOT(nbr3>216172782113783807 AND nbr3<220676381741154304 AND nbr2>562949953421311 AND nbr2<844424930131968) AND NOT(nbr4>216172782113783807 AND nbr4<220676381741154304 AND nbr>562949953421311 AND nbr<844424930131968) AND NOT(nbr4>216172782113783807 AND nbr4<220676381741154304 AND nbr2>562949953421311 AND nbr2<844424930131968) AND NOT(nbr4>216172782113783807 AND nbr4<220676381741154304 AND nbr3>562949953421311 AND nbr3<844424930131968))) OR(NOT(NOT(nbr2>562949953421311 AND nbr2<844424930131968 AND nbr>216172782113783807 AND nbr<220676381741154304) AND NOT(nbr3>562949953421311 AND nbr3<844424930131968 AND nbr>216172782113783807 AND nbr<220676381741154304) AND NOT(nbr3>562949953421311 AND nbr3<844424930131968 AND nbr2>216172782113783807 AND nbr2<220676381741154304) AND NOT(nbr4>562949953421311 AND nbr4<844424930131968 AND nbr>216172782113783807 AND nbr<220676381741154304) AND NOT(nbr4>562949953421311 AND nbr4<844424930131968 AND nbr2>216172782113783807 AND nbr2<220676381741154304) AND NOT(nbr4>562949953421311 AND nbr4<844424930131968 AND nbr3>216172782113783807 AND nbr3<220676381741154304)))) AS PR ORDER BY PR.first_name, PR.last_name ASC;"); |
313 #else |
318 #else |
314 // TODO: add non-De Morgan case |
319 // TODO: add non-De Morgan case |
315 #endif |
320 #endif |
316 result = mCntSqlSearch->CreatePredictiveSearch(pattern); |
321 result = mCntSqlSearch->CreatePredictiveSearch(pattern); |
317 //qDebug() << pattern << " -> result" << result; |
322 //qDebug() << pattern << " -> result" << result; |
318 LOG2(pattern, result); |
323 LOG2(pattern, result); |
319 QVERIFY(!result.compare(reference)); |
324 QVERIFY(!result.compare(reference)); |
320 |
325 |
321 pattern = QString("00430001020"); |
326 pattern = QString("00430001020"); |
322 #if defined(USE_DEMORGAN) |
327 #if defined(USE_DEMORGAN) |
323 reference = QString("SELECT contact_id FROM predictivesearch0 WHERE NOT(NOT(NOT(NOT(nbr>1178676735508479 AND nbr<1178676735574016) AND NOT(nbr2>1178676735508479 AND nbr2<1178676735574016) AND NOT(nbr3>1178676735508479 AND nbr3<1178676735574016) AND NOT(nbr4>1178676735508479 AND nbr4<1178676735574016))) AND NOT(NOT(NOT(nbr2>72620543991349247 AND nbr2<72638136177393664 AND nbr>1178676464975871 AND nbr<1196268651020288) AND NOT(nbr3>72620543991349247 AND nbr3<72638136177393664 AND nbr>1178676464975871 AND nbr<1196268651020288) AND NOT(nbr3>72620543991349247 AND nbr3<72638136177393664 AND nbr2>1178676464975871 AND nbr2<1196268651020288) AND NOT(nbr4>72620543991349247 AND nbr4<72638136177393664 AND nbr>1178676464975871 AND nbr<1196268651020288) AND NOT(nbr4>72620543991349247 AND nbr4<72638136177393664 AND nbr2>1178676464975871 AND nbr2<1196268651020288) AND NOT(nbr4>72620543991349247 AND nbr4<72638136177393664 AND nbr3>1178676464975871 AND nbr3<1196268651020288))) AND NOT(NOT(NOT(nbr2>1178676464975871 AND nbr2<1196268651020288 AND nbr>72620543991349247 AND nbr<72638136177393664) AND NOT(nbr3>1178676464975871 AND nbr3<1196268651020288 AND nbr>72620543991349247 AND nbr<72638136177393664) AND NOT(nbr3>1178676464975871 AND nbr3<1196268651020288 AND nbr2>72620543991349247 AND nbr2<72638136177393664) AND NOT(nbr4>1178676464975871 AND nbr4<1196268651020288 AND nbr>72620543991349247 AND nbr<72638136177393664) AND NOT(nbr4>1178676464975871 AND nbr4<1196268651020288 AND nbr2>72620543991349247 AND nbr2<72638136177393664) AND NOT(nbr4>1178676464975871 AND nbr4<1196268651020288 AND nbr3>72620543991349247 AND nbr3<72638136177393664)))) ORDER BY predictivesearch0.first_name, predictivesearch0.last_name ASC;"); |
328 reference = QString("SELECT contact_id FROM (SELECT predictivesearch4.contact_id, predictivesearch4.first_name, predictivesearch4.last_name FROM predictivesearch4 WHERE ((NOT(NOT(nbr2>72620543991349247 AND nbr2<72638136177393664 AND nbr>301741175033823231 AND nbr<306244774661193728) AND NOT(nbr3>72620543991349247 AND nbr3<72638136177393664 AND nbr>301741175033823231 AND nbr<306244774661193728) AND NOT(nbr3>72620543991349247 AND nbr3<72638136177393664 AND nbr2>301741175033823231 AND nbr2<306244774661193728) AND NOT(nbr4>72620543991349247 AND nbr4<72638136177393664 AND nbr>301741175033823231 AND nbr<306244774661193728) AND NOT(nbr4>72620543991349247 AND nbr4<72638136177393664 AND nbr2>301741175033823231 AND nbr2<306244774661193728) AND NOT(nbr4>72620543991349247 AND nbr4<72638136177393664 AND nbr3>301741175033823231 AND nbr3<306244774661193728))) OR(NOT(NOT(nbr2>301741175033823231 AND nbr2<306244774661193728 AND nbr>72620543991349247 AND nbr<72638136177393664) AND NOT(nbr3>301741175033823231 AND nbr3<306244774661193728 AND nbr>72620543991349247 AND nbr<72638136177393664) AND NOT(nbr3>301741175033823231 AND nbr3<306244774661193728 AND nbr2>72620543991349247 AND nbr2<72638136177393664) AND NOT(nbr4>301741175033823231 AND nbr4<306244774661193728 AND nbr>72620543991349247 AND nbr<72638136177393664) AND NOT(nbr4>301741175033823231 AND nbr4<306244774661193728 AND nbr2>72620543991349247 AND nbr2<72638136177393664) AND NOT(nbr4>301741175033823231 AND nbr4<306244774661193728 AND nbr3>72620543991349247 AND nbr3<72638136177393664)))) UNION SELECT predictivesearch0.contact_id, predictivesearch0.first_name, predictivesearch0.last_name FROM predictivesearch0 WHERE ((NOT(NOT(predictivesearch0.nbr>1178676735508479 AND predictivesearch0.nbr<1178676735574016) AND NOT(predictivesearch0.nbr2>1178676735508479 AND predictivesearch0.nbr2<1178676735574016) AND NOT(predictivesearch0.nbr3>1178676735508479 AND predictivesearch0.nbr3<1178676735574016) AND NOT(predictivesearch0.nbr4>1178676735508479 AND predictivesearch0.nbr4<1178676735574016)))) OR(NOT(NOT(nbr2>72620543991349247 AND nbr2<72638136177393664 AND nbr>1178676464975871 AND nbr<1196268651020288) AND NOT(nbr3>72620543991349247 AND nbr3<72638136177393664 AND nbr>1178676464975871 AND nbr<1196268651020288) AND NOT(nbr3>72620543991349247 AND nbr3<72638136177393664 AND nbr2>1178676464975871 AND nbr2<1196268651020288) AND NOT(nbr4>72620543991349247 AND nbr4<72638136177393664 AND nbr>1178676464975871 AND nbr<1196268651020288) AND NOT(nbr4>72620543991349247 AND nbr4<72638136177393664 AND nbr2>1178676464975871 AND nbr2<1196268651020288) AND NOT(nbr4>72620543991349247 AND nbr4<72638136177393664 AND nbr3>1178676464975871 AND nbr3<1196268651020288))) OR(NOT(NOT(nbr2>1178676464975871 AND nbr2<1196268651020288 AND nbr>72620543991349247 AND nbr<72638136177393664) AND NOT(nbr3>1178676464975871 AND nbr3<1196268651020288 AND nbr>72620543991349247 AND nbr<72638136177393664) AND NOT(nbr3>1178676464975871 AND nbr3<1196268651020288 AND nbr2>72620543991349247 AND nbr2<72638136177393664) AND NOT(nbr4>1178676464975871 AND nbr4<1196268651020288 AND nbr>72620543991349247 AND nbr<72638136177393664) AND NOT(nbr4>1178676464975871 AND nbr4<1196268651020288 AND nbr2>72620543991349247 AND nbr2<72638136177393664) AND NOT(nbr4>1178676464975871 AND nbr4<1196268651020288 AND nbr3>72620543991349247 AND nbr3<72638136177393664)))) AS PR ORDER BY PR.first_name, PR.last_name ASC;"); |
324 #else |
329 #else |
325 // TODO: add non-De Morgan case |
330 // TODO: add non-De Morgan case |
326 #endif |
331 #endif |
327 result = mCntSqlSearch->CreatePredictiveSearch(pattern); |
332 result = mCntSqlSearch->CreatePredictiveSearch(pattern); |
328 //qDebug() << pattern << " -> result" << result; |
333 LOG2(pattern, result); |
329 LOG2(pattern, result); |
334 //qDebug() << pattern << " -> result" << result; |
330 QVERIFY(!result.compare(reference)); |
335 QVERIFY(!result.compare(reference)); |
331 |
336 |
332 pattern = QString("227264583788306"); // 15 digits |
337 pattern = QString("227264583788306"); // 15 digits |
333 #if defined(USE_DEMORGAN) |
338 #if defined(USE_DEMORGAN) |
334 reference = QString("SELECT contact_id FROM predictivesearch2 WHERE NOT(NOT(NOT(NOT(nbr>155134792167883525 AND nbr<155134792167883527) AND NOT(nbr2>155134792167883525 AND nbr2<155134792167883527) AND NOT(nbr3>155134792167883525 AND nbr3<155134792167883527) AND NOT(nbr4>155134792167883525 AND nbr4<155134792167883527))) AND NOT(NOT(NOT(nbr2>432345564227567615 AND nbr2<504403158265495552 AND nbr>155134792167883519 AND nbr<155134792167883776) AND NOT(nbr3>432345564227567615 AND nbr3<504403158265495552 AND nbr>155134792167883519 AND nbr<155134792167883776) AND NOT(nbr3>432345564227567615 AND nbr3<504403158265495552 AND nbr2>155134792167883519 AND nbr2<155134792167883776) AND NOT(nbr4>432345564227567615 AND nbr4<504403158265495552 AND nbr>155134792167883519 AND nbr<155134792167883776) AND NOT(nbr4>432345564227567615 AND nbr4<504403158265495552 AND nbr2>155134792167883519 AND nbr2<155134792167883776) AND NOT(nbr4>432345564227567615 AND nbr4<504403158265495552 AND nbr3>155134792167883519 AND nbr3<155134792167883776))) AND NOT(NOT(NOT(nbr2>155134792167883519 AND nbr2<155134792167883776 AND nbr>432345564227567615 AND nbr<504403158265495552) AND NOT(nbr3>155134792167883519 AND nbr3<155134792167883776 AND nbr>432345564227567615 AND nbr<504403158265495552) AND NOT(nbr3>155134792167883519 AND nbr3<155134792167883776 AND nbr2>432345564227567615 AND nbr2<504403158265495552) AND NOT(nbr4>155134792167883519 AND nbr4<155134792167883776 AND nbr>432345564227567615 AND nbr<504403158265495552) AND NOT(nbr4>155134792167883519 AND nbr4<155134792167883776 AND nbr2>432345564227567615 AND nbr2<504403158265495552) AND NOT(nbr4>155134792167883519 AND nbr4<155134792167883776 AND nbr3>432345564227567615 AND nbr3<504403158265495552)))) ORDER BY predictivesearch2.first_name, predictivesearch2.last_name ASC;"); |
339 reference = QString("SELECT contact_id FROM predictivesearch2 WHERE NOT(NOT(NOT(NOT(nbr>155134792167883525 AND nbr<155134792167883527) AND NOT(nbr2>155134792167883525 AND nbr2<155134792167883527) AND NOT(nbr3>155134792167883525 AND nbr3<155134792167883527) AND NOT(nbr4>155134792167883525 AND nbr4<155134792167883527))) AND NOT(NOT(NOT(nbr2>432345564227567615 AND nbr2<504403158265495552 AND nbr>155134792167883519 AND nbr<155134792167883776) AND NOT(nbr3>432345564227567615 AND nbr3<504403158265495552 AND nbr>155134792167883519 AND nbr<155134792167883776) AND NOT(nbr3>432345564227567615 AND nbr3<504403158265495552 AND nbr2>155134792167883519 AND nbr2<155134792167883776) AND NOT(nbr4>432345564227567615 AND nbr4<504403158265495552 AND nbr>155134792167883519 AND nbr<155134792167883776) AND NOT(nbr4>432345564227567615 AND nbr4<504403158265495552 AND nbr2>155134792167883519 AND nbr2<155134792167883776) AND NOT(nbr4>432345564227567615 AND nbr4<504403158265495552 AND nbr3>155134792167883519 AND nbr3<155134792167883776))) AND NOT(NOT(NOT(nbr2>155134792167883519 AND nbr2<155134792167883776 AND nbr>432345564227567615 AND nbr<504403158265495552) AND NOT(nbr3>155134792167883519 AND nbr3<155134792167883776 AND nbr>432345564227567615 AND nbr<504403158265495552) AND NOT(nbr3>155134792167883519 AND nbr3<155134792167883776 AND nbr2>432345564227567615 AND nbr2<504403158265495552) AND NOT(nbr4>155134792167883519 AND nbr4<155134792167883776 AND nbr>432345564227567615 AND nbr<504403158265495552) AND NOT(nbr4>155134792167883519 AND nbr4<155134792167883776 AND nbr2>432345564227567615 AND nbr2<504403158265495552) AND NOT(nbr4>155134792167883519 AND nbr4<155134792167883776 AND nbr3>432345564227567615 AND nbr3<504403158265495552)))) ORDER BY predictivesearch2.first_name, predictivesearch2.last_name ASC;"); |
434 |
438 |
435 |
439 |
436 pattern = QString("055"); |
440 pattern = QString("055"); |
437 reference = QString("SELECT contact_id FROM (SELECT predictivesearch5.contact_id, predictivesearch5.first_name, predictivesearch5.last_name FROM predictivesearch5 WHERE ((NOT(NOT(predictivesearch5.nbr>382805968326492159 AND predictivesearch5.nbr<387309567953862656) AND NOT(predictivesearch5.nbr2>382805968326492159 AND predictivesearch5.nbr2<387309567953862656) AND NOT(predictivesearch5.nbr3>382805968326492159 AND predictivesearch5.nbr3<387309567953862656) AND NOT(predictivesearch5.nbr4>382805968326492159 AND predictivesearch5.nbr4<387309567953862656)))) UNION SELECT predictivesearch0.contact_id, predictivesearch0.first_name, predictivesearch0.last_name FROM predictivesearch0 WHERE ((NOT(NOT(predictivesearch0.nbr>23925373020405759 AND predictivesearch0.nbr<24206847997116416) AND NOT(predictivesearch0.nbr2>23925373020405759 AND predictivesearch0.nbr2<24206847997116416) AND NOT(predictivesearch0.nbr3>23925373020405759 AND predictivesearch0.nbr3<24206847997116416) AND NOT(predictivesearch0.nbr4>23925373020405759 AND predictivesearch0.nbr4<24206847997116416))))) AS PR ORDER BY PR.first_name, PR.last_name ASC;"); |
441 reference = QString("SELECT contact_id FROM (SELECT predictivesearch5.contact_id, predictivesearch5.first_name, predictivesearch5.last_name FROM predictivesearch5 WHERE ((NOT(NOT(predictivesearch5.nbr>382805968326492159 AND predictivesearch5.nbr<387309567953862656) AND NOT(predictivesearch5.nbr2>382805968326492159 AND predictivesearch5.nbr2<387309567953862656) AND NOT(predictivesearch5.nbr3>382805968326492159 AND predictivesearch5.nbr3<387309567953862656) AND NOT(predictivesearch5.nbr4>382805968326492159 AND predictivesearch5.nbr4<387309567953862656)))) UNION SELECT predictivesearch0.contact_id, predictivesearch0.first_name, predictivesearch0.last_name FROM predictivesearch0 WHERE ((NOT(NOT(predictivesearch0.nbr>23925373020405759 AND predictivesearch0.nbr<24206847997116416) AND NOT(predictivesearch0.nbr2>23925373020405759 AND predictivesearch0.nbr2<24206847997116416) AND NOT(predictivesearch0.nbr3>23925373020405759 AND predictivesearch0.nbr3<24206847997116416) AND NOT(predictivesearch0.nbr4>23925373020405759 AND predictivesearch0.nbr4<24206847997116416))))) AS PR ORDER BY PR.first_name, PR.last_name ASC;"); |
438 result = mCntSqlSearch->CreatePredictiveSearch(pattern); |
442 result = mCntSqlSearch->CreatePredictiveSearch(pattern); |
439 LOG2(pattern, result); |
443 //qDebug() << pattern << " -> result" << result; |
440 //qDebug() << pattern << " -> result" << result; |
444 LOG2(pattern, result); |
441 QVERIFY(!result.compare(reference)); |
445 |
|
446 QVERIFY(!result.compare(reference)); |
|
447 |
|
448 pattern = QString ("052207"); |
|
449 reference = QString("SELECT contact_id FROM (SELECT predictivesearch5.contact_id, predictivesearch5.first_name, predictivesearch5.last_name FROM predictivesearch5 WHERE ((NOT(NOT(nbr2>504403158265495551 AND nbr2<576460752303423488 AND nbr>369858119397801983 AND nbr<370139594374512640) AND NOT(nbr3>504403158265495551 AND nbr3<576460752303423488 AND nbr>369858119397801983 AND nbr<370139594374512640) AND NOT(nbr3>504403158265495551 AND nbr3<576460752303423488 AND nbr2>369858119397801983 AND nbr2<370139594374512640) AND NOT(nbr4>504403158265495551 AND nbr4<576460752303423488 AND nbr>369858119397801983 AND nbr<370139594374512640) AND NOT(nbr4>504403158265495551 AND nbr4<576460752303423488 AND nbr2>369858119397801983 AND nbr2<370139594374512640) AND NOT(nbr4>504403158265495551 AND nbr4<576460752303423488 AND nbr3>369858119397801983 AND nbr3<370139594374512640))) OR(NOT(NOT(nbr2>369858119397801983 AND nbr2<370139594374512640 AND nbr>504403158265495551 AND nbr<576460752303423488) AND NOT(nbr3>369858119397801983 AND nbr3<370139594374512640 AND nbr>504403158265495551 AND nbr<576460752303423488) AND NOT(nbr3>369858119397801983 AND nbr3<370139594374512640 AND nbr2>504403158265495551 AND nbr2<576460752303423488) AND NOT(nbr4>369858119397801983 AND nbr4<370139594374512640 AND nbr>504403158265495551 AND nbr<576460752303423488) AND NOT(nbr4>369858119397801983 AND nbr4<370139594374512640 AND nbr2>504403158265495551 AND nbr2<576460752303423488) AND NOT(nbr4>369858119397801983 AND nbr4<370139594374512640 AND nbr3>504403158265495551 AND nbr3<576460752303423488)))) UNION SELECT predictivesearch0.contact_id, predictivesearch0.first_name, predictivesearch0.last_name FROM predictivesearch0 WHERE ((NOT(NOT(predictivesearch0.nbr>23116613498699775 AND predictivesearch0.nbr<23116682218176512) AND NOT(predictivesearch0.nbr2>23116613498699775 AND predictivesearch0.nbr2<23116682218176512) AND NOT(predictivesearch0.nbr3>23116613498699775 AND predictivesearch0.nbr3<23116682218176512) AND NOT(predictivesearch0.nbr4>23116613498699775 AND predictivesearch0.nbr4<23116682218176512)))) OR(NOT(NOT(nbr2>504403158265495551 AND nbr2<576460752303423488 AND nbr>23116132462362623 AND nbr<23133724648407040) AND NOT(nbr3>504403158265495551 AND nbr3<576460752303423488 AND nbr>23116132462362623 AND nbr<23133724648407040) AND NOT(nbr3>504403158265495551 AND nbr3<576460752303423488 AND nbr2>23116132462362623 AND nbr2<23133724648407040) AND NOT(nbr4>504403158265495551 AND nbr4<576460752303423488 AND nbr>23116132462362623 AND nbr<23133724648407040) AND NOT(nbr4>504403158265495551 AND nbr4<576460752303423488 AND nbr2>23116132462362623 AND nbr2<23133724648407040) AND NOT(nbr4>504403158265495551 AND nbr4<576460752303423488 AND nbr3>23116132462362623 AND nbr3<23133724648407040))) OR(NOT(NOT(nbr2>23116132462362623 AND nbr2<23133724648407040 AND nbr>504403158265495551 AND nbr<576460752303423488) AND NOT(nbr3>23116132462362623 AND nbr3<23133724648407040 AND nbr>504403158265495551 AND nbr<576460752303423488) AND NOT(nbr3>23116132462362623 AND nbr3<23133724648407040 AND nbr2>504403158265495551 AND nbr2<576460752303423488) AND NOT(nbr4>23116132462362623 AND nbr4<23133724648407040 AND nbr>504403158265495551 AND nbr<576460752303423488) AND NOT(nbr4>23116132462362623 AND nbr4<23133724648407040 AND nbr2>504403158265495551 AND nbr2<576460752303423488) AND NOT(nbr4>23116132462362623 AND nbr4<23133724648407040 AND nbr3>504403158265495551 AND nbr3<576460752303423488)))) AS PR ORDER BY PR.first_name, PR.last_name ASC;"); |
|
450 result = mCntSqlSearch->CreatePredictiveSearch(pattern); |
|
451 QVERIFY( !result.compare( reference) ); |
442 TEST_PASSED_LOG("testPredictiveSearch"); |
452 TEST_PASSED_LOG("testPredictiveSearch"); |
443 } |
453 } |
444 |
454 |
445 void UT_CntSqlSearch::testSelectQweryTable() |
455 void UT_CntSqlSearch::testSelectQweryTable() |
446 { |
456 { |
605 QVERIFY(!result.compare(reference)); |
617 QVERIFY(!result.compare(reference)); |
606 |
618 |
607 pattern = QString("00202"); |
619 pattern = QString("00202"); |
608 #if defined(SEARCH_FROM_ONE_TABLE) |
620 #if defined(SEARCH_FROM_ONE_TABLE) |
609 #if defined(USE_DEMORGAN) |
621 #if defined(USE_DEMORGAN) |
610 reference = QString("SELECT contact_id FROM predictivesearch0 WHERE NOT(NOT(NOT(NOT(nbr>565148976676863 AND nbr<566248488304640) AND NOT(nbr2>565148976676863 AND nbr2<566248488304640) AND NOT(nbr3>565148976676863 AND nbr3<566248488304640) AND NOT(nbr4>565148976676863 AND nbr4<566248488304640))) AND NOT(NOT(NOT(nbr2>144115188075855871 AND nbr2<216172782113783808 AND nbr>562949953421311 AND nbr<844424930131968) AND NOT(nbr3>144115188075855871 AND nbr3<216172782113783808 AND nbr>562949953421311 AND nbr<844424930131968) AND NOT(nbr3>144115188075855871 AND nbr3<216172782113783808 AND nbr2>562949953421311 AND nbr2<844424930131968) AND NOT(nbr4>144115188075855871 AND nbr4<216172782113783808 AND nbr>562949953421311 AND nbr<844424930131968) AND NOT(nbr4>144115188075855871 AND nbr4<216172782113783808 AND nbr2>562949953421311 AND nbr2<844424930131968) AND NOT(nbr4>144115188075855871 AND nbr4<216172782113783808 AND nbr3>562949953421311 AND nbr3<844424930131968))) AND NOT(NOT(NOT(nbr2>562949953421311 AND nbr2<844424930131968 AND nbr>144115188075855871 AND nbr<216172782113783808) AND NOT(nbr3>562949953421311 AND nbr3<844424930131968 AND nbr>144115188075855871 AND nbr<216172782113783808) AND NOT(nbr3>562949953421311 AND nbr3<844424930131968 AND nbr2>144115188075855871 AND nbr2<216172782113783808) AND NOT(nbr4>562949953421311 AND nbr4<844424930131968 AND nbr>144115188075855871 AND nbr<216172782113783808) AND NOT(nbr4>562949953421311 AND nbr4<844424930131968 AND nbr2>144115188075855871 AND nbr2<216172782113783808) AND NOT(nbr4>562949953421311 AND nbr4<844424930131968 AND nbr3>144115188075855871 AND nbr3<216172782113783808)))) ORDER BY predictivesearch0.first_name, predictivesearch0.last_name ASC;"); |
622 reference = QString("SELECT contact_id FROM (SELECT predictivesearch2.contact_id, predictivesearch2.first_name, predictivesearch2.last_name FROM predictivesearch2 WHERE ((NOT(NOT(nbr2>144115188075855871 AND nbr2<216172782113783808 AND nbr>144115188075855871 AND nbr<216172782113783808) AND NOT(nbr3>144115188075855871 AND nbr3<216172782113783808 AND nbr>144115188075855871 AND nbr<216172782113783808) AND NOT(nbr3>144115188075855871 AND nbr3<216172782113783808 AND nbr2>144115188075855871 AND nbr2<216172782113783808) AND NOT(nbr4>144115188075855871 AND nbr4<216172782113783808 AND nbr>144115188075855871 AND nbr<216172782113783808) AND NOT(nbr4>144115188075855871 AND nbr4<216172782113783808 AND nbr2>144115188075855871 AND nbr2<216172782113783808) AND NOT(nbr4>144115188075855871 AND nbr4<216172782113783808 AND nbr3>144115188075855871 AND nbr3<216172782113783808))) OR(NOT(NOT(nbr2>144115188075855871 AND nbr2<216172782113783808 AND nbr>144115188075855871 AND nbr<216172782113783808) AND NOT(nbr3>144115188075855871 AND nbr3<216172782113783808 AND nbr>144115188075855871 AND nbr<216172782113783808) AND NOT(nbr3>144115188075855871 AND nbr3<216172782113783808 AND nbr2>144115188075855871 AND nbr2<216172782113783808) AND NOT(nbr4>144115188075855871 AND nbr4<216172782113783808 AND nbr>144115188075855871 AND nbr<216172782113783808) AND NOT(nbr4>144115188075855871 AND nbr4<216172782113783808 AND nbr2>144115188075855871 AND nbr2<216172782113783808) AND NOT(nbr4>144115188075855871 AND nbr4<216172782113783808 AND nbr3>144115188075855871 AND nbr3<216172782113783808)))) UNION SELECT predictivesearch0.contact_id, predictivesearch0.first_name, predictivesearch0.last_name FROM predictivesearch0 WHERE ((NOT(NOT(predictivesearch0.nbr>565148976676863 AND predictivesearch0.nbr<566248488304640) AND NOT(predictivesearch0.nbr2>565148976676863 AND predictivesearch0.nbr2<566248488304640) AND NOT(predictivesearch0.nbr3>565148976676863 AND predictivesearch0.nbr3<566248488304640) AND NOT(predictivesearch0.nbr4>565148976676863 AND predictivesearch0.nbr4<566248488304640)))) OR(NOT(NOT(nbr2>144115188075855871 AND nbr2<216172782113783808 AND nbr>562949953421311 AND nbr<844424930131968) AND NOT(nbr3>144115188075855871 AND nbr3<216172782113783808 AND nbr>562949953421311 AND nbr<844424930131968) AND NOT(nbr3>144115188075855871 AND nbr3<216172782113783808 AND nbr2>562949953421311 AND nbr2<844424930131968) AND NOT(nbr4>144115188075855871 AND nbr4<216172782113783808 AND nbr>562949953421311 AND nbr<844424930131968) AND NOT(nbr4>144115188075855871 AND nbr4<216172782113783808 AND nbr2>562949953421311 AND nbr2<844424930131968) AND NOT(nbr4>144115188075855871 AND nbr4<216172782113783808 AND nbr3>562949953421311 AND nbr3<844424930131968))) OR(NOT(NOT(nbr2>562949953421311 AND nbr2<844424930131968 AND nbr>144115188075855871 AND nbr<216172782113783808) AND NOT(nbr3>562949953421311 AND nbr3<844424930131968 AND nbr>144115188075855871 AND nbr<216172782113783808) AND NOT(nbr3>562949953421311 AND nbr3<844424930131968 AND nbr2>144115188075855871 AND nbr2<216172782113783808) AND NOT(nbr4>562949953421311 AND nbr4<844424930131968 AND nbr>144115188075855871 AND nbr<216172782113783808) AND NOT(nbr4>562949953421311 AND nbr4<844424930131968 AND nbr2>144115188075855871 AND nbr2<216172782113783808) AND NOT(nbr4>562949953421311 AND nbr4<844424930131968 AND nbr3>144115188075855871 AND nbr3<216172782113783808)))) AS PR ORDER BY PR.first_name, PR.last_name ASC;"); |
611 #else // #if defined(USE_DEMORGAN) |
623 #else // #if defined(USE_DEMORGAN) |
612 reference = QString("SELECT contact_id FROM predictivesearch0 WHERE \ |
624 reference = QString("SELECT contact_id FROM predictivesearch0 WHERE \ |
613 ((nbr>565148976676863 AND nbr<566248488304640) OR \ |
625 ((nbr>565148976676863 AND nbr<566248488304640) OR \ |
614 (nbr2>565148976676863 AND nbr2<566248488304640) OR \ |
626 (nbr2>565148976676863 AND nbr2<566248488304640) OR \ |
615 (nbr3>565148976676863 AND nbr3<566248488304640) OR \ |
627 (nbr3>565148976676863 AND nbr3<566248488304640) OR \ |
631 #else // #if defined(SEARCH_FROM_ONE_TABLE) |
643 #else // #if defined(SEARCH_FROM_ONE_TABLE) |
632 // TODO: Test this case on HW and verify leading zeros. |
644 // TODO: Test this case on HW and verify leading zeros. |
633 reference = QString("SELECT contact_id FROM (SELECT predictivesearch0.contact_id, predictivesearch0.first_name, predictivesearch0.last_name FROM predictivesearch0 WHERE (NOT(NOT(predictivesearch0.nbr>565148976676863 AND predictivesearch0.nbr<566248488304640) AND NOT(predictivesearch0.nbr2>565148976676863 AND predictivesearch0.nbr2<566248488304640) AND NOT(predictivesearch0.nbr3>565148976676863 AND predictivesearch0.nbr3<566248488304640) AND NOT(predictivesearch0.nbr4>565148976676863 AND predictivesearch0.nbr4<566248488304640))) UNION SELECT predictivesearch0.contact_id, predictivesearch0.first_name, predictivesearch0.last_name FROM predictivesearch0 JOIN predictivesearch2 ON predictivesearch0.contact_id = predictivesearch2.contact_id WHERE(NOT(NOT(predictivesearch0.nbr>562949953421311 AND predictivesearch0.nbr<844424930131968) AND NOT(predictivesearch0.nbr2>562949953421311 AND predictivesearch0.nbr2<844424930131968) AND NOT(predictivesearch0.nbr3>562949953421311 AND predictivesearch0.nbr3<844424930131968) AND NOT(predictivesearch0.nbr4>562949953421311 AND predictivesearch0.nbr4<844424930131968)))) AS PR ORDER BY PR.first_name, PR.last_name ASC;"); |
645 reference = QString("SELECT contact_id FROM (SELECT predictivesearch0.contact_id, predictivesearch0.first_name, predictivesearch0.last_name FROM predictivesearch0 WHERE (NOT(NOT(predictivesearch0.nbr>565148976676863 AND predictivesearch0.nbr<566248488304640) AND NOT(predictivesearch0.nbr2>565148976676863 AND predictivesearch0.nbr2<566248488304640) AND NOT(predictivesearch0.nbr3>565148976676863 AND predictivesearch0.nbr3<566248488304640) AND NOT(predictivesearch0.nbr4>565148976676863 AND predictivesearch0.nbr4<566248488304640))) UNION SELECT predictivesearch0.contact_id, predictivesearch0.first_name, predictivesearch0.last_name FROM predictivesearch0 JOIN predictivesearch2 ON predictivesearch0.contact_id = predictivesearch2.contact_id WHERE(NOT(NOT(predictivesearch0.nbr>562949953421311 AND predictivesearch0.nbr<844424930131968) AND NOT(predictivesearch0.nbr2>562949953421311 AND predictivesearch0.nbr2<844424930131968) AND NOT(predictivesearch0.nbr3>562949953421311 AND predictivesearch0.nbr3<844424930131968) AND NOT(predictivesearch0.nbr4>562949953421311 AND predictivesearch0.nbr4<844424930131968)))) AS PR ORDER BY PR.first_name, PR.last_name ASC;"); |
634 #endif // #if defined(SEARCH_FROM_ONE_TABLE) |
646 #endif // #if defined(SEARCH_FROM_ONE_TABLE) |
635 result = mCntSqlSearch->CreateQuery(pattern); |
647 result = mCntSqlSearch->CreateQuery(pattern); |
636 //qDebug() << pattern << " -> result" << result; |
648 //LOG2(pattern, result); |
637 LOG2(pattern, result); |
649 //qDebug() << pattern << " -> result" << result << " -> reference" << reference; |
638 QVERIFY( !result.compare( reference) ); |
650 QVERIFY( !result.compare( reference) ); |
639 |
651 |
640 pattern = QString("202000"); |
652 pattern = QString("202000"); |
641 #if defined(USE_DEMORGAN) |
653 #if defined(USE_DEMORGAN) |
642 // TODO: Test this case on HW and verify trailing zeros. |
654 // TODO: Test this case on HW and verify trailing zeros. |
662 (nbr4>144115188075855871 AND nbr4<216172782113783808 AND nbr3>144115188075855871 AND nbr3<144132780261900288) \ |
674 (nbr4>144115188075855871 AND nbr4<216172782113783808 AND nbr3>144115188075855871 AND nbr3<144132780261900288) \ |
663 ORDER BY predictivesearch2.first_name, predictivesearch2.last_name ASC;");*/ |
675 ORDER BY predictivesearch2.first_name, predictivesearch2.last_name ASC;");*/ |
664 |
676 |
665 result = mCntSqlSearch->CreateQuery(pattern); |
677 result = mCntSqlSearch->CreateQuery(pattern); |
666 //qDebug() << pattern << " -> result" << result; |
678 //qDebug() << pattern << " -> result" << result; |
667 LOG2(pattern, result); |
679 //LOG2(pattern, result); |
668 QVERIFY( !result.compare( reference) ); |
680 QVERIFY( !result.compare( reference) ); |
669 |
681 |
670 pattern = QString("0020200"); |
682 pattern = QString("0020200"); |
671 #if defined(SEARCH_FROM_ONE_TABLE) |
683 #if defined(SEARCH_FROM_ONE_TABLE) |
672 #if defined(USE_DEMORGAN) |
684 #if defined(USE_DEMORGAN) |
673 reference = QString("SELECT contact_id FROM predictivesearch0 WHERE NOT(NOT(NOT(NOT(nbr>565148976676863 AND nbr<565153271644160) AND NOT(nbr2>565148976676863 AND nbr2<565153271644160) AND NOT(nbr3>565148976676863 AND nbr3<565153271644160) AND NOT(nbr4>565148976676863 AND nbr4<565153271644160))) AND NOT(NOT(NOT(nbr2>144115188075855871 AND nbr2<144396663052566528 AND nbr>562949953421311 AND nbr<844424930131968) AND NOT(nbr3>144115188075855871 AND nbr3<144396663052566528 AND nbr>562949953421311 AND nbr<844424930131968) AND NOT(nbr3>144115188075855871 AND nbr3<144396663052566528 AND nbr2>562949953421311 AND nbr2<844424930131968) AND NOT(nbr4>144115188075855871 AND nbr4<144396663052566528 AND nbr>562949953421311 AND nbr<844424930131968) AND NOT(nbr4>144115188075855871 AND nbr4<144396663052566528 AND nbr2>562949953421311 AND nbr2<844424930131968) AND NOT(nbr4>144115188075855871 AND nbr4<144396663052566528 AND nbr3>562949953421311 AND nbr3<844424930131968))) AND NOT(NOT(NOT(nbr2>562949953421311 AND nbr2<844424930131968 AND nbr>144115188075855871 AND nbr<144396663052566528) AND NOT(nbr3>562949953421311 AND nbr3<844424930131968 AND nbr>144115188075855871 AND nbr<144396663052566528) AND NOT(nbr3>562949953421311 AND nbr3<844424930131968 AND nbr2>144115188075855871 AND nbr2<144396663052566528) AND NOT(nbr4>562949953421311 AND nbr4<844424930131968 AND nbr>144115188075855871 AND nbr<144396663052566528) AND NOT(nbr4>562949953421311 AND nbr4<844424930131968 AND nbr2>144115188075855871 AND nbr2<144396663052566528) AND NOT(nbr4>562949953421311 AND nbr4<844424930131968 AND nbr3>144115188075855871 AND nbr3<144396663052566528)))) ORDER BY predictivesearch0.first_name, predictivesearch0.last_name ASC;"); |
685 reference = QString("SELECT contact_id FROM (SELECT predictivesearch2.contact_id, predictivesearch2.first_name, predictivesearch2.last_name FROM predictivesearch2 WHERE ((NOT(NOT(nbr2>144115188075855871 AND nbr2<144396663052566528 AND nbr>144115188075855871 AND nbr<216172782113783808) AND NOT(nbr3>144115188075855871 AND nbr3<144396663052566528 AND nbr>144115188075855871 AND nbr<216172782113783808) AND NOT(nbr3>144115188075855871 AND nbr3<144396663052566528 AND nbr2>144115188075855871 AND nbr2<216172782113783808) AND NOT(nbr4>144115188075855871 AND nbr4<144396663052566528 AND nbr>144115188075855871 AND nbr<216172782113783808) AND NOT(nbr4>144115188075855871 AND nbr4<144396663052566528 AND nbr2>144115188075855871 AND nbr2<216172782113783808) AND NOT(nbr4>144115188075855871 AND nbr4<144396663052566528 AND nbr3>144115188075855871 AND nbr3<216172782113783808))) OR(NOT(NOT(nbr2>144115188075855871 AND nbr2<216172782113783808 AND nbr>144115188075855871 AND nbr<144396663052566528) AND NOT(nbr3>144115188075855871 AND nbr3<216172782113783808 AND nbr>144115188075855871 AND nbr<144396663052566528) AND NOT(nbr3>144115188075855871 AND nbr3<216172782113783808 AND nbr2>144115188075855871 AND nbr2<144396663052566528) AND NOT(nbr4>144115188075855871 AND nbr4<216172782113783808 AND nbr>144115188075855871 AND nbr<144396663052566528) AND NOT(nbr4>144115188075855871 AND nbr4<216172782113783808 AND nbr2>144115188075855871 AND nbr2<144396663052566528) AND NOT(nbr4>144115188075855871 AND nbr4<216172782113783808 AND nbr3>144115188075855871 AND nbr3<144396663052566528)))) UNION SELECT predictivesearch0.contact_id, predictivesearch0.first_name, predictivesearch0.last_name FROM predictivesearch0 WHERE ((NOT(NOT(predictivesearch0.nbr>565148976676863 AND predictivesearch0.nbr<565153271644160) AND NOT(predictivesearch0.nbr2>565148976676863 AND predictivesearch0.nbr2<565153271644160) AND NOT(predictivesearch0.nbr3>565148976676863 AND predictivesearch0.nbr3<565153271644160) AND NOT(predictivesearch0.nbr4>565148976676863 AND predictivesearch0.nbr4<565153271644160)))) OR(NOT(NOT(nbr2>144115188075855871 AND nbr2<144396663052566528 AND nbr>562949953421311 AND nbr<844424930131968) AND NOT(nbr3>144115188075855871 AND nbr3<144396663052566528 AND nbr>562949953421311 AND nbr<844424930131968) AND NOT(nbr3>144115188075855871 AND nbr3<144396663052566528 AND nbr2>562949953421311 AND nbr2<844424930131968) AND NOT(nbr4>144115188075855871 AND nbr4<144396663052566528 AND nbr>562949953421311 AND nbr<844424930131968) AND NOT(nbr4>144115188075855871 AND nbr4<144396663052566528 AND nbr2>562949953421311 AND nbr2<844424930131968) AND NOT(nbr4>144115188075855871 AND nbr4<144396663052566528 AND nbr3>562949953421311 AND nbr3<844424930131968))) OR(NOT(NOT(nbr2>562949953421311 AND nbr2<844424930131968 AND nbr>144115188075855871 AND nbr<144396663052566528) AND NOT(nbr3>562949953421311 AND nbr3<844424930131968 AND nbr>144115188075855871 AND nbr<144396663052566528) AND NOT(nbr3>562949953421311 AND nbr3<844424930131968 AND nbr2>144115188075855871 AND nbr2<144396663052566528) AND NOT(nbr4>562949953421311 AND nbr4<844424930131968 AND nbr>144115188075855871 AND nbr<144396663052566528) AND NOT(nbr4>562949953421311 AND nbr4<844424930131968 AND nbr2>144115188075855871 AND nbr2<144396663052566528) AND NOT(nbr4>562949953421311 AND nbr4<844424930131968 AND nbr3>144115188075855871 AND nbr3<144396663052566528)))) AS PR ORDER BY PR.first_name, PR.last_name ASC;"); |
674 #else // #if defined(USE_DEMORGAN) |
686 #else // #if defined(USE_DEMORGAN) |
675 reference = QString("SELECT contact_id FROM predictivesearch0 WHERE \ |
687 reference = QString("SELECT contact_id FROM predictivesearch0 WHERE \ |
676 ((nbr>565148976676863 AND nbr<565153271644160) OR (nbr2>565148976676863 AND nbr2<565153271644160) OR \ |
688 ((nbr>565148976676863 AND nbr<565153271644160) OR (nbr2>565148976676863 AND nbr2<565153271644160) OR \ |
677 (nbr3>565148976676863 AND nbr3<565153271644160) OR (nbr4>565148976676863 AND nbr4<565153271644160)) OR \ |
689 (nbr3>565148976676863 AND nbr3<565153271644160) OR (nbr4>565148976676863 AND nbr4<565153271644160)) OR \ |
678 (nbr2>144115188075855871 AND nbr2<144396663052566528 AND nbr>562949953421311 AND nbr<844424930131968) OR \ |
690 (nbr2>144115188075855871 AND nbr2<144396663052566528 AND nbr>562949953421311 AND nbr<844424930131968) OR \ |
692 #else // #if defined(SEARCH_FROM_ONE_TABLE) |
704 #else // #if defined(SEARCH_FROM_ONE_TABLE) |
693 // TODO: Test this case on HW and verify leading zeros. |
705 // TODO: Test this case on HW and verify leading zeros. |
694 reference = QString("SELECT contact_id FROM (SELECT predictivesearch0.contact_id, predictivesearch0.first_name, predictivesearch0.last_name FROM predictivesearch0 WHERE (NOT(NOT(predictivesearch0.nbr>565148976676863 AND predictivesearch0.nbr<565153271644160) AND NOT(predictivesearch0.nbr2>565148976676863 AND predictivesearch0.nbr2<565153271644160) AND NOT(predictivesearch0.nbr3>565148976676863 AND predictivesearch0.nbr3<565153271644160) AND NOT(predictivesearch0.nbr4>565148976676863 AND predictivesearch0.nbr4<565153271644160))) UNION SELECT predictivesearch0.contact_id, predictivesearch0.first_name, predictivesearch0.last_name FROM predictivesearch0 JOIN predictivesearch2 ON predictivesearch0.contact_id = predictivesearch2.contact_id WHERE((NOT(NOT(predictivesearch0.nbr>562949953421311 AND predictivesearch0.nbr<844424930131968) AND NOT(predictivesearch0.nbr2>562949953421311 AND predictivesearch0.nbr2<844424930131968) AND NOT(predictivesearch0.nbr3>562949953421311 AND predictivesearch0.nbr3<844424930131968) AND NOT(predictivesearch0.nbr4>562949953421311 AND predictivesearch0.nbr4<844424930131968))) AND (NOT(NOT(predictivesearch2.nbr>144115188075855871 AND predictivesearch2.nbr<144396663052566528) AND NOT(predictivesearch2.nbr2>144115188075855871 AND predictivesearch2.nbr2<144396663052566528) AND NOT(predictivesearch2.nbr3>144115188075855871 AND predictivesearch2.nbr3<144396663052566528) AND NOT(predictivesearch2.nbr4>144115188075855871 AND predictivesearch2.nbr4<144396663052566528))))) AS PR ORDER BY PR.first_name, PR.last_name ASC;"); |
706 reference = QString("SELECT contact_id FROM (SELECT predictivesearch0.contact_id, predictivesearch0.first_name, predictivesearch0.last_name FROM predictivesearch0 WHERE (NOT(NOT(predictivesearch0.nbr>565148976676863 AND predictivesearch0.nbr<565153271644160) AND NOT(predictivesearch0.nbr2>565148976676863 AND predictivesearch0.nbr2<565153271644160) AND NOT(predictivesearch0.nbr3>565148976676863 AND predictivesearch0.nbr3<565153271644160) AND NOT(predictivesearch0.nbr4>565148976676863 AND predictivesearch0.nbr4<565153271644160))) UNION SELECT predictivesearch0.contact_id, predictivesearch0.first_name, predictivesearch0.last_name FROM predictivesearch0 JOIN predictivesearch2 ON predictivesearch0.contact_id = predictivesearch2.contact_id WHERE((NOT(NOT(predictivesearch0.nbr>562949953421311 AND predictivesearch0.nbr<844424930131968) AND NOT(predictivesearch0.nbr2>562949953421311 AND predictivesearch0.nbr2<844424930131968) AND NOT(predictivesearch0.nbr3>562949953421311 AND predictivesearch0.nbr3<844424930131968) AND NOT(predictivesearch0.nbr4>562949953421311 AND predictivesearch0.nbr4<844424930131968))) AND (NOT(NOT(predictivesearch2.nbr>144115188075855871 AND predictivesearch2.nbr<144396663052566528) AND NOT(predictivesearch2.nbr2>144115188075855871 AND predictivesearch2.nbr2<144396663052566528) AND NOT(predictivesearch2.nbr3>144115188075855871 AND predictivesearch2.nbr3<144396663052566528) AND NOT(predictivesearch2.nbr4>144115188075855871 AND predictivesearch2.nbr4<144396663052566528))))) AS PR ORDER BY PR.first_name, PR.last_name ASC;"); |
695 #endif //#if defined(SEARCH_FROM_ONE_TABLE) |
707 #endif //#if defined(SEARCH_FROM_ONE_TABLE) |
696 result = mCntSqlSearch->CreateQuery(pattern); |
708 result = mCntSqlSearch->CreateQuery(pattern); |
697 //qDebug() << pattern << " -> result" << result; |
709 qDebug() << pattern << " -> result" << result; |
698 LOG2(pattern, result); |
710 LOG2(pattern, result); |
699 QVERIFY( !result.compare( reference) ); |
711 QVERIFY( !result.compare( reference) ); |
700 |
712 |
701 pattern = QString("20322"); |
713 pattern = QString("20322"); |
702 #if defined(SEARCH_FROM_ONE_TABLE) |
714 #if defined(SEARCH_FROM_ONE_TABLE) |
908 pattern = QString ("055"); |
920 pattern = QString ("055"); |
909 tokens << "55"; |
921 tokens << "55"; |
910 reference = QString("SELECT contact_id FROM (SELECT predictivesearch5.contact_id, predictivesearch5.first_name, predictivesearch5.last_name FROM predictivesearch5 WHERE ((NOT(NOT(predictivesearch5.nbr>382805968326492159 AND predictivesearch5.nbr<387309567953862656) AND NOT(predictivesearch5.nbr2>382805968326492159 AND predictivesearch5.nbr2<387309567953862656) AND NOT(predictivesearch5.nbr3>382805968326492159 AND predictivesearch5.nbr3<387309567953862656) AND NOT(predictivesearch5.nbr4>382805968326492159 AND predictivesearch5.nbr4<387309567953862656)))) UNION SELECT predictivesearch0.contact_id, predictivesearch0.first_name, predictivesearch0.last_name FROM predictivesearch0 WHERE ((NOT(NOT(predictivesearch0.nbr>23925373020405759 AND predictivesearch0.nbr<24206847997116416) AND NOT(predictivesearch0.nbr2>23925373020405759 AND predictivesearch0.nbr2<24206847997116416) AND NOT(predictivesearch0.nbr3>23925373020405759 AND predictivesearch0.nbr3<24206847997116416) AND NOT(predictivesearch0.nbr4>23925373020405759 AND predictivesearch0.nbr4<24206847997116416))))) AS PR ORDER BY PR.first_name, PR.last_name ASC;"); |
922 reference = QString("SELECT contact_id FROM (SELECT predictivesearch5.contact_id, predictivesearch5.first_name, predictivesearch5.last_name FROM predictivesearch5 WHERE ((NOT(NOT(predictivesearch5.nbr>382805968326492159 AND predictivesearch5.nbr<387309567953862656) AND NOT(predictivesearch5.nbr2>382805968326492159 AND predictivesearch5.nbr2<387309567953862656) AND NOT(predictivesearch5.nbr3>382805968326492159 AND predictivesearch5.nbr3<387309567953862656) AND NOT(predictivesearch5.nbr4>382805968326492159 AND predictivesearch5.nbr4<387309567953862656)))) UNION SELECT predictivesearch0.contact_id, predictivesearch0.first_name, predictivesearch0.last_name FROM predictivesearch0 WHERE ((NOT(NOT(predictivesearch0.nbr>23925373020405759 AND predictivesearch0.nbr<24206847997116416) AND NOT(predictivesearch0.nbr2>23925373020405759 AND predictivesearch0.nbr2<24206847997116416) AND NOT(predictivesearch0.nbr3>23925373020405759 AND predictivesearch0.nbr3<24206847997116416) AND NOT(predictivesearch0.nbr4>23925373020405759 AND predictivesearch0.nbr4<24206847997116416))))) AS PR ORDER BY PR.first_name, PR.last_name ASC;"); |
911 result = mCntSqlSearch->CompareTwoColumnsWithModifiedPattern(pattern, tokens); |
923 result = mCntSqlSearch->CompareTwoColumnsWithModifiedPattern(pattern, tokens); |
912 QVERIFY( !result.compare( reference) ); |
924 QVERIFY( !result.compare( reference) ); |
913 /*tokens.clear(); |
925 |
914 pattern = QString ("0550"); |
|
915 tokens << "55"; |
|
916 QString reference("SELECT contact_id FROM (SELECT predictivesearch5.contact_id, predictivesearch5.first_name, predictivesearch5.last_name FROM predictivesearch5 WHERE ((NOT(NOT(predictivesearch5.nbr>23925373020405759 AND predictivesearch5.nbr<24206847997116416) AND NOT(predictivesearch5.nbr2>23925373020405759 AND predictivesearch5.nbr2<24206847997116416) AND NOT(predictivesearch5.nbr3>23925373020405759 AND predictivesearch5.nbr3<24206847997116416) AND NOT(predictivesearch5.nbr4>23925373020405759 AND predictivesearch5.nbr4<24206847997116416)))) UNION SELECT predictivesearch0.contact_id, predictivesearch0.first_name, predictivesearch0.last_name FROM predictivesearch0 WHERE ((NOT(NOT(predictivesearch0.nbr>23925373020405759 AND predictivesearch0.nbr<24206847997116416) AND NOT(predictivesearch0.nbr2>23925373020405759 AND predictivesearch0.nbr2<24206847997116416) AND NOT(predictivesearch0.nbr3>23925373020405759 AND predictivesearch0.nbr3<24206847997116416) AND NOT(predictivesearch0.nbr4>23925373020405759 AND predictivesearch0.nbr4<24206847997116416))))) AS PR ORDER BY PR.first_name, PR.last_name ASC;"); |
|
917 QString result = mCntSqlSearch->CompareTwoColumnsWithModifiedPattern(pattern, tokens); |
|
918 |
|
919 tokens.clear(); |
926 tokens.clear(); |
920 pattern = QString ("05505"); |
927 pattern = QString ("05505"); |
921 tokens << "55 << 5"; |
928 tokens << "055" << "5"; |
922 QString reference("SELECT contact_id FROM predictivesearch2 WHERE NOT(NOT(NOT(NOT(nbr>145522562959409151 AND nbr<145804037936119808) AND NOT(nbr2>145522562959409151 AND nbr2<145804037936119808) AND NOT(nbr3>145522562959409151 AND nbr3<145804037936119808) AND NOT(nbr4>145522562959409151 AND nbr4<145804037936119808))) AND NOT(NOT(NOT(nbr2>360287970189639679 AND nbr2<432345564227567616 AND nbr>144115188075855871 AND nbr<216172782113783808) AND NOT(nbr3>360287970189639679 AND nbr3<432345564227567616 AND nbr>144115188075855871 AND nbr<216172782113783808) AND NOT(nbr3>360287970189639679 AND nbr3<432345564227567616 AND nbr2>144115188075855871 AND nbr2<216172782113783808) AND NOT(nbr4>360287970189639679 AND nbr4<432345564227567616 AND nbr>144115188075855871 AND nbr<216172782113783808) AND NOT(nbr4>360287970189639679 AND nbr4<432345564227567616 AND nbr2>144115188075855871 AND nbr2<216172782113783808) AND NOT(nbr4>360287970189639679 AND nbr4<432345564227567616 AND nbr3>144115188075855871 AND nbr3<216172782113783808))) AND NOT(NOT(NOT(nbr2>144115188075855871 AND nbr2<216172782113783808 AND nbr>360287970189639679 AND nbr<432345564227567616) AND NOT(nbr3>144115188075855871 AND nbr3<216172782113783808 AND nbr>360287970189639679 AND nbr<432345564227567616) AND NOT(nbr3>144115188075855871 AND nbr3<216172782113783808 AND nbr2>360287970189639679 AND nbr2<432345564227567616) AND NOT(nbr4>144115188075855871 AND nbr4<216172782113783808 AND nbr>360287970189639679 AND nbr<432345564227567616) AND NOT(nbr4>144115188075855871 AND nbr4<216172782113783808 AND nbr2>360287970189639679 AND nbr2<432345564227567616) AND NOT(nbr4>144115188075855871 AND nbr4<216172782113783808 AND nbr3>360287970189639679 AND nbr3<432345564227567616)))) ORDER BY predictivesearch2.first_name, predictivesearch2.last_name ASC;"); |
929 reference = QString("SELECT contact_id FROM (SELECT predictivesearch5.contact_id, predictivesearch5.first_name, predictivesearch5.last_name FROM predictivesearch5 WHERE ((NOT(NOT(nbr2>360287970189639679 AND nbr2<432345564227567616 AND nbr>382805968326492159 AND nbr<387309567953862656) AND NOT(nbr3>360287970189639679 AND nbr3<432345564227567616 AND nbr>382805968326492159 AND nbr<387309567953862656) AND NOT(nbr3>360287970189639679 AND nbr3<432345564227567616 AND nbr2>382805968326492159 AND nbr2<387309567953862656) AND NOT(nbr4>360287970189639679 AND nbr4<432345564227567616 AND nbr>382805968326492159 AND nbr<387309567953862656) AND NOT(nbr4>360287970189639679 AND nbr4<432345564227567616 AND nbr2>382805968326492159 AND nbr2<387309567953862656) AND NOT(nbr4>360287970189639679 AND nbr4<432345564227567616 AND nbr3>382805968326492159 AND nbr3<387309567953862656))) OR(NOT(NOT(nbr2>382805968326492159 AND nbr2<387309567953862656 AND nbr>360287970189639679 AND nbr<432345564227567616) AND NOT(nbr3>382805968326492159 AND nbr3<387309567953862656 AND nbr>360287970189639679 AND nbr<432345564227567616) AND NOT(nbr3>382805968326492159 AND nbr3<387309567953862656 AND nbr2>360287970189639679 AND nbr2<432345564227567616) AND NOT(nbr4>382805968326492159 AND nbr4<387309567953862656 AND nbr>360287970189639679 AND nbr<432345564227567616) AND NOT(nbr4>382805968326492159 AND nbr4<387309567953862656 AND nbr2>360287970189639679 AND nbr2<432345564227567616) AND NOT(nbr4>382805968326492159 AND nbr4<387309567953862656 AND nbr3>360287970189639679 AND nbr3<432345564227567616)))) UNION SELECT predictivesearch0.contact_id, predictivesearch0.first_name, predictivesearch0.last_name FROM predictivesearch0 WHERE ((NOT(NOT(predictivesearch0.nbr>23930870578544639 AND predictivesearch0.nbr<23931970090172416) AND NOT(predictivesearch0.nbr2>23930870578544639 AND predictivesearch0.nbr2<23931970090172416) AND NOT(predictivesearch0.nbr3>23930870578544639 AND predictivesearch0.nbr3<23931970090172416) AND NOT(predictivesearch0.nbr4>23930870578544639 AND predictivesearch0.nbr4<23931970090172416)))) OR(NOT(NOT(nbr2>360287970189639679 AND nbr2<432345564227567616 AND nbr>23925373020405759 AND nbr<24206847997116416) AND NOT(nbr3>360287970189639679 AND nbr3<432345564227567616 AND nbr>23925373020405759 AND nbr<24206847997116416) AND NOT(nbr3>360287970189639679 AND nbr3<432345564227567616 AND nbr2>23925373020405759 AND nbr2<24206847997116416) AND NOT(nbr4>360287970189639679 AND nbr4<432345564227567616 AND nbr>23925373020405759 AND nbr<24206847997116416) AND NOT(nbr4>360287970189639679 AND nbr4<432345564227567616 AND nbr2>23925373020405759 AND nbr2<24206847997116416) AND NOT(nbr4>360287970189639679 AND nbr4<432345564227567616 AND nbr3>23925373020405759 AND nbr3<24206847997116416))) OR(NOT(NOT(nbr2>23925373020405759 AND nbr2<24206847997116416 AND nbr>360287970189639679 AND nbr<432345564227567616) AND NOT(nbr3>23925373020405759 AND nbr3<24206847997116416 AND nbr>360287970189639679 AND nbr<432345564227567616) AND NOT(nbr3>23925373020405759 AND nbr3<24206847997116416 AND nbr2>360287970189639679 AND nbr2<432345564227567616) AND NOT(nbr4>23925373020405759 AND nbr4<24206847997116416 AND nbr>360287970189639679 AND nbr<432345564227567616) AND NOT(nbr4>23925373020405759 AND nbr4<24206847997116416 AND nbr2>360287970189639679 AND nbr2<432345564227567616) AND NOT(nbr4>23925373020405759 AND nbr4<24206847997116416 AND nbr3>360287970189639679 AND nbr3<432345564227567616)))) AS PR ORDER BY PR.first_name, PR.last_name ASC;"); |
923 QString result = mCntSqlSearch->CompareTwoColumnsWithModifiedPattern(pattern, tokens);*/ |
930 result = mCntSqlSearch->CompareTwoColumnsWithModifiedPattern(pattern, tokens); |
|
931 QVERIFY( !result.compare( reference) ); |
|
932 |
|
933 tokens.clear(); |
|
934 pattern = QString ("0550"); |
|
935 tokens << "055"; |
|
936 reference = QString("SELECT contact_id FROM (SELECT predictivesearch5.contact_id, predictivesearch5.first_name, predictivesearch5.last_name FROM predictivesearch5 WHERE ((NOT(NOT(predictivesearch5.nbr>382805968326492159 AND predictivesearch5.nbr<387309567953862656) AND NOT(predictivesearch5.nbr2>382805968326492159 AND predictivesearch5.nbr2<387309567953862656) AND NOT(predictivesearch5.nbr3>382805968326492159 AND predictivesearch5.nbr3<387309567953862656) AND NOT(predictivesearch5.nbr4>382805968326492159 AND predictivesearch5.nbr4<387309567953862656)))) UNION SELECT predictivesearch0.contact_id, predictivesearch0.first_name, predictivesearch0.last_name FROM predictivesearch0 WHERE ((NOT(NOT(predictivesearch0.nbr>23925373020405759 AND predictivesearch0.nbr<23942965206450176) AND NOT(predictivesearch0.nbr2>23925373020405759 AND predictivesearch0.nbr2<23942965206450176) AND NOT(predictivesearch0.nbr3>23925373020405759 AND predictivesearch0.nbr3<23942965206450176) AND NOT(predictivesearch0.nbr4>23925373020405759 AND predictivesearch0.nbr4<23942965206450176))))) AS PR ORDER BY PR.first_name, PR.last_name ASC;"); |
|
937 result = mCntSqlSearch->CompareTwoColumnsWithModifiedPattern(pattern, tokens); |
|
938 QVERIFY( !result.compare( reference) ); |
|
939 |
|
940 tokens.clear(); |
|
941 pattern = QString ("000550"); |
|
942 tokens << "00055"; |
|
943 reference = QString("SELECT contact_id FROM (SELECT predictivesearch5.contact_id, predictivesearch5.first_name, predictivesearch5.last_name FROM predictivesearch5 WHERE ((NOT(NOT(predictivesearch5.nbr>382805968326492159 AND predictivesearch5.nbr<387309567953862656) AND NOT(predictivesearch5.nbr2>382805968326492159 AND predictivesearch5.nbr2<387309567953862656) AND NOT(predictivesearch5.nbr3>382805968326492159 AND predictivesearch5.nbr3<387309567953862656) AND NOT(predictivesearch5.nbr4>382805968326492159 AND predictivesearch5.nbr4<387309567953862656)))) UNION SELECT predictivesearch0.contact_id, predictivesearch0.first_name, predictivesearch0.last_name FROM predictivesearch0 WHERE ((NOT(NOT(predictivesearch0.nbr>93458488360959 AND predictivesearch0.nbr<93527207837696) AND NOT(predictivesearch0.nbr2>93458488360959 AND predictivesearch0.nbr2<93527207837696) AND NOT(predictivesearch0.nbr3>93458488360959 AND predictivesearch0.nbr3<93527207837696) AND NOT(predictivesearch0.nbr4>93458488360959 AND predictivesearch0.nbr4<93527207837696))))) AS PR ORDER BY PR.first_name, PR.last_name ASC;"); |
|
944 result = mCntSqlSearch->CompareTwoColumnsWithModifiedPattern(pattern, tokens); |
|
945 //qDebug() << pattern << " -> result" << result; |
|
946 QVERIFY( !result.compare( reference) ); |
|
947 |
|
948 tokens.clear(); |
|
949 pattern = QString ("055000"); |
|
950 tokens << "055"; |
|
951 reference = QString("SELECT contact_id FROM (SELECT predictivesearch5.contact_id, predictivesearch5.first_name, predictivesearch5.last_name FROM predictivesearch5 WHERE ((NOT(NOT(predictivesearch5.nbr>382805968326492159 AND predictivesearch5.nbr<387309567953862656) AND NOT(predictivesearch5.nbr2>382805968326492159 AND predictivesearch5.nbr2<387309567953862656) AND NOT(predictivesearch5.nbr3>382805968326492159 AND predictivesearch5.nbr3<387309567953862656) AND NOT(predictivesearch5.nbr4>382805968326492159 AND predictivesearch5.nbr4<387309567953862656)))) UNION SELECT predictivesearch0.contact_id, predictivesearch0.first_name, predictivesearch0.last_name FROM predictivesearch0 WHERE ((NOT(NOT(predictivesearch0.nbr>23925373020405759 AND predictivesearch0.nbr<23925441739882496) AND NOT(predictivesearch0.nbr2>23925373020405759 AND predictivesearch0.nbr2<23925441739882496) AND NOT(predictivesearch0.nbr3>23925373020405759 AND predictivesearch0.nbr3<23925441739882496) AND NOT(predictivesearch0.nbr4>23925373020405759 AND predictivesearch0.nbr4<23925441739882496))))) AS PR ORDER BY PR.first_name, PR.last_name ASC;"); |
|
952 result = mCntSqlSearch->CompareTwoColumnsWithModifiedPattern(pattern, tokens); |
|
953 //qDebug() << pattern << " -> result" << result; |
|
954 QVERIFY( !result.compare( reference) ); |
|
955 |
|
956 tokens.clear(); |
|
957 pattern = QString ("0500050"); |
|
958 tokens << "05" << "5"; |
|
959 reference = QString("SELECT contact_id FROM (SELECT predictivesearch5.contact_id, predictivesearch5.first_name, predictivesearch5.last_name FROM predictivesearch5 WHERE ((NOT(NOT(nbr2>360287970189639679 AND nbr2<432345564227567616 AND nbr>360287970189639679 AND nbr<432345564227567616) AND NOT(nbr3>360287970189639679 AND nbr3<432345564227567616 AND nbr>360287970189639679 AND nbr<432345564227567616) AND NOT(nbr3>360287970189639679 AND nbr3<432345564227567616 AND nbr2>360287970189639679 AND nbr2<432345564227567616) AND NOT(nbr4>360287970189639679 AND nbr4<432345564227567616 AND nbr>360287970189639679 AND nbr<432345564227567616) AND NOT(nbr4>360287970189639679 AND nbr4<432345564227567616 AND nbr2>360287970189639679 AND nbr2<432345564227567616) AND NOT(nbr4>360287970189639679 AND nbr4<432345564227567616 AND nbr3>360287970189639679 AND nbr3<432345564227567616))) OR(NOT(NOT(nbr2>360287970189639679 AND nbr2<432345564227567616 AND nbr>360287970189639679 AND nbr<432345564227567616) AND NOT(nbr3>360287970189639679 AND nbr3<432345564227567616 AND nbr>360287970189639679 AND nbr<432345564227567616) AND NOT(nbr3>360287970189639679 AND nbr3<432345564227567616 AND nbr2>360287970189639679 AND nbr2<432345564227567616) AND NOT(nbr4>360287970189639679 AND nbr4<432345564227567616 AND nbr>360287970189639679 AND nbr<432345564227567616) AND NOT(nbr4>360287970189639679 AND nbr4<432345564227567616 AND nbr2>360287970189639679 AND nbr2<432345564227567616) AND NOT(nbr4>360287970189639679 AND nbr4<432345564227567616 AND nbr3>360287970189639679 AND nbr3<432345564227567616)))) UNION SELECT predictivesearch0.contact_id, predictivesearch0.first_name, predictivesearch0.last_name FROM predictivesearch0 WHERE ((NOT(NOT(predictivesearch0.nbr>22518341734236159 AND predictivesearch0.nbr<22518346029203456) AND NOT(predictivesearch0.nbr2>22518341734236159 AND predictivesearch0.nbr2<22518346029203456) AND NOT(predictivesearch0.nbr3>22518341734236159 AND predictivesearch0.nbr3<22518346029203456) AND NOT(predictivesearch0.nbr4>22518341734236159 AND predictivesearch0.nbr4<22518346029203456)))) OR(NOT(NOT(nbr2>360287970189639679 AND nbr2<432345564227567616 AND nbr>22517998136852479 AND nbr<27021597764222976) AND NOT(nbr3>360287970189639679 AND nbr3<432345564227567616 AND nbr>22517998136852479 AND nbr<27021597764222976) AND NOT(nbr3>360287970189639679 AND nbr3<432345564227567616 AND nbr2>22517998136852479 AND nbr2<27021597764222976) AND NOT(nbr4>360287970189639679 AND nbr4<432345564227567616 AND nbr>22517998136852479 AND nbr<27021597764222976) AND NOT(nbr4>360287970189639679 AND nbr4<432345564227567616 AND nbr2>22517998136852479 AND nbr2<27021597764222976) AND NOT(nbr4>360287970189639679 AND nbr4<432345564227567616 AND nbr3>22517998136852479 AND nbr3<27021597764222976))) OR(NOT(NOT(nbr2>22517998136852479 AND nbr2<27021597764222976 AND nbr>360287970189639679 AND nbr<432345564227567616) AND NOT(nbr3>22517998136852479 AND nbr3<27021597764222976 AND nbr>360287970189639679 AND nbr<432345564227567616) AND NOT(nbr3>22517998136852479 AND nbr3<27021597764222976 AND nbr2>360287970189639679 AND nbr2<432345564227567616) AND NOT(nbr4>22517998136852479 AND nbr4<27021597764222976 AND nbr>360287970189639679 AND nbr<432345564227567616) AND NOT(nbr4>22517998136852479 AND nbr4<27021597764222976 AND nbr2>360287970189639679 AND nbr2<432345564227567616) AND NOT(nbr4>22517998136852479 AND nbr4<27021597764222976 AND nbr3>360287970189639679 AND nbr3<432345564227567616)))) AS PR ORDER BY PR.first_name, PR.last_name ASC;"); |
|
960 result = mCntSqlSearch->CompareTwoColumnsWithModifiedPattern(pattern, tokens); |
|
961 QVERIFY( !result.compare( reference) ); |
|
962 |
|
963 tokens.clear(); |
|
964 pattern = QString ("052207"); |
|
965 tokens << "0522" << "7"; |
|
966 reference = QString("SELECT contact_id FROM (SELECT predictivesearch5.contact_id, predictivesearch5.first_name, predictivesearch5.last_name FROM predictivesearch5 WHERE ((NOT(NOT(nbr2>504403158265495551 AND nbr2<576460752303423488 AND nbr>369858119397801983 AND nbr<370139594374512640) AND NOT(nbr3>504403158265495551 AND nbr3<576460752303423488 AND nbr>369858119397801983 AND nbr<370139594374512640) AND NOT(nbr3>504403158265495551 AND nbr3<576460752303423488 AND nbr2>369858119397801983 AND nbr2<370139594374512640) AND NOT(nbr4>504403158265495551 AND nbr4<576460752303423488 AND nbr>369858119397801983 AND nbr<370139594374512640) AND NOT(nbr4>504403158265495551 AND nbr4<576460752303423488 AND nbr2>369858119397801983 AND nbr2<370139594374512640) AND NOT(nbr4>504403158265495551 AND nbr4<576460752303423488 AND nbr3>369858119397801983 AND nbr3<370139594374512640))) OR(NOT(NOT(nbr2>369858119397801983 AND nbr2<370139594374512640 AND nbr>504403158265495551 AND nbr<576460752303423488) AND NOT(nbr3>369858119397801983 AND nbr3<370139594374512640 AND nbr>504403158265495551 AND nbr<576460752303423488) AND NOT(nbr3>369858119397801983 AND nbr3<370139594374512640 AND nbr2>504403158265495551 AND nbr2<576460752303423488) AND NOT(nbr4>369858119397801983 AND nbr4<370139594374512640 AND nbr>504403158265495551 AND nbr<576460752303423488) AND NOT(nbr4>369858119397801983 AND nbr4<370139594374512640 AND nbr2>504403158265495551 AND nbr2<576460752303423488) AND NOT(nbr4>369858119397801983 AND nbr4<370139594374512640 AND nbr3>504403158265495551 AND nbr3<576460752303423488)))) UNION SELECT predictivesearch0.contact_id, predictivesearch0.first_name, predictivesearch0.last_name FROM predictivesearch0 WHERE ((NOT(NOT(predictivesearch0.nbr>23116613498699775 AND predictivesearch0.nbr<23116682218176512) AND NOT(predictivesearch0.nbr2>23116613498699775 AND predictivesearch0.nbr2<23116682218176512) AND NOT(predictivesearch0.nbr3>23116613498699775 AND predictivesearch0.nbr3<23116682218176512) AND NOT(predictivesearch0.nbr4>23116613498699775 AND predictivesearch0.nbr4<23116682218176512)))) OR(NOT(NOT(nbr2>504403158265495551 AND nbr2<576460752303423488 AND nbr>23116132462362623 AND nbr<23133724648407040) AND NOT(nbr3>504403158265495551 AND nbr3<576460752303423488 AND nbr>23116132462362623 AND nbr<23133724648407040) AND NOT(nbr3>504403158265495551 AND nbr3<576460752303423488 AND nbr2>23116132462362623 AND nbr2<23133724648407040) AND NOT(nbr4>504403158265495551 AND nbr4<576460752303423488 AND nbr>23116132462362623 AND nbr<23133724648407040) AND NOT(nbr4>504403158265495551 AND nbr4<576460752303423488 AND nbr2>23116132462362623 AND nbr2<23133724648407040) AND NOT(nbr4>504403158265495551 AND nbr4<576460752303423488 AND nbr3>23116132462362623 AND nbr3<23133724648407040))) OR(NOT(NOT(nbr2>23116132462362623 AND nbr2<23133724648407040 AND nbr>504403158265495551 AND nbr<576460752303423488) AND NOT(nbr3>23116132462362623 AND nbr3<23133724648407040 AND nbr>504403158265495551 AND nbr<576460752303423488) AND NOT(nbr3>23116132462362623 AND nbr3<23133724648407040 AND nbr2>504403158265495551 AND nbr2<576460752303423488) AND NOT(nbr4>23116132462362623 AND nbr4<23133724648407040 AND nbr>504403158265495551 AND nbr<576460752303423488) AND NOT(nbr4>23116132462362623 AND nbr4<23133724648407040 AND nbr2>504403158265495551 AND nbr2<576460752303423488) AND NOT(nbr4>23116132462362623 AND nbr4<23133724648407040 AND nbr3>504403158265495551 AND nbr3<576460752303423488)))) AS PR ORDER BY PR.first_name, PR.last_name ASC;"); |
|
967 result = mCntSqlSearch->CompareTwoColumnsWithModifiedPattern(pattern, tokens); |
|
968 QVERIFY( !result.compare( reference) ); |
|
969 |
|
970 tokens.clear(); |
|
971 pattern = QString ("052200007"); |
|
972 tokens << "0522" << "7"; |
|
973 reference = QString("SELECT contact_id FROM (SELECT predictivesearch5.contact_id, predictivesearch5.first_name, predictivesearch5.last_name FROM predictivesearch5 WHERE ((NOT(NOT(nbr2>504403158265495551 AND nbr2<576460752303423488 AND nbr>369858119397801983 AND nbr<370139594374512640) AND NOT(nbr3>504403158265495551 AND nbr3<576460752303423488 AND nbr>369858119397801983 AND nbr<370139594374512640) AND NOT(nbr3>504403158265495551 AND nbr3<576460752303423488 AND nbr2>369858119397801983 AND nbr2<370139594374512640) AND NOT(nbr4>504403158265495551 AND nbr4<576460752303423488 AND nbr>369858119397801983 AND nbr<370139594374512640) AND NOT(nbr4>504403158265495551 AND nbr4<576460752303423488 AND nbr2>369858119397801983 AND nbr2<370139594374512640) AND NOT(nbr4>504403158265495551 AND nbr4<576460752303423488 AND nbr3>369858119397801983 AND nbr3<370139594374512640))) OR(NOT(NOT(nbr2>369858119397801983 AND nbr2<370139594374512640 AND nbr>504403158265495551 AND nbr<576460752303423488) AND NOT(nbr3>369858119397801983 AND nbr3<370139594374512640 AND nbr>504403158265495551 AND nbr<576460752303423488) AND NOT(nbr3>369858119397801983 AND nbr3<370139594374512640 AND nbr2>504403158265495551 AND nbr2<576460752303423488) AND NOT(nbr4>369858119397801983 AND nbr4<370139594374512640 AND nbr>504403158265495551 AND nbr<576460752303423488) AND NOT(nbr4>369858119397801983 AND nbr4<370139594374512640 AND nbr2>504403158265495551 AND nbr2<576460752303423488) AND NOT(nbr4>369858119397801983 AND nbr4<370139594374512640 AND nbr3>504403158265495551 AND nbr3<576460752303423488)))) UNION SELECT predictivesearch0.contact_id, predictivesearch0.first_name, predictivesearch0.last_name FROM predictivesearch0 WHERE ((NOT(NOT(predictivesearch0.nbr>23116132579803135 AND predictivesearch0.nbr<23116132596580352) AND NOT(predictivesearch0.nbr2>23116132579803135 AND predictivesearch0.nbr2<23116132596580352) AND NOT(predictivesearch0.nbr3>23116132579803135 AND predictivesearch0.nbr3<23116132596580352) AND NOT(predictivesearch0.nbr4>23116132579803135 AND predictivesearch0.nbr4<23116132596580352)))) OR(NOT(NOT(nbr2>504403158265495551 AND nbr2<576460752303423488 AND nbr>23116132462362623 AND nbr<23133724648407040) AND NOT(nbr3>504403158265495551 AND nbr3<576460752303423488 AND nbr>23116132462362623 AND nbr<23133724648407040) AND NOT(nbr3>504403158265495551 AND nbr3<576460752303423488 AND nbr2>23116132462362623 AND nbr2<23133724648407040) AND NOT(nbr4>504403158265495551 AND nbr4<576460752303423488 AND nbr>23116132462362623 AND nbr<23133724648407040) AND NOT(nbr4>504403158265495551 AND nbr4<576460752303423488 AND nbr2>23116132462362623 AND nbr2<23133724648407040) AND NOT(nbr4>504403158265495551 AND nbr4<576460752303423488 AND nbr3>23116132462362623 AND nbr3<23133724648407040))) OR(NOT(NOT(nbr2>23116132462362623 AND nbr2<23133724648407040 AND nbr>504403158265495551 AND nbr<576460752303423488) AND NOT(nbr3>23116132462362623 AND nbr3<23133724648407040 AND nbr>504403158265495551 AND nbr<576460752303423488) AND NOT(nbr3>23116132462362623 AND nbr3<23133724648407040 AND nbr2>504403158265495551 AND nbr2<576460752303423488) AND NOT(nbr4>23116132462362623 AND nbr4<23133724648407040 AND nbr>504403158265495551 AND nbr<576460752303423488) AND NOT(nbr4>23116132462362623 AND nbr4<23133724648407040 AND nbr2>504403158265495551 AND nbr2<576460752303423488) AND NOT(nbr4>23116132462362623 AND nbr4<23133724648407040 AND nbr3>504403158265495551 AND nbr3<576460752303423488)))) AS PR ORDER BY PR.first_name, PR.last_name ASC;"); |
|
974 result = mCntSqlSearch->CompareTwoColumnsWithModifiedPattern(pattern, tokens); |
|
975 QVERIFY( !result.compare( reference) ); |
|
976 |
|
977 tokens.clear(); |
|
978 pattern = QString ("0709"); |
|
979 tokens << "07" << "9"; |
|
980 reference = QString("SELECT contact_id FROM (SELECT predictivesearch7.contact_id, predictivesearch7.first_name, predictivesearch7.last_name FROM predictivesearch7 WHERE ((NOT(NOT(nbr2>648518346341351423 AND nbr2<720575940379279360 AND nbr>504403158265495551 AND nbr<576460752303423488) AND NOT(nbr3>648518346341351423 AND nbr3<720575940379279360 AND nbr>504403158265495551 AND nbr<576460752303423488) AND NOT(nbr3>648518346341351423 AND nbr3<720575940379279360 AND nbr2>504403158265495551 AND nbr2<576460752303423488) AND NOT(nbr4>648518346341351423 AND nbr4<720575940379279360 AND nbr>504403158265495551 AND nbr<576460752303423488) AND NOT(nbr4>648518346341351423 AND nbr4<720575940379279360 AND nbr2>504403158265495551 AND nbr2<576460752303423488) AND NOT(nbr4>648518346341351423 AND nbr4<720575940379279360 AND nbr3>504403158265495551 AND nbr3<576460752303423488))) OR(NOT(NOT(nbr2>504403158265495551 AND nbr2<576460752303423488 AND nbr>648518346341351423 AND nbr<720575940379279360) AND NOT(nbr3>504403158265495551 AND nbr3<576460752303423488 AND nbr>648518346341351423 AND nbr<720575940379279360) AND NOT(nbr3>504403158265495551 AND nbr3<576460752303423488 AND nbr2>648518346341351423 AND nbr2<720575940379279360) AND NOT(nbr4>504403158265495551 AND nbr4<576460752303423488 AND nbr>648518346341351423 AND nbr<720575940379279360) AND NOT(nbr4>504403158265495551 AND nbr4<576460752303423488 AND nbr2>648518346341351423 AND nbr2<720575940379279360) AND NOT(nbr4>504403158265495551 AND nbr4<576460752303423488 AND nbr3>648518346341351423 AND nbr3<720575940379279360)))) UNION SELECT predictivesearch0.contact_id, predictivesearch0.first_name, predictivesearch0.last_name FROM predictivesearch0 WHERE ((NOT(NOT(predictivesearch0.nbr>31683527065993215 AND predictivesearch0.nbr<31701119252037632) AND NOT(predictivesearch0.nbr2>31683527065993215 AND predictivesearch0.nbr2<31701119252037632) AND NOT(predictivesearch0.nbr3>31683527065993215 AND predictivesearch0.nbr3<31701119252037632) AND NOT(predictivesearch0.nbr4>31683527065993215 AND predictivesearch0.nbr4<31701119252037632)))) OR(NOT(NOT(nbr2>648518346341351423 AND nbr2<720575940379279360 AND nbr>31525197391593471 AND nbr<36028797018963968) AND NOT(nbr3>648518346341351423 AND nbr3<720575940379279360 AND nbr>31525197391593471 AND nbr<36028797018963968) AND NOT(nbr3>648518346341351423 AND nbr3<720575940379279360 AND nbr2>31525197391593471 AND nbr2<36028797018963968) AND NOT(nbr4>648518346341351423 AND nbr4<720575940379279360 AND nbr>31525197391593471 AND nbr<36028797018963968) AND NOT(nbr4>648518346341351423 AND nbr4<720575940379279360 AND nbr2>31525197391593471 AND nbr2<36028797018963968) AND NOT(nbr4>648518346341351423 AND nbr4<720575940379279360 AND nbr3>31525197391593471 AND nbr3<36028797018963968))) OR(NOT(NOT(nbr2>31525197391593471 AND nbr2<36028797018963968 AND nbr>648518346341351423 AND nbr<720575940379279360) AND NOT(nbr3>31525197391593471 AND nbr3<36028797018963968 AND nbr>648518346341351423 AND nbr<720575940379279360) AND NOT(nbr3>31525197391593471 AND nbr3<36028797018963968 AND nbr2>648518346341351423 AND nbr2<720575940379279360) AND NOT(nbr4>31525197391593471 AND nbr4<36028797018963968 AND nbr>648518346341351423 AND nbr<720575940379279360) AND NOT(nbr4>31525197391593471 AND nbr4<36028797018963968 AND nbr2>648518346341351423 AND nbr2<720575940379279360) AND NOT(nbr4>31525197391593471 AND nbr4<36028797018963968 AND nbr3>648518346341351423 AND nbr3<720575940379279360)))) AS PR ORDER BY PR.first_name, PR.last_name ASC;"); |
|
981 result = mCntSqlSearch->CompareTwoColumnsWithModifiedPattern(pattern, tokens); |
|
982 QVERIFY( !result.compare( reference) ); |
|
983 |
|
984 tokens.clear(); |
|
985 pattern = QString ("00052200007"); |
|
986 tokens << "000522" << "7"; |
|
987 reference = QString("SELECT contact_id FROM (SELECT predictivesearch5.contact_id, predictivesearch5.first_name, predictivesearch5.last_name FROM predictivesearch5 WHERE ((NOT(NOT(nbr2>504403158265495551 AND nbr2<576460752303423488 AND nbr>369858119397801983 AND nbr<370139594374512640) AND NOT(nbr3>504403158265495551 AND nbr3<576460752303423488 AND nbr>369858119397801983 AND nbr<370139594374512640) AND NOT(nbr3>504403158265495551 AND nbr3<576460752303423488 AND nbr2>369858119397801983 AND nbr2<370139594374512640) AND NOT(nbr4>504403158265495551 AND nbr4<576460752303423488 AND nbr>369858119397801983 AND nbr<370139594374512640) AND NOT(nbr4>504403158265495551 AND nbr4<576460752303423488 AND nbr2>369858119397801983 AND nbr2<370139594374512640) AND NOT(nbr4>504403158265495551 AND nbr4<576460752303423488 AND nbr3>369858119397801983 AND nbr3<370139594374512640))) OR(NOT(NOT(nbr2>369858119397801983 AND nbr2<370139594374512640 AND nbr>504403158265495551 AND nbr<576460752303423488) AND NOT(nbr3>369858119397801983 AND nbr3<370139594374512640 AND nbr>504403158265495551 AND nbr<576460752303423488) AND NOT(nbr3>369858119397801983 AND nbr3<370139594374512640 AND nbr2>504403158265495551 AND nbr2<576460752303423488) AND NOT(nbr4>369858119397801983 AND nbr4<370139594374512640 AND nbr>504403158265495551 AND nbr<576460752303423488) AND NOT(nbr4>369858119397801983 AND nbr4<370139594374512640 AND nbr2>504403158265495551 AND nbr2<576460752303423488) AND NOT(nbr4>369858119397801983 AND nbr4<370139594374512640 AND nbr3>504403158265495551 AND nbr3<576460752303423488)))) UNION SELECT predictivesearch0.contact_id, predictivesearch0.first_name, predictivesearch0.last_name FROM predictivesearch0 WHERE ((NOT(NOT(predictivesearch0.nbr>90297392889855 AND predictivesearch0.nbr<90297392955392) AND NOT(predictivesearch0.nbr2>90297392889855 AND predictivesearch0.nbr2<90297392955392) AND NOT(predictivesearch0.nbr3>90297392889855 AND predictivesearch0.nbr3<90297392955392) AND NOT(predictivesearch0.nbr4>90297392889855 AND predictivesearch0.nbr4<90297392955392)))) OR(NOT(NOT(nbr2>504403158265495551 AND nbr2<576460752303423488 AND nbr>90297392431103 AND nbr<90366111907840) AND NOT(nbr3>504403158265495551 AND nbr3<576460752303423488 AND nbr>90297392431103 AND nbr<90366111907840) AND NOT(nbr3>504403158265495551 AND nbr3<576460752303423488 AND nbr2>90297392431103 AND nbr2<90366111907840) AND NOT(nbr4>504403158265495551 AND nbr4<576460752303423488 AND nbr>90297392431103 AND nbr<90366111907840) AND NOT(nbr4>504403158265495551 AND nbr4<576460752303423488 AND nbr2>90297392431103 AND nbr2<90366111907840) AND NOT(nbr4>504403158265495551 AND nbr4<576460752303423488 AND nbr3>90297392431103 AND nbr3<90366111907840))) OR(NOT(NOT(nbr2>90297392431103 AND nbr2<90366111907840 AND nbr>504403158265495551 AND nbr<576460752303423488) AND NOT(nbr3>90297392431103 AND nbr3<90366111907840 AND nbr>504403158265495551 AND nbr<576460752303423488) AND NOT(nbr3>90297392431103 AND nbr3<90366111907840 AND nbr2>504403158265495551 AND nbr2<576460752303423488) AND NOT(nbr4>90297392431103 AND nbr4<90366111907840 AND nbr>504403158265495551 AND nbr<576460752303423488) AND NOT(nbr4>90297392431103 AND nbr4<90366111907840 AND nbr2>504403158265495551 AND nbr2<576460752303423488) AND NOT(nbr4>90297392431103 AND nbr4<90366111907840 AND nbr3>504403158265495551 AND nbr3<576460752303423488)))) AS PR ORDER BY PR.first_name, PR.last_name ASC;"); |
|
988 result = mCntSqlSearch->CompareTwoColumnsWithModifiedPattern(pattern, tokens); |
|
989 QVERIFY( !result.compare( reference) ); |
|
990 |
924 TEST_PASSED_LOG("testCompareTwoColumnsWithModifiedPattern"); |
991 TEST_PASSED_LOG("testCompareTwoColumnsWithModifiedPattern"); |
925 } |
992 } |
926 void UT_CntSqlSearch::testModifiedMatchColumns() |
993 void UT_CntSqlSearch::testModifiedMatchColumns() |
927 { |
994 { |
928 TEST_BEGIN_LOG("testModifiedMatchColumns"); |
995 TEST_BEGIN_LOG("testModifiedMatchColumns"); |