track used search terms to reduce slow downs
parent
816ea77749
commit
9fa374d8c5
|
|
@ -15,13 +15,14 @@ export function getLotNameWhereClause(lotName = '', lotNameSearchType, lotsTable
|
|||
break;
|
||||
}
|
||||
default: {
|
||||
const usedPieces = new Set();
|
||||
const lotNamePieces = lotName.toLowerCase().split(' ');
|
||||
for (const lotNamePiece of lotNamePieces) {
|
||||
if (lotNamePiece === '') {
|
||||
if (lotNamePiece === '' || usedPieces.has(lotNamePiece)) {
|
||||
continue;
|
||||
}
|
||||
sqlWhereClause +=
|
||||
' and instr(lower(' + lotsTableAlias + '.lotName), ?)';
|
||||
usedPieces.add(lotNamePiece);
|
||||
sqlWhereClause += ` and instr(lower(${lotsTableAlias}.lotName), ?)`;
|
||||
sqlParameters.push(lotNamePiece);
|
||||
}
|
||||
}
|
||||
|
|
@ -70,16 +71,16 @@ export function getOccupancyTimeWhereClause(occupancyTime, lotOccupanciesTableAl
|
|||
export function getOccupantNameWhereClause(occupantName = '', tableAlias = 'o') {
|
||||
let sqlWhereClause = '';
|
||||
const sqlParameters = [];
|
||||
if (occupantName !== '') {
|
||||
const usedPieces = new Set();
|
||||
const occupantNamePieces = occupantName.toLowerCase().split(' ');
|
||||
for (const occupantNamePiece of occupantNamePieces) {
|
||||
if (occupantNamePiece === '') {
|
||||
if (occupantNamePiece === '' || usedPieces.has(occupantNamePiece)) {
|
||||
continue;
|
||||
}
|
||||
usedPieces.add(occupantNamePiece);
|
||||
sqlWhereClause += ` and (instr(lower(${tableAlias}.occupantName), ?) or instr(lower(${tableAlias}.occupantFamilyName), ?))`;
|
||||
sqlParameters.push(occupantNamePiece, occupantNamePiece);
|
||||
}
|
||||
}
|
||||
return {
|
||||
sqlWhereClause,
|
||||
sqlParameters
|
||||
|
|
|
|||
|
|
@ -28,14 +28,18 @@ export function getLotNameWhereClause(
|
|||
break
|
||||
}
|
||||
default: {
|
||||
const usedPieces = new Set<string>()
|
||||
|
||||
const lotNamePieces = lotName.toLowerCase().split(' ')
|
||||
|
||||
for (const lotNamePiece of lotNamePieces) {
|
||||
if (lotNamePiece === '') {
|
||||
if (lotNamePiece === '' || usedPieces.has(lotNamePiece)) {
|
||||
continue
|
||||
}
|
||||
|
||||
sqlWhereClause +=
|
||||
' and instr(lower(' + lotsTableAlias + '.lotName), ?)'
|
||||
usedPieces.add(lotNamePiece)
|
||||
|
||||
sqlWhereClause += ` and instr(lower(${lotsTableAlias}.lotName), ?)`
|
||||
sqlParameters.push(lotNamePiece)
|
||||
}
|
||||
}
|
||||
|
|
@ -101,17 +105,19 @@ export function getOccupantNameWhereClause(
|
|||
let sqlWhereClause = ''
|
||||
const sqlParameters: unknown[] = []
|
||||
|
||||
if (occupantName !== '') {
|
||||
const usedPieces = new Set<string>()
|
||||
|
||||
const occupantNamePieces = occupantName.toLowerCase().split(' ')
|
||||
for (const occupantNamePiece of occupantNamePieces) {
|
||||
if (occupantNamePiece === '') {
|
||||
if (occupantNamePiece === '' || usedPieces.has(occupantNamePiece)) {
|
||||
continue
|
||||
}
|
||||
|
||||
usedPieces.add(occupantNamePiece)
|
||||
|
||||
sqlWhereClause += ` and (instr(lower(${tableAlias}.occupantName), ?) or instr(lower(${tableAlias}.occupantFamilyName), ?))`
|
||||
sqlParameters.push(occupantNamePiece, occupantNamePiece)
|
||||
}
|
||||
}
|
||||
|
||||
return {
|
||||
sqlWhereClause,
|
||||
|
|
|
|||
Loading…
Reference in New Issue