oceanbase / oceanbase/miniob

虚拟表

Open
#346 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

feature help wanted
Dominant language
C++
Stars
4.4k
Forks
1.6k
PR merge metrics
No merged PRs in 30d

Description

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

当前MiniOB没有查询数据库内部状态的能力,比如当前正在执行的会话以及他们的状态、系统的配置信息、内部组件的统计信息等。

Describe the solution you'd like
A clear and concise description of what you want to happen.

实现虚拟表功能。
虚拟表的数据是在内存中的,给用户提供统一的抽象访问方式虚拟表,用户可以访问内存中的数据。
比如系统配置,提供虚拟表实现查询方式: select * from miniob.__config;
miniob.__config的存储引擎中,返回配置数据访问的接口。
此功能依赖 #345 提供一个抽象的引擎访问接口。

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.
OceanBase 的实现参考 https://github.com/oceanbase/oceanbase/tree/develop/src/observer/virtual_table

还可以参考 MySQL information_schema 的实现。

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading the abstract engine access interface proposed in issue #345, then compare the requested behavior with OceanBase's virtual_table implementation and MySQL information_schema. Define the scope of the first virtual table, such as miniob.__config, and verify that its in-memory data can be queried through the example SQL statement.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
databases
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.