vldpyatkov commented on a change in pull request #118:
URL: https://github.com/apache/ignite-3/pull/118#discussion_r640357354
##########
File path:
modules/table/src/integrationTest/java/org/apache/ignite/distributed/ITDistributedTableTest.java
##########
@@ -242,71 +271,232 @@ public void partitionedTable() {
}
});
- for (int i = 0; i < PARTS * 10; i++) {
- tbl.kvView().putIfAbsent(
- tbl.kvView().tupleBuilder()
+ partitionedTableView(tbl, PARTS * 10);
+
+ partitionedTableKVBinaryView(tbl.kvView(), PARTS * 10);
+ }
+
+ /**
+ * Checks operation over row table view.
+ *
+ * @param view Table view.
+ * @param keysCnt Count of keys.
+ */
+ public void partitionedTableView(Table view, int keysCnt) {
+ LOG.info("Tes for Table view [keys=" + keysCnt + ']');
+
+ for (int i = 0; i < keysCnt; i++) {
+ view.insert(view.tupleBuilder()
+ .set("key", Long.valueOf(i))
+ .set("value", Long.valueOf(i + 2))
+ .build()
+ );
+ }
+
+ for (int i = 0; i < keysCnt; i++) {
+ Tuple entry = view.get(view.tupleBuilder()
+ .set("key", Long.valueOf(i))
+ .build());
+
+ assertEquals(Long.valueOf(i + 2), entry.longValue("value"));
+ }
+
+ for (int i = 0; i < keysCnt; i++) {
+ view.upsert(view.tupleBuilder()
+ .set("key", Long.valueOf(i))
+ .set("value", Long.valueOf(i + 5))
+ .build()
+ );
+
+ Tuple entry = view.get(view.tupleBuilder()
+ .set("key", Long.valueOf(i))
+ .build());
+
+ assertEquals(Long.valueOf(i + 5), entry.longValue("value"));
+ }
+
+ HashSet<Tuple> keys = new HashSet<>();
+
+ for (int i = 0; i < keysCnt; i++) {
+ keys.add(view.tupleBuilder()
+ .set("key", Long.valueOf(i))
+ .build());
+ }
+
+ Collection<Tuple> entries = view.getAll(keys);
+
+ assertEquals(keysCnt, entries.size());
+
+ for (int i = 0; i < keysCnt; i++) {
+ boolean res = view.replace(
+ view.tupleBuilder()
.set("key", Long.valueOf(i))
+ .set("value", Long.valueOf(i + 5))
.build(),
- tbl.kvView().tupleBuilder()
+ view.tupleBuilder()
+ .set("key", Long.valueOf(i))
.set("value", Long.valueOf(i + 2))
.build());
+
+ assertTrue(res);
+ }
+
+ for (int i = 0; i < keysCnt; i++) {
+ boolean res = view.delete(view.tupleBuilder()
+ .set("key", Long.valueOf(i))
+ .build());
+
+ assertTrue(res);
+
+ Tuple entry = view.get(view.tupleBuilder()
+ .set("key", Long.valueOf(i))
+ .build());
+
+ assertNull(entry);
}
- for (int i = 0; i < PARTS * 10; i++) {
- Tuple entry = tbl.kvView().get(
- tbl.kvView().tupleBuilder()
+ ArrayList<Tuple> batch = new ArrayList<>(keysCnt);
+
+ for (int i = 0; i < keysCnt; i++) {
+ batch.add(view.tupleBuilder()
+ .set("key", Long.valueOf(i))
+ .set("value", Long.valueOf(i + 2))
+ .build());
+ }
+
+ view.upsertAll(batch);
+
+ for (int i = 0; i < keysCnt; i++) {
+ Tuple entry = view.get(view.tupleBuilder()
+ .set("key", Long.valueOf(i))
+ .build());
+
+ assertEquals(Long.valueOf(i + 2), entry.longValue("value"));
+ }
+
+ view.deleteAll(keys);
+
+ for (Tuple key : keys) {
+ Tuple entry = view.get(key);
+
+ assertNull(entry);
+ }
+ }
+
+ /**
+ * Checks operation over key-value binary table view.
+ *
+ * @param view Table biew.
Review comment:
Done.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]