didn't debug far enough but that's what i suspected. this is because the following usage works just fine:
Code:
SELECT DISTINCT root.deviceId
FROM ConfigurationModel AS root
JOIN root.managedElement AS managedElement_74
JOIN managedElement_74.chassis AS chassis_75
JOIN chassis_75.memory AS memory_76
WHERE (root.latest = 1 AND root.objectState = '0') AND ((memory_76.size >= 256000))
since chassis->memory is many-to-one wheras in the previous example above chassis->fileStorageLocations is one-to-many ... and hence the failure
i think the parser could differentiate between 'size' - an attribute and 'size()' - a function