Skip to content

[stable29] fix(Database): Use real idle-timer to prevent lastInsertId being reset on MariaDB/MySQL - #62709

Draft
backportbot[bot] wants to merge 1 commit into
stable29from
backport/62697/stable29
Draft

[stable29] fix(Database): Use real idle-timer to prevent lastInsertId being reset on MariaDB/MySQL#62709
backportbot[bot] wants to merge 1 commit into
stable29from
backport/62697/stable29

Conversation

@backportbot

@backportbot backportbot Bot commented Jul 30, 2026

Copy link
Copy Markdown

Backport of #62697

Warning, This backport's changes differ from the original and might be incomplete ⚠️

Todo

  • Review and resolve any conflicts
  • Review and verify the backported changes
  • Amend HEAD commit to remove the line stating to skip CI

Learn more about backports at https://docs.nextcloud.com/server/stable/go.php?to=developer-backports.

…set on MariaDB/MySQL

fix(Database): Use real idle-timer to prevent `lastInsertId` being reset on MariaDB/MySQL

The previous implementation of the idle timer runs on a strict 30 second interval and sends a dummy `SELECT` statement to keep the connection open.

This generates issues with the `lastInsertId` on long-running tasks (like our CI pipeline), as the MariaDB documentation clearly states:

> If the last query wasn't an INSERT or UPDATE statement or if the modified table does not have a column with the AUTO_INCREMENT attribute and LAST_INSERT_ID was not used, this function will return zero.

Source: https://mariadb.com/docs/connectors/mariadb-connector-c/api-functions/mysql_insert_id

To mitigate that, this commit now uses a real idle-timer per connection instead.

Assisted-by: ClaudeCode:claude-fable-5

Signed-off-by: David Dreschner <david.dreschner@nextcloud.com>

[skip ci]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

3. to review Waiting for reviews AI assisted bug CI feature: database Database related DB tests Related to tests

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant