Details
-
Bug
-
Resolution: Fixed
-
Major
-
7.1.4, 7.2.0
-
Security Level: Public
-
Untriaged
-
0
-
Unknown
Description
Issue | Resolution |
Incorrect results were returned for a non-IndexScan on a constant false condition. This was due to incorrect handling of a FALSE WHERE clause. | The FALSE WHERE clause is now correctly handled. |
insert into default values ("k01",{"a":1});
|
explain delete from default use keys "k01" where 1=1; |
As where is true no-fetch , no-filter that is optimal in 7.50
In Pre 7.50 these not are not optimal (it does fetch unnecessary and can impact TCO). See linked CBSE.
In 7.50 If it false no-filter blindly goes deletes. vs one can change keyScan to empty or add filter.
explain delete from default use keys "k01" where 1=0;
|
{
|
"requestID": "8981d310-2b2f-4157-9be1-3627ba62bde2",
|
"signature": "json",
|
"results": [
|
{
|
"plan": {
|
"#operator": "Sequence",
|
"~children": [
|
{
|
"#operator": "KeyScan",
|
"distinct": true,
|
"keys": "\"k01\""
|
},
|
{
|
"#operator": "Parallel",
|
"maxParallelism": 1,
|
"~child": {
|
"#operator": "Sequence",
|
"~children": [
|
{
|
"#operator": "DummyFetch",
|
"keyspace": "default",
|
"namespace": "default"
|
},
|
{
|
"#operator": "SendDelete",
|
"alias": "default",
|
"fast_discard": true,
|
"keyspace": "default",
|
"namespace": "default"
|
}
|
]
|
}
|
}
|
]
|
},
|
"text": "delete from default use keys \"k01\" where 1=0;"
|
}
|
],
|
"status": "success",
|
"metrics": {
|
"elapsedTime": "738.971µs",
|
"executionTime": "585.06µs",
|
"resultCount": 1,
|
"resultSize": 1192,
|
"serviceLoad": 2
|
}
|
}
|
explain update default use keys "k01" set a = 1 where 1=0;
|
{
|
"requestID": "e0656d7d-78c7-46eb-8a69-528970c69e8a",
|
"signature": "json",
|
"results": [
|
{
|
"plan": {
|
"#operator": "Sequence",
|
"~children": [
|
{
|
"#operator": "KeyScan",
|
"distinct": true,
|
"keys": "\"k01\""
|
},
|
{
|
"#operator": "Parallel",
|
"maxParallelism": 1,
|
"~child": {
|
"#operator": "Sequence",
|
"~children": [
|
{
|
"#operator": "Fetch",
|
"keyspace": "default",
|
"namespace": "default"
|
},
|
{
|
"#operator": "Clone"
|
},
|
{
|
"#operator": "Set",
|
"set_terms": [
|
{
|
"path": "(`default`.`a`)",
|
"value": "1"
|
}
|
]
|
},
|
{
|
"#operator": "SendUpdate",
|
"alias": "default",
|
"fast_discard": true,
|
"keyspace": "default",
|
"namespace": "default"
|
}
|
]
|
}
|
}
|
]
|
},
|
"text": "update default use keys \"k01\" set a = 1 where 1=0;"
|
}
|
],
|
"status": "success",
|
"metrics": {
|
"elapsedTime": "3.77195ms",
|
"executionTime": "3.624303ms",
|
"resultCount": 1,
|
"resultSize": 1697,
|
"serviceLoad": 2
|
}
|
}
|
select * from default use keys "k01" where 1=0;
|
{
|
"requestID": "1d82b63e-eebc-4f93-a2e9-0b663afa0470",
|
"signature": {
|
"*": "*"
|
},
|
"results": [
|
{
|
"default": {
|
"a": 1
|
}
|
}
|
],
|
"status": "success",
|
"metrics": {
|
"elapsedTime": "915.43µs",
|
"executionTime": "780.081µs",
|
"resultCount": 1,
|
"resultSize": 57,
|
"serviceLoad": 2
|
}
|
}
|
Attachments
For Gerrit Dashboard: MB-57024 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
191306,3 | MB-57024 Handle FALSE WHERE clause better | neo | query | Status: MERGED | +2 | +1 |
191310,2 | MB-57024 Handle FALSE WHERE clause better | 7.1.x | query | Status: MERGED | +2 | +1 |