If you try to evaluate a haystack filter containing a string, you can observe different behaviours depending on which haystack client service you use to evaluate the filter.
Example:
const client = useClient()
const filter = 'dis == "Site"'
// This fails
client.ext
.read(filter)
.then((grid) => console.log('ext', grid.getRows()[0].toString()))
.catch((e) => console.error('ext threw an error', e))
// This succeeds
client.ops
.read(filter)
.then((grid) => console.log('ops', grid.getRows()[0].toString()))
.catch((e) => console.error('ops threw an error', e))
// The filter is valid
try {
HFilter.parse(filter)
console.log(filter, 'valid')
} catch (e) {
console.log(filter, 'invalid')
}
The ExtOpsService fails because it is sending an invalid request:
The expected behaviour should probably be getting the same result no matter which of the two services (ExtOpsService or OpsService) you use to perform the read.
Problem
If you try to evaluate a haystack filter containing a string, you can observe different behaviours depending on which haystack client service you use to evaluate the filter.
Example:
The
ExtOpsService
fails because it is sending an invalid request:Expected behaviour
The expected behaviour should probably be getting the same result no matter which of the two services (
ExtOpsService
orOpsService
) you use to perform the read.