summaryrefslogtreecommitdiffstats
path: root/searchlib
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2016-10-13 13:58:00 +0000
committerHenning Baldersheim <balder@yahoo-inc.com>2016-10-14 14:17:15 +0000
commitede1a74a403ba8d5624ff23330d05c7be65b6956 (patch)
tree4d827200dd465d6c206f0e08005d07460720b536 /searchlib
parentf3a1de486ad809a3883e5a957faeb46523aee790 (diff)
Only one version of QUERYX
Diffstat (limited to 'searchlib')
-rw-r--r--searchlib/src/vespa/searchlib/common/packets.cpp43
-rw-r--r--searchlib/src/vespa/searchlib/common/packets.h8
-rw-r--r--searchlib/src/vespa/searchlib/common/transport.h31
3 files changed, 10 insertions, 72 deletions
diff --git a/searchlib/src/vespa/searchlib/common/packets.cpp b/searchlib/src/vespa/searchlib/common/packets.cpp
index f8b2768794f..bce0b16cd46 100644
--- a/searchlib/src/vespa/searchlib/common/packets.cpp
+++ b/searchlib/src/vespa/searchlib/common/packets.cpp
@@ -46,7 +46,6 @@ FS4PersistentPacketStreamer::HasChannelID(uint32_t pcode)
case search::fs4transport::PCODE_DOCSUM:
case search::fs4transport::PCODE_MLD_QUERYRESULT:
case search::fs4transport::PCODE_MLD_GETDOCSUMS:
- case search::fs4transport::PCODE_PARSEDQUERY2:
case search::fs4transport::PCODE_QUERYRESULTX:
case search::fs4transport::PCODE_QUERYX:
case search::fs4transport::PCODE_GETDOCSUMSX:
@@ -1367,9 +1366,8 @@ FS4Packet_QUERYRESULTX::toString(uint32_t indent) const
//============================================================
-FS4Packet_QUERYX::FS4Packet_QUERYX(uint32_t pcode)
+FS4Packet_QUERYX::FS4Packet_QUERYX()
: FS4Packet(),
- _pcode(pcode),
_timeout(0),
_features(0),
_offset(0),
@@ -1385,7 +1383,6 @@ FS4Packet_QUERYX::FS4Packet_QUERYX(uint32_t pcode)
_numStackItems(0),
_stackDump()
{
- UpdateCompatFeatures();
}
@@ -1393,33 +1390,13 @@ FS4Packet_QUERYX::~FS4Packet_QUERYX()
{
}
-
-void
-FS4Packet_QUERYX::UpdateCompatPCODE()
-{
- if (_features == search::fs4transport::QF_PARSEDQUERY2_MASK)
- _pcode = search::fs4transport::PCODE_PARSEDQUERY2;
- else
- _pcode = search::fs4transport::PCODE_QUERYX;
-}
-
-
-void
-FS4Packet_QUERYX::UpdateCompatFeatures()
-{
- if (_pcode == search::fs4transport::PCODE_PARSEDQUERY2)
- _features = search::fs4transport::QF_PARSEDQUERY2_MASK;
-}
-
-
uint32_t
FS4Packet_QUERYX::GetLength()
{
uint32_t plen = 2 * sizeof(uint32_t);
plen += FNET_DataBuffer::getCompressedPositiveLength(_offset);
plen += FNET_DataBuffer::getCompressedPositiveLength(_maxhits);
- if (_pcode == search::fs4transport::PCODE_QUERYX)
- plen += sizeof(uint32_t);
+ plen += sizeof(uint32_t);
if ((_features & search::fs4transport::QF_PARSEDQUERY) != 0) {
plen += sizeof(uint32_t)*2;
@@ -1463,8 +1440,7 @@ FS4Packet_QUERYX::GetLength()
void
FS4Packet_QUERYX::Encode(FNET_DataBuffer *dst)
{
- if (_pcode == search::fs4transport::PCODE_QUERYX)
- dst->WriteInt32Fast(_features);
+ dst->WriteInt32Fast(_features);
dst->writeCompressedPositive(_offset);
dst->writeCompressedPositive(_maxhits);
@@ -1575,9 +1551,7 @@ FS4Packet_QUERYX::getTimeout() const
bool
FS4Packet_QUERYX::Decode(FNET_DataBuffer *src, uint32_t len)
{
- if (_pcode == search::fs4transport::PCODE_QUERYX) {
- _features = readUInt32(*src, len, "features");
- }
+ _features = readUInt32(*src, len, "features");
if (((_features & ~search::fs4transport::FNET_QF_SUPPORTED_MASK) != 0)) {
throwUnsupportedFeatures(_features, search::fs4transport::FNET_QF_SUPPORTED_MASK);
@@ -1663,8 +1637,7 @@ FS4Packet_QUERYX::Decode(FNET_DataBuffer *src, uint32_t len)
throwNotEnoughData(*src, len, 0, "eof");
}
- SetRealPCODE();
- return true; // OK
+ return true;
}
@@ -1673,7 +1646,6 @@ FS4Packet_QUERYX::toString(uint32_t indent) const
{
vespalib::string s;
s += make_string("%*sFS4Packet_QUERYX {\n", indent, "");
- s += make_string("%*s pcode : %d\n", indent, "", _pcode);
s += make_string("%*s features : 0x%x\n", indent, "", _features);
s += make_string("%*s offset : %d\n", indent, "", _offset);
s += make_string("%*s maxhits : %d\n", indent, "", _maxhits);
@@ -1736,7 +1708,6 @@ FS4Packet_GETDOCSUMSX::FS4Packet_GETDOCSUMSX(uint32_t pcode)
_docid(NULL),
_docidCnt(0)
{
- UpdateCompatFeatures();
}
@@ -2075,10 +2046,6 @@ FS4PacketFactory::CreateFS4Packet(uint32_t pcode)
case search::fs4transport::PCODE_MLD_MONITORRESULT:
return new FS4Packet_MONITORRESULTX(search::fs4transport::
PCODE_MLD_MONITORRESULT);
- case search::fs4transport::PCODE_CLEARCACHES:
- return new FS4Packet_CLEARCACHES;
- case search::fs4transport::PCODE_PARSEDQUERY2:
- return new FS4Packet_QUERYX(search::fs4transport::PCODE_PARSEDQUERY2);
case search::fs4transport::PCODE_QUERYRESULTX:
return new FS4Packet_QUERYRESULTX;
case search::fs4transport::PCODE_QUERYX:
diff --git a/searchlib/src/vespa/searchlib/common/packets.h b/searchlib/src/vespa/searchlib/common/packets.h
index 9497624ede4..ea50b034241 100644
--- a/searchlib/src/vespa/searchlib/common/packets.h
+++ b/searchlib/src/vespa/searchlib/common/packets.h
@@ -448,7 +448,6 @@ private:
FS4Packet_QUERYX(const FS4Packet_QUERYX &);
FS4Packet_QUERYX& operator=(const FS4Packet_QUERYX &);
- uint32_t _pcode;
uint32_t _timeout;
public:
@@ -477,12 +476,9 @@ public:
void setTimeout(const fastos::TimeStamp & timeout);
fastos::TimeStamp getTimeout() const;
- explicit FS4Packet_QUERYX(uint32_t pcode = PCODE_QUERYX);
+ explicit FS4Packet_QUERYX();
~FS4Packet_QUERYX();
- void UpdateCompatPCODE();
- void UpdateCompatFeatures();
- void SetRealPCODE() { _pcode = PCODE_QUERYX; }
- uint32_t GetPCODE() override { return _pcode; }
+ uint32_t GetPCODE() override { return PCODE_QUERYX; }
uint32_t GetLength() override;
void Encode(FNET_DataBuffer *dst) override;
bool Decode(FNET_DataBuffer *src, uint32_t len) override;
diff --git a/searchlib/src/vespa/searchlib/common/transport.h b/searchlib/src/vespa/searchlib/common/transport.h
index bdbc4c23f10..7b13729db22 100644
--- a/searchlib/src/vespa/searchlib/common/transport.h
+++ b/searchlib/src/vespa/searchlib/common/transport.h
@@ -72,10 +72,7 @@ enum queryresult_features {
* 'featureflags'. Each bit in that field denotes a separate feature
* that may be present in the query packet or not. The comment
* describing the packet format indicates what data fields depend on
- * what features. Note that after removing the query id and the
- * feature flags from a PCODE_QUERYX packet it is binary compatible
- * with the PCODE_PARSEDQUERY2 packets
- * given the correct set of features. The features present in the
+ * what features. The features present in the
* 'old' query packets are defined in this enum along with the Query
* Features themselves. The values called
* QF_SUPPORTED_[FSEARCH/FDISPATCH]_MASK denotes which features are
@@ -92,9 +89,7 @@ enum query_features {
QF_PROPERTIES = 0x00100000,
QF_WARMUP = 0x00200000, // Deprecated, do not use!
QF_GROUPSPEC = 0x00400000,
- QF_SESSIONID = 0x00800000,
-
- QF_PARSEDQUERY2_MASK = (QF_PARSEDQUERY | QF_RANKP)
+ QF_SESSIONID = 0x00800000
};
@@ -230,27 +225,7 @@ enum packetcode {
*/
PCODE_CLEARCACHES_NOTUSED = 211,
PCODE_QUERY2_NOTUSED = 212,
- PCODE_PARSEDQUERY2 = 213, /* ..fdispatch -> ..fsearch. PacketData:
- *0 {uint32_t queryId,} - only in new format!
- *1 ..query::querytypes searchType, - all/any/exact
- *2 uint32_t offset,
- *3 uint32_t maxhits,
- *4 uint32_t qflags, (including usehardware)
- *5 uint32_t rankprofile, - enum
- *6 uint32_t numStackItems,
- *7 multiple encoded stackitems:
- - uint32_t OR|AND|NOT|RANK
- uint32_t arity
- - uint32_t PHRASE
- uint32_t arity
- uint32_t indexNameLen
- char[] indexName
- - uint32_t TERM
- uint32_t indexNameLen
- char[] indexName
- uint32_t termLen
- char[] term
- */
+ PCODE_PARSEDQUERY2_NOTUSED = 213,
PCODE_MLD_QUERYRESULT2_NOTUSED = 214,
PCODE_MLD_GETDOCSUMS2_NOTUSED = 215,
PCODE_QUEUELEN_NOTUSED = 216,