risingwavelabs / risingwave

Best-in-class stream processing, analytics, and management. Perform continuous analytics, or build event-driven applications, real-time ETL pipelines, and feature stores in minutes. Unified streaming and batch. PostgreSQL compatible.
https://go.risingwave.com/slack
Apache License 2.0
6.88k stars 569 forks source link

Support Oid (Object Identifier Types) #16830

Open neverchanje opened 4 months ago

neverchanje commented 4 months ago

Is your feature request related to a problem? Please describe.

Oid has become the common blocker for extending our supports to more PG ecosystem tools. The idea is very simple - to support the oid type and its associated types, including regproc, regprocedure, regoper, regoperator, regclass, and regtype.

We don't have to support operations except for the type conversion from/to oid and text/varchar/regproc/regprocedure/regoper/regoperator/regclass/regtype.

from/to text oid regproc regprocedure regoper regoperator regclass regtype
text t t t t t t t t
oid t t t t t t t t
regproc t t t f f f f f
regprocedure t t f t f f f f
regoper t t f f t f f f
regoperator t t f f f t f f
regclass t t f f f f t f
regtype t t f f f f f t

Oid types should not be allowed to output in sinks.

Describe the solution you'd like

Solution 1:

Implementing oid as a pure alias of int32, and regproc/regprocedure/regoper/regoperator/regclass/regtype as an alias of text.

Solution 2:

Fully support these types in our type system.

Describe alternatives you've considered

No response

Additional context

This is not an urgent task, but worths some efforts once anyone have bandwidth.

github-actions[bot] commented 2 months ago

This issue has been open for 60 days with no activity.

If you think it is still relevant today, and needs to be done in the near future, you can comment to update the status, or just manually remove the no-issue-activity label.

You can also confidently close this issue as not planned to keep our backlog clean. Don't worry if you think the issue is still valuable to continue in the future. It's searchable and can be reopened when it's time. 😄

xiangjinwu commented 2 months ago

Will do a proof-of-concept in order to evaluate the feasibility of one approach I have in mind and have better understanding of the complexity of this issue.