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

refactor(binder): simplify type inference logic related to comparison #5808

Open
xiangjinwu opened this issue Oct 12, 2022 · 2 comments
Open
Assignees
Labels
component/frontend Protocol, parsing, binder. type/refactor

Comments

@xiangjinwu
Copy link
Contributor

xiangjinwu commented Oct 12, 2022

... I feel that maintaining special rules and general rules seperately will make this logic more complicate. Suppose I need to debug cmp expressions, I will first need to understand that they are scattered around two different places in the code. I think there could be some better way to implement this.

Originally posted by @neverchanje in #5670 (review)

@github-actions github-actions bot added this to the release-0.1.14 milestone Oct 12, 2022
@xiangjinwu xiangjinwu self-assigned this Oct 12, 2022
@xiangjinwu xiangjinwu added type/refactor component/frontend Protocol, parsing, binder. labels Oct 12, 2022
@xiangjinwu xiangjinwu removed this from the release-0.1.14 milestone Oct 19, 2022
@github-actions
Copy link
Contributor

This issue has been open for 60 days with no activity. Could you please update the status? Feel free to continue discussion or close as not planned.

@xiangjinwu
Copy link
Contributor Author

Another shortcoming of splitting comparison between infer_type_for_special (array & struct) and infer_type_name is that ScalarArrayOp (eg t.selected < ALL(t.candidates)) cannot work over array of struct/array, because it relies solely on infer_type_name. But we also note that PostgreSQL does not support this for multi-dimensional array either, as its static typing does not contain dimension information.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component/frontend Protocol, parsing, binder. type/refactor
Projects
None yet
Development

No branches or pull requests

1 participant