This repository contains an example plugin for Hyrise. It can be used as a basis for the development of further plugins. The plugin is introduced in our paper "Hyrise Re-engineered: An Extensible Database System for Research in Relational In-Memory Data Management" (EDBT 2019, Dreseler et al.).
- Check out the submodules and their dependencies:
git submodule update --init --recursive
- Take a look at the example_plugin files. These can be used as a blueprint for other plugins.
- Implement your plugin according to the example plugin. Make sure it inherits from
AbstractPlugin
andSingleton
(hyrise/src/lib/utils/(abstract_plugin || singleton).hpp). - Add the necessary information to build your plugin to CMakeLists.txt. A self-explanatory skeleton is provided in the file itself.
- We highly recommend out-of-source builds, e.g.:
mkdir cmake-build-debug && cd cmake-build-debug
cmake ..
make ExamplePlugin -j 12
- Test your plugin, for example, using the Hyrise Console (from the main directory):
./cmake-build-debug/hyriseConsole
load_plugin cmake-build-debug/libExamplePlugin.dylib
(libExamplePlugin.so
for Unix systems)