diff --git a/arangod/Aql/ShortestPathBlock.cpp b/arangod/Aql/ShortestPathBlock.cpp index 987c478f37..e27f2b9862 100644 --- a/arangod/Aql/ShortestPathBlock.cpp +++ b/arangod/Aql/ShortestPathBlock.cpp @@ -614,18 +614,15 @@ AqlItemBlock* ShortestPathBlock::getSome(size_t, size_t atMost) { // only copy 1st row of registers inherited from previous frame(s) inheritRegisters(cur, res.get(), _pos); - // TODO this might be optimized in favor of direct mptr. // TODO: lease builder? VPackBuilder resultBuilder; for (size_t j = 0; j < toSend; j++) { if (usesVertexOutput()) { - // TODO this might be optimized in favor of direct mptr. resultBuilder.clear(); _path->vertexToVelocyPack(_trx, _mmdr.get(), _posInPath, resultBuilder); res->setValue(j, _vertexReg, AqlValue(resultBuilder.slice())); } if (usesEdgeOutput()) { - // TODO this might be optimized in favor of direct mptr. resultBuilder.clear(); _path->edgeToVelocyPack(_trx, _mmdr.get(), _posInPath, resultBuilder); res->setValue(j, _edgeReg, AqlValue(resultBuilder.slice())); diff --git a/cmake/packages/snap.cmake b/cmake/packages/snap.cmake index c1cecf51fb..d250d288c5 100644 --- a/cmake/packages/snap.cmake +++ b/cmake/packages/snap.cmake @@ -5,7 +5,7 @@ if(EXISTS ${SNAP_EXE}) endif() if(SNAPCRAFT_FOUND) - set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-${ARANGODB_PACKAGE_REVISION}.${ARANGODB_PACKAGE_ARCHITECTURE}") + set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-${ARANGODB_PACKAGE_REVISION}_${ARANGODB_PACKAGE_ARCHITECTURE}") set(SNAPCRAFT_TEMPLATE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/Installation/Ubuntu") set(CPACK_PACKAGE_TGZ "${CMAKE_BINARY_DIR}/${CPACK_PACKAGE_FILE_NAME}.tar.gz") set(SNAPCRAFT_SOURCE_DIR "${CMAKE_BINARY_DIR}/_CPack_Packages/SNAP") diff --git a/js/server/tests/aql/aql-graph.js b/js/server/tests/aql/aql-graph.js index 69aa8462d9..69c4dce3b2 100644 --- a/js/server/tests/aql/aql-graph.js +++ b/js/server/tests/aql/aql-graph.js @@ -56,8 +56,8 @@ function ahuacatlQueryEdgesTestSuite () { db._drop(vn); db._drop("UnitTestsAhuacatlEdge"); - vertex = db._create(vn); - edge = db._createEdgeCollection("UnitTestsAhuacatlEdge"); + vertex = db._create(vn, {numberOfShards: 4}); + edge = db._createEdgeCollection("UnitTestsAhuacatlEdge", {numberOfShards: 4}); vertex.save({ _key: "v1", name: "v1" }); vertex.save({ _key: "v2", name: "v2" }); @@ -414,8 +414,8 @@ function ahuacatlQueryNeighborsTestSuite () { db._drop(vn); db._drop("UnitTestsAhuacatlEdge"); - vertex = db._create(vn); - edge = db._createEdgeCollection("UnitTestsAhuacatlEdge"); + vertex = db._create(vn, {numberOfShards: 4}); + edge = db._createEdgeCollection("UnitTestsAhuacatlEdge", {numberOfShards: 4}); vertex.save({ _key: "v1", name: "v1" }); vertex.save({ _key: "v2", name: "v2" }); @@ -676,8 +676,8 @@ function ahuacatlQueryBreadthFirstTestSuite () { setUpAll : function () { cleanUp(); - vertex = db._create(vn); - edge = db._createEdgeCollection(en); + vertex = db._create(vn, {numberOfShards: 4}); + edge = db._createEdgeCollection(en, {numberOfShards: 4}); vertex.save({_key: "A"}); vertex.save({_key: "B"}); @@ -847,8 +847,8 @@ function ahuacatlQueryShortestPathTestSuite () { db._drop(vn); db._drop(en); - vertexCollection = db._create(vn); - edgeCollection = db._createEdgeCollection(en); + vertexCollection = db._create(vn, {numberOfShards: 4}); + edgeCollection = db._createEdgeCollection(en, {numberOfShards: 4}); [ "A", "B", "C", "D", "E", "F", "G", "H" ].forEach(function (item) { vertexCollection.save({ _key: item, name: item }); @@ -1010,8 +1010,8 @@ function ahuacatlQueryNeighborsErrorsSuite () { db._drop(en); internal.debugClearFailAt(); - vertexCollection = db._create(vn); - edgeCollection = db._createEdgeCollection(en); + vertexCollection = db._create(vn, {numberOfShards: 4}); + edgeCollection = db._createEdgeCollection(en, {numberOfShards: 4}); [ "A", "B", "C", "D" ].forEach(function (item) { vertexCollection.save({ _key: item, name: item }); @@ -1099,8 +1099,8 @@ function ahuacatlQueryShortestpathErrorsSuite () { db._drop(en); internal.debugClearFailAt(); - vertexCollection = db._create(vn); - edgeCollection = db._createEdgeCollection(en); + vertexCollection = db._create(vn, {numberOfShards: 4}); + edgeCollection = db._createEdgeCollection(en, {numberOfShards: 4}); [ "A", "B", "C", "D" ].forEach(function (item) { vertexCollection.save({ _key: item, name: item }); @@ -1182,4 +1182,3 @@ if (internal.debugCanUseFailAt() && ! cluster.isCluster()) { jsunity.run(ahuacatlQueryShortestpathErrorsSuite); } return jsunity.done(); - diff --git a/lib/Basics/VelocyPackHelper.cpp b/lib/Basics/VelocyPackHelper.cpp index 7465b0780e..d06c8d8e7c 100644 --- a/lib/Basics/VelocyPackHelper.cpp +++ b/lib/Basics/VelocyPackHelper.cpp @@ -938,6 +938,8 @@ uint64_t VelocyPackHelper::hashByAttributes( } hash = sub.normalizedHash(hash); } + } else if (slice.isString() && attributes.size() == 1 && attributes[0] == StaticStrings::KeyString) { + hash = slice.normalizedHash(hash); } return hash; } diff --git a/scripts/build-snap.sh b/scripts/build-snap.sh new file mode 100644 index 0000000000..0de2f7cf2e --- /dev/null +++ b/scripts/build-snap.sh @@ -0,0 +1,28 @@ + +#!/bin/bash + +set -e + +if test -z ${CXX}; then + export CC=gcc + export CXX=g++ +fi + +export CPU_CORES=$(grep -c ^processor /proc/cpuinfo) + +DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" + +cd ${DIR}/.. + +./Installation/Jenkins/build.sh \ + standard \ + --rpath \ + --parallel ${CPU_CORES} \ + --package TGZ \ + --snap \ + --buildDir build-snap \ + --targetDir /var/tmp/ \ + --noopt \ + $@ + +cd ${DIR}/..