https://github.com/project-tsurugi/ogawayama
A module responsible for communication when accessing tsurugidb via PostgreSQL FDW
https://github.com/project-tsurugi/ogawayama
forign-data-wrapper postgresql sql tsurugidb
Last synced: about 1 month ago
JSON representation
A module responsible for communication when accessing tsurugidb via PostgreSQL FDW
- Host: GitHub
- URL: https://github.com/project-tsurugi/ogawayama
- Owner: project-tsurugi
- License: apache-2.0
- Created: 2019-07-26T06:57:45.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2025-07-30T02:25:48.000Z (11 months ago)
- Last Synced: 2025-07-30T04:38:40.678Z (11 months ago)
- Topics: forign-data-wrapper, postgresql, sql, tsurugidb
- Language: C++
- Homepage:
- Size: 1.08 MB
- Stars: 1
- Watchers: 7
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# ogawayama PostgreSQL FDW interface
## Requirements
* CMake `>= 3.16`
* C++ Compiler `>= C++17`
* access to jogasaki and manager/metadata-manager
* and see *Dockerfile* sectioni
```sh
# retrieve third party modules
git submodule update --init --recursive
```
### Dockerfile
```dockerfile
FROM ubuntu:22.04
RUN apt update -y && apt install -y git build-essential cmake ninja-build libboost-system-dev libboost-thread-dev libboost-serialization-dev libgoogle-glog-dev libgflags-dev protobuf-compiler protobuf-c-compiler libprotobuf-dev libssl-dev nlohmann-json3-dev
```
optional packages:
* `doxygen`
* `graphviz`
* `clang-tidy-14`
### Install modules
#### tsurugidb modules
This requires below [tsurugidb](https://github.com/project-tsurugi/tsurugidb) modules to be installed.
* [metadata-manager](https://github.com/project-tsurugi/metadata-manager)
* [message-manager](https://github.com/project-tsurugi/message-manager)
## How to build
```sh
git clone git@github.com:project-tsurugi/jogasaki.git third_party/temp_jogasaki
cd third_party/temp_jogasaki
mkdir build
cd build
cmake -DINSTALL_API_ONLY=ON ..
cmake --build . --target install
cd ../../..
mkdir build
cd build
cmake -G Ninja -DCMAKE_BUILD_TYPE=Debug ..
cmake --build . --target install
```
available options:
* `-DBUILD_STUB_ONLY=ON` - build the stub only
* `-DBUILD_BRIDGE_ONLY=ON` - build the bridge only
* `-DBUILD_TESTS=OFF` - never build test programs
* `-DBUILD_EXAMPLES=ON` - also build example programs
* `-DBUILD_STRICT=OFF` - don't treat compile warnings as build errors
* `-DCMAKE_PREFIX_PATH=` - indicate prerequiste installation directory
* `-DSHARKSFIN_IMPLEMENTATION=` - switch sharksfin implementation. Available options are `memory` and `shirakami` (default: `shirakami`)
* for debugging only
* `-DENABLE_SANITIZER=OFF` - disable sanitizers (requires `-DCMAKE_BUILD_TYPE=Debug`)
* `-DENABLE_UB_SANITIZER=ON` - enable undefined behavior sanitizer (requires `-DENABLE_SANITIZER=ON`)
* `-DENABLE_COVERAGE=ON` - enable code coverage analysis (requires `-DCMAKE_BUILD_TYPE=Debug`)
## License
[Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0)