Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
 Blocking Schema Changes #1341
- The codes seem to work. They modified postgres parser, planner, executor, and catelog, which is the typical information flow to change schema. Some places need to add locks to protect consistency under multiple transactions.
- All the codes are easily understood because of detailed comments and clear names.
- There are a few redundant codes like using for loop to find a match string, but most of codes are neat.
- The codes are modular and they re-use other modules properly.
- There exist some commented out codes, like some test codes, but I believe they retain those codes to debug in future.
- They use debug log functions properly and most of them are at TRACE level, which is suitable to avoid too many debug info.
- Comments describe intents of codes correctly.
- All important functions are commented. Although some functions are not commented, their names are good enough suggestions.
- No unusual behavior observed.
- No other third-party libraries.
- Garbage collection for the old table is not completed.
- They have tests and they are comprehensive on single transaction operations, but they do not test concurrent situations.
- Their test is valid because they use JDBC to send SQL instructions and the parser in peloton will convert it into plans to execute.
- No hardcoded answers.
- They tests cover all their basic functions like rename, type change etc.
[Major]: Major issues need to notice
[Minor]: Minor issues need to notice
+ Much better use of comments
+ Much more test cases
+ Overall LGTM
+ Proper use of TODO
+ No incomplete code
+ Good comments
+ Test exists and comprehensive
- Some tests still fails
Generally better coding style, keep it up!