message: Create columns rather than assert their existence
diff: @@ -125,19 +125,26 @@ void initialize_schema(Group& group)
  if (!table) {
  // Create the schema required by Sync
  table = sync::create_table(group, result_sets_table_name);
  + }
  +
  + if (table->get_column_index(property_query) == npos) {
  table->add_column(type_String, property_query);
  + }
  +
  + if (table->get_column_index(property_matches_property_name) == npos) {
  table->add_column(type_String, property_matches_property_name);
  + }
  +
  + if (table->get_column_index(property_status) == npos) {
  table->add_column(type_Int, property_status);
  + }
  +
  + if (table->get_column_index(property_error_message) == npos) {
  table->add_column(type_String, property_error_message);
  - table->add_column(type_Int, property_query_parse_counter);
  }
  - else {
  - // The table already existed, so it should have all of the columns that are in the shared schema.
  - REALM_ASSERT(table->get_column_index(property_query) != npos);
  - REALM_ASSERT(table->get_column_index(property_matches_property_name) != npos);
  - REALM_ASSERT(table->get_column_index(property_status) != npos);
  - REALM_ASSERT(table->get_column_index(property_error_message) != npos);
  - REALM_ASSERT(table->get_column_index(property_query_parse_counter) != npos);
  +
  + if (table->get_column_index(property_query_parse_counter) == npos) {
  + table->add_column(type_Int, property_query_parse_counter);
  }
  // Add columns not required by Sync, but used by the bindings to offer better tracking of subscriptions.
  