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

fix(util/gconv): unstable converting when there is an external attribute with the same name as the internal structure #3799

Merged
merged 7 commits into from
Sep 25, 2024

Conversation

wln32
Copy link
Member

@wln32 wln32 commented Sep 23, 2024

fixed #3797 #3800 不完全修复,对于字段和结构体同名时,字段如果为零值时,有几率(跟map的遍历顺序有关)会重新初始化结构体
建议以后类似问题,不要把名字搞成一样的

2.补充测试issue#3797,以及嵌套结构体同名不同类型字段
3.过滤掉gmeta.Meta类型的字段
4.对于匿名结构体字段不带tag的,不再缓存
5.增加一些工具函数
Copy link

sonarcloud bot commented Sep 23, 2024

@gqcn gqcn changed the title fix(util/gconv): #3797 同名字段和同名结构体覆盖不完全修复 fix(util/gconv): unstable converting when there is an external attribute with the same name as the internal structure Sep 24, 2024
@gqcn gqcn self-requested a review September 24, 2024 07:56
gqcn and others added 2 commits September 24, 2024 18:26
* fix(net/goai): change default value of RequestBody.Required from true to false, add required tag support for RequestBody (gogf#3796)

* fix(database/gdb): support OrderRandom feature in different databases (gogf#3794)

* up

* fix issue 3800

---------

Co-authored-by: oldme <[email protected]>
@gqcn gqcn added the awesome It's awesome! We keep watching. label Sep 25, 2024
@gqcn
Copy link
Member

gqcn commented Sep 25, 2024

@wln32 wln32#7

@gqcn gqcn merged commit 5aa321d into gogf:master Sep 25, 2024
28 checks passed
houseme added a commit that referenced this pull request Sep 28, 2024
…ris-config

* 'master' of github.com:gogf/gf: (23 commits)
  build(go.mod): upgrade minimum required go version from 1.18 to 1.20 (#3688)
  refactor(net/ghttp): enhance `ghttp.StartPProfServer` (#3555)
  refactor(encoding/gjson): change data parameter from type any to []byte (#3542)
  refactor(net/gudp): improve implements (#3491)
  fix(os/gcache): memory leak for LRU when adding operations more faster than deleting (#3823)
  fix(os/gcmd): argument index calculating error in multilevel command (#3807)
  fix(database/gdb): invalid order by statement generated when multiple order inputs (#3803)
  fix(cmd/gf): creating logic.go empty folder when there is no correct logic service (#3815)
  test(drivers/mysql): loose unit testing for transaction (#3819)
  fix(net/ghttp&gclient,contrib/rpc/grpcx): remove request and response contents in opentelemetry tracing attributes (#3810)
  feat: new version v2.7.4 (#3809)
  fix(util/gconv): unstable converting when there is an external attribute with the same name as the internal structure (#3799)
  feat(database/gdb): add year field type support for ORM operations (#3805)
  fix(cmd/gf): table and field names converted to its lower case before CamelCase converting in command `gen dao` (#3801)
  fix(net/gclient): panic when containing `@file:` parameter value in json post request (#3775)
  feat(contrib/registry/etcd/): add `DialTimeout` and `AutoSyncInterval` option (#3698)
  fix(database/gdb): support OrderRandom feature in different databases (#3794)
  fix(net/goai): change default value of RequestBody.Required from true to false, add required tag support for RequestBody (#3796)
  fix(util/gvalid): retrive empty slice parameter in custom validation rule function failed (#3795)
  fix(util/gconv): cached field indexes append issue caused incorrect field converting (#3790)
  ...

# Conflicts:
#	.github/workflows/ci-main.sh
#	.github/workflows/golangci-lint.yml
#	contrib/metric/otelmetric/go.mod
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
awesome It's awesome! We keep watching.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

util/gconv: Fields with the same name in nested structures overwrite values
2 participants