You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by vo...@apache.org on 2017/12/19 12:18:01 UTC

[04/31] ignite git commit: Merge remote-tracking branch 'apache/ignite-2.0' into ignite-4490

Merge remote-tracking branch 'apache/ignite-2.0' into ignite-4490

# Conflicts:
#	modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/DmlStatementsProcessor.java
#	modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/dml/UpdatePlanBuilder.java
#	modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/IgniteCacheUpdateSqlQuerySelfTest.java


Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/e526948e
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/e526948e
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/e526948e

Branch: refs/heads/ignite-6022-proto
Commit: e526948e3d557787c5160bda672ca86eeead2d0d
Parents: 5982e39 9ce099c
Author: Alexander Paschenko <al...@gmail.com>
Authored: Thu Feb 9 15:23:46 2017 +0300
Committer: Alexander Paschenko <al...@gmail.com>
Committed: Thu Feb 9 15:25:16 2017 +0300

----------------------------------------------------------------------
 assembly/LICENSE_FABRIC                         |  35 ++-
 assembly/LICENSE_HADOOP                         |  17 +-
 examples/schema-import/bin/h2-server.bat        |   2 +-
 examples/schema-import/bin/h2-server.sh         |   4 +-
 .../schema-import/bin/schema-import.properties  |   2 +-
 .../src/main/resources/META-INF/licenses.txt.vm |   7 +-
 .../apache/ignite/IgniteSystemProperties.java   |  11 +
 .../configuration/CacheConfiguration.java       |  16 +-
 .../processors/cache/GridCacheProcessor.java    |  85 +++++++
 .../distributed/dht/GridDhtCacheAdapter.java    |  10 +-
 .../distributed/dht/GridDhtLocalPartition.java  | 120 ++++++++--
 .../processors/query/GridQueryProcessor.java    |  81 +++++--
 .../processors/query/GridQueryProperty.java     |  21 +-
 .../ignite/lang/IgniteProductVersion.java       |   2 +-
 .../cache/CacheDeferredDeleteQueueTest.java     | 134 +++++++++++
 .../ignite/testsuites/IgniteCacheTestSuite.java |   2 +
 .../query/h2/DmlStatementsProcessor.java        |  70 +++---
 .../processors/query/h2/IgniteH2Indexing.java   |   8 +-
 .../query/h2/dml/UpdatePlanBuilder.java         | 105 ++++++---
 .../h2/twostep/GridReduceQueryExecutor.java     |   2 +-
 ...niteCacheAbstractInsertSqlQuerySelfTest.java |   4 +
 .../IgniteCacheAbstractSqlDmlQuerySelfTest.java |   2 +-
 .../IgniteCacheInsertSqlQuerySelfTest.java      |  22 ++
 .../cache/IgniteCacheMergeSqlQuerySelfTest.java |  24 ++
 .../IgniteCacheUpdateSqlQuerySelfTest.java      |  61 ++++-
 .../IgniteSqlEntryCacheModeAgnosticTest.java    | 140 +++++++++++
 .../h2/GridIndexingSpiAbstractSelfTest.java     |   5 +
 .../IgniteCacheQuerySelfTestSuite.java          |   2 +
 .../Cache/CacheAbstractTransactionalTest.cs     | 105 +++++----
 .../Cache/Configuration/QueryEntity.cs          |   2 +-
 .../Apache.Ignite.Core/Impl/Cache/CacheImpl.cs  |   9 +-
 .../Apache.Ignite.Examples.csproj               |   1 +
 .../Datagrid/TransactionExample.cs              |  75 ++++--
 modules/web-console/backend/app/agent.js        |  10 +-
 modules/web-console/backend/app/mongo.js        |  49 ++--
 modules/web-console/backend/app/routes.js       |   5 +-
 .../web-console/backend/routes/activities.js    |  52 +++++
 modules/web-console/backend/routes/admin.js     |   2 +-
 modules/web-console/backend/routes/agent.js     |  10 +-
 modules/web-console/backend/routes/public.js    |   1 -
 .../web-console/backend/services/activities.js  | 136 +++++++++++
 modules/web-console/backend/services/users.js   |  13 +-
 modules/web-console/frontend/app/app.config.js  |   9 +
 modules/web-console/frontend/app/app.js         |  29 ++-
 .../activities-user-dialog.controller.js        |  60 +++++
 .../activities-user-dialog.jade                 |  36 +++
 .../components/activities-user-dialog/index.js  |  36 +++
 .../form-field-datepicker.jade                  |  55 +++++
 .../form-field-datepicker.scss                  |  20 ++
 .../list-of-registered-users/index.js           |  28 +++
 .../list-of-registered-users.categories.js      |  30 +++
 .../list-of-registered-users.column-defs.js     |  80 +++++++
 .../list-of-registered-users.controller.js      | 207 ++++++++++++++++
 .../list-of-registered-users.jade               |  54 +++++
 .../ui-grid-header/ui-grid-header.jade          |  27 +++
 .../ui-grid-header/ui-grid-header.scss          |  84 +++++++
 .../ui-grid-settings/ui-grid-settings.jade      |  33 +++
 .../ui-grid-settings/ui-grid-settings.scss      |  70 ++++++
 .../app/core/activities/Activities.data.js      |  39 ++++
 .../frontend/app/core/admin/Admin.data.js       |  77 ++++++
 modules/web-console/frontend/app/core/index.js  |  25 ++
 modules/web-console/frontend/app/data/i18n.js   |  38 +++
 .../ui-grid-settings/ui-grid-settings.jade      |  33 ---
 .../ui-grid-settings/ui-grid-settings.scss      |  38 ---
 .../app/filters/uiGridSubcategories.filter.js   |  24 ++
 .../frontend/app/modules/Demo/Demo.module.js    | 166 -------------
 .../frontend/app/modules/demo/Demo.module.js    | 172 ++++++++++++++
 .../frontend/app/modules/sql/sql.controller.js  |  14 +-
 .../frontend/app/modules/sql/sql.module.js      |   2 +-
 .../frontend/app/modules/states/admin.state.js  |   2 +-
 .../configuration/summary/summary.controller.js |   6 +-
 .../app/modules/user/AclRoute.provider.js       |  31 +--
 .../frontend/app/modules/user/Auth.service.js   |   2 +-
 .../frontend/app/modules/user/permissions.js    |   2 +-
 .../frontend/app/modules/user/user.module.js    |   6 +-
 modules/web-console/frontend/app/vendor.js      |   1 +
 .../frontend/controllers/admin-controller.js    | 234 -------------------
 .../frontend/controllers/domains-controller.js  |  12 +-
 modules/web-console/frontend/package.json       |   1 +
 .../stylesheets/_font-awesome-custom.scss       |  28 +++
 .../frontend/public/stylesheets/style.scss      |  39 +++-
 .../frontend/public/stylesheets/variables.scss  |   1 +
 .../frontend/views/settings/admin.jade          |  32 +--
 modules/web-console/frontend/views/sql/sql.jade |   4 +-
 .../views/templates/agent-download.jade         |   2 +-
 modules/web-console/web-agent/README.txt        |   2 +-
 .../cache/IgnitePutRemoveBenchmark.java         |  42 ++++
 .../cache/IgnitePutRemoveTxBenchmark.java       |  30 +++
 88 files changed, 2609 insertions(+), 818 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/e526948e/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/DmlStatementsProcessor.java
