oceanbase/seekdb

[Enhancement]: [embed] return meaningful error message to user

Open

#8 opened on Nov 7, 2025

View on GitHub
 (1 comment) (0 reactions) (0 assignees)C++ (242 forks)github user discovery
help wantedmodule: embedtype: enhancementvibe coding: hard

Repository metrics

Stars
 (2,613 stars)
PR merge metrics
 (Avg merge 3d 3h) (47 merged PRs in 30d)

Description

Enhancement The error messages returned to user is not clear enough, for example:

>>> seekdb.open()
>>> seekdb.open()
[seekdb] seekdb has opened
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
RuntimeError: open seekdb failed 4005 The object is initialized twice

Maybe we can transfer internal error information to mysql error message. There're some help functions to convert oceanbase error message to user message:

// in file src/share/ob_errno.h
int ob_mysql_errno(const int oberr);
  int ob_mysql_errno_with_check(const int oberr);
  const char *ob_sqlstate(const int oberr);
  const char *ob_strerror(const int oberr);
  const char *ob_str_user_error(const int oberr);

Contributor guide