diff --git a/src/binlog/events/delete_rows_event.rs b/src/binlog/events/delete_rows_event.rs index 4556d06..9cf4f60 100644 --- a/src/binlog/events/delete_rows_event.rs +++ b/src/binlog/events/delete_rows_event.rs @@ -50,11 +50,16 @@ impl<'a> DeleteRowsEvent<'a> { self.0.rows_data() } - /// Returns row flags. + /// Returns event flags (unknown bits are truncated). pub fn flags(&'a self) -> RowsEventFlags { self.0.flags() } + /// Returns raw event flags (unknown bits are preserved). + pub fn flags_raw(&'a self) -> u16 { + self.0.flags_raw() + } + /// Returns an iterator over event's rows given the corresponding `TableMapEvent`. pub fn rows(&'a self, table_map_event: &'a TableMapEvent<'a>) -> RowsEventRows<'a> { RowsEventRows::new(&self.0, table_map_event, ParseBuf(self.rows_data())) diff --git a/src/binlog/events/delete_rows_event_v1.rs b/src/binlog/events/delete_rows_event_v1.rs index 2d3e622..8094de0 100644 --- a/src/binlog/events/delete_rows_event_v1.rs +++ b/src/binlog/events/delete_rows_event_v1.rs @@ -49,11 +49,16 @@ impl<'a> DeleteRowsEventV1<'a> { self.0.rows_data() } - /// Returns row flags. + /// Returns event flags (unknown bits are truncated). pub fn flags(&'a self) -> RowsEventFlags { self.0.flags() } + /// Returns raw event flags (unknown bits are preserved). + pub fn flags_raw(&'a self) -> u16 { + self.0.flags_raw() + } + /// Returns an iterator over event's rows given the corresponding `TableMapEvent`. pub fn rows(&'a self, table_map_event: &'a TableMapEvent<'a>) -> RowsEventRows<'a> { RowsEventRows::new(&self.0, table_map_event, ParseBuf(self.rows_data())) diff --git a/src/binlog/events/mod.rs b/src/binlog/events/mod.rs index 20a9802..486c847 100644 --- a/src/binlog/events/mod.rs +++ b/src/binlog/events/mod.rs @@ -440,15 +440,15 @@ impl BinlogEventHeader { self.log_pos.0 } - /// Returns the raw event flags. - pub fn flags_raw(&self) -> u16 { - self.flags.0 - } - - /// Returns the parsed event flags. Unknown bits will be truncated. + /// Returns event flags (unknown bits are truncated). pub fn flags(&self) -> EventFlags { self.flags.get() } + + /// Returns raw event flags (unknown bits are preserved). + pub fn flags_raw(&self) -> u16 { + self.flags.0 + } } impl<'de> MyDeserialize<'de> for BinlogEventHeader { diff --git a/src/binlog/events/partial_update_rows_event.rs b/src/binlog/events/partial_update_rows_event.rs index 21c1f04..9ee6250 100644 --- a/src/binlog/events/partial_update_rows_event.rs +++ b/src/binlog/events/partial_update_rows_event.rs @@ -58,11 +58,16 @@ impl<'a> PartialUpdateRowsEvent<'a> { self.0.rows_data() } - /// Returns row flags. + /// Returns event flags (unknown bits are truncated). pub fn flags(&'a self) -> RowsEventFlags { self.0.flags() } + /// Returns raw event flags (unknown bits are preserved). + pub fn flags_raw(&'a self) -> u16 { + self.0.flags_raw() + } + /// Returns an iterator over event's rows given the corresponding `TableMapEvent`. pub fn rows(&'a self, table_map_event: &'a TableMapEvent<'a>) -> RowsEventRows<'a> { RowsEventRows::new(&self.0, table_map_event, ParseBuf(self.rows_data())) diff --git a/src/binlog/events/rows_event.rs b/src/binlog/events/rows_event.rs index e2153f2..f53459d 100644 --- a/src/binlog/events/rows_event.rs +++ b/src/binlog/events/rows_event.rs @@ -124,11 +124,16 @@ impl<'a> RowsEvent<'a> { self.rows_data.as_bytes() } - /// Returns the flags (unknown bits are truncated). + /// Returns event flags (unknown bits are truncated). pub fn flags(&self) -> RowsEventFlags { self.flags.get() } + /// Returns raw event flags (unknown bits are preserved). + pub fn flags_raw(&self) -> u16 { + self.flags.0 + } + /// Returns length of this event in bytes. /// /// This function will be used in `BinlogStruct` implementations for derived events. diff --git a/src/binlog/events/update_rows_event.rs b/src/binlog/events/update_rows_event.rs index db88312..8425c03 100644 --- a/src/binlog/events/update_rows_event.rs +++ b/src/binlog/events/update_rows_event.rs @@ -59,11 +59,16 @@ impl<'a> UpdateRowsEvent<'a> { self.0.rows_data() } - /// Returns row flags. + /// Returns event flags (unknown bits are truncated). pub fn flags(&'a self) -> RowsEventFlags { self.0.flags() } + /// Returns raw event flags (unknown bits are preserved). + pub fn flags_raw(&'a self) -> u16 { + self.0.flags_raw() + } + /// Returns an iterator over event's rows given the corresponding `TableMapEvent`. pub fn rows(&'a self, table_map_event: &'a TableMapEvent<'a>) -> RowsEventRows<'a> { RowsEventRows::new(&self.0, table_map_event, ParseBuf(self.rows_data())) diff --git a/src/binlog/events/update_rows_event_v1.rs b/src/binlog/events/update_rows_event_v1.rs index 5d4a56e..11da36a 100644 --- a/src/binlog/events/update_rows_event_v1.rs +++ b/src/binlog/events/update_rows_event_v1.rs @@ -56,11 +56,16 @@ impl<'a> UpdateRowsEventV1<'a> { self.0.rows_data() } - /// Returns row flags. + /// Returns event flags (unknown bits are truncated). pub fn flags(&'a self) -> RowsEventFlags { self.0.flags() } + /// Returns raw event flags (unknown bits are preserved). + pub fn flags_raw(&'a self) -> u16 { + self.0.flags_raw() + } + /// Returns an iterator over event's rows given the corresponding `TableMapEvent`. pub fn rows(&'a self, table_map_event: &'a TableMapEvent<'a>) -> RowsEventRows<'a> { RowsEventRows::new(&self.0, table_map_event, ParseBuf(self.rows_data())) diff --git a/src/binlog/events/write_rows_event.rs b/src/binlog/events/write_rows_event.rs index 4fa4243..5244927 100644 --- a/src/binlog/events/write_rows_event.rs +++ b/src/binlog/events/write_rows_event.rs @@ -51,11 +51,16 @@ impl<'a> WriteRowsEvent<'a> { self.0.rows_data() } - /// Returns row flags. + /// Returns event flags (unknown bits are truncated). pub fn flags(&'a self) -> RowsEventFlags { self.0.flags() } + /// Returns raw event flags (unknown bits are preserved). + pub fn flags_raw(&'a self) -> u16 { + self.0.flags_raw() + } + /// Returns an iterator over event's rows given the corresponding `TableMapEvent`. pub fn rows(&'a self, table_map_event: &'a TableMapEvent<'a>) -> RowsEventRows<'a> { RowsEventRows::new(&self.0, table_map_event, ParseBuf(self.rows_data())) diff --git a/src/binlog/events/write_rows_event_v1.rs b/src/binlog/events/write_rows_event_v1.rs index 76b67cd..61dcdea 100644 --- a/src/binlog/events/write_rows_event_v1.rs +++ b/src/binlog/events/write_rows_event_v1.rs @@ -49,11 +49,16 @@ impl<'a> WriteRowsEventV1<'a> { self.0.rows_data() } - /// Returns row flags. + /// Returns event flags (unknown bits are truncated). pub fn flags(&'a self) -> RowsEventFlags { self.0.flags() } + /// Returns raw event flags (unknown bits are preserved). + pub fn flags_raw(&'a self) -> u16 { + self.0.flags_raw() + } + /// Returns an iterator over event's rows given the corresponding `TableMapEvent`. pub fn rows(&'a self, table_map_event: &'a TableMapEvent<'a>) -> RowsEventRows<'a> { RowsEventRows::new(&self.0, table_map_event, ParseBuf(self.rows_data()))