----------------------------------------------------------------------
diff --cc modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/DmlStatementsProcessor.java
index 70bd2bd,7995083..0abe2cb
--- a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/DmlStatementsProcessor.java
+++ b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/DmlStatementsProcessor.java
@@@ -58,9 -58,7 +58,8 @@@ import org.apache.ignite.internal.proce
  import org.apache.ignite.internal.processors.query.GridQueryProperty;
  import org.apache.ignite.internal.processors.query.GridQueryTypeDescriptor;
  import org.apache.ignite.internal.processors.query.IgniteSQLException;
 +import org.apache.ignite.internal.processors.query.h2.dml.FastUpdateArgument;
  import org.apache.ignite.internal.processors.query.h2.dml.FastUpdateArguments;
- import org.apache.ignite.internal.processors.query.h2.dml.KeyValueSupplier;
  import org.apache.ignite.internal.processors.query.h2.dml.UpdatePlan;
  import org.apache.ignite.internal.processors.query.h2.dml.UpdatePlanBuilder;
  import org.apache.ignite.internal.processors.query.h2.opt.GridH2RowDescriptor;
@@@ -913,13 -841,32 +894,32 @@@ public class DmlStatementsProcessor 
          if (val == null)
              throw new IgniteSQLException("Value for INSERT or MERGE must not be null", IgniteQueryErrorCode.NULL_VALUE);
  
