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);
Enhancement
The error messages returned to user is not clear enough, for example:
Maybe we can transfer internal error information to mysql error message.
There're some help functions to convert oceanbase error message to user message: