Freitag, Januar 17, 2020

Falsche Ergebnisse bei Group By Elimination in Oracle 12.2

Jonathan Lewis weist in seinem Blog auf einen Fehler bei der in Oracle 12c eingeführten Group By Elimination hin. Diese dient eigentlich dazu, überflüssige Sortierungen zu vermeiden, wenn ein eindeutiger Schlüssel sicherstellt, dass die Gruppierung nicht erforderlich ist. Leider existiert in 12.2 ein Bug, der dazu führt, dass etwa für ein to_char(business_date, 'YYYY') die Group By Elimination wirksam wird, da die Spalte "business_date" der PK der Tabelle ist. Vom Ergebnis her wäre hier aber eine Gruppierung erforderlich, da die to_char Funktion Duplikate liefert. Letztlich liefert die Operation somit falsche Ergbenisse. Für to_char ist der Bug in Oracle 18 behoben, aber die Funktion extract liefert weiterhin falsche Ergebnisse.

Keine Kommentare:

Kommentar veröffentlichen