in connection.go [100:123]
func (c *conn) begin(ctx context.Context, isolationLevel isoLevel) (driver.Tx, error) {
if c.connectionId == "" {
return nil, driver.ErrBadConn
}
if isolationLevel == isolationUseCurrent {
isolationLevel = isoLevel(c.config.transactionIsolation)
}
_, err := c.httpClient.post(ctx, &message.ConnectionSyncRequest{
ConnectionId: c.connectionId,
ConnProps: &message.ConnectionProperties{
AutoCommit: false,
HasAutoCommit: true,
TransactionIsolation: uint32(isolationLevel),
},
})
if err != nil {
return nil, c.avaticaErrorToResponseErrorOrError(err)
}
return &tx{conn: c}, nil
}