{"repo":"credativ/sqlreduce","free":true,"listed":false,"github":"https://github.com/credativ/sqlreduce","clone":"git clone https://github.com/credativ/sqlreduce.git","description":"Reduce verbose SQL queries to minimal examples","language":"Python","stars":61,"topics":["postgresql","sqlsmith","sql","debugging"],"license":"MIT","category":"databases-storage","readme_excerpt":"SQLreduce: Reduce verbose SQL queries to minimal examples ========================================================= SQLsmith has proven to be an effective tool for finding bugs in different areas in the PostgreSQL server and other products, including security bugs, ranging from executor bugs to segfaults in type and index method implementations. However, the random queries generated by SQLsmith that trigger some error are most often very large and contain a lot of noise that does not contribute to the error. So far, manual inspection of the query and tedious editing was required to reduce the example to a minimal reproducer that developers can use to fix the problem. This issue is solved by SQLreduce. SQLreduce takes as input an arbitrary SQL query which is then run against a PostgreSQL server. Various simplification steps are applied, checking after each step that the simplified query still triggers the same error from PostgreSQL. The end result is a SQL query with minimal complexity. SQLreduce is effective at reducing the queries from original error reports from SQLsmith to queries that match manually-reduced queries. More details on how it works in the documentation. Requirements PostgreSQL -- database server running the query to be reduced pglast -- Python interface to libpg query libpg query -- PostgreSQL parser as library (requirement of pglast) psycopg2 -- Python PostgreSQL driver yaml -- Python YAML library Debian/Ubuntu packages for pglast are shipped on apt.postgres","default_branch":null,"files":null,"tree":[],"storefront":"/r/credativ","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/credativ/sqlreduce/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}