)]}'
{
  "commit": "21990b0bb01599fb67dbd8686c907e5f810aace3",
  "tree": "b70f5fec8ab315add514b001dbc1e26146d8270b",
  "parents": [
    "9af1681f203ec2a21b64371a1dc6361641ffb2f9"
  ],
  "author": {
    "name": "Paul J. Davis",
    "email": "paul.joseph.davis@gmail.com",
    "time": "Mon Mar 16 07:07:50 2026 -0500"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Mon Mar 16 08:07:50 2026 -0400"
  },
  "message": "feat: Add FFI_TableProviderFactory support (#1396)\n\n* feat: Add FFI_TableProviderFactory support\n\nThis wraps the new FFI_TableProviderFactory APIs in datafusion-ffi.\n\n* Address PR comments\n\n* Add support for Python based TableProviderFactory\n\nThis adds the ability to register Python based TableProviderFactory\ninstances to the SessionContext.\n\n* Correction after rebase\n\n---------\n\nCo-authored-by: Tim Saucer \u003ctimsaucer@gmail.com\u003e",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "709fdc5a29668716b1d27ad215daea232726aa81",
      "old_mode": 33188,
      "old_path": "crates/core/src/context.rs",
      "new_id": "200b6470be7e8dcc74ba5839126ded6b9f7ce652",
      "new_mode": 33188,
      "new_path": "crates/core/src/context.rs"
    },
    {
      "type": "modify",
      "old_id": "3dfe3e9cfb20552466895b048f5959f5fc737ab1",
      "old_mode": 33188,
      "old_path": "crates/core/src/table.rs",
      "new_id": "62334977153d0a754e60c73ce889d58494396ad8",
      "new_mode": 33188,
      "new_path": "crates/core/src/table.rs"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "b1e94ec73312e618219464ad1006772451d5ee65",
      "new_mode": 33188,
      "new_path": "examples/datafusion-ffi-example/python/tests/_test_table_provider_factory.py"
    },
    {
      "type": "modify",
      "old_id": "3627c149e0c48e57e6c4420716d7e622fdbae9c3",
      "old_mode": 33188,
      "old_path": "examples/datafusion-ffi-example/src/lib.rs",
      "new_id": "68120a4cd869c97e13c3ab4029d24235920fd3d7",
      "new_mode": 33188,
      "new_path": "examples/datafusion-ffi-example/src/lib.rs"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "53248a905a4caa98c59ac7ee1842d17eb13fc129",
      "new_mode": 33188,
      "new_path": "examples/datafusion-ffi-example/src/table_provider_factory.rs"
    },
    {
      "type": "modify",
      "old_id": "bc43cf349592dde35cac2a7f21dcdcbdc29a1e8b",
      "old_mode": 33188,
      "old_path": "python/datafusion/catalog.py",
      "new_id": "03c0ddc68601f2c33c9d1cd4df29fd1bbf2e969e",
      "new_mode": 33188,
      "new_path": "python/datafusion/catalog.py"
    },
    {
      "type": "modify",
      "old_id": "0d82597743690c3d0b24cd6c52323986d457ec9a",
      "old_mode": 33188,
      "old_path": "python/datafusion/context.py",
      "new_id": "ba9290a58c7ca93600f20854758a5451743ac1d5",
      "new_mode": 33188,
      "new_path": "python/datafusion/context.py"
    },
    {
      "type": "modify",
      "old_id": "9310da50681f35288275446b366156e7e9e16bac",
      "old_mode": 33188,
      "old_path": "python/tests/test_catalog.py",
      "new_id": "c89da36bf62ccb25d3fed5df78e57ba7db3ff547",
      "new_mode": 33188,
      "new_path": "python/tests/test_catalog.py"
    }
  ]
}
