Skip to content

nadavtzaysler/sql-translator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

77 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🛠️ SQL Translator

A SQL dialect translator with a user-friendly interface and support for multiple translation engines. Currently supports SQLGlot and Apache Calcite.

⚠️ This project is under active development. Contributions and feedback are welcome!


✨ Features

  • 🌐 Web-based UI (served at port 80)
  • 🧠 Choose translation engine: SQLGlot or Calcite
  • 📥 Select input dialect
  • 📤 Select output dialect
  • 📝 Input your SQL query and translate it instantly
  • 🐳 Easy to run with docker-compose

🚀 Quick Start

1. Clone the repository

git clone https://github.com/yourusername/sql-translator.git
cd sql-translator

2. Run with Docker Compose

docker-compose up
  • UI available at: http://localhost
  • SQLGlot API: http://localhost:8080
  • Calcite API: http://localhost:8082

🧱 Architecture

+------------------+
|                  |
|      Client      |
|  (Browser - UI)  |
|                  |
+--------+---------+
         |
         | User selects:
         | - Input dialect
         | - Output dialect
         | - Translation engine (Glot/Calcite)
         |
         v
+--------+---------+
|      Frontend     |
|     (Vue.js)      |
|       :80         |
+--------+----------+
         |
         | Based on selected engine:
         |
         |--------------------+
         |                    |
         v                    v
+----------------+    +----------------------+
| SQLGlot API    |    | Calcite API          |
| (Python @8080) |    | (Java + Calcite @8082)|
+----------------+    +----------------------+

The frontend dynamically routes the translation request to the selected engine (Glot or Calcite) depending on user input.


🔧 Configuration

Currently configured for simplicity:

  • Static engine selection (per request)

🧑‍💻 Contributing

Contributions are welcome!

To contribute:

  1. Fork the repository
  2. Create a feature branch
  3. Commit and push your changes
  4. Open a pull request

Issues, suggestions, and feature requests are encouraged.


📍 Roadmap

  • Support for more engines (e.g. Oracle, Presto, DuckDB)
  • Internationalization

About

an application made in order to translate different syntaxes of sql

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •