I'm trying to create a new user on a clickhouse cluster with  3 shards using this command:
`CREATE USER IF NOT EXISTS user ON CLUSTER '{cluster}' IDENTIFIED WITH sha256_password BY 'password' DEFAULT ROLE NONE`

This command gets expanded to:

`CREATE USER IF NOT EXISTS user ON CLUSTER {cluster} IDENTIFIED WITH sha256_hash BY '<hash>' SALT '<salt>' DEFAULT ROLE NONE`

However, on each of the shard I get this error:

`Syntax error: failed at position 123 ('SALT'): SALT '<salt>' DEFAULT ROLE NONE. Expected one of: HOST, SETTINGS, DEFAULT ROLE, GRANTEES, DEFAULT DATABASE, end of query.`

However, if I switch to use `plaintext_password` instead, everything works fine. Looks like the expansion and the addition of the "SALT" was not expected when handling this command.

* Which ClickHouse server version to use: 22.4

**Expected behavior**
The user to be created with no errors.

Thanks!
}
                    String salt;
                    salt.resize(sizeof(key) * 2);
                    char * buf_pos = salt.data();
                    for (uint8_t k : key)
                    {
                        writeHexByteUppercase(k, buf_pos);
                        buf_pos += 2;
                    }
                    value.append(salt);
                    auth_data.setSalt(salt);
#else
                    
#endif
                }
            }
            if (expect_password)
                auth_data.setPassword(value);
            else if (expect_hash)
                auth_data.setPasswordHashHex(value);
            else if (expect_ldap_server_name)
                auth_data.setLDAPServerName(value);
            else if (expect_kerberos_realm)
                auth_data.setKerberosRealm(value);
            else if (expect_common_names)
                auth_data.setSSLCertificateCommonNames(std::move(common_names));
            return true;
        });
    }
    bool parseHostsWithoutPrefix(IParserBase::Pos & pos, Expected & expected, AllowedClientHosts & hosts)