Smalyshev added a comment.

Thinking more about it, I see a flaw in the cleanup process. Right now we are using this query:

DELETE { ?s ?p ?o } WHERE {
  VALUES ?s { %values% }
  # Since values are shared we can only clear the values on them when they are no longer used
  # anywhere else.
  FILTER NOT EXISTS {
    ?someEntity ?someStatementPred ?s .
    FILTER(?someStatementPred != %wikibase:quantityNormalized%)
  }
  ?s ?p ?o .
};

However, if we have changed statement referring to reference R, which refers to value V, it is not clear that the query will delete both R and V, since there's still reference to V from R, even though R will be deleted at the end.
We may need to split it into two queries.

I don't think this flaw is what caused the above issue (since it is still not clear how we have S referring to R without having R - if S refers to R, we should have not deleted R) but it still needs to be fixed.


TASK DETAIL
https://phabricator.wikimedia.org/T194325

EMAIL PREFERENCES
https://phabricator.wikimedia.org/settings/panel/emailpreferences/

To: Smalyshev
Cc: Gehel, Aklapper, Smalyshev, Lahi, Gq86, Darkminds3113, Lucas_Werkmeister_WMDE, GoranSMilovanovic, QZanden, EBjune, merbst, LawExplorer, Avner, Jonas, FloNight, Xmlizer, jkroll, Wikidata-bugs, Jdouglas, aude, Tobias1984, Manybubbles, Mbch331
_______________________________________________
Wikidata-bugs mailing list
Wikidata-bugs@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikidata-bugs

Reply via email to