Description
While migrating an existing open.mp gamemode from BlueG MySQL R41-4 to omp-MySQL v1.0.0, we noticed some differences between the provided include file (omp-mysql.inc) and the runtime component (omp-mysql.dll).
The issues were discovered on:
- open.mp server: 1.5.8.3079
- Platform: Windows x86
- omp-MySQL: v1.0.0
- Database: MySQL Server 8.4.6
Issue 1: Missing native registrations
The include file exposes the following functions:
mysql_execute_file()
mysql_execute_file_sync()
mysql_execute_sync()
However, the runtime component does not appear to register these natives.
Observed behavior:
native function not found / not registered
Affected functions:
mysql_execute_file
mysql_execute_file_sync
mysql_execute_sync
Issue 2: mysql_execute_sync() return behavior
According to the available API information, mysql_execute_sync() appears intended to provide synchronous query execution with result handling.
During testing:
- Function call succeeds
- Return value indicates success
- No ResultSet is available afterwards
Expected behavior:
A synchronous query returning an accessible ResultSet, similar to the documented API.
Issue 3: Migration runner compatibility
Because of the missing/changed synchronous file query functions, an existing migration system had to be adapted.
Current workaround:
- Migration SQL files remain unchanged
- Migration execution is handled through an internal query registry
- Migration history validation runs through asynchronous queries
This works, but prevents direct usage of the documented synchronous migration helpers.
Expected behavior
The following should match between:
omp-mysql.inc
- shipped binary component
Either:
- The natives should be available in the runtime component,
or:
- The include should be adjusted to match the actual exported API.
Additional information
No other issues were found during runtime testing:
Successful:
- MySQL 8.4 connection
- TLS connection
- utf8mb4 charset
- async queries
- ResultSet handling
- query error callback
- query context tracking
The migration layer works after adapting around the missing functions.
Environment
open.mp: 1.5.8.3079
OS: Windows
Architecture: x86
omp-MySQL: 1.0.0
MySQL: 8.4.6
Description
While migrating an existing open.mp gamemode from BlueG MySQL R41-4 to omp-MySQL v1.0.0, we noticed some differences between the provided include file (
omp-mysql.inc) and the runtime component (omp-mysql.dll).The issues were discovered on:
Issue 1: Missing native registrations
The include file exposes the following functions:
mysql_execute_file() mysql_execute_file_sync() mysql_execute_sync()However, the runtime component does not appear to register these natives.
Observed behavior:
Affected functions:
mysql_execute_filemysql_execute_file_syncmysql_execute_syncIssue 2: mysql_execute_sync() return behavior
According to the available API information,
mysql_execute_sync()appears intended to provide synchronous query execution with result handling.During testing:
Expected behavior:
A synchronous query returning an accessible ResultSet, similar to the documented API.
Issue 3: Migration runner compatibility
Because of the missing/changed synchronous file query functions, an existing migration system had to be adapted.
Current workaround:
This works, but prevents direct usage of the documented synchronous migration helpers.
Expected behavior
The following should match between:
omp-mysql.incEither:
or:
Additional information
No other issues were found during runtime testing:
Successful:
The migration layer works after adapting around the missing functions.
Environment