**Describe the bug**
Found by SQLancer

```
2021.01.20 16:48:44.975665 [ 242 ] {fe9c2520-8d1b-437f-ab3a-b7a5de874ec4} <Fatal> : Logical error: 'Constraint `x0` does not return a value of type UInt8'.
2021.01.20 16:48:44.976718 [ 583 ] {} <Fatal> BaseDaemon: ########################################
2021.01.20 16:48:44.976862 [ 583 ] {} <Fatal> BaseDaemon: (version 21.1.1.5741 (official build), build id: C087AE3D41BED7F7CA23B44B06C4DFBA82F395AD) (from thread 242) (query_id: fe9c2520-8d1b-437f-ab3a-b7a5de874ec4) Received signal Aborted (6)
2021.01.20 16:48:44.976968 [ 583 ] {} <Fatal> BaseDaemon:
2021.01.20 16:48:44.977120 [ 583 ] {} <Fatal> BaseDaemon: Stack trace: 0x7fce18f7518b 0x7fce18f54859 0x107e4746 0x107e47f1 0x10977dcf 0x19cc24bc 0x19cc3cc1 0x19cb69ee 0x19cb6aec 0x19860887 0x1954b9c7 0x1954b727 0x19cb64f1 0x1951aafd 0x1954bf1c 0x1954ba4d 0x1a1cc305 0x1aa71165 0x1aa72bc6 0x1e2f220c 0x1e32aaec 0x1e32b2f0 0x1e46a353 0x1e4671dd 0x1e466068 0x7fce1912a609 0x7fce19051293
2021.01.20 16:48:44.977329 [ 583 ] {} <Fatal> BaseDaemon: 4. raise @ 0x4618b in /usr/lib/x86_64-linux-gnu/libc-2.31.so
2021.01.20 16:48:44.977452 [ 583 ] {} <Fatal> BaseDaemon: 5. abort @ 0x25859 in /usr/lib/x86_64-linux-gnu/libc-2.31.so
2021.01.20 16:48:44.977769 [ 583 ] {} <Fatal> BaseDaemon: 6. ./obj-x86_64-linux-gnu/../src/Common/Exception.cpp:50: DB::handle_error_code(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int) @ 0x107e4746 in /usr/bin/clickhouse
2021.01.20 16:48:44.977996 [ 583 ] {} <Fatal> BaseDaemon: 7. ./obj-x86_64-linux-gnu/../src/Common/Exception.cpp:56: DB::Exception::Exception(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int) @ 0x107e47f1 in /usr/bin/clickhouse
2021.01.20 16:48:44.979260 [ 583 ] {} <Fatal> BaseDaemon: 8. ./obj-x86_64-linux-gnu/../src/Common/Exception.h:38: DB::Exception::Exception<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&&) @ 0x10977dcf in /usr/bin/clickhouse
2021.01.20 16:48:45.024985 [ 583 ] {} <Fatal> BaseDaemon: 9. ./obj-x86_64-linux-gnu/../src/DataStreams/CheckConstraintsBlockOutputStream.cpp:52: DB::CheckConstraintsBlockOutputStream::write(DB::Block const&) @ 0x19cc24bc in /usr/bin/clickhouse
2021.01.20 16:48:45.071994 [ 583 ] {} <Fatal> BaseDaemon: 10. ./obj-x86_64-linux-gnu/../src/DataStreams/AddingDefaultBlockOutputStream.cpp:10: DB::AddingDefaultBlockOutputStream::write(DB::Block const&) @ 0x19cc3cc1 in /usr/bin/clickhouse
```

**How to reproduce**
``` sql
CREATE TABLE IF NOT EXISTS repro
(
    `c0` Int32,
    `c1` Int32,
    `c2` Int32,
    `c3` Int32,
    CONSTRAINT x0 CHECK -505658794,
    CONSTRAINT x1 CHECK '䉖G*jC' < 'vjw',
    CONSTRAINT x2 CHECK isNull(isNull('-505658794') OR -505658794),
    CONSTRAINT x3 CHECK -1097735996
)
ENGINE = Memory()

qoega-qyp.sas.yp-c.yandex.net :) INSERT INTO repro(c2, c0, c3, c1) VALUES (1,1,1,1) ;

INSERT INTO repro (c2, c0, c3, c1) VALUES


Received exception from server (version 21.1.1):
Code: 49. DB::Exception: Received from localhost:9000. DB::Exception: Constraint `x0` does not return a value of type UInt8.

1 rows in set. Elapsed: 0.028 sec.
```


{
    if (block.rows() > 0)
    {
        Block block_to_calculate = block;
        for (size_t i = 0; i < expressions.size(); ++i)
        {
            auto constraint_expr = expressions[i];
            constraint_expr->execute(block_to_calculate);
            auto * constraint_ptr = constraints.constraints[i]->as<ASTConstraintDeclaration>();
            ColumnWithTypeAndName res_column = block_to_calculate.getByName(constraint_ptr->expr->getColumnName());
            if (!isUInt8(res_column.type))
                throw Exception(ErrorCodes::LOGICAL_ERROR, "Constraint {} does not return a value of type UInt8",
                    backQuote(constraint_ptr->name));
            if (const ColumnConst * res_const = typeid_cast<const ColumnConst *>(res_column.column.get()))
            {
                UInt8 value = res_const->getValue<UInt64>();
                
                if (!value)