summaryrefslogtreecommitdiff
path: root/vendor/github.com/go-pg/pg/v10/result.go
blob: b8d8d9e4523bcaad2d8ea37ae1a97ea297007d00 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
package pg

import (
	"bytes"
	"strconv"

	"github.com/go-pg/pg/v10/internal"
	"github.com/go-pg/pg/v10/orm"
)

// Result summarizes an executed SQL command.
type Result = orm.Result

// A result summarizes an executed SQL command.
type result struct {
	model orm.Model

	affected int
	returned int
}

var _ Result = (*result)(nil)

//nolint
func (res *result) parse(b []byte) error {
	res.affected = -1

	ind := bytes.LastIndexByte(b, ' ')
	if ind == -1 {
		return nil
	}

	s := internal.BytesToString(b[ind+1 : len(b)-1])

	affected, err := strconv.Atoi(s)
	if err == nil {
		res.affected = affected
	}

	return nil
}

func (res *result) Model() orm.Model {
	return res.model
}

func (res *result) RowsAffected() int {
	return res.affected
}

func (res *result) RowsReturned() int {
	return res.returned
}