)]}'
{
  "commit": "00896cb9ed931bb816cf1a5e5f13ddc6b229378b",
  "tree": "942e154f3f27acf95dd3f1f3830c57ef061003e5",
  "parents": [
    "b09c0b6550b05c574c6cb91c0fbdf2fb8998783d"
  ],
  "author": {
    "name": "Adam Simpkins",
    "email": "simpkins@fb.com",
    "time": "Wed Jun 23 22:08:59 2021 -0700"
  },
  "committer": {
    "name": "Facebook GitHub Bot",
    "email": "facebook-github-bot@users.noreply.github.com",
    "time": "Wed Jun 23 22:12:53 2021 -0700"
  },
  "message": "[caffe2] update db::Transaction::Put() to accept the value by rvalue reference (#60208)\n\nSummary:\nPull Request resolved: https://github.com/pytorch/pytorch/pull/60208\n\nUpdate the DB APIs so that `db::Transaction::Put()` accepts the value by\nrvalue reference.  This allows DB implementations to write data asynchronously\nwithout being forced to make an additional copy of the data in memory.\n`Put()` implementations can now use the string move constructor or assignment\noperator to get the string data and continue performing the write\nasynchronously after returning from `Put()`.\n\nNote that I chose to entirely replace the existing `Put()`, removing the\nability for callers to call `Put()` with a `const std::string\u0026` argument for\nthe value, rather than simply adding another overloaded version of `Put()`.\n\nThis was done because in practice there were no call sites using `Put()` that\ncannot move in their data.  Eliminating the `const std::string\u0026` API entirely\nsimplifies the DB implementations: DBs that wish do support move semantics do\nnot have to implement both the move and the copy versions of `Put()`.\n\nTest Plan:\nSearched through fbcode to try and make sure I found all `db::Transaction`\nsubclasses, and will check sandcastle results to help confirm.\n\nRan the modelstore checkpointing unit tests.\n\nDifferential Revision: D29204425\n\nfbshipit-source-id: 28be6646e92e5df71954d4bb3dc0c8add30ed041\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "7845a1c1727895fd4d08e1f2e46bf1287fb940d5",
      "old_mode": 33188,
      "old_path": "caffe2/core/blob_test.cc",
      "new_id": "d937edf8562769c0860593cff831a0bf973d0ba8",
      "new_mode": 33188,
      "new_path": "caffe2/core/blob_test.cc"
    },
    {
      "type": "modify",
      "old_id": "133ccc1cee2f81e508531e4f785ee33569f4019e",
      "old_mode": 33188,
      "old_path": "caffe2/core/db.cc",
      "new_id": "6af85be8cdbfffa26c129d3217949d8b46a01a4e",
      "new_mode": 33188,
      "new_path": "caffe2/core/db.cc"
    },
    {
      "type": "modify",
      "old_id": "812404358a5ad0101a424e8b93bd2c4e2d1f4c0a",
      "old_mode": 33188,
      "old_path": "caffe2/core/db.h",
      "new_id": "1c2a5a808b33d776ae1bfa9d0c65cf3b5a277ba4",
      "new_mode": 33188,
      "new_path": "caffe2/core/db.h"
    },
    {
      "type": "modify",
      "old_id": "8f7edd2df562c85ac81b0d6cef07e78983335854",
      "old_mode": 33188,
      "old_path": "caffe2/db/db_test.cc",
      "new_id": "fc5bfe0b95bd33d908fd7241ccec3e5a58368a8f",
      "new_mode": 33188,
      "new_path": "caffe2/db/db_test.cc"
    },
    {
      "type": "modify",
      "old_id": "f3ef1dcc52d7878c38ca5cead49b60de74cd9ff1",
      "old_mode": 33188,
      "old_path": "caffe2/db/leveldb.cc",
      "new_id": "f62a2bc763bbb4bd9b3a9920a956ec406473ea44",
      "new_mode": 33188,
      "new_path": "caffe2/db/leveldb.cc"
    },
    {
      "type": "modify",
      "old_id": "8eb050b6b182236bb16609bb6a16ea70434fe858",
      "old_mode": 33188,
      "old_path": "caffe2/db/lmdb.cc",
      "new_id": "1bd21fa7ac41cbdaccc0633240a9e539982765fb",
      "new_mode": 33188,
      "new_path": "caffe2/db/lmdb.cc"
    },
    {
      "type": "modify",
      "old_id": "7b554032d0a06913c5081613d7ae0bccec59ba0a",
      "old_mode": 33188,
      "old_path": "caffe2/db/protodb.cc",
      "new_id": "4407b90b019f509adcd3d724d612cede4e57ba52",
      "new_mode": 33188,
      "new_path": "caffe2/db/protodb.cc"
    },
    {
      "type": "modify",
      "old_id": "645cf632b9dabb73ed01e50c5f782642aec96679",
      "old_mode": 33188,
      "old_path": "caffe2/operators/load_save_op.cc",
      "new_id": "d499f4eb22393958363d54ec00723070cf8f104e",
      "new_mode": 33188,
      "new_path": "caffe2/operators/load_save_op.cc"
    },
    {
      "type": "modify",
      "old_id": "7b83806bca505d4720ff006d66b2da4a6eb9c244",
      "old_mode": 33188,
      "old_path": "modules/rocksdb/rocksdb.cc",
      "new_id": "2db4691434006238c12f443ce6e008476cd3ab38",
      "new_mode": 33188,
      "new_path": "modules/rocksdb/rocksdb.cc"
    }
  ]
}
