kysely-org / kysely

A type-safe typescript SQL query builder
https://kysely.dev
MIT License
9.81k stars 249 forks source link

Support table names in UpdateQueryBuilder.returningAll #1021

Closed koskimas closed 2 weeks ago

koskimas commented 1 month ago

This should work

db.updateTable('Queues')
  .set('status', 'processing')
  .from((eb) =>
    eb
      .selectFrom('Queues')
      .innerJoin('Messages', 'Queues.messageId', 'Messages.id')
      .selectAll('Queues')
      .select([
        'Messages.event',
        'Messages.payload',
        'Messages.id as messageId',
        'Messages.createdAt'
      ])
      .where('Queues.status', '=', 'pending')
      .forUpdate()
      .skipLocked()
      .as('query')
  )
  .where('Queues.id', '=', 'query.id')
  .returningAll('query') // types doesn't work
  .execute()