You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
move all the logic for analysing the where clause into the WhereCQLClauseAnalyzer class, out of the individual filters.
change the class so it's ctor takes the TableSchemaObject, and analyze() accepts the DBLogicalExpression to analyse
refactor the rules into individual functions for the rules below, and make the tests only check if allow filtering should be turned on, no need to check if it should be turned off. They must explicitly specify the situations where allow filtering is turned on, i.e. if there is a type check if must be that the type is in a set of types, not that it is not in a set. Every rule function must have a doc comment explaining the rule.
only use V2 errors from ApiException
write unit tests to test the WhereCQLClauseAnalyzer, rather than integration tests.
generate warning messages from the ApiException model , add a scope called WARNING in the REQUEST family
Use the way the WriteableTableRowBuilder works as a model for the WhereCQLClauseAnalyzer
(this excludes the validity check for range queries on duration)
The rules, for columns not in the PK:
whereTargetHasIndex - any valid OP is eq, and there is no SAI, turn on allow filtering.
notEqTypesNeedFiltering - if op is NE, and type is in the list of types that need allow filtering for not equals , turn on allow filtering
The text was updated successfully, but these errors were encountered:
from #1448
Use the way the WriteableTableRowBuilder works as a model for the WhereCQLClauseAnalyzer
(this excludes the validity check for range queries on duration)
The rules, for columns not in the PK:
The text was updated successfully, but these errors were encountered: