VReplication: refactored and enhanced support for JSON columns#6829
Merged
deepthi merged 9 commits intovitessio:masterfrom Nov 4, 2020
Merged
VReplication: refactored and enhanced support for JSON columns#6829deepthi merged 9 commits intovitessio:masterfrom
deepthi merged 9 commits intovitessio:masterfrom
Conversation
62efcb7 to
9e2b0db
Compare
68b5d25 to
d990e25
Compare
harshit-gangal
approved these changes
Oct 26, 2020
Contributor
|
Are all comments addressed? If so, we can merge this. |
deepthi
reviewed
Oct 30, 2020
implementation for mysql57 flavors Signed-off-by: Rohit Nayak <rohit@planetscale.com>
Signed-off-by: Rohit Nayak <rohit@planetscale.com>
…cs, debug logs Signed-off-by: Rohit Nayak <rohit@planetscale.com>
Signed-off-by: Rohit Nayak <rohit@planetscale.com>
Signed-off-by: Rohit Nayak <rohit@planetscale.com>
Signed-off-by: Rohit Nayak <rohit@planetscale.com>
Signed-off-by: Rohit Nayak <rohit@planetscale.com>
Signed-off-by: Rohit Nayak <rohit@planetscale.com>
508a20b to
06597c9
Compare
deepthi
suggested changes
Nov 2, 2020
Signed-off-by: Rohit Nayak <rohit@planetscale.com>
harshit-gangal
approved these changes
Nov 4, 2020
deepthi
approved these changes
Nov 4, 2020
8 tasks
setassociative
pushed a commit
to tinyspeck/vitess
that referenced
this pull request
Mar 11, 2021
VReplication: refactored and enhanced support for JSON columns Signed-off-by: Richard Bailey <rbailey@slack-corp.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This is a major refactor of the support for JSON columns in vreplication. The key changes are:
a two pass parser using an intermediate AST and the ajson package. Parsing of the binlog json representation generates an ajson AST. Producing the json string to apply changes in sql on the target is done by ajson's unmarshall functionality. This removes code for escaping strings which added complexity and was buggy. Also the code used to do both steps in a single pass making it difficult to maintain.
more tests added for vreplication code paths
added tests for "large" json docs
needed to cast json columns to utf8mb4 during vreplication since we use binary charsets, due to this bug https://bugs.mysql.com/bug.php?id=93052 fixed in MySQL 8.0.14
Note