Citus 10.2 is out! 10.2 brings you new columnar & time series features—and is ready to support Postgres 14. Read the new Citus 10.2 blog.

Skip navigation
Nazli Ugur Koyluoglu

Nazli Ugur Koyluoglu


Undergrad at Stanford. Summer 2020 intern on the Postgres engineering team at Microsoft working on Citus open source. Loves physics.

Nazli Ugur Koyluoglu

Mining for logic bugs in the Citus extension to Postgres with SQLancer

Written by By Nazli Ugur Koyluoglu | September 4, 2020 Sep 4, 2020

Many of you rely on databases to return correct results for your SQL queries, however complex your queries might be. And you probably place your trust with no questions asked—since you know relational databases are built on top of proven mathematical foundations, and since there is no practical way to manually verify your SQL query output anyway.

Since it is possible that a database’s implementation of the SQL logic could have a few errors, database developers apply extensive testing methods to avoid such flaws. For instance, the Citus open source repo on GitHub has more than twice as many lines related to automated testing than lines of database code. However, checking correctness for all possible SQL queries is challenging because of the lack of a “ground truth” to compare their outputs against, and the infinite number of possible SQL queries.

Keep reading

Page 1 of 1