The Polypheny C++ Driver facilitates connections between C++-based applications and Polypheny databases, leveraging a simple statement oriented API. Designed for versatility and performance, the Polypheny C++ Driver is a pivotal component for developers working with C++ to interact with Polypheny’s advanced database systems.
This driver uses the Prism Protocol for efficient communication with Polypheny databases. In order to use the JDBC driver with your instance of Polypheny, make sure that the Prism Query Interface has been deployed.
Features
-
Full Multimodel Compliance: This driver supports all three datamodels currently supported by Polypheny. Those are the labeled property graph model, the document model and the relational model.
-
Statment Parameterization Support: This driver supports both indexed and named parameterized queries as well as their single or batched execution.
-
Statment Batch Execution Support: This driver supports the batched execution of both unparameterized and parameterized statements.
-
Unix Socket Support: This driver supports the use of UNIX sockets to communicate with Polpyheny instances.
Getting Started
The Polypheny C++ Driver is designed for easy integration with C++ applications. The driver requires C++ version 17 or higher.
The driver is published to GitHub and can be integrated into Meson projects using the wrapper code below.
[wrap-git]
directory = polypheny_prism_api
url = https://github.com/polypheny/Polypheny-CPP-Driver.git
revision = streaming
depth = 1
After adding the wrapper file to the subprojects folder of your meson file, the following non-git dependencies must be installed manually. Automatic loading sadly is not possible yet as the authors don’t host them on GitHub.
- The GNU Multiple Precision Arithmetic Library This is used to represent and handle the big decimal data type supported by Polpyheny.
After installing the manual dependencies, you can build your project with Meson. The required build files are already placed at the required locations in the repository.
Acknowledgments
The initial version of this C++ driver has been developed by Tobias Hafner as part of his Masters’s project at the University of Basel.