2
0

Resplit Begin and BeginEx

This is in preparation for a Begin / Tx interface that will similate
nested transactions with savepoints.

In addition, this passes the TxOptions struct by value and thereby
removes an allocation.
This commit is contained in:
Jack Christensen
2019-08-17 15:53:55 -05:00
parent f3c703a102
commit c3e41872a8
9 changed files with 44 additions and 35 deletions
+6 -2
View File
@@ -66,8 +66,12 @@ func (c *Conn) CopyFrom(ctx context.Context, tableName pgx.Identifier, columnNam
return c.Conn().CopyFrom(ctx, tableName, columnNames, rowSrc)
}
func (c *Conn) Begin(ctx context.Context, txOptions *pgx.TxOptions) (*pgx.Tx, error) {
return c.Conn().Begin(ctx, txOptions)
func (c *Conn) Begin(ctx context.Context) (*pgx.Tx, error) {
return c.Conn().Begin(ctx)
}
func (c *Conn) BeginEx(ctx context.Context, txOptions pgx.TxOptions) (*pgx.Tx, error) {
return c.Conn().BeginEx(ctx, txOptions)
}
func (c *Conn) Conn() *pgx.Conn {
+5 -2
View File
@@ -352,13 +352,16 @@ func (p *Pool) SendBatch(ctx context.Context, b *pgx.Batch) pgx.BatchResults {
return &poolBatchResults{br: br, c: c}
}
func (p *Pool) Begin(ctx context.Context, txOptions *pgx.TxOptions) (*Tx, error) {
func (p *Pool) Begin(ctx context.Context) (*Tx, error) {
return p.BeginEx(ctx, pgx.TxOptions{})
}
func (p *Pool) BeginEx(ctx context.Context, txOptions pgx.TxOptions) (*Tx, error) {
c, err := p.Acquire(ctx)
if err != nil {
return nil, err
}
t, err := c.Begin(ctx, txOptions)
t, err := c.BeginEx(ctx, txOptions)
if err != nil {
return nil, err
}
+5 -5
View File
@@ -16,7 +16,7 @@ func TestTxExec(t *testing.T) {
require.NoError(t, err)
defer pool.Close()
tx, err := pool.Begin(context.Background(), nil)
tx, err := pool.Begin(context.Background())
require.NoError(t, err)
defer tx.Rollback(context.Background())
@@ -30,7 +30,7 @@ func TestTxQuery(t *testing.T) {
require.NoError(t, err)
defer pool.Close()
tx, err := pool.Begin(context.Background(), nil)
tx, err := pool.Begin(context.Background())
require.NoError(t, err)
defer tx.Rollback(context.Background())
@@ -44,7 +44,7 @@ func TestTxQueryRow(t *testing.T) {
require.NoError(t, err)
defer pool.Close()
tx, err := pool.Begin(context.Background(), nil)
tx, err := pool.Begin(context.Background())
require.NoError(t, err)
defer tx.Rollback(context.Background())
@@ -58,7 +58,7 @@ func TestTxSendBatch(t *testing.T) {
require.NoError(t, err)
defer pool.Close()
tx, err := pool.Begin(context.Background(), nil)
tx, err := pool.Begin(context.Background())
require.NoError(t, err)
defer tx.Rollback(context.Background())
@@ -72,7 +72,7 @@ func TestTxCopyFrom(t *testing.T) {
require.NoError(t, err)
defer pool.Close()
tx, err := pool.Begin(context.Background(), nil)
tx, err := pool.Begin(context.Background())
require.NoError(t, err)
defer tx.Rollback(context.Background())