Hi,
I wonder if this is possible in the current 3.1M release (or will be
possible in the 3.2 final).... I need to concatenate field constraints with
'or' logic, so smth like:
Record (fieldAsString matches "[xyz]" or fieldAsInt > 1, $myOtherField :
myOtherField)
The above is just to illustrate an idea (ie, the case above can easily be
written as 'or' concatenation of column constraints). My 'record' object
is
far more complex. Moreover, the column concatenation logic can contain over
4 different columns. Also, I need to use field binding on the matched
columns, eg:
Record (fieldAsString matches "[xyz]" or fieldAsInt > 1, $myOtherField :
myOtherField)
Record ($field : field, fieldAsString matches "[xyz]" or fieldAsInt > 1,
myOtherField == $myOtherField)
Record (field == $field)
Basically the idea is that I need to define both 'string' and 'number'
constraints on a field. Eg, if 'field' value can be a number "1234567",
then
constrains I want to have might be:
- field (as string) matches "123[0-9]{3}7"
- field (as int) > 1230000
To do this I have different getters in my fact object linked to the same
field:
Class Record {
String field;
Public String getFieldAsString() {
Return field;
}
Public int getFieldAsInt() {
Return Integer.parseInt(field);
}
Public String getField() {
Return field;
}
}
I believe such thing is not possible to do with current implementation. If
not, is it planned for? If not, should it be planned for? It seems like a
very valid use case, since there is a set of applications where business
analysts want to define constraints as a combination of field as a string
pattern AND field as a number (in my particular example - constrains on
account numbers. The pattern is used to define 'account types', while
numeric range is used to define particular organizations with the account
type)
Thanks,
Vlad
Show replies by date