Trigger creation fails with error 4016 when CALLing a procedure with ENUM INOUT parameter inside trigger
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 2.9k
- Forks
- 339
- Avg merge
- 1d 19h
- Merged PRs (30d)
- 52
Description
Environment
- Version: OceanBase seekdb (r) (Built 1-042b4c3c6ef9b8a461555ee3cf6e2eccd1e03376 Apr 9 2026)
- Platform: arm64
- Runtime Environment: Android Virtual Device (emulator-5554) created by Android Studio
- Startup Command:
./data/local/tmp/seekdb --nodaemon --base-dir /data/local/tmp/seekdb_data --port 5881 - Listening Port: 5881
Description
When running the mysqltest test case pl.pl_enum_set_bugs_mysql on an Android emulator, the creation of a trigger fails with error 4016 Internal error. The trigger contains a CALL statement to a procedure that has an ENUM INOUT parameter. The same test passes on a Linux environment.
Steps to Reproduce
- On the target machine, navigate to the directory:
/obdata/data/AndroidTest/ob_opensource_test/tools/deploy - Execute the following commands:
export OCEANBASE_HOME=/obdata/data/AndroidTest/ob_opensource_test/
cd ${OCEANBASE_HOME}/tools/deploy
source activate_obd.sh
export OBD_SEEKDB_STATUS_FALLBACK_TCP=1
obd test mysqltest test_env --mysqltest-bin=${OCEANBASE_HOME}/deps/3rd/u01/obclient/bin/mysqltest --obclient-bin=${OCEANBASE_HOME}/deps/3rd/u01/obclient/bin/obclient --init-only --init-sql-dir=${OCEANBASE_HOME}/tools/deploy --init-sql-files='init.sql,init_user.sql|root@sys|test'
obd test mysqltest test_env --mysqltest-bin=${OCEANBASE_HOME}/deps/3rd/u01/obclient/bin/mysqltest --obclient-bin=${OCEANBASE_HOME}/deps/3rd/u01/obclient/bin/obclient --disable-reboot --test-set=pl.pl_enum_set_bugs_mysql
Actual Result
- On Android Emulator: The test fails with error
4016 Internal errorduring trigger creation. - On Linux: The test passes successfully.
Additional Context
The issue appears to be specific to the Android (arm64) platform when handling the creation of a trigger that invokes a stored procedure with an ENUM INOUT parameter.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by running the mysqltest case pl.pl_enum_set_bugs_mysql with the supplied obd commands on the Android arm64 environment, then compare trigger creation with Linux. Focus on the trigger that CALLs a procedure with an ENUM INOUT parameter; done means the test passes on Android without error 4016.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- android, sql
- Domain
- databases, mobile-dev
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100