**Describe what's wrong**

SQLite's `int8` column (8 bytes) gets read as `int32` column in ClickHouse. Large integers overflow as a result.


**Does it reproduce on recent release?**

```
clickhouse server --version
ClickHouse server version 22.9.1.404 (official build).
```

**How to reproduce**

To reproduce:
```sh
# create a table with sqlite
sqlite3 test.sqlite
sqlite> CREATE TABLE test (int8col int8);
sqlite> INSERT INTO test VALUES (2147483648);
sqlite> SELECT * FROM test;
2147483648

# query test.sqlite from ClickHouse
SELECT * FROM sqlite('test.sqlite', 'test');
> int8col
> -2147483648
```

**Expected behavior**

The column should be inferred as int64 column and read the original value without overflow.


**Additional context**

The issue seems to be stemming from this line where any column starting with `int` is converted to `int32`.
https://github.com/ClickHouse/ClickHouse/blob/master/src/Databases/SQLite/fetchSQLiteTableStructure.cpp#L38


{
                name_and_type.type = convertSQLiteDataType(data_by_col[i]);
            }
            else if (col_names[i] == "notnull"sv)
            {
                is_nullable = (data_by_col[i][0] == '0');
            }
        }
        if (is_nullable)
            name_and_type.type = std::make_shared<DataTypeNullable>(name_and_type.type);
        static_cast<NamesAndTypesList *>(res)->push_back(name_and_type);
        return 0;
    };
    char * err_message = nullptr;
    int status = sqlite3_exec(connection, query.c_str(), callback_get_data, &columns, &err_message);
    if (status != SQLITE_OK)
    {
        String err_msg(err_message);
        sqlite3_free(err_message);
        throw Exception(ErrorCodes::SQLITE_ENGINE_ERROR,
                        "Failed to fetch SQLite data. Status: {}. Message: {}",
                        status, err_msg);
    }
    if (columns.empty())
        return nullptr;
    return std::make_shared<NamesAndTypesList>(columns);
}
}
#endif