Transaction rollback

Hello guys. Kind of dumb question but should I cover body of transaction in try/catch and call rollback explicitly? Here is an example. What will happen some query throws an error in transaction callback?

sessionId = await db.transaction(async (tx) => {
      const [{insertedSessionId}] = await tx
        .insert(session)
        .values({
          auctionid: values.auctionId,
          auctiondate: values.auctionDate,
          sessiondate: values.previewDate,
        })
        .returning({insertedSessionId: session.sessionid});
      await tx.insert(customersession).values({
        sessionid: insertedSessionId,
        customerid: values.customerId,
        isclone: false,
      });
      return insertedSessionId;
    });
Was this page helpful?