159 lines
4.1 KiB
JSON
159 lines
4.1 KiB
JSON
[
|
|
{
|
|
"Name": "TestTraceCE",
|
|
"Cases": [
|
|
{
|
|
"Expr": "a > 0 and a < 2",
|
|
"Trace": [
|
|
{
|
|
"table_name": "t",
|
|
"type": "Column Stats-Point",
|
|
"expr": "((a = 1))",
|
|
"row_count": 4
|
|
},
|
|
{
|
|
"table_name": "t",
|
|
"type": "Index Stats-Point",
|
|
"expr": "((a = 1))",
|
|
"row_count": 4
|
|
},
|
|
{
|
|
"table_name": "t",
|
|
"type": "Column Stats-Range",
|
|
"expr": "((a > 0 and a < 2))",
|
|
"row_count": 4
|
|
},
|
|
{
|
|
"table_name": "t",
|
|
"type": "Table Stats-Expression-CNF",
|
|
"expr": "`and`(`gt`(test.t.a, 0), `lt`(test.t.a, 2))",
|
|
"row_count": 4
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"Expr": "a >= 1 and a < 10",
|
|
"Trace": [
|
|
{
|
|
"table_name": "t",
|
|
"type": "Index Stats-Range",
|
|
"expr": "((a >= 1 and a < 10))",
|
|
"row_count": 6
|
|
},
|
|
{
|
|
"table_name": "t",
|
|
"type": "Column Stats-Range",
|
|
"expr": "((a >= 1 and a < 10))",
|
|
"row_count": 6
|
|
},
|
|
{
|
|
"table_name": "t",
|
|
"type": "Table Stats-Expression-CNF",
|
|
"expr": "`and`(`ge`(test.t.a, 1), `lt`(test.t.a, 10))",
|
|
"row_count": 6
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"Expr": "a < 3 or b < 4",
|
|
"Trace": [
|
|
{
|
|
"table_name": "t",
|
|
"type": "Column Stats-Range",
|
|
"expr": "((b < 4))",
|
|
"row_count": 6
|
|
},
|
|
{
|
|
"table_name": "t",
|
|
"type": "Table Stats-Expression-CNF",
|
|
"expr": "`lt`(test.t.b, 4)",
|
|
"row_count": 6
|
|
},
|
|
{
|
|
"table_name": "t",
|
|
"type": "Table Stats-Expression-DNF",
|
|
"expr": "`or`(`lt`(test.t.a, 3), `lt`(test.t.b, 4))",
|
|
"row_count": 6
|
|
},
|
|
{
|
|
"table_name": "t",
|
|
"type": "Column Stats-Range",
|
|
"expr": "((a < 3))",
|
|
"row_count": 6
|
|
},
|
|
{
|
|
"table_name": "t",
|
|
"type": "Index Stats-Range",
|
|
"expr": "((a < 3))",
|
|
"row_count": 6
|
|
},
|
|
{
|
|
"table_name": "t",
|
|
"type": "Table Stats-Expression-CNF",
|
|
"expr": "`lt`(test.t.a, 3)",
|
|
"row_count": 6
|
|
},
|
|
{
|
|
"table_name": "t",
|
|
"type": "Table Stats-Expression-CNF",
|
|
"expr": "`or`(`lt`(test.t.a, 3), `lt`(test.t.b, 4))",
|
|
"row_count": 6
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"Expr": "a = 1 and b = 2",
|
|
"Trace": [
|
|
{
|
|
"table_name": "t",
|
|
"type": "Index Stats-Point",
|
|
"expr": "((a = 1) and (b = 2))",
|
|
"row_count": 2
|
|
},
|
|
{
|
|
"table_name": "t",
|
|
"type": "Column Stats-Point",
|
|
"expr": "((a = 1))",
|
|
"row_count": 4
|
|
},
|
|
{
|
|
"table_name": "t",
|
|
"type": "Column Stats-Point",
|
|
"expr": "((b = 2))",
|
|
"row_count": 3
|
|
},
|
|
{
|
|
"table_name": "t",
|
|
"type": "Table Stats-Expression-CNF",
|
|
"expr": "`and`(`eq`(test.t.a, 1), `eq`(test.t.b, 2))",
|
|
"row_count": 2
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"Expr": "a < 5 or a > 10",
|
|
"Trace": [
|
|
{
|
|
"table_name": "t",
|
|
"type": "Index Stats-Range",
|
|
"expr": "((a < 5)) or ((a > 10 and true))",
|
|
"row_count": 6
|
|
},
|
|
{
|
|
"table_name": "t",
|
|
"type": "Column Stats-Range",
|
|
"expr": "((a < 5)) or ((a > 10 and true))",
|
|
"row_count": 6
|
|
},
|
|
{
|
|
"table_name": "t",
|
|
"type": "Table Stats-Expression-CNF",
|
|
"expr": "`or`(`lt`(test.t.a, 5), `gt`(test.t.a, 10))",
|
|
"row_count": 6
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
]
|