{"version":"1.0","type":"rich","provider_name":"Acast","provider_url":"https://acast.com","height":250,"width":700,"html":"<iframe src=\"https://embed.acast.com/$/629a6154b4e1e70012764c00/68efef71c68aefb908a1cf89?\" frameBorder=\"0\" width=\"700\" height=\"250\"></iframe>","title":"Recursive CTEs, Trampolines, and Teaching Databases with DuckDB - with Prof. Torsten Grust","thumbnail_width":200,"thumbnail_height":200,"thumbnail_url":"https://open-images.acast.com/shows/629a6154b4e1e70012764c00/1760781402789-63d45494-f58a-4aaf-9ca9-77e974e0e8da.jpeg?height=200","description":"<p>In this episode of the <em>DuckDB in Research series</em>, host Dr Jack Waudby talks with<strong> Professor Torsten Grust</strong> from the University of Tübingen. Torsten is one of the pioneers behind DuckDB’s implementation of recursive CTEs.</p><p><br></p><p>In the episode they unpack:</p><ul><li>The power of <strong>recursive CTEs</strong> and how they turn SQL into a full-fledged programming language.</li><li>The story behind <strong>adding recursion to DuckDB</strong>, including the <em>using key</em> feature and the <em>trampoline</em> and <em>TTL</em> extensions emerging from Torsten’s lab.</li><li>How these ideas are transforming research, teaching, and even DuckDB’s internal architecture.</li><li>Why <strong>DuckDB makes databases exciting again</strong> — from classroom to cutting-edge systems research.</li></ul><p>If you’re into <strong>data systems, query processing, or bridging research and practice</strong>, this episode is for you.</p><p><br></p><p>Links:</p><ul><li><a href=\"https://duckdb.org/2025/05/23/using-key\" rel=\"noopener noreferrer\" target=\"_blank\">USING KEY in Recursive CTEs</a></li><li><a href=\"https://dl.acm.org/doi/pdf/10.1145/3722212.3725107\" rel=\"noopener noreferrer\" target=\"_blank\">How DuckDB is USING KEY to Unlock Recursive Query Performance</a></li><li><a href=\"https://mail.vldb.org/cidrdb/papers/2025/p1-lambrecht.pdf\" rel=\"noopener noreferrer\" target=\"_blank\">Trampoline-Style Queries for SQL</a></li><li><a href=\"https://github.com/DBatUTuebingen/Advent_of_Code\" rel=\"noopener noreferrer\" target=\"_blank\">U Tübingen Advent of code</a></li><li><a href=\"https://db.cs.uni-tuebingen.de/publications/2023/a-fix-for-the-fixation-on-fixpoints/a-fix-for-the-fixation-on-fixpoints.pdf\" rel=\"noopener noreferrer\" target=\"_blank\">A Fix for the Fixation on Fixpoints</a></li><li><a href=\"https://dl.acm.org/doi/abs/10.1145/3448016.3457272\" rel=\"noopener noreferrer\" target=\"_blank\">One WITH RECURSIVE is Worth Many GOTOs</a></li><li><a href=\"https://db.cs.uni-tuebingen.de/team/members/torsten-grust/\" rel=\"noopener noreferrer\" target=\"_blank\">Torsten's homepage</a></li><li><a href=\"https://x.com/teggy?lang=en-GB\" rel=\"noopener noreferrer\" target=\"_blank\">Torsten's X</a></li></ul>","author_name":"Jack Waudby"}