{"action":"created","issue":{"url":"https://api.github.com/repos/esl/MongooseIM/issues/2129","repository_url":"https://api.github.com/repos/esl/MongooseIM","labels_url":"https://api.github.com/repos/esl/MongooseIM/issues/2129/labels{/name}","comments_url":"https://api.github.com/repos/esl/MongooseIM/issues/2129/comments","events_url":"https://api.github.com/repos/esl/MongooseIM/issues/2129/events","html_url":"https://github.com/esl/MongooseIM/pull/2129","id":379912032,"node_id":"MDExOlB1bGxSZXF1ZXN0MjMwMjM3MzU1","number":2129,"title":"pubsub_state RDBMS backend","user":{"login":"fenek","id":548816,"node_id":"MDQ6VXNlcjU0ODgxNg==","avatar_url":"https://avatars0.githubusercontent.com/u/548816?v=4","gravatar_id":"","url":"https://api.github.com/users/fenek","html_url":"https://github.com/fenek","followers_url":"https://api.github.com/users/fenek/followers","following_url":"https://api.github.com/users/fenek/following{/other_user}","gists_url":"https://api.github.com/users/fenek/gists{/gist_id}","starred_url":"https://api.github.com/users/fenek/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fenek/subscriptions","organizations_url":"https://api.github.com/users/fenek/orgs","repos_url":"https://api.github.com/users/fenek/repos","events_url":"https://api.github.com/users/fenek/events{/privacy}","received_events_url":"https://api.github.com/users/fenek/received_events","type":"User","site_admin":false},"labels":[{"id":275953800,"node_id":"MDU6TGFiZWwyNzU5NTM4MDA=","url":"https://api.github.com/repos/esl/MongooseIM/labels/waiting-for-review","name":"waiting-for-review","color":"edd96d","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":7,"created_at":"2018-11-12T19:05:14Z","updated_at":"2018-11-16T06:52:19Z","closed_at":null,"author_association":"MEMBER","pull_request":{"url":"https://api.github.com/repos/esl/MongooseIM/pulls/2129","html_url":"https://github.com/esl/MongooseIM/pull/2129","diff_url":"https://github.com/esl/MongooseIM/pull/2129.diff","patch_url":"https://github.com/esl/MongooseIM/pull/2129.patch"},"body":"This PR adds PubSub RDBMS backend for `pubsub_state` operations.\r\n\r\n- [x] Optimise some calls (e.g. affiliations upsert)\r\n- [x] Update docs\r\n- [x] Add indices to schema\r\n- [x] Add support for MSSQL\r\n- [x] Add support for PgSQL\r\n- [x] Extract SQL queries to separate file\r\n\r\n*Notes:*\r\n\r\n- I have switched the input format of JIDs for backends to `jid:ljid()` as unfortunately `mod_pubsub` is a bit careless about what it passes (`jid()` vs. `ljid()`) to the node implementations. I've decided it makes more sense to reduce `jid()` to `ljid()` when necessary than the other way around.\r\n- At some point `del_state` operation shouldn't be necessary, as items table will be expanded and no longer should be cleared e.g. when a user is removed from the node.\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/esl/MongooseIM/issues/comments/439299445","html_url":"https://github.com/esl/MongooseIM/pull/2129#issuecomment-439299445","issue_url":"https://api.github.com/repos/esl/MongooseIM/issues/2129","id":439299445,"node_id":"MDEyOklzc3VlQ29tbWVudDQzOTI5OTQ0NQ==","user":{"login":"mongoose-im","id":7974164,"node_id":"MDQ6VXNlcjc5NzQxNjQ=","avatar_url":"https://avatars0.githubusercontent.com/u/7974164?v=4","gravatar_id":"","url":"https://api.github.com/users/mongoose-im","html_url":"https://github.com/mongoose-im","followers_url":"https://api.github.com/users/mongoose-im/followers","following_url":"https://api.github.com/users/mongoose-im/following{/other_user}","gists_url":"https://api.github.com/users/mongoose-im/gists{/gist_id}","starred_url":"https://api.github.com/users/mongoose-im/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mongoose-im/subscriptions","organizations_url":"https://api.github.com/users/mongoose-im/orgs","repos_url":"https://api.github.com/users/mongoose-im/repos","events_url":"https://api.github.com/users/mongoose-im/events{/privacy}","received_events_url":"https://api.github.com/users/mongoose-im/received_events","type":"User","site_admin":false},"created_at":"2018-11-16T06:52:19Z","updated_at":"2018-11-16T06:52:19Z","author_association":"NONE","body":"[5865.1](https://travis-ci.org/esl/MongooseIM/jobs/455840203) / Erlang 19.3 / small_tests / 7152aac9e142e53f54b9109c979a91ba682d847f\nReports [root](http://esl.github.io/mongooseim-ct-reports/s3_reports.html?prefix=PR/2129/5865/small_tests.19.3) / [small](https://mongooseim-ct-results.s3-eu-west-1.amazonaws.com/PR/2129/5865/small_tests.19.3/small/ct_run.mongooseim@localhost.2018-11-16_06.45.09/lib.mongooseim.logs/run.2018-11-16_06.45.10/suite.log.html)\n"}}
{"actor":{"display_login":"mongoose-im"}}