mirror of https://gitee.com/bigwinds/arangodb
Fixing some accidentally broken fulltext tests (#3951)
* Fixing some accidentally broken tests * Fixing test...again
This commit is contained in:
parent
98d6eff37e
commit
739af2d1f5
|
@ -1366,7 +1366,7 @@ def buildEdition(os, edition, maintainer) {
|
|||
logExceptionStage(os, logFile, logFile, exc)
|
||||
|
||||
def msg = exc.toString()
|
||||
|
||||
|
||||
if (os == 'linux' || os == 'mac') {
|
||||
sh "echo \"${msg}\" >> ${logFile}"
|
||||
}
|
||||
|
|
|
@ -177,31 +177,25 @@ AqlValue MMFilesAqlFunctions::Fulltext(
|
|||
ValidateParameters(parameters, "FULLTEXT", 3, 4);
|
||||
|
||||
AqlValue collectionValue = ExtractFunctionParameterValue(trx, parameters, 0);
|
||||
|
||||
if (!collectionValue.isString()) {
|
||||
RegisterWarning(query, "FULLTEXT", TRI_ERROR_QUERY_FUNCTION_ARGUMENT_TYPE_MISMATCH);
|
||||
return AqlValue(AqlValueHintNull());
|
||||
}
|
||||
|
||||
std::string const collectionName(collectionValue.slice().copyString());
|
||||
std::string const cname(collectionValue.slice().copyString());
|
||||
|
||||
AqlValue attribute = ExtractFunctionParameterValue(trx, parameters, 1);
|
||||
|
||||
if (!attribute.isString()) {
|
||||
RegisterWarning(query, "FULLTEXT", TRI_ERROR_QUERY_FUNCTION_ARGUMENT_TYPE_MISMATCH);
|
||||
return AqlValue(AqlValueHintNull());
|
||||
}
|
||||
|
||||
std::string attributeName(attribute.slice().copyString());
|
||||
std::string const attributeName(attribute.slice().copyString());
|
||||
|
||||
AqlValue queryValue = ExtractFunctionParameterValue(trx, parameters, 2);
|
||||
|
||||
if (!queryValue.isString()) {
|
||||
RegisterWarning(query, "FULLTEXT", TRI_ERROR_QUERY_FUNCTION_ARGUMENT_TYPE_MISMATCH);
|
||||
return AqlValue(AqlValueHintNull());
|
||||
}
|
||||
|
||||
std::string queryString = queryValue.slice().copyString();
|
||||
std::string const queryString = queryValue.slice().copyString();
|
||||
|
||||
size_t maxResults = 0; // 0 means "all results"
|
||||
if (parameters.size() >= 4) {
|
||||
|
@ -218,12 +212,11 @@ AqlValue MMFilesAqlFunctions::Fulltext(
|
|||
}
|
||||
}
|
||||
|
||||
auto resolver = trx->resolver();
|
||||
TRI_voc_cid_t cid = resolver->getCollectionIdLocal(collectionName);
|
||||
trx->addCollectionAtRuntime(cid, collectionName);
|
||||
|
||||
// add the collection to the query for proper cache handling
|
||||
query->collections()->add(cname, AccessMode::Type::READ);
|
||||
TRI_voc_cid_t cid = trx->resolver()->getCollectionIdLocal(cname);
|
||||
trx->addCollectionAtRuntime(cid, cname);
|
||||
LogicalCollection* collection = trx->documentCollection(cid);
|
||||
|
||||
if (collection == nullptr) {
|
||||
RegisterWarning(query, "FULLTEXT", TRI_ERROR_ARANGO_COLLECTION_NOT_FOUND);
|
||||
return AqlValue(AqlValueHintNull());
|
||||
|
|
|
@ -23,7 +23,9 @@
|
|||
#include "RocksDBAqlFunctions.h"
|
||||
|
||||
#include "Aql/AqlFunctionFeature.h"
|
||||
#include "Aql/Collection.h"
|
||||
#include "Aql/Function.h"
|
||||
#include "Aql/Query.h"
|
||||
#include "RocksDBEngine/RocksDBFulltextIndex.h"
|
||||
#include "RocksDBEngine/RocksDBGeoIndex.h"
|
||||
#include "StorageEngine/TransactionState.h"
|
||||
|
@ -52,31 +54,25 @@ AqlValue RocksDBAqlFunctions::Fulltext(
|
|||
ValidateParameters(parameters, "FULLTEXT", 3, 4);
|
||||
|
||||
AqlValue collectionValue = ExtractFunctionParameterValue(trx, parameters, 0);
|
||||
|
||||
if (!collectionValue.isString()) {
|
||||
RegisterWarning(query, "FULLTEXT", TRI_ERROR_QUERY_FUNCTION_ARGUMENT_TYPE_MISMATCH);
|
||||
return AqlValue(AqlValueHintNull());
|
||||
}
|
||||
|
||||
std::string const collectionName(collectionValue.slice().copyString());
|
||||
|
||||
std::string const cname(collectionValue.slice().copyString());
|
||||
|
||||
AqlValue attribute = ExtractFunctionParameterValue(trx, parameters, 1);
|
||||
|
||||
if (!attribute.isString()) {
|
||||
RegisterWarning(query, "FULLTEXT", TRI_ERROR_QUERY_FUNCTION_ARGUMENT_TYPE_MISMATCH);
|
||||
return AqlValue(AqlValueHintNull());
|
||||
}
|
||||
|
||||
std::string attributeName(attribute.slice().copyString());
|
||||
std::string const attributeName(attribute.slice().copyString());
|
||||
|
||||
AqlValue queryValue = ExtractFunctionParameterValue(trx, parameters, 2);
|
||||
|
||||
if (!queryValue.isString()) {
|
||||
RegisterWarning(query, "FULLTEXT", TRI_ERROR_QUERY_FUNCTION_ARGUMENT_TYPE_MISMATCH);
|
||||
return AqlValue(AqlValueHintNull());
|
||||
}
|
||||
|
||||
std::string queryString = queryValue.slice().copyString();
|
||||
std::string const queryString = queryValue.slice().copyString();
|
||||
|
||||
size_t maxResults = 0; // 0 means "all results"
|
||||
if (parameters.size() >= 4) {
|
||||
|
@ -93,12 +89,11 @@ AqlValue RocksDBAqlFunctions::Fulltext(
|
|||
}
|
||||
}
|
||||
|
||||
auto resolver = trx->resolver();
|
||||
TRI_voc_cid_t cid = resolver->getCollectionIdLocal(collectionName);
|
||||
trx->addCollectionAtRuntime(cid, collectionName);
|
||||
|
||||
// add the collection to the query for proper cache handling
|
||||
query->collections()->add(cname, AccessMode::Type::READ);
|
||||
TRI_voc_cid_t cid = trx->resolver()->getCollectionIdLocal(cname);
|
||||
trx->addCollectionAtRuntime(cid, cname);
|
||||
LogicalCollection* collection = trx->documentCollection(cid);
|
||||
|
||||
if (collection == nullptr) {
|
||||
RegisterWarning(query, "FULLTEXT", TRI_ERROR_ARANGO_COLLECTION_NOT_FOUND);
|
||||
return AqlValue(AqlValueHintNull());
|
||||
|
|
|
@ -283,9 +283,6 @@ RocksDBSortedAllIterator::RocksDBSortedAllIterator(
|
|||
: IndexIterator(collection, trx, mmdr, index),
|
||||
_trx(trx),
|
||||
_bounds(RocksDBKeyBounds::PrimaryIndex(index->objectId())),
|
||||
#ifdef ARANGODB_ENABLE_MAINTAINER_MODE
|
||||
_index(index),
|
||||
#endif
|
||||
_cmp(index->comparator()) {
|
||||
|
||||
RocksDBMethods* mthds = RocksDBTransactionState::toMethods(trx);
|
||||
|
|
|
@ -122,9 +122,6 @@ class RocksDBSortedAllIterator final : public IndexIterator {
|
|||
transaction::Methods* _trx;
|
||||
RocksDBKeyBounds const _bounds;
|
||||
std::unique_ptr<rocksdb::Iterator> _iterator;
|
||||
#ifdef ARANGODB_ENABLE_MAINTAINER_MODE
|
||||
RocksDBPrimaryIndex const* _index;
|
||||
#endif
|
||||
rocksdb::Comparator const* _cmp;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -4286,7 +4286,8 @@ function AQL_FULLTEXT (collection, attribute, query, limit) {
|
|||
var idx = INDEX_FULLTEXT(COLLECTION(collection, 'FULLTEXT'), attribute);
|
||||
|
||||
if (idx === null) {
|
||||
THROW('FULLTEXT', INTERNAL.errors.ERROR_QUERY_FULLTEXT_INDEX_MISSING, collection);
|
||||
WARN('FULLTEXT', INTERNAL.errors.ERROR_QUERY_FULLTEXT_INDEX_MISSING, collection);
|
||||
return null;
|
||||
}
|
||||
|
||||
// Just start a simple query
|
||||
|
|
|
@ -28,19 +28,20 @@
|
|||
/// @author Copyright 2012, triAGENS GmbH, Cologne, Germany
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
var db = require("@arangodb").db;
|
||||
var jsunity = require("jsunity");
|
||||
var errors = require("@arangodb").errors;
|
||||
var helper = require("@arangodb/aql-helper");
|
||||
var getQueryResults = helper.getQueryResults;
|
||||
var assertQueryError = helper.assertQueryError;
|
||||
const db = require("@arangodb").db;
|
||||
const jsunity = require("jsunity");
|
||||
const errors = require("@arangodb").errors;
|
||||
const helper = require("@arangodb/aql-helper");
|
||||
const getQueryResults = helper.getQueryResults;
|
||||
const assertQueryError = helper.assertQueryError;
|
||||
const assertQueryWarningAndNull = helper.assertQueryWarningAndNull;
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/// @brief test suite
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
function ahuacatlFulltextTestSuite () {
|
||||
var cn = "UnitTestsAhuacatlFulltext";
|
||||
const cn = "UnitTestsAhuacatlFulltext";
|
||||
var fulltext;
|
||||
|
||||
return {
|
||||
|
@ -151,9 +152,9 @@ function ahuacatlFulltextTestSuite () {
|
|||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
testNonIndexed : function () {
|
||||
// assertQueryError(errors.ERROR_QUERY_FULLTEXT_INDEX_MISSING.code, "RETURN FULLTEXT(" + fulltext.name() + ", 'bang', 'search')");
|
||||
// assertQueryError(errors.ERROR_QUERY_FULLTEXT_INDEX_MISSING.code, "RETURN FULLTEXT(" + fulltext.name() + ", 'texts', 'foo')");
|
||||
// assertQueryError(errors.ERROR_ARANGO_COLLECTION_NOT_FOUND.code, "RETURN FULLTEXT(NotExistingFooCollection, 'text', 'foo')");
|
||||
assertQueryWarningAndNull(errors.ERROR_QUERY_FULLTEXT_INDEX_MISSING.code, "RETURN FULLTEXT(" + fulltext.name() + ", 'bang', 'search')");
|
||||
assertQueryWarningAndNull(errors.ERROR_QUERY_FULLTEXT_INDEX_MISSING.code, "RETURN FULLTEXT(" + fulltext.name() + ", 'texts', 'foo')");
|
||||
assertQueryError(errors.ERROR_ARANGO_COLLECTION_NOT_FOUND.code, "RETURN FULLTEXT(NotExistingFooCollection, 'text', 'foo')");
|
||||
}
|
||||
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue