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.

Reply via email to