Ignore not value equality property filters for ScanByPrimaryKey
This commit is contained in:
parent
4bad8c0d1e
commit
b26c7d09ef
@ -904,7 +904,6 @@ ScanByPrimaryKey::ScanByPrimaryKey(const std::shared_ptr<LogicalOperator> &input
|
|||||||
storage::v3::LabelId label, std::vector<query::v2::Expression *> primary_key,
|
storage::v3::LabelId label, std::vector<query::v2::Expression *> primary_key,
|
||||||
storage::v3::View view)
|
storage::v3::View view)
|
||||||
: ScanAll(input, output_symbol, view), label_(label), primary_key_(primary_key) {
|
: ScanAll(input, output_symbol, view), label_(label), primary_key_(primary_key) {
|
||||||
// TODO(antaljanosbenjamin): MATCH (p:Permission) WHERE p.uuid <999 RETURN p;
|
|
||||||
MG_ASSERT(primary_key.front());
|
MG_ASSERT(primary_key.front());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -597,6 +597,9 @@ class IndexLookupRewriter final : public HierarchicalLogicalOperatorVisitor {
|
|||||||
[](const auto &schema_elem) { return schema_elem.property_id; });
|
[](const auto &schema_elem) { return schema_elem.property_id; });
|
||||||
|
|
||||||
for (const auto &property_filter : property_filters) {
|
for (const auto &property_filter : property_filters) {
|
||||||
|
if (property_filter.property_filter->type_ != PropertyFilter::Type::EQUAL) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
const auto &property_id = db_->NameToProperty(property_filter.property_filter->property_.name);
|
const auto &property_id = db_->NameToProperty(property_filter.property_filter->property_.name);
|
||||||
if (std::find(schema_properties.begin(), schema_properties.end(), property_id) != schema_properties.end()) {
|
if (std::find(schema_properties.begin(), schema_properties.end(), property_id) != schema_properties.end()) {
|
||||||
pk_temp.emplace_back(std::make_pair(property_filter.expression, property_filter));
|
pk_temp.emplace_back(std::make_pair(property_filter.expression, property_filter));
|
||||||
|
Loading…
Reference in New Issue
Block a user