Compare commits
2 Commits
Author | SHA1 | Date | |
---|---|---|---|
2f1b784dc2
|
|||
190584e0e6
|
@@ -22,7 +22,7 @@ type ExErr struct {
|
||||
WrappedErrType string `json:"wrappedErrType"`
|
||||
Caller string `json:"caller"`
|
||||
|
||||
OriginalError *ExErr
|
||||
OriginalError *ExErr `json:"originalError"`
|
||||
|
||||
Meta MetaMap `json:"meta"`
|
||||
}
|
||||
@@ -31,10 +31,16 @@ func (ee *ExErr) Error() string {
|
||||
return ee.Message
|
||||
}
|
||||
|
||||
// Unwrap must be implemented so that some error.XXX methods work
|
||||
func (ee *ExErr) Unwrap() error {
|
||||
return ee.OriginalError
|
||||
}
|
||||
|
||||
// Is must be implemented so that error.Is(x) works
|
||||
func (ee *ExErr) Is(e error) bool {
|
||||
return IsFrom(ee, e)
|
||||
}
|
||||
|
||||
func (ee *ExErr) Log(evt *zerolog.Event) {
|
||||
evt.Msg(ee.FormatLog(LogPrintFull))
|
||||
}
|
||||
|
@@ -24,6 +24,8 @@ func IsFrom(e error, original error) bool {
|
||||
if e == nil {
|
||||
return false
|
||||
}
|
||||
|
||||
//goland:noinspection GoDirectComparisonOfErrors
|
||||
if e == original {
|
||||
return true
|
||||
}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
package goext
|
||||
|
||||
const GoextVersion = "0.0.217"
|
||||
const GoextVersion = "0.0.219"
|
||||
|
||||
const GoextVersionTimestamp = "2023-07-27T17:12:41+0200"
|
||||
const GoextVersionTimestamp = "2023-07-28T15:42:12+0200"
|
||||
|
@@ -54,7 +54,7 @@ func (tx *transaction) Rollback() error {
|
||||
|
||||
result := tx.tx.Rollback()
|
||||
|
||||
if result != nil {
|
||||
if result == nil {
|
||||
tx.status = TxStatusRollback
|
||||
}
|
||||
|
||||
@@ -75,7 +75,7 @@ func (tx *transaction) Commit() error {
|
||||
|
||||
result := tx.tx.Commit()
|
||||
|
||||
if result != nil {
|
||||
if result == nil {
|
||||
tx.status = TxStatusComitted
|
||||
}
|
||||
|
||||
@@ -97,7 +97,7 @@ func (tx *transaction) Exec(ctx context.Context, sqlstr string, prep PP) (sql.Re
|
||||
|
||||
res, err := tx.tx.NamedExecContext(ctx, sqlstr, prep)
|
||||
|
||||
if tx.status == TxStatusInitial && err != nil {
|
||||
if tx.status == TxStatusInitial && err == nil {
|
||||
tx.status = TxStatusActive
|
||||
}
|
||||
|
||||
@@ -122,7 +122,7 @@ func (tx *transaction) Query(ctx context.Context, sqlstr string, prep PP) (*sqlx
|
||||
|
||||
rows, err := sqlx.NamedQueryContext(ctx, tx.tx, sqlstr, prep)
|
||||
|
||||
if tx.status == TxStatusInitial && err != nil {
|
||||
if tx.status == TxStatusInitial && err == nil {
|
||||
tx.status = TxStatusActive
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user