@@ -5,6 +5,7 @@ package pgx
55import  (
66	"context" 
77	"database/sql" 
8+ 	"errors" 
89	"fmt" 
910	"io" 
1011	nurl "net/url" 
@@ -294,11 +295,7 @@ func (p *Postgres) applyTableLock() error {
294295	defer  func () {
295296		errRollback  :=  tx .Rollback ()
296297		if  errRollback  !=  nil  {
297- 			if  err  ==  nil  {
298- 				err  =  errRollback 
299- 			} else  {
300- 				err  =  fmt .Errorf ("%w: %w" , err , errRollback )
301- 			}
298+ 			err  =  errors .Join (err , errRollback )
302299		}
303300	}()
304301
@@ -315,11 +312,7 @@ func (p *Postgres) applyTableLock() error {
315312
316313	defer  func () {
317314		if  errClose  :=  rows .Close (); errClose  !=  nil  {
318- 			if  err  ==  nil  {
319- 				err  =  errClose 
320- 			} else  {
321- 				err  =  fmt .Errorf ("%w: %w" , err , errClose )
322- 			}
315+ 			err  =  errors .Join (err , errClose )
323316		}
324317	}()
325318
@@ -461,7 +454,7 @@ func (p *Postgres) SetVersion(version int, dirty bool) error {
461454	query  :=  `TRUNCATE `  +  quoteIdentifier (p .config .migrationsSchemaName ) +  `.`  +  quoteIdentifier (p .config .migrationsTableName )
462455	if  _ , err  :=  tx .Exec (query ); err  !=  nil  {
463456		if  errRollback  :=  tx .Rollback (); errRollback  !=  nil  {
464- 			err  =  fmt . Errorf ( "%w: %w" ,  err , errRollback )
457+ 			err  =  errors . Join ( err , errRollback )
465458		}
466459		return  & database.Error {OrigErr : err , Query : []byte (query )}
467460	}
@@ -473,7 +466,7 @@ func (p *Postgres) SetVersion(version int, dirty bool) error {
473466		query  =  `INSERT INTO `  +  quoteIdentifier (p .config .migrationsSchemaName ) +  `.`  +  quoteIdentifier (p .config .migrationsTableName ) +  ` (version, dirty) VALUES ($1, $2)` 
474467		if  _ , err  :=  tx .Exec (query , version , dirty ); err  !=  nil  {
475468			if  errRollback  :=  tx .Rollback (); errRollback  !=  nil  {
476- 				err  =  fmt . Errorf ( "%w: %w" ,  err , errRollback )
469+ 				err  =  errors . Join ( err , errRollback )
477470			}
478471			return  & database.Error {OrigErr : err , Query : []byte (query )}
479472		}
@@ -515,11 +508,7 @@ func (p *Postgres) Drop() (err error) {
515508	}
516509	defer  func () {
517510		if  errClose  :=  tables .Close (); errClose  !=  nil  {
518- 			if  err  ==  nil  {
519- 				err  =  errClose 
520- 			} else  {
521- 				err  =  fmt .Errorf ("%w: %w" , err , errClose )
522- 			}
511+ 			err  =  errors .Join (err , errClose )
523512		}
524513	}()
525514
@@ -567,11 +556,7 @@ func (p *Postgres) ensureVersionTable() (err error) {
567556
568557	defer  func () {
569558		if  e  :=  p .Unlock (); e  !=  nil  {
570- 			if  err  ==  nil  {
571- 				err  =  e 
572- 			} else  {
573- 				err  =  fmt .Errorf ("%w: %w" , err , e )
574- 			}
559+ 			err  =  errors .Join (err , e )
575560		}
576561	}()
577562
0 commit comments