From: <dg...@su...> - 2009-01-22 21:09:26
|
Author: dgollub Date: Thu Jan 22 22:08:19 2009 New Revision: 5218 URL: http://www.opensync.org/changeset/5218 Log: Store the original objtype in the archive/mappingtable instead of the encapsulated objtype. This is required to have mapping-tables per objtype. Reloading a mapping-table with mixed-objtype entries would end up in an error about inconsistent mapping-table. Due to the limitation of mixed-objtype syncing of encapsualted formats-only there is no need to have an objtype-independent mapping-table (this would also make slow-syncing per objtype make more difficult) Modified: trunk/opensync/engine/opensync_sink_engine.c Modified: trunk/opensync/engine/opensync_sink_engine.c ============================================================================== --- trunk/opensync/engine/opensync_sink_engine.c Thu Jan 22 21:54:12 2009 (r5217) +++ trunk/opensync/engine/opensync_sink_engine.c Thu Jan 22 22:08:19 2009 (r5218) @@ -246,13 +246,15 @@ /* osync_assert_msg(!strcmp(objtype, osync_change_get_objtype(entry_engine->change), "Mixed-objtype in final write!")); */ if (osync_change_get_changetype(entry_engine->change) == OSYNC_CHANGE_TYPE_DELETED) { - if (!osync_archive_delete_change(archive, osync_mapping_entry_get_id(entry), objtype, error)) + if (!osync_archive_delete_change(archive, osync_mapping_entry_get_id(entry), + osync_change_get_objtype(entry_engine->change), error)) goto error; } else { if (!osync_archive_save_change(archive, osync_mapping_entry_get_id(entry), osync_change_get_uid(entry_engine->change), - objtype, osync_mapping_get_id(mapping), + osync_change_get_objtype(entry_engine->change), + osync_mapping_get_id(mapping), osync_member_get_id(member), error)) goto error; } |