**Example**

Query:

```` sql
SELECT formatDateTime(toDate('2010-01-04'), '%Q')
````

Result:

```` sql
┌─formatDateTime(toDate('2010-01-04'), '%Q')─┐
│ 1                                          │
└────────────────────────────────────────────┘
````


{
        String result;
        const char * pos = pattern.data();
        const char * end = pos + pattern.size();
        
        auto add_shift = [&](size_t amount)
        {
            if (instructions.empty())
                instructions.emplace_back(&Action<T>::noop);
            instructions.back().shift += amount;
        };
        
        auto add_instruction_or_shift = [&](typename Action<T>::Func func [[maybe_unused]], size_t shift)