Skip to content
This repository was archived by the owner on Apr 29, 2025. It is now read-only.

Releases: overextended/oxmysql

v2.13.0

17 Feb 10:21
Compare
Choose a tag to compare
v2.13.0 Pre-release
Pre-release

This update only enables support for NodeJS v22. Requires FXServer 12913 or higher.

Almost all users will experience server crashes on artifacts 12913 or higher.
The developers of FiveM are too incompetent to fix any of the problems they have caused, so do not use this release.

We suggest using https://artifacts.jgscripts.com/ to find stable releases of FXServer. We suggest closing down your FiveM server.

Features

Bug Fixes

  • lib/ts: build issues and export name (Linden)

Commits

  • 586340d: v2.12.0 (GitHub Actions)

v2.12.0

27 Oct 00:54
Compare
Choose a tag to compare
  • External logger services can now be loaded with set mysql_logger_service '@resource/path.js'.
  • Added support for mysql_option(s) in resource metadata (fxmanifest).
  • Added mysql_option 'return_callback_errors', allowing error handling in your callbacks.
MySQL.scalar('SELECT datefOfBirth FROM characters LIMIT 1', function(res, err)
    if err then error(err) end

    print('scalar', res)
end)
  • Added MySQL.startTransaction to library.
local success = MySQL.startTransaction(function(query)
    local a = query('INSERT INTO users (identifier) VALUES (?)', { 'someid' })

    -- if a is undefined, return false and rollback
    if not a then
        return false
    end

    -- errors in a query (e.g. syntax) will result in a rollback
    local b = query('SELEC * FROM users WHERE id = ? LIMIT 1', { a.insertId })

    -- transactions timeout after 30s to prevent connections being locked
    Wait(30000)

    -- throwing an error during a transaction will rollback
    if not b then
        error('sad')
    end

    -- no return, or any truthy value, will commit the transaction and release the connection
end)

print(success)

Features

  • lib/lua: add options and 'return_callback_errors' (Linden)
  • add startTransaction to library (Linden)
  • logger: support loading external loggers (Linden)

Bug Fixes

  • logger: catch errors when triggering error callback (Linden)
  • lib: assert query value when using query store (Linden)
  • revert citizenfx/server dependency update (Linden)
  • update types/node (Linden)
  • web: update and resolve conflicting dependencies (Linden)
  • utils/parseArguments: resolve null parameters in sparse arrays (Linden)
  • db/pool: set pool after confirming a connection (Linden)
  • db/pool: don't manually fetch connection (Linden)

Code Refactoring

  • database/pool: link to issues when connection fails (Linden)

Chores

Commits

  • bfe660b: v2.11.2 (GitHub Actions)

v2.11.2

09 Aug 05:33
Compare
Choose a tag to compare

Bug Fixes

  • utils/parseResponse: use nullish coalescing operator (Linden)

Commits

  • 22be4b1: v2.11.1 (GitHub Actions)

v2.11.1

09 Aug 04:34
Compare
Choose a tag to compare

Bug Fixes

  • build: typo in fxmanifest creation (Linden)

Commits

  • f8f3906: v2.11.0 (GitHub Actions)

v2.11.0

09 Aug 04:02
Compare
Choose a tag to compare

Features

  • logger: add fivemanage logging service #232 (Linden)
  • utils/typeCast: support date typecasting for binary protocol #232 (Linden)

Bug Fixes

  • update: catch error on failed fetch (Linden)
  • database/connection: return promise from commit method #232 (Linden)
  • database/connection: disable typecasting for execute method #232 (Linden)
  • utils/typeCast: correctly parse null date fields #232 (Linden)
  • patches/mysql: missing charset patch #232 (Linden)
  • config: allow database to be undefined in uri #232 (Linden)

Code Refactoring

  • database: add new connection class and misc tweaks #232 (Linden)
  • profiler: move from logger module #232 (Linden)
  • database/pool: warn if using multipleStatements #232 (Linden)
  • logger: dynamically load logger service (Linden)

Chores

Commits

  • 5440e03: v2.10.1 (GitHub Actions)
  • 318b4c1: Revert "chore: update build target to nodejs 20" (Linden) #232

v2.10.1

09 May 02:05
Compare
Choose a tag to compare

Bug Fixes

  • update: incorrect regex patterns (Linden)
  • ci/release: update pnpm (Linden)
  • ci/release: update node (Linden)

Code Refactoring

  • db/connection: additional info for auth_gssapi_client error (Linden)

Chores

  • dependencies: set target versions (Linden)

Commits

  • 40faa5e: v2.10.0 (GitHub Actions)

v2.10.0

08 May 18:23
Compare
Choose a tag to compare

Features

  • query search for debug ui (Luke)
  • utils/validateResultSet: add warning for oversized result sets (Linden)

Bug Fixes

  • web: resolve dead font cdn link (Luke)

Commits

v2.9.1

06 Mar 03:00
Compare
Choose a tag to compare

(Experimental) New transaction usage

This function is not yet fully supported and will receive breaking changes in future updates - this export and information is provided only for feedback and testing purposes.

Sample usage of the new transaction export.

CreateThread(function()
    local success = exports.oxmysql:experimentalTransaction(function(query)
        local a = query('INSERT INTO users (identifier) VALUES (?)', { 'someid' })
        
        if not a then return false end -- if a is undefined, return false and rollback
        
        -- local b = query('SELEC * FROM users WHERE id = ? LIMIT 1', { a.insertId }) -- syntax error leads to rollback

        -- Wait(30000) -- connection will timeout and rollback transaction

        -- error('sad') -- any errors will rollback

        -- no return, or any truthy value, will commit the transaction and release the connection
    end)

    print(success)
end)

Bug Fixes

  • db: incorrect error handling when no callback is defined (Linden)

Code Refactoring

  • db/startTransaction: remove execute from cb (Linden)
  • db/startTransaction: add 30s timeout to transactions (Linden)
  • db/startTransaction: include query and values in errors (Linden)

Commits

v2.9.0

29 Feb 22:20
Compare
Choose a tag to compare

Features

  • db: experimental transaction export (Linden)

Bug Fixes

  • logger: strip lua scheduler errors (Linden)
  • logger: potential error on error handling (Linden)

Code Refactoring

  • db/connection: set and get active connections (Linden)
  • db/startTransaction: use internal query functions (Linden)

Continuous Integration

  • release: update checkout action (Linden)
  • release: push updates to repo (Linden)
  • release: set repo ref to main (Linden)

Commits

  • 0ede55d: Create FUNDING.yml (Linden)

v2.8.0

02 Feb 06:04
Compare
Choose a tag to compare

Features

  • provide additional compatibility exports (Linden)
  • logger: add logStorage size limit (Linden)

Code Refactoring

  • logger: handle error event in error logger (Linden)
  • logger: non-debug query profiling (Linden)
  • update esbuild and build process (Linden)

Continuous Integration

  • release: update commit action (Linden)
  • release: correct commit message (Linden)