**Describe what's wrong**

> Using the function 'array' in the function 'multiIf' will get an Exception, but it can be executed normally using [] to replace the function 'array'.

**How to reproduce**

* Which ClickHouse server version to use
```
Based on the latest version: 
VERSION_DESCRIBE: v21.12.1.1-prestable
commit: 514120adfefd8836b8e0c9c6f89e878d5faf883e
```
* `CREATE TABLE` statements for all tables involved
```
# Create distributed tables and local tables on a cluster with two shards (test_2_0). 
CREATE TABLE default.test_array (`x` Nullable(String)) ENGINE = MergeTree ORDER BY tuple() SETTINGS index_granularity = 8192;
CREATE TABLE default.test_array_all (`x` Nullable(String)) ENGINE = Distributed(test_2_0, default, test_array);
```
* Sample data for all these tables, use [clickhouse-obfuscator](https://github.com/ClickHouse/ClickHouse/blob/master/programs/obfuscator/Obfuscator.cpp#L42-L80) if necessary
```
# Insert data into two local tables.
INSERT INTO default.test_array values (null, ''); 
```
* Queries to run that lead to unexpected result
```sql
# Exception SQL:
SELECT multiIf(x='a', array('a'), array()) FROM test_array_all
# Normally SQL
SELECT multiIf(x = 'a', ['a'], []) FROM test_array_all
```

**Expected behavior**

> Non Exception.

**Error message and/or stacktrace**

```
Received exception from server (version 21.12.1):
Code: 10. DB::Exception: Received from localhost:9020. DB::Exception: Not found column multiIf(equals(x, 'a'), array('a'), array()) inblock. There are only columns: multiIf(equals(x, 'a'), ['a'], array()): While executing Remote. Stack trace:

0. ./build/../contrib/libcxx/include/exception:133: Poco::Exception::Exception(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int) @ 0x143bb14c in /data01/yuanquan/community_clickhouse/build/programs/clickhouse
1. ./build/../src/Common/Exception.cpp:57: DB::Exception::Exception(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int, bool) @ 0x9e972fa in /data01/yuanquan/community_clickhouse/build/programs/clickhouse
2. ./build/../src/Core/Block.cpp:0: DB::Block::getByName(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) const @ 0x10e681d7 in /data01/yuanquan/community_clickhouse/build/programs/clickhouse
3. ./build/../src/QueryPipeline/RemoteQueryExecutor.cpp:181: DB::RemoteQueryExecutor::processPacket(DB::Packet) @ 0x1102d49c in /data01/yuanquan/community_clickhouse/build/programs/clickhouse
4. ./build/../contrib/libcxx/include/vector:463: DB::RemoteQueryExecutor::read(std::__1::unique_ptr<DB::RemoteQueryExecutorReadContext, std::__1::default_delete<DB::RemoteQueryExecutorReadContext> >&) @ 0x1102e588 in /data01/yuanquan/community_clickhouse/build/programs/clickhouse
5. ./build/../contrib/libcxx/include/variant:700: DB::RemoteSource::tryGenerate() @ 0x123271df in /data01/yuanquan/community_clickhouse/build/programs/clickhouse
6. ./build/../contrib/libcxx/include/optional:295: DB::ISource::work() @ 0x121768ba in /data01/yuanquan/community_clickhouse/build/programs/clickhouse
7. ./build/../src/Processors/Sources/SourceWithProgress.cpp:67: DB::SourceWithProgress::work() @ 0x1232a316 in /data01/yuanquan/community_clickhouse/build/programs/clickhouse
8. ./build/../src/Processors/Executors/ExecutionThreadContext.cpp:65: DB::ExecutionThreadContext::executeTask() @ 0x1218cd63 in /data01/yuanquan/community_clickhouse/build/programs/clickhouse
9. ./build/../src/Processors/Executors/PipelineExecutor.cpp:213: DB::PipelineExecutor::executeStepImpl(unsigned long, std::__1::atomic<bool>*) @ 0x121888e0 in /data01/yuanquan/community_clickhouse/build/programs/clickhouse
10. ./build/../contrib/libcxx/include/memory:2851: void std::__1::__function::__policy_invoker<void ()>::__call_impl<std::__1::__function::__default_alloc_func<ThreadFromGlobalPool::ThreadFromGlobalPool<DB::PipelineExecutor::executeImpl(unsigned long)::$_1>(DB::PipelineExecutor::executeImpl(unsigned long)::$_1&&)::'lambda'(), void ()> >(std::__1::__function::__policy_storage const*) @ 0x121899e8 in /data01/yuanquan/community_clickhouse/build/programs/clickhouse
11. ./build/../contrib/libcxx/include/functional:2210: ThreadPoolImpl<std::__1::thread>::worker(std::__1::__list_iterator<std::__1::thread, void*>) @ 0x9ecb530 in /data01/yuanquan/community_clickhouse/build/programs/clickhouse
12. ./build/../contrib/libcxx/include/memory:1655: void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void ThreadPoolImpl<std::__1::thread>::scheduleImpl<void>(std::__1::function<void ()>, int, std::__1::optional<unsigned long>)::'lambda0'()> >(void*) @ 0x9ecd933 in /data01/yuanquan/community_clickhouse/build/programs/clickhouse
13. start_thread @ 0x74a4 in /lib/x86_64-linux-gnu/libpthread-2.24.so
14. __clone @ 0xe8d0f in /lib/x86_64-linux-gnu/libc-2.24.so
. (NOT_FOUND_COLUMN_IN_BLOCK)
```
{
            if (i != 0)
                settings.ostr << ", ";
            bool special_hilite = false;
            if (i == 1 && special_hilite_regexp)
                special_hilite = highlightStringLiteralWithMetacharacters(arguments->children[i], settings, "|()^$.[]?*+{:-");
            if (!special_hilite)
                arguments->children[i]->formatImpl(settings, state, nested_dont_need_parens);
        }
    }
    if ((arguments && !arguments->children.empty()) || !no_empty_args)
        settings.ostr << (settings.hilite ? hilite_function : "") << ')';
    settings.ostr << (settings.hilite ? hilite_none : "");
    if (!is_window_function)
    {
        return;
    }
    settings.ostr << " OVER ";
    if (!window_name.empty())
    {
        settings.ostr << backQuoteIfNeed(window_name);
    }
    else
    {
        settings.ostr << "(";
        window_definition->formatImpl(settings, state, frame);
        settings.ostr << ")";
    }
}
String getFunctionName(const IAST * ast)