How I Built an AI-Powered OceanBase Parameter Comparison Web App in Under an Hour

The author describes using an AI code‑assistant to quickly create a web page that lists all released OceanBase versions, extracts their default parameter files from the source code, and highlights differences between selected versions, all without writing any manual code and deploying it on GitHub Pages.

Aikesheng Open Source Community
Aikesheng Open Source Community
Aikesheng Open Source Community
How I Built an AI-Powered OceanBase Parameter Comparison Web App in Under an Hour

Problem

OceanBase users need to identify configuration parameter changes between releases. The traditional workflow requires manually browsing the official documentation for each version, locating the parameter sections, and recording differences, which is time‑consuming and error‑prone.

Approach

A lightweight web interface was designed to automate the comparison. The tool lists all released OceanBase versions, allows the user to select multiple versions, extracts the default parameter definitions directly from the source code, and highlights only the parameters that differ.

Locating the Parameter Definition File

Using the AI‑driven code‑analysis service deepwiki , the repository https://github.com/oceanbase/oceanbase was queried for the file that stores default system parameters. The service identified ob_parameter_seed.ipp (path src/ob_parameter/ob_parameter_seed.ipp) as the single source of all default parameter values.

Generating the Tool with AI Assistance

The AI assistant Cursor was prompted with the following functional requirements:

Fetch the list of OceanBase releases in real time.

Download the source code for each selected release.

Parse ob_parameter_seed.ipp to extract parameter names and default values.

Support side‑by‑side comparison of multiple versions.

Highlight differences and optionally display only changed parameters.

Cursor produced an initial implementation that covered roughly 80 % of the desired functionality, which was refined through iterative dialogue.

Implementation Details

The final implementation follows these steps:

Retrieve the version list via the GitHub releases API, e.g.:

curl -s https://api.github.com/repos/oceanbase/oceanbase/releases \
  | jq -r '.[].tag_name'

For each selected tag, download the corresponding source tarball (or clone the tag) and locate ob_parameter_seed.ipp:

Parse the file to build a map of {parameter_name: default_value}. A simple regular expression extracts the macro arguments:

import re
params = {}
for line in open('ob_parameter_seed.ipp'):
    m = re.search(r'OB_DEFINE_SYSTEM_PARAM\(([^,]+),\s*([^,]+),', line)
    if m:
        name = m.group(1).strip()
        value = m.group(2).strip()
        params[name] = value

Compare the dictionaries from the selected versions. For each parameter, if the value differs across versions, record the difference.

Render an HTML table where changed cells are wrapped in <strong> to highlight them. The UI also offers a “show only differences” toggle.

Deployment

The static site was built and published to GitHub Pages, making the tool publicly accessible without a backend server.

GitHub Pages URL: https://kevinbin.github.io/ob-parameters-diff/

Outcome

The resulting web application automatically lists OceanBase releases, extracts the default parameters from the official source code, and visually highlights any differences between selected versions. The entire workflow—from requirement definition to a functional prototype—was completed in under an hour using AI‑assisted code generation.

Web developmentOceanBaseGitHub PagesParameter Comparison
Aikesheng Open Source Community
Written by

Aikesheng Open Source Community

The Aikesheng Open Source Community provides stable, enterprise‑grade MySQL open‑source tools and services, releases a premium open‑source component each year (1024), and continuously operates and maintains them.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.