Fix MongoDB api call

This commit is contained in:
alesapin 2018-09-05 23:19:31 +03:00
parent aa8562a2a5
commit 2d9a62cfe8

View File

@ -139,17 +139,13 @@ namespace
} }
case ValueType::UUID: case ValueType::UUID:
{ {
if (value.type() == Poco::MongoDB::ElementTraits<Poco::MongoDB::Binary::Ptr>::TypeId) if (value.type() == Poco::MongoDB::ElementTraits<String>::TypeId)
{ {
Poco::MongoDB::Binary::Ptr binary_ptr = dynamic_cast<Poco::MongoDB::ConcreteElement<Poco::MongoDB::Binary::Ptr> * >(value_ptr.get())->value(); String string = static_cast<const Poco::MongoDB::ConcreteElement<String> &>(value).value();
if (!binary_ptr) static_cast<ColumnUInt128 &>(column).getData().push_back(parse<UUID>(string));
throw Exception{"Type mismatch, expected Binary::Ptr (UUID), got type id =" + toString(value.type()) +
" for column " + name, ErrorCodes::TYPE_MISMATCH};
static_cast<ColumnUInt128 &>(column).getData().push_back(parse<UUID>(binary_ptr->uuid().toString()));
} }
else else
throw Exception{"Type mismatch, expected Binary::Ptr (UUID), got type id =" + toString(value.type()) + throw Exception{"Type mismatch, expected String (UUID), got type id = " + toString(value.type()) +
" for column " + name, ErrorCodes::TYPE_MISMATCH}; " for column " + name, ErrorCodes::TYPE_MISMATCH};
break; break;
} }