-
Notifications
You must be signed in to change notification settings - Fork 713
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
FB8-49: Don't remove padding chars for binary column in RBR #947
Conversation
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.
LGTM
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.
@hermanlee has imported this pull request. If you are a Facebook employee, you can view this diff on Phabricator.
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.
I think there's a number of tests failing, but it's not clear to me if all of them just need to be re-recorded, or if something else is going on.
main.mysqlbinlog_rbr_column_names
binlog_nogtid.binlog_mysqlbinlog_row
binlog_nogtid.binlog_mysqlbinlog_row_myisam
binlog_nogtid.binlog_mysqlbinlog_row_innodb
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.
@hermanlee has imported this pull request. If you are a Facebook employee, you can view this diff on Phabricator.
@@ -6324,8 +6324,10 @@ uchar *Field_string::pack(uchar *to, const uchar *from, uint max_length, | |||
(this is for not packing padding adding bytes in BINARY | |||
fields). | |||
*/ | |||
if (field_charset->mbmaxlen == 1) { | |||
while (length && from[length - 1] == field_charset->pad_char) length--; | |||
if (key_type() != HA_KEYTYPE_BINARY) { |
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.
I don't think the body of this if statement is correct. It should both the mbmaxlen == 1
case and the else statement.
You can see that the re-recorded results are actually incorrect, because we're spacing padding varchars. This is because we're now keeping padding characters for charsets with mbmaxlen > 1 (eg. utf8mb4)
@dutow has updated the pull request. Re-import the pull request |
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.
@hermanlee has imported this pull request. If you are a Facebook employee, you can view this diff on Phabricator.
Can you update
|
Jira issue: https://jira.percona.com/browse/FB8-49 Reference patch: 915b131
@dutow has updated the pull request. Re-import the pull request |
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.
@lth has imported this pull request. If you are a Facebook employee, you can view this diff on Phabricator.
Summary: Jira issue: https://jira.percona.com/browse/FB8-49 Reference patch: 915b131 MySQL client doesn't remove padding chars for binary columns. Do the same for RBR. Tools parsing the replication stream vs. the client output can then use memcmp to compare keys. Otherwise, the tools need to handle padding characters correctly. Pull Request resolved: #947 Reviewed By: hermanlee Differential Revision: D13972586 Pulled By: hermanlee fbshipit-source-id: a00cb7a
Summary: Jira issue: https://jira.percona.com/browse/FB8-49 Reference patch: 915b131 MySQL client doesn't remove padding chars for binary columns. Do the same for RBR. Tools parsing the replication stream vs. the client output can then use memcmp to compare keys. Otherwise, the tools need to handle padding characters correctly. Pull Request resolved: #947 Reviewed By: hermanlee Differential Revision: D13972586 Pulled By: hermanlee fbshipit-source-id: 310bf42
…#947) Summary: Jira issue: https://jira.percona.com/browse/FB8-49 Reference patch: facebook@915b131 MySQL client doesn't remove padding chars for binary columns. Do the same for RBR. Tools parsing the replication stream vs. the client output can then use memcmp to compare keys. Otherwise, the tools need to handle padding characters correctly. Pull Request resolved: facebook#947 Reviewed By: hermanlee Differential Revision: D13972586 Pulled By: hermanlee fbshipit-source-id: 310bf42
…#947) Summary: Jira issue: https://jira.percona.com/browse/FB8-49 Reference patch: facebook@915b131 MySQL client doesn't remove padding chars for binary columns. Do the same for RBR. Tools parsing the replication stream vs. the client output can then use memcmp to compare keys. Otherwise, the tools need to handle padding characters correctly. Pull Request resolved: facebook#947 Reviewed By: hermanlee Differential Revision: D13972586 Pulled By: hermanlee fbshipit-source-id: 310bf42
…#947) Summary: Jira issue: https://jira.percona.com/browse/FB8-49 Reference patch: facebook@915b131 MySQL client doesn't remove padding chars for binary columns. Do the same for RBR. Tools parsing the replication stream vs. the client output can then use memcmp to compare keys. Otherwise, the tools need to handle padding characters correctly. Pull Request resolved: facebook#947 Reviewed By: hermanlee Differential Revision: D13972586 Pulled By: hermanlee fbshipit-source-id: 310bf42
…#947) Summary: Jira issue: https://jira.percona.com/browse/FB8-49 Reference patch: facebook@915b131 MySQL client doesn't remove padding chars for binary columns. Do the same for RBR. Tools parsing the replication stream vs. the client output can then use memcmp to compare keys. Otherwise, the tools need to handle padding characters correctly. Pull Request resolved: facebook#947 Reviewed By: hermanlee Differential Revision: D13972586 Pulled By: hermanlee fbshipit-source-id: 310bf42
…#947) Summary: Jira issue: https://jira.percona.com/browse/FB8-49 Reference patch: facebook@915b131 MySQL client doesn't remove padding chars for binary columns. Do the same for RBR. Tools parsing the replication stream vs. the client output can then use memcmp to compare keys. Otherwise, the tools need to handle padding characters correctly. Pull Request resolved: facebook#947 Reviewed By: hermanlee Differential Revision: D13972586 Pulled By: hermanlee fbshipit-source-id: 310bf42
…#947) Summary: Jira issue: https://jira.percona.com/browse/FB8-49 Reference patch: facebook@915b131 MySQL client doesn't remove padding chars for binary columns. Do the same for RBR. Tools parsing the replication stream vs. the client output can then use memcmp to compare keys. Otherwise, the tools need to handle padding characters correctly. Pull Request resolved: facebook#947 Reviewed By: hermanlee Differential Revision: D13972586 Pulled By: hermanlee fbshipit-source-id: 310bf42
…#947) Summary: Jira issue: https://jira.percona.com/browse/FB8-49 Reference patch: facebook@915b131 MySQL client doesn't remove padding chars for binary columns. Do the same for RBR. Tools parsing the replication stream vs. the client output can then use memcmp to compare keys. Otherwise, the tools need to handle padding characters correctly. Pull Request resolved: facebook#947 Reviewed By: hermanlee Differential Revision: D13972586 Pulled By: hermanlee fbshipit-source-id: 310bf42
…#947) (facebook#947) Summary: Jira issue: https://jira.percona.com/browse/FB8-49 Reference patch: facebook@915b131 MySQL client doesn't remove padding chars for binary columns. Do the same for RBR. Tools parsing the replication stream vs. the client output can then use memcmp to compare keys. Otherwise, the tools need to handle padding characters correctly. Pull Request resolved: facebook#947 Differential Revision: D13972586 Pulled By: hermanlee
…#947) (facebook#947) Summary: Jira issue: https://jira.percona.com/browse/FB8-49 Reference patch: facebook@915b131 MySQL client doesn't remove padding chars for binary columns. Do the same for RBR. Tools parsing the replication stream vs. the client output can then use memcmp to compare keys. Otherwise, the tools need to handle padding characters correctly. Pull Request resolved: facebook#947 Differential Revision: D13972586 Pulled By: hermanlee
…#947) (facebook#947) Summary: Jira issue: https://jira.percona.com/browse/FB8-49 Reference patch: facebook@915b131 MySQL client doesn't remove padding chars for binary columns. Do the same for RBR. Tools parsing the replication stream vs. the client output can then use memcmp to compare keys. Otherwise, the tools need to handle padding characters correctly. Pull Request resolved: facebook#947 Differential Revision: D13972586 Pulled By: hermanlee
…#947) (facebook#947) Summary: Jira issue: https://jira.percona.com/browse/FB8-49 Reference patch: facebook@915b131 MySQL client doesn't remove padding chars for binary columns. Do the same for RBR. Tools parsing the replication stream vs. the client output can then use memcmp to compare keys. Otherwise, the tools need to handle padding characters correctly. Pull Request resolved: facebook#947 Differential Revision: D13972586 Pulled By: hermanlee
) (percona#947) Summary: Jira issue: https://jira.percona.com/browse/FB8-49 Reference patch: facebook/mysql-5.6@915b131 MySQL client doesn't remove padding chars for binary columns. Do the same for RBR. Tools parsing the replication stream vs. the client output can then use memcmp to compare keys. Otherwise, the tools need to handle padding characters correctly. Pull Request resolved: facebook/mysql-5.6#947 Differential Revision: D13972586 Pulled By: hermanlee
…#947) (facebook#947) Summary: Jira issue: https://jira.percona.com/browse/FB8-49 Reference patch: facebook@915b131 MySQL client doesn't remove padding chars for binary columns. Do the same for RBR. Tools parsing the replication stream vs. the client output can then use memcmp to compare keys. Otherwise, the tools need to handle padding characters correctly. Pull Request resolved: facebook#947 Differential Revision: D13972586 Pulled By: hermanlee
…#947) (facebook#947) Summary: Jira issue: https://jira.percona.com/browse/FB8-49 Reference patch: facebook@915b131 MySQL client doesn't remove padding chars for binary columns. Do the same for RBR. Tools parsing the replication stream vs. the client output can then use memcmp to compare keys. Otherwise, the tools need to handle padding characters correctly. Pull Request resolved: facebook#947 Differential Revision: D13972586 Pulled By: hermanlee
…#947) (facebook#947) Summary: Jira issue: https://jira.percona.com/browse/FB8-49 Reference patch: facebook@915b131 MySQL client doesn't remove padding chars for binary columns. Do the same for RBR. Tools parsing the replication stream vs. the client output can then use memcmp to compare keys. Otherwise, the tools need to handle padding characters correctly. Pull Request resolved: facebook#947 Differential Revision: D13972586 Pulled By: hermanlee
…#947) (facebook#947) Summary: Jira issue: https://jira.percona.com/browse/FB8-49 Reference patch: facebook@915b131 MySQL client doesn't remove padding chars for binary columns. Do the same for RBR. Tools parsing the replication stream vs. the client output can then use memcmp to compare keys. Otherwise, the tools need to handle padding characters correctly. Pull Request resolved: facebook#947 Differential Revision: D13972586 Pulled By: hermanlee
…#947) (facebook#947) Summary: Jira issue: https://jira.percona.com/browse/FB8-49 Reference patch: facebook@915b131 MySQL client doesn't remove padding chars for binary columns. Do the same for RBR. Tools parsing the replication stream vs. the client output can then use memcmp to compare keys. Otherwise, the tools need to handle padding characters correctly. Pull Request resolved: facebook#947 Differential Revision: D13972586 Pulled By: hermanlee
…#947) (facebook#947) Summary: Jira issue: https://jira.percona.com/browse/FB8-49 Reference patch: facebook@915b131 MySQL client doesn't remove padding chars for binary columns. Do the same for RBR. Tools parsing the replication stream vs. the client output can then use memcmp to compare keys. Otherwise, the tools need to handle padding characters correctly. Pull Request resolved: facebook#947 Differential Revision: D13972586 Pulled By: hermanlee
…#947) (facebook#947) Summary: Jira issue: https://jira.percona.com/browse/FB8-49 Reference patch: facebook@915b131 MySQL client doesn't remove padding chars for binary columns. Do the same for RBR. Tools parsing the replication stream vs. the client output can then use memcmp to compare keys. Otherwise, the tools need to handle padding characters correctly. Pull Request resolved: facebook#947 Differential Revision: D13972586 Pulled By: hermanlee
…#947) (facebook#947) Summary: Jira issue: https://jira.percona.com/browse/FB8-49 Reference patch: facebook@915b131 MySQL client doesn't remove padding chars for binary columns. Do the same for RBR. Tools parsing the replication stream vs. the client output can then use memcmp to compare keys. Otherwise, the tools need to handle padding characters correctly. Pull Request resolved: facebook#947 Differential Revision: D13972586 Pulled By: hermanlee
…#947) (facebook#947) Summary: Jira issue: https://jira.percona.com/browse/FB8-49 Reference patch: facebook@915b131 MySQL client doesn't remove padding chars for binary columns. Do the same for RBR. Tools parsing the replication stream vs. the client output can then use memcmp to compare keys. Otherwise, the tools need to handle padding characters correctly. Pull Request resolved: facebook#947 Differential Revision: D13972586 Pulled By: hermanlee
…#947) (facebook#947) Summary: Jira issue: https://jira.percona.com/browse/FB8-49 Reference patch: facebook@915b131 MySQL client doesn't remove padding chars for binary columns. Do the same for RBR. Tools parsing the replication stream vs. the client output can then use memcmp to compare keys. Otherwise, the tools need to handle padding characters correctly. Pull Request resolved: facebook#947 Differential Revision: D13972586 Pulled By: hermanlee
…#947) (facebook#947) Summary: Jira issue: https://jira.percona.com/browse/FB8-49 Reference patch: facebook@915b131 MySQL client doesn't remove padding chars for binary columns. Do the same for RBR. Tools parsing the replication stream vs. the client output can then use memcmp to compare keys. Otherwise, the tools need to handle padding characters correctly. Pull Request resolved: facebook#947 Differential Revision: D13972586 Pulled By: hermanlee
…#947) (facebook#947) Summary: Jira issue: https://jira.percona.com/browse/FB8-49 Reference patch: facebook@915b131 MySQL client doesn't remove padding chars for binary columns. Do the same for RBR. Tools parsing the replication stream vs. the client output can then use memcmp to compare keys. Otherwise, the tools need to handle padding characters correctly. Pull Request resolved: facebook#947 Differential Revision: D13972586 Pulled By: hermanlee
…#947) (facebook#947) Summary: Jira issue: https://jira.percona.com/browse/FB8-49 Reference patch: facebook@915b131 MySQL client doesn't remove padding chars for binary columns. Do the same for RBR. Tools parsing the replication stream vs. the client output can then use memcmp to compare keys. Otherwise, the tools need to handle padding characters correctly. Pull Request resolved: facebook#947 Differential Revision: D13972586 Pulled By: hermanlee
…#947) (facebook#947) Summary: Jira issue: https://jira.percona.com/browse/FB8-49 Reference patch: facebook@915b131 MySQL client doesn't remove padding chars for binary columns. Do the same for RBR. Tools parsing the replication stream vs. the client output can then use memcmp to compare keys. Otherwise, the tools need to handle padding characters correctly. Pull Request resolved: facebook#947 Differential Revision: D13972586 Pulled By: hermanlee
…#947) (facebook#947) Summary: Jira issue: https://jira.percona.com/browse/FB8-49 Reference patch: facebook@915b131 MySQL client doesn't remove padding chars for binary columns. Do the same for RBR. Tools parsing the replication stream vs. the client output can then use memcmp to compare keys. Otherwise, the tools need to handle padding characters correctly. Pull Request resolved: facebook#947 Differential Revision: D13972586 Pulled By: hermanlee
…#947) (facebook#947) Summary: Jira issue: https://jira.percona.com/browse/FB8-49 Reference patch: facebook@915b131 MySQL client doesn't remove padding chars for binary columns. Do the same for RBR. Tools parsing the replication stream vs. the client output can then use memcmp to compare keys. Otherwise, the tools need to handle padding characters correctly. Pull Request resolved: facebook#947 Differential Revision: D13972586 Pulled By: hermanlee
…#947) (facebook#947) Summary: Jira issue: https://jira.percona.com/browse/FB8-49 Reference patch: facebook@915b131 MySQL client doesn't remove padding chars for binary columns. Do the same for RBR. Tools parsing the replication stream vs. the client output can then use memcmp to compare keys. Otherwise, the tools need to handle padding characters correctly. Pull Request resolved: facebook#947 Differential Revision: D13972586 Pulled By: hermanlee
…#947) (facebook#947) Summary: Jira issue: https://jira.percona.com/browse/FB8-49 Reference patch: facebook@915b131 MySQL client doesn't remove padding chars for binary columns. Do the same for RBR. Tools parsing the replication stream vs. the client output can then use memcmp to compare keys. Otherwise, the tools need to handle padding characters correctly. Pull Request resolved: facebook#947 Differential Revision: D13972586 Pulled By: hermanlee
…#947) (facebook#947) Summary: Jira issue: https://jira.percona.com/browse/FB8-49 Reference patch: facebook@915b131 MySQL client doesn't remove padding chars for binary columns. Do the same for RBR. Tools parsing the replication stream vs. the client output can then use memcmp to compare keys. Otherwise, the tools need to handle padding characters correctly. Pull Request resolved: facebook#947 Differential Revision: D13972586 Pulled By: hermanlee
…#947) (facebook#947) Summary: Jira issue: https://jira.percona.com/browse/FB8-49 Reference patch: facebook@915b131 MySQL client doesn't remove padding chars for binary columns. Do the same for RBR. Tools parsing the replication stream vs. the client output can then use memcmp to compare keys. Otherwise, the tools need to handle padding characters correctly. Pull Request resolved: facebook#947 Differential Revision: D13972586 Pulled By: hermanlee
…#947) (facebook#947) Summary: Jira issue: https://jira.percona.com/browse/FB8-49 Reference patch: facebook@915b131 MySQL client doesn't remove padding chars for binary columns. Do the same for RBR. Tools parsing the replication stream vs. the client output can then use memcmp to compare keys. Otherwise, the tools need to handle padding characters correctly. Pull Request resolved: facebook#947 Differential Revision: D13972586 Pulled By: hermanlee
…#947) (facebook#947) Summary: Jira issue: https://jira.percona.com/browse/FB8-49 Reference patch: facebook@915b131 MySQL client doesn't remove padding chars for binary columns. Do the same for RBR. Tools parsing the replication stream vs. the client output can then use memcmp to compare keys. Otherwise, the tools need to handle padding characters correctly. Pull Request resolved: facebook#947 Differential Revision: D13972586 Pulled By: hermanlee
…#947) (facebook#947) Summary: Jira issue: https://jira.percona.com/browse/FB8-49 Reference patch: facebook@915b131 MySQL client doesn't remove padding chars for binary columns. Do the same for RBR. Tools parsing the replication stream vs. the client output can then use memcmp to compare keys. Otherwise, the tools need to handle padding characters correctly. Pull Request resolved: facebook#947 Differential Revision: D13972586 Pulled By: hermanlee
…#947) (facebook#947) Summary: Jira issue: https://jira.percona.com/browse/FB8-49 Reference patch: facebook@915b131 MySQL client doesn't remove padding chars for binary columns. Do the same for RBR. Tools parsing the replication stream vs. the client output can then use memcmp to compare keys. Otherwise, the tools need to handle padding characters correctly. Pull Request resolved: facebook#947 Differential Revision: D13972586 Pulled By: hermanlee
…#947) (facebook#947) Summary: Jira issue: https://jira.percona.com/browse/FB8-49 Reference patch: facebook@915b131 MySQL client doesn't remove padding chars for binary columns. Do the same for RBR. Tools parsing the replication stream vs. the client output can then use memcmp to compare keys. Otherwise, the tools need to handle padding characters correctly. Pull Request resolved: facebook#947 Differential Revision: D13972586 Pulled By: hermanlee
Jira issue: https://jira.percona.com/browse/FB8-49
Reference patch: 915b131
MySQL client doesn't remove padding chars for binary columns. Do the same for RBR. Tools parsing the replication stream vs. the client output can then use memcmp to compare keys. Otherwise, the tools need to handle padding characters correctly.