{"action":"created","issue":{"url":"https://api.github.com/repos/greenplum-db/gpdb/issues/662","repository_url":"https://api.github.com/repos/greenplum-db/gpdb","labels_url":"https://api.github.com/repos/greenplum-db/gpdb/issues/662/labels{/name}","comments_url":"https://api.github.com/repos/greenplum-db/gpdb/issues/662/comments","events_url":"https://api.github.com/repos/greenplum-db/gpdb/issues/662/events","html_url":"https://github.com/greenplum-db/gpdb/pull/662","id":150084709,"number":662,"title":"Fixes to keep OIDs across segments in sync","user":{"login":"hlinnaka","id":191602,"avatar_url":"https://avatars.githubusercontent.com/u/191602?v=3","gravatar_id":"","url":"https://api.github.com/users/hlinnaka","html_url":"https://github.com/hlinnaka","followers_url":"https://api.github.com/users/hlinnaka/followers","following_url":"https://api.github.com/users/hlinnaka/following{/other_user}","gists_url":"https://api.github.com/users/hlinnaka/gists{/gist_id}","starred_url":"https://api.github.com/users/hlinnaka/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hlinnaka/subscriptions","organizations_url":"https://api.github.com/users/hlinnaka/orgs","repos_url":"https://api.github.com/users/hlinnaka/repos","events_url":"https://api.github.com/users/hlinnaka/events{/privacy}","received_events_url":"https://api.github.com/users/hlinnaka/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2016-04-21T14:05:32Z","updated_at":"2016-04-21T14:05:36Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/greenplum-db/gpdb/pulls/662","html_url":"https://github.com/greenplum-db/gpdb/pull/662","diff_url":"https://github.com/greenplum-db/gpdb/pull/662.diff","patch_url":"https://github.com/greenplum-db/gpdb/pull/662.patch"},"body":"To debug issues stemming from objects having different OIDs in segments and master, I added code to print a WARNING whenever an OID is assigned to system object in segments. That should never happen, because the master should assign the OID and pass it to all the segments (although there are some exceptions where the OIDs are not kept in sync). That's the fourth patch in this series.\r\n\r\nThat WARNING revealed a few cases where OIDs are not kept in sync. ALTER TABLE didn't synchronize the OID of the type's array type (1st patch). That was missed when the patch to support array types of composite types was merged from PostgreSQL 8.3. Also, the new operator family -related DDL commands, also merged from PostgreSQL 8.3 some time ago, didn't make any effort to dispatch the commands to segments, so the segments were missing opfamily information altogether (3rd patch). Also, if CREATE OPERATOR needs to create a shell negator or commutator operator, the shell operator's OID was not synchronized (2nd patch).\r\n\r\nFinally, this fixes the install script of the \"isn\" extension (5th patch). The reason it's included in this PR is that I used the isn extension to test CREATE OPERATOR FAMILY/CLASS support, because there were almost no regression tests for those. This PR adds some regression tests, but might as well fix the isn module while we're at it."},"comment":{"url":"https://api.github.com/repos/greenplum-db/gpdb/issues/comments/212935111","html_url":"https://github.com/greenplum-db/gpdb/pull/662#issuecomment-212935111","issue_url":"https://api.github.com/repos/greenplum-db/gpdb/issues/662","id":212935111,"user":{"login":"gpdbdreddbot","id":15618396,"avatar_url":"https://avatars.githubusercontent.com/u/15618396?v=3","gravatar_id":"","url":"https://api.github.com/users/gpdbdreddbot","html_url":"https://github.com/gpdbdreddbot","followers_url":"https://api.github.com/users/gpdbdreddbot/followers","following_url":"https://api.github.com/users/gpdbdreddbot/following{/other_user}","gists_url":"https://api.github.com/users/gpdbdreddbot/gists{/gist_id}","starred_url":"https://api.github.com/users/gpdbdreddbot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gpdbdreddbot/subscriptions","organizations_url":"https://api.github.com/users/gpdbdreddbot/orgs","repos_url":"https://api.github.com/users/gpdbdreddbot/repos","events_url":"https://api.github.com/users/gpdbdreddbot/events{/privacy}","received_events_url":"https://api.github.com/users/gpdbdreddbot/received_events","type":"User","site_admin":false},"created_at":"2016-04-21T14:05:36Z","updated_at":"2016-04-21T14:05:36Z","body":"Hello hlinnaka!\n\nThanks for submitting this pull request! I'm here to inform the recipients of the pull request that you've already signed the CLA.\n"}}