Merge pull request #68 from realm/tg/schema-validation-error
Split SchemaValidationException into SchemaValidationException and SchemaMismatchException
This commit is contained in:
commit
8d115ad42d
|
@ -171,7 +171,7 @@ void ObjectStore::verify_schema(Schema const& actual_schema, Schema& target_sche
|
|||
errors.insert(errors.end(), more_errors.begin(), more_errors.end());
|
||||
}
|
||||
if (errors.size()) {
|
||||
throw SchemaValidationException(errors);
|
||||
throw SchemaMismatchException(errors);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -523,6 +523,15 @@ DuplicatePrimaryKeyValueException::DuplicatePrimaryKeyValueException(std::string
|
|||
|
||||
SchemaValidationException::SchemaValidationException(std::vector<ObjectSchemaValidationException> const& errors) :
|
||||
m_validation_errors(errors)
|
||||
{
|
||||
m_what = "Schema validation failed due to the following errors: ";
|
||||
for (auto const& error : errors) {
|
||||
m_what += std::string("\n- ") + error.what();
|
||||
}
|
||||
}
|
||||
|
||||
SchemaMismatchException::SchemaMismatchException(std::vector<ObjectSchemaValidationException> const& errors) :
|
||||
m_validation_errors(errors)
|
||||
{
|
||||
m_what = "Migration is required due to the following errors: ";
|
||||
for (auto const& error : errors) {
|
||||
|
|
|
@ -160,6 +160,14 @@ namespace realm {
|
|||
std::vector<ObjectSchemaValidationException> m_validation_errors;
|
||||
};
|
||||
|
||||
class SchemaMismatchException : public ObjectStoreException {
|
||||
public:
|
||||
SchemaMismatchException(std::vector<ObjectSchemaValidationException> const& errors);
|
||||
std::vector<ObjectSchemaValidationException> const& validation_errors() const { return m_validation_errors; }
|
||||
private:
|
||||
std::vector<ObjectSchemaValidationException> m_validation_errors;
|
||||
};
|
||||
|
||||
class ObjectSchemaValidationException : public ObjectStoreException {
|
||||
public:
|
||||
ObjectSchemaValidationException(std::string const& object_type) : m_object_type(object_type) {}
|
||||
|
|
Loading…
Reference in New Issue