1
0
Fork 0

Fixed further AQL optimizer tests. Still some issues in new IndexNode

This commit is contained in:
Michael Hackstein 2015-10-14 11:02:52 +02:00
parent 9d7024b28d
commit 31cf31f7b7
2 changed files with 18 additions and 10 deletions

View File

@ -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);

View File

@ -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);