Contributing

Want to contribute to the project? Great! Please refer to DuckDB's development and contribution guides, which we follow to see how you can help us. If you are unsure, feel free to reach out.

For development, you generally want to build using debug mode:

make debug
make debug GEN=ninja

Running the tests

Different tests can be created for DuckDB extensions. The primary way of testing DuckDB extensions should be the SQL tests inĀ ./test/sql. These SQL tests can be run using:

make test

Alternatively, if you want to run a specific test file you can use the following commands:

cd build/debug/test
./unittest --test-dir ../../.. test/sql/<path_to_specific_test_file>

Running all SQL tests using the CLI:

./unittest --test-dir ../../.. test/sql/*

Whenever your changes require changes to the parser of DuckDB, you will need to create a branch in the duckdb-pgq repository, as well as in the duckpgq-extension repository.

Setting up CLion

Opening project

Configuring CLion with the extension template requires a little work. First, make sure to clone the DuckPGQ extension:

git clone --recurse-submodules <https://github.com/cwida/duckpgq-extension.git>

This will clone the DuckPGQ extension and add the cwida/duckdb-pgq repository as a submodule. This is a fork of duckdb/duckdb with modifications to the parser and transformer to support the SQL/PGQ syntax.

From CLion, open the duckpgq-extension directory as a project.