test_class.declarator: payload
test_class.modifier: @Mock
      private
test_class.original_string: @Mock
      private MySQLPacketPayload payload;
test_class.type: MySQLPacketPayload
test_class.var_name: payload
test_class.declarator: byteBuf
test_class.modifier: @Mock
      private
test_class.original_string: @Mock
      private ByteBuf byteBuf;
test_class.type: ByteBuf
test_class.var_name: byteBuf
test_class.declarator: binlogEventHeader
test_class.modifier: @Mock
      private
test_class.original_string: @Mock
      private MySQLBinlogEventHeader binlogEventHeader;
test_class.type: MySQLBinlogEventHeader
test_class.var_name: binlogEventHeader
test_class.declarator: tableMapEventPacket
test_class.modifier: @Mock
      private
test_class.original_string: @Mock
      private MySQLBinlogTableMapEventPacket tableMapEventPacket;
test_class.type: MySQLBinlogTableMapEventPacket
test_class.var_name: tableMapEventPacket
test_class.declarator: columnDefs
test_class.modifier: private
test_class.original_string: private List<MySQLBinlogColumnDef> columnDefs;
test_class.type: List<MySQLBinlogColumnDef>
test_class.var_name: columnDefs
test_class.file: shardingsphere-db-protocol/shardingsphere-db-protocol-mysql/src/test/java/org/apache/shardingsphere/db/protocol/mysql/packet/binlog/row/MySQLBinlogRowsEventPacketTest.java
test_class.identifier: MySQLBinlogRowsEventPacketTest
test_case.body: @Test
      public void assertReadUpdateRowV2WithoutNullValue() {
          when(binlogEventHeader.getEventType()).thenReturn(MySQLBinlogEventType.UPDATE_ROWS_EVENTv2.getValue());
          when(payload.readInt8()).thenReturn(Long.MAX_VALUE, Long.MIN_VALUE);
          MySQLBinlogRowsEventPacket actual = new MySQLBinlogRowsEventPacket(binlogEventHeader, payload);
          actual.readRows(tableMapEventPacket, payload);
          assertBinlogRowsEventV2BeforeRows(actual);
          assertFalse(actual.getColumnsPresentBitmap().isNullParameter(0));
          assertFalse(actual.getColumnsPresentBitmap2().isNullParameter(0));
          assertThat(actual.getRows().size(), is(1));
          assertThat(actual.getRows().get(0)[0], is(Long.MAX_VALUE));
          assertThat(actual.getRows2().size(), is(1));
          assertThat(actual.getRows2().get(0)[0], is(Long.MIN_VALUE));
      }
