Meine Sigma-Abfrage mit Kartensuche funktioniert nicht mehr

Fehlermeldung: „INVALID_FUNCTION_ARGUMENT: Key not present in map“

Lösung: ELEMENT_AT() anstelle von [] für die Kartensuche verwenden

Wenn Ihre Abfrage z. B. wie folgt aussieht:

SELECT charge_id, metadata[‘customer’] FROM (
  SELECT charge_id, map_agg(key, value) AS metadata FROM charges_metadata
)

Ändern Sie sie wie folgt:

SELECT charge_id, ELEMENT_AT(metadata, 'customer') FROM (
  SELECT charge_id, map_agg(key, value) AS metadata FROM charges_metadata
)

Weitere Informationen

Seit dem 3. September 2020 unterstützt Sigma Abfragen mit der SQL-Syntax Prestosql v334. Bedingt durch diese Änderung schlägt die Kartensuche mit [] fehl, wenn der Schlüssel in der Karte nicht vorhanden ist. ELEMENT_AT() fährt mit dem vorherigen Verhalten fort und gibt bei fehlendem Schlüssel NULL zurück.

Ihre geplanten und gespeicherten Abfragen wurden entsprechend aktualisiert.