[
  {
    "Name": "TestSimplifyExpressionByFlag",
    "Cases": [
      {
        "SQL": "explain format = 'brief' select * from t where a is null",
        "Plan": [
          "TableDual 0.00 root  rows:0"
        ]
      },
      {
        "SQL": "explain format = 'brief' select * from t where a is not null",
        "Plan": [
          "TableReader 10000.00 root  data:TableFullScan",
          "└─TableFullScan 10000.00 cop[tikv] table:t keep order:false, stats:pseudo"
        ]
      },
      {
        "SQL": "explain format = 'brief' select * from t where a > -1",
        "Plan": [
          "TableReader 10000.00 root  data:TableFullScan",
          "└─TableFullScan 10000.00 cop[tikv] table:t keep order:false, stats:pseudo"
        ]
      },
      {
        "SQL": "explain format = 'brief' select * from t where a <= -1",
        "Plan": [
          "TableDual 0.00 root  rows:0"
        ]
      },
      {
        "SQL": "explain format = 'brief' select * from t where a < 0",
        "Plan": [
          "TableDual 0.00 root  rows:0"
        ]
      },
      {
        "SQL": "explain format = 'brief' select * from t where a >= 0",
        "Plan": [
          "TableReader 10000.00 root  data:TableFullScan",
          "└─TableFullScan 10000.00 cop[tikv] table:t keep order:false, stats:pseudo"
        ]
      },
      {
        "SQL": "explain format = 'brief' select * from t where a = -1",
        "Plan": [
          "TableDual 0.00 root  rows:0"
        ]
      },
      {
        "SQL": "explain format = 'brief' select * from t where a <=> -1",
        "Plan": [
          "TableDual 0.00 root  rows:0"
        ]
      },
      {
        "SQL": "explain format = 'brief' select * from t where a != -1",
        "Plan": [
          "TableReader 10000.00 root  data:TableFullScan",
          "└─TableFullScan 10000.00 cop[tikv] table:t keep order:false, stats:pseudo"
        ]
      },
      {
        "SQL": "explain format = 'brief' select * from t where 0 > a",
        "Plan": [
          "TableDual 0.00 root  rows:0"
        ]
      },
      {
        "SQL": "explain format = 'brief' select * from t where 0 <= a",
        "Plan": [
          "TableReader 10000.00 root  data:TableFullScan",
          "└─TableFullScan 10000.00 cop[tikv] table:t keep order:false, stats:pseudo"
        ]
      },
      {
        "SQL": "explain format = 'brief' select * from t where -1 < a",
        "Plan": [
          "TableReader 10000.00 root  data:TableFullScan",
          "└─TableFullScan 10000.00 cop[tikv] table:t keep order:false, stats:pseudo"
        ]
      },
      {
        "SQL": "explain format = 'brief' select * from t where -1 >= a",
        "Plan": [
          "TableDual 0.00 root  rows:0"
        ]
      },
      {
        "SQL": "explain format = 'brief' select * from t where -1 = a",
        "Plan": [
          "TableDual 0.00 root  rows:0"
        ]
      },
      {
        "SQL": "explain format = 'brief' select * from t where -1 <=> a",
        "Plan": [
          "TableDual 0.00 root  rows:0"
        ]
      },
      {
        "SQL": "explain format = 'brief' select * from t where -1 != a",
        "Plan": [
          "TableReader 10000.00 root  data:TableFullScan",
          "└─TableFullScan 10000.00 cop[tikv] table:t keep order:false, stats:pseudo"
        ]
      },
      {
        "SQL": "explain format = 'brief' select * from t where b >= 0",
        "Plan": [
          "TableReader 3333.33 root  data:Selection",
          "└─Selection 3333.33 cop[tikv]  ge(test.t.b, 0)",
          "  └─TableFullScan 10000.00 cop[tikv] table:t keep order:false, stats:pseudo"
        ]
      },
      {
        "SQL": "explain format = 'brief' select * from t where b != -1",
        "Plan": [
          "TableReader 3333.33 root  data:Selection",
          "└─Selection 3333.33 cop[tikv]  ne(test.t.b, -1)",
          "  └─TableFullScan 10000.00 cop[tikv] table:t keep order:false, stats:pseudo"
        ]
      },
      {
        "SQL": "explain format = 'brief' select * from t where a = 0xFFFFFFFFFFFFFFFF",
        "Plan": [
          "TableReader 10.00 root  data:Selection",
          "└─Selection 10.00 cop[tikv]  eq(test.t.a, 18446744073709551615)",
          "  └─TableFullScan 10000.00 cop[tikv] table:t keep order:false, stats:pseudo"
        ]
      }
    ]
  }
]
