Introduction
This section is still work in progress. We are working hard to provide you with the best possible experience. If you have any questions, please do not hesitate to contact us.
The ERPL is essentially an extension for the DuckDB in-process SQL OLAP database management system. This means that you need to install DuckDB first before you can use the ERPL. You can find links to the binary packages and installation instructions for DuckDB {target=“_blank”} in the original documentation.
DuckDB provides an extension system which enables to extend the functionality of the database in various directions. The extension are distributed as packages for the platforms Windows, Linux, and macOS. We try to mimic the installation procedure of DuckDB as good as possible.
At this point of time, ERPL supports version 0.10.3 and 1.0.0 of DuckDB.
➜ Obtaining the ERPL Extension
Introduction
Building extensions for DuckDB can be challenging due to the varying C++ compiler and library ecosystem. This variability often leads to incompatibilities between locally built extensions and the centrally distributed DuckDB binary, primarily due to differences in the Application Binary Interface (ABI).
Recommended Approach: Install the Extension directly in DuckDB
The easiest way of installing our SAP DuckDB extension is using the httpfs
extension.
Currently, it is necessary to delete the extension folder when there is a new release of our extension if FORCE
is not used.
To ensure compatibility and ease of use, we follow a build process similar to that of the DuckDB team. Our advice is to start with the pre-compiled binaries available in our GitHub releases. For those interested in building the extension themselves, our development instructions provide detailed guidance.
Binary Selection
The assets in each release follow this naming convention:
erpl-${DUCKDB_VERSION}-extension-{OS}-{ARCH}.tar.gz
Choose the binary that matches your usage scenario. The table below summarizes the available binaries for various platforms and use cases:
DuckDB Version | Operating System | Architecture | Download Link |
---|---|---|---|
0.10.3 | Linux | amd64 | Download |
0.10.3 | Linux | amd64 (GCC4) | Download |
0.10.3 | Windows | amd64 | Download |
1.0.0 | Linux | amd64 | Download |
1.0.0 | Linux | amd64 (GCC4) | Download |
1.0.0 | Windows | amd64 | Download |
1.0.0 | Mac OS | arm | Download |
1.0.0 | Mac OS | amd64 | Download |
💻 Installing the ERPL Binaries
Introduction
Installation of the ERPL extension is straightforward. Please note that this extension is independent of the DuckDB Foundation and DuckDB Labs, meaning the binaries are unsigned. Consequently, DuckDB must be initiated with the -unsigned
flag. Detailed instructions on this process can be found in the DuckDB documentation.
Installation Steps
Enable Unsigned Extensions in DuckDB: Set the
-unsigned
flag as described in the DuckDB documentation.Install and Load the ERPL Extension:
Confirmation of Successful Installation
Upon successful installation and loading, the extension will output the following message:
Understanding the Extension Loading Process
The ERPL extension is composed of two parts: 1. Trampoline Extension: Extracts SAP Netweaver RFC SDK and SAP Business Warehouse BICS libraries from the binary. 2. Implementation Extension: The actual functional part of the extension.
The erpl_init
function in the trampoline extension bundles and extracts dependencies into the DuckDB extension folder. Post-installation, the directory ~/.duckdb/extensions/v0.10.1/linux_amd64
should contain the following files:
-rw-r--r-- 1 jr jr 110M 26. Nov 10:23 erpl.duckdb_extension
-rw-r--r-- 1 jr jr 34M 26. Nov 10:35 erpl_impl.duckdb_extension
-rw-r--r-- 1 jr jr 20M 26. Nov 10:35 libicudata.so.50
-rw-r--r-- 1 jr jr 12M 26. Nov 10:35 libicui18n.so.50
-rw-r--r-- 1 jr jr 8,4M 26. Nov 10:35 libicuuc.so.50
-rw-r--r-- 1 jr jr 9,5M 26. Nov 10:35 libsapnwrfc.so
-rw-r--r-- 1 jr jr 1,1M 26. Nov 10:35 libsapucum.so
This revised section aims for a clearer, more structured presentation of the installation process, ensuring users can easily understand and follow the steps.
Adding a license key for BICS and ODP
This section is still work in progress. We are working hard to provide you with the best possible experience. If you have any questions, please do not hesitate to contact us.
Manual Installation: Total Control
For those who like to roll up their sleeves, we also offer comprehensive guides for manual installation. This is perfect for users who need more control over their installation, prefer specific versions of DuckDB, or are working in environments with unique constraints. We’ll walk you through the entire process, from downloading the source code to the final setup, ensuring that you’re comfortable at every step.