use of org.apache.ignite.internal.schema.row.Row in project ignite-3 by apache.
the class NumericTypesSerializerTest method testUpscaleForDecimal.
/**
* Test.
*/
@ParameterizedTest
@MethodSource("stringDecimalRepresentation")
public void testUpscaleForDecimal(String decimalStr) throws TupleMarshallerException {
schema = new SchemaDescriptor(42, new Column[] { new Column("key", NativeTypes.INT64, false) }, new Column[] { new Column("decimalCol1", NativeTypes.decimalOf(9, 0), false) });
final Tuple tup = createTuple().set("key", rnd.nextLong()).set("decimalCol1", new BigDecimal(decimalStr));
TupleMarshaller marshaller = new TupleMarshallerImpl(new DummySchemaManagerImpl(schema));
final Row row = marshaller.marshal(tup);
assertEquals(row.decimalValue(1), new BigDecimal(decimalStr).setScale(0, RoundingMode.HALF_UP));
}
use of org.apache.ignite.internal.schema.row.Row in project ignite-3 by apache.
the class NumericTypesSerializerTest method testNumber.
/**
* Test.
*/
@ParameterizedTest
@MethodSource("numbers")
public void testNumber(Pair<BigInteger, BigInteger> pair) throws TupleMarshallerException {
schema = new SchemaDescriptor(42, new Column[] { new Column("key", NativeTypes.INT64, false) }, new Column[] { new Column("number1", NativeTypes.numberOf(19), false), new Column("number2", NativeTypes.numberOf(10), false) });
TupleMarshaller marshaller = new TupleMarshallerImpl(new DummySchemaManagerImpl(schema));
final Tuple tup = createTuple().set("key", rnd.nextLong()).set("number1", pair.getFirst()).set("number2", pair.getSecond());
final Row row = marshaller.marshal(tup);
assertEquals(row.numberValue(1), row.numberValue(2));
}
use of org.apache.ignite.internal.schema.row.Row in project ignite-3 by apache.
the class ItTablePersistenceTest method createKeyValueRow.
/**
* Creates a {@link Row} with the supplied key and value.
*
* @param id Key.
* @param value Value.
* @return Row.
*/
private static Row createKeyValueRow(long id, long value) {
RowAssembler rowBuilder = new RowAssembler(SCHEMA, 0, 0);
rowBuilder.appendLong(id);
rowBuilder.appendLong(value);
return new Row(SCHEMA, new ByteBufferRow(rowBuilder.toBytes()));
}
use of org.apache.ignite.internal.schema.row.Row in project ignite-3 by apache.
the class KeyValueBinaryViewImpl method getAllAsync.
/**
* {@inheritDoc}
*/
@Override
@NotNull
public CompletableFuture<Map<Tuple, Tuple>> getAllAsync(@Nullable Transaction tx, @NotNull Collection<Tuple> keys) {
Objects.requireNonNull(keys);
List<BinaryRow> keyRows = new ArrayList<>(keys.size());
for (Tuple keyRec : keys) {
final Row keyRow = marshal(keyRec, null);
keyRows.add(keyRow);
}
return tbl.getAll(keyRows, (InternalTransaction) tx).thenApply(ts -> ts.stream().filter(Objects::nonNull).filter(BinaryRow::hasValue).map(this::wrap).collect(Collectors.toMap(TableRow::keyTuple, TableRow::valueTuple)));
}
use of org.apache.ignite.internal.schema.row.Row in project ignite-3 by apache.
the class KeyValueBinaryViewImpl method putAllAsync.
/**
* {@inheritDoc}
*/
@Override
@NotNull
public CompletableFuture<Void> putAllAsync(@Nullable Transaction tx, @NotNull Map<Tuple, Tuple> pairs) {
Objects.requireNonNull(pairs);
List<BinaryRow> rows = new ArrayList<>(pairs.size());
for (Map.Entry<Tuple, Tuple> pair : pairs.entrySet()) {
final Row row = marshal(pair.getKey(), pair.getValue());
rows.add(row);
}
return tbl.upsertAll(rows, (InternalTransaction) tx);
}
Aggregations