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(database/pgsql): fix for postgresql database array type map #3737

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

ivothgle
Copy link
Contributor

fix for postgresql database array type map

Copy link

sonarcloud bot commented Aug 19, 2024


case
"_int8":
return gdb.LocalTypeInt64Slice, nil
return LocalTypeInt64Slice, nil
Copy link
Member

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.

因为使用gdb.LocalTypeInt64Slice 的结果是[]int64 ,实际是无法实现对 pgsql 的 数组类型自动解码 ,故使用 pq.Int64Array 来实现自动编解码,
写入数据数据也是同理

PS:pgsql 的数组类型写入是[]int64{1,2,3} 对应 '{1,2,3}'

Copy link
Member

Choose a reason for hiding this comment

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

@ivothgle 只是改这里似乎是不行的,这里新增的类型有点根据特定数据库类型定制化了,这里会影响到cli那边的代码生成。可以提交单测复现无法实现对 pgsql 的 数组类型自动解码的问题,咱们可以一起看看。

Copy link
Contributor Author

Choose a reason for hiding this comment

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

这个就是影响从数据库生成代码entity 的类型而已吧

Copy link
Member

Choose a reason for hiding this comment

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

@ivothgle 麻烦提交一个issue描述一下无法实现对 pgsql 的 数组类型自动解码的问题,以便确认该PR是否能解决该问题,或者有其他更优雅的方案。


case
"_int8":
return gdb.LocalTypeInt64Slice, nil
return LocalTypeInt64Slice, nil
Copy link
Member

Choose a reason for hiding this comment

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

@ivothgle 只是改这里似乎是不行的,这里新增的类型有点根据特定数据库类型定制化了,这里会影响到cli那边的代码生成。可以提交单测复现无法实现对 pgsql 的 数组类型自动解码的问题,咱们可以一起看看。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants