29 TripleDeltaStatus& valueRef(
const knowRDF::Triple& _triple, TripleDeltaStatus _status)
31 TriplesToStatus::iterator it = diff.find(_triple);
34 TripleDeltaStatus& s = diff[_triple];
43 bool execute(
const QByteArray& _query)
48 if(r.deleted.isEmpty() and r.inserted.isEmpty())
50 clog_error(
"Error in default merge strategy query {} is invalid!",
51 QString::fromUtf8(_query));
56 TripleDeltaStatus& status = valueRef(t, TripleDeltaStatus::Skip);
59 case TripleDeltaStatus::Skip:
60 status = TripleDeltaStatus::Added;
62 case TripleDeltaStatus::Removed:
63 status = TripleDeltaStatus::Skip;
65 case TripleDeltaStatus::Added:
66 clog_warning(
"Triple added twice: {}", t);
68 case TripleDeltaStatus::Unknown:
69 clog_fatal(
"Internal error!");
74 TripleDeltaStatus& status = valueRef(t, TripleDeltaStatus::Skip);
77 case TripleDeltaStatus::Skip:
78 status = TripleDeltaStatus::Removed;
80 case TripleDeltaStatus::Removed:
81 clog_warning(
"Triple removed twice: {}", t);
83 case TripleDeltaStatus::Added:
84 status = TripleDeltaStatus::Skip;
86 case TripleDeltaStatus::Unknown:
87 clog_fatal(
"Internal error!");