Compare commits
7 Commits
Author | SHA1 | Date |
---|---|---|
|
f1ec6d0fc6 | |
|
3db7e50f1a | |
|
7f1c3542b0 | |
|
f799533201 | |
|
26a0aaaf27 | |
|
900ce23197 | |
|
aa24dc24bf |
1
go.mod
1
go.mod
|
@ -5,4 +5,5 @@ go 1.13
|
||||||
require (
|
require (
|
||||||
git.bit5.ru/backend/mysql v1.0.0
|
git.bit5.ru/backend/mysql v1.0.0
|
||||||
github.com/stretchr/testify v1.8.1
|
github.com/stretchr/testify v1.8.1
|
||||||
|
go.opentelemetry.io/otel v1.11.1
|
||||||
)
|
)
|
||||||
|
|
11
go.sum
11
go.sum
|
@ -3,6 +3,13 @@ git.bit5.ru/backend/mysql v1.0.0/go.mod h1:iK3dzIpv9YAGN8Fy6zi1XGUX8R5nl9XQ9NJbw
|
||||||
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||||
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
|
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
|
||||||
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||||
|
github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
|
||||||
|
github.com/go-logr/logr v1.2.3 h1:2DntVwHkVopvECVRSlL5PSo9eG+cAkDCuckLubN+rq0=
|
||||||
|
github.com/go-logr/logr v1.2.3/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
|
||||||
|
github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag=
|
||||||
|
github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE=
|
||||||
|
github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38=
|
||||||
|
github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
|
||||||
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
|
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
|
||||||
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
||||||
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
||||||
|
@ -12,6 +19,10 @@ github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/
|
||||||
github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
|
github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
|
||||||
github.com/stretchr/testify v1.8.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKsk=
|
github.com/stretchr/testify v1.8.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKsk=
|
||||||
github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
|
github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
|
||||||
|
go.opentelemetry.io/otel v1.11.1 h1:4WLLAmcfkmDk2ukNXJyq3/kiz/3UzCaYq6PskJsaou4=
|
||||||
|
go.opentelemetry.io/otel v1.11.1/go.mod h1:1nNhXBbWSD0nsL38H6btgnFN2k4i0sNLHNNMZMSbUGE=
|
||||||
|
go.opentelemetry.io/otel/trace v1.11.1 h1:ofxdnzsNrGBYXbP7t7zpUK281+go5rF7dvdIZXF8gdQ=
|
||||||
|
go.opentelemetry.io/otel/trace v1.11.1/go.mod h1:f/Q9G7vzk5u91PhbmKbg1Qn0rzH1LJ4vbPHFGkTPtOk=
|
||||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
|
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
|
||||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||||
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||||
|
|
270
tags
270
tags
|
@ -1,270 +0,0 @@
|
||||||
!_TAG_FILE_FORMAT 2 /extended format; --format=1 will not append ;" to lines/
|
|
||||||
!_TAG_FILE_SORTED 1 /0=unsorted, 1=sorted, 2=foldcase/
|
|
||||||
!_TAG_OUTPUT_MODE u-ctags /u-ctags or e-ctags/
|
|
||||||
!_TAG_PROGRAM_AUTHOR Universal Ctags Team //
|
|
||||||
!_TAG_PROGRAM_NAME Universal Ctags /Derived from Exuberant Ctags/
|
|
||||||
!_TAG_PROGRAM_URL https://ctags.io/ /official site/
|
|
||||||
!_TAG_PROGRAM_VERSION 0.0.0 /7fcdea3/
|
|
||||||
Begin transaction.go /^func (sess *Session) Begin() (*Tx, error) {$/;" f
|
|
||||||
BenchmarkDeleteSql delete_test.go /^func BenchmarkDeleteSql(b *testing.B) {$/;" f
|
|
||||||
BenchmarkInsertRecordsSql insert_test.go /^func BenchmarkInsertRecordsSql(b *testing.B) {$/;" f
|
|
||||||
BenchmarkInsertValuesSql insert_test.go /^func BenchmarkInsertValuesSql(b *testing.B) {$/;" f
|
|
||||||
BenchmarkSelectBasicSql select_test.go /^func BenchmarkSelectBasicSql(b *testing.B) {$/;" f
|
|
||||||
BenchmarkSelectFullSql select_test.go /^func BenchmarkSelectFullSql(b *testing.B) {$/;" f
|
|
||||||
BenchmarkUpdateValueMapSql update_test.go /^func BenchmarkUpdateValueMapSql(b *testing.B) {$/;" f
|
|
||||||
BenchmarkUpdateValuesSql update_test.go /^func BenchmarkUpdateValuesSql(b *testing.B) {$/;" f
|
|
||||||
Cols insert.go /^ Cols []string$/;" m struct:InsertBuilder
|
|
||||||
Columns insert.go /^func (b *InsertBuilder) Columns(columns ...string) *InsertBuilder {$/;" f
|
|
||||||
Columns select.go /^ Columns []string$/;" m struct:SelectBuilder
|
|
||||||
Commit transaction.go /^func (tx *Tx) Commit() error {$/;" f
|
|
||||||
Condition where.go /^ Condition string$/;" m struct:whereFragment
|
|
||||||
Connection dbr.go /^type Connection struct {$/;" s
|
|
||||||
Db dbr.go /^ Db *sql.DB$/;" m struct:Connection
|
|
||||||
DeleteBuilder delete.go /^type DeleteBuilder struct {$/;" s
|
|
||||||
DeleteFrom delete.go /^func (sess *Session) DeleteFrom(from string) *DeleteBuilder {$/;" f
|
|
||||||
DeleteFrom delete.go /^func (tx *Tx) DeleteFrom(from string) *DeleteBuilder {$/;" f
|
|
||||||
Distinct select.go /^func (b *SelectBuilder) Distinct() *SelectBuilder {$/;" f
|
|
||||||
Email dbr_test.go /^ Email NullString$/;" m struct:dbrPerson
|
|
||||||
Eq where.go /^type Eq map[string]interface{}$/;" t
|
|
||||||
EqualityMap where.go /^ EqualityMap map[string]interface{}$/;" m struct:whereFragment
|
|
||||||
ErrArgumentMismatch errors.go /^ ErrArgumentMismatch = errors.New("mismatch between ? (placeholders) and arguments")$/;" v
|
|
||||||
ErrInvalidSliceLength errors.go /^ ErrInvalidSliceLength = errors.New("length of slice is 0. length must be >= 1")$/;" v
|
|
||||||
ErrInvalidSliceValue errors.go /^ ErrInvalidSliceValue = errors.New("trying to interpolate invalid slice value into query")$/;" v
|
|
||||||
ErrInvalidValue errors.go /^ ErrInvalidValue = errors.New("trying to interpolate invalid value into query")$/;" v
|
|
||||||
ErrNotFound errors.go /^ ErrNotFound = errors.New("not found")$/;" v
|
|
||||||
ErrNotUTF8 errors.go /^ ErrNotUTF8 = errors.New("invalid UTF-8")$/;" v
|
|
||||||
Event event.go /^func (n *NullEventReceiver) Event(eventName string) {$/;" f
|
|
||||||
EventErr event.go /^func (n *NullEventReceiver) EventErr(eventName string, err error) error {$/;" f
|
|
||||||
EventErrKv event.go /^func (n *NullEventReceiver) EventErrKv(eventName string, err error, kvs map[string]string) error/;" f
|
|
||||||
EventKv event.go /^func (n *NullEventReceiver) EventKv(eventName string, kvs map[string]string) {$/;" f
|
|
||||||
EventReceiver event.go /^type EventReceiver interface {$/;" i
|
|
||||||
Exec delete.go /^func (b *DeleteBuilder) Exec() (sql.Result, error) {$/;" f
|
|
||||||
Exec insert.go /^func (b *InsertBuilder) Exec() (sql.Result, error) {$/;" f
|
|
||||||
Exec update.go /^func (b *UpdateBuilder) Exec() (sql.Result, error) {$/;" f
|
|
||||||
Expr expr.go /^func Expr(sql string, values ...interface{}) *expr {$/;" f
|
|
||||||
From delete.go /^ From string$/;" m struct:DeleteBuilder
|
|
||||||
From select.go /^func (b *SelectBuilder) From(from string) *SelectBuilder {$/;" f
|
|
||||||
FromTable select.go /^ FromTable string$/;" m struct:SelectBuilder
|
|
||||||
GroupBy select.go /^func (b *SelectBuilder) GroupBy(group string) *SelectBuilder {$/;" f
|
|
||||||
GroupBys select.go /^ GroupBys []string$/;" m struct:SelectBuilder
|
|
||||||
Having select.go /^func (b *SelectBuilder) Having(whereSqlOrMap interface{}, args ...interface{}) *SelectBuilder {$/;" f
|
|
||||||
HavingFragments select.go /^ HavingFragments []*whereFragment$/;" m struct:SelectBuilder
|
|
||||||
Id dbr_test.go /^ Id int64$/;" m struct:dbrPerson
|
|
||||||
Idxs struct_mapping.go /^ Idxs []int$/;" m struct:fieldMapQueueElement
|
|
||||||
InsertBuilder insert.go /^type InsertBuilder struct {$/;" s
|
|
||||||
InsertInto insert.go /^func (sess *Session) InsertInto(into string) *InsertBuilder {$/;" f
|
|
||||||
InsertInto insert.go /^func (tx *Tx) InsertInto(into string) *InsertBuilder {$/;" f
|
|
||||||
Interpolate interpolate.go /^func Interpolate(sql string, vals []interface{}) (string, error) {$/;" f
|
|
||||||
Into insert.go /^ Into string$/;" m struct:InsertBuilder
|
|
||||||
IsDistinct select.go /^ IsDistinct bool$/;" m struct:SelectBuilder
|
|
||||||
Key dbr_test.go /^ Key NullString$/;" m struct:dbrPerson
|
|
||||||
Limit delete.go /^func (b *DeleteBuilder) Limit(limit uint64) *DeleteBuilder {$/;" f
|
|
||||||
Limit select.go /^func (b *SelectBuilder) Limit(limit uint64) *SelectBuilder {$/;" f
|
|
||||||
Limit update.go /^func (b *UpdateBuilder) Limit(limit uint64) *UpdateBuilder {$/;" f
|
|
||||||
LimitCount delete.go /^ LimitCount uint64$/;" m struct:DeleteBuilder
|
|
||||||
LimitCount select.go /^ LimitCount uint64$/;" m struct:SelectBuilder
|
|
||||||
LimitCount update.go /^ LimitCount uint64$/;" m struct:UpdateBuilder
|
|
||||||
LimitValid delete.go /^ LimitValid bool$/;" m struct:DeleteBuilder
|
|
||||||
LimitValid select.go /^ LimitValid bool$/;" m struct:SelectBuilder
|
|
||||||
LimitValid update.go /^ LimitValid bool$/;" m struct:UpdateBuilder
|
|
||||||
LoadStruct select_load.go /^func (b *SelectBuilder) LoadStruct(dest interface{}) error {$/;" f
|
|
||||||
LoadStructs select_load.go /^func (b *SelectBuilder) LoadStructs(dest interface{}) (int, error) {$/;" f
|
|
||||||
LoadValue select_load.go /^func (b *SelectBuilder) LoadValue(dest interface{}) error {$/;" f
|
|
||||||
LoadValues select_load.go /^func (b *SelectBuilder) LoadValues(dest interface{}) (int, error) {$/;" f
|
|
||||||
MarshalJSON types.go /^func (n *NullBool) MarshalJSON() ([]byte, error) {$/;" f
|
|
||||||
MarshalJSON types.go /^func (n *NullInt64) MarshalJSON() ([]byte, error) {$/;" f
|
|
||||||
MarshalJSON types.go /^func (n *NullString) MarshalJSON() ([]byte, error) {$/;" f
|
|
||||||
MarshalJSON types.go /^func (n *NullTime) MarshalJSON() ([]byte, error) {$/;" f
|
|
||||||
MysqlQuoter quote.go /^type MysqlQuoter struct{}$/;" s
|
|
||||||
Name dbr_test.go /^ Name string$/;" m struct:dbrPerson
|
|
||||||
NameMapping util.go /^var NameMapping = camelCaseToSnakeCase$/;" v
|
|
||||||
NewConnection dbr.go /^func NewConnection(db *sql.DB, log EventReceiver) *Connection {$/;" f
|
|
||||||
NewSession dbr.go /^func (cxn *Connection) NewSession(log EventReceiver) *Session {$/;" f
|
|
||||||
Now now.go /^var Now = nowSentinel{}$/;" v
|
|
||||||
NullBool types.go /^type NullBool struct {$/;" s
|
|
||||||
NullEventReceiver event.go /^type NullEventReceiver struct{}$/;" s
|
|
||||||
NullInt64 types.go /^type NullInt64 struct {$/;" s
|
|
||||||
NullString types.go /^type NullString struct {$/;" s
|
|
||||||
NullTime types.go /^type NullTime struct {$/;" s
|
|
||||||
Offset delete.go /^func (b *DeleteBuilder) Offset(offset uint64) *DeleteBuilder {$/;" f
|
|
||||||
Offset select.go /^func (b *SelectBuilder) Offset(offset uint64) *SelectBuilder {$/;" f
|
|
||||||
Offset update.go /^func (b *UpdateBuilder) Offset(offset uint64) *UpdateBuilder {$/;" f
|
|
||||||
OffsetCount delete.go /^ OffsetCount uint64$/;" m struct:DeleteBuilder
|
|
||||||
OffsetCount select.go /^ OffsetCount uint64$/;" m struct:SelectBuilder
|
|
||||||
OffsetCount update.go /^ OffsetCount uint64$/;" m struct:UpdateBuilder
|
|
||||||
OffsetValid delete.go /^ OffsetValid bool$/;" m struct:DeleteBuilder
|
|
||||||
OffsetValid select.go /^ OffsetValid bool$/;" m struct:SelectBuilder
|
|
||||||
OffsetValid update.go /^ OffsetValid bool$/;" m struct:UpdateBuilder
|
|
||||||
OrderBy delete.go /^func (b *DeleteBuilder) OrderBy(ord string) *DeleteBuilder {$/;" f
|
|
||||||
OrderBy select.go /^func (b *SelectBuilder) OrderBy(ord string) *SelectBuilder {$/;" f
|
|
||||||
OrderBy update.go /^func (b *UpdateBuilder) OrderBy(ord string) *UpdateBuilder {$/;" f
|
|
||||||
OrderBys delete.go /^ OrderBys []string$/;" m struct:DeleteBuilder
|
|
||||||
OrderBys select.go /^ OrderBys []string$/;" m struct:SelectBuilder
|
|
||||||
OrderBys update.go /^ OrderBys []string$/;" m struct:UpdateBuilder
|
|
||||||
OrderDir delete.go /^func (b *DeleteBuilder) OrderDir(ord string, isAsc bool) *DeleteBuilder {$/;" f
|
|
||||||
OrderDir select.go /^func (b *SelectBuilder) OrderDir(ord string, isAsc bool) *SelectBuilder {$/;" f
|
|
||||||
OrderDir update.go /^func (b *UpdateBuilder) OrderDir(ord string, isAsc bool) *UpdateBuilder {$/;" f
|
|
||||||
Other insert_test.go /^ Other bool$/;" m struct:someRecord
|
|
||||||
Paginate select.go /^func (b *SelectBuilder) Paginate(page, perPage uint64) *SelectBuilder {$/;" f
|
|
||||||
Pair insert.go /^func (b *InsertBuilder) Pair(column string, value interface{}) *InsertBuilder {$/;" f
|
|
||||||
Present interpolate_test.go /^ Present bool$/;" m struct:myString
|
|
||||||
Quoter quote.go /^var Quoter = MysqlQuoter{}$/;" v
|
|
||||||
RawArguments select.go /^ RawArguments []interface{}$/;" m struct:SelectBuilder
|
|
||||||
RawArguments update.go /^ RawArguments []interface{}$/;" m struct:UpdateBuilder
|
|
||||||
RawFullSql select.go /^ RawFullSql string$/;" m struct:SelectBuilder
|
|
||||||
RawFullSql update.go /^ RawFullSql string$/;" m struct:UpdateBuilder
|
|
||||||
Record insert.go /^func (b *InsertBuilder) Record(record interface{}) *InsertBuilder {$/;" f
|
|
||||||
Recs insert.go /^ Recs []interface{}$/;" m struct:InsertBuilder
|
|
||||||
ReturnInt64 select_return.go /^func (b *SelectBuilder) ReturnInt64() (int64, error) {$/;" f
|
|
||||||
ReturnInt64s select_return.go /^func (b *SelectBuilder) ReturnInt64s() ([]int64, error) {$/;" f
|
|
||||||
ReturnString select_return.go /^func (b *SelectBuilder) ReturnString() (string, error) {$/;" f
|
|
||||||
ReturnStrings select_return.go /^func (b *SelectBuilder) ReturnStrings() ([]string, error) {$/;" f
|
|
||||||
ReturnUint64 select_return.go /^func (b *SelectBuilder) ReturnUint64() (uint64, error) {$/;" f
|
|
||||||
ReturnUint64s select_return.go /^func (b *SelectBuilder) ReturnUint64s() ([]uint64, error) {$/;" f
|
|
||||||
Rollback transaction.go /^func (tx *Tx) Rollback() error {$/;" f
|
|
||||||
RollbackUnlessCommitted transaction.go /^func (tx *Tx) RollbackUnlessCommitted() {$/;" f
|
|
||||||
Runner dbr.go /^type Runner interface {$/;" i
|
|
||||||
Select select.go /^func (sess *Session) Select(cols ...string) *SelectBuilder {$/;" f
|
|
||||||
Select select.go /^func (tx *Tx) Select(cols ...string) *SelectBuilder {$/;" f
|
|
||||||
SelectBuilder select.go /^type SelectBuilder struct {$/;" s
|
|
||||||
SelectBySql select.go /^func (sess *Session) SelectBySql(sql string, args ...interface{}) *SelectBuilder {$/;" f
|
|
||||||
SelectBySql select.go /^func (tx *Tx) SelectBySql(sql string, args ...interface{}) *SelectBuilder {$/;" f
|
|
||||||
Session dbr.go /^type Session struct {$/;" s
|
|
||||||
SessionRunner dbr.go /^type SessionRunner interface {$/;" i
|
|
||||||
Set update.go /^func (b *UpdateBuilder) Set(column string, value interface{}) *UpdateBuilder {$/;" f
|
|
||||||
SetClauses update.go /^ SetClauses []*setClause$/;" m struct:UpdateBuilder
|
|
||||||
SetMap update.go /^func (b *UpdateBuilder) SetMap(clauses map[string]interface{}) *UpdateBuilder {$/;" f
|
|
||||||
SomethingId insert_test.go /^ SomethingId int$/;" m struct:someRecord
|
|
||||||
Sql expr.go /^ Sql string$/;" m struct:expr
|
|
||||||
Table update.go /^ Table string$/;" m struct:UpdateBuilder
|
|
||||||
TestDeleteAllToSql delete_test.go /^func TestDeleteAllToSql(t *testing.T) {$/;" f
|
|
||||||
TestDeleteReal delete_test.go /^func TestDeleteReal(t *testing.T) {$/;" f
|
|
||||||
TestDeleteSingleToSql delete_test.go /^func TestDeleteSingleToSql(t *testing.T) {$/;" f
|
|
||||||
TestDeleteTenStaringFromTwentyToSql delete_test.go /^func TestDeleteTenStaringFromTwentyToSql(t *testing.T) {$/;" f
|
|
||||||
TestInsertKeywordColumnName insert_test.go /^func TestInsertKeywordColumnName(t *testing.T) {$/;" f
|
|
||||||
TestInsertMultipleToSql insert_test.go /^func TestInsertMultipleToSql(t *testing.T) {$/;" f
|
|
||||||
TestInsertReal insert_test.go /^func TestInsertReal(t *testing.T) {$/;" f
|
|
||||||
TestInsertRecordsToSql insert_test.go /^func TestInsertRecordsToSql(t *testing.T) {$/;" f
|
|
||||||
TestInsertSingleToSql insert_test.go /^func TestInsertSingleToSql(t *testing.T) {$/;" f
|
|
||||||
TestIntepolatingValuers interpolate_test.go /^func TestIntepolatingValuers(t *testing.T) {$/;" f
|
|
||||||
TestInterpolateBools interpolate_test.go /^func TestInterpolateBools(t *testing.T) {$/;" f
|
|
||||||
TestInterpolateErrors interpolate_test.go /^func TestInterpolateErrors(t *testing.T) {$/;" f
|
|
||||||
TestInterpolateFloats interpolate_test.go /^func TestInterpolateFloats(t *testing.T) {$/;" f
|
|
||||||
TestInterpolateInts interpolate_test.go /^func TestInterpolateInts(t *testing.T) {$/;" f
|
|
||||||
TestInterpolateNil interpolate_test.go /^func TestInterpolateNil(t *testing.T) {$/;" f
|
|
||||||
TestInterpolateSlices interpolate_test.go /^func TestInterpolateSlices(t *testing.T) {$/;" f
|
|
||||||
TestInterpolateStrings interpolate_test.go /^func TestInterpolateStrings(t *testing.T) {$/;" f
|
|
||||||
TestSelectBasicToSql select_test.go /^func TestSelectBasicToSql(t *testing.T) {$/;" f
|
|
||||||
TestSelectBySql select_test.go /^func TestSelectBySql(t *testing.T) {$/;" f
|
|
||||||
TestSelectBySqlLoadStructs select_test.go /^func TestSelectBySqlLoadStructs(t *testing.T) {$/;" f
|
|
||||||
TestSelectFullToSql select_test.go /^func TestSelectFullToSql(t *testing.T) {$/;" f
|
|
||||||
TestSelectLoadStruct select_test.go /^func TestSelectLoadStruct(t *testing.T) {$/;" f
|
|
||||||
TestSelectLoadStructs select_test.go /^func TestSelectLoadStructs(t *testing.T) {$/;" f
|
|
||||||
TestSelectLoadValue select_test.go /^func TestSelectLoadValue(t *testing.T) {$/;" f
|
|
||||||
TestSelectLoadValues select_test.go /^func TestSelectLoadValues(t *testing.T) {$/;" f
|
|
||||||
TestSelectMultiHavingSql select_test.go /^func TestSelectMultiHavingSql(t *testing.T) {$/;" f
|
|
||||||
TestSelectMultiOrderSql select_test.go /^func TestSelectMultiOrderSql(t *testing.T) {$/;" f
|
|
||||||
TestSelectNoWhereSql select_test.go /^func TestSelectNoWhereSql(t *testing.T) {$/;" f
|
|
||||||
TestSelectPaginateOrderDirToSql select_test.go /^func TestSelectPaginateOrderDirToSql(t *testing.T) {$/;" f
|
|
||||||
TestSelectReturn select_test.go /^func TestSelectReturn(t *testing.T) {$/;" f
|
|
||||||
TestSelectVarieties select_test.go /^func TestSelectVarieties(t *testing.T) {$/;" f
|
|
||||||
TestSelectWhereEqSql select_test.go /^func TestSelectWhereEqSql(t *testing.T) {$/;" f
|
|
||||||
TestSelectWhereMapSql select_test.go /^func TestSelectWhereMapSql(t *testing.T) {$/;" f
|
|
||||||
TestTransactionReal transaction_test.go /^func TestTransactionReal(t *testing.T) {$/;" f
|
|
||||||
TestTransactionRollbackReal transaction_test.go /^func TestTransactionRollbackReal(t *testing.T) {$/;" f
|
|
||||||
TestUpdateAllToSql update_test.go /^func TestUpdateAllToSql(t *testing.T) {$/;" f
|
|
||||||
TestUpdateKeywordColumnName update_test.go /^func TestUpdateKeywordColumnName(t *testing.T) {$/;" f
|
|
||||||
TestUpdateReal update_test.go /^func TestUpdateReal(t *testing.T) {$/;" f
|
|
||||||
TestUpdateSetExprToSql update_test.go /^func TestUpdateSetExprToSql(t *testing.T) {$/;" f
|
|
||||||
TestUpdateSetMapToSql update_test.go /^func TestUpdateSetMapToSql(t *testing.T) {$/;" f
|
|
||||||
TestUpdateSingleToSql update_test.go /^func TestUpdateSingleToSql(t *testing.T) {$/;" f
|
|
||||||
TestUpdateTenStaringFromTwentyToSql update_test.go /^func TestUpdateTenStaringFromTwentyToSql(t *testing.T) {$/;" f
|
|
||||||
Timing event.go /^func (n *NullEventReceiver) Timing(eventName string, nanoseconds int64) {$/;" f
|
|
||||||
TimingKv event.go /^func (n *NullEventReceiver) TimingKv(eventName string, nanoseconds int64, kvs map[string]string)/;" f
|
|
||||||
ToSql delete.go /^func (b *DeleteBuilder) ToSql() (string, []interface{}) {$/;" f
|
|
||||||
ToSql insert.go /^func (b *InsertBuilder) ToSql() (string, []interface{}) {$/;" f
|
|
||||||
ToSql select.go /^func (b *SelectBuilder) ToSql() (string, []interface{}) {$/;" f
|
|
||||||
ToSql update.go /^func (b *UpdateBuilder) ToSql() (string, []interface{}) {$/;" f
|
|
||||||
Tx transaction.go /^type Tx struct {$/;" s
|
|
||||||
Type struct_mapping.go /^ Type reflect.Type$/;" m struct:fieldMapQueueElement
|
|
||||||
Update update.go /^func (sess *Session) Update(table string) *UpdateBuilder {$/;" f
|
|
||||||
Update update.go /^func (tx *Tx) Update(table string) *UpdateBuilder {$/;" f
|
|
||||||
UpdateBuilder update.go /^type UpdateBuilder struct {$/;" s
|
|
||||||
UpdateBySql update.go /^func (sess *Session) UpdateBySql(sql string, args ...interface{}) *UpdateBuilder {$/;" f
|
|
||||||
UpdateBySql update.go /^func (tx *Tx) UpdateBySql(sql string, args ...interface{}) *UpdateBuilder {$/;" f
|
|
||||||
UserId insert_test.go /^ UserId int64$/;" m struct:someRecord
|
|
||||||
Val interpolate_test.go /^ Val string$/;" m struct:myString
|
|
||||||
Vals insert.go /^ Vals [][]interface{}$/;" m struct:InsertBuilder
|
|
||||||
Value interpolate_test.go /^func (m myString) Value() (driver.Value, error) {$/;" f
|
|
||||||
Value now.go /^func (n nowSentinel) Value() (driver.Value, error) {$/;" f
|
|
||||||
Values expr.go /^ Values []interface{}$/;" m struct:expr
|
|
||||||
Values insert.go /^func (b *InsertBuilder) Values(vals ...interface{}) *InsertBuilder {$/;" f
|
|
||||||
Values where.go /^ Values []interface{}$/;" m struct:whereFragment
|
|
||||||
Where delete.go /^func (b *DeleteBuilder) Where(whereSqlOrMap interface{}, args ...interface{}) *DeleteBuilder {$/;" f
|
|
||||||
Where select.go /^func (b *SelectBuilder) Where(whereSqlOrMap interface{}, args ...interface{}) *SelectBuilder {$/;" f
|
|
||||||
Where update.go /^func (b *UpdateBuilder) Where(whereSqlOrMap interface{}, args ...interface{}) *UpdateBuilder {$/;" f
|
|
||||||
WhereFragments delete.go /^ WhereFragments []*whereFragment$/;" m struct:DeleteBuilder
|
|
||||||
WhereFragments select.go /^ WhereFragments []*whereFragment$/;" m struct:SelectBuilder
|
|
||||||
WhereFragments update.go /^ WhereFragments []*whereFragment$/;" m struct:UpdateBuilder
|
|
||||||
calculateFieldMap struct_mapping.go /^func (sess *Session) calculateFieldMap(recordType reflect.Type, columns []string, requireAllColu/;" f
|
|
||||||
camelCaseToSnakeCase util.go /^func camelCaseToSnakeCase(name string) string {$/;" f
|
|
||||||
column update.go /^ column string$/;" m struct:setClause
|
|
||||||
createFakeSession dbr_test.go /^func createFakeSession() *Session {$/;" f
|
|
||||||
createRealSession dbr_test.go /^func createRealSession() *Session {$/;" f
|
|
||||||
createRealSessionWithFixtures dbr_test.go /^func createRealSessionWithFixtures() *Session {$/;" f
|
|
||||||
cxn dbr.go /^ cxn *Connection$/;" m struct:Session
|
|
||||||
dbr dbr.go /^package dbr$/;" p
|
|
||||||
dbr dbr_test.go /^package dbr$/;" p
|
|
||||||
dbr delete.go /^package dbr$/;" p
|
|
||||||
dbr delete_test.go /^package dbr$/;" p
|
|
||||||
dbr errors.go /^package dbr$/;" p
|
|
||||||
dbr event.go /^package dbr$/;" p
|
|
||||||
dbr expr.go /^package dbr$/;" p
|
|
||||||
dbr insert.go /^package dbr$/;" p
|
|
||||||
dbr insert_test.go /^package dbr$/;" p
|
|
||||||
dbr interpolate.go /^package dbr$/;" p
|
|
||||||
dbr interpolate_test.go /^package dbr$/;" p
|
|
||||||
dbr now.go /^package dbr$/;" p
|
|
||||||
dbr quote.go /^package dbr$/;" p
|
|
||||||
dbr select.go /^package dbr$/;" p
|
|
||||||
dbr select_load.go /^package dbr$/;" p
|
|
||||||
dbr select_return.go /^package dbr$/;" p
|
|
||||||
dbr select_test.go /^package dbr$/;" p
|
|
||||||
dbr struct_mapping.go /^package dbr$/;" p
|
|
||||||
dbr transaction.go /^package dbr$/;" p
|
|
||||||
dbr transaction_test.go /^package dbr$/;" p
|
|
||||||
dbr types.go /^package dbr$/;" p
|
|
||||||
dbr update.go /^package dbr$/;" p
|
|
||||||
dbr update_test.go /^package dbr$/;" p
|
|
||||||
dbr util.go /^package dbr$/;" p
|
|
||||||
dbr where.go /^package dbr$/;" p
|
|
||||||
dbrPerson dbr_test.go /^type dbrPerson struct {$/;" s
|
|
||||||
destDummy struct_mapping.go /^var destDummy interface{}$/;" v
|
|
||||||
escapeAndQuoteString interpolate.go /^func escapeAndQuoteString(val string) string {$/;" f
|
|
||||||
expr expr.go /^type expr struct {$/;" s
|
|
||||||
fieldMapQueueElement struct_mapping.go /^type fieldMapQueueElement struct {$/;" s
|
|
||||||
installFixtures dbr_test.go /^func installFixtures(db *sql.DB) {$/;" f
|
|
||||||
isFloat interpolate.go /^func isFloat(k reflect.Kind) bool {$/;" f
|
|
||||||
isInt interpolate.go /^func isInt(k reflect.Kind) bool {$/;" f
|
|
||||||
isUint interpolate.go /^func isUint(k reflect.Kind) bool {$/;" f
|
|
||||||
kvs event.go /^type kvs map[string]string$/;" t
|
|
||||||
myString interpolate_test.go /^type myString struct {$/;" s
|
|
||||||
newWhereFragment where.go /^func newWhereFragment(whereSqlOrMap interface{}, args []interface{}) *whereFragment {$/;" f
|
|
||||||
nowSentinel now.go /^type nowSentinel struct{}$/;" s
|
|
||||||
nullReceiver event.go /^var nullReceiver = &NullEventReceiver{}$/;" v
|
|
||||||
nullString types.go /^var nullString = []byte("null")$/;" v
|
|
||||||
prepareHolderFor struct_mapping.go /^func (sess *Session) prepareHolderFor(record reflect.Value, fieldMap [][]int, holder []interface/;" f
|
|
||||||
quoter quote.go /^type quoter interface {$/;" i
|
|
||||||
realDb dbr_test.go /^func realDb() *sql.DB {$/;" f
|
|
||||||
setClause update.go /^type setClause struct {$/;" s
|
|
||||||
someRecord insert_test.go /^type someRecord struct {$/;" s
|
|
||||||
timeFormat now.go /^var timeFormat = "2006-01-02 15:04:05"$/;" v
|
|
||||||
typeOfTime interpolate.go /^var typeOfTime = reflect.TypeOf(time.Time{})$/;" v
|
|
||||||
validateInsertingBarack insert_test.go /^func validateInsertingBarack(t *testing.T, s *Session, res sql.Result, err error) {$/;" f
|
|
||||||
value update.go /^ value interface{}$/;" m struct:setClause
|
|
||||||
valuesFor struct_mapping.go /^func (sess *Session) valuesFor(recordType reflect.Type, record reflect.Value, columns []string) /;" f
|
|
||||||
whereFragment where.go /^type whereFragment struct {$/;" s
|
|
||||||
writeEqualityMapToSql where.go /^func writeEqualityMapToSql(eq map[string]interface{}, sql *bytes.Buffer, args *[]interface{}, an/;" f
|
|
||||||
writeQuotedColumn quote.go /^func (q MysqlQuoter) writeQuotedColumn(column string, sql *bytes.Buffer) {$/;" f
|
|
||||||
writeWhereCondition where.go /^func writeWhereCondition(sql *bytes.Buffer, k string, pred string, anyConditions bool) bool {$/;" f
|
|
||||||
writeWhereFragmentsToSql where.go /^func writeWhereFragmentsToSql(fragments []*whereFragment, sql *bytes.Buffer, args *[]interface{}/;" f
|
|
26
update.go
26
update.go
|
@ -2,11 +2,19 @@ package dbr
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
"bytes"
|
||||||
|
"context"
|
||||||
"database/sql"
|
"database/sql"
|
||||||
"fmt"
|
"fmt"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
"go.opentelemetry.io/otel"
|
||||||
|
"go.opentelemetry.io/otel/codes"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
const tracerName = "git.bit5.ru/backend/dbr"
|
||||||
|
|
||||||
|
var tracer = otel.Tracer(tracerName)
|
||||||
|
|
||||||
// UpdateBuilder contains the clauses for an UPDATE statement
|
// UpdateBuilder contains the clauses for an UPDATE statement
|
||||||
type UpdateBuilder struct {
|
type UpdateBuilder struct {
|
||||||
*Session
|
*Session
|
||||||
|
@ -185,8 +193,6 @@ func (b *UpdateBuilder) ToSql() (string, []interface{}) {
|
||||||
return sql.String(), args
|
return sql.String(), args
|
||||||
}
|
}
|
||||||
|
|
||||||
// Exec executes the statement represented by the UpdateBuilder
|
|
||||||
// It returns the raw database/sql Result and an error if there was one
|
|
||||||
func (b *UpdateBuilder) Exec() (sql.Result, error) {
|
func (b *UpdateBuilder) Exec() (sql.Result, error) {
|
||||||
sql, args := b.ToSql()
|
sql, args := b.ToSql()
|
||||||
|
|
||||||
|
@ -206,3 +212,19 @@ func (b *UpdateBuilder) Exec() (sql.Result, error) {
|
||||||
|
|
||||||
return result, nil
|
return result, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ExecContext executes the statement represented by the UpdateBuilder
|
||||||
|
// It returns the raw database/sql Result and an error if there was one
|
||||||
|
func (b *UpdateBuilder) ExecContext(ctx context.Context) (sql.Result, error) {
|
||||||
|
_, span := tracer.Start(ctx, "UpdateBuilder.ExecContext")
|
||||||
|
defer span.End()
|
||||||
|
|
||||||
|
res, err := b.Exec()
|
||||||
|
if err != nil {
|
||||||
|
span.RecordError(err)
|
||||||
|
span.SetStatus(codes.Error, err.Error())
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
return res, err
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue