ChangeHandler: Don't hexify text columns.

As far as I understand, it doesn't make any sense to hexify text
columns; they break in many ways (you can't roundtrip the UTFs,
quote_val gets the hex quoting wrong, etc) and in any case,
the maatkit bugs about the feature are all about blob/binary
columns.

And, while a perilous excercise of genetic programming, removing
it didn't break any pt-table-sync tests, so this commit does
exactly that.
This commit is contained in:
Brian Fraser fraserb@gmail.com
2012-08-27 15:04:51 -03:00
parent 262fcadb84
commit 031cc1751c
3 changed files with 30 additions and 3 deletions

View File

@@ -386,7 +386,7 @@ is(
# #############################################################################
$tbl_struct = {
cols => [qw(t)],
type_for => {t=>'text'},
type_for => {t=>'blob'},
};
$ch = new ChangeHandler(
Quoter => $q,
@@ -406,6 +406,33 @@ is(
"Don't prepend 0x to blank blob/text column value (issue 1052)"
);
# #############################################################################
# An update to the above bug; It should only hexify for blob and binary, not
# for text columns; The latter not only breaks for UTF-8 data, but also
# breaks now that hex-looking columns aren't automatically left unquoted.
# #############################################################################
$tbl_struct = {
cols => [qw(t)],
type_for => {t=>'text'},
};
$ch = new ChangeHandler(
Quoter => $q,
left_db => 'test',
left_tbl => 't',
right_db => 'test',
right_tbl => 't',
actions => [ sub {} ],
replace => 0,
queue => 0,
tbl_struct => $tbl_struct,
);
is(
$ch->make_fetch_back_query('1=1'),
"SELECT `t` FROM `test`.`t` WHERE 1=1 LIMIT 1",
"Don't prepend 0x to blank blob/text column value (issue 1052)"
);
# #############################################################################
SKIP: {