mirror of https://gitee.com/bigwinds/arangodb
issue 496.2: allow customization of segmentsize lmts on arangosearch view creation, minor code cleanup (#7140)
* issue 496.2: allow customization of segmentsize lmts on arangosearch view creation, minor code clanup * fix incorrect condition
This commit is contained in:
parent
a054e31f73
commit
21a89c9270
|
@ -59,11 +59,6 @@
|
|||
|
||||
namespace {
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/// @brief flush segment when it reached approximately this size
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
constexpr size_t MAX_SEGMENT_SIZE = 32*(size_t(1)<<20); // 32MB
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/// @brief maximum number of threads that will not be blocked
|
||||
/// when inserting/removing data into/from a view
|
||||
|
@ -965,7 +960,7 @@ IResearchView::~IResearchView() {
|
|||
|
||||
if (_storePersisted) {
|
||||
try {
|
||||
_storePersisted._writer->commit();
|
||||
// NOTE: do not commit writer so as not to go out-of-sync with the WAL (i.e. flush thread)
|
||||
_storePersisted._writer->close();
|
||||
_storePersisted._writer.reset();
|
||||
_storePersisted._directory->close();
|
||||
|
@ -1166,8 +1161,6 @@ arangodb::Result IResearchView::drop(
|
|||
// if an errors occurs below than a drop retry would most likely happen
|
||||
// ...........................................................................
|
||||
|
||||
_flushCallback.reset(); // unregister flush callback from flush thread
|
||||
|
||||
try {
|
||||
if (_storePersisted) {
|
||||
_storePersisted._writer->documents().remove(shared_filter);
|
||||
|
@ -1250,6 +1243,7 @@ arangodb::Result IResearchView::dropImpl() {
|
|||
_asyncTerminate.store(true); // mark long-running async jobs for terminatation
|
||||
updateProperties(_meta); // trigger reload of settings for async jobs
|
||||
_asyncSelf->reset(); // the view data-stores are being deallocated, view use is no longer valid (wait for all the view users to finish)
|
||||
_flushCallback.reset(); // unregister flush callback from flush thread
|
||||
|
||||
WriteMutex mutex(_mutex); // members can be asynchronously updated
|
||||
SCOPED_LOCK(mutex);
|
||||
|
@ -1685,8 +1679,12 @@ void IResearchView::open() {
|
|||
if (_storePersisted._directory) {
|
||||
// do not lock index, ArangoDB has it's own lock
|
||||
irs::index_writer::options options;
|
||||
|
||||
TRI_ASSERT(_meta);
|
||||
options.lock_repository = false;
|
||||
options.segment_memory_max = MAX_SEGMENT_SIZE;
|
||||
options.segment_count_max = _meta->_segmentCountMax;
|
||||
options.segment_docs_max = _meta->_segmentDocsMax;
|
||||
options.segment_memory_max = _meta->_segmentMemoryMax;
|
||||
options.segment_pool_size = MAX_NON_BLOCKING_SEGMENTS_COUNT;
|
||||
|
||||
// create writer before reader to ensure data directory is present
|
||||
|
@ -1965,6 +1963,9 @@ arangodb::Result IResearchView::updateProperties(
|
|||
|
||||
// reset non-updatable values to match current meta
|
||||
meta._locale = viewMeta->_locale;
|
||||
meta._segmentCountMax = viewMeta->_segmentCountMax;
|
||||
meta._segmentDocsMax = viewMeta->_segmentDocsMax;
|
||||
meta._segmentMemoryMax = viewMeta->_segmentMemoryMax;
|
||||
|
||||
if (arangodb::ServerState::instance()->isDBServer()) {
|
||||
viewMeta = std::make_shared<AsyncMeta>(); // create an instance not shared with cluster-view
|
||||
|
@ -2176,4 +2177,4 @@ void IResearchView::verifyKnownCollections() {
|
|||
|
||||
// -----------------------------------------------------------------------------
|
||||
// --SECTION-- END-OF-FILE
|
||||
// -----------------------------------------------------------------------------
|
||||
// -----------------------------------------------------------------------------
|
|
@ -391,13 +391,19 @@ IResearchViewMeta::Mask::Mask(bool mask /*=false*/) noexcept
|
|||
: _cleanupIntervalStep(mask),
|
||||
_consolidationIntervalMsec(mask),
|
||||
_consolidationPolicy(mask),
|
||||
_locale(mask) {
|
||||
_locale(mask),
|
||||
_segmentCountMax(mask),
|
||||
_segmentDocsMax(mask),
|
||||
_segmentMemoryMax(mask) {
|
||||
}
|
||||
|
||||
IResearchViewMeta::IResearchViewMeta()
|
||||
: _cleanupIntervalStep(10),
|
||||
_consolidationIntervalMsec(60 * 1000),
|
||||
_locale(std::locale::classic()) {
|
||||
_locale(std::locale::classic()),
|
||||
_segmentCountMax(0),
|
||||
_segmentDocsMax(0),
|
||||
_segmentMemoryMax(32*(size_t(1)<<20)) { // 32MB
|
||||
std::string errorField;
|
||||
|
||||
_consolidationPolicy = createConsolidationPolicy<
|
||||
|
@ -427,6 +433,9 @@ IResearchViewMeta& IResearchViewMeta::operator=(IResearchViewMeta&& other) noexc
|
|||
_consolidationIntervalMsec = std::move(other._consolidationIntervalMsec);
|
||||
_consolidationPolicy = std::move(other._consolidationPolicy);
|
||||
_locale = std::move(other._locale);
|
||||
_segmentCountMax = std::move(other._segmentCountMax);
|
||||
_segmentDocsMax = std::move(other._segmentDocsMax);
|
||||
_segmentMemoryMax = std::move(other._segmentMemoryMax);
|
||||
}
|
||||
|
||||
return *this;
|
||||
|
@ -438,6 +447,9 @@ IResearchViewMeta& IResearchViewMeta::operator=(IResearchViewMeta const& other)
|
|||
_consolidationIntervalMsec = other._consolidationIntervalMsec;
|
||||
_consolidationPolicy = other._consolidationPolicy;
|
||||
_locale = other._locale;
|
||||
_segmentCountMax = other._segmentCountMax;
|
||||
_segmentDocsMax = other._segmentDocsMax;
|
||||
_segmentMemoryMax = other._segmentMemoryMax;
|
||||
}
|
||||
|
||||
return *this;
|
||||
|
@ -462,6 +474,18 @@ bool IResearchViewMeta::operator==(IResearchViewMeta const& other) const noexcep
|
|||
return false; // values do not match
|
||||
}
|
||||
|
||||
if (_segmentCountMax != other._segmentCountMax) {
|
||||
return false; // values do not match
|
||||
}
|
||||
|
||||
if (_segmentDocsMax != other._segmentDocsMax) {
|
||||
return false; // values do not match
|
||||
}
|
||||
|
||||
if (_segmentMemoryMax != other._segmentMemoryMax) {
|
||||
return false; // values do not match
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -637,6 +661,64 @@ bool IResearchViewMeta::init(
|
|||
}
|
||||
}
|
||||
*/
|
||||
|
||||
{
|
||||
// optional size_t
|
||||
static const std::string fieldName("segmentCountMax");
|
||||
|
||||
mask->_segmentCountMax = slice.hasKey(fieldName);
|
||||
|
||||
if (!mask->_segmentCountMax) {
|
||||
_segmentCountMax = defaults._segmentCountMax;
|
||||
} else {
|
||||
auto field = slice.get(fieldName);
|
||||
|
||||
if (!getNumber(_segmentCountMax, field)) {
|
||||
errorField = fieldName;
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
{
|
||||
// optional size_t
|
||||
static const std::string fieldName("segmentDocsMax");
|
||||
|
||||
mask->_segmentDocsMax = slice.hasKey(fieldName);
|
||||
|
||||
if (!mask->_segmentDocsMax) {
|
||||
_segmentDocsMax = defaults._segmentDocsMax;
|
||||
} else {
|
||||
auto field = slice.get(fieldName);
|
||||
|
||||
if (!getNumber(_segmentDocsMax, field)) {
|
||||
errorField = fieldName;
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
{
|
||||
// optional size_t
|
||||
static const std::string fieldName("segmentMemoryMax");
|
||||
|
||||
mask->_segmentMemoryMax = slice.hasKey(fieldName);
|
||||
|
||||
if (!mask->_segmentMemoryMax) {
|
||||
_segmentMemoryMax = defaults._segmentMemoryMax;
|
||||
} else {
|
||||
auto field = slice.get(fieldName);
|
||||
|
||||
if (!getNumber(_segmentMemoryMax, field)) {
|
||||
errorField = fieldName;
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -665,6 +747,19 @@ bool IResearchViewMeta::json(
|
|||
builder.add("locale", arangodb::velocypack::Value(irs::locale_utils::name(_locale)));
|
||||
}
|
||||
*/
|
||||
|
||||
if ((!ignoreEqual || _segmentCountMax != ignoreEqual->_segmentCountMax) && (!mask || mask->_segmentCountMax)) {
|
||||
builder.add("segmentCountMax", arangodb::velocypack::Value(_segmentCountMax));
|
||||
}
|
||||
|
||||
if ((!ignoreEqual || _segmentDocsMax != ignoreEqual->_segmentDocsMax) && (!mask || mask->_segmentDocsMax)) {
|
||||
builder.add("segmentDocsMax", arangodb::velocypack::Value(_segmentDocsMax));
|
||||
}
|
||||
|
||||
if ((!ignoreEqual || _segmentMemoryMax != ignoreEqual->_segmentMemoryMax) && (!mask || mask->_segmentMemoryMax)) {
|
||||
builder.add("segmentMemoryMax", arangodb::velocypack::Value(_segmentMemoryMax));
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
@ -78,6 +78,9 @@ struct IResearchViewMeta {
|
|||
bool _consolidationIntervalMsec;
|
||||
bool _consolidationPolicy;
|
||||
bool _locale;
|
||||
bool _segmentCountMax;
|
||||
bool _segmentDocsMax;
|
||||
bool _segmentMemoryMax;
|
||||
explicit Mask(bool mask = false) noexcept;
|
||||
};
|
||||
|
||||
|
@ -85,6 +88,9 @@ struct IResearchViewMeta {
|
|||
size_t _consolidationIntervalMsec; // issue consolidation after <interval> milliseconds (0 == disable)
|
||||
ConsolidationPolicy _consolidationPolicy; // the consolidation policy to use
|
||||
std::locale _locale; // locale used for ordering processed attribute names
|
||||
size_t _segmentCountMax; // maximum number of concurrent segments before segment aquisition blocks, e.g. max number of concurrent transacitons) (0 == unlimited)
|
||||
size_t _segmentDocsMax; // maximum number of documents per segment before a segment flush is triggered (0 == unlimited)
|
||||
size_t _segmentMemoryMax; // maximum memory byte size per segment before a segment flush is triggered (0 == unlimited)
|
||||
// NOTE: if adding fields don't forget to modify the default constructor !!!
|
||||
// NOTE: if adding fields don't forget to modify the copy constructor !!!
|
||||
// NOTE: if adding fields don't forget to modify the move constructor !!!
|
||||
|
|
|
@ -79,6 +79,9 @@ void MMFilesWalRecoveryFeature::start() {
|
|||
// notify everyone that recovery is now done
|
||||
auto databaseFeature = ApplicationServer::getFeature<DatabaseFeature>("Database");
|
||||
databaseFeature->recoveryDone();
|
||||
|
||||
LOG_TOPIC(INFO, arangodb::Logger::ENGINES)
|
||||
<< "DB recovery finished successfully";
|
||||
}
|
||||
|
||||
} // arangodb
|
||||
|
|
|
@ -51,6 +51,7 @@
|
|||
#include "StorageEngine/StorageEngine.h"
|
||||
#include "Transaction/StandaloneContext.h"
|
||||
#include "Utils/CollectionGuard.h"
|
||||
#include "Utils/CollectionNameResolver.h"
|
||||
#include "Utils/OperationOptions.h"
|
||||
#include "Utils/SingleCollectionTransaction.h"
|
||||
#include "VocBase/LogicalCollection.h"
|
||||
|
@ -1728,7 +1729,6 @@ void RestReplicationHandler::handleCommandRestoreView() {
|
|||
return;
|
||||
}
|
||||
|
||||
bool force = _request->parsedValue<bool>("force", false);
|
||||
bool overwrite = _request->parsedValue<bool>("overwrite", false);
|
||||
auto nameSlice = slice.get(StaticStrings::DataSourceName);
|
||||
auto typeSlice = slice.get(StaticStrings::DataSourceType);
|
||||
|
@ -1741,87 +1741,49 @@ void RestReplicationHandler::handleCommandRestoreView() {
|
|||
LOG_TOPIC(TRACE, Logger::REPLICATION) << "restoring view: "
|
||||
<< nameSlice.copyString();
|
||||
|
||||
if (ServerState::instance()->isCoordinator()) {
|
||||
try {
|
||||
auto* ci = ClusterInfo::instance();
|
||||
auto view = ci->getView(_vocbase.name(), nameSlice.toString());
|
||||
try {
|
||||
CollectionNameResolver resolver(_vocbase);
|
||||
auto view = resolver.getView(nameSlice.toString());
|
||||
|
||||
if (view) {
|
||||
if (overwrite) {
|
||||
auto res = view->drop();
|
||||
if (view) {
|
||||
if (!overwrite) {
|
||||
generateError(TRI_ERROR_ARANGO_DUPLICATE_NAME);
|
||||
|
||||
if (!res.ok()) {
|
||||
generateError(res);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
generateError(TRI_ERROR_ARANGO_DUPLICATE_NAME);
|
||||
|
||||
return;
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
auto res = LogicalView::create(view, _vocbase, slice); // must create() since view was drop()ed
|
||||
auto res = view->drop();
|
||||
|
||||
if (!res.ok()) {
|
||||
generateError(res);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if (!view) {
|
||||
generateError(Result(TRI_ERROR_INTERNAL, "problem creating view"));
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
velocypack::Builder result;
|
||||
|
||||
result.openObject();
|
||||
result.add("result", velocypack::Slice::trueSlice());
|
||||
result.close();
|
||||
generateResult(rest::ResponseCode::OK, result.slice());
|
||||
} catch (basics::Exception const& ex) {
|
||||
generateError(Result(ex.code(), ex.message()));
|
||||
} catch (...) {
|
||||
generateError(Result(TRI_ERROR_INTERNAL, "problem creating view"));
|
||||
}
|
||||
|
||||
return; // done
|
||||
}
|
||||
auto res = LogicalView::create(view, _vocbase, slice); // must create() since view was drop()ed
|
||||
|
||||
auto view = _vocbase.lookupView(nameSlice.copyString());
|
||||
|
||||
if (view) {
|
||||
if (overwrite) {
|
||||
Result res = _vocbase.dropView(view->id(), /*dropSytem*/force);
|
||||
|
||||
if (res.fail()) {
|
||||
generateError(res);
|
||||
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
generateError(TRI_ERROR_ARANGO_DUPLICATE_NAME);
|
||||
if (!res.ok()) {
|
||||
generateError(res);
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
try {
|
||||
view = _vocbase.createView(slice);
|
||||
|
||||
if (view == nullptr) {
|
||||
generateError(rest::ResponseCode::SERVER_ERROR, TRI_ERROR_INTERNAL,
|
||||
"problem creating view");
|
||||
|
||||
return;
|
||||
}
|
||||
} catch (basics::Exception const& ex) {
|
||||
generateError(GeneralResponse::responseCode(ex.code()), ex.code(), ex.message());
|
||||
|
||||
return;
|
||||
} catch (...) {
|
||||
generateError(rest::ResponseCode::SERVER_ERROR, TRI_ERROR_INTERNAL,
|
||||
"problem creating view");
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
VPackBuilder result;
|
||||
|
|
|
@ -285,7 +285,7 @@ SECTION("test_defaults") {
|
|||
arangodb::iresearch::IResearchViewMetaState metaState;
|
||||
std::string error;
|
||||
|
||||
CHECK((11U == slice.length()));
|
||||
CHECK((14U == slice.length()));
|
||||
CHECK((slice.hasKey("globallyUniqueId") && slice.get("globallyUniqueId").isString() && false == slice.get("globallyUniqueId").copyString().empty()));
|
||||
CHECK(slice.get("name").copyString() == "testView");
|
||||
CHECK(slice.get("type").copyString() == arangodb::iresearch::DATA_SOURCE_TYPE.name());
|
||||
|
@ -315,7 +315,7 @@ SECTION("test_defaults") {
|
|||
std::string error;
|
||||
|
||||
CHECK((slice.isObject()));
|
||||
CHECK((7U == slice.length()));
|
||||
CHECK((10U == slice.length()));
|
||||
CHECK(slice.get("name").copyString() == "testView");
|
||||
CHECK(slice.get("type").copyString() == arangodb::iresearch::DATA_SOURCE_TYPE.name());
|
||||
CHECK((false == slice.hasKey("deleted")));
|
||||
|
@ -411,7 +411,7 @@ SECTION("test_defaults") {
|
|||
arangodb::iresearch::IResearchViewMeta meta;
|
||||
std::string error;
|
||||
CHECK((slice.isObject()));
|
||||
CHECK((7U == slice.length()));
|
||||
CHECK((10U == slice.length()));
|
||||
CHECK((slice.get("name").copyString() == "testView"));
|
||||
CHECK((slice.get("type").copyString() == arangodb::iresearch::DATA_SOURCE_TYPE.name()));
|
||||
CHECK((false == slice.hasKey("deleted")));
|
||||
|
@ -3297,7 +3297,7 @@ SECTION("test_update_overwrite") {
|
|||
std::string error;
|
||||
|
||||
CHECK(slice.isObject());
|
||||
CHECK((7U == slice.length()));
|
||||
CHECK((10U == slice.length()));
|
||||
CHECK(slice.get("name").copyString() == "testView");
|
||||
CHECK(slice.get("type").copyString() == arangodb::iresearch::DATA_SOURCE_TYPE.name());
|
||||
CHECK(slice.get("deleted").isNone()); // no system properties
|
||||
|
@ -3320,7 +3320,7 @@ SECTION("test_update_overwrite") {
|
|||
std::string error;
|
||||
|
||||
CHECK(slice.isObject());
|
||||
CHECK((11U == slice.length()));
|
||||
CHECK((14U == slice.length()));
|
||||
CHECK(slice.get("name").copyString() == "testView");
|
||||
CHECK(slice.get("type").copyString() == arangodb::iresearch::DATA_SOURCE_TYPE.name());
|
||||
CHECK((slice.hasKey("deleted") && slice.get("deleted").isBoolean() && false == slice.get("deleted").getBoolean())); // has system properties
|
||||
|
@ -3355,7 +3355,7 @@ SECTION("test_update_overwrite") {
|
|||
std::string error;
|
||||
|
||||
CHECK(slice.isObject());
|
||||
CHECK((7U == slice.length()));
|
||||
CHECK((10U == slice.length()));
|
||||
CHECK(slice.get("name").copyString() == "testView");
|
||||
CHECK(slice.get("type").copyString() == arangodb::iresearch::DATA_SOURCE_TYPE.name());
|
||||
CHECK(slice.get("deleted").isNone()); // no system properties
|
||||
|
@ -3378,7 +3378,7 @@ SECTION("test_update_overwrite") {
|
|||
std::string error;
|
||||
|
||||
CHECK(slice.isObject());
|
||||
CHECK((11U == slice.length()));
|
||||
CHECK((14U == slice.length()));
|
||||
CHECK(slice.get("name").copyString() == "testView");
|
||||
CHECK(slice.get("type").copyString() == arangodb::iresearch::DATA_SOURCE_TYPE.name());
|
||||
CHECK((slice.hasKey("deleted") && slice.get("deleted").isBoolean() && false == slice.get("deleted").getBoolean())); // has system properties
|
||||
|
@ -3417,7 +3417,7 @@ SECTION("test_update_overwrite") {
|
|||
std::string error;
|
||||
|
||||
CHECK((slice.isObject()));
|
||||
CHECK((7U == slice.length()));
|
||||
CHECK((10U == slice.length()));
|
||||
CHECK((slice.get("name").copyString() == "testView"));
|
||||
CHECK((slice.get("type").copyString() == arangodb::iresearch::DATA_SOURCE_TYPE.name()));
|
||||
CHECK((slice.get("deleted").isNone())); // no system properties
|
||||
|
@ -3440,7 +3440,7 @@ SECTION("test_update_overwrite") {
|
|||
std::string error;
|
||||
|
||||
CHECK((slice.isObject()));
|
||||
CHECK((11U == slice.length()));
|
||||
CHECK((14U == slice.length()));
|
||||
CHECK((slice.get("name").copyString() == "testView"));
|
||||
CHECK((slice.get("type").copyString() == arangodb::iresearch::DATA_SOURCE_TYPE.name()));
|
||||
CHECK((slice.hasKey("deleted") && slice.get("deleted").isBoolean() && false == slice.get("deleted").getBoolean())); // has system properties
|
||||
|
@ -3479,7 +3479,7 @@ SECTION("test_update_overwrite") {
|
|||
std::string error;
|
||||
|
||||
CHECK((slice.isObject()));
|
||||
CHECK((7U == slice.length()));
|
||||
CHECK((10U == slice.length()));
|
||||
CHECK((slice.get("name").copyString() == "testView"));
|
||||
CHECK((slice.get("type").copyString() == arangodb::iresearch::DATA_SOURCE_TYPE.name()));
|
||||
CHECK((slice.get("deleted").isNone())); // no system properties
|
||||
|
@ -3502,7 +3502,7 @@ SECTION("test_update_overwrite") {
|
|||
std::string error;
|
||||
|
||||
CHECK((slice.isObject()));
|
||||
CHECK((11U == slice.length()));
|
||||
CHECK((14U == slice.length()));
|
||||
CHECK((slice.get("name").copyString() == "testView"));
|
||||
CHECK((slice.get("type").copyString() == arangodb::iresearch::DATA_SOURCE_TYPE.name()));
|
||||
CHECK((slice.hasKey("deleted") && slice.get("deleted").isBoolean() && false == slice.get("deleted").getBoolean())); // has system properties
|
||||
|
@ -3545,7 +3545,7 @@ SECTION("test_update_overwrite") {
|
|||
std::string error;
|
||||
|
||||
CHECK((slice.isObject()));
|
||||
CHECK((7U == slice.length()));
|
||||
CHECK((10U == slice.length()));
|
||||
CHECK((slice.get("name").copyString() == "testView"));
|
||||
CHECK((slice.get("type").copyString() == arangodb::iresearch::DATA_SOURCE_TYPE.name()));
|
||||
CHECK((slice.get("deleted").isNone())); // no system properties
|
||||
|
@ -3568,7 +3568,7 @@ SECTION("test_update_overwrite") {
|
|||
std::string error;
|
||||
|
||||
CHECK((slice.isObject()));
|
||||
CHECK((11U == slice.length()));
|
||||
CHECK((14U == slice.length()));
|
||||
CHECK((slice.get("name").copyString() == "testView"));
|
||||
CHECK((slice.get("type").copyString() == arangodb::iresearch::DATA_SOURCE_TYPE.name()));
|
||||
CHECK((slice.hasKey("deleted") && slice.get("deleted").isBoolean() && false == slice.get("deleted").getBoolean())); // has system properties
|
||||
|
@ -3615,7 +3615,7 @@ SECTION("test_update_overwrite") {
|
|||
std::string error;
|
||||
|
||||
CHECK((slice.isObject()));
|
||||
CHECK((7U == slice.length()));
|
||||
CHECK((10U == slice.length()));
|
||||
CHECK((slice.get("name").copyString() == "testView"));
|
||||
CHECK((slice.get("type").copyString() == arangodb::iresearch::DATA_SOURCE_TYPE.name()));
|
||||
CHECK((slice.get("deleted").isNone())); // no system properties
|
||||
|
@ -3655,7 +3655,7 @@ SECTION("test_update_overwrite") {
|
|||
std::string error;
|
||||
|
||||
CHECK((slice.isObject()));
|
||||
CHECK((11U == slice.length()));
|
||||
CHECK((14U == slice.length()));
|
||||
CHECK((slice.get("name").copyString() == "testView"));
|
||||
CHECK((slice.get("type").copyString() == arangodb::iresearch::DATA_SOURCE_TYPE.name()));
|
||||
CHECK((slice.hasKey("deleted") && slice.get("deleted").isBoolean() && false == slice.get("deleted").getBoolean())); // has system properties
|
||||
|
@ -3693,7 +3693,7 @@ SECTION("test_update_overwrite") {
|
|||
std::string error;
|
||||
|
||||
CHECK((slice.isObject()));
|
||||
CHECK((7U == slice.length()));
|
||||
CHECK((10U == slice.length()));
|
||||
CHECK((slice.get("name").copyString() == "testView"));
|
||||
CHECK((slice.get("type").copyString() == arangodb::iresearch::DATA_SOURCE_TYPE.name()));
|
||||
CHECK((slice.get("deleted").isNone())); // no system properties
|
||||
|
@ -3716,7 +3716,7 @@ SECTION("test_update_overwrite") {
|
|||
std::string error;
|
||||
|
||||
CHECK((slice.isObject()));
|
||||
CHECK((11U == slice.length()));
|
||||
CHECK((14U == slice.length()));
|
||||
CHECK((slice.get("name").copyString() == "testView"));
|
||||
CHECK((slice.get("type").copyString() == arangodb::iresearch::DATA_SOURCE_TYPE.name()));
|
||||
CHECK((slice.hasKey("deleted") && slice.get("deleted").isBoolean() && false == slice.get("deleted").getBoolean())); // has system properties
|
||||
|
@ -3768,7 +3768,7 @@ SECTION("test_update_overwrite") {
|
|||
std::string error;
|
||||
|
||||
CHECK(slice.isObject());
|
||||
CHECK((7U == slice.length()));
|
||||
CHECK((10U == slice.length()));
|
||||
CHECK(slice.get("name").copyString() == "testView");
|
||||
CHECK(slice.get("type").copyString() == arangodb::iresearch::DATA_SOURCE_TYPE.name());
|
||||
CHECK(slice.get("deleted").isNone()); // no system properties
|
||||
|
@ -3808,7 +3808,7 @@ SECTION("test_update_overwrite") {
|
|||
std::string error;
|
||||
|
||||
CHECK(slice.isObject());
|
||||
CHECK((11U == slice.length()));
|
||||
CHECK((14U == slice.length()));
|
||||
CHECK(slice.get("name").copyString() == "testView");
|
||||
CHECK(slice.get("type").copyString() == arangodb::iresearch::DATA_SOURCE_TYPE.name());
|
||||
CHECK((slice.hasKey("deleted") && slice.get("deleted").isBoolean() && false == slice.get("deleted").getBoolean())); // has system properties
|
||||
|
@ -3848,7 +3848,7 @@ SECTION("test_update_overwrite") {
|
|||
std::string error;
|
||||
|
||||
CHECK(slice.isObject());
|
||||
CHECK((7U == slice.length()));
|
||||
CHECK((10U == slice.length()));
|
||||
CHECK(slice.get("name").copyString() == "testView");
|
||||
CHECK(slice.get("type").copyString() == arangodb::iresearch::DATA_SOURCE_TYPE.name());
|
||||
CHECK(slice.get("deleted").isNone()); // no system properties
|
||||
|
@ -3888,7 +3888,7 @@ SECTION("test_update_overwrite") {
|
|||
std::string error;
|
||||
|
||||
CHECK(slice.isObject());
|
||||
CHECK((11U == slice.length()));
|
||||
CHECK((14U == slice.length()));
|
||||
CHECK(slice.get("name").copyString() == "testView");
|
||||
CHECK(slice.get("type").copyString() == arangodb::iresearch::DATA_SOURCE_TYPE.name());
|
||||
CHECK((slice.hasKey("deleted") && slice.get("deleted").isBoolean() && false == slice.get("deleted").getBoolean())); // has system properties
|
||||
|
@ -3930,7 +3930,7 @@ SECTION("test_update_overwrite") {
|
|||
|
||||
auto slice = builder.slice();
|
||||
CHECK(slice.isObject());
|
||||
CHECK((7U == slice.length()));
|
||||
CHECK((10U == slice.length()));
|
||||
CHECK(slice.get("name").copyString() == "testView");
|
||||
CHECK(slice.get("type").copyString() == arangodb::iresearch::DATA_SOURCE_TYPE.name());
|
||||
CHECK(slice.get("deleted").isNone()); // no system properties
|
||||
|
@ -3952,7 +3952,7 @@ SECTION("test_update_overwrite") {
|
|||
|
||||
auto slice = builder.slice();
|
||||
CHECK(slice.isObject());
|
||||
CHECK((11U == slice.length()));
|
||||
CHECK((14U == slice.length()));
|
||||
CHECK(slice.get("name").copyString() == "testView");
|
||||
CHECK(slice.get("type").copyString() == arangodb::iresearch::DATA_SOURCE_TYPE.name());
|
||||
CHECK((slice.hasKey("deleted") && slice.get("deleted").isBoolean() && false == slice.get("deleted").getBoolean())); // has system properties
|
||||
|
@ -3978,7 +3978,7 @@ SECTION("test_update_overwrite") {
|
|||
builder.close();
|
||||
|
||||
auto slice = builder.slice();
|
||||
CHECK((7U == slice.length()));
|
||||
CHECK((10U == slice.length()));
|
||||
CHECK(slice.get("name").copyString() == "testView");
|
||||
CHECK(slice.get("type").copyString() == arangodb::iresearch::DATA_SOURCE_TYPE.name());
|
||||
CHECK(slice.get("deleted").isNone()); // no system properties
|
||||
|
@ -3999,7 +3999,7 @@ SECTION("test_update_overwrite") {
|
|||
builder.close();
|
||||
|
||||
auto slice = builder.slice();
|
||||
CHECK((11U == slice.length()));
|
||||
CHECK((14U == slice.length()));
|
||||
CHECK(slice.get("name").copyString() == "testView");
|
||||
CHECK(slice.get("type").copyString() == arangodb::iresearch::DATA_SOURCE_TYPE.name());
|
||||
CHECK((slice.hasKey("deleted") && slice.get("deleted").isBoolean() && false == slice.get("deleted").getBoolean())); // has system properties
|
||||
|
@ -4556,7 +4556,7 @@ SECTION("test_update_partial") {
|
|||
std::string error;
|
||||
|
||||
CHECK(slice.isObject());
|
||||
CHECK((7U == slice.length()));
|
||||
CHECK((10U == slice.length()));
|
||||
CHECK(slice.get("name").copyString() == "testView");
|
||||
CHECK(slice.get("type").copyString() == arangodb::iresearch::DATA_SOURCE_TYPE.name());
|
||||
CHECK(slice.get("deleted").isNone()); // no system properties
|
||||
|
@ -4579,7 +4579,7 @@ SECTION("test_update_partial") {
|
|||
std::string error;
|
||||
|
||||
CHECK(slice.isObject());
|
||||
CHECK((11U == slice.length()));
|
||||
CHECK((14U == slice.length()));
|
||||
CHECK(slice.get("name").copyString() == "testView");
|
||||
CHECK(slice.get("type").copyString() == arangodb::iresearch::DATA_SOURCE_TYPE.name());
|
||||
CHECK((slice.hasKey("deleted") && slice.get("deleted").isBoolean() && false == slice.get("deleted").getBoolean())); // has system properties
|
||||
|
@ -4617,7 +4617,7 @@ SECTION("test_update_partial") {
|
|||
std::string error;
|
||||
|
||||
CHECK((slice.isObject()));
|
||||
CHECK((7U == slice.length()));
|
||||
CHECK((10U == slice.length()));
|
||||
CHECK((slice.get("name").copyString() == "testView"));
|
||||
CHECK((slice.get("type").copyString() == arangodb::iresearch::DATA_SOURCE_TYPE.name()));
|
||||
CHECK((slice.get("deleted").isNone())); // no system properties
|
||||
|
@ -4640,7 +4640,7 @@ SECTION("test_update_partial") {
|
|||
std::string error;
|
||||
|
||||
CHECK((slice.isObject()));
|
||||
CHECK((11U == slice.length()));
|
||||
CHECK((14U == slice.length()));
|
||||
CHECK((slice.get("name").copyString() == "testView"));
|
||||
CHECK((slice.get("type").copyString() == arangodb::iresearch::DATA_SOURCE_TYPE.name()));
|
||||
CHECK((slice.hasKey("deleted") && slice.get("deleted").isBoolean() && false == slice.get("deleted").getBoolean())); // has system properties
|
||||
|
@ -4679,7 +4679,7 @@ SECTION("test_update_partial") {
|
|||
std::string error;
|
||||
|
||||
CHECK((slice.isObject()));
|
||||
CHECK((7U == slice.length()));
|
||||
CHECK((10U == slice.length()));
|
||||
CHECK((slice.get("name").copyString() == "testView"));
|
||||
CHECK((slice.get("type").copyString() == arangodb::iresearch::DATA_SOURCE_TYPE.name()));
|
||||
CHECK((slice.get("deleted").isNone())); // no system properties
|
||||
|
@ -4702,7 +4702,7 @@ SECTION("test_update_partial") {
|
|||
std::string error;
|
||||
|
||||
CHECK((slice.isObject()));
|
||||
CHECK((11U == slice.length()));
|
||||
CHECK((14U == slice.length()));
|
||||
CHECK((slice.get("name").copyString() == "testView"));
|
||||
CHECK((slice.get("type").copyString() == arangodb::iresearch::DATA_SOURCE_TYPE.name()));
|
||||
CHECK((slice.hasKey("deleted") && slice.get("deleted").isBoolean() && false == slice.get("deleted").getBoolean())); // has system properties
|
||||
|
@ -4745,7 +4745,7 @@ SECTION("test_update_partial") {
|
|||
std::string error;
|
||||
|
||||
CHECK((slice.isObject()));
|
||||
CHECK((7U == slice.length()));
|
||||
CHECK((10U == slice.length()));
|
||||
CHECK((slice.get("name").copyString() == "testView"));
|
||||
CHECK((slice.get("type").copyString() == arangodb::iresearch::DATA_SOURCE_TYPE.name()));
|
||||
CHECK((slice.get("deleted").isNone())); // no system properties
|
||||
|
@ -4768,7 +4768,7 @@ SECTION("test_update_partial") {
|
|||
std::string error;
|
||||
|
||||
CHECK((slice.isObject()));
|
||||
CHECK((11U == slice.length()));
|
||||
CHECK((14U == slice.length()));
|
||||
CHECK((slice.get("name").copyString() == "testView"));
|
||||
CHECK((slice.get("type").copyString() == arangodb::iresearch::DATA_SOURCE_TYPE.name()));
|
||||
CHECK((slice.hasKey("deleted") && slice.get("deleted").isBoolean() && false == slice.get("deleted").getBoolean())); // has system properties
|
||||
|
@ -4815,7 +4815,7 @@ SECTION("test_update_partial") {
|
|||
std::string error;
|
||||
|
||||
CHECK((slice.isObject()));
|
||||
CHECK((7U == slice.length()));
|
||||
CHECK((10U == slice.length()));
|
||||
CHECK((slice.get("name").copyString() == "testView"));
|
||||
CHECK((slice.get("type").copyString() == arangodb::iresearch::DATA_SOURCE_TYPE.name()));
|
||||
CHECK((slice.get("deleted").isNone())); // no system properties
|
||||
|
@ -4855,7 +4855,7 @@ SECTION("test_update_partial") {
|
|||
std::string error;
|
||||
|
||||
CHECK((slice.isObject()));
|
||||
CHECK((11U == slice.length()));
|
||||
CHECK((14U == slice.length()));
|
||||
CHECK((slice.get("name").copyString() == "testView"));
|
||||
CHECK((slice.get("type").copyString() == arangodb::iresearch::DATA_SOURCE_TYPE.name()));
|
||||
CHECK((slice.hasKey("deleted") && slice.get("deleted").isBoolean() && false == slice.get("deleted").getBoolean())); // has system properties
|
||||
|
@ -4896,7 +4896,7 @@ SECTION("test_update_partial") {
|
|||
std::string error;
|
||||
|
||||
CHECK((slice.isObject()));
|
||||
CHECK((7U == slice.length()));
|
||||
CHECK((10U == slice.length()));
|
||||
CHECK((slice.get("name").copyString() == "testView"));
|
||||
CHECK((slice.get("type").copyString() == arangodb::iresearch::DATA_SOURCE_TYPE.name()));
|
||||
CHECK((slice.get("deleted").isNone())); // no system properties
|
||||
|
@ -4936,7 +4936,7 @@ SECTION("test_update_partial") {
|
|||
std::string error;
|
||||
|
||||
CHECK((slice.isObject()));
|
||||
CHECK((11U == slice.length()));
|
||||
CHECK((14U == slice.length()));
|
||||
CHECK((slice.get("name").copyString() == "testView"));
|
||||
CHECK((slice.get("type").copyString() == arangodb::iresearch::DATA_SOURCE_TYPE.name()));
|
||||
CHECK((slice.hasKey("deleted") && slice.get("deleted").isBoolean() && false == slice.get("deleted").getBoolean())); // has system properties
|
||||
|
@ -4981,7 +4981,7 @@ SECTION("test_update_partial") {
|
|||
|
||||
auto slice = builder.slice();
|
||||
CHECK(slice.isObject());
|
||||
CHECK((7U == slice.length()));
|
||||
CHECK((10U == slice.length()));
|
||||
CHECK(slice.get("name").copyString() == "testView");
|
||||
CHECK(slice.get("type").copyString() == arangodb::iresearch::DATA_SOURCE_TYPE.name());
|
||||
CHECK(slice.get("deleted").isNone()); // no system properties
|
||||
|
@ -5003,7 +5003,7 @@ SECTION("test_update_partial") {
|
|||
|
||||
auto slice = builder.slice();
|
||||
CHECK(slice.isObject());
|
||||
CHECK((11U == slice.length()));
|
||||
CHECK((14U == slice.length()));
|
||||
CHECK(slice.get("name").copyString() == "testView");
|
||||
CHECK(slice.get("type").copyString() == arangodb::iresearch::DATA_SOURCE_TYPE.name());
|
||||
CHECK((slice.hasKey("deleted") && slice.get("deleted").isBoolean() && false == slice.get("deleted").getBoolean())); // has system properties
|
||||
|
@ -5051,7 +5051,7 @@ SECTION("test_update_partial") {
|
|||
std::string error;
|
||||
|
||||
CHECK(slice.isObject());
|
||||
CHECK((7U == slice.length()));
|
||||
CHECK((10U == slice.length()));
|
||||
CHECK(slice.get("name").copyString() == "testView");
|
||||
CHECK(slice.get("type").copyString() == arangodb::iresearch::DATA_SOURCE_TYPE.name());
|
||||
CHECK(slice.get("deleted").isNone()); // no system properties
|
||||
|
@ -5091,7 +5091,7 @@ SECTION("test_update_partial") {
|
|||
std::string error;
|
||||
|
||||
CHECK(slice.isObject());
|
||||
CHECK((11U == slice.length()));
|
||||
CHECK((14U == slice.length()));
|
||||
CHECK(slice.get("name").copyString() == "testView");
|
||||
CHECK(slice.get("type").copyString() == arangodb::iresearch::DATA_SOURCE_TYPE.name());
|
||||
CHECK((slice.hasKey("deleted") && slice.get("deleted").isBoolean() && false == slice.get("deleted").getBoolean())); // has system properties
|
||||
|
@ -5158,7 +5158,7 @@ SECTION("test_update_partial") {
|
|||
std::string error;
|
||||
|
||||
CHECK(slice.isObject());
|
||||
CHECK((7U == slice.length()));
|
||||
CHECK((10U == slice.length()));
|
||||
CHECK(slice.get("name").copyString() == "testView");
|
||||
CHECK(slice.get("type").copyString() == arangodb::iresearch::DATA_SOURCE_TYPE.name());
|
||||
CHECK(slice.get("deleted").isNone()); // no system properties
|
||||
|
@ -5198,7 +5198,7 @@ SECTION("test_update_partial") {
|
|||
std::string error;
|
||||
|
||||
CHECK(slice.isObject());
|
||||
CHECK((11U == slice.length()));
|
||||
CHECK((14U == slice.length()));
|
||||
CHECK(slice.get("name").copyString() == "testView");
|
||||
CHECK(slice.get("type").copyString() == arangodb::iresearch::DATA_SOURCE_TYPE.name());
|
||||
CHECK((slice.hasKey("deleted") && slice.get("deleted").isBoolean() && false == slice.get("deleted").getBoolean())); // has system properties
|
||||
|
@ -5241,7 +5241,7 @@ SECTION("test_update_partial") {
|
|||
std::string error;
|
||||
|
||||
CHECK(slice.isObject());
|
||||
CHECK((7U == slice.length()));
|
||||
CHECK((10U == slice.length()));
|
||||
CHECK(slice.get("name").copyString() == "testView");
|
||||
CHECK(slice.get("type").copyString() == arangodb::iresearch::DATA_SOURCE_TYPE.name());
|
||||
CHECK(slice.get("deleted").isNone()); // no system properties
|
||||
|
@ -5264,7 +5264,7 @@ SECTION("test_update_partial") {
|
|||
std::string error;
|
||||
|
||||
CHECK(slice.isObject());
|
||||
CHECK((11U == slice.length()));
|
||||
CHECK((14U == slice.length()));
|
||||
CHECK(slice.get("name").copyString() == "testView");
|
||||
CHECK(slice.get("type").copyString() == arangodb::iresearch::DATA_SOURCE_TYPE.name());
|
||||
CHECK((slice.hasKey("deleted") && slice.get("deleted").isBoolean() && false == slice.get("deleted").getBoolean())); // has system properties
|
||||
|
@ -5303,7 +5303,7 @@ SECTION("test_update_partial") {
|
|||
|
||||
auto slice = builder.slice();
|
||||
CHECK(slice.isObject());
|
||||
CHECK((7U == slice.length()));
|
||||
CHECK((10U == slice.length()));
|
||||
CHECK(slice.get("name").copyString() == "testView");
|
||||
CHECK(slice.get("type").copyString() == arangodb::iresearch::DATA_SOURCE_TYPE.name());
|
||||
CHECK(slice.get("deleted").isNone()); // no system properties
|
||||
|
@ -5334,7 +5334,7 @@ SECTION("test_update_partial") {
|
|||
|
||||
auto slice = builder.slice();
|
||||
CHECK(slice.isObject());
|
||||
CHECK((7U == slice.length()));
|
||||
CHECK((10U == slice.length()));
|
||||
CHECK(slice.get("name").copyString() == "testView");
|
||||
CHECK(slice.get("type").copyString() == arangodb::iresearch::DATA_SOURCE_TYPE.name());
|
||||
CHECK(slice.get("deleted").isNone()); // no system properties
|
||||
|
@ -5383,7 +5383,7 @@ SECTION("test_update_partial") {
|
|||
std::string error;
|
||||
|
||||
CHECK(slice.isObject());
|
||||
CHECK((7U == slice.length()));
|
||||
CHECK((10U == slice.length()));
|
||||
CHECK(slice.get("name").copyString() == "testView");
|
||||
CHECK(slice.get("type").copyString() == arangodb::iresearch::DATA_SOURCE_TYPE.name());
|
||||
CHECK(slice.get("deleted").isNone()); // no system properties
|
||||
|
@ -5406,7 +5406,7 @@ SECTION("test_update_partial") {
|
|||
std::string error;
|
||||
|
||||
CHECK(slice.isObject());
|
||||
CHECK((11U == slice.length()));
|
||||
CHECK((14U == slice.length()));
|
||||
CHECK(slice.get("name").copyString() == "testView");
|
||||
CHECK(slice.get("type").copyString() == arangodb::iresearch::DATA_SOURCE_TYPE.name());
|
||||
CHECK((slice.hasKey("deleted") && slice.get("deleted").isBoolean() && false == slice.get("deleted").getBoolean())); // has system properties
|
||||
|
@ -5440,7 +5440,7 @@ SECTION("test_update_partial") {
|
|||
std::string error;
|
||||
|
||||
CHECK(slice.isObject());
|
||||
CHECK((7U == slice.length()));
|
||||
CHECK((10U == slice.length()));
|
||||
CHECK(slice.get("name").copyString() == "testView");
|
||||
CHECK(slice.get("type").copyString() == arangodb::iresearch::DATA_SOURCE_TYPE.name());
|
||||
CHECK(slice.get("deleted").isNone()); // no system properties
|
||||
|
@ -5463,7 +5463,7 @@ SECTION("test_update_partial") {
|
|||
std::string error;
|
||||
|
||||
CHECK(slice.isObject());
|
||||
CHECK((11U == slice.length()));
|
||||
CHECK((14U == slice.length()));
|
||||
CHECK(slice.get("name").copyString() == "testView");
|
||||
CHECK(slice.get("type").copyString() == arangodb::iresearch::DATA_SOURCE_TYPE.name());
|
||||
CHECK((slice.hasKey("deleted") && slice.get("deleted").isBoolean() && false == slice.get("deleted").getBoolean())); // has system properties
|
||||
|
@ -5504,7 +5504,7 @@ SECTION("test_update_partial") {
|
|||
std::string error;
|
||||
|
||||
CHECK(slice.isObject());
|
||||
CHECK((7U == slice.length()));
|
||||
CHECK((10U == slice.length()));
|
||||
CHECK(slice.get("name").copyString() == "testView");
|
||||
CHECK(slice.get("type").copyString() == arangodb::iresearch::DATA_SOURCE_TYPE.name());
|
||||
CHECK(slice.get("deleted").isNone()); // no system properties
|
||||
|
@ -5527,7 +5527,7 @@ SECTION("test_update_partial") {
|
|||
std::string error;
|
||||
|
||||
CHECK(slice.isObject());
|
||||
CHECK((11U == slice.length()));
|
||||
CHECK((14U == slice.length()));
|
||||
CHECK(slice.get("name").copyString() == "testView");
|
||||
CHECK(slice.get("type").copyString() == arangodb::iresearch::DATA_SOURCE_TYPE.name());
|
||||
CHECK((slice.hasKey("deleted") && slice.get("deleted").isBoolean() && false == slice.get("deleted").getBoolean())); // has system properties
|
||||
|
@ -5570,7 +5570,7 @@ SECTION("test_update_partial") {
|
|||
std::string error;
|
||||
|
||||
CHECK(slice.isObject());
|
||||
CHECK((7U == slice.length()));
|
||||
CHECK((10U == slice.length()));
|
||||
CHECK(slice.get("name").copyString() == "testView");
|
||||
CHECK(slice.get("type").copyString() == arangodb::iresearch::DATA_SOURCE_TYPE.name());
|
||||
CHECK(slice.get("deleted").isNone()); // no system properties
|
||||
|
@ -5593,7 +5593,7 @@ SECTION("test_update_partial") {
|
|||
std::string error;
|
||||
|
||||
CHECK(slice.isObject());
|
||||
CHECK((11U == slice.length()));
|
||||
CHECK((14U == slice.length()));
|
||||
CHECK(slice.get("name").copyString() == "testView");
|
||||
CHECK(slice.get("type").copyString() == arangodb::iresearch::DATA_SOURCE_TYPE.name());
|
||||
CHECK((slice.hasKey("deleted") && slice.get("deleted").isBoolean() && false == slice.get("deleted").getBoolean())); // has system properties
|
||||
|
@ -5629,7 +5629,7 @@ SECTION("test_update_partial") {
|
|||
|
||||
auto slice = builder.slice();
|
||||
CHECK(slice.isObject());
|
||||
CHECK((7U == slice.length()));
|
||||
CHECK((10U == slice.length()));
|
||||
CHECK(slice.get("name").copyString() == "testView");
|
||||
CHECK(slice.get("type").copyString() == arangodb::iresearch::DATA_SOURCE_TYPE.name());
|
||||
CHECK(slice.get("deleted").isNone()); // no system properties
|
||||
|
@ -5647,7 +5647,7 @@ SECTION("test_update_partial") {
|
|||
|
||||
auto slice = builder.slice();
|
||||
CHECK(slice.isObject());
|
||||
CHECK((11U == slice.length()));
|
||||
CHECK((14U == slice.length()));
|
||||
CHECK(slice.get("name").copyString() == "testView");
|
||||
CHECK(slice.get("type").copyString() == arangodb::iresearch::DATA_SOURCE_TYPE.name());
|
||||
CHECK((slice.hasKey("deleted") && slice.get("deleted").isBoolean() && false == slice.get("deleted").getBoolean())); // has system properties
|
||||
|
@ -5681,7 +5681,7 @@ SECTION("test_update_partial") {
|
|||
|
||||
auto slice = builder.slice();
|
||||
CHECK(slice.isObject());
|
||||
CHECK((7U == slice.length()));
|
||||
CHECK((10U == slice.length()));
|
||||
CHECK(slice.get("name").copyString() == "testView");
|
||||
CHECK(slice.get("type").copyString() == arangodb::iresearch::DATA_SOURCE_TYPE.name());
|
||||
CHECK(slice.get("deleted").isNone()); // no system properties
|
||||
|
@ -5699,7 +5699,7 @@ SECTION("test_update_partial") {
|
|||
|
||||
auto slice = builder.slice();
|
||||
CHECK(slice.isObject());
|
||||
CHECK((11U == slice.length()));
|
||||
CHECK((14U == slice.length()));
|
||||
CHECK(slice.get("name").copyString() == "testView");
|
||||
CHECK(slice.get("type").copyString() == arangodb::iresearch::DATA_SOURCE_TYPE.name());
|
||||
CHECK((slice.hasKey("deleted") && slice.get("deleted").isBoolean() && false == slice.get("deleted").getBoolean())); // has system properties
|
||||
|
@ -5744,7 +5744,7 @@ SECTION("test_update_partial") {
|
|||
|
||||
auto slice = builder.slice();
|
||||
CHECK(slice.isObject());
|
||||
CHECK((7U == slice.length()));
|
||||
CHECK((10U == slice.length()));
|
||||
CHECK(slice.get("name").copyString() == "testView");
|
||||
CHECK(slice.get("type").copyString() == arangodb::iresearch::DATA_SOURCE_TYPE.name());
|
||||
CHECK(slice.get("deleted").isNone()); // no system properties
|
||||
|
@ -5766,7 +5766,7 @@ SECTION("test_update_partial") {
|
|||
|
||||
auto slice = builder.slice();
|
||||
CHECK(slice.isObject());
|
||||
CHECK((11U == slice.length()));
|
||||
CHECK((14U == slice.length()));
|
||||
CHECK(slice.get("name").copyString() == "testView");
|
||||
CHECK(slice.get("type").copyString() == arangodb::iresearch::DATA_SOURCE_TYPE.name());
|
||||
CHECK((slice.hasKey("deleted") && slice.get("deleted").isBoolean() && false == slice.get("deleted").getBoolean())); // has system properties
|
||||
|
@ -5793,7 +5793,7 @@ SECTION("test_update_partial") {
|
|||
|
||||
auto slice = builder.slice();
|
||||
CHECK(slice.isObject());
|
||||
CHECK((7U == slice.length()));
|
||||
CHECK((10U == slice.length()));
|
||||
CHECK(slice.get("name").copyString() == "testView");
|
||||
CHECK(slice.get("type").copyString() == arangodb::iresearch::DATA_SOURCE_TYPE.name());
|
||||
CHECK(slice.get("deleted").isNone()); // no system properties
|
||||
|
@ -5815,7 +5815,7 @@ SECTION("test_update_partial") {
|
|||
|
||||
auto slice = builder.slice();
|
||||
CHECK(slice.isObject());
|
||||
CHECK((11U == slice.length()));
|
||||
CHECK((14U == slice.length()));
|
||||
CHECK(slice.get("name").copyString() == "testView");
|
||||
CHECK(slice.get("type").copyString() == arangodb::iresearch::DATA_SOURCE_TYPE.name());
|
||||
CHECK((slice.hasKey("deleted") && slice.get("deleted").isBoolean() && false == slice.get("deleted").getBoolean())); // has system properties
|
||||
|
@ -6144,4 +6144,4 @@ SECTION("test_update_partial") {
|
|||
|
||||
// -----------------------------------------------------------------------------
|
||||
// --SECTION-- END-OF-FILE
|
||||
// -----------------------------------------------------------------------------
|
||||
// -----------------------------------------------------------------------------
|
|
@ -362,7 +362,7 @@ SECTION("test_defaults") {
|
|||
arangodb::iresearch::IResearchViewMeta meta;
|
||||
std::string error;
|
||||
|
||||
CHECK((10U == slice.length()));
|
||||
CHECK((13U == slice.length()));
|
||||
CHECK((slice.hasKey("globallyUniqueId") && slice.get("globallyUniqueId").isString() && false == slice.get("globallyUniqueId").copyString().empty()));
|
||||
CHECK((slice.get("id").copyString() == "1"));
|
||||
CHECK((slice.hasKey("isSystem") && slice.get("isSystem").isBoolean() && false == slice.get("isSystem").getBoolean()));
|
||||
|
@ -385,7 +385,7 @@ SECTION("test_defaults") {
|
|||
arangodb::iresearch::IResearchViewMeta meta;
|
||||
std::string error;
|
||||
|
||||
CHECK((7U == slice.length()));
|
||||
CHECK((10U == slice.length()));
|
||||
CHECK((slice.get("id").copyString() == "1"));
|
||||
CHECK((slice.get("name").copyString() == "testView"));
|
||||
CHECK((slice.get("type").copyString() == arangodb::iresearch::DATA_SOURCE_TYPE.name()));
|
||||
|
|
|
@ -889,7 +889,7 @@ SECTION("test_toVelocyPack") {
|
|||
wiew->toVelocyPack(builder, true, false);
|
||||
builder.close();
|
||||
auto slice = builder.slice();
|
||||
CHECK((6U == slice.length()));
|
||||
CHECK((9U == slice.length()));
|
||||
CHECK((slice.hasKey("id") && slice.get("id").isString() && std::string("2") == slice.get("id").copyString()));
|
||||
CHECK((slice.hasKey("name") && slice.get("name").isString() && std::string("testView") == slice.get("name").copyString()));
|
||||
CHECK((slice.hasKey("type") && slice.get("type").isString() && arangodb::iresearch::DATA_SOURCE_TYPE.name() == slice.get("type").copyString()));
|
||||
|
@ -1057,7 +1057,7 @@ SECTION("test_updateProperties") {
|
|||
|
||||
auto slice = builder.slice();
|
||||
CHECK((slice.isObject()));
|
||||
CHECK((6U == slice.length()));
|
||||
CHECK((9U == slice.length()));
|
||||
CHECK((slice.hasKey("cleanupIntervalStep") && slice.get("cleanupIntervalStep").isNumber<size_t>() && 24 == slice.get("cleanupIntervalStep").getNumber<size_t>()));
|
||||
CHECK((slice.hasKey("consolidationIntervalMsec") && slice.get("consolidationIntervalMsec").isNumber<size_t>() && 42 == slice.get("consolidationIntervalMsec").getNumber<size_t>()));
|
||||
CHECK((!slice.hasKey("links")));
|
||||
|
@ -1077,7 +1077,7 @@ SECTION("test_updateProperties") {
|
|||
|
||||
auto slice = builder.slice();
|
||||
CHECK((slice.isObject()));
|
||||
CHECK((6U == slice.length()));
|
||||
CHECK((9U == slice.length()));
|
||||
CHECK((slice.hasKey("cleanupIntervalStep") && slice.get("cleanupIntervalStep").isNumber<size_t>() && 24 == slice.get("cleanupIntervalStep").getNumber<size_t>()));
|
||||
CHECK((slice.hasKey("consolidationIntervalMsec") && slice.get("consolidationIntervalMsec").isNumber<size_t>() && 52 == slice.get("consolidationIntervalMsec").getNumber<size_t>()));
|
||||
CHECK((!slice.hasKey("links")));
|
||||
|
@ -1098,7 +1098,7 @@ SECTION("test_updateProperties") {
|
|||
|
||||
auto slice = builder.slice();
|
||||
CHECK((slice.isObject()));
|
||||
CHECK((7U == slice.length()));
|
||||
CHECK((10U == slice.length()));
|
||||
CHECK((slice.hasKey("cleanupIntervalStep") && slice.get("cleanupIntervalStep").isNumber<size_t>() && 24 == slice.get("cleanupIntervalStep").getNumber<size_t>()));
|
||||
CHECK((slice.hasKey("consolidationIntervalMsec") && slice.get("consolidationIntervalMsec").isNumber<size_t>() && 52 == slice.get("consolidationIntervalMsec").getNumber<size_t>()));
|
||||
CHECK((slice.hasKey("links") && slice.get("links").isObject() && 0 == slice.get("links").length()));
|
||||
|
@ -1114,7 +1114,7 @@ SECTION("test_updateProperties") {
|
|||
|
||||
auto slice = builder.slice();
|
||||
CHECK((slice.isObject()));
|
||||
CHECK((11U == slice.length()));
|
||||
CHECK((14U == slice.length()));
|
||||
CHECK((slice.hasKey("collections") && slice.get("collections").isArray() && 0 == slice.get("collections").length()));
|
||||
CHECK((slice.hasKey("cleanupIntervalStep") && slice.get("cleanupIntervalStep").isNumber<size_t>() && 24 == slice.get("cleanupIntervalStep").getNumber<size_t>()));
|
||||
CHECK((slice.hasKey("consolidationIntervalMsec") && slice.get("consolidationIntervalMsec").isNumber<size_t>() && 52 == slice.get("consolidationIntervalMsec").getNumber<size_t>()));
|
||||
|
@ -1147,7 +1147,7 @@ SECTION("test_updateProperties") {
|
|||
|
||||
auto slice = builder.slice();
|
||||
CHECK((slice.isObject()));
|
||||
CHECK((6U == slice.length()));
|
||||
CHECK((9U == slice.length()));
|
||||
CHECK((slice.hasKey("cleanupIntervalStep") && slice.get("cleanupIntervalStep").isNumber<size_t>() && 24 == slice.get("cleanupIntervalStep").getNumber<size_t>()));
|
||||
CHECK((slice.hasKey("consolidationIntervalMsec") && slice.get("consolidationIntervalMsec").isNumber<size_t>() && 42 == slice.get("consolidationIntervalMsec").getNumber<size_t>()));
|
||||
CHECK((!slice.hasKey("links")));
|
||||
|
@ -1167,7 +1167,7 @@ SECTION("test_updateProperties") {
|
|||
|
||||
auto slice = builder.slice();
|
||||
CHECK((slice.isObject()));
|
||||
CHECK((6U == slice.length()));
|
||||
CHECK((9U == slice.length()));
|
||||
CHECK((slice.hasKey("cleanupIntervalStep") && slice.get("cleanupIntervalStep").isNumber<size_t>() && 10 == slice.get("cleanupIntervalStep").getNumber<size_t>()));
|
||||
CHECK((slice.hasKey("consolidationIntervalMsec") && slice.get("consolidationIntervalMsec").isNumber<size_t>() && 52 == slice.get("consolidationIntervalMsec").getNumber<size_t>()));
|
||||
CHECK((!slice.hasKey("links")));
|
||||
|
@ -1188,7 +1188,7 @@ SECTION("test_updateProperties") {
|
|||
|
||||
auto slice = builder.slice();
|
||||
CHECK((slice.isObject()));
|
||||
CHECK((7U == slice.length()));
|
||||
CHECK((10U == slice.length()));
|
||||
CHECK((slice.hasKey("cleanupIntervalStep") && slice.get("cleanupIntervalStep").isNumber<size_t>() && 10 == slice.get("cleanupIntervalStep").getNumber<size_t>()));
|
||||
CHECK((slice.hasKey("consolidationIntervalMsec") && slice.get("consolidationIntervalMsec").isNumber<size_t>() && 52 == slice.get("consolidationIntervalMsec").getNumber<size_t>()));
|
||||
CHECK((slice.hasKey("links") && slice.get("links").isObject() && 0 == slice.get("links").length()));
|
||||
|
@ -1204,7 +1204,7 @@ SECTION("test_updateProperties") {
|
|||
|
||||
auto slice = builder.slice();
|
||||
CHECK((slice.isObject()));
|
||||
CHECK((11U == slice.length()));
|
||||
CHECK((14U == slice.length()));
|
||||
CHECK((slice.hasKey("collections") && slice.get("collections").isArray() && 0 == slice.get("collections").length()));
|
||||
CHECK((slice.hasKey("cleanupIntervalStep") && slice.get("cleanupIntervalStep").isNumber<size_t>() && 10 == slice.get("cleanupIntervalStep").getNumber<size_t>()));
|
||||
CHECK((slice.hasKey("consolidationIntervalMsec") && slice.get("consolidationIntervalMsec").isNumber<size_t>() && 52 == slice.get("consolidationIntervalMsec").getNumber<size_t>()));
|
||||
|
@ -1242,7 +1242,7 @@ SECTION("test_updateProperties") {
|
|||
|
||||
auto slice = builder.slice();
|
||||
CHECK((slice.isObject()));
|
||||
CHECK((6U == slice.length()));
|
||||
CHECK((9U == slice.length()));
|
||||
CHECK((slice.hasKey("cleanupIntervalStep") && slice.get("cleanupIntervalStep").isNumber<size_t>() && 24 == slice.get("cleanupIntervalStep").getNumber<size_t>()));
|
||||
CHECK((slice.hasKey("consolidationIntervalMsec") && slice.get("consolidationIntervalMsec").isNumber<size_t>() && 42 == slice.get("consolidationIntervalMsec").getNumber<size_t>()));
|
||||
CHECK((!slice.hasKey("links")));
|
||||
|
@ -1262,7 +1262,7 @@ SECTION("test_updateProperties") {
|
|||
|
||||
auto slice = builder.slice();
|
||||
CHECK((slice.isObject()));
|
||||
CHECK((6U == slice.length()));
|
||||
CHECK((9U == slice.length()));
|
||||
CHECK((slice.hasKey("cleanupIntervalStep") && slice.get("cleanupIntervalStep").isNumber<size_t>() && 24 == slice.get("cleanupIntervalStep").getNumber<size_t>()));
|
||||
CHECK((slice.hasKey("consolidationIntervalMsec") && slice.get("consolidationIntervalMsec").isNumber<size_t>() && 52 == slice.get("consolidationIntervalMsec").getNumber<size_t>()));
|
||||
CHECK((!slice.hasKey("links")));
|
||||
|
@ -1280,7 +1280,7 @@ SECTION("test_updateProperties") {
|
|||
|
||||
auto slice = builder.slice();
|
||||
CHECK((slice.isObject()));
|
||||
CHECK((7U == slice.length()));
|
||||
CHECK((10U == slice.length()));
|
||||
CHECK((slice.hasKey("cleanupIntervalStep") && slice.get("cleanupIntervalStep").isNumber<size_t>() && 24 == slice.get("cleanupIntervalStep").getNumber<size_t>()));
|
||||
CHECK((slice.hasKey("consolidationIntervalMsec") && slice.get("consolidationIntervalMsec").isNumber<size_t>() && 52 == slice.get("consolidationIntervalMsec").getNumber<size_t>()));
|
||||
CHECK((slice.hasKey("links") && slice.get("links").isObject() && 0 == slice.get("links").length()));
|
||||
|
@ -1296,7 +1296,7 @@ SECTION("test_updateProperties") {
|
|||
|
||||
auto slice = builder.slice();
|
||||
CHECK((slice.isObject()));
|
||||
CHECK((11U == slice.length()));
|
||||
CHECK((14U == slice.length()));
|
||||
CHECK((slice.hasKey("collections") && slice.get("collections").isArray() && 0 == slice.get("collections").length()));
|
||||
CHECK((slice.hasKey("cleanupIntervalStep") && slice.get("cleanupIntervalStep").isNumber<size_t>() && 24 == slice.get("cleanupIntervalStep").getNumber<size_t>()));
|
||||
CHECK((slice.hasKey("consolidationIntervalMsec") && slice.get("consolidationIntervalMsec").isNumber<size_t>() && 52 == slice.get("consolidationIntervalMsec").getNumber<size_t>()));
|
||||
|
@ -1337,7 +1337,7 @@ SECTION("test_updateProperties") {
|
|||
|
||||
auto slice = builder.slice();
|
||||
CHECK((slice.isObject()));
|
||||
CHECK((6U == slice.length()));
|
||||
CHECK((9U == slice.length()));
|
||||
CHECK((slice.hasKey("cleanupIntervalStep") && slice.get("cleanupIntervalStep").isNumber<size_t>() && 24 == slice.get("cleanupIntervalStep").getNumber<size_t>()));
|
||||
CHECK((slice.hasKey("consolidationIntervalMsec") && slice.get("consolidationIntervalMsec").isNumber<size_t>() && 42 == slice.get("consolidationIntervalMsec").getNumber<size_t>()));
|
||||
CHECK((!slice.hasKey("links")));
|
||||
|
@ -1357,7 +1357,7 @@ SECTION("test_updateProperties") {
|
|||
|
||||
auto slice = builder.slice();
|
||||
CHECK((slice.isObject()));
|
||||
CHECK((6U == slice.length()));
|
||||
CHECK((9U == slice.length()));
|
||||
CHECK((slice.hasKey("cleanupIntervalStep") && slice.get("cleanupIntervalStep").isNumber<size_t>() && 10 == slice.get("cleanupIntervalStep").getNumber<size_t>()));
|
||||
CHECK((slice.hasKey("consolidationIntervalMsec") && slice.get("consolidationIntervalMsec").isNumber<size_t>() && 52 == slice.get("consolidationIntervalMsec").getNumber<size_t>()));
|
||||
CHECK((!slice.hasKey("links")));
|
||||
|
@ -1375,7 +1375,7 @@ SECTION("test_updateProperties") {
|
|||
|
||||
auto slice = builder.slice();
|
||||
CHECK((slice.isObject()));
|
||||
CHECK((7U == slice.length()));
|
||||
CHECK((10U == slice.length()));
|
||||
CHECK((slice.hasKey("cleanupIntervalStep") && slice.get("cleanupIntervalStep").isNumber<size_t>() && 10 == slice.get("cleanupIntervalStep").getNumber<size_t>()));
|
||||
CHECK((slice.hasKey("consolidationIntervalMsec") && slice.get("consolidationIntervalMsec").isNumber<size_t>() && 52 == slice.get("consolidationIntervalMsec").getNumber<size_t>()));
|
||||
CHECK((slice.hasKey("links") && slice.get("links").isObject() && 0 == slice.get("links").length()));
|
||||
|
@ -1391,7 +1391,7 @@ SECTION("test_updateProperties") {
|
|||
|
||||
auto slice = builder.slice();
|
||||
CHECK((slice.isObject()));
|
||||
CHECK((11U == slice.length()));
|
||||
CHECK((14U == slice.length()));
|
||||
CHECK((slice.hasKey("collections") && slice.get("collections").isArray() && 0 == slice.get("collections").length()));
|
||||
CHECK((slice.hasKey("cleanupIntervalStep") && slice.get("cleanupIntervalStep").isNumber<size_t>() && 10 == slice.get("cleanupIntervalStep").getNumber<size_t>()));
|
||||
CHECK((slice.hasKey("consolidationIntervalMsec") && slice.get("consolidationIntervalMsec").isNumber<size_t>() && 52 == slice.get("consolidationIntervalMsec").getNumber<size_t>()));
|
||||
|
|
|
@ -74,6 +74,9 @@ SECTION("test_defaults") {
|
|||
CHECK((false == !meta._consolidationPolicy.policy()));
|
||||
CHECK((0.1f == meta._consolidationPolicy.properties().get("threshold").getNumber<float>()));
|
||||
CHECK(std::string("C") == irs::locale_utils::name(meta._locale));
|
||||
CHECK((0 == meta._segmentCountMax));
|
||||
CHECK((0 == meta._segmentDocsMax));
|
||||
CHECK((32*(size_t(1)<<20) == meta._segmentMemoryMax));
|
||||
}
|
||||
|
||||
SECTION("test_inheritDefaults") {
|
||||
|
@ -92,6 +95,9 @@ SECTION("test_inheritDefaults") {
|
|||
std::move(*arangodb::velocypack::Parser::fromJson("{ \"type\": \"bytes\", \"threshold\": 0.11 }"))
|
||||
);
|
||||
defaults._locale = irs::locale_utils::locale("C");
|
||||
defaults._segmentCountMax = 10;
|
||||
defaults._segmentDocsMax = 11;
|
||||
defaults._segmentMemoryMax = 12;
|
||||
|
||||
{
|
||||
auto json = arangodb::velocypack::Parser::fromJson("{}");
|
||||
|
@ -105,6 +111,9 @@ SECTION("test_inheritDefaults") {
|
|||
CHECK((true == !meta._consolidationPolicy.policy()));
|
||||
CHECK((.11f == meta._consolidationPolicy.properties().get("threshold").getNumber<float>()));
|
||||
CHECK(std::string("C") == irs::locale_utils::name(meta._locale));
|
||||
CHECK((10 == meta._segmentCountMax));
|
||||
CHECK((11 == meta._segmentDocsMax));
|
||||
CHECK((12 == meta._segmentMemoryMax));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -125,11 +134,13 @@ SECTION("test_readDefaults") {
|
|||
CHECK((false == !meta._consolidationPolicy.policy()));
|
||||
CHECK((0.1f == meta._consolidationPolicy.properties().get("threshold").getNumber<float>()));
|
||||
CHECK(std::string("C") == irs::locale_utils::name(meta._locale));
|
||||
CHECK((0 == meta._segmentCountMax));
|
||||
CHECK((0 == meta._segmentDocsMax));
|
||||
CHECK((32*(size_t(1)<<20) == meta._segmentMemoryMax));
|
||||
}
|
||||
}
|
||||
|
||||
SECTION("test_readCustomizedValues") {
|
||||
auto viewJson = arangodb::velocypack::Parser::fromJson("{ \"id\": 123, \"name\": \"testView\", \"type\": \"testType\" }");
|
||||
std::unordered_set<TRI_voc_cid_t> expectedCollections = { 42 };
|
||||
arangodb::iresearch::IResearchViewMeta meta;
|
||||
arangodb::iresearch::IResearchViewMetaState metaState;
|
||||
|
@ -212,7 +223,10 @@ SECTION("test_readCustomizedValues") {
|
|||
\"consolidationIntervalMsec\": 456, \
|
||||
\"cleanupIntervalStep\": 654, \
|
||||
\"consolidationPolicy\": { \"type\": \"bytes\", \"threshold\": 0.11 }, \
|
||||
\"locale\": \"ru_RU.KOI8-R\" \
|
||||
\"locale\": \"ru_RU.KOI8-R\", \
|
||||
\"segmentCountMax\": 10, \
|
||||
\"segmentDocsMax\": 11, \
|
||||
\"segmentMemoryMax\": 12 \
|
||||
}");
|
||||
CHECK(true == meta.init(json->slice(), errorField));
|
||||
CHECK((true == metaState.init(json->slice(), errorField)));
|
||||
|
@ -230,6 +244,9 @@ SECTION("test_readCustomizedValues") {
|
|||
CHECK((false == !meta._consolidationPolicy.policy()));
|
||||
CHECK((.11f == meta._consolidationPolicy.properties().get("threshold").getNumber<float>()));
|
||||
CHECK(std::string("C") == iresearch::locale_utils::name(meta._locale));
|
||||
CHECK((10 == meta._segmentCountMax));
|
||||
CHECK((11 == meta._segmentDocsMax));
|
||||
CHECK((12 == meta._segmentMemoryMax));
|
||||
}
|
||||
|
||||
SECTION("test_writeDefaults") {
|
||||
|
@ -246,7 +263,7 @@ SECTION("test_writeDefaults") {
|
|||
|
||||
auto slice = builder.slice();
|
||||
|
||||
CHECK((4U == slice.length()));
|
||||
CHECK((7U == slice.length()));
|
||||
tmpSlice = slice.get("collections");
|
||||
CHECK((true == tmpSlice.isArray() && 0 == tmpSlice.length()));
|
||||
tmpSlice = slice.get("cleanupIntervalStep");
|
||||
|
@ -259,6 +276,12 @@ SECTION("test_writeDefaults") {
|
|||
CHECK((tmpSlice2.isNumber<float>() && .1f == tmpSlice2.getNumber<float>()));
|
||||
tmpSlice2 = tmpSlice.get("type");
|
||||
CHECK((tmpSlice2.isString() && std::string("bytes_accum") == tmpSlice2.copyString()));
|
||||
tmpSlice = slice.get("segmentCountMax");
|
||||
CHECK((true == tmpSlice.isNumber<size_t>() && 0 == tmpSlice.getNumber<size_t>()));
|
||||
tmpSlice = slice.get("segmentDocsMax");
|
||||
CHECK((true == tmpSlice.isNumber<size_t>() && 0 == tmpSlice.getNumber<size_t>()));
|
||||
tmpSlice = slice.get("segmentMemoryMax");
|
||||
CHECK((true == tmpSlice.isNumber<size_t>() && 32*(size_t(1)<<20) == tmpSlice.getNumber<size_t>()));
|
||||
}
|
||||
|
||||
SECTION("test_writeCustomizedValues") {
|
||||
|
@ -304,6 +327,9 @@ SECTION("test_writeCustomizedValues") {
|
|||
std::move(*arangodb::velocypack::Parser::fromJson("{ \"type\": \"bytes\", \"threshold\": 0.11 }"))
|
||||
);
|
||||
meta._locale = iresearch::locale_utils::locale("en_UK.UTF-8");
|
||||
meta._segmentCountMax = 10;
|
||||
meta._segmentDocsMax = 11;
|
||||
meta._segmentMemoryMax = 12;
|
||||
|
||||
std::unordered_set<TRI_voc_cid_t> expectedCollections = { 42, 52, 62 };
|
||||
arangodb::velocypack::Builder builder;
|
||||
|
@ -317,7 +343,7 @@ SECTION("test_writeCustomizedValues") {
|
|||
|
||||
auto slice = builder.slice();
|
||||
|
||||
CHECK((4U == slice.length()));
|
||||
CHECK((7U == slice.length()));
|
||||
tmpSlice = slice.get("collections");
|
||||
CHECK((true == tmpSlice.isArray() && 3 == tmpSlice.length()));
|
||||
|
||||
|
@ -337,6 +363,12 @@ SECTION("test_writeCustomizedValues") {
|
|||
CHECK((tmpSlice2.isNumber<float>() && .11f == tmpSlice2.getNumber<float>()));
|
||||
tmpSlice2 = tmpSlice.get("type");
|
||||
CHECK((tmpSlice2.isString() && std::string("bytes") == tmpSlice2.copyString()));
|
||||
tmpSlice = slice.get("segmentCountMax");
|
||||
CHECK((true == tmpSlice.isNumber<size_t>() && 10 == tmpSlice.getNumber<size_t>()));
|
||||
tmpSlice = slice.get("segmentDocsMax");
|
||||
CHECK((true == tmpSlice.isNumber<size_t>() && 11 == tmpSlice.getNumber<size_t>()));
|
||||
tmpSlice = slice.get("segmentMemoryMax");
|
||||
CHECK((true == tmpSlice.isNumber<size_t>() && 12 == tmpSlice.getNumber<size_t>()));
|
||||
}
|
||||
|
||||
SECTION("test_readMaskAll") {
|
||||
|
@ -352,7 +384,10 @@ SECTION("test_readMaskAll") {
|
|||
\"consolidationIntervalMsec\": 654, \
|
||||
\"cleanupIntervalStep\": 456, \
|
||||
\"consolidationPolicy\": { \"type\": \"bytes\", \"threshold\": 0.1 }, \
|
||||
\"locale\": \"ru_RU.KOI8-R\" \
|
||||
\"locale\": \"ru_RU.KOI8-R\", \
|
||||
\"segmentCountMax\": 10, \
|
||||
\"segmentDocsMax\": 11, \
|
||||
\"segmentMemoryMax\": 12 \
|
||||
}");
|
||||
CHECK(true == meta.init(json->slice(), errorField, arangodb::iresearch::IResearchViewMeta::DEFAULT(), &mask));
|
||||
CHECK((true == metaState.init(json->slice(), errorField, arangodb::iresearch::IResearchViewMetaState::DEFAULT(), &maskState)));
|
||||
|
@ -361,6 +396,9 @@ SECTION("test_readMaskAll") {
|
|||
CHECK(true == mask._cleanupIntervalStep);
|
||||
CHECK((true == mask._consolidationPolicy));
|
||||
CHECK((false == mask._locale));
|
||||
CHECK((true == mask._segmentCountMax));
|
||||
CHECK((true == mask._segmentDocsMax));
|
||||
CHECK((true == mask._segmentMemoryMax));
|
||||
}
|
||||
|
||||
SECTION("test_readMaskNone") {
|
||||
|
@ -379,6 +417,9 @@ SECTION("test_readMaskNone") {
|
|||
CHECK(false == mask._cleanupIntervalStep);
|
||||
CHECK((false == mask._consolidationPolicy));
|
||||
CHECK(false == mask._locale);
|
||||
CHECK((false == mask._segmentCountMax));
|
||||
CHECK((false == mask._segmentDocsMax));
|
||||
CHECK((false == mask._segmentMemoryMax));
|
||||
}
|
||||
|
||||
SECTION("test_writeMaskAll") {
|
||||
|
@ -396,12 +437,15 @@ SECTION("test_writeMaskAll") {
|
|||
|
||||
auto slice = builder.slice();
|
||||
|
||||
CHECK((4U == slice.length()));
|
||||
CHECK((7U == slice.length()));
|
||||
CHECK(true == slice.hasKey("collections"));
|
||||
CHECK(true == slice.hasKey("cleanupIntervalStep"));
|
||||
CHECK(true == slice.hasKey("consolidationIntervalMsec"));
|
||||
CHECK(true == slice.hasKey("consolidationPolicy"));
|
||||
CHECK((false == slice.hasKey("locale")));
|
||||
CHECK((true == slice.hasKey("segmentCountMax")));
|
||||
CHECK((true == slice.hasKey("segmentDocsMax")));
|
||||
CHECK((true == slice.hasKey("segmentMemoryMax")));
|
||||
}
|
||||
|
||||
SECTION("test_writeMaskNone") {
|
||||
|
|
Loading…
Reference in New Issue