)]}'
{
  "commit": "bd813d85c622e1884bdd8b45d7a9338aad2f1cd3",
  "tree": "211d2ba92c33e487ea09efb094183faee089ec90",
  "parents": [
    "85281fac2a3aa779042739706e08aa0177554477"
  ],
  "author": {
    "name": "alpass163",
    "email": "alpass163@163.com",
    "time": "Sat Nov 29 07:27:05 2025 +0800"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Sat Nov 29 07:27:05 2025 +0800"
  },
  "message": "implement intersect and except related optimization rule: MergeIntersect, MergeExcept, RemoveEmptyIntersectBranchs, EvaluateEmptyIntersect, PruneIntersectSourceColumns, PruneExceptSourceColmns (#16761)\n\n",
  "tree_diff": [
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "03c8bba9a7e0f5cc3e09a5598a0bf443a0f3a860",
      "new_mode": 33188,
      "new_path": "iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/EvaluateEmptyIntersect.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "08fb908e22f2cc3fb8a8364d007efce0dea59e5a",
      "new_mode": 33188,
      "new_path": "iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/MergeExcept.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "1786909ec998b03d97741d0a1a45e01c9e57cd0c",
      "new_mode": 33188,
      "new_path": "iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/MergeIntersect.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "cc210653426ced14c17f34230b57709d85196cd9",
      "new_mode": 33188,
      "new_path": "iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PruneExceptSourceColumns.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "9fabb9b5b1bf887dd52b47e6a83cf1188bfc61fd",
      "new_mode": 33188,
      "new_path": "iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PruneIntersectSourceColumns.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "b07531ef9a16de6d941ce6351767cf147be6f8e8",
      "new_mode": 33188,
      "new_path": "iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/RemoveEmptyExceptBranches.java"
    },
    {
      "type": "modify",
      "old_id": "563a3883cbb5ab5708c1d864a181bf203b39c511",
      "old_mode": 33188,
      "old_path": "iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/SetOperationMerge.java",
      "new_id": "04dee3888bb14506837d772f1c2c22d8aa5d250c",
      "new_mode": 33188,
      "new_path": "iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/SetOperationMerge.java"
    },
    {
      "type": "modify",
      "old_id": "d7084c3d24eb402f4532879bbec56927ebe2d774",
      "old_mode": 33188,
      "old_path": "iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/optimizations/LogicalOptimizeFactory.java",
      "new_id": "1c73274ec9927b4919a2c55a59282e2bd59f52fc",
      "new_mode": 33188,
      "new_path": "iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/optimizations/LogicalOptimizeFactory.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "a69b4af288c36a94285a20096ff35db92498291e",
      "new_mode": 33188,
      "new_path": "iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/EvaluateEmptyIntersectTest.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "41275bf99ba2ca74518c886700319edad898ca9b",
      "new_mode": 33188,
      "new_path": "iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/MergeExceptTest.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "caaff833e9d8a69c41d74b1c61c4a3b952bf6eb3",
      "new_mode": 33188,
      "new_path": "iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/MergeIntersectTest.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "914a9bdae0b1326bc6aaae8e95b62060fa48a9a9",
      "new_mode": 33188,
      "new_path": "iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/RemoveEmptyExceptBranchesTest.java"
    }
  ]
}
