Der SQL Transformator führt gewisse Transformationen auf SQL Quellcode durch. Das Programm kennt eine Reihe vordefinierter Transformationen. Weitere Transformation können auf Anfrage hinzugefügt werden. Das folgende Beispiel zeigt eine SQL Anweisung vor und nach der Transformation:
Die Hauptaufgabe dieser Transformation ist die Ersetzung von Komma-Joins durch JOIN Operatoren. Um diese anspruchsvolle Aufgabe zu erfüllen, wurde die Transformation in mehrere kleinere Transformations-Schritte unterteilt:
- Elimination von überflüssigen Klammern
- Herausziehen der ON Bedingungen aus der WHERE Klausel
- Vertauschen der Operanden von gewissen Bedingungen (siehe eingefügte ON Bedingungen)
- Ersetzen der Komma-Joins durch JOIN Operatoren
- Einfügen der ON Bedingungen
Zusätzlich wurden in diesem Beispiel die Tabellennamen mit einem Qualifizierer versehen.
Der SQL Transformator arbeitet folgendermaßen: Ein SQL Parser erzeugt eine Baumdarstellung des Quellcodes. Die Transformations-Schritte werden auf der Baumstruktur durchgeführt, was eine geänderte Version des Baums als Ergebnis hat. Schließlich wird durch "unparsing" des Baums mit unserem SQL Pretty-Printer neuer Quellcode erzeugt.