generateRandom() does not support generating random Date32 value:

```
SELECT *
FROM generateRandom('Date32 Date32', NULL, 10, 2)
LIMIT 10

Received exception from server (version 21.11.5):
Code: 48. DB::Exception: Received from localhost:9000. DB::Exception: The 'GenerateRandom' is not implemented for type Date32: While executing GenerateRandom. (NOT_IMPLEMENTED)
```

{
    factory.registerStorage("GenerateRandom", [](const StorageFactory::Arguments & args)
    {
        ASTs & engine_args = args.engine_args;
        if (engine_args.size() > 3)
            throw Exception("Storage GenerateRandom requires at most three arguments: "
                "random_seed, max_string_length, max_array_length.",
                ErrorCodes::NUMBER_OF_ARGUMENTS_DOESNT_MATCH);
        std::optional<UInt64> random_seed;
        UInt64 max_string_length = 10;
        UInt64 max_array_length = 10;
        if (!engine_args.empty())
        {
            const Field & value = engine_args[0]->as<const ASTLiteral &>().value;
            if (!value.isNull())
                random_seed = value.safeGet<UInt64>();
        }
        if (engine_args.size() >= 2)
            max_string_length = engine_args[1]->as<const ASTLiteral &>().value.safeGet<UInt64>();
        if (engine_args.size() == 3)
            max_array_length = engine_args[2]->as<const ASTLiteral &>().value.safeGet<UInt64>();
        return StorageGenerateRandom::create(args.table_id, args.columns, args.comment, max_array_length, max_string_length, random_seed);
    });
}
Pipe StorageGenerateRandom::read(