-
Notifications
You must be signed in to change notification settings - Fork 277
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
feat:add mysql table meta func && sql addEscape, delEscape func issue… #294
Conversation
Codecov Report
@@ 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
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 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
format
There was a problem hiding this comment.
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) { |
There was a problem hiding this comment.
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
There was a problem hiding this comment.
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") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
可以的,我看看。
|
||
import ( | ||
"context" | ||
"database/sql" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
format
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
这里也是格式化之后的样子。
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"testing" 不应该放上面吗
There was a problem hiding this comment.
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) { |
There was a problem hiding this comment.
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
There was a problem hiding this comment.
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) |
There was a problem hiding this comment.
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
There was a problem hiding this comment.
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) |
There was a problem hiding this comment.
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
There was a problem hiding this comment.
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) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
move ColumnSchemaSql
here
There was a problem hiding this comment.
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 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
这里不需要进行初始化吗?我看你在启动的时候调用过这个方法
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
这个可以删掉。他这个Init没有用
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
也可以,目前确实没什么用。
} | ||
|
||
return false | ||
default: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
这里可以加个todo,以后加别的数据库记得加上关键字
There was a problem hiding this comment.
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 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
这个咋放括号外面了
There was a problem hiding this comment.
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] | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
删掉空行
There was a problem hiding this comment.
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" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
format
There was a problem hiding this comment.
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" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
这里为啥写死呢?我理解应该是动态传的参数哈
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
是指 DBName 吗,原本设想是 config 功能实现后放到配置里面,所以暂时写死了。
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
加上 todo,然后说明下这个值以后是从 config 中读取
There was a problem hiding this comment.
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)) |
There was a problem hiding this comment.
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")
There was a problem hiding this comment.
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 { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
这个判断,放在遍历rows之前,是不是比较合适呢
There was a problem hiding this comment.
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] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
这里有一点不明白想请教下, 对于联合索引这里会查出多条index吗?
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>
* 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>
* 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>
* 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>
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?: