ignite-db - remove from row store
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/26314b82 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/26314b82 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/26314b82 Branch: refs/heads/ignite-db-x-10884 Commit: 26314b8244f3bb358f6b863a5842efb6361a462a Parents: 22b2cb6 Author: S.Vladykin <[email protected]> Authored: Mon Apr 18 04:12:15 2016 +0300 Committer: S.Vladykin <[email protected]> Committed: Mon Apr 18 04:12:15 2016 +0300 ---------------------------------------------------------------------- .../query/h2/database/H2RowStore.java | 2 +- .../processors/query/h2/opt/GridH2Table.java | 20 +++++++++++++------- 2 files changed, 14 insertions(+), 8 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/26314b82/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/database/H2RowStore.java ---------------------------------------------------------------------- diff --git a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/database/H2RowStore.java b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/database/H2RowStore.java index 58126b7..f545c24 100644 --- a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/database/H2RowStore.java +++ b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/database/H2RowStore.java @@ -227,7 +227,7 @@ public class H2RowStore { /** * @param row Row. */ - public void writeRowData(GridH2Row row) throws IgniteCheckedException { + public void addRow(GridH2Row row) throws IgniteCheckedException { if (freeList == null) writeRowData0(row); else http://git-wip-us.apache.org/repos/asf/ignite/blob/26314b82/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/GridH2Table.java ---------------------------------------------------------------------- diff --git a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/GridH2Table.java b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/GridH2Table.java index ab573e1..e149b9d 100644 --- a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/GridH2Table.java +++ b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/opt/GridH2Table.java @@ -409,17 +409,17 @@ public class GridH2Table extends TableBase { desc.guard().begin(); try { - if (rowStore != null) { - assert row.link == 0; + GridH2IndexBase pk = pk(); - rowStore.writeRowData(row); + if (!del) { + if (rowStore != null) { + assert row.link == 0; - assert row.link != 0; - } + rowStore.addRow(row); - GridH2IndexBase pk = pk(); + assert row.link != 0; + } - if (!del) { GridH2Row old = pk.put(row); // Put to PK. if (old instanceof GridH2AbstractKeyValueRow) { // Unswap value on replace. @@ -464,6 +464,12 @@ public class GridH2Table extends TableBase { } if (old != null) { + if (rowStore != null) { + assert old.link != 0; + + rowStore.removeRow(old.link); + } + size.decrement(); // Remove row from all indexes.
