From 31cf31f7b7894e9ff73ecf42c8c9802bc8e4f941 Mon Sep 17 00:00:00 2001 From: Michael Hackstein Date: Wed, 14 Oct 2015 11:02:52 +0200 Subject: [PATCH] Fixed further AQL optimizer tests. Still some issues in new IndexNode --- .../tests/aql-optimizer-indexes-in-or.js | 5 ++++ js/server/tests/aql-optimizer-indexes-sort.js | 23 +++++++++++-------- 2 files changed, 18 insertions(+), 10 deletions(-) diff --git a/js/server/tests/aql-optimizer-indexes-in-or.js b/js/server/tests/aql-optimizer-indexes-in-or.js index 0e1642af05..a74ade37d4 100644 --- a/js/server/tests/aql-optimizer-indexes-in-or.js +++ b/js/server/tests/aql-optimizer-indexes-in-or.js @@ -305,6 +305,7 @@ function optimizerIndexesInOrTestSuite () { return node.type; }); + require("org/arangodb/aql/explainer").explain(query[0]); // ensure the index is used assertNotEqual(-1, nodeTypes.indexOf("IndexNode"), query); @@ -341,6 +342,7 @@ function optimizerIndexesInOrTestSuite () { return node.type; }); + require("org/arangodb/aql/explainer").explain(query[0]); // ensure the index is used assertNotEqual(-1, nodeTypes.indexOf("IndexNode"), query); @@ -516,6 +518,7 @@ function optimizerIndexesInOrTestSuite () { return node.type; }); + require("org/arangodb/aql/explainer").explain(query[0]); // ensure an index is used assertNotEqual(-1, nodeTypes.indexOf("IndexNode"), query); @@ -546,6 +549,7 @@ function optimizerIndexesInOrTestSuite () { return node.type; }); + require("org/arangodb/aql/explainer").explain(query[0]); // ensure an index is used assertNotEqual(-1, nodeTypes.indexOf("IndexNode"), query); @@ -659,6 +663,7 @@ function optimizerIndexesInOrTestSuite () { var results = AQL_EXECUTE(query[0]); assertEqual(query[1].length, results.json.length, query); for (var i = 0; i < results.json.length; ++i) { + require("internal").print(query[1][i]); assertEqual(query[1][i], results.json[i], query); } assertTrue(results.stats.scannedIndex > 0); diff --git a/js/server/tests/aql-optimizer-indexes-sort.js b/js/server/tests/aql-optimizer-indexes-sort.js index 13c961e8eb..38a145fc21 100644 --- a/js/server/tests/aql-optimizer-indexes-sort.js +++ b/js/server/tests/aql-optimizer-indexes-sort.js @@ -511,9 +511,10 @@ function optimizerIndexesSortTestSuite () { var plan = AQL_EXPLAIN(query).plan; var nodeTypes = plan.nodes.map(function(node) { if (node.type === "IndexNode") { - assertEqual(idx.id.replace(/^.+\//g, ''), node.index.id); - assertEqual("skiplist", node.index.type); - assertTrue(node.index.sparse); + assertEqual(node.indexes.length, 1); + assertEqual(idx.id.replace(/^.+\//g, ''), node.indexes[0].id); + assertEqual("skiplist", node.indexes[0].type); + assertTrue(node.indexes[0].sparse); } return node.type; }); @@ -575,10 +576,10 @@ function optimizerIndexesSortTestSuite () { var plan = AQL_EXPLAIN(query).plan; var nodeTypes = plan.nodes.map(function(node) { if (node.type === "IndexNode") { - assertNotEqual(idx1.id.replace(/^.+\//g, ''), node.index.id); - assertEqual(idx2.id.replace(/^.+\//g, ''), node.index.id); - assertEqual("skiplist", node.index.type); - assertFalse(node.index.sparse); + assertNotEqual(idx1.id.replace(/^.+\//g, ''), node.indexes[0].id); + assertEqual(idx2.id.replace(/^.+\//g, ''), node.indexes[0].id); + assertEqual("skiplist", node.indexes[0].type); + assertFalse(node.indexes[0].sparse); } return node.type; }); @@ -610,9 +611,10 @@ function optimizerIndexesSortTestSuite () { var plan = AQL_EXPLAIN(query).plan; var nodeTypes = plan.nodes.map(function(node) { if (node.type === "IndexNode") { - assertEqual(idx.id.replace(/^.+\//g, ''), node.index.id); - assertEqual("skiplist", node.index.type); - assertTrue(node.index.sparse); + assertEqual(node.indexes.length, 1); + assertEqual(idx.id.replace(/^.+\//g, ''), node.indexes[0].id); + assertEqual("skiplist", node.indexes[0].type); + assertTrue(node.indexes[0].sparse); } return node.type; }); @@ -673,6 +675,7 @@ function optimizerIndexesSortTestSuite () { return node.type; }); + require("org/arangodb/aql/explainer").explain(query); // no index is used for sorting assertEqual(-1, nodeTypes.indexOf("IndexNode"), query); assertNotEqual(-1, nodeTypes.indexOf("SortNode"), query);