Skip to content

Compatibility issues between omp-mysql v1.0.0 include and runtime binary #1

Description

@itzxbeatzz

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:

  1. The natives should be available in the runtime component,

or:

  1. 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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions