summaryrefslogtreecommitdiffstats
path: root/searchlib
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2016-09-02 21:45:34 +0000
committerHenning Baldersheim <balder@yahoo-inc.com>2016-09-02 21:51:22 +0000
commit180471481f346e60275e8fe25f6b14e54568ea0c (patch)
treee040b05fa79e086b8b1a1890d4d912faccdba00c /searchlib
parent0f06fd575963a4f786842dea30180b95a7272646 (diff)
Wire the Grow strategy all the way.
Diffstat (limited to 'searchlib')
-rw-r--r--searchlib/src/tests/queryeval/queryeval.cpp2
-rw-r--r--searchlib/src/vespa/searchlib/attribute/createsinglestd.cpp6
-rw-r--r--searchlib/src/vespa/searchlib/attribute/singlesmallnumericattribute.cpp25
-rw-r--r--searchlib/src/vespa/searchlib/attribute/singlesmallnumericattribute.h14
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);
};
}