-         GridQueryTypeDescriptor desc = rowDesc.type();
+         GridQueryTypeDescriptor desc = plan.tbl.rowDescriptor().type();
  
-         for (int i = 0; i < cols.length; i++) {
-             if (i == keyColIdx || i == valColIdx)
+         Map<String, Object> newColVals = new HashMap<>();
+ 
+         for (int i = 0; i < plan.colNames.length; i++) {
+             if (i == plan.keyColIdx || i == plan.valColIdx)
                  continue;
  
-             desc.setValue(cols[i], key, val, convert(row[i], cols[i], rowDesc));
+             newColVals.put(plan.colNames[i], convert(row.get(i), plan.colNames[i],
 -                plan.tbl.rowDescriptor(), plan.colTypes[i]));
++                plan.tbl.rowDescriptor()));
+         }
+ 
+         // We update columns in the order specified by the table for a reason - table's
+         // column order preserves their precedence for correct update of nested properties.
+         Column[] cols = plan.tbl.getColumns();
+ 
+         // First 2 columns are _key and _val, skip 'em.
+         for (int i = 2; i < cols.length; i++) {
+             String colName = cols[i].getName();
+ 
+             if (!newColVals.containsKey(colName))
+                 continue;
+ 
+             Object colVal = newColVals.get(colName);
+ 
+             desc.setValue(colName, key, val, colVal);
          }
  
          if (cctx.binaryMarshaller()) {

http://git-wip-us.apache.org/repos/asf/ignite/blob/e526948e/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/dml/UpdatePlanBuilder.java
----------------------------------------------------------------------
diff --cc modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/dml/UpdatePlanBuilder.java
index 0303fa4,ce2971a..8700b9a
--- a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/dml/UpdatePlanBuilder.java
+++ b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/dml/UpdatePlanBuilder.java
@@@ -225,15 -193,15 +226,15 @@@ public final class UpdatePlanBuilder 
                  hasValProps = true;
          }
  
-         KeyValueSupplier keySupplier = createSupplier(cctx, desc.type(), keyColIdx, hasKeyProps, true);
-         KeyValueSupplier valSupplier = createSupplier(cctx, desc.type(), valColIdx, hasValProps, false);
+         KeyValueSupplier keySupplier = createSupplier(cctx, desc.type(), keyColIdx, hasKeyProps, true, false);
+         KeyValueSupplier valSupplier = createSupplier(cctx, desc.type(), valColIdx, hasValProps, false, false);
  
          if (stmt instanceof GridSqlMerge)
 -            return UpdatePlan.forMerge(tbl.dataTable(), colNames, colTypes, keySupplier, valSupplier, keyColIdx,
 -                valColIdx, sel.getSQL(), !isTwoStepSubqry, rowsNum);
 +            return UpdatePlan.forMerge(tbl.dataTable(), colNames, keySupplier, valSupplier, keyColIdx,
 +                valColIdx, sel != null ? sel.getSQL() : null, !isTwoStepSubqry, rows, rowsNum);
          else
 -            return UpdatePlan.forInsert(tbl.dataTable(), colNames, colTypes, keySupplier, valSupplier, keyColIdx,
 -                valColIdx, sel.getSQL(), !isTwoStepSubqry, rowsNum);
 +            return UpdatePlan.forInsert(tbl.dataTable(), colNames, keySupplier, valSupplier, keyColIdx,
 +                valColIdx, sel != null ? sel.getSQL() : null, !isTwoStepSubqry, rows, rowsNum);
      }
  
      /**