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

feature:build undo log by insert target SQL #333

Merged
merged 7 commits into from
Dec 3, 2022

Conversation

Code-Fight
Copy link
Contributor

What this PR does:
build undo log by insert target SQL
Which issue(s) this PR fixes:

Fixes #
#218
Special notes for your reviewer:

Does this PR introduce a user-facing change?:


@github-actions github-actions bot added the coding label Nov 6, 2022

func pkValuesMapMerge(dest *map[string][]interface{}, src map[string][]interface{}) {
for k, v := range src {
(*dest)[k] = append((*dest)[k], v)
Copy link
Contributor

Choose a reason for hiding this comment

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

不要存储 for 循环里的 k 和 v,复制一遍变量。

for k, v := range src {
k1 := k
v1 := v
(*dest)[k1] = append((*dest)[k1], v1)
}

Copy link
Contributor

Choose a reason for hiding this comment

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

不要存储 for 循环里的 k 和 v,复制一遍变量。

for k, v := range src { k1 := k v1 := v (*dest)[k1] = append((*dest)[k1], v1) }

我在公司搞一个for 并发的场景,也遇到了这个坑

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

@codecov-commenter
Copy link

codecov-commenter commented Nov 6, 2022

Codecov Report

Merging #333 (cacc7c2) into master (b1f47f0) will increase coverage by 0.36%.
The diff coverage is 44.83%.

@@            Coverage Diff             @@
##           master     #333      +/-   ##
==========================================
+ Coverage   41.25%   41.61%   +0.36%     
==========================================
  Files         115      116       +1     
  Lines        6591     7017     +426     
==========================================
+ Hits         2719     2920     +201     
- Misses       3701     3885     +184     
- Partials      171      212      +41     
Impacted Files Coverage Δ
pkg/datasource/sql/types/meta.go 0.00% <0.00%> (ø)
.../sql/undo/builder/mysql_insert_undo_log_builder.go 46.81% <46.81%> (ø)
...asource/sql/undo/builder/basic_undo_log_builder.go 59.17% <0.00%> (+4.58%) ⬆️

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

if parseCtx == nil || parseCtx.InsertStmt == nil || parseCtx.InsertStmt.Lists == nil {
return false
}
return len(parseCtx.InsertStmt.Lists) > 0
Copy link
Contributor

Choose a reason for hiding this comment

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

return len(parseCtx.InsertStmt.Columns) > 0

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 len(parseCtx.InsertStmt.Columns) > 0

done

pkColumnNameListStr := strings.Join(pkColumnNameList, ",") + ","

for _, column := range parseCtx.InsertStmt.Columns {
if strings.Contains(pkColumnNameListStr, column.Name.O) ||
Copy link
Contributor

Choose a reason for hiding this comment

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

用字符串contains判断不太严谨,最好挨个字段比较

Copy link
Contributor Author

Choose a reason for hiding this comment

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

用字符串contains判断不太严谨,最好挨个字段比较

done

pkColumnNameListStr := strings.Join(pkColumnNameList, ",") + ","

for _, column := range parseCtx.InsertStmt.Columns {
if strings.Contains(pkColumnNameListStr, column.Name.O) ||
Copy link
Contributor

Choose a reason for hiding this comment

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

看java那边的代码,用了containsAll,需要确保insert的字段,包含了pk的所有字段(假如是联合主键的话)哈

 public boolean containsPK(List<String> cols) {
        if (cols == null) {
            return false;
        }

        List<String> pk = getPrimaryKeyOnlyName();
        if (pk.isEmpty()) {
            return false;
        }


        //at least contain one pk
        if (cols.containsAll(pk)) {
            return true;
        } else {
            return CollectionUtils.toUpperList(cols).containsAll(CollectionUtils.toUpperList(pk));
        }
    }

Copy link
Contributor Author

Choose a reason for hiding this comment

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

这个java的注释 //at least contain one pk 写的,我都没注意下面是All 😒

pkIndex := -1
allColumns := meta.Columns
for _, columnMeta := range allColumns {
tmpColumnMeta := columnMeta
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.

这里也没有写操作和异步操作,需要这样定临时变量吗?

这里根据之前雨哥提的那个comment 把所有设计到map的都临时存储了一下。还有之前雨哥发的鸟窝的那个文章。所以就都copy了。我觉得要不要定义一个规范出来,要么就都保险起见都弄一下

type MySQLInsertUndoLogBuilder struct {
BasicUndoLogBuilder
// InsertResult after insert sql
InsertResult types.ExecResult
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.

这个 变量是哪里赋值的呢?好像没有找到

这个是之前说的 insert 依赖执行后的结果 进行undo log的生成,所以定义一个变量 后面走全流程的时候 这个变量再注入进来


// getPkIndex get pk index
// return the key is pk column name and the value is index of the pk column
func (u *MySQLInsertUndoLogBuilder) getPkIndex(InsertStmt *ast.InsertStmt, meta types.TableMeta) map[string]int {
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

}

// containPK compare column name and primary key name
func (u *MySQLInsertUndoLogBuilder) containPK(columnName string, meta types.TableMeta) bool {
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

return pkValuesMap, nil
}

func (u *MySQLInsertUndoLogBuilder) containsPK(meta types.TableMeta, parseCtx *types.ParseContext) bool {
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

return pkValuesMap, nil
}

func pkValuesMapMerge(dest *map[string][]interface{}, src map[string][]interface{}) {
Copy link
Contributor

Choose a reason for hiding this comment

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

同理,临时变量问题

if err != nil {
return "", nil
}
if len(dataTypeMap) != len(pkColumnNameList) {
Copy link
Contributor

Choose a reason for hiding this comment

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

这种情况要吐出error吗?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

这种情况要吐出error吗?

加一个比较好,我加上

return 0, errors.New("get primary key type error")
}

func (m TableMeta) GetPrimaryKeyTypeStrMap() (map[string]string, error) {
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.

注释

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

@@ -117,3 +119,29 @@ func (m TableMeta) GetPrimaryKeyOnlyName() []string {
}
return keys
}

func (m TableMeta) GetPrimaryKeyType() (int32, error) {
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.

建议加上注释

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

@georgehao georgehao merged commit fb92a14 into apache:master Dec 3, 2022
georgehao pushed a commit to georgehao/seata-go that referenced this pull request Dec 5, 2022
* 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
wang1309 pushed a commit to wang1309/seata-go that referenced this pull request Jan 7, 2023
* 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
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.

5 participants