Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat:add mysql table meta func && sql addEscape, delEscape func issue… #294

Merged
merged 11 commits into from
Oct 13, 2022

Conversation

wang1309
Copy link
Contributor

@wang1309 wang1309 commented Oct 1, 2022

What this PR does:
1: add table meta mysql impl
2: add sql addEscape and delEscape func

Which issue(s) this PR fixes:

Fixes #290

Special notes for your reviewer:

Does this PR introduce a user-facing change?:


@github-actions github-actions bot added the coding label Oct 1, 2022
@codecov-commenter
Copy link

codecov-commenter commented Oct 1, 2022

Codecov Report

Merging #294 (59c9b79) into master (aa569c9) will increase coverage by 1.45%.
The diff coverage is 33.72%.

@@            Coverage Diff             @@
##           master     #294      +/-   ##
==========================================
+ Coverage   50.11%   51.56%   +1.45%     
==========================================
  Files          66       76      +10     
  Lines        3376     4078     +702     
==========================================
+ Hits         1692     2103     +411     
- Misses       1594     1845     +251     
- Partials       90      130      +40     
Impacted Files Coverage Δ
pkg/datasource/sql/datasource/mysql/default.go 25.00% <ø> (ø)
pkg/datasource/sql/datasource/mysql/meta_cache.go 0.00% <0.00%> (ø)
pkg/datasource/sql/datasource/mysql/trigger.go 0.00% <0.00%> (ø)
pkg/datasource/sql/hook/basic_undo_builder.go 34.17% <ø> (ø)
pkg/datasource/sql/hook/logger_hook.go 8.33% <0.00%> (ø)
pkg/datasource/sql/hook/update_undo_hook.go 0.00% <ø> (ø)
pkg/datasource/sql/stmt.go 0.00% <0.00%> (ø)
pkg/tm/init.go 0.00% <0.00%> (ø)
pkg/datasource/sql/hook/undo_log_hook.go 6.66% <6.66%> (ø)
pkg/tm/transaction_executor.go 52.17% <18.18%> (-17.83%) ⬇️
... and 18 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


"github.com/seata/seata-go/pkg/datasource/sql/datasource/base"
"github.com/seata/seata-go/pkg/datasource/sql/types"
)

var (
capacity int32 = 1024
EexpireTime = 15 * time.Minute
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

format

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

这个是已经格式化后的样子,看着确实有点奇怪。

func (c *tableMetaCache) GetTableMeta(table string) (types.TableMeta, error) {
return types.TableMeta{}, nil
// GetTableMeta get table info from cache or information schema
func (c *tableMetaCache) GetTableMeta(ctx context.Context, tableName string, conn *sql.Conn) (types.TableMeta, error) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the return value use pointer will be better

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

testTableMeta := func() {
metaInstance := GetTableMetaInstance()

db, err := sql.Open("mysql", "root:123456@tcp(127.0.0.1:3306)/seata?multiStatements=true")
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

可以的,我看看。


import (
"context"
"database/sql"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

format

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

这里也是格式化之后的样子。

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"testing" 不应该放上面吗

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

格式化工具的区别吗,我格式化完之后是根据字母排序的,所以跑到最后了。

}

// LoadOne get table meta column and index
func (m *mysqlTrigger) LoadOne(ctx context.Context, dbName string, tableName string, conn *sql.Conn) (types.TableMeta, error) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the return value user *types.TableMeta

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

return types.TableMeta{}, errors.Wrapf(err, "Could not found any column in the table: %s", tableName)
}

columns := make([]string, 0)
Copy link
Contributor

@georgehao georgehao Oct 1, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

columns := make([]string, 0) => var columns []string

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

func (m *mysqlTrigger) getColumns(ctx context.Context, dbName string, table string, conn *sql.Conn) ([]types.ColumnMeta, error) {
table = executor.DelEscape(table, types.DBTypeMySQL)

result := make([]types.ColumnMeta, 0)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

result := make([]types.ColumnMeta, 0) => var result []types.ColumnMeta

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done


result := make([]types.ColumnMeta, 0)

stmt, err := conn.PrepareContext(ctx, ColumnSchemaSql)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

move ColumnSchemaSql here

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

}
})

return tableMetaInstance
}

// Init
func (c *tableMetaCache) Init(ctx context.Context, conn *sql.DB) error {
return nil
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

这里不需要进行初始化吗?我看你在启动的时候调用过这个方法

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

这个可以删掉。他这个Init没有用

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

也可以,目前确实没什么用。

}

return false
default:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

这里可以加个todo,以后加别的数据库记得加上关键字

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

可以的

go.mod Outdated
@@ -24,6 +24,8 @@ require (
vimagination.zapto.org/byteio v0.0.0-20200222190125-d27cba0f0b10
)

require github.com/google/go-cmp v0.5.8 // indirect
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

这个咋放括号外面了

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

这个一般是工具生成的,也可以手动移进去,我移动一下。

c.lock.Lock()
defer c.lock.Unlock()

v, ok := c.cache[table]
v, ok := c.cache[tableName]

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

删掉空行

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done


"github.com/seata/seata-go/pkg/datasource/sql/undo/executor"

"github.com/pkg/errors"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

format

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

EexpireTime = 15 * time.Minute
tableMetaInstance *tableMetaCache
tableMetaOnce sync.Once
DBName = "seata"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

这里为啥写死呢?我理解应该是动态传的参数哈

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

是指 DBName 吗,原本设想是 config 功能实现后放到配置里面,所以暂时写死了。

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

加上 todo,然后说明下这个值以后是从 config 中读取

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Todo 已加上

col.IsNullable = 0
}
col.Extra = extra
col.Autoincrement = strings.Contains("auto_increment", strings.ToLower(extra))
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

这个逻辑应该是

col.Autoincrement = strings.Contains(strings.ToLower(extra), "auto_increment")

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

这里确实写反了,已修复。

result = append(result, index)
}

