Skip to content

feat: introduce database level ops for cpp bindings#286

Merged
luoyuxia merged 2 commits intoapache:mainfrom
luoyuxia:database-level-in-cpp
Feb 8, 2026
Merged

feat: introduce database level ops for cpp bindings#286
luoyuxia merged 2 commits intoapache:mainfrom
luoyuxia:database-level-in-cpp

Conversation

@luoyuxia
Copy link
Contributor

@luoyuxia luoyuxia commented Feb 8, 2026

Purpose

Linked issue: close #274

Brief change log

Tests

API and Format

Documentation

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds database-level administrative operations to the C++ bindings, aligning the C++ Admin API with the underlying Rust FlussAdmin capabilities requested in issue #274.

Changes:

  • Extended the Rust CXX bridge with database structs/results and added Admin FFI methods (create/drop/list DBs, existence checks, info lookup, list tables, drop partition).
  • Added Rust/C++ conversion helpers for DatabaseDescriptor and DatabaseInfo.
  • Exposed new C++ Admin APIs in the public header and provided a new admin_example.cpp plus build targets (CMake + Bazel).

Reviewed changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
bindings/cpp/src/types.rs Adds conversions between FFI and core database metadata types.
bindings/cpp/src/lib.rs Extends the CXX bridge and implements new Admin database/partition operations.
bindings/cpp/src/ffi_converter.hpp Adds C++ ↔ FFI converters for database descriptor/info.
bindings/cpp/src/admin.cpp Adds C++ Admin wrapper methods for new database ops and drop_partition.
bindings/cpp/include/fluss.hpp Exposes DatabaseDescriptor, DatabaseInfo, and new Admin methods in the public C++ API.
bindings/cpp/examples/admin_example.cpp New example demonstrating database + table admin operations.
bindings/cpp/CMakeLists.txt Adds a CMake target for the new admin example binary.
bindings/cpp/BUILD.bazel Adds a Bazel target for the new admin example binary.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@luoyuxia
Copy link
Contributor Author

luoyuxia commented Feb 8, 2026

@fresh-borzoni @zhaohaidao Could you please help review?

Copy link
Contributor

@fresh-borzoni fresh-borzoni left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@luoyuxia TY for the PR.
LGTM 👍

@luoyuxia luoyuxia merged commit 86e8e24 into apache:main Feb 8, 2026
13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Database level ops for CPP bindings

2 participants