PL/SQL and UDFs are Lousy -- But We Can Do Something About It
Torsten Grust, Universität Tübingen
SQL database systems support user-defined functions (UDFs), but they hardly encourage *programming* with these functions. Quite the contrary: the invocation and evaluation of SQL UDFs as well as the interpretation of imperative PL/SQL code comes with a significant runtime tax that renders complex computation close to the data largely impractical. Indeed, it is established developer lore that “serious computation” is better performed outside the RDBMS in languages other than SQL or PL/SQL.

It doesn't have to be this way and we do not have turn RDBMSs on their head to improve the dire situation. We describe SQL-level, non-invasive transformations that turn recursive SQL UDFs and complex PL/SQL procedures with arbitrarily complex control flow into plain SQL constructs that contemporary RDBMSs can evaluate way more efficiently. These transformations bank on techniques established by the functional programming language community--here, we twist them to the RDBMSs' (and our) advantage. RDBMSs can indeed make for expressive and declaratively programmable runtime systems. Let us use them as such!

Please email for a Zoom link
About the speaker
Torsten Grust is a professor of Computer Science at Universität Tübingen, Germany, where he leads the Database Systems research group since 2008. Prior to his move to Tübingen, Torsten has been a professor of Database Systems at TU München and TU Clausthal. Torsten received his Diploma (M.Sc.) in Computer Science in 1994 and his PhD degree in 1999 from Universität Konstanz. In 2000, Torsten was a visiting scientist with the IBM Silicon Valley Laboratories, San Jose, CA, USA.

Torsten performs research into the design, compilation, optimization, and evaluation of a variety of database languages. In this work, he often walks the fine line between database query and programming language technology. His group develops techniques that turn relational database systems into scalable processors also for non-relational query and programming languages. Torsten is at his happiest whenever he finds new evidence that database and programming language research can mutually benefit each other. (Consequently, he is a long-time member of ACM SIGMOD as well as SIGPLAN. ;-)
Date & Time
Thursday, January 27, 2022 - 14:00