  void get_current_position()
  {
    position = position_cursor.get_curr_rownum();
    overflowed= false;
    if (offset)
    {
      if (offset_value < 0 &&
          position + offset_value > position)
      {
        overflowed= true;
      }
      if (offset_value > 0 &&
          position + offset_value < position)
      {
        overflowed= true;
      }
      position += offset_value;
    }
  }
  void get_current_position()
  {
    position = position_cursor.get_curr_rownum();
    overflowed= false;
    if (offset)
    {
      if (offset_value < 0 &&
          position + offset_value > position)
      {
        overflowed= true;
      }
      if (offset_value > 0 &&
          position + offset_value < position)
      {
        overflowed= true;
      }
      position += offset_value;
    }
  }