if err = rows.Err(); err != nil {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

这个判断,放在遍历rows之前,是不是比较合适呢

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

嗯,这个和这个包底层实现有关,他是把错误当做结构体的一个变量属性,当错误发生的时候给err变量赋值,并且返回false,rows.Next 得到 false 退出。所以是这种写法,另外官方example也是这种写法,可以看一下这个example https://pkg.go.dev/database/sql#Rows

return nil, errors.Wrapf(err, "Could not found any index in the table: %s", tableName)
}
for _, index := range indexes {
col := tableMeta.Columns[index.ColumnName]

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

这里有一点不明白想请教下, 对于联合索引这里会查出多条index吗?

@AlexStocks AlexStocks merged commit ee274c5 into apache:master Oct 13, 2022
wang1309 added a commit to wang1309/seata-go that referenced this pull request Jan 7, 2023
apache#294)

* feat:add mysql table meta func && sql addEscape, delEscape func issue#290

* fix:TestMetaCache func rename

* fix:ci lint fail fix

* fix: solve GetTableMeta return type && constant define

* fix:solve code format and meta cache func fault

* fix:solev git ci fail

* fix:solev git ci fail

* format:format code

* fix:merge master && format code

* fix:solve name conflict

Co-authored-by: 王瑞 <wangrui5@songguo7.com>
Co-authored-by: wangrui130 <wangrui130@tal.com>
AlexStocks added a commit that referenced this pull request Jan 8, 2023
* Initial commit

* add config file

* init

* add rm

* add processor

* bug fix

* use processor on message

* change default config

* init github Actions

* init github Actions

* add tcc process

* Adjust the structure of the project

* Adjust the structure of the project

* Adjust the structure of the project

* fix linter error

* fix cli

* add apache license

* fix config

* add unit test

* add go imports shell

* Adjust project directory

* remove iota

* fix cli bug

* remove the useless comments

* fix branch commit bug

* remove goetty package

* Optimize codec code

* Create enhancement.md

* style:change bool to struct{}

* fix commit and rollback codec

* realize branchReport

* add seata-go samples

* add processor unittest

* remove blank and annotation

* branchReport return value judgment

* optimize-zap-log

* update changed the format of log

* remove the duplicate code same with sample/local

* optimize format of logging

* optimize format of logging

* optimize format of logging

* Update logging.go

* feature add action context for tcc

* add err check for unmarshal json

* Feat add two phase (#122)

* add two phase

* support seata dubbo

* fix getty auto close bug (#130)

* optimize named for the resource manager api and tcc resource, adjust … (#125)

update optimize the resource manager.

* docs: add readme ,contributing and pr template doc (#153)

* add license (#146)

* bugfix: fix rollback response status bug (#155)

* feature add unit test and labeler workflow (#165)

* add license

* add license

* add unit test workflow, rename golangci lint workflow

* changed golang version from 1.15 to 1.16 in workflow.

* fix golangci-lint invaild

* fix golangci-lint invalid.

* add labeler workflow

* fix labeler invaild

* fix typo in reademe (#167)

fix typo

* doc: add seata server startup docker compose file (#172)

doc: add seata server startup docker composer file

* doc: add release 0.1.0 changes note (#169)

doc: add release 0.0.1-rc1 changes note

* optimize add ut for message (#154)

* add ut for message

* format imports

* optimieze add ut for tm (#163)

* add ut

* add ut for tm

* format imports

* resolve conflict in go mod

* fix loop variable v captured by func literal (govet)

* optimize ut for tm in gomonkey mock.

* format by goimports

* optimize code style

* resolve conflict.

* [modify] git ignore add build products in 'dist/' (#177)

* bugfix fix ut bug of msg, it will cause ci failed (#176)

fix ut bug of msg.

* optimize: optimise way of init seata (#187)

optimize: optimise way of init seata

* Feature add tcc branch report (#190)

feature: add tcc branch report

* refactor(pkg/rm): optimize function's parameters into one struct (#196)

optimize function's parameters into one struct,comment and code style

Co-authored-by: liushao <liushao@inke.cn>

* feature add integration for grpc (#158)

* finish ut for interceptor

* add client interceptor

* add server interceptor

* adjust location for test file

* format in goimports

* goimformat

* adjust package struct of grpc interceptor, move constant of grpc to common package.

* adjust gprc interceptor file struct

* refact directory, optimize grpc test case

* optimize proto

* delte test file

* delte test file

* fix npe for server integration

* go mod tidy

* remove duplicate constant

* optimize: remove unnecessary codes (#208)

* Add unit testing for getty (#203)

* getty tests

* test

* test

* style

* style go mod

* style:format imports

* style:Delete the useless gomonkey Reset method

Co-authored-by: xubaisheng <>

* optimize workflow, add condecov and issue, stale robot (#202)

optimize workflow, add condecov and issue robot

* Feature add tcc branch report unit test (#210)

test: add tcc branch report unit test

* optimize: support instance BusinessActionContext outside the TCC try … (#179)

optimize: support instance BusinessActionContext outside the TCC try method

* add dubbo transtation filter test (#204)

test: add unit test for dubbo transtation filter

* optimize ResourceManagerInbound function's parameters into one struct-rm_api.go  (#198)

optimiz: optimize function's parameters into one struct-rm_api.go

* feature add tcc grpc sample,adjust register resource and branch register (#200)

feature: add grpc integration for tcc

* fix enhancement: make time parameters easier to read (#215)

optimize: make time parameters easier to read

* feature/datasource_at merge to master (#213)

feature: add transaction at datasource

* add rm test  (#192)

add test for rm

* optimize: add some todo comment, add a undo hook sample (#238)

add some todo comment, add a undo hook sample

* replace the underline naming in the code with the hump naming method (#235)

* add dubbo transtation filter test (#204)

test: add unit test for dubbo transtation filter

* add dubbo transtation filter test (#204)

test: add unit test for dubbo transtation filter

* add dubbo transtation filter test (#204)

test: add unit test for dubbo transtation filter

* add dubbo transtation filter test (#204)

test: add unit test for dubbo transtation filter

* add dubbo transtation filter test (#204)

test: add unit test for dubbo transtation filter

* add dubbo transtation filter test (#204)

test: add unit test for dubbo transtation filter

* add dubbo transtation filter test (#204)

test: add unit test for dubbo transtation filter

* add dubbo transtation filter test (#204)

test: add unit test for dubbo transtation filter

* add dubbo transtation filter test (#204)

test: add unit test for dubbo transtation filter

* add dubbo transtation filter test (#204)

test: add unit test for dubbo transtation filter

* fix: do register resource where execute OpenConnector function (#237)

* fix: register resource where execute OpenConnector function

* remove chinese comment

* optimize Add unit testing for common (#229)

* add unit test

* add unit test

* add unit test

Co-authored-by: miaoxueyu <miaoxueyu@xs901.com>

* bugfix: fix infinite loop of asyncCallback (#230)

asyncCallback -> syncCallback

* feature: add undo log manager delete (#240)

feature:add DeleteUndoLogs func, issue:#217

* frature: add update sql parser (#243)

feature: parse select sql from update sql

* feature: add license github action (#254)

* add license github action

* fix global transation time out (#258)

* feature add fence for tcc, and add fence sample in tcc local mode. (#191)

* frature: add update sql parser and remove tidb parser (#264)

add update sql parser and remove tidb parser (#243)

* fix ci failed because mock is invalid (#263)

* optimize: nested loop retries (#261)

* feat: add http tcc (#280)

feat: add http tcc

* feat: optimize retry (#284)

feat: optimize retry

* optimize: split client.Init into rm.Init and tm.Init methods (#286)

optimize: nested loop retries (#261)

* optimize: optimize global transaction usage (#281)

* refact the tm executor and adjust the sample

* optimize interface, adjust samples

* fix ci

* optimize comment

* upgrade go version

* add tx name configuration

* add panic handler

* feat: add has undo log table (#245)

feat:add has undo log table func

* (WIP)refactor:seata conn (#287)

* refactor:seata conn

* test: add unit test

* test: add unit test

* feat: add mysql update undo log builder (#288)

feat: add mysql update undo log builder

* change dubbo-go version (#302)

optimize: change dubbo-go version

* test:add DoParser ut (#299)

test: add DoParser unit test

* config github action not to automatically close ps or issue (#305)

* add mysql delete undo log builder (#296)

* add mysql delete undo log builder

* add mysql delete undo log builder

* add mysql delete undo log builder

* add mysql delete undo log builder

* feat: add sync worker and fmt (#303)

* feat: add sync worker and fmt

* feat: update

* feat: update

* feat: update

* feat: update

* feat: update

* feat: update

* feat: update

* feat: fix spell

* feat: fix conflict

Co-authored-by: Xin.Zh <dragoncharlie@foxmail.com>
Co-authored-by: haohongfan1 <haohongfan1@jd.com>

* Feat add mysql update after undo log builder (#289)

feat: add mysql update after undo log builder

* format:format code

* format:format code

* feat:add mysql table meta func && sql addEscape, delEscape func issue… (#294)

* feat:add mysql table meta func && sql addEscape, delEscape func issue#290

* fix:TestMetaCache func rename

* fix:ci lint fail fix

* fix: solve GetTableMeta return type && constant define

* fix:solve code format and meta cache func fault

* fix:solev git ci fail

* fix:solev git ci fail

* format:format code

* fix:merge master && format code

* fix:solve name conflict

Co-authored-by: 王瑞 <wangrui5@songguo7.com>
Co-authored-by: wangrui130 <wangrui130@tal.com>

* feat: init compressor type (#309)

* init compressor type

* refactor compress (#318)

* init compressor type

* init compressor type

* reformat code

* reformat code

* Feat multi undo log builder (#301)

* feat: add mysql update undo log builder

* add log

* add comment for JDBCType

* add name

* optimize basic builder

* fix type

* fix type

* fix switch

* add update after iamge builder

* format code

* format

* add multi undo log builder

* fix conflict

* fix conflict

* fix conflict

* fix conflict

* fix conflict

* fix conflict

* fix conflict

* feat: fix fanout test data race (#326)

* Refactor seata conn (#295)

* refactor:split xa and at logic

* refactor:split xa and at logic

* refactor:split xa and at logic

* feat(compressor): deflate compress (#321)

* feat(compressor): deflate compress

1. Optimize compressor type definition. (Don't start with package name).
2. Implement deflate compressor and ut.

close #312

* refactor(compressor): revert compressor type definition

* refactor(compressor): remove fmt.Println in ut

* refactor(compressor): adjust the order of deflate compressor constants.

* Add LZ4 compressor support. (#324)

* feat: add lz4 compressor support.

Signed-off-by: Wyatt Jia <i@eventloop.live>

* fix lz4 compressor buffer error.

Signed-off-by: Wyatt Jia <i@eventloop.live>

* format code by goimports.

* Add equal lz4 decompress test case and format code by goimports.

Signed-off-by: Wyatt Jia <i@eventloop.live>

* add zstd compress (#327)

zstd compress

Co-authored-by: xubaisheng <>

* Feat add gzip (#322)

* format:format code

* feat:add gzip func

* fix:comment unuseful code

* fix: fix ret val and unit test assert

* fix:gzip unit modify

* fix:unit test param define modify

Co-authored-by: wangrui130 <wangrui130@tal.com>
Co-authored-by: 王瑞 <wangrui5@songguo7.com>

* feat:add undo log manager-flush undo log func #269 (#307)

add undo log manager-flush undo log func #269

* Feat add zip #315 (#329)

* add zipcompress

* Feat/multi update (#325)

feat: add multi update

* feature: add select for update (#319)

* add select for update

* wip:multi delete sql (#330)

feat:multi delete sql

Co-authored-by: wangxiaoxiong <wangxiaoxiong@asants.com>

* test: strengthen ut (#332)

* optimize at (#336)

optimize at model

* Feat add undo func (#320)

add undo function

* optimize: add insert undo log function (#337)

add insert undo log function

* doc: add sample undo_log table sql

add sample mysql

* optimize at commit branch (#346)

* optimize at

* fix:timeout config & panic log lost (#350)

* fix timeout config & panic log lost

* format & fix rollback

* optimize meta data (#352)

optimize meta data

* optimize commit (#354)

optimize commit

* optimize commit (#354)

optimize commit  process

* feat: modify some receiver name (#353)

* feat: modify some receiver name

* feat: add no transaction test

* feat: update batch delete

* Optimize rollback (#356)

optimize  rollback

* feat: add gin for at and fix async worker bug (#357)

* feature: support ONLY_CARE_UPDATE_COLUMNS (#355)

support ONLY_CARE_UPDATE_COLUMNS & fix beforeImage error due to the struct shallow copy

* Rollback (#358)

* feat: rollback

* feat: add at rollback sampel

* feat: fix name

* fix bug (#359)

* Rollback1 (#360)

* feat: rollback

* feat: add at rollback sampel

* feat: update

* Fix meta data (#363)

 fix ColumnType

* Fix decode image(#365)

fix decode image

* add data check before rollbeck (#366)

* add data check before rollbeck

* doc: v1.0.2-RC1 release file (#338)

* optimize: remove unless function (#369)

remove unless function

* doc: update 1.0.2-RC1 change log (#370)

* update 1.0.2-RC1 change log

* fix: at sample (#374)

fix at rolback sample

* optimize: simplify to make codes more readable (#367)

Signed-off-by: charlie <qianglin98@qq.com>

* feat:add yml config  (#285)

add yml config

* feat: support for propagation of global transactions (#262)

* feature:build undo log by insert target SQL (#333)

* insert undo log

* add insert undo test

* fix map loop

* OPT code style & lint & add ut

* fix imports

* fix conflict & adapter some modify

* fix some bug & add ut

* fix  at smaple sql (#385)

fix  the table structure in testdata sql requires fewer fields than that in smaple (#385)

* fix: loop recursion problem in OpenConnector (#387)

fix: fix loop recursion problem in OpenConnector

* add tcc fence config logic (#383)

* add tcc fence config logic

* add string loader

* fix samples

* fix samples

* fix samples

* fix samples

* fix samples

* fix samples

* fix samples

* merge Load and LoadPath

* fix sample

* optimize some format (#392)

Co-authored-by: haohongfan1 <haohongfan1@jd.com>

* optimize at base executor (#394)

optimize at executor

* feat: add tm config (#398)

feat(pkg/client,pkg/config): add tm config

* feat: add getty config (#399)

add getty config

* fix branch register response (#401)

* fix branch register response

* optimize protocol init (#400)

* optimize protocol init

* optimize RM init (#390)

* OPT rm client

* fix code style

* fix lint

* feat: support xa mysql connection (#380)

* [wip]feat: support xa mysql connection

Signed-off-by: charlie <qianglin98@qq.com>

* Feat xa branch xid (#389)

* feat: add xa branch xid

Co-authored-by: 王瑞 <wangrui5@songguo7.com>

* [AT] add insert on duplicate (#405)

Co-authored-by: “kirhaku” <“2454546080@qq.com”>

* optimize: refactor at executor  (#397)

* refactor at executor

* refactor: use new tm config in tm module. (#411)

* refactor: use new tm config in tm module.

* roptimize: efactor delete and insert executor (#409)

* refactor delete and insert executor

* optimize: add log init (#408)

* feature: add transport config (#406)

* add transport config

* refactor(compressor): rename defalte_compress_test.go to deflate_compress_test.go (#414)

Co-authored-by: liushao <liushao@inke.cn>

* feat: add RM config (#412)

* feat: add rm config

* optimize readme (#417)

* feat: add service and seata config (#413)

* feat: add  Undo  config (#410)

add undo config

* fix undo config (#418)

fix undo config

* opt: optimize comments and dead code (#388)

* Apply getty config (#421)

* apply getty config

* feat: use undo config (#419)

* use undo config

* remove unused config (#422)

* bugfix: repair init getty failed (#423)

* bugfix: repair init getty failed

* fix getty config (#424)

* remove unused config

* bugfix: at model execution failed (#429)

* bugfix: at model execution failed

* Optimize getty config (#430)

* temporary not supported connection-num

* use config (#436)

* fix bug

* doc: add v1.0.2-RC3  change log (#431)

add change log for v1.0.2-RC3

* rename change-log to 1.0.3 (#443)

Co-authored-by: liuyuecai <liuyuecai@didiglobal.com>

* fix:when id autoincrement insert fail

Signed-off-by: Wyatt Jia <i@eventloop.live>
Signed-off-by: charlie <qianglin98@qq.com>
Co-authored-by: Xin.Zh <dragoncharlie@foxmail.com>
Co-authored-by: luky116_Liuyuecai <luky116@126.com>
Co-authored-by: liiiiiibpm <1653433835@qq.com>
Co-authored-by: AlexStocks <alexstocks@foxmail.com>
Co-authored-by: liuyuecai <liuyuecai@didiglobal.com>
Co-authored-by: 刘月财 <38887641+luky116@users.noreply.github.com>
Co-authored-by: wangxiaoxiong <wangxiaoxiong@asants.com>
Co-authored-by: lichen <liiiiiibpm@163.com>
Co-authored-by: cgDeepLearn <cglearningnow@163.com>
Co-authored-by: liiibpm <105549399+liiibpm@users.noreply.github.com>
Co-authored-by: juzimao <578961953@qq.com>
Co-authored-by: adair peng <1374854359@qq.com>
Co-authored-by: Elrond G <elrondgcn@gmail.com>
Co-authored-by: liushao <505786909@qq.com>
Co-authored-by: liushao <liushao@inke.cn>
Co-authored-by: Cr <631807682@qq.com>
Co-authored-by: 野牛 <1251604436@qq.com>
Co-authored-by: Jason Deng <76831112+jasondeng1997@users.noreply.github.com>
Co-authored-by: liaochuntao <liaochuntao@live.com>
Co-authored-by: windWheel <1817802738@qq.com>
Co-authored-by: miaoxueyu <M__java@163.com>
Co-authored-by: miaoxueyu <miaoxueyu@xs901.com>
Co-authored-by: PangXing <pangxing_2006@126.com>
Co-authored-by: georgehao <haohongfan@gmail.com>
Co-authored-by: baerwang <52104949+baerwang@users.noreply.github.com>
Co-authored-by: Shaozhou Hu <1094091844@qq.com>
Co-authored-by: haohongfan1 <haohongfan1@jd.com>
Co-authored-by: 王瑞 <wangrui5@songguo7.com>
Co-authored-by: bitstring <wellschuan@gmail.com>
Co-authored-by: FengZhang <zfcode@qq.com>
Co-authored-by: Charlie17Li <qianglin98@qq.com>
Co-authored-by: zhangym <40376181+zhangymPerson@users.noreply.github.com>
Co-authored-by: lxfeng1997 <33981743+lxfeng1997@users.noreply.github.com>
Co-authored-by: Kirhaku <38072436+Kirhaku@users.noreply.github.com>
Co-authored-by: “kirhaku” <“2454546080@qq.com”>
Co-authored-by: Zihao Yu <81380056+Chovyyyyyy@users.noreply.github.com>
georgehao added a commit to georgehao/seata-go that referenced this pull request Feb 4, 2023
* Initial commit

* add config file

* init

* add rm

* add processor

* bug fix

* use processor on message

* change default config

* init github Actions

* init github Actions

* add tcc process

* Adjust the structure of the project

* Adjust the structure of the project

* Adjust the structure of the project

* fix linter error

* fix cli

* add apache license

* fix config

* add unit test

* add go imports shell

* Adjust project directory

* remove iota

* fix cli bug

* remove the useless comments

* fix branch commit bug

* remove goetty package

* Optimize codec code

* Create enhancement.md

* style:change bool to struct{}

* fix commit and rollback codec

* realize branchReport

* add seata-go samples

* add processor unittest

* remove blank and annotation

* branchReport return value judgment

* optimize-zap-log

* update changed the format of log

* remove the duplicate code same with sample/local

* optimize format of logging

* optimize format of logging

* optimize format of logging

* Update logging.go

* feature add action context for tcc

* add err check for unmarshal json

* Feat add two phase (apache#122)

* add two phase

* support seata dubbo

* fix getty auto close bug (apache#130)

* optimize named for the resource manager api and tcc resource, adjust … (apache#125)

update optimize the resource manager.

* docs: add readme ,contributing and pr template doc (apache#153)

* add license (apache#146)

* bugfix: fix rollback response status bug (apache#155)

* feature add unit test and labeler workflow (apache#165)

* add license

* add license

* add unit test workflow, rename golangci lint workflow

* changed golang version from 1.15 to 1.16 in workflow.

* fix golangci-lint invaild

* fix golangci-lint invalid.

* add labeler workflow

* fix labeler invaild

* fix typo in reademe (apache#167)

fix typo

* doc: add seata server startup docker compose file (apache#172)

doc: add seata server startup docker composer file

* doc: add release 0.1.0 changes note (apache#169)

doc: add release 0.0.1-rc1 changes note

* optimize add ut for message (apache#154)

* add ut for message

* format imports

* optimieze add ut for tm (apache#163)

* add ut

* add ut for tm

* format imports

* resolve conflict in go mod

* fix loop variable v captured by func literal (govet)

* optimize ut for tm in gomonkey mock.

* format by goimports

* optimize code style

* resolve conflict.

* [modify] git ignore add build products in 'dist/' (apache#177)

* bugfix fix ut bug of msg, it will cause ci failed (apache#176)

fix ut bug of msg.

* optimize: optimise way of init seata (apache#187)

optimize: optimise way of init seata

* Feature add tcc branch report (apache#190)

feature: add tcc branch report

* refactor(pkg/rm): optimize function's parameters into one struct (apache#196)

optimize function's parameters into one struct,comment and code style

Co-authored-by: liushao <liushao@inke.cn>

* feature add integration for grpc (apache#158)

* finish ut for interceptor

* add client interceptor

* add server interceptor

* adjust location for test file

* format in goimports

* goimformat

* adjust package struct of grpc interceptor, move constant of grpc to common package.

* adjust gprc interceptor file struct

* refact directory, optimize grpc test case

* optimize proto

* delte test file

* delte test file

* fix npe for server integration

* go mod tidy

* remove duplicate constant

* optimize: remove unnecessary codes (apache#208)

* Add unit testing for getty (apache#203)

* getty tests

* test

* test

* style

* style go mod

* style:format imports

* style:Delete the useless gomonkey Reset method

Co-authored-by: xubaisheng <>

* optimize workflow, add condecov and issue, stale robot (apache#202)

optimize workflow, add condecov and issue robot

* Feature add tcc branch report unit test (apache#210)

test: add tcc branch report unit test

* optimize: support instance BusinessActionContext outside the TCC try … (apache#179)

optimize: support instance BusinessActionContext outside the TCC try method

* add dubbo transtation filter test (apache#204)

test: add unit test for dubbo transtation filter

* optimize ResourceManagerInbound function's parameters into one struct-rm_api.go  (apache#198)

optimiz: optimize function's parameters into one struct-rm_api.go

* feature add tcc grpc sample,adjust register resource and branch register (apache#200)

feature: add grpc integration for tcc

* fix enhancement: make time parameters easier to read (apache#215)

optimize: make time parameters easier to read

* feature/datasource_at merge to master (apache#213)

feature: add transaction at datasource

* add rm test  (apache#192)

add test for rm

* optimize: add some todo comment, add a undo hook sample (apache#238)

add some todo comment, add a undo hook sample

* replace the underline naming in the code with the hump naming method (apache#235)

* add dubbo transtation filter test (apache#204)

test: add unit test for dubbo transtation filter

* add dubbo transtation filter test (apache#204)

test: add unit test for dubbo transtation filter

* add dubbo transtation filter test (apache#204)

test: add unit test for dubbo transtation filter

* add dubbo transtation filter test (apache#204)

test: add unit test for dubbo transtation filter

* add dubbo transtation filter test (apache#204)

test: add unit test for dubbo transtation filter

* add dubbo transtation filter test (apache#204)

test: add unit test for dubbo transtation filter

* add dubbo transtation filter test (apache#204)

test: add unit test for dubbo transtation filter

* add dubbo transtation filter test (apache#204)

test: add unit test for dubbo transtation filter

* add dubbo transtation filter test (apache#204)

test: add unit test for dubbo transtation filter

* add dubbo transtation filter test (apache#204)

test: add unit test for dubbo transtation filter

* fix: do register resource where execute OpenConnector function (apache#237)

* fix: register resource where execute OpenConnector function

* remove chinese comment

* optimize Add unit testing for common (apache#229)

* add unit test

* add unit test

* add unit test

Co-authored-by: miaoxueyu <miaoxueyu@xs901.com>

* bugfix: fix infinite loop of asyncCallback (apache#230)

asyncCallback -> syncCallback

* feature: add undo log manager delete (apache#240)

feature:add DeleteUndoLogs func, issue:apache#217

* frature: add update sql parser (apache#243)

feature: parse select sql from update sql

* feature: add license github action (apache#254)

* add license github action

* fix global transation time out (apache#258)

* feature add fence for tcc, and add fence sample in tcc local mode. (apache#191)

* frature: add update sql parser and remove tidb parser (apache#264)

add update sql parser and remove tidb parser (apache#243)

* fix ci failed because mock is invalid (apache#263)

* optimize: nested loop retries (apache#261)

* feat: add http tcc (apache#280)

feat: add http tcc

* feat: optimize retry (apache#284)

feat: optimize retry

* optimize: split client.Init into rm.Init and tm.Init methods (apache#286)

optimize: nested loop retries (apache#261)

* optimize: optimize global transaction usage (apache#281)

* refact the tm executor and adjust the sample

* optimize interface, adjust samples

* fix ci

* optimize comment

* upgrade go version

* add tx name configuration

* add panic handler

* feat: add has undo log table (apache#245)

feat:add has undo log table func

* (WIP)refactor:seata conn (apache#287)

* refactor:seata conn

* test: add unit test

* test: add unit test

* feat: add mysql update undo log builder (apache#288)

feat: add mysql update undo log builder

* change dubbo-go version (apache#302)

optimize: change dubbo-go version

* test:add DoParser ut (apache#299)

test: add DoParser unit test

* config github action not to automatically close ps or issue (apache#305)

* add mysql delete undo log builder (apache#296)

* add mysql delete undo log builder

* add mysql delete undo log builder

* add mysql delete undo log builder

* add mysql delete undo log builder

* feat: add sync worker and fmt (apache#303)

* feat: add sync worker and fmt

* feat: update

* feat: update

* feat: update

* feat: update

* feat: update

* feat: update

* feat: update

* feat: fix spell

* feat: fix conflict

Co-authored-by: Xin.Zh <dragoncharlie@foxmail.com>
Co-authored-by: haohongfan1 <haohongfan1@jd.com>

* Feat add mysql update after undo log builder (apache#289)

feat: add mysql update after undo log builder

* format:format code

* format:format code

* feat:add mysql table meta func && sql addEscape, delEscape func issue… (apache#294)

* feat:add mysql table meta func && sql addEscape, delEscape func issue#290

* fix:TestMetaCache func rename

* fix:ci lint fail fix

* fix: solve GetTableMeta return type && constant define

* fix:solve code format and meta cache func fault

* fix:solev git ci fail

* fix:solev git ci fail

* format:format code

* fix:merge master && format code

* fix:solve name conflict

Co-authored-by: 王瑞 <wangrui5@songguo7.com>
Co-authored-by: wangrui130 <wangrui130@tal.com>

* feat: init compressor type (apache#309)

* init compressor type

* refactor compress (apache#318)

* init compressor type

* init compressor type

* reformat code

* reformat code

* Feat multi undo log builder (apache#301)

* feat: add mysql update undo log builder

* add log

* add comment for JDBCType

* add name

* optimize basic builder

* fix type

* fix type

* fix switch

* add update after iamge builder

* format code

* format

* add multi undo log builder

* fix conflict

* fix conflict

* fix conflict

* fix conflict

* fix conflict

* fix conflict

* fix conflict

* feat: fix fanout test data race (apache#326)

* Refactor seata conn (apache#295)

* refactor:split xa and at logic

* refactor:split xa and at logic

* refactor:split xa and at logic

* feat(compressor): deflate compress (apache#321)

* feat(compressor): deflate compress

1. Optimize compressor type definition. (Don't start with package name).
2. Implement deflate compressor and ut.

close apache#312

* refactor(compressor): revert compressor type definition

* refactor(compressor): remove fmt.Println in ut

* refactor(compressor): adjust the order of deflate compressor constants.

* Add LZ4 compressor support. (apache#324)

* feat: add lz4 compressor support.

Signed-off-by: Wyatt Jia <i@eventloop.live>

* fix lz4 compressor buffer error.

Signed-off-by: Wyatt Jia <i@eventloop.live>

* format code by goimports.

* Add equal lz4 decompress test case and format code by goimports.

Signed-off-by: Wyatt Jia <i@eventloop.live>

* add zstd compress (apache#327)

zstd compress

Co-authored-by: xubaisheng <>

* Feat add gzip (apache#322)

* format:format code

* feat:add gzip func

* fix:comment unuseful code

* fix: fix ret val and unit test assert

* fix:gzip unit modify

* fix:unit test param define modify

Co-authored-by: wangrui130 <wangrui130@tal.com>
Co-authored-by: 王瑞 <wangrui5@songguo7.com>

* feat:add undo log manager-flush undo log func apache#269 (apache#307)

add undo log manager-flush undo log func apache#269

* Feat add zip apache#315 (apache#329)

* add zipcompress

* Feat/multi update (apache#325)

feat: add multi update

* feature: add select for update (apache#319)

* add select for update

* wip:multi delete sql (apache#330)

feat:multi delete sql

Co-authored-by: wangxiaoxiong <wangxiaoxiong@asants.com>

* test: strengthen ut (apache#332)

* optimize at (apache#336)

optimize at model

* Feat add undo func (apache#320)

add undo function

* optimize: add insert undo log function (apache#337)

add insert undo log function

* doc: add sample undo_log table sql

add sample mysql

* optimize at commit branch (apache#346)

* optimize at

* fix:timeout config & panic log lost (apache#350)

* fix timeout config & panic log lost

* format & fix rollback

* optimize meta data (apache#352)

optimize meta data

* optimize commit (apache#354)

optimize commit

* optimize commit (apache#354)

optimize commit  process

* feat: modify some receiver name (apache#353)

* feat: modify some receiver name

* feat: add no transaction test

* feat: update batch delete

* Optimize rollback (apache#356)

optimize  rollback

* feat: add gin for at and fix async worker bug (apache#357)

* feature: support ONLY_CARE_UPDATE_COLUMNS (apache#355)

support ONLY_CARE_UPDATE_COLUMNS & fix beforeImage error due to the struct shallow copy

* Rollback (apache#358)

* feat: rollback

* feat: add at rollback sampel

* feat: fix name

* fix bug (apache#359)

* Rollback1 (apache#360)

* feat: rollback

* feat: add at rollback sampel

* feat: update

* Fix meta data (apache#363)

 fix ColumnType

* Fix decode image(apache#365)

fix decode image

* add data check before rollbeck (apache#366)

* add data check before rollbeck

* doc: v1.0.2-RC1 release file (apache#338)

* optimize: remove unless function (apache#369)

remove unless function

* doc: update 1.0.2-RC1 change log (apache#370)

* update 1.0.2-RC1 change log

* fix: at sample (apache#374)

fix at rolback sample

* optimize: simplify to make codes more readable (apache#367)

Signed-off-by: charlie <qianglin98@qq.com>

* feat:add yml config  (apache#285)

add yml config

* feat: support for propagation of global transactions (apache#262)

* feature:build undo log by insert target SQL (apache#333)

* insert undo log

* add insert undo test

* fix map loop

* OPT code style & lint & add ut

* fix imports

* fix conflict & adapter some modify

* fix some bug & add ut

* fix  at smaple sql (apache#385)

fix  the table structure in testdata sql requires fewer fields than that in smaple (apache#385)

* fix: loop recursion problem in OpenConnector (apache#387)

fix: fix loop recursion problem in OpenConnector

* add tcc fence config logic (apache#383)

* add tcc fence config logic

* add string loader

* fix samples

* fix samples

* fix samples

* fix samples

* fix samples

* fix samples

* fix samples

* merge Load and LoadPath

* fix sample

* optimize some format (apache#392)

Co-authored-by: haohongfan1 <haohongfan1@jd.com>

* optimize at base executor (apache#394)

optimize at executor

* feat: add tm config (apache#398)

feat(pkg/client,pkg/config): add tm config

* feat: add getty config (apache#399)

add getty config

* fix branch register response (apache#401)

* fix branch register response

* optimize protocol init (apache#400)

* optimize protocol init

* optimize RM init (apache#390)

* OPT rm client

* fix code style

* fix lint

* feat: support xa mysql connection (apache#380)

* [wip]feat: support xa mysql connection

Signed-off-by: charlie <qianglin98@qq.com>

* Feat xa branch xid (apache#389)

* feat: add xa branch xid

Co-authored-by: 王瑞 <wangrui5@songguo7.com>

* [AT] add insert on duplicate (apache#405)

Co-authored-by: “kirhaku” <“2454546080@qq.com”>

* optimize: refactor at executor  (apache#397)

* refactor at executor

* refactor: use new tm config in tm module. (apache#411)

* refactor: use new tm config in tm module.

* roptimize: efactor delete and insert executor (apache#409)

* refactor delete and insert executor

* optimize: add log init (apache#408)

* feature: add transport config (apache#406)

* add transport config

* refactor(compressor): rename defalte_compress_test.go to deflate_compress_test.go (apache#414)

Co-authored-by: liushao <liushao@inke.cn>

* feat: add RM config (apache#412)

* feat: add rm config

* optimize readme (apache#417)

* feat: add service and seata config (apache#413)

* feat: add  Undo  config (apache#410)

add undo config

* fix undo config (apache#418)

fix undo config

* opt: optimize comments and dead code (apache#388)

* Apply getty config (apache#421)

* apply getty config

* feat: use undo config (apache#419)

* use undo config

* remove unused config (apache#422)

* bugfix: repair init getty failed (apache#423)

* bugfix: repair init getty failed

* fix getty config (apache#424)

* remove unused config

* bugfix: at model execution failed (apache#429)

* bugfix: at model execution failed

* Optimize getty config (apache#430)

* temporary not supported connection-num

* use config (apache#436)

* fix bug

* doc: add v1.0.2-RC3  change log (apache#431)

add change log for v1.0.2-RC3

* rename change-log to 1.0.3 (apache#443)

Co-authored-by: liuyuecai <liuyuecai@didiglobal.com>

* fix:when id autoincrement insert fail

Signed-off-by: Wyatt Jia <i@eventloop.live>
Signed-off-by: charlie <qianglin98@qq.com>
Co-authored-by: Xin.Zh <dragoncharlie@foxmail.com>
Co-authored-by: luky116_Liuyuecai <luky116@126.com>
Co-authored-by: liiiiiibpm <1653433835@qq.com>
Co-authored-by: AlexStocks <alexstocks@foxmail.com>
Co-authored-by: liuyuecai <liuyuecai@didiglobal.com>
Co-authored-by: 刘月财 <38887641+luky116@users.noreply.github.com>
Co-authored-by: wangxiaoxiong <wangxiaoxiong@asants.com>
Co-authored-by: lichen <liiiiiibpm@163.com>
Co-authored-by: cgDeepLearn <cglearningnow@163.com>
Co-authored-by: liiibpm <105549399+liiibpm@users.noreply.github.com>
Co-authored-by: juzimao <578961953@qq.com>
Co-authored-by: adair peng <1374854359@qq.com>
Co-authored-by: Elrond G <elrondgcn@gmail.com>
Co-authored-by: liushao <505786909@qq.com>
Co-authored-by: liushao <liushao@inke.cn>
Co-authored-by: Cr <631807682@qq.com>
Co-authored-by: 野牛 <1251604436@qq.com>
Co-authored-by: Jason Deng <76831112+jasondeng1997@users.noreply.github.com>
Co-authored-by: liaochuntao <liaochuntao@live.com>
Co-authored-by: windWheel <1817802738@qq.com>
Co-authored-by: miaoxueyu <M__java@163.com>
Co-authored-by: miaoxueyu <miaoxueyu@xs901.com>
Co-authored-by: PangXing <pangxing_2006@126.com>
Co-authored-by: georgehao <haohongfan@gmail.com>
Co-authored-by: baerwang <52104949+baerwang@users.noreply.github.com>
Co-authored-by: Shaozhou Hu <1094091844@qq.com>
Co-authored-by: haohongfan1 <haohongfan1@jd.com>
Co-authored-by: 王瑞 <wangrui5@songguo7.com>
Co-authored-by: bitstring <wellschuan@gmail.com>
Co-authored-by: FengZhang <zfcode@qq.com>
Co-authored-by: Charlie17Li <qianglin98@qq.com>
Co-authored-by: zhangym <40376181+zhangymPerson@users.noreply.github.com>
Co-authored-by: lxfeng1997 <33981743+lxfeng1997@users.noreply.github.com>
Co-authored-by: Kirhaku <38072436+Kirhaku@users.noreply.github.com>
Co-authored-by: “kirhaku” <“2454546080@qq.com”>
Co-authored-by: Zihao Yu <81380056+Chovyyyyyy@users.noreply.github.com>
georgehao added a commit to georgehao/seata-go that referenced this pull request May 7, 2023
* Initial commit

* add config file

* init

* add rm

* add processor

* bug fix

* use processor on message

* change default config

* init github Actions

* init github Actions

* add tcc process

* Adjust the structure of the project

* Adjust the structure of the project

* Adjust the structure of the project

* fix linter error

* fix cli

* add apache license

* fix config

* add unit test

* add go imports shell

* Adjust project directory

* remove iota

* fix cli bug

* remove the useless comments

* fix branch commit bug

* remove goetty package

* Optimize codec code

* Create enhancement.md

* style:change bool to struct{}

* fix commit and rollback codec

* realize branchReport

* add seata-go samples

* add processor unittest

* remove blank and annotation

* branchReport return value judgment

* optimize-zap-log

* update changed the format of log

* remove the duplicate code same with sample/local

* optimize format of logging

* optimize format of logging

* optimize format of logging

* Update logging.go

* feature add action context for tcc

* add err check for unmarshal json

* Feat add two phase (apache#122)

* add two phase

* support seata dubbo

* fix getty auto close bug (apache#130)

* optimize named for the resource manager api and tcc resource, adjust … (apache#125)

update optimize the resource manager.

* docs: add readme ,contributing and pr template doc (apache#153)

* add license (apache#146)

* bugfix: fix rollback response status bug (apache#155)

* feature add unit test and labeler workflow (apache#165)

* add license

* add license

* add unit test workflow, rename golangci lint workflow

* changed golang version from 1.15 to 1.16 in workflow.

* fix golangci-lint invaild

* fix golangci-lint invalid.

* add labeler workflow

* fix labeler invaild

* fix typo in reademe (apache#167)

fix typo

* doc: add seata server startup docker compose file (apache#172)

doc: add seata server startup docker composer file

* doc: add release 0.1.0 changes note (apache#169)

doc: add release 0.0.1-rc1 changes note

* optimize add ut for message (apache#154)

* add ut for message

* format imports

* optimieze add ut for tm (apache#163)

* add ut

* add ut for tm

* format imports

* resolve conflict in go mod

* fix loop variable v captured by func literal (govet)

* optimize ut for tm in gomonkey mock.

* format by goimports

* optimize code style

* resolve conflict.

* [modify] git ignore add build products in 'dist/' (apache#177)

* bugfix fix ut bug of msg, it will cause ci failed (apache#176)

fix ut bug of msg.

* optimize: optimise way of init seata (apache#187)

optimize: optimise way of init seata

* Feature add tcc branch report (apache#190)

feature: add tcc branch report

* refactor(pkg/rm): optimize function's parameters into one struct (apache#196)

optimize function's parameters into one struct,comment and code style

Co-authored-by: liushao <liushao@inke.cn>

* feature add integration for grpc (apache#158)

* finish ut for interceptor

* add client interceptor

* add server interceptor

* adjust location for test file

* format in goimports

* goimformat

* adjust package struct of grpc interceptor, move constant of grpc to common package.

* adjust gprc interceptor file struct

* refact directory, optimize grpc test case

* optimize proto

* delte test file

* delte test file

* fix npe for server integration

* go mod tidy

* remove duplicate constant

* optimize: remove unnecessary codes (apache#208)

* Add unit testing for getty (apache#203)

* getty tests

* test

* test

* style

* style go mod

* style:format imports

* style:Delete the useless gomonkey Reset method

Co-authored-by: xubaisheng <>

* optimize workflow, add condecov and issue, stale robot (apache#202)

optimize workflow, add condecov and issue robot

* Feature add tcc branch report unit test (apache#210)

test: add tcc branch report unit test

* optimize: support instance BusinessActionContext outside the TCC try … (apache#179)

optimize: support instance BusinessActionContext outside the TCC try method

* add dubbo transtation filter test (apache#204)

test: add unit test for dubbo transtation filter

* optimize ResourceManagerInbound function's parameters into one struct-rm_api.go  (apache#198)

optimiz: optimize function's parameters into one struct-rm_api.go

* feature add tcc grpc sample,adjust register resource and branch register (apache#200)

feature: add grpc integration for tcc

* fix enhancement: make time parameters easier to read (apache#215)

optimize: make time parameters easier to read

* feature/datasource_at merge to master (apache#213)

feature: add transaction at datasource

* add rm test  (apache#192)

add test for rm

* optimize: add some todo comment, add a undo hook sample (apache#238)

add some todo comment, add a undo hook sample

* replace the underline naming in the code with the hump naming method (apache#235)

* add dubbo transtation filter test (apache#204)

test: add unit test for dubbo transtation filter

* add dubbo transtation filter test (apache#204)

test: add unit test for dubbo transtation filter

* add dubbo transtation filter test (apache#204)

test: add unit test for dubbo transtation filter

* add dubbo transtation filter test (apache#204)

test: add unit test for dubbo transtation filter

* add dubbo transtation filter test (apache#204)

test: add unit test for dubbo transtation filter

* add dubbo transtation filter test (apache#204)

test: add unit test for dubbo transtation filter

* add dubbo transtation filter test (apache#204)

test: add unit test for dubbo transtation filter

* add dubbo transtation filter test (apache#204)

test: add unit test for dubbo transtation filter

* add dubbo transtation filter test (apache#204)

test: add unit test for dubbo transtation filter

* add dubbo transtation filter test (apache#204)

test: add unit test for dubbo transtation filter

* fix: do register resource where execute OpenConnector function (apache#237)

* fix: register resource where execute OpenConnector function

* remove chinese comment

* optimize Add unit testing for common (apache#229)

* add unit test

* add unit test

* add unit test

Co-authored-by: miaoxueyu <miaoxueyu@xs901.com>

* bugfix: fix infinite loop of asyncCallback (apache#230)

asyncCallback -> syncCallback

* feature: add undo log manager delete (apache#240)

feature:add DeleteUndoLogs func, issue:apache#217

* frature: add update sql parser (apache#243)

feature: parse select sql from update sql

* feature: add license github action (apache#254)

* add license github action

* fix global transation time out (apache#258)

* feature add fence for tcc, and add fence sample in tcc local mode. (apache#191)

* frature: add update sql parser and remove tidb parser (apache#264)

add update sql parser and remove tidb parser (apache#243)

* fix ci failed because mock is invalid (apache#263)

* optimize: nested loop retries (apache#261)

* feat: add http tcc (apache#280)

feat: add http tcc

* feat: optimize retry (apache#284)

feat: optimize retry

* optimize: split client.Init into rm.Init and tm.Init methods (apache#286)

optimize: nested loop retries (apache#261)

* optimize: optimize global transaction usage (apache#281)

* refact the tm executor and adjust the sample

* optimize interface, adjust samples

* fix ci

* optimize comment

* upgrade go version

* add tx name configuration

* add panic handler

* feat: add has undo log table (apache#245)

feat:add has undo log table func

* (WIP)refactor:seata conn (apache#287)

* refactor:seata conn

* test: add unit test

* test: add unit test

* feat: add mysql update undo log builder (apache#288)

feat: add mysql update undo log builder

* change dubbo-go version (apache#302)

optimize: change dubbo-go version

* test:add DoParser ut (apache#299)

test: add DoParser unit test

* config github action not to automatically close ps or issue (apache#305)

* add mysql delete undo log builder (apache#296)

* add mysql delete undo log builder

* add mysql delete undo log builder

* add mysql delete undo log builder

* add mysql delete undo log builder

* feat: add sync worker and fmt (apache#303)

* feat: add sync worker and fmt

* feat: update

* feat: update

* feat: update

* feat: update

* feat: update

* feat: update

* feat: update

* feat: fix spell

* feat: fix conflict

Co-authored-by: Xin.Zh <dragoncharlie@foxmail.com>
Co-authored-by: haohongfan1 <haohongfan1@jd.com>

* Feat add mysql update after undo log builder (apache#289)

feat: add mysql update after undo log builder

* format:format code

* format:format code

* feat:add mysql table meta func && sql addEscape, delEscape func issue… (apache#294)

* feat:add mysql table meta func && sql addEscape, delEscape func issue#290

* fix:TestMetaCache func rename

* fix:ci lint fail fix

* fix: solve GetTableMeta return type && constant define

* fix:solve code format and meta cache func fault

* fix:solev git ci fail

* fix:solev git ci fail

* format:format code

* fix:merge master && format code

* fix:solve name conflict

Co-authored-by: 王瑞 <wangrui5@songguo7.com>
Co-authored-by: wangrui130 <wangrui130@tal.com>

* feat: init compressor type (apache#309)

* init compressor type

* refactor compress (apache#318)

* init compressor type

* init compressor type

* reformat code

* reformat code

* Feat multi undo log builder (apache#301)

* feat: add mysql update undo log builder

* add log

* add comment for JDBCType

* add name

* optimize basic builder

* fix type

* fix type

* fix switch

* add update after iamge builder

* format code

* format

* add multi undo log builder

* fix conflict

* fix conflict

* fix conflict

* fix conflict

* fix conflict

* fix conflict

* fix conflict

* feat: fix fanout test data race (apache#326)

* Refactor seata conn (apache#295)

* refactor:split xa and at logic

* refactor:split xa and at logic

* refactor:split xa and at logic

* feat(compressor): deflate compress (apache#321)

* feat(compressor): deflate compress

1. Optimize compressor type definition. (Don't start with package name).
2. Implement deflate compressor and ut.

close apache#312

* refactor(compressor): revert compressor type definition

* refactor(compressor): remove fmt.Println in ut

* refactor(compressor): adjust the order of deflate compressor constants.

* Add LZ4 compressor support. (apache#324)

* feat: add lz4 compressor support.

Signed-off-by: Wyatt Jia <i@eventloop.live>

* fix lz4 compressor buffer error.

Signed-off-by: Wyatt Jia <i@eventloop.live>

* format code by goimports.

* Add equal lz4 decompress test case and format code by goimports.

Signed-off-by: Wyatt Jia <i@eventloop.live>

* add zstd compress (apache#327)

zstd compress

Co-authored-by: xubaisheng <>

* Feat add gzip (apache#322)

* format:format code

* feat:add gzip func

* fix:comment unuseful code

* fix: fix ret val and unit test assert

* fix:gzip unit modify

* fix:unit test param define modify

Co-authored-by: wangrui130 <wangrui130@tal.com>
Co-authored-by: 王瑞 <wangrui5@songguo7.com>

* feat:add undo log manager-flush undo log func apache#269 (apache#307)

add undo log manager-flush undo log func apache#269

* Feat add zip apache#315 (apache#329)

* add zipcompress

* Feat/multi update (apache#325)

feat: add multi update

* feature: add select for update (apache#319)

* add select for update

* wip:multi delete sql (apache#330)

feat:multi delete sql

Co-authored-by: wangxiaoxiong <wangxiaoxiong@asants.com>

* test: strengthen ut (apache#332)

* optimize at (apache#336)

optimize at model

* Feat add undo func (apache#320)

add undo function

* optimize: add insert undo log function (apache#337)

add insert undo log function

* doc: add sample undo_log table sql

add sample mysql

* optimize at commit branch (apache#346)

* optimize at

* fix:timeout config & panic log lost (apache#350)

* fix timeout config & panic log lost

* format & fix rollback

* optimize meta data (apache#352)

optimize meta data

* optimize commit (apache#354)

optimize commit

* optimize commit (apache#354)

optimize commit  process

* feat: modify some receiver name (apache#353)

* feat: modify some receiver name

* feat: add no transaction test

* feat: update batch delete

* Optimize rollback (apache#356)

optimize  rollback

* feat: add gin for at and fix async worker bug (apache#357)

* feature: support ONLY_CARE_UPDATE_COLUMNS (apache#355)

support ONLY_CARE_UPDATE_COLUMNS & fix beforeImage error due to the struct shallow copy

* Rollback (apache#358)

* feat: rollback

* feat: add at rollback sampel

* feat: fix name

* fix bug (apache#359)

* Rollback1 (apache#360)

* feat: rollback

* feat: add at rollback sampel

* feat: update

* Fix meta data (apache#363)

 fix ColumnType

* Fix decode image(apache#365)

fix decode image

* add data check before rollbeck (apache#366)

* add data check before rollbeck

* doc: v1.0.2-RC1 release file (apache#338)

* optimize: remove unless function (apache#369)

remove unless function

* doc: update 1.0.2-RC1 change log (apache#370)

* update 1.0.2-RC1 change log

* fix: at sample (apache#374)

fix at rolback sample

* optimize: simplify to make codes more readable (apache#367)

Signed-off-by: charlie <qianglin98@qq.com>

* feat:add yml config  (apache#285)

add yml config

* feat: support for propagation of global transactions (apache#262)

* feature:build undo log by insert target SQL (apache#333)

* insert undo log

* add insert undo test

* fix map loop

* OPT code style & lint & add ut

* fix imports

* fix conflict & adapter some modify

* fix some bug & add ut

* fix  at smaple sql (apache#385)

fix  the table structure in testdata sql requires fewer fields than that in smaple (apache#385)

* fix: loop recursion problem in OpenConnector (apache#387)

fix: fix loop recursion problem in OpenConnector

* add tcc fence config logic (apache#383)

* add tcc fence config logic

* add string loader

* fix samples

* fix samples

* fix samples

* fix samples

* fix samples

* fix samples

* fix samples

* merge Load and LoadPath

* fix sample

* optimize some format (apache#392)

Co-authored-by: haohongfan1 <haohongfan1@jd.com>

* optimize at base executor (apache#394)

optimize at executor

* feat: add tm config (apache#398)

feat(pkg/client,pkg/config): add tm config

* feat: add getty config (apache#399)

add getty config

* fix branch register response (apache#401)

* fix branch register response

* optimize protocol init (apache#400)

* optimize protocol init

* optimize RM init (apache#390)

* OPT rm client

* fix code style

* fix lint

* feat: support xa mysql connection (apache#380)

* [wip]feat: support xa mysql connection

Signed-off-by: charlie <qianglin98@qq.com>

* Feat xa branch xid (apache#389)

* feat: add xa branch xid

Co-authored-by: 王瑞 <wangrui5@songguo7.com>

* [AT] add insert on duplicate (apache#405)

Co-authored-by: “kirhaku” <“2454546080@qq.com”>

* optimize: refactor at executor  (apache#397)

* refactor at executor

* refactor: use new tm config in tm module. (apache#411)

* refactor: use new tm config in tm module.

* roptimize: efactor delete and insert executor (apache#409)

* refactor delete and insert executor

* optimize: add log init (apache#408)

* feature: add transport config (apache#406)

* add transport config

* refactor(compressor): rename defalte_compress_test.go to deflate_compress_test.go (apache#414)

Co-authored-by: liushao <liushao@inke.cn>

* feat: add RM config (apache#412)

* feat: add rm config

* optimize readme (apache#417)

* feat: add service and seata config (apache#413)

* feat: add  Undo  config (apache#410)

add undo config

* fix undo config (apache#418)

fix undo config

* opt: optimize comments and dead code (apache#388)

* Apply getty config (apache#421)

* apply getty config

* feat: use undo config (apache#419)

* use undo config

* remove unused config (apache#422)

* bugfix: repair init getty failed (apache#423)

* bugfix: repair init getty failed

* fix getty config (apache#424)

* remove unused config

* bugfix: at model execution failed (apache#429)

* bugfix: at model execution failed

* Optimize getty config (apache#430)

* temporary not supported connection-num

* use config (apache#436)

* fix bug

* doc: add v1.0.2-RC3  change log (apache#431)

add change log for v1.0.2-RC3

* rename change-log to 1.0.3 (apache#443)

Co-authored-by: liuyuecai <liuyuecai@didiglobal.com>

* fix:when id autoincrement insert fail

Signed-off-by: Wyatt Jia <i@eventloop.live>
Signed-off-by: charlie <qianglin98@qq.com>
Co-authored-by: Xin.Zh <dragoncharlie@foxmail.com>
Co-authored-by: luky116_Liuyuecai <luky116@126.com>
Co-authored-by: liiiiiibpm <1653433835@qq.com>
Co-authored-by: AlexStocks <alexstocks@foxmail.com>
Co-authored-by: liuyuecai <liuyuecai@didiglobal.com>
Co-authored-by: 刘月财 <38887641+luky116@users.noreply.github.com>
Co-authored-by: wangxiaoxiong <wangxiaoxiong@asants.com>
Co-authored-by: lichen <liiiiiibpm@163.com>
Co-authored-by: cgDeepLearn <cglearningnow@163.com>
Co-authored-by: liiibpm <105549399+liiibpm@users.noreply.github.com>
Co-authored-by: juzimao <578961953@qq.com>
Co-authored-by: adair peng <1374854359@qq.com>
Co-authored-by: Elrond G <elrondgcn@gmail.com>
Co-authored-by: liushao <505786909@qq.com>
Co-authored-by: liushao <liushao@inke.cn>
Co-authored-by: Cr <631807682@qq.com>
Co-authored-by: 野牛 <1251604436@qq.com>
Co-authored-by: Jason Deng <76831112+jasondeng1997@users.noreply.github.com>
Co-authored-by: liaochuntao <liaochuntao@live.com>
Co-authored-by: windWheel <1817802738@qq.com>
Co-authored-by: miaoxueyu <M__java@163.com>
Co-authored-by: miaoxueyu <miaoxueyu@xs901.com>
Co-authored-by: PangXing <pangxing_2006@126.com>
Co-authored-by: georgehao <haohongfan@gmail.com>
Co-authored-by: baerwang <52104949+baerwang@users.noreply.github.com>
Co-authored-by: Shaozhou Hu <1094091844@qq.com>
Co-authored-by: haohongfan1 <haohongfan1@jd.com>
Co-authored-by: 王瑞 <wangrui5@songguo7.com>
Co-authored-by: bitstring <wellschuan@gmail.com>
Co-authored-by: FengZhang <zfcode@qq.com>
Co-authored-by: Charlie17Li <qianglin98@qq.com>
Co-authored-by: zhangym <40376181+zhangymPerson@users.noreply.github.com>
Co-authored-by: lxfeng1997 <33981743+lxfeng1997@users.noreply.github.com>
Co-authored-by: Kirhaku <38072436+Kirhaku@users.noreply.github.com>
Co-authored-by: “kirhaku” <“2454546080@qq.com”>
Co-authored-by: Zihao Yu <81380056+Chovyyyyyy@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

add query metadata
8 participants