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
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.
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.