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);
}
/**