plugins/core/rest-api-knex-plugin.js:213:    helpers.newTransaction = async () => {
plugins/core/rest-api-knex-plugin.js:214:      return knex.transaction()
plugins/core/rest-api-knex-plugin.js:232:     * @param {Object} params.context.db - Database connection (knex instance or transaction)
plugins/core/rest-api-knex-plugin.js:270:     * @param {Object} params.context.db - Database connection (knex instance or transaction)
plugins/core/rest-api-knex-plugin.js:369:     * @param {Object} params.context.db - Database connection (knex instance or transaction)
plugins/core/rest-api-knex-plugin.js:426:     * @param {Object} params.context.db - Database connection (knex instance or transaction)
plugins/core/rest-api-knex-plugin.js:893:     * @param {Object} params.context.db - Database connection (knex instance or transaction)
plugins/core/rest-api-knex-plugin.js:937:     * @param {Object} params.context.db - Database connection (knex instance or transaction)
plugins/core/rest-api-knex-plugin.js:1022:     * @param {Object} params.context.db - Database connection (knex instance or transaction)
plugins/core/rest-api-knex-plugin.js:1091:     * @param {Object} params.context.db - Database connection (knex instance or transaction)
plugins/core/lib/writing/many-to-many-manipulations.js:26: *     transaction: trx
plugins/core/lib/writing/many-to-many-manipulations.js:106:  const { resourceId, relDef, relData, transaction: trx } = context
plugins/core/lib/writing/many-to-many-manipulations.js:118:  const existingRecords = await trx(tableName)
plugins/core/lib/writing/many-to-many-manipulations.js:137:          transaction: trx
plugins/core/lib/writing/many-to-many-manipulations.js:154:    await trx(tableName)
plugins/core/lib/writing/many-to-many-manipulations.js:167:    await trx(tableName).insert(recordsToInsert)
plugins/core/lib/writing/many-to-many-manipulations.js:185: * @param {Object} trx - Database transaction object
plugins/core/lib/writing/many-to-many-manipulations.js:201: * await createPivotRecords(api, '100', relDef, relData, trx);
plugins/core/lib/writing/many-to-many-manipulations.js:216: *   await createPivotRecords(api, '100', relDef, relData, trx);
plugins/core/lib/writing/many-to-many-manipulations.js:220: *   // Transaction rolled back, no records created
plugins/core/lib/writing/many-to-many-manipulations.js:233: * await createPivotRecords(api, userId, relDef, permissions, trx);
plugins/core/lib/writing/many-to-many-manipulations.js:248: * - Works within transactions for atomicity
plugins/core/lib/writing/many-to-many-manipulations.js:259:export const createPivotRecords = async (api, resourceId, relDef, relData, trx) => {
plugins/core/lib/writing/many-to-many-manipulations.js:277:          transaction: trx
plugins/core/lib/writing/many-to-many-manipulations.js:299:  await trx(tableName).insert(recordsToInsert)
plugins/core/lib/querying/knex-process-includes.js:112:    const db = context.transaction || knex
plugins/core/lib/storage/storage-adapter.js:34:  const buildBaseQuery = ({ transaction } = {}) => {
plugins/core/lib/storage/storage-adapter.js:35:    const query = (transaction || knex)(tableName)
