docs: final byte[] getRaw(int columnIndex) {
          byte[] retval;
          int pos = m_buffer.position();
          int offset = getOffset(columnIndex);
          VoltType type = getColumnType(columnIndex);
  
          switch(type) {
          case TINYINT:
          case SMALLINT:
          case INTEGER:
          case BIGINT:
          case TIMESTAMP:
          case FLOAT:
          case DECIMAL:
          case GEOGRAPHY_POINT: {
              // all of these types are fixed length, so easy to get raw type
              int length = type.getLengthInBytesForFixedTypesWithoutCheck();
              retval = new byte[length];
              m_buffer.position(offset);
              m_buffer.get(retval);
              m_buffer.position(pos);
              return retval;
          }
          case STRING:
          case VARBINARY:
          case GEOGRAPHY: {
              // all of these types are variable length with a prefix
              int length = m_buffer.getInt(offset);
              if (length == VoltTable.NULL_STRING_INDICATOR) {
                  length = 0;
              }
              length += 4;
              retval = new byte[length];
              m_buffer.position(offset);
              m_buffer.get(retval);
              m_buffer.position(pos);
              return retval;
          }
          default:
              throw new RuntimeException("Unknown type");
          }
      }