)]}'
{
  "commit": "83c521c4d7dced3cbaf862dc62093fd4052f6e70",
  "tree": "b351990d16d926949e209ad90fc3fb7f07a6df5c",
  "parents": [
    "1f8936c2b08959f0bc8e3252afb4e489a0cc8887"
  ],
  "author": {
    "name": "CritasWang",
    "email": "critas@outlook.com",
    "time": "Fri Jan 30 19:28:46 2026 +0800"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Fri Jan 30 19:28:46 2026 +0800"
  },
  "message": "Handle redirect responses (code 400) correctly: resolve successfully with warnings (#8)\n\n* Initial plan\n\n* Add error handling and configuration foundation for redirection support\n\n\n* Optimize tablet serialization and enhance BitMap documentation\n\n\n* Fix README errors and add redirection documentation\n\n\n* Add comprehensive unit tests for tablet serialization\n\n\n* Add tests for redirection configuration options\n\n\n* Add comprehensive unit tests for RedirectCache\n\n\n* Fix serialization consistency and LRU cache implementation\n\n\n* Fix redirection status code and clarify implementation status\n\n\n* Optimize benchmark memory usage with shared batch templates\n\n\n* Remove unimplemented redirection configuration options\n\n\n* 修复 benchmark 的错误\n\n* 使用设备模板\n\n* 修复 e2e\n\n* 修复 e2e\n\n* Handle redirect responses (code 400) with informative error messages\n\n\n* Fix code 400 handling: resolve successfully with warnings instead of throwing error\n\n\n* Fix USE statement regex to support database names with dots and hyphens\n\n\n---------\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "1b1c28d6bdbb85cd081dc74e4ab8ba874987caea",
      "old_mode": 33188,
      "old_path": "README.md",
      "new_id": "ab0a32dae7c67969c2b8ff53004690353ee9e0db",
      "new_mode": 33188,
      "new_path": "README.md"
    },
    {
      "type": "modify",
      "old_id": "0b5eac03b6895c2aa4d66b4f071539137a1fa5c0",
      "old_mode": 33188,
      "old_path": "README_zh.md",
      "new_id": "c111d5d90995e832616a6e2f135bb571bae24035",
      "new_mode": 33188,
      "new_path": "README_zh.md"
    },
    {
      "type": "modify",
      "old_id": "8913e8ebe25cd5e9c1173e60b73c958e768ea1d7",
      "old_mode": 33188,
      "old_path": "benchmark/README.md",
      "new_id": "8e27a373d65d9eb9d82499771cd34ad41b8919b0",
      "new_mode": 33188,
      "new_path": "benchmark/README.md"
    },
    {
      "type": "modify",
      "old_id": "1cc9e3ffd83d2aa9ffabb1de3813e188201bb961",
      "old_mode": 33261,
      "old_path": "benchmark/benchmark-table.js",
      "new_id": "bed34bc2cdb9465a08f25f42021b310f98159ce3",
      "new_mode": 33261,
      "new_path": "benchmark/benchmark-table.js"
    },
    {
      "type": "modify",
      "old_id": "f9b2134622dd5c3a04cc8a591f0a1602288d77c0",
      "old_mode": 33261,
      "old_path": "benchmark/benchmark-tree.js",
      "new_id": "58935b80d8280f5505e87caa07e764218d6af730",
      "new_mode": 33261,
      "new_path": "benchmark/benchmark-tree.js"
    },
    {
      "type": "modify",
      "old_id": "65de1f7523416a543169144c36df88e019b53188",
      "old_mode": 33188,
      "old_path": "benchmark/data-generator.js",
      "new_id": "417d73d4a72ac8fda464d53b8225b5c4fd519b3d",
      "new_mode": 33188,
      "new_path": "benchmark/data-generator.js"
    },
    {
      "type": "modify",
      "old_id": "098f6d317c00a2be0cb37fbc01a060914339659f",
      "old_mode": 33188,
      "old_path": "benchmark/schema-manager.js",
      "new_id": "0b505530c3ab638079cdb8a62a634eafe4909627",
      "new_mode": 33188,
      "new_path": "benchmark/schema-manager.js"
    },
    {
      "type": "modify",
      "old_id": "93d0e9bf1501089621e855e2bc9230bd35c23ce1",
      "old_mode": 33188,
      "old_path": "benchmark/test-benchmark.js",
      "new_id": "b425a278c5559907dcad3e031c5e6e188dd1d613",
      "new_mode": 33188,
      "new_path": "benchmark/test-benchmark.js"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "32bb35e0b850868bcddb6187b5824f996e0b00f3",
      "new_mode": 33188,
      "new_path": "docs/redirection-design.md"
    },
    {
      "type": "modify",
      "old_id": "2bce42668789f709d66ba62ced3cbd45b33e96a7",
      "old_mode": 33188,
      "old_path": "src/client/BaseSessionPool.ts",
      "new_id": "1e4210fed53bc4f2146e68d8c2b2991eaa8db105",
      "new_mode": 33188,
      "new_path": "src/client/BaseSessionPool.ts"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "079959f227d24eeb5e2fdf89c6fed25f59d3e001",
      "new_mode": 33188,
      "new_path": "src/client/RedirectCache.ts"
    },
    {
      "type": "modify",
      "old_id": "5b4083eff115adacfb105b0c6558038fa08e1af3",
      "old_mode": 33188,
      "old_path": "src/client/Session.ts",
      "new_id": "446cd71dd7ee27134ebedbdbbe116d0d263a04d3",
      "new_mode": 33188,
      "new_path": "src/client/Session.ts"
    },
    {
      "type": "modify",
      "old_id": "546eab64187d2bf6c136c4584f8a416038ba9cae",
      "old_mode": 33188,
      "old_path": "src/client/TableSession.ts",
      "new_id": "28b9368023d1f7b9b36609f6e1be853b177ce78e",
      "new_mode": 33188,
      "new_path": "src/client/TableSession.ts"
    },
    {
      "type": "modify",
      "old_id": "6a4c1e081d0c4a0d6279de74f68065d4136e98c7",
      "old_mode": 33188,
      "old_path": "src/client/TableSessionPool.ts",
      "new_id": "8302da3dd410535ac3088e021822bd6eb63da21e",
      "new_mode": 33188,
      "new_path": "src/client/TableSessionPool.ts"
    },
    {
      "type": "modify",
      "old_id": "e351d22c0e4684d6d22335b3d9e5c295a156865e",
      "old_mode": 33188,
      "old_path": "src/connection/Connection.ts",
      "new_id": "d668ac72b63c63cd609c9acea7ec8450a43a69ac",
      "new_mode": 33188,
      "new_path": "src/connection/Connection.ts"
    },
    {
      "type": "modify",
      "old_id": "6e612c049cc7e5463a118a45319990ae13060a87",
      "old_mode": 33188,
      "old_path": "src/index.ts",
      "new_id": "88f199f2a352fd7ba5e1f59277f274b7052f284e",
      "new_mode": 33188,
      "new_path": "src/index.ts"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "0d3581c3eb70049b9b14ee43eb22610554bd427e",
      "new_mode": 33188,
      "new_path": "src/utils/Errors.ts"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "2f7a9619488ea110c0088c61b7ad62274169477f",
      "new_mode": 33188,
      "new_path": "src/utils/ProcessCleanup.ts"
    },
    {
      "type": "delete",
      "old_id": "dab49508582daf1264d90df61aa2687a6db29d72",
      "old_mode": 33188,
      "old_path": "test.out",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "modify",
      "old_id": "2cb5316a86637de96ee52f9a3e1752b03eba0da9",
      "old_mode": 33188,
      "old_path": "tests/e2e/AllDataTypes.test.ts",
      "new_id": "184badba2688e4f2122c9c112bd75e0c41d7b255",
      "new_mode": 33188,
      "new_path": "tests/e2e/AllDataTypes.test.ts"
    },
    {
      "type": "modify",
      "old_id": "4479f53b62785ac8c7c992166175aa5f9cdcc3d5",
      "old_mode": 33188,
      "old_path": "tests/e2e/LargeQuery.test.ts",
      "new_id": "b5c81c225c96c97acd65a1a0d9204db093cc28b6",
      "new_mode": 33188,
      "new_path": "tests/e2e/LargeQuery.test.ts"
    },
    {
      "type": "modify",
      "old_id": "6a2fe13b6c6bf6d89ee82b00cc07c7a73c7f08ac",
      "old_mode": 33188,
      "old_path": "tests/e2e/MultiNode.test.ts",
      "new_id": "d01ce2428e4586ddcf23019d27a7f99ab0250d8f",
      "new_mode": 33188,
      "new_path": "tests/e2e/MultiNode.test.ts"
    },
    {
      "type": "modify",
      "old_id": "313b52309c26ecf1c89a6772c52645e927555db1",
      "old_mode": 33188,
      "old_path": "tests/e2e/Session.test.ts",
      "new_id": "8f998581c7986877b618242fa8c391bce3455439",
      "new_mode": 33188,
      "new_path": "tests/e2e/Session.test.ts"
    },
    {
      "type": "modify",
      "old_id": "95920376b7a3e4834471f631a289e0970f722416",
      "old_mode": 33188,
      "old_path": "tests/e2e/SessionDataSet.test.ts",
      "new_id": "cbd3a5c3f620bb432a6d8ecd2a7499be4ee44d57",
      "new_mode": 33188,
      "new_path": "tests/e2e/SessionDataSet.test.ts"
    },
    {
      "type": "modify",
      "old_id": "f1d4b58f46d42f6fafa317475ef8864d9940acf9",
      "old_mode": 33188,
      "old_path": "tests/e2e/SessionPool.test.ts",
      "new_id": "b691c701adc329023952167586f6ed00bb74ee55",
      "new_mode": 33188,
      "new_path": "tests/e2e/SessionPool.test.ts"
    },
    {
      "type": "modify",
      "old_id": "eb744310277edbb3143bf7e4af13e64bddbc1018",
      "old_mode": 33188,
      "old_path": "tests/e2e/TableModelDataTypes.test.ts",
      "new_id": "d00580d91b831ef06bc80cbd38fb4429eb01a009",
      "new_mode": 33188,
      "new_path": "tests/e2e/TableModelDataTypes.test.ts"
    },
    {
      "type": "modify",
      "old_id": "07220f96fad3cda721579c3f8fb0c37018e3bcb0",
      "old_mode": 33188,
      "old_path": "tests/e2e/TableSessionPool.test.ts",
      "new_id": "64883e50d61661654f540ce0cc9063116b425316",
      "new_mode": 33188,
      "new_path": "tests/e2e/TableSessionPool.test.ts"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "cd58558eb69bc0e910b605494e05a7e0d51d897c",
      "new_mode": 33188,
      "new_path": "tests/unit/RedirectCache.test.ts"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "fb867061c7ba3849baad0301f0202fc920b1d3f3",
      "new_mode": 33188,
      "new_path": "tests/unit/TabletSerialization.test.ts"
    }
  ]
}
