Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adding DuckPGQ extension #48

Merged
merged 8 commits into from
Jul 11, 2024
Merged

Conversation

Dtenwolde
Copy link
Contributor

Hi everyone,

This PR introduces the DuckPGQ extension, which supports the SQL/PGQ syntax for more succinct pattern-matching and path-finding syntax in graph queries. I have included some initial examples in the documentation and plan to expand on these in the future.

The extension is unique in its build process. It doesn't build against duckdb/duckdb but rather against a fork, cwida/duckdb-pgq. Apart from the parser (lib_pg_parser) and transformer, this fork is binary-compatible with DuckDB. This compatibility allows the extension to be loaded into any DuckDB instance like any other extension. Here’s how you can do it (after launching with the unsigned flag):

set custom_extension_repository = 'http://duckpgq.s3.eu-north-1.amazonaws.com';
force install 'duckpgq';
load 'duckpgq';

This method has been functional from version 0.10.1 up to and including 1.0.0.

@carlopi has noted that Go/Rust might face issues due to building with link-time optimizations, which I will investigate further. However, I don't believe this is a blocker for this PR.

I understand that this approach is somewhat unconventional for the extension framework. However, after discussing with @carlopi, we decided to submit this PR to have a discussion and gather feedback.

Looking forward to your thoughts and feedback!

Copy link
Collaborator

@carlopi carlopi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, and Welcome!

@carlopi carlopi merged commit 51b6a83 into duckdb:main Jul 11, 2024
27 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants