8 คะแนน โดย xguru 2024-03-25 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • เปลี่ยน Oracle SQL (Oraclisms) เป็นไวยากรณ์ PostgreSQL
  • การจัดการ ID
  • คงรูปแบบช่องว่าง ตัวพิมพ์เล็ก/ใหญ่ และคอมเมนต์ไว้
  • รายงานข้อผิดพลาดได้ยอดเยี่ยม
  • วิเคราะห์ไวยากรณ์ได้ทั้งสคริปต์หรือทุก expression syntax
  • ให้ใช้งานได้ทั้งแบบ CLI หรือ Go API ที่รองรับการเน้นไวยากรณ์
  • เป็นไปตาม SQL Style Guide ของ Simon Holywell

1 ความคิดเห็น

 
xguru 2024-03-25

ความคิดเห็นจาก Hacker News

  • มีเครื่องมือแปลง SQL อยู่หลากหลาย แต่ส่วนใหญ่ทำงานได้ไม่ค่อยดี
  • แนะนำ sqlglot เป็นเครื่องมือสำหรับจัดการ SQL dialect อื่น ๆ
    • มันอาจช่วยในการเรนเดอร์ SQL ให้มีรูปแบบสม่ำเสมอ ทดสอบ business logic ของ SQL ใน continuous integration (CI) หรือใช้การแปลง AST เพื่อการปรับแต่งให้เหมาะกับ dialect โดยเฉพาะได้
  • แชร์ประสบการณ์ส่วนตัวกับการใช้ sqlglot
    • ก่อนหน้านี้ตอนทำงาน PoC (Proof of Concept) ที่บริษัท เคยมีสถานการณ์ที่ต้องนำ Postgres SQL query ไปใช้กับ API โดยแปลง API response เป็น pandas dataframe แล้วใช้ sqlglot แปลง query จาก Postgres dialect เป็น duckdb dialect จากนั้นใช้ duckdb query pandas dataframe และแปลงผลลัพธ์เป็น json เพื่อส่งกลับให้ผู้ใช้
  • มีหลายเครื่องมือที่พยายามทำฟังก์ชันคล้ายกัน และมีบริษัทชื่อ CompilerWorks ที่เคยมีเครื่องมือสำหรับแปลง SQL หลากหลาย dialect แต่ถูก Google เข้าซื้อกิจการไปแล้ว
  • แม้ในซอร์สโค้ดจะเห็นการรองรับ Oracle อย่างชัดเจน แต่อยากรู้ว่าปัจจุบันรองรับเฉพาะ Oracle เท่านั้นหรือไม่ และมีแผนรองรับ Microsoft SQL Server หรือไม่