18 Skip, Removed, Added, Unknown
28 TripleDeltaStatus& valueRef(
const knowRDF::Triple& _triple, TripleDeltaStatus _status)
30 TriplesToStatus::iterator it = diff.find(_triple);
33 TripleDeltaStatus& s = diff[_triple];
40 bool execute(
const QByteArray& _query)
42 if(_query.isEmpty())
return true;
44 if(r.deleted.isEmpty() and r.inserted.isEmpty())
46 KNOWCORE_LOG_ERROR(
"Error in default merge strategy query {} is invalid!", QString::fromUtf8(_query));
51 TripleDeltaStatus& status = valueRef(t, TripleDeltaStatus::Skip);
54 case TripleDeltaStatus::Skip:
55 status = TripleDeltaStatus::Added;
57 case TripleDeltaStatus::Removed:
58 status = TripleDeltaStatus::Skip;
60 case TripleDeltaStatus::Added:
61 KNOWCORE_LOG_WARNING(
"Triple added twice: {}", t);
63 case TripleDeltaStatus::Unknown:
64 KNOWCORE_LOG_FATAL(
"Internal error!");
69 TripleDeltaStatus& status = valueRef(t, TripleDeltaStatus::Skip);
72 case TripleDeltaStatus::Skip:
73 status = TripleDeltaStatus::Removed;
75 case TripleDeltaStatus::Removed:
76 KNOWCORE_LOG_WARNING(
"Triple removed twice: {}", t);
78 case TripleDeltaStatus::Added:
79 status = TripleDeltaStatus::Skip;
81 case TripleDeltaStatus::Unknown:
82 KNOWCORE_LOG_FATAL(
"Internal error!");
94KNOWCORE_CORE_DECLARE_FORMATTER_ENUM(kDB::Repository::VersionControl::TripleDeltaStatus, Skip, Removed, Added, Unknown)