Title: Compiler Optimization for Databases Programming Language (thesis defense)
Database programming languages are Turing complete programming languages that can define a database, and can access and manipulate a database. The aim of thesis this is to develop compiler optimizations specific to these languages. The main contribution of this thesis is the development of database specific optimizations related to paging and batching, and the development of a innovative solver for delayability data-flow equations. Our batching optimization delays the execution of updates as much as possible, so that multiple updates can be performed together in a batch. Our paging optimizations can remove intermediate data structures from a program to enable the use of paging when executing database queries.