message: Add value hash implementation for list/struct values
diff: @@ -33,8 +33,22 @@ hash_t ValueOperations::Hash(const Value &op) {
  return duckdb::Hash(op.value_.interval);
  case PhysicalType::VARCHAR:
  return duckdb::Hash(op.str_value.c_str());
  + case PhysicalType::LIST: {
  + hash_t hash = 0;
  + for(auto &entry : op.list_value) {
  + hash ^= ValueOperations::Hash(entry);
  + }
  + return hash;
  + }
  + case PhysicalType::STRUCT: {
  + hash_t hash = 0;
  + for(auto &entry : op.struct_value) {
  + hash ^= ValueOperations::Hash(entry.second);
  + }
  + return hash;
  + }
  default:
  - throw NotImplementedException("Unimplemented type for value hash");
  + throw InternalException("Unimplemented type for value hash");
  }
  }
  