test_case.class_method_signature: MySQLBinlogRowsEventPacketTest.assertReadUpdateRowV2WithoutNullValue()
test_case.full_signature: @Test public void assertReadUpdateRowV2WithoutNullValue()
test_case.identifier: assertReadUpdateRowV2WithoutNullValue
test_case.invocations: thenReturn when getEventType getValue thenReturn when readInt8 readRows assertBinlogRowsEventV2BeforeRows assertFalse isNullParameter getColumnsPresentBitmap assertFalse isNullParameter getColumnsPresentBitmap2 assertThat size getRows is assertThat get getRows is assertThat size getRows2 is assertThat get getRows2 is
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void assertReadUpdateRowV2WithoutNullValue()
focal_class.declarator: tableId
focal_class.modifier: private final
focal_class.original_string: private final long tableId;
focal_class.type: long
focal_class.var_name: tableId
focal_class.declarator: flags
focal_class.modifier: private final
focal_class.original_string: private final int flags;
focal_class.type: int
focal_class.var_name: flags
focal_class.declarator: columnNumber
focal_class.modifier: private final
focal_class.original_string: private final int columnNumber;
focal_class.type: int
focal_class.var_name: columnNumber
focal_class.declarator: columnsPresentBitmap
focal_class.modifier: private final
focal_class.original_string: private final MySQLNullBitmap columnsPresentBitmap;
focal_class.type: MySQLNullBitmap
focal_class.var_name: columnsPresentBitmap
focal_class.declarator: columnsPresentBitmap2
focal_class.modifier: private final
focal_class.original_string: private final MySQLNullBitmap columnsPresentBitmap2;
focal_class.type: MySQLNullBitmap
focal_class.var_name: columnsPresentBitmap2
focal_class.declarator: rows = new LinkedList<>()
focal_class.modifier: private final
focal_class.original_string: private final List<Serializable[]> rows = new LinkedList<>();
focal_class.type: List<Serializable[]>
focal_class.var_name: rows
focal_class.declarator: rows2 = new LinkedList<>()
focal_class.modifier: private final
focal_class.original_string: private final List<Serializable[]> rows2 = new LinkedList<>();
focal_class.type: List<Serializable[]>
focal_class.var_name: rows2
focal_class.file: shardingsphere-db-protocol/shardingsphere-db-protocol-mysql/src/main/java/org/apache/shardingsphere/db/protocol/mysql/packet/binlog/row/MySQLBinlogRowsEventPacket.java
focal_class.identifier: MySQLBinlogRowsEventPacket
focal_class.class_method_signature: MySQLBinlogRowsEventPacket.MySQLBinlogRowsEventPacket(final MySQLBinlogEventHeader binlogEventHeader, final MySQLPacketPayload payload)
focal_class.full_signature: public  MySQLBinlogRowsEventPacket(final MySQLBinlogEventHeader binlogEventHeader, final MySQLPacketPayload payload)
focal_class.identifier: MySQLBinlogRowsEventPacket
focal_class.modifiers: public
focal_class.parameters: (final MySQLBinlogEventHeader binlogEventHeader, final MySQLPacketPayload payload)
focal_class.signature:  MySQLBinlogRowsEventPacket(final MySQLBinlogEventHeader binlogEventHeader, final MySQLPacketPayload payload)
focal_class.class_method_signature: MySQLBinlogRowsEventPacket.skipExtraData(final MySQLPacketPayload payload)
focal_class.full_signature: private void skipExtraData(final MySQLPacketPayload payload)
focal_class.identifier: skipExtraData
focal_class.modifiers: private
focal_class.parameters: (final MySQLPacketPayload payload)
focal_class.return: void
focal_class.signature: void skipExtraData(final MySQLPacketPayload payload)
focal_class.class_method_signature: MySQLBinlogRowsEventPacket.isRowsEventVersion2(final int eventType)
focal_class.full_signature: private boolean isRowsEventVersion2(final int eventType)
focal_class.identifier: isRowsEventVersion2
focal_class.modifiers: private
focal_class.parameters: (final int eventType)
focal_class.return: boolean
focal_class.signature: boolean isRowsEventVersion2(final int eventType)
focal_class.class_method_signature: MySQLBinlogRowsEventPacket.readUpdateColumnsPresentBitmap(final MySQLPacketPayload payload)
focal_class.full_signature: private MySQLNullBitmap readUpdateColumnsPresentBitmap(final MySQLPacketPayload payload)
focal_class.identifier: readUpdateColumnsPresentBitmap
focal_class.modifiers: private
focal_class.parameters: (final MySQLPacketPayload payload)
focal_class.return: MySQLNullBitmap
focal_class.signature: MySQLNullBitmap readUpdateColumnsPresentBitmap(final MySQLPacketPayload payload)
focal_class.class_method_signature: MySQLBinlogRowsEventPacket.isUpdateRowsEvent(final int eventType)
focal_class.full_signature: private boolean isUpdateRowsEvent(final int eventType)
focal_class.identifier: isUpdateRowsEvent
focal_class.modifiers: private
focal_class.parameters: (final int eventType)
focal_class.return: boolean
focal_class.signature: boolean isUpdateRowsEvent(final int eventType)
focal_class.class_method_signature: MySQLBinlogRowsEventPacket.readRows(final MySQLBinlogTableMapEventPacket tableMapEventPacket, final MySQLPacketPayload payload)
focal_class.full_signature: public void readRows(final MySQLBinlogTableMapEventPacket tableMapEventPacket, final MySQLPacketPayload payload)
focal_class.identifier: readRows
focal_class.modifiers: public
focal_class.parameters: (final MySQLBinlogTableMapEventPacket tableMapEventPacket, final MySQLPacketPayload payload)
focal_class.return: void
focal_class.signature: void readRows(final MySQLBinlogTableMapEventPacket tableMapEventPacket, final MySQLPacketPayload payload)
focal_class.class_method_signature: MySQLBinlogRowsEventPacket.hasNextRow(final MySQLPacketPayload payload)
focal_class.full_signature: private boolean hasNextRow(final MySQLPacketPayload payload)
focal_class.identifier: hasNextRow
focal_class.modifiers: private
focal_class.parameters: (final MySQLPacketPayload payload)
focal_class.return: boolean
focal_class.signature: boolean hasNextRow(final MySQLPacketPayload payload)
focal_class.class_method_signature: MySQLBinlogRowsEventPacket.readRow(final List<MySQLBinlogColumnDef> columnDefs, final MySQLPacketPayload payload)
focal_class.full_signature: private Serializable[] readRow(final List<MySQLBinlogColumnDef> columnDefs, final MySQLPacketPayload payload)
focal_class.identifier: readRow
focal_class.modifiers: private
focal_class.parameters: (final List<MySQLBinlogColumnDef> columnDefs, final MySQLPacketPayload payload)
focal_class.return: Serializable[]
focal_class.signature: Serializable[] readRow(final List<MySQLBinlogColumnDef> columnDefs, final MySQLPacketPayload payload)
focal_class.class_method_signature: MySQLBinlogRowsEventPacket.writeEvent(final MySQLPacketPayload payload)
focal_class.full_signature: @Override protected void writeEvent(final MySQLPacketPayload payload)
focal_class.identifier: writeEvent
focal_class.modifiers: @Override protected
focal_class.parameters: (final MySQLPacketPayload payload)
focal_class.return: void
focal_class.signature: void writeEvent(final MySQLPacketPayload payload)
focal_class.superclass: extends AbstractMySQLBinlogEventPacket
focal_method.body: public void readRows(final MySQLBinlogTableMapEventPacket tableMapEventPacket, final MySQLPacketPayload payload) {
          List<MySQLBinlogColumnDef> columnDefs = tableMapEventPacket.getColumnDefs();
          while (hasNextRow(payload)) {
              rows.add(readRow(columnDefs, payload));
              if (isUpdateRowsEvent(getBinlogEventHeader().getEventType())) {
                  rows2.add(readRow(columnDefs, payload));
              }
          }
      }
focal_method.class_method_signature: MySQLBinlogRowsEventPacket.readRows(final MySQLBinlogTableMapEventPacket tableMapEventPacket, final MySQLPacketPayload payload)
focal_method.full_signature: public void readRows(final MySQLBinlogTableMapEventPacket tableMapEventPacket, final MySQLPacketPayload payload)
focal_method.identifier: readRows
focal_method.invocations: getColumnDefs hasNextRow add readRow isUpdateRowsEvent getEventType getBinlogEventHeader add readRow
focal_method.modifiers: public
focal_method.parameters: (final MySQLBinlogTableMapEventPacket tableMapEventPacket, final MySQLPacketPayload payload)
focal_method.return: void
focal_method.signature: void readRows(final MySQLBinlogTableMapEventPacket tableMapEventPacket, final MySQLPacketPayload payload)