-
Notifications
You must be signed in to change notification settings - Fork 8
Support declarative partitioning #11
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
Support declarative partitioning #11
Conversation
Enhances API with "partitions" and "subpartitions" new tables. Add steps in materialize_foreign_table() to support partitioned tables and partitions creation when needed. See README.md for further description. Supports LIST (with default partition), RANGE, HASH and composite partitioning. The last position of a HASH partition is read before partition creation to obtain modulus value. Positions must start at 1.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is just a code review; I didn't test it yet.
Thanks for the contribution! This is promising!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
One more think I noticed after reading the ora_migrator
patch.
I thought some more about partition boundaries. |
6b6497e
to
d35a9b9
Compare
Reviewed by laurenz
partitions.values and subpartitions.valuess must be arrays depending on partition type Removes position and migrate columns. Related to cybertec-postgresql#12
Use of v_translate_expression inside partitions and subpartitions refresh step. As values represents an array of specification, it loops over unnested values to perform translation before reconstruct array.
Ok, I think I have tortured you enough with my complaints, and thanks for your patience. |
Good news! All of your suggestions sounded good to me, thanks for your feedback! |
Thanks again. |
Enhances API with "partitions" and "subpartitions" new tables. Add steps in materialize_foreign_table() to support partitioned tables and partitions creation when needed. See README.md for further description.
Supports LIST (with default partition), RANGE, HASH and composite partitioning. The last position of a HASH partition is read before partition creation to obtain modulus value. Positions must start at 1.