remove invalid usage of const Schema
This commit is contained in:
parent
148abd4b7b
commit
aa5e1bef7d
|
@ -171,9 +171,10 @@ size_t Results::index_of(Row const& row)
|
||||||
throw DetatchedAccessorException{};
|
throw DetatchedAccessorException{};
|
||||||
}
|
}
|
||||||
if (m_table && row.get_table() != m_table) {
|
if (m_table && row.get_table() != m_table) {
|
||||||
throw IncorrectTableException{
|
throw IncorrectTableException(object_schema.name,
|
||||||
ObjectStore::object_type_for_table_name(m_table->get_name()),
|
ObjectStore::object_type_for_table_name(row.get_table()->get_name()),
|
||||||
ObjectStore::object_type_for_table_name(row.get_table()->get_name())};
|
"Attempting to get the index of a Row of the wrong type"
|
||||||
|
);
|
||||||
}
|
}
|
||||||
return index_of(row.get_index());
|
return index_of(row.get_index());
|
||||||
}
|
}
|
||||||
|
@ -323,11 +324,6 @@ TableView Results::get_tableview()
|
||||||
REALM_UNREACHABLE();
|
REALM_UNREACHABLE();
|
||||||
}
|
}
|
||||||
|
|
||||||
StringData Results::get_object_type() const noexcept
|
|
||||||
{
|
|
||||||
return ObjectStore::object_type_for_table_name(m_table->get_name());
|
|
||||||
}
|
|
||||||
|
|
||||||
Results Results::sort(realm::SortOrder&& sort) const
|
Results Results::sort(realm::SortOrder&& sort) const
|
||||||
{
|
{
|
||||||
return Results(m_realm, object_schema, get_query(), std::move(sort));
|
return Results(m_realm, object_schema, get_query(), std::move(sort));
|
||||||
|
@ -338,8 +334,10 @@ Results Results::filter(Query&& q) const
|
||||||
return Results(m_realm, object_schema, get_query().and_query(std::move(q)), get_sort());
|
return Results(m_realm, object_schema, get_query().and_query(std::move(q)), get_sort());
|
||||||
}
|
}
|
||||||
|
|
||||||
Results::UnsupportedColumnTypeException::UnsupportedColumnTypeException(size_t column, const Table* table) {
|
Results::UnsupportedColumnTypeException::UnsupportedColumnTypeException(size_t column, const Table* table)
|
||||||
column_index = column;
|
: column_index(column)
|
||||||
column_name = table->get_column_name(column);
|
, column_name(table->get_column_name(column))
|
||||||
column_type = table->get_column_type(column);
|
, column_type(table->get_column_type(column))
|
||||||
|
, std::runtime_error((std::string)"Operation not supported on '" + table->get_column_name(column).data() + "' columns")
|
||||||
|
{
|
||||||
}
|
}
|
||||||
|
|
|
@ -193,13 +193,13 @@ SharedRealm Realm::get_shared_realm(Config config)
|
||||||
return realm;
|
return realm;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Realm::update_schema(std::unique_ptr<const Schema> schema, uint64_t version)
|
bool Realm::update_schema(std::unique_ptr<Schema> schema, uint64_t version)
|
||||||
{
|
{
|
||||||
schema->validate();
|
schema->validate();
|
||||||
|
|
||||||
bool needs_update = !m_config.read_only && (m_config.schema_version != version || ObjectStore::needs_update(*m_config.schema, *schema));
|
bool needs_update = !m_config.read_only && (m_config.schema_version != version || ObjectStore::needs_update(*m_config.schema, *schema));
|
||||||
if (!needs_update) {
|
if (!needs_update) {
|
||||||
ObjectStore::verify_schema(*m_config.schema, const_cast<Schema &>(*schema), m_config.read_only);
|
ObjectStore::verify_schema(*m_config.schema, *schema, m_config.read_only);
|
||||||
m_config.schema = std::move(schema);
|
m_config.schema = std::move(schema);
|
||||||
m_config.schema_version = version;
|
m_config.schema_version = version;
|
||||||
return false;
|
return false;
|
||||||
|
|
|
@ -52,7 +52,7 @@ namespace realm {
|
||||||
bool disable_format_upgrade = false;
|
bool disable_format_upgrade = false;
|
||||||
std::vector<char> encryption_key;
|
std::vector<char> encryption_key;
|
||||||
|
|
||||||
std::unique_ptr<const Schema> schema;
|
std::unique_ptr<Schema> schema;
|
||||||
uint64_t schema_version = ObjectStore::NotVersioned;
|
uint64_t schema_version = ObjectStore::NotVersioned;
|
||||||
|
|
||||||
MigrationFunction migration_function;
|
MigrationFunction migration_function;
|
||||||
|
@ -80,7 +80,7 @@ namespace realm {
|
||||||
// on the Config, and the resulting Schema and version with updated
|
// on the Config, and the resulting Schema and version with updated
|
||||||
// column mappings are set on the realms config upon success.
|
// column mappings are set on the realms config upon success.
|
||||||
// returns if any changes were made
|
// returns if any changes were made
|
||||||
bool update_schema(std::unique_ptr<const Schema> schema, uint64_t version);
|
bool update_schema(std::unique_ptr<Schema> schema, uint64_t version);
|
||||||
|
|
||||||
static uint64_t get_schema_version(Config const& config);
|
static uint64_t get_schema_version(Config const& config);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue