mirror of https://gitee.com/bigwinds/arangodb
Merge branch 'devel' of https://github.com/arangodb/arangodb into devel
This commit is contained in:
commit
924ef445b0
|
@ -31,8 +31,6 @@
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
#include <atomic>
|
#include <atomic>
|
||||||
|
|
||||||
#include <iostream> // TODO
|
|
||||||
|
|
||||||
using namespace arangodb::cache;
|
using namespace arangodb::cache;
|
||||||
|
|
||||||
Metadata::Metadata()
|
Metadata::Metadata()
|
||||||
|
|
|
@ -22,7 +22,6 @@
|
||||||
|
|
||||||
#include "RestEngine.h"
|
#include "RestEngine.h"
|
||||||
|
|
||||||
#include <iostream>
|
|
||||||
#include "GeneralServer/RestHandler.h"
|
#include "GeneralServer/RestHandler.h"
|
||||||
#include "Logger/Logger.h"
|
#include "Logger/Logger.h"
|
||||||
|
|
||||||
|
|
|
@ -114,8 +114,6 @@ MMFilesFulltextIndex::MMFilesFulltextIndex(TRI_idx_iid_t iid,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
MMFilesFulltextIndex::~MMFilesFulltextIndex() {
|
MMFilesFulltextIndex::~MMFilesFulltextIndex() {
|
||||||
if (_fulltextIndex != nullptr) {
|
if (_fulltextIndex != nullptr) {
|
||||||
LOG_TOPIC(TRACE, arangodb::Logger::FIXME) << "destroying fulltext index";
|
LOG_TOPIC(TRACE, arangodb::Logger::FIXME) << "destroying fulltext index";
|
||||||
|
|
|
@ -170,9 +170,13 @@ static int EnhanceJsonIndexPersistent(VPackSlice const definition,
|
||||||
|
|
||||||
static void ProcessIndexGeoJsonFlag(VPackSlice const definition,
|
static void ProcessIndexGeoJsonFlag(VPackSlice const definition,
|
||||||
VPackBuilder& builder) {
|
VPackBuilder& builder) {
|
||||||
bool geoJson =
|
VPackSlice fieldsSlice = definition.get("fields");
|
||||||
basics::VelocyPackHelper::getBooleanValue(definition, "geoJson", false);
|
if (fieldsSlice.isArray() && fieldsSlice.length() == 1) {
|
||||||
builder.add("geoJson", VPackValue(geoJson));
|
// only add geoJson for indexes with a single field (with needs to be an array)
|
||||||
|
bool geoJson =
|
||||||
|
basics::VelocyPackHelper::getBooleanValue(definition, "geoJson", false);
|
||||||
|
builder.add("geoJson", VPackValue(geoJson));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
@ -221,6 +225,10 @@ static int EnhanceJsonIndexFulltext(VPackSlice const definition,
|
||||||
VPackBuilder& builder, bool create) {
|
VPackBuilder& builder, bool create) {
|
||||||
int res = ProcessIndexFields(definition, builder, 1, create);
|
int res = ProcessIndexFields(definition, builder, 1, create);
|
||||||
if (res == TRI_ERROR_NO_ERROR) {
|
if (res == TRI_ERROR_NO_ERROR) {
|
||||||
|
// hard-coded defaults
|
||||||
|
builder.add("sparse", VPackValue(true));
|
||||||
|
builder.add("unique", VPackValue(false));
|
||||||
|
|
||||||
// handle "minLength" attribute
|
// handle "minLength" attribute
|
||||||
int minWordLength = TRI_FULLTEXT_MIN_WORD_LENGTH_DEFAULT;
|
int minWordLength = TRI_FULLTEXT_MIN_WORD_LENGTH_DEFAULT;
|
||||||
VPackSlice minLength = definition.get("minLength");
|
VPackSlice minLength = definition.get("minLength");
|
||||||
|
|
|
@ -84,11 +84,16 @@ void AqlFeature::stop() {
|
||||||
_isStopped = true; // prevent new AQL queries from being launched
|
_isStopped = true; // prevent new AQL queries from being launched
|
||||||
}
|
}
|
||||||
LOG_TOPIC(DEBUG, Logger::QUERIES) << "AQL feature stopped";
|
LOG_TOPIC(DEBUG, Logger::QUERIES) << "AQL feature stopped";
|
||||||
QueryRegistryFeature::QUERY_REGISTRY->destroyAll();
|
|
||||||
TraverserEngineRegistryFeature::TRAVERSER_ENGINE_REGISTRY->destroyAll();
|
|
||||||
|
|
||||||
// Wait until all AQL queries are done
|
// Wait until all AQL queries are done
|
||||||
while (true) {
|
while (true) {
|
||||||
|
try {
|
||||||
|
QueryRegistryFeature::QUERY_REGISTRY->destroyAll();
|
||||||
|
TraverserEngineRegistryFeature::TRAVERSER_ENGINE_REGISTRY->destroyAll();
|
||||||
|
} catch (...) {
|
||||||
|
// ignore errors here. if it fails, we'll try again in next round
|
||||||
|
}
|
||||||
|
|
||||||
size_t m, n, o;
|
size_t m, n, o;
|
||||||
{
|
{
|
||||||
MUTEX_LOCKER(locker, AqlFeature::_aqlFeatureMutex);
|
MUTEX_LOCKER(locker, AqlFeature::_aqlFeatureMutex);
|
||||||
|
|
|
@ -26,7 +26,6 @@
|
||||||
#define _USE_MATH_DEFINES
|
#define _USE_MATH_DEFINES
|
||||||
#include <cmath>
|
#include <cmath>
|
||||||
#include <cstddef>
|
#include <cstddef>
|
||||||
#include <iostream>
|
|
||||||
#include <limits>
|
#include <limits>
|
||||||
|
|
||||||
#include "RocksDBEngine/RocksDBGeoIndexImpl.h"
|
#include "RocksDBEngine/RocksDBGeoIndexImpl.h"
|
||||||
|
|
|
@ -170,9 +170,13 @@ static int EnhanceJsonIndexPersistent(VPackSlice const definition,
|
||||||
|
|
||||||
static void ProcessIndexGeoJsonFlag(VPackSlice const definition,
|
static void ProcessIndexGeoJsonFlag(VPackSlice const definition,
|
||||||
VPackBuilder& builder) {
|
VPackBuilder& builder) {
|
||||||
bool geoJson =
|
VPackSlice fieldsSlice = definition.get("fields");
|
||||||
basics::VelocyPackHelper::getBooleanValue(definition, "geoJson", false);
|
if (fieldsSlice.isArray() && fieldsSlice.length() == 1) {
|
||||||
builder.add("geoJson", VPackValue(geoJson));
|
// only add geoJson for indexes with a single field (with needs to be an array)
|
||||||
|
bool geoJson =
|
||||||
|
basics::VelocyPackHelper::getBooleanValue(definition, "geoJson", false);
|
||||||
|
builder.add("geoJson", VPackValue(geoJson));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
@ -222,6 +226,10 @@ static int EnhanceJsonIndexFulltext(VPackSlice const definition,
|
||||||
VPackBuilder& builder, bool create) {
|
VPackBuilder& builder, bool create) {
|
||||||
int res = ProcessIndexFields(definition, builder, 1, create);
|
int res = ProcessIndexFields(definition, builder, 1, create);
|
||||||
if (res == TRI_ERROR_NO_ERROR) {
|
if (res == TRI_ERROR_NO_ERROR) {
|
||||||
|
// hard-coded defaults
|
||||||
|
builder.add("sparse", VPackValue(true));
|
||||||
|
builder.add("unique", VPackValue(false));
|
||||||
|
|
||||||
// handle "minLength" attribute
|
// handle "minLength" attribute
|
||||||
int minWordLength = TRI_FULLTEXT_MIN_WORD_LENGTH_DEFAULT;
|
int minWordLength = TRI_FULLTEXT_MIN_WORD_LENGTH_DEFAULT;
|
||||||
VPackSlice minLength = definition.get("minLength");
|
VPackSlice minLength = definition.get("minLength");
|
||||||
|
|
|
@ -48,8 +48,6 @@
|
||||||
#include "VocBase/ticks.h"
|
#include "VocBase/ticks.h"
|
||||||
#include "VocBase/vocbase.h"
|
#include "VocBase/vocbase.h"
|
||||||
|
|
||||||
#include <iostream>
|
|
||||||
|
|
||||||
#include <velocypack/Buffer.h>
|
#include <velocypack/Buffer.h>
|
||||||
#include <velocypack/Builder.h>
|
#include <velocypack/Builder.h>
|
||||||
#include <velocypack/Parser.h>
|
#include <velocypack/Parser.h>
|
||||||
|
|
|
@ -18,7 +18,11 @@ set(CPACK_DEBIAN_PACKAGE_HOMEPAGE ${ARANGODB_URL_INFO_ABOUT})
|
||||||
set(CPACK_COMPONENTS_ALL debian-extras)
|
set(CPACK_COMPONENTS_ALL debian-extras)
|
||||||
set(CPACK_GENERATOR "DEB")
|
set(CPACK_GENERATOR "DEB")
|
||||||
|
|
||||||
set(CPACK_SYSTEMD_FOUND "${SYSTEMD_FOUND}")
|
if (SYSTEMD_FOUND)
|
||||||
|
set(CPACK_SYSTEMD_FOUND "1")
|
||||||
|
else()
|
||||||
|
set(CPACK_SYSTEMD_FOUND "0")
|
||||||
|
endif()
|
||||||
|
|
||||||
# substitute the package name so debconf works:
|
# substitute the package name so debconf works:
|
||||||
configure_file (
|
configure_file (
|
||||||
|
|
Loading…
Reference in New Issue