diff --git a/lattice/src/App/QueryBuilder/stringifyRowData.test.ts b/lattice/src/App/QueryBuilder/stringifyRowData.test.ts index 1be3f3539..4ace4d7a9 100644 --- a/lattice/src/App/QueryBuilder/stringifyRowData.test.ts +++ b/lattice/src/App/QueryBuilder/stringifyRowData.test.ts @@ -103,7 +103,18 @@ describe('set types', () => { }])).toEqual({ error: false, query: 'Not(Union(Row(fieldName="one"), Row(fieldName="two")))' }) }); - it('stringifies like operator', () => { + it('stringifies like operator with a wildcard', () => { + expect(stringifyRowData([{ + row: [{ + "field": "fieldName", + "rowOperator": "like", + "value": "value%", + "type": "set" + }] + }])).toEqual({ error: false, query: 'UnionRows(Rows(field=fieldName, like="value%"))' }) + }); + + it('stringifies like operator without a wildcard', () => { expect(stringifyRowData([{ row: [{ "field": "fieldName", diff --git a/lattice/src/App/QueryBuilder/stringifyRowData.ts b/lattice/src/App/QueryBuilder/stringifyRowData.ts index d0adf3331..c03ea9da4 100644 --- a/lattice/src/App/QueryBuilder/stringifyRowData.ts +++ b/lattice/src/App/QueryBuilder/stringifyRowData.ts @@ -30,7 +30,11 @@ export const stringifyRowData = (rowData: RowGrouping[], operator?: Operator) => return { error: true, query: error.message }; } } else if (rowOperator === 'like') { - rowString = `UnionRows(Rows(field=${field}, like="%${value}%"))`; + if (value.includes('%')) { + rowString = `UnionRows(Rows(field=${field}, like="${value}"))`; + } else { + rowString = `UnionRows(Rows(field=${field}, like="%${value}%"))`; + } } else { rowString = ['set', 'timestamp'].includes(type) ? `Row(${field}${operator}"${value}")`