diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2016-09-02 21:45:34 +0000 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2016-09-02 21:51:22 +0000 |
commit | 180471481f346e60275e8fe25f6b14e54568ea0c (patch) | |
tree | e040b05fa79e086b8b1a1890d4d912faccdba00c /searchlib | |
parent | 0f06fd575963a4f786842dea30180b95a7272646 (diff) |
Wire the Grow strategy all the way.
Diffstat (limited to 'searchlib')
4 files changed, 28 insertions, 19 deletions
diff --git a/searchlib/src/tests/queryeval/queryeval.cpp b/searchlib/src/tests/queryeval/queryeval.cpp index 3a2070a1fd8..fe4ad7817d6 100644 --- a/searchlib/src/tests/queryeval/queryeval.cpp +++ b/searchlib/src/tests/queryeval/queryeval.cpp @@ -323,7 +323,7 @@ class DummySingleValueBitNumericAttributeBlueprint : public SimpleLeafBlueprint public: DummySingleValueBitNumericAttributeBlueprint(const SimpleResult & result) : SimpleLeafBlueprint(FieldSpecBaseList()), - _a("a"), + _a("a", search::GrowStrategy()), _sc(), _tfmd() { diff --git a/searchlib/src/vespa/searchlib/attribute/createsinglestd.cpp b/searchlib/src/vespa/searchlib/attribute/createsinglestd.cpp index 3d4ebaabc92..e33b402d050 100644 --- a/searchlib/src/vespa/searchlib/attribute/createsinglestd.cpp +++ b/searchlib/src/vespa/searchlib/attribute/createsinglestd.cpp @@ -24,13 +24,13 @@ AttributeFactory::createSingleStd(const vespalib::string & baseFileName, const C AttributeVector::SP ret; switch(info.basicType().type()) { case BasicType::UINT1: - ret.reset(new SingleValueBitNumericAttribute(baseFileName)); + ret.reset(new SingleValueBitNumericAttribute(baseFileName, info.getGrowStrategy())); break; case BasicType::UINT2: - ret.reset(new SingleValueSemiNibbleNumericAttribute(baseFileName)); + ret.reset(new SingleValueSemiNibbleNumericAttribute(baseFileName, info.getGrowStrategy())); break; case BasicType::UINT4: - ret.reset(new SingleValueNibbleNumericAttribute(baseFileName)); + ret.reset(new SingleValueNibbleNumericAttribute(baseFileName, info.getGrowStrategy())); break; case BasicType::INT8: ret.reset(new SingleValueNumericAttribute<IntegerAttributeTemplate<int8_t> >(baseFileName, info)); diff --git a/searchlib/src/vespa/searchlib/attribute/singlesmallnumericattribute.cpp b/searchlib/src/vespa/searchlib/attribute/singlesmallnumericattribute.cpp index a855adfdbf9..ef15b2b5396 100644 --- a/searchlib/src/vespa/searchlib/attribute/singlesmallnumericattribute.cpp +++ b/searchlib/src/vespa/searchlib/attribute/singlesmallnumericattribute.cpp @@ -200,13 +200,26 @@ log2bits<uint32_t>(void) return 0x05u; } +using search::attribute::Config; +using search::attribute::BasicType; +using search::attribute::CollectionType; +using search::GrowStrategy; + +Config +createConfig(BasicType bt, CollectionType ct) { + return Config(bt, ct); +} +Config +createConfig(BasicType bt, CollectionType ct, const GrowStrategy & grow) { + return createConfig(bt, ct).setGrowStrategy(grow); } +} SingleValueBitNumericAttribute:: -SingleValueBitNumericAttribute(const vespalib::string &baseFileName) +SingleValueBitNumericAttribute(const vespalib::string &baseFileName, const GrowStrategy & grow) : SingleValueSmallNumericAttribute(baseFileName, - Config(BasicType::UINT1, CollectionType::SINGLE), + createConfig(BasicType::UINT1, CollectionType::SINGLE, grow), 0x01u /* valueMask */, 0x00u /* valueShiftShift */, 8 * sizeof(Word) - 1 /* valueShiftMask */, @@ -216,9 +229,9 @@ SingleValueBitNumericAttribute(const vespalib::string &baseFileName) SingleValueSemiNibbleNumericAttribute:: -SingleValueSemiNibbleNumericAttribute(const vespalib::string &baseFileName) +SingleValueSemiNibbleNumericAttribute(const vespalib::string &baseFileName, const search::GrowStrategy & grow) : SingleValueSmallNumericAttribute(baseFileName, - Config(BasicType::UINT2, CollectionType::SINGLE), + createConfig(BasicType::UINT2, CollectionType::SINGLE, grow), 0x03u /* valueMask */, 0x01u /* valueShiftShift */, 4 * sizeof(Word) - 1 /* valueShiftMask */, @@ -228,9 +241,9 @@ SingleValueSemiNibbleNumericAttribute(const vespalib::string &baseFileName) SingleValueNibbleNumericAttribute:: -SingleValueNibbleNumericAttribute(const vespalib::string &baseFileName) +SingleValueNibbleNumericAttribute(const vespalib::string &baseFileName, const search::GrowStrategy & grow) : SingleValueSmallNumericAttribute(baseFileName, - Config(BasicType::UINT1, CollectionType::SINGLE), + createConfig(BasicType::UINT1, CollectionType::SINGLE, grow), 0x0fu /* valueMask */, 0x02u /* valueShiftShift */, 2 * sizeof(Word) - 1 /* valueShiftMask */, diff --git a/searchlib/src/vespa/searchlib/attribute/singlesmallnumericattribute.h b/searchlib/src/vespa/searchlib/attribute/singlesmallnumericattribute.h index 548f612a6f6..bba758e77ff 100644 --- a/searchlib/src/vespa/searchlib/attribute/singlesmallnumericattribute.h +++ b/searchlib/src/vespa/searchlib/attribute/singlesmallnumericattribute.h @@ -289,24 +289,20 @@ public: class SingleValueBitNumericAttribute : public SingleValueSmallNumericAttribute { public: - SingleValueBitNumericAttribute(const vespalib::string & baseFileName); + SingleValueBitNumericAttribute(const vespalib::string & baseFileName, const search::GrowStrategy & grow); }; -class SingleValueSemiNibbleNumericAttribute : - public SingleValueSmallNumericAttribute +class SingleValueSemiNibbleNumericAttribute : public SingleValueSmallNumericAttribute { public: - SingleValueSemiNibbleNumericAttribute(const vespalib::string & - baseFileName); + SingleValueSemiNibbleNumericAttribute(const vespalib::string & baseFileName, const search::GrowStrategy & grow); }; -class SingleValueNibbleNumericAttribute : - public SingleValueSmallNumericAttribute +class SingleValueNibbleNumericAttribute : public SingleValueSmallNumericAttribute { public: - SingleValueNibbleNumericAttribute(const vespalib::string & - baseFileName); + SingleValueNibbleNumericAttribute(const vespalib::string & baseFileName, const search::GrowStrategy & grow); }; } |