Skip to content

Commit 3f11f3d

Browse files
committed
refacotring Code
add some comment test code prettier
1 parent 6f77f70 commit 3f11f3d

File tree

2 files changed

+28
-18
lines changed

2 files changed

+28
-18
lines changed

pymysqlreplication/row_event.py

+8-8
Original file line numberDiff line numberDiff line change
@@ -115,21 +115,20 @@ def _read_column_data(self, cols_bitmap, row_image_type=None):
115115
partial_bitmap = None
116116
if (
117117
self.event_type == BINLOG.PARTIAL_UPDATE_ROWS_EVENT
118-
and row_image_type == EnumRowImageType.UpdateAI
118+
and row_image_type == RowImageType.UpdateAI
119119
):
120120
binlog_row_value_option = self.packet.read_length_coded_binary()
121121
self.is_partial_json_update = binlog_row_value_option & 0b10000001 != 0
122122
if self.is_partial_json_update:
123123
partial_bitmap = self.packet.read((self._json_column_count() + 7) / 8)
124-
partial_bitmap_index = 0
125-
126124
values = {}
127125

128126
# null bitmap length = (bits set in 'columns-present-bitmap'+7)/8
129127
# See http://dev.mysql.com/doc/internals/en/rows-event.html
130128
null_bitmap = self.packet.read((BitCount(cols_bitmap) + 7) / 8)
131129

132130
null_bitmap_index = 0
131+
partial_bitmap_index = 0
133132
nb_columns = len(self.columns)
134133
for i in range(0, nb_columns):
135134
is_partial = False
@@ -139,7 +138,7 @@ def _read_column_data(self, cols_bitmap, row_image_type=None):
139138

140139
if (
141140
self.is_partial_json_update
142-
and row_image_type == EnumRowImageType.UpdateAI
141+
and row_image_type == RowImageType.UpdateAI
143142
and column.type == FIELD_TYPE.JSON
144143
):
145144
if BitGet(partial_bitmap, partial_bitmap_index) > 0:
@@ -1171,12 +1170,12 @@ def __init__(self, from_packet, event_size, table_map, ctl_connection, **kwargs)
11711170

11721171
def _fetch_one_row(self):
11731172
row = {}
1174-
row_image_type = EnumRowImageType.UpdateBI
1173+
row_image_type = RowImageType.UpdateBI
11751174
row["before_values"] = self._read_column_data(
11761175
self.columns_present_bitmap, row_image_type
11771176
)
11781177
row["before_none_sources"] = self._get_none_sources(row["before_values"])
1179-
row_image_type = EnumRowImageType.UpdateAI
1178+
row_image_type = RowImageType.UpdateAI
11801179
row["after_values"] = self._read_column_data(
11811180
self.columns_present_bitmap2, row_image_type
11821181
)
@@ -1223,12 +1222,13 @@ def by_index(index):
12231222
return MetadataFieldType(index)
12241223

12251224

1226-
class EnumRowImageType(Enum):
1225+
class RowImageType(Enum):
1226+
# https://github.com/mysql/mysql-server/blob/1bfe02bdad6604d54913c62614bde57a055c8332/sql/rpl_record.h#L39
12271227
WriteAI = 0
12281228
UpdateBI = 1
12291229
UpdateAI = 2
12301230
DeleteBI = 3
12311231

12321232
@staticmethod
12331233
def by_index(index):
1234-
return EnumRowImageType(index)
1234+
return RowImageType(index)

pymysqlreplication/tests/test_basic.py

+20-10
Original file line numberDiff line numberDiff line change
@@ -1857,7 +1857,11 @@ def setUp(self):
18571857
def test_json_partial_update(self):
18581858
create_query = "CREATE TABLE test_json_v2 (id INT, c JSON,PRIMARY KEY (id)) ;"
18591859
column_add_query = "ALTER TABLE test_json_v2 ADD COLUMN d JSON DEFAULT NULL, ADD COLUMN e JSON DEFAULT NULL;"
1860-
insert_query = """INSERT INTO test_json_v2 VALUES (101,'{"a":"aaaaaaaaaaaaa", "c":"ccccccccccccccc", "ab":["abababababababa", "babababababab"]}', '{"a":"aaaaaaaaaaaaa", "c":"ccccccccccccccc", "ab":["abababababababa", "babababababab"]}','{"a":"aaaaaaaaaaaaa", "c":"ccccccccccccccc", "ab":["abababababababa", "babababababab"]}');"""
1860+
insert_query = """INSERT INTO test_json_v2 VALUES
1861+
(101
1862+
,'{"a":"aaaaaaaaaaaaa", "c":"ccccccccccccccc", "ab":["abababababababa", "babababababab"]}'
1863+
,'{"a":"aaaaaaaaaaaaa", "c":"ccccccccccccccc", "ab":["abababababababa", "babababababab"]}'
1864+
,'{"a":"aaaaaaaaaaaaa", "c":"ccccccccccccccc", "ab":["abababababababa", "babababababab"]}');"""
18611865
update_query = """UPDATE test_json_v2 SET c = JSON_SET(c, '$.ab', '["ab_updatedccc"]') WHERE id = 101;"""
18621866

