here are the results…
[
{
"plan": {
"#operator": "Sequence",
"~children": [
{
"#operator": "Authorize",
"privileges": {
"List": [
{
"Priv": 7,
"Target": "default:test_automation"
}
]
},
"~child": {
"#operator": "Sequence",
"~children": [
{
"#operator": "IndexScan3",
"as": "rules",
"index": "idx_doc_type_tenant",
"index_id": "572184399402932d",
"index_projection": {
"primary_key": true
},
"keyspace": "test_automation",
"namespace": "default",
"spans": [
{
"exact": true,
"range": [
{
"high": "\"rule\"",
"inclusion": 3,
"low": "\"rule\""
}
]
}
],
"using": "gsi"
},
{
"#operator": "Fetch",
"as": "rules",
"keyspace": "test_automation",
"namespace": "default"
},
{
"#operator": "Parallel",
"~child": {
"#operator": "Sequence",
"~children": [
{
"#operator": "Let",
"bindings": [
{
"expr": "(correlated (select max((`maxRule`.`version`)) as `ver`, `maxRule` as `theRule` from ((`rules`.`ruleVersions`).`__main__`) as `maxRule` let `minApp` = (correlated (select min((`minRule`.`maxDischargeDate`)) as `minDate` from ((`rules`.`ruleVersions`).`__main__`) as `minRule` where ((\"2017-05-21T00:00:00\" <= (`minRule`.`maxDischargeDate`)) and (not ((`minRule`.`state`) in [500, 100, 5000]))))[0]) where ((((`maxRule`.`maxDischargeDate`) = (`minApp`.`minDate`)) and (not ((`maxRule`.`state`) in [500, 100, 5000]))) and (0 < array_length(array_intersect($groupTags, (`maxRule`.`groupTags`))))) group by `maxRule`)[0])",
"var": "maxAppVer"
}
]
},
{
"#operator": "Filter",
"condition": "((((`rules`.`type`) = \"rule\") and ((`maxAppVer`.`ver`) is not null)) and any `r` in ((`rules`.`ruleVersions`).`__main__`) satisfies (any `gt` in (`r`.`groupTags`) satisfies (`gt` in $groupTags) end and (not ((`r`.`state`) in [500, 100, 5000]))) end)"
},
{
"#operator": "InitialProject",
"result_terms": [
{
"expr": "(`maxAppVer`.`theRule`)"
}
]
},
{
"#operator": "FinalProject"
}
]
}
}
]
}
},
{
"#operator": "Stream"
}
]
},
"prepareds": {
"avgElapsedTime": "5.98995ms",
"avgServiceTime": "3.50355ms",
"encoded_plan": "H4sIAAAAAAAA/6RVYW/bNhD9K8StHyRAMZQ4aWcB+WC07hagCALbKDDEhsRIF5mtRGkk5doLvN8+kCJlyenSdAOKBtTx7t57x3t+AuRplWEW1wXlEAEE8IhUNQLfV1yJqpAQhQEwnuFuWrPPKCSrOETjADgtESIIrybZ+cUDnk0e3k7OLseXD2eTFM/PrsYY4tvzd+klZhBAVaOgqhIQPcEvxwMs8M8GeYoQwN/phhWZQA7R/fDStFGbSrC/9K1asC0rMEepS31iUpnrSypyVBBBho+0KVSkUKqYNqoqqdKQA7gTbAvRu8P64Hr9JzA3WotFSvkYAqASIhBNgRKsShABy3ZxVqWx2tcYK+SUKxeNWQYRXL27OP/1cjyZXIYXk/FF1kVrUX3B1OCNnjTVkop9/BX3ECnR4CGAr7iXNU218s8Z6pG4qNUBApA15dLQwB1NVVsqAEF5jubzhuUbiGBliKzAoEmLppt0UX3rhw/rwzqARjKeQwS5ZHAIhhJ9RJVuTtX5aeSnVe+ooEWBBfyv8X1CrckD4xnjuZOl1hEvrYTAgirMiCexwFSRku48Lynpbt4UmIySbbsAie8TKok+JgHp4uab2mB7eBRVSTwvMQIkI/PXLpBM/FESxyVlPI6TtlZXpEBFkpLxaV0n5Jp8FxbjGhbjFlZJdx+YTDd6CT5QhQ5fybg5/jQWW5l826BA4nlvsn55smrCcJxekx9i4BnxeKXIAK1UJkwYJ/dXYRiQc/3fVRiGa9/3/ftw7XeNB+o/b0EsBq3VqKN72rkr8HLnNim07AgVgu7jAnmuNl57YFyhkJgq700uqqZe0lwGpN+h+5xoKj4h5gN52B8HbAhCAFuqX11Jd9O6/oxC79XpHrFCoYAA0opnrLUFMJq4OWqLMSq47bQkDKS2bvtqNWlJtCC8KQrLlfI9SUSi5Xjd25BUMfnIUBLP5OaqTU7EkHr/ort0VMwnaJofJyR+PBvkmf/MEm44U4wWd61tQgACZVOoWKEoh7s90MOtqP9dzfmx4GF90P9OriyUQFqaXJAs5+b3UpuRrQsRfJEVh0MACnf6R+luPrubzmfEri/pwIxsykqsuNnRE2skZig6ql2hS9MDFytOCBk4lX1hI+tSZpe3KAJiA/rca6jTTVPTZNSf+8gNXafYbJdikJiV68EYQGHcs9s+Ol1Zg8nu6SD5VUDaov201if+rVu7ynhNhv7VL6CfoUs3T9AsiXuEvTd4H65dnm1q1X7W9NrKM7I8XZppZZNeatW/P53Pp3/En2a3vy1/99rDze1yNl/M3i8HJuQKH7fMt+xJ6Ap2XuTegws4ci2xdgraWnrGosOWgH26WxR9T3EXtDEIzeqlYS6my5vFx5vZgjgMxlByI4c4kuhdbGNHysYRuklObz8Q8RpVkWdw+CcAAP//WMqSH/gKAAA=",
"featuresControl": 0,
"indexApiVersion": 3,
"lastUse": "2018-11-26 20:01:56.5423003 +0000 GMT",
"maxElapsedTime": "8.0014ms",
"maxServiceTime": "4.0015ms",
"minElapsedTime": "3.9785ms",
"minServiceTime": "3.0056ms",
"name": "059d12be-9b69-434b-9ce1-53e0e617c4ed",
"node": "127.0.0.1:8091",
"statement": "PREPARE select maxAppVer.theRule\r\nfrom test_automation rules\r\nlet maxAppVer = \r\n (select max(maxRule.version) as ver, maxRule as theRule\r\n from rules.ruleVersions.__main__ as maxRule\r\n let minApp = \r\n (select min(minRule.maxDischargeDate) as minDate \r\n from rules.ruleVersions.__main__ as minRule\r\n where minRule.maxDischargeDate >= $dischargeDate\r\n and minRule.state not in [500,100, 5000])[0]\r\n where maxRule.maxDischargeDate = minApp.minDate\r\n and maxRule.state not in [500,100, 5000]\r\n and ARRAY_LENGTH(ARRAY_INTERSECT($groupTags, maxRule.groupTags)) > 0\r\n group by maxRule \r\n )[0]\r\nwhere rules.type = \"rule\"\r\nand maxAppVer.ver is not null\r\nand any r in rules.ruleVersions.__main__ SATISFIES \r\n (any gt in r.groupTags SATISFIES gt in $groupTags end)\r\n AND r.state not in [500,100, 5000]\r\n end",
"uses": 2
}
}
]