Query compilation in PostgreSQL by specialization of the DBMS source code
- Authors: Sharygin E.Y.1,2, Buchatskiy R.A.1, Zhuykov R.A.1, Sher A.R.1
-
Affiliations:
- Ivannikov Institute for System Programming
- Moscow State University
- Issue: Vol 43, No 6 (2017)
- Pages: 353-365
- Section: Article
- URL: https://journals.rcsi.science/0361-7688/article/view/176561
- DOI: https://doi.org/10.1134/S0361768817060068
- ID: 176561
Cite item
Abstract
This paper describes the development of a query compiler for the PostgreSQL DBMS based on automatic code specialization methods; these methods allow one to avoid the development and support difficulties typical for classical query compilers by dividing the compiler development problem into two independent subproblems: reduction of overhead costs and implementation of algorithmic improvements. We assert that this decomposition facilitates the solution of both the subproblems: the cost reduction can be automated, while the algorithmic improvements can be implemented in the interpreter in the DBMS implementation language. This paper presents methods for online and offline specialization, considers specifics of specialization and binding-time analysis of the PostgreSQL source code, and describes the transition to a push model of execution.
About the authors
E. Yu. Sharygin
Ivannikov Institute for System Programming; Moscow State University
Author for correspondence.
Email: eush@ispras.ru
Russian Federation, ul. Solzhenitsyna 25, Moscow, 109004; Moscow, 119991
R. A. Buchatskiy
Ivannikov Institute for System Programming
Email: eush@ispras.ru
Russian Federation, ul. Solzhenitsyna 25, Moscow, 109004
R. A. Zhuykov
Ivannikov Institute for System Programming
Email: eush@ispras.ru
Russian Federation, ul. Solzhenitsyna 25, Moscow, 109004
A. R. Sher
Ivannikov Institute for System Programming
Email: eush@ispras.ru
Russian Federation, ul. Solzhenitsyna 25, Moscow, 109004
Supplementary files
