{"action":"created","comment":{"url":"https://api.github.com/repos/pingcap/tidb/pulls/comments/209577002","pull_request_review_id":145614371,"id":209577002,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIwOTU3NzAwMg==","diff_hunk":"@@ -158,6 +146,51 @@ func (s *propagateConstantSolver) validPropagateCond(cond Expression, funNameMap\n \treturn nil, nil\n }\n \n+// tryToReplaceCond aims to replace all occurances of column 'src' and try to replace it with 'tgt' in 'cond'","path":"expression/constant_propagation.go","position":125,"original_position":125,"commit_id":"49a99ea6882474148a6daf5278dba5f9d80f95a5","original_commit_id":"49a99ea6882474148a6daf5278dba5f9d80f95a5","user":{"login":"bb7133","id":1174042,"node_id":"MDQ6VXNlcjExNzQwNDI=","avatar_url":"https://avatars0.githubusercontent.com/u/1174042?v=4","gravatar_id":"","url":"https://api.github.com/users/bb7133","html_url":"https://github.com/bb7133","followers_url":"https://api.github.com/users/bb7133/followers","following_url":"https://api.github.com/users/bb7133/following{/other_user}","gists_url":"https://api.github.com/users/bb7133/gists{/gist_id}","starred_url":"https://api.github.com/users/bb7133/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bb7133/subscriptions","organizations_url":"https://api.github.com/users/bb7133/orgs","repos_url":"https://api.github.com/users/bb7133/repos","events_url":"https://api.github.com/users/bb7133/events{/privacy}","received_events_url":"https://api.github.com/users/bb7133/received_events","type":"User","site_admin":false},"body":"Yeah,I will try to state more details","created_at":"2018-08-13T11:36:49Z","updated_at":"2018-08-13T11:36:49Z","html_url":"https://github.com/pingcap/tidb/pull/7276#discussion_r209577002","pull_request_url":"https://api.github.com/repos/pingcap/tidb/pulls/7276","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/pingcap/tidb/pulls/comments/209577002"},"html":{"href":"https://github.com/pingcap/tidb/pull/7276#discussion_r209577002"},"pull_request":{"href":"https://api.github.com/repos/pingcap/tidb/pulls/7276"}},"in_reply_to_id":209514624},"pull_request":{"url":"https://api.github.com/repos/pingcap/tidb/pulls/7276","id":206176770,"node_id":"MDExOlB1bGxSZXF1ZXN0MjA2MTc2Nzcw","html_url":"https://github.com/pingcap/tidb/pull/7276","diff_url":"https://github.com/pingcap/tidb/pull/7276.diff","patch_url":"https://github.com/pingcap/tidb/pull/7276.patch","issue_url":"https://api.github.com/repos/pingcap/tidb/issues/7276","number":7276,"state":"open","locked":false,"title":"expression: propagate more filters in PropagateConstant","user":{"login":"bb7133","id":1174042,"node_id":"MDQ6VXNlcjExNzQwNDI=","avatar_url":"https://avatars0.githubusercontent.com/u/1174042?v=4","gravatar_id":"","url":"https://api.github.com/users/bb7133","html_url":"https://github.com/bb7133","followers_url":"https://api.github.com/users/bb7133/followers","following_url":"https://api.github.com/users/bb7133/following{/other_user}","gists_url":"https://api.github.com/users/bb7133/gists{/gist_id}","starred_url":"https://api.github.com/users/bb7133/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bb7133/subscriptions","organizations_url":"https://api.github.com/users/bb7133/orgs","repos_url":"https://api.github.com/users/bb7133/repos","events_url":"https://api.github.com/users/bb7133/events{/privacy}","received_events_url":"https://api.github.com/users/bb7133/received_events","type":"User","site_admin":false},"body":"## What have you changed? (mandatory)\r\n\r\nThis PR try to propagate more filters/constraints in PropagateConstant to archive the optimization mentioned in https://github.com/pingcap/tidb/issues/7098. As long as an expression is deterministic, it can be propagated through the equality condition.\r\n\r\nFor example(the case in https://github.com/pingcap/tidb/issues/7098), before this PR:\r\n```\r\nTiDB(localhost:4000) > desc select * from t1 join t2 on t1.a=t2.a and t1.a in (12, 13) and t2.a in (14, 15);\r\n+-------------------------+----------+------+--------------------------------------------------------------------+\r\n| id                      | count    | task | operator info                                                      |\r\n+-------------------------+----------+------+--------------------------------------------------------------------+\r\n| HashLeftJoin_6          | 25.00    | root | inner join, inner:TableReader_13, equal:[eq(test.t1.a, test.t2.a)] |\r\n| ├─TableReader_10        | 20.00    | root | data:Selection_9                                                   |\r\n| │ └─Selection_9         | 20.00    | cop  | in(test.t1.a, 12, 13)                                              |\r\n| │   └─TableScan_8       | 10000.00 | cop  | table:t1, range:[-inf,+inf], keep order:false, stats:pseudo        |\r\n| └─TableReader_13        | 20.00    | root | data:Selection_12                                                  |\r\n|   └─Selection_12        | 20.00    | cop  | in(test.t2.a, 14, 15)                                              |\r\n|     └─TableScan_11      | 10000.00 | cop  | table:t2, range:[-inf,+inf], keep order:false, stats:pseudo        |\r\n+-------------------------+----------+------+--------------------------------------------------------------------+\r\n7 rows in set (0.00 sec)\r\n```\r\nAfter this PR, we have:\r\n```\r\nTiDB(localhost:4000) > desc select * from t1 join t2 on t1.a=t2.a and t1.a in (12, 13) and t2.a in (14, 15);\r\n+-------------------------+----------+------+--------------------------------------------------------------------+\r\n| id                      | count    | task | operator info                                                      |\r\n+-------------------------+----------+------+--------------------------------------------------------------------+\r\n| HashLeftJoin_6          | 0.00     | root | inner join, inner:TableReader_13, equal:[eq(test.t1.a, test.t2.a)] |\r\n| ├─TableReader_10        | 0.00     | root | data:Selection_9                                                   |\r\n| │ └─Selection_9         | 0.00     | cop  | in(test.t1.a, 12, 13), in(test.t1.a, 14, 15)                       |\r\n| │   └─TableScan_8       | 10000.00 | cop  | table:t1, range:[-inf,+inf], keep order:false, stats:pseudo        |\r\n| └─TableReader_13        | 0.00     | root | data:Selection_12                                                  |\r\n|   └─Selection_12        | 0.00     | cop  | in(test.t2.a, 14, 15), in(test.t2.a, 12, 13)                       |\r\n|     └─TableScan_11      | 10000.00 | cop  | table:t2, range:[-inf,+inf], keep order:false, stats:pseudo        |\r\n+-------------------------+----------+------+--------------------------------------------------------------------+\r\n7 rows in set (0.00 sec)\r\n```\r\n\r\nHowever, propagation should be avoid for conditions with non-deterministic expression like `rand()`. A `nonDeterministicFuncNameMap` is added to make sure those expressions are excluded.\r\n\r\n## What is the type of the changes? (mandatory)\r\n\r\n- Improvement (non-breaking change which is an improvement to an existing feature)\r\n\r\n## How has this PR been tested? (mandatory)\r\n\r\n- Some unit test cases are added\r\n\r\n## Does this PR affect documentation (docs/docs-cn) update? (mandatory)\r\n\r\nNo\r\n\r\n## Does this PR affect tidb-ansible update? (mandatory)\r\n\r\nNo\r\n\r\n## Does this PR need to be added to the release notes? (mandatory)\r\n\r\nNo\r\n\r\n## Refer to a related PR or issue link (optional)\r\n\r\nhttps://github.com/pingcap/tidb/issues/7098\r\n\r\n## Add a few positive/negative examples (optional)\r\n\r\nSince we try to do propagations as much as possible, some propagated filters may be un-necessary, or at least can be folded/combined, for example:\r\n\r\n```\r\nmysql> desc select * from t t1, t t2 where t1.a = t2.a and t1.a < t2.a + 1;\r\n+--------------------------+----------+------+----------------------------------------------------------------------------------------------+\r\n| id                       | count    | task | operator info                                                                                |\r\n+--------------------------+----------+------+----------------------------------------------------------------------------------------------+\r\n| HashLeftJoin_8           | 10000.00 | root | inner join, inner:TableReader_15, equal:[eq(t1.a, t2.a)], other cond:lt(t1.a, plus(t2.a, 1)) |\r\n| ├─TableReader_12         | 8000.00  | root | data:Selection_11                                                                            |\r\n| │ └─Selection_11         | 8000.00  | cop  | lt(t1.a, plus(t1.a, 1))                                                                      |\r\n| │   └─TableScan_10       | 10000.00 | cop  | table:t1, range:[-inf,+inf], keep order:false, stats:pseudo                                  |\r\n| └─TableReader_15         | 8000.00  | root | data:Selection_14                                                                            |\r\n|   └─Selection_14         | 8000.00  | cop  | lt(t2.a, plus(t2.a, 1))                                                                      |\r\n|     └─TableScan_13       | 10000.00 | cop  | table:t2, range:[-inf,+inf], keep order:false, stats:pseudo                                  |\r\n+--------------------------+----------+------+----------------------------------------------------------------------------------------------+\r\n7 rows in set (0.00 sec)\r\n```","created_at":"2018-08-04T05:21:38Z","updated_at":"2018-08-13T11:36:49Z","closed_at":null,"merged_at":null,"merge_commit_sha":"c7650575fc2767903ac4fb056b0ea64932756a53","assignee":{"login":"zz-jason","id":5268763,"node_id":"MDQ6VXNlcjUyNjg3NjM=","avatar_url":"https://avatars0.githubusercontent.com/u/5268763?v=4","gravatar_id":"","url":"https://api.github.com/users/zz-jason","html_url":"https://github.com/zz-jason","followers_url":"https://api.github.com/users/zz-jason/followers","following_url":"https://api.github.com/users/zz-jason/following{/other_user}","gists_url":"https://api.github.com/users/zz-jason/gists{/gist_id}","starred_url":"https://api.github.com/users/zz-jason/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/zz-jason/subscriptions","organizations_url":"https://api.github.com/users/zz-jason/orgs","repos_url":"https://api.github.com/users/zz-jason/repos","events_url":"https://api.github.com/users/zz-jason/events{/privacy}","received_events_url":"https://api.github.com/users/zz-jason/received_events","type":"User","site_admin":false},"assignees":[{"login":"zz-jason","id":5268763,"node_id":"MDQ6VXNlcjUyNjg3NjM=","avatar_url":"https://avatars0.githubusercontent.com/u/5268763?v=4","gravatar_id":"","url":"https://api.github.com/users/zz-jason","html_url":"https://github.com/zz-jason","followers_url":"https://api.github.com/users/zz-jason/followers","following_url":"https://api.github.com/users/zz-jason/following{/other_user}","gists_url":"https://api.github.com/users/zz-jason/gists{/gist_id}","starred_url":"https://api.github.com/users/zz-jason/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/zz-jason/subscriptions","organizations_url":"https://api.github.com/users/zz-jason/orgs","repos_url":"https://api.github.com/users/zz-jason/repos","events_url":"https://api.github.com/users/zz-jason/events{/privacy}","received_events_url":"https://api.github.com/users/zz-jason/received_events","type":"User","site_admin":false}],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":667671533,"node_id":"MDU6TGFiZWw2Njc2NzE1MzM=","url":"https://api.github.com/repos/pingcap/tidb/labels/component/planner","name":"component/planner","color":"1d76db","default":false},{"id":564578474,"node_id":"MDU6TGFiZWw1NjQ1Nzg0NzQ=","url":"https://api.github.com/repos/pingcap/tidb/labels/contribution","name":"contribution","color":"b0ff5b","default":false},{"id":564574080,"node_id":"MDU6TGFiZWw1NjQ1NzQwODA=","url":"https://api.github.com/repos/pingcap/tidb/labels/status/LGT1","name":"status/LGT1","color":"d4c5f9","default":false},{"id":256872088,"node_id":"MDU6TGFiZWwyNTY4NzIwODg=","url":"https://api.github.com/repos/pingcap/tidb/labels/type/enhancement","name":"type/enhancement","color":"84b6eb","default":false}],"milestone":null,"commits_url":"https://api.github.com/repos/pingcap/tidb/pulls/7276/commits","review_comments_url":"https://api.github.com/repos/pingcap/tidb/pulls/7276/comments","review_comment_url":"https://api.github.com/repos/pingcap/tidb/pulls/comments{/number}","comments_url":"https://api.github.com/repos/pingcap/tidb/issues/7276/comments","statuses_url":"https://api.github.com/repos/pingcap/tidb/statuses/49a99ea6882474148a6daf5278dba5f9d80f95a5","head":{"label":"bb7133:bb7133/propagation","ref":"bb7133/propagation","sha":"49a99ea6882474148a6daf5278dba5f9d80f95a5","user":{"login":"bb7133","id":1174042,"node_id":"MDQ6VXNlcjExNzQwNDI=","avatar_url":"https://avatars0.githubusercontent.com/u/1174042?v=4","gravatar_id":"","url":"https://api.github.com/users/bb7133","html_url":"https://github.com/bb7133","followers_url":"https://api.github.com/users/bb7133/followers","following_url":"https://api.github.com/users/bb7133/following{/other_user}","gists_url":"https://api.github.com/users/bb7133/gists{/gist_id}","starred_url":"https://api.github.com/users/bb7133/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bb7133/subscriptions","organizations_url":"https://api.github.com/users/bb7133/orgs","repos_url":"https://api.github.com/users/bb7133/repos","events_url":"https://api.github.com/users/bb7133/events{/privacy}","received_events_url":"https://api.github.com/users/bb7133/received_events","type":"User","site_admin":false},"repo":{"id":131083192,"node_id":"MDEwOlJlcG9zaXRvcnkxMzEwODMxOTI=","name":"tidb","full_name":"bb7133/tidb","owner":{"login":"bb7133","id":1174042,"node_id":"MDQ6VXNlcjExNzQwNDI=","avatar_url":"https://avatars0.githubusercontent.com/u/1174042?v=4","gravatar_id":"","url":"https://api.github.com/users/bb7133","html_url":"https://github.com/bb7133","followers_url":"https://api.github.com/users/bb7133/followers","following_url":"https://api.github.com/users/bb7133/following{/other_user}","gists_url":"https://api.github.com/users/bb7133/gists{/gist_id}","starred_url":"https://api.github.com/users/bb7133/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bb7133/subscriptions","organizations_url":"https://api.github.com/users/bb7133/orgs","repos_url":"https://api.github.com/users/bb7133/repos","events_url":"https://api.github.com/users/bb7133/events{/privacy}","received_events_url":"https://api.github.com/users/bb7133/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/bb7133/tidb","description":"TiDB is a distributed HTAP database compatible with the MySQL protocol ","fork":true,"url":"https://api.github.com/repos/bb7133/tidb","forks_url":"https://api.github.com/repos/bb7133/tidb/forks","keys_url":"https://api.github.com/repos/bb7133/tidb/keys{/key_id}","collaborators_url":"https://api.github.com/repos/bb7133/tidb/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/bb7133/tidb/teams","hooks_url":"https://api.github.com/repos/bb7133/tidb/hooks","issue_events_url":"https://api.github.com/repos/bb7133/tidb/issues/events{/number}","events_url":"https://api.github.com/repos/bb7133/tidb/events","assignees_url":"https://api.github.com/repos/bb7133/tidb/assignees{/user}","branches_url":"https://api.github.com/repos/bb7133/tidb/branches{/branch}","tags_url":"https://api.github.com/repos/bb7133/tidb/tags","blobs_url":"https://api.github.com/repos/bb7133/tidb/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/bb7133/tidb/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/bb7133/tidb/git/refs{/sha}","trees_url":"https://api.github.com/repos/bb7133/tidb/git/trees{/sha}","statuses_url":"https://api.github.com/repos/bb7133/tidb/statuses/{sha}","languages_url":"https://api.github.com/repos/bb7133/tidb/languages","stargazers_url":"https://api.github.com/repos/bb7133/tidb/stargazers","contributors_url":"https://api.github.com/repos/bb7133/tidb/contributors","subscribers_url":"https://api.github.com/repos/bb7133/tidb/subscribers","subscription_url":"https://api.github.com/repos/bb7133/tidb/subscription","commits_url":"https://api.github.com/repos/bb7133/tidb/commits{/sha}","git_commits_url":"https://api.github.com/repos/bb7133/tidb/git/commits{/sha}","comments_url":"https://api.github.com/repos/bb7133/tidb/comments{/number}","issue_comment_url":"https://api.github.com/repos/bb7133/tidb/issues/comments{/number}","contents_url":"https://api.github.com/repos/bb7133/tidb/contents/{+path}","compare_url":"https://api.github.com/repos/bb7133/tidb/compare/{base}...{head}","merges_url":"https://api.github.com/repos/bb7133/tidb/merges","archive_url":"https://api.github.com/repos/bb7133/tidb/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/bb7133/tidb/downloads","issues_url":"https://api.github.com/repos/bb7133/tidb/issues{/number}","pulls_url":"https://api.github.com/repos/bb7133/tidb/pulls{/number}","milestones_url":"https://api.github.com/repos/bb7133/tidb/milestones{/number}","notifications_url":"https://api.github.com/repos/bb7133/tidb/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/bb7133/tidb/labels{/name}","releases_url":"https://api.github.com/repos/bb7133/tidb/releases{/id}","deployments_url":"https://api.github.com/repos/bb7133/tidb/deployments","created_at":"2018-04-26T01:29:17Z","updated_at":"2018-04-26T01:29:21Z","pushed_at":"2018-08-10T16:20:26Z","git_url":"git://github.com/bb7133/tidb.git","ssh_url":"git@github.com:bb7133/tidb.git","clone_url":"https://github.com/bb7133/tidb.git","svn_url":"https://github.com/bb7133/tidb","homepage":"https://pingcap.com","size":53400,"stargazers_count":0,"watchers_count":0,"language":"Go","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0","node_id":"MDc6TGljZW5zZTI="},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"pingcap:master","ref":"master","sha":"e3952d6eb845a355366f57e85cc582442e85236b","user":{"login":"pingcap","id":11855343,"node_id":"MDEyOk9yZ2FuaXphdGlvbjExODU1MzQz","avatar_url":"https://avatars3.githubusercontent.com/u/11855343?v=4","gravatar_id":"","url":"https://api.github.com/users/pingcap","html_url":"https://github.com/pingcap","followers_url":"https://api.github.com/users/pingcap/followers","following_url":"https://api.github.com/users/pingcap/following{/other_user}","gists_url":"https://api.github.com/users/pingcap/gists{/gist_id}","starred_url":"https://api.github.com/users/pingcap/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pingcap/subscriptions","organizations_url":"https://api.github.com/users/pingcap/orgs","repos_url":"https://api.github.com/users/pingcap/repos","events_url":"https://api.github.com/users/pingcap/events{/privacy}","received_events_url":"https://api.github.com/users/pingcap/received_events","type":"Organization","site_admin":false},"repo":{"id":41986369,"node_id":"MDEwOlJlcG9zaXRvcnk0MTk4NjM2OQ==","name":"tidb","full_name":"pingcap/tidb","owner":{"login":"pingcap","id":11855343,"node_id":"MDEyOk9yZ2FuaXphdGlvbjExODU1MzQz","avatar_url":"https://avatars3.githubusercontent.com/u/11855343?v=4","gravatar_id":"","url":"https://api.github.com/users/pingcap","html_url":"https://github.com/pingcap","followers_url":"https://api.github.com/users/pingcap/followers","following_url":"https://api.github.com/users/pingcap/following{/other_user}","gists_url":"https://api.github.com/users/pingcap/gists{/gist_id}","starred_url":"https://api.github.com/users/pingcap/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pingcap/subscriptions","organizations_url":"https://api.github.com/users/pingcap/orgs","repos_url":"https://api.github.com/users/pingcap/repos","events_url":"https://api.github.com/users/pingcap/events{/privacy}","received_events_url":"https://api.github.com/users/pingcap/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/pingcap/tidb","description":"TiDB is a distributed HTAP database compatible with the MySQL protocol ","fork":false,"url":"https://api.github.com/repos/pingcap/tidb","forks_url":"https://api.github.com/repos/pingcap/tidb/forks","keys_url":"https://api.github.com/repos/pingcap/tidb/keys{/key_id}","collaborators_url":"https://api.github.com/repos/pingcap/tidb/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/pingcap/tidb/teams","hooks_url":"https://api.github.com/repos/pingcap/tidb/hooks","issue_events_url":"https://api.github.com/repos/pingcap/tidb/issues/events{/number}","events_url":"https://api.github.com/repos/pingcap/tidb/events","assignees_url":"https://api.github.com/repos/pingcap/tidb/assignees{/user}","branches_url":"https://api.github.com/repos/pingcap/tidb/branches{/branch}","tags_url":"https://api.github.com/repos/pingcap/tidb/tags","blobs_url":"https://api.github.com/repos/pingcap/tidb/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/pingcap/tidb/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/pingcap/tidb/git/refs{/sha}","trees_url":"https://api.github.com/repos/pingcap/tidb/git/trees{/sha}","statuses_url":"https://api.github.com/repos/pingcap/tidb/statuses/{sha}","languages_url":"https://api.github.com/repos/pingcap/tidb/languages","stargazers_url":"https://api.github.com/repos/pingcap/tidb/stargazers","contributors_url":"https://api.github.com/repos/pingcap/tidb/contributors","subscribers_url":"https://api.github.com/repos/pingcap/tidb/subscribers","subscription_url":"https://api.github.com/repos/pingcap/tidb/subscription","commits_url":"https://api.github.com/repos/pingcap/tidb/commits{/sha}","git_commits_url":"https://api.github.com/repos/pingcap/tidb/git/commits{/sha}","comments_url":"https://api.github.com/repos/pingcap/tidb/comments{/number}","issue_comment_url":"https://api.github.com/repos/pingcap/tidb/issues/comments{/number}","contents_url":"https://api.github.com/repos/pingcap/tidb/contents/{+path}","compare_url":"https://api.github.com/repos/pingcap/tidb/compare/{base}...{head}","merges_url":"https://api.github.com/repos/pingcap/tidb/merges","archive_url":"https://api.github.com/repos/pingcap/tidb/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/pingcap/tidb/downloads","issues_url":"https://api.github.com/repos/pingcap/tidb/issues{/number}","pulls_url":"https://api.github.com/repos/pingcap/tidb/pulls{/number}","milestones_url":"https://api.github.com/repos/pingcap/tidb/milestones{/number}","notifications_url":"https://api.github.com/repos/pingcap/tidb/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/pingcap/tidb/labels{/name}","releases_url":"https://api.github.com/repos/pingcap/tidb/releases{/id}","deployments_url":"https://api.github.com/repos/pingcap/tidb/deployments","created_at":"2015-09-06T04:01:52Z","updated_at":"2018-08-13T11:35:44Z","pushed_at":"2018-08-13T11:35:37Z","git_url":"git://github.com/pingcap/tidb.git","ssh_url":"git@github.com:pingcap/tidb.git","clone_url":"https://github.com/pingcap/tidb.git","svn_url":"https://github.com/pingcap/tidb","homepage":"https://pingcap.com","size":79767,"stargazers_count":14366,"watchers_count":14366,"language":"Go","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1993,"mirror_url":null,"archived":false,"open_issues_count":507,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0","node_id":"MDc6TGljZW5zZTI="},"forks":1993,"open_issues":507,"watchers":14366,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/pingcap/tidb/pulls/7276"},"html":{"href":"https://github.com/pingcap/tidb/pull/7276"},"issue":{"href":"https://api.github.com/repos/pingcap/tidb/issues/7276"},"comments":{"href":"https://api.github.com/repos/pingcap/tidb/issues/7276/comments"},"review_comments":{"href":"https://api.github.com/repos/pingcap/tidb/pulls/7276/comments"},"review_comment":{"href":"https://api.github.com/repos/pingcap/tidb/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/pingcap/tidb/pulls/7276/commits"},"statuses":{"href":"https://api.github.com/repos/pingcap/tidb/statuses/49a99ea6882474148a6daf5278dba5f9d80f95a5"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"bb7133"}}