18631867
self.execute(create_query)
@@ -1890,9 +1894,11 @@ def test_json_partial_update_column_value_none(self):
18901894
drop_table_if_exists_query = "DROP TABLE IF EXISTS test_json_v2;"
18911895
create_query = "CREATE TABLE test_json_v2 (id INT, c JSON,PRIMARY KEY (id)) ;"
18921896
column_add_query = "ALTER TABLE test_json_v2 ADD COLUMN d JSON DEFAULT NULL, ADD COLUMN e JSON DEFAULT NULL;"
1893-
insert_query = """INSERT INTO test_json_v2 VALUES (101,'{"a":"aaaaaaaaaaaaa", "c":"ccccccccccccccc", "ab":["abababababababa", "babababababab"]}',
1894-
'{"a":"aaaaaaaaaaaaa", "c":"ccccccccccccccc", "ab":["abababababababa", "babababababab"]}',
1895-
'{"a":"aaaaaaaaaaaaa", "c":"ccccccccccccccc", "ab":["abababababababa", "babababababab"]}');"""
1897+
insert_query = """INSERT INTO test_json_v2 VALUES
1898+
(101
1899+
,'{"a":"aaaaaaaaaaaaa", "c":"ccccccccccccccc", "ab":["abababababababa", "babababababab"]}'
1900+
,'{"a":"aaaaaaaaaaaaa", "c":"ccccccccccccccc", "ab":["abababababababa", "babababababab"]}'
1901+
,'{"a":"aaaaaaaaaaaaa", "c":"ccccccccccccccc", "ab":["abababababababa", "babababababab"]}');"""
18961902
update_query = """UPDATE test_json_v2 SET e = JSON_SET(e, '$.ab', '["ab_updatedeee"]'), c=NULL WHERE id = 101;"""
18971903

18981904
self.execute(drop_table_if_exists_query)
@@ -1926,9 +1932,11 @@ def test_json_partial_update_json_remove(self):
19261932
drop_table_if_exists_query = "DROP TABLE IF EXISTS test_json_v2;"
19271933
create_query = "CREATE TABLE test_json_v2 (id INT, c JSON,PRIMARY KEY (id)) ;"
19281934
column_add_query = "ALTER TABLE test_json_v2 ADD COLUMN d JSON DEFAULT NULL, ADD COLUMN e JSON DEFAULT NULL;"
1929-
insert_query = """INSERT INTO test_json_v2 VALUES (101,'{"a":"aaaaaaaaaaaaa", "c":"ccccccccccccccc", "ab":["abababababababa", "babababababab"]}',
1930-
'{"a":"aaaaaaaaaaaaa", "c":"ccccccccccccccc", "ab":["abababababababa", "babababababab"]}',
1931-
'{"a":"aaaaaaaaaaaaa", "c":"ccccccccccccccc", "ab":["abababababababa", "babababababab"]}');"""
1935+
insert_query = """INSERT INTO test_json_v2 VALUES
1936+
(101
1937+
,'{"a":"aaaaaaaaaaaaa", "c":"ccccccccccccccc", "ab":["abababababababa", "babababababab"]}'
1938+
,'{"a":"aaaaaaaaaaaaa", "c":"ccccccccccccccc", "ab":["abababababababa", "babababababab"]}'
1939+
,'{"a":"aaaaaaaaaaaaa", "c":"ccccccccccccccc", "ab":["abababababababa", "babababababab"]}');"""
19321940
update_query = (
19331941
"""UPDATE test_json_v2 SET e = JSON_REMOVE(e, '$.ab') WHERE id = 101;"""
19341942
)
@@ -1964,9 +1972,11 @@ def test_json_partial_update_two_column(self):
19641972
drop_table_if_exists_query = "DROP TABLE IF EXISTS test_json_v2;"
19651973
create_query = "CREATE TABLE test_json_v2 (id INT, c JSON,PRIMARY KEY (id)) ;"
19661974
column_add_query = "ALTER TABLE test_json_v2 ADD COLUMN d JSON DEFAULT NULL, ADD COLUMN e JSON DEFAULT NULL;"
1967-
insert_query = """INSERT INTO test_json_v2 VALUES (101,'{"a":"aaaaaaaaaaaaa", "c":"ccccccccccccccc", "ab":["abababababababa", "babababababab"]}',
1968-
'{"a":"aaaaaaaaaaaaa", "c":"ccccccccccccccc", "ab":["abababababababa", "babababababab"]}',
1969-
'{"a":"aaaaaaaaaaaaa", "c":"ccccccccccccccc", "ab":["abababababababa", "babababababab"]}');"""
1975+
insert_query = """INSERT INTO test_json_v2 VALUES
1976+
(101
1977+
,'{"a":"aaaaaaaaaaaaa", "c":"ccccccccccccccc", "ab":["abababababababa", "babababababab"]}'
1978+
,'{"a":"aaaaaaaaaaaaa", "c":"ccccccccccccccc", "ab":["abababababababa", "babababababab"]}'
1979+
,'{"a":"aaaaaaaaaaaaa", "c":"ccccccccccccccc", "ab":["abababababababa", "babababababab"]}');"""
19701980
update_query = """UPDATE test_json_v2 SET d = JSON_SET(d, '$.ab', '["ab_ddd"]'), e = JSON_REMOVE(e, '$.ab') WHERE id = 101;"""
19711981

19721982
self.execute(drop_table_if_exists_query)

0 commit comments

Comments
 (0)