/* * (non-Javadoc) * * @see com.dianping.puma.parser.mysql.event.AbstractBinlogEvent#doParse(java .nio.ByteBuffer, * com.dianping.puma.common.bo.PumaContext) */ @Override public void doParse(ByteBuffer buf, PumaContext context) throws IOException { tableId = PacketUtils.readLong(buf, 6); reserved = PacketUtils.readInt(buf, 2); databaseNameLength = buf.get(); databaseName = PacketUtils.readNullTerminatedString(buf); tableNameLength = buf.get(); tableName = PacketUtils.readNullTerminatedString(buf); columnCount = PacketUtils.readLengthCodedUnsignedLong(buf); columnTypes = PacketUtils.readBytes(buf, columnCount.intValue()); columnMetadataCount = PacketUtils.readLengthCodedUnsignedLong(buf); columnMetadata = Metadata.valueOf(columnTypes, PacketUtils.readBytes(buf, columnMetadataCount.intValue())); columnNullabilities = PacketUtils.readBitSet(buf, columnCount.intValue()); context.getTableMaps().put(tableId, this); }