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_builder{
ConnectionId: c.connectionId,
ConnProps: message.ConnectionProperties_builder{
AutoCommit: false,
HasAutoCommit: true,
TransactionIsolation: uint32(isolationLevel),
}.Build(),
}.Build())
if err != nil {
return nil, c.avaticaErrorToResponseErrorOrError(err)
}
return &tx{conn: c}, nil
}