Create a symlink to the main SDQL repository:
# clone the sdql repo somewhere (e.g. home directory)
cd ~ && git clone https://github.com/edin-dal/sdql/
# create a symlink here to the SDQL programs directory
cd - && ln -s ~/sdql/progs progsInstall pyenv and pyenv-virtualenv:
curl https://pyenv.run | bash
# follow these instructions to install pyenv-virtualenv
# https://github.com/pyenv/pyenv-virtualenv?tab=readme-ov-file#installing-as-a-pyenv-pluginOn macOS:
brew install pyenv
brew install pyenv-virtualenv
# follow these instructions if you get "Failed to activate virtualenv"
# https://github.com/pyenv/pyenv-virtualenv/issues/387Get the required Python version:
export VERSION=$(cat pyproject.toml| grep -Poi '^python = "\K(\d+.\d+.\d+)')On macOS run it as ggrep after brew install grep to use GNU grep:
export VERSION=$(cat pyproject.toml| ggrep -Poi '^python = "\K(\d+.\d+.\d+)')Create an environment with the required version:
pyenv install $VERSION
pyenv virtualenv $VERSION sdqlSetting it as the local environment will activate it:
pyenv local sdqlInstall the package manager poetry:
curl -sSL https://install.python-poetry.org | python3 -Install the required packages to your environment:
poetry installMake sure you have datasets in progs/../datasets/tpch/.
We suggest generating them with s -1.
Then run the benchmarks as follows:
export PYTHONPATH=. && python __main__.py