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.
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] = valueCompare 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.
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.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
