io.prestosql.spi.block.Block.bytesEqual()方法的使用及代码示例

x33g5p2x  于2022-01-16 转载在 其他  
字(5.7k)|赞(0)|评价(0)|浏览(94)

本文整理了Java中io.prestosql.spi.block.Block.bytesEqual()方法的一些代码示例,展示了Block.bytesEqual()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Block.bytesEqual()方法的具体详情如下:
包路径:io.prestosql.spi.block.Block
类名称:Block
方法名:bytesEqual

Block.bytesEqual介绍

[英]Is the byte sequences at offset in the value at position equal to the byte sequence at otherOffset in otherSlice. This method must be implemented if @{code getSlice} is implemented.
[中]位置处的值的偏移处的字节序列等于其他切片中其他偏移处的字节序列。如果实现了@{code getSlice},则必须实现此方法。

代码示例

代码示例来源:origin: io.prestosql/presto-main

@Override
public boolean bytesEqual(int position, int offset, Slice otherSlice, int otherOffset, int length)
{
  return block.bytesEqual(position, offset, otherSlice, otherOffset, length);
}

代码示例来源:origin: prestosql/presto

@Override
public boolean bytesEqual(int position, int offset, Slice otherSlice, int otherOffset, int length)
{
  return block.bytesEqual(position, offset, otherSlice, otherOffset, length);
}

代码示例来源:origin: prestosql/presto

@Override
public boolean bytesEqual(int position, int offset, Slice otherSlice, int otherOffset, int length)
{
  assureLoaded();
  return block.bytesEqual(position, offset, otherSlice, otherOffset, length);
}

代码示例来源:origin: prestosql/presto

@Override
public boolean bytesEqual(int position, int offset, Slice otherSlice, int otherOffset, int length)
{
  return dictionary.bytesEqual(getId(position), offset, otherSlice, otherOffset, length);
}

代码示例来源:origin: prestosql/presto

@Override
public boolean bytesEqual(int position, int offset, Slice otherSlice, int otherOffset, int length)
{
  checkReadablePosition(position);
  return value.bytesEqual(0, offset, otherSlice, otherOffset, length);
}

代码示例来源:origin: prestosql/presto

@Override
public boolean bytesEqual(int position, int offset, Slice otherSlice, int otherOffset, int length)
{
  position = getAbsolutePosition(position);
  if (position % 2 == 0) {
    return getRawKeyBlock().bytesEqual(position / 2, offset, otherSlice, otherOffset, length);
  }
  else {
    return getRawValueBlock().bytesEqual(position / 2, offset, otherSlice, otherOffset, length);
  }
}

代码示例来源:origin: prestosql/presto

@Override
public boolean bytesEqual(int position, int offset, Slice otherSlice, int otherOffset, int length)
{
  checkReadablePosition(position);
  return getBlock().bytesEqual(position + start, offset, otherSlice, otherOffset, length);
}

代码示例来源:origin: prestosql/presto

@Override
public boolean bytesEqual(int position, int offset, Slice otherSlice, int otherOffset, int length)
{
  checkFieldIndex(position);
  return getRawFieldBlock(position).bytesEqual(rowIndex, offset, otherSlice, otherOffset, length);
}

代码示例来源:origin: prestosql/presto

@Override
public boolean equals(int position, int offset, Block otherBlock, int otherPosition, int otherOffset, int length)
{
  checkReadablePosition(position);
  if (fixedSize < length) {
    return false;
  }
  int thisOffset = valueOffset(position) + offset;
  return otherBlock.bytesEqual(otherPosition, otherOffset, getRawSlice(), thisOffset, length);
}

代码示例来源:origin: prestosql/presto

@Override
public boolean equals(int position, int offset, Block otherBlock, int otherPosition, int otherOffset, int length)
{
  checkReadablePosition(position);
  Slice rawSlice = getRawSlice(position);
  if (getSliceLength(position) < length) {
    return false;
  }
  return otherBlock.bytesEqual(otherPosition, otherOffset, rawSlice, getPositionOffset(position) + offset, length);
}

代码示例来源:origin: io.prestosql/presto-main

protected void assertSlicePosition(Block block, int position, Slice expectedSliceValue)
{
  int length = block.getSliceLength(position);
  assertEquals(length, expectedSliceValue.length());
  Block expectedBlock = toSingeValuedBlock(expectedSliceValue);
  for (int offset = 0; offset < length - 3; offset++) {
    assertEquals(block.getSlice(position, offset, 3), expectedSliceValue.slice(offset, 3));
    assertTrue(block.bytesEqual(position, offset, expectedSliceValue, offset, 3));
    // if your tests fail here, please change your test to not use this value
    assertFalse(block.bytesEqual(position, offset, Slices.utf8Slice("XXX"), 0, 3));
    assertEquals(block.bytesCompare(position, offset, 3, expectedSliceValue, offset, 3), 0);
    assertTrue(block.bytesCompare(position, offset, 3, expectedSliceValue, offset, 2) > 0);
    Slice greaterSlice = createGreaterValue(expectedSliceValue, offset, 3);
    assertTrue(block.bytesCompare(position, offset, 3, greaterSlice, 0, greaterSlice.length()) < 0);
    assertTrue(block.equals(position, offset, expectedBlock, 0, offset, 3));
    assertEquals(block.compareTo(position, offset, 3, expectedBlock, 0, offset, 3), 0);
    BlockBuilder blockBuilder = VARBINARY.createBlockBuilder(null, 1);
    block.writeBytesTo(position, offset, 3, blockBuilder);
    blockBuilder.closeEntry();
    Block segment = blockBuilder.build();
    assertTrue(block.equals(position, offset, segment, 0, 0, 3));
  }
}

代码示例来源:origin: prestosql/presto

protected void assertSlicePosition(Block block, int position, Slice expectedSliceValue)
{
  int length = block.getSliceLength(position);
  assertEquals(length, expectedSliceValue.length());
  Block expectedBlock = toSingeValuedBlock(expectedSliceValue);
  for (int offset = 0; offset < length - 3; offset++) {
    assertEquals(block.getSlice(position, offset, 3), expectedSliceValue.slice(offset, 3));
    assertTrue(block.bytesEqual(position, offset, expectedSliceValue, offset, 3));
    // if your tests fail here, please change your test to not use this value
    assertFalse(block.bytesEqual(position, offset, Slices.utf8Slice("XXX"), 0, 3));
    assertEquals(block.bytesCompare(position, offset, 3, expectedSliceValue, offset, 3), 0);
    assertTrue(block.bytesCompare(position, offset, 3, expectedSliceValue, offset, 2) > 0);
    Slice greaterSlice = createGreaterValue(expectedSliceValue, offset, 3);
    assertTrue(block.bytesCompare(position, offset, 3, greaterSlice, 0, greaterSlice.length()) < 0);
    assertTrue(block.equals(position, offset, expectedBlock, 0, offset, 3));
    assertEquals(block.compareTo(position, offset, 3, expectedBlock, 0, offset, 3), 0);
    BlockBuilder blockBuilder = VARBINARY.createBlockBuilder(null, 1);
    block.writeBytesTo(position, offset, 3, blockBuilder);
    blockBuilder.closeEntry();
    Block segment = blockBuilder.build();
    assertTrue(block.equals(position, offset, segment, 0, 0, 3));
  }
}

相关文章