[MDEV-19197] Move ASSERT_COLUMN_MARKED_FOR_XXX as methods to Field Created: 2019-04-06  Updated: 2019-04-18  Resolved: 2019-04-06

Status: Closed
Project: MariaDB Server
Component/s: Data types
Fix Version/s: 10.4.4

Type: Task Priority: Major
Reporter: Alexander Barkov Assignee: Alexander Barkov
Resolution: Fixed Votes: 0
Labels: None

Issue Links:
Blocks
blocks MDEV-4912 Data type plugin API version 1 Closed
Relates
relates to MDEV-19224 Assertion `marked_for_read()' failed ... Closed

 Description   

New data types will introduce their own Field_xxx classes which will be implemented outside of field.cc.

To be able to do similar asserts in new Field_xxx, let's move the code from macros to methods in Field, like this:

inline bool Field::marked_for_read() const
{
  return !table ||
         (!table->read_set ||
          bitmap_is_set(table->read_set, field_index) ||
          (!(ptr >= table->record[0] &&
          ptr < table->record[0] + table->s->reclength)));
}
 
 
inline bool Field::marked_for_write_or_computed() const
{
  return is_stat_field || !table ||
         (!table->write_set ||
          bitmap_is_set(table->write_set, field_index) ||
          (!(ptr >= table->record[0] &&
          ptr < table->record[0] + table->s->reclength)));
}


Generated at Thu Feb 08 08:49:47 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.