From 0afa6cbcf69c92567be53c9ebe47fe29981193cc Mon Sep 17 00:00:00 2001 From: wang1309 <1028960576@qq.com> Date: Sun, 8 Jan 2023 11:37:28 +0800 Subject: [PATCH] Fix autoincrement insert panic (#452) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 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 * 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 * 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 Co-authored-by: haohongfan1 * 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: 王瑞 Co-authored-by: wangrui130 * 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 * fix lz4 compressor buffer error. Signed-off-by: Wyatt Jia * format code by goimports. * Add equal lz4 decompress test case and format code by goimports. Signed-off-by: Wyatt Jia * 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 Co-authored-by: 王瑞 * 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 * 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 * 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 * 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 * Feat xa branch xid (#389) * feat: add xa branch xid Co-authored-by: 王瑞 * [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 * 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 * fix:when id autoincrement insert fail Signed-off-by: Wyatt Jia Signed-off-by: charlie Co-authored-by: Xin.Zh Co-authored-by: luky116_Liuyuecai Co-authored-by: liiiiiibpm <1653433835@qq.com> Co-authored-by: AlexStocks Co-authored-by: liuyuecai Co-authored-by: 刘月财 <38887641+luky116@users.noreply.github.com> Co-authored-by: wangxiaoxiong Co-authored-by: lichen Co-authored-by: cgDeepLearn 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 Co-authored-by: liushao <505786909@qq.com> Co-authored-by: liushao 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 Co-authored-by: windWheel <1817802738@qq.com> Co-authored-by: miaoxueyu Co-authored-by: miaoxueyu Co-authored-by: PangXing Co-authored-by: georgehao Co-authored-by: baerwang <52104949+baerwang@users.noreply.github.com> Co-authored-by: Shaozhou Hu <1094091844@qq.com> Co-authored-by: haohongfan1 Co-authored-by: 王瑞 Co-authored-by: bitstring Co-authored-by: FengZhang Co-authored-by: Charlie17Li 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> --- go.mod | 2 +- pkg/datasource/sql/exec/at/insert_executor.go | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/go.mod b/go.mod index 0adc53407..b8d544412 100644 --- a/go.mod +++ b/go.mod @@ -8,6 +8,7 @@ require ( github.com/agiledragon/gomonkey/v2 v2.2.0 github.com/apache/dubbo-getty v1.4.9-0.20220825024508-3da63c3257fa github.com/arana-db/parser v0.2.5 + github.com/dsnet/compress v0.0.1 github.com/dubbogo/gost v1.12.6-0.20220824084206-300e27e9e524 github.com/gin-gonic/gin v1.8.0 github.com/go-sql-driver/mysql v1.6.0 @@ -50,7 +51,6 @@ require ( github.com/coreos/go-systemd/v22 v22.3.2 // indirect github.com/creasty/defaults v1.5.2 // indirect github.com/davecgh/go-spew v1.1.1 // indirect - github.com/dsnet/compress v0.0.1 // indirect github.com/dubbogo/go-zookeeper v1.0.4-0.20211212162352-f9d2183d89d5 // indirect github.com/dubbogo/grpc-go v1.42.10 // indirect github.com/dubbogo/triple v1.1.9 // indirect diff --git a/pkg/datasource/sql/exec/at/insert_executor.go b/pkg/datasource/sql/exec/at/insert_executor.go index 3fb67e1c5..74434a67c 100644 --- a/pkg/datasource/sql/exec/at/insert_executor.go +++ b/pkg/datasource/sql/exec/at/insert_executor.go @@ -66,6 +66,10 @@ func (i *insertExecutor) ExecContext(ctx context.Context, f exec.CallbackWithNam return nil, err } + if i.businesSQLResult == nil { + i.businesSQLResult = res + } + afterImage, err := i.afterImage(ctx) if err != nil { return nil, err