คำขอใน Stripe Sigma ที่มีการค้นหาแมปของฉันหยุดทำงาน

ข้อความแสดงข้อผิดพลาด: "INVALID_FUNCTION_ARGUMENT: Key not present in map"

วิธีแก้ปัญหา: ใช้ ELEMENT_AT() แทน [] สำหรับการค้นหาแผนผัง

ตัวอย่างเช่น ในกรณีที่คำขอมีลักษณะดังต่อไปนี้

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

ให้เปลี่ยนเป็นลักษณะดังต่อไปนี้

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

ข้อมูลเพิ่มเติม

ณ วันที่ 3 กันยายน 2020 Sigma จะรองรับคำขอที่ใช้รูปแบบภาษา SQL อย่าง Prestosql v334 สืบเนื่องจากการเปลี่ยนแปลงนี้ การค้นหาแผนผังโดยใช้ [] จะล้มเหลวในกรณีที่ไม่มีคีย์อยู่ในแผนผัง ส่วน ELEMENT_AT() จะใช้วิธีการส่งค่า NULL กลับคืนมาถ้าไม่มีคีย์เหมือนกับก่อนหน้านี้

ระบบได้อัปเดตคำขอที่กำหนดเวลาไว้และคำขอที่บันทึกไว้ของคุณตามที่กำหนดเรียบร้อยแล้ว