8P by xguru 3달전 | favorite | 댓글 1개
  • 오라클 SQL(Oraclisms)을 PostgreSQL 구문으로 변경
  • ID 핸들링
  • 공백, 대소문자 및 주석 보존
  • 훌륭한 에러 리포팅
  • 스크립트 또는 모든 표현식 구문을 분석
  • 구문 강조 표시를 지원하는 CLI 또는 Go API로 제공
  • Simon Holywell 의 SQL Style Guide를 따름

Hacker News 의견

  • 다양한 SQL 변환 도구들이 있지만, 대부분 제대로 작동하지 않음.
  • 다른 SQL 방언을 위한 도구로 sqlglot 추천
    • SQL을 일관된 방식으로 렌더링하거나, 지속적 통합(CI)에서 SQL 비즈니스 로직을 테스트하거나, 방언 특화 최적화를 위한 AST 변환을 적용하는 데 도움이 될 수 있음
  • sqlglot을 사용한 개인적인 경험 공유
    • 과거에 직장에서 PoC(Proof of Concept) 작업 중 Postgres SQL 쿼리를 API에 적용해야 하는 상황이 있었는데, API 응답을 pandas dataframe으로 변환하고, sqlglot을 사용해 Postgres 방언에서 duckdb 방언으로 쿼리를 변환한 후, duckdbpandas dataframe을 쿼리하고 결과를 json으로 변환해 사용자에게 반환했음
  • 여러 도구들이 비슷한 기능을 시도하고 있으며, CompilerWorks라는 회사가 다양한 SQL 방언을 변환하는 도구를 가지고 있었는데, 구글에 인수되었음
  • 소스 코드에서 Oracle 지원이 명확히 나타나 있지만, 현재 지원되는 데이터베이스가 오직 Oracle뿐인지, Microsoft SQL Server에 대한 지원 계획이 있는지 궁금