**Use case**

Workload generation with continuous queries.

**Describe the solution you'd like**

Similar to now() but non-constant.

#include <Functions/IFunction.h>
#include <Functions/FunctionFactory.h>
#include <DataTypes/DataTypesNumber.h>
#include <Columns/ColumnsNumber.h>
#include <atomic>
namespace DB
{
namespace
{
class FunctionBlockNumber : public IFunction
{
private:
    mutable std::atomic<size_t> columns_number{0};
public:
    static constexpr auto name = "blockNumber";
    static FunctionPtr create(ContextPtr)
    {
        return std::make_shared<FunctionBlockNumber>();
    }
    
    String getName() const override
    {
        return name;
    }
    bool isStateful() const override
    {
        return true;
    }
    bool isSuitableForShortCircuitArgumentsExecution(const DataTypesWithConstInfo & ) const override