SQL Engines Excel at the Execution of Imperative Programs

|—––|—––| | Paper | SQL Engines Excel at the Execution of Imperative Programs (PDF) | | Konferenz | VLDB 2025 |

Zusammenfassung

SQL-Anfrage-Engines können als effiziente Laufzeitumgebungen für die Ausführung imperativer Programme über datenbankresidente tabellarische Daten dienen. Um das zu belegen, legen wir die Details einer Compilierungsstrategie dar, die die Basisblöcke beliebig verzweigender und schleifenbehafteter Kontrollflussgraphen auf schlichte – möglicherweise rekursive – Common Table Expressions nach SQL:1999 abbildet. Der Compiler stolpert nicht über imperative Programme von mehreren hundert Zeilen und erzeugt SQL-Code, der solche Programme über ganze Batches von Eingabeargumenten ausführen kann. Diese Batches schaffen Gelegenheiten für parallele Programmauswertung, die zeitgenössische Query-Dekorrelationstechniken automatisch nutzen. SQL-Engines, die bereits UDFs unterstützen, können mit diesem Ansatz der Programmausführung ihre native Implementierung übertreffen – SQL-Engines ohne solche Unterstützung können UDF-Fähigkeiten gewinnen, ohne einen eigenen Interpreter bauen zu müssen.