Also in der DC_ProductData.php neu eingefügten Funktion reviseTable wird zuerst ptable gesetzt und dann parent::reviseTable aufgerufen. Dadurch sollte meinem Verständnis nach reviseTable von DC_Table aufgerufen werden. Und dort wurde mit Version 4.9.17 was bei der Abfrage von ptable verändert. Es wurde dann folgendes hinzugefügt:
elseif ($ptable == $this->strTable) { $objIds = $this->Database->execute('SELECT c.id FROM ' . $this->strTable . ' c LEFT JOIN ' . $ptable . ' p ON c.pid=p.id WHERE p.id IS NULL AND c.pid > 0'); }
davor gab es nur den else-Zweig:
else { $objIds = $this->Database->execute("SELECT c.id FROM " . $this->strTable . " c LEFT JOIN " . $ptable . " p ON c.pid=p.id WHERE p.id IS NULL"); }
Die Variante vor 4.9.17 sorgt aber dafür, dass bei pid=0 aber auch die ID von dem Produkt ohne Variante zurückgegeben wird. Und dann wurden bei mir immer alle Produkte gelöscht. Aufgefallen ist es mir, da auch Einträge die ich direkt in der DB gemacht hatte, wieder gelöscht wurden.
Also in der DC_ProductData.php neu eingefügten Funktion reviseTable wird zuerst ptable gesetzt und dann parent::reviseTable aufgerufen. Dadurch sollte meinem Verständnis nach reviseTable von DC_Table aufgerufen werden. Und dort wurde mit Version 4.9.17 was bei der Abfrage von ptable verändert. Es wurde dann folgendes hinzugefügt:
elseif ($ptable == $this->strTable) { $objIds = $this->Database->execute('SELECT c.id FROM ' . $this->strTable . ' c LEFT JOIN ' . $ptable . ' p ON c.pid=p.id WHERE p.id IS NULL AND c.pid > 0'); }
davor gab es nur den else-Zweig:
else { $objIds = $this->Database->execute("SELECT c.id FROM " . $this->strTable . " c LEFT JOIN " . $ptable . " p ON c.pid=p.id WHERE p.id IS NULL"); }
Die Variante vor 4.9.17 sorgt aber dafür, dass bei pid=0 aber auch die ID von dem Produkt ohne Variante zurückgegeben wird. Und dann wurden bei mir immer alle Produkte gelöscht. Aufgefallen ist es mir, da auch Einträge die ich direkt in der DB gemacht hatte, wieder gelöscht wurden.
Originally posted by @C-H-R-I-S-U in https://github.com/isotope/core/issues/2187#issuecomment-1488041687