@Override
 public int hash(
     StoreAdapter adapter,
     TEvaluatableExpression evaluation,
     Row row,
     AkCollator collator) {
   evaluation.with(row);
   evaluation.evaluate();
   return ValueSources.hash(evaluation.resultValue(), collator);
 }
 public ValueSource valuefromObject(Object value, ServerType type) {
   if (value instanceof Date) {
     TInstance dateType = javaDateTInstance(value);
     Value dateValue = new Value(dateType);
     typesTranslator.setTimestampMillisValue(
         dateValue,
         ((Date) value).getTime(),
         (value instanceof java.sql.Timestamp) ? ((java.sql.Timestamp) value).getNanos() : 0);
     TInstance targetType = type.getType();
     if (dateType.equals(targetType)) return dateValue;
     TExecutionContext context =
         new TExecutionContext(Collections.singletonList(dateType), targetType, null);
     Value result = new Value(targetType);
     targetType.typeClass().fromObject(context, dateValue, result);
     return result;
   } else {
     // TODO this is inefficient, but I want to get it working.
     return ValueSources.valuefromObject(value, type.getType());
   }
 }