{"action":"created","issue":{"url":"https://api.github.com/repos/pgjdbc/pgsql2/issues/19","repository_url":"https://api.github.com/repos/pgjdbc/pgsql2","labels_url":"https://api.github.com/repos/pgjdbc/pgsql2/issues/19/labels{/name}","comments_url":"https://api.github.com/repos/pgjdbc/pgsql2/issues/19/comments","events_url":"https://api.github.com/repos/pgjdbc/pgsql2/issues/19/events","html_url":"https://github.com/pgjdbc/pgsql2/pull/19","id":346870043,"node_id":"MDExOlB1bGxSZXF1ZXN0MjA1NjI2MDQw","number":19,"title":"NioLoop","user":{"login":"sagenschneider","id":617056,"node_id":"MDQ6VXNlcjYxNzA1Ng==","avatar_url":"https://avatars1.githubusercontent.com/u/617056?v=4","gravatar_id":"","url":"https://api.github.com/users/sagenschneider","html_url":"https://github.com/sagenschneider","followers_url":"https://api.github.com/users/sagenschneider/followers","following_url":"https://api.github.com/users/sagenschneider/following{/other_user}","gists_url":"https://api.github.com/users/sagenschneider/gists{/gist_id}","starred_url":"https://api.github.com/users/sagenschneider/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sagenschneider/subscriptions","organizations_url":"https://api.github.com/users/sagenschneider/orgs","repos_url":"https://api.github.com/users/sagenschneider/repos","events_url":"https://api.github.com/users/sagenschneider/events{/privacy}","received_events_url":"https://api.github.com/users/sagenschneider/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":4,"created_at":"2018-08-02T05:57:31Z","updated_at":"2018-08-02T10:09:42Z","closed_at":null,"author_association":"NONE","pull_request":{"url":"https://api.github.com/repos/pgjdbc/pgsql2/pulls/19","html_url":"https://github.com/pgjdbc/pgsql2/pull/19","diff_url":"https://github.com/pgjdbc/pgsql2/pull/19.diff","patch_url":"https://github.com/pgjdbc/pgsql2/pull/19.patch"},"body":"Initial work for #18    See NioLoopTest  for example of this PR working.\r\n\r\nNote: this does break existing tests.   However, I'd like to discuss architecture of the driver before doing too much more, as:\r\n  - should provide separation between the asynchronous API \"promises\" of the ADBA spec and the actual submissions going over the wire\r\n  - current state mechanism is considering only a request at a time, however as per NioLoopTest is shows that potential for pipelining requests (allowing multiple requests to be in flight to improve performance).   Unashamedly, this is why I've taking interest in this project, so will need some convincing why pipelining should not be supported ;)\r\n\r\nNote: I'm not fully across the ADBA spec.  I currently write high performance networking code (HTTP driver is currently fastest for sending XML responses in TechEmpower - due to very good buffer management and low CPU costs to parse HTTP messages).   I want to help in this regards to get the pgsql2 driver high performing :)\r\n\r\nI'll write my thoughts shortly on #18 on what I'd see the architecture might be to help get discussions going :)  \r\n\r\nNote: again raising this PR for you to have some level of working code.  It's only what I could put together in limited time over the last two nights.  I, however, hope it helps you understand what I'm thinking and I'll put up a more complete description on #18 "},"comment":{"url":"https://api.github.com/repos/pgjdbc/pgsql2/issues/comments/409876973","html_url":"https://github.com/pgjdbc/pgsql2/pull/19#issuecomment-409876973","issue_url":"https://api.github.com/repos/pgjdbc/pgsql2/issues/19","id":409876973,"node_id":"MDEyOklzc3VlQ29tbWVudDQwOTg3Njk3Mw==","user":{"login":"sagenschneider","id":617056,"node_id":"MDQ6VXNlcjYxNzA1Ng==","avatar_url":"https://avatars1.githubusercontent.com/u/617056?v=4","gravatar_id":"","url":"https://api.github.com/users/sagenschneider","html_url":"https://github.com/sagenschneider","followers_url":"https://api.github.com/users/sagenschneider/followers","following_url":"https://api.github.com/users/sagenschneider/following{/other_user}","gists_url":"https://api.github.com/users/sagenschneider/gists{/gist_id}","starred_url":"https://api.github.com/users/sagenschneider/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sagenschneider/subscriptions","organizations_url":"https://api.github.com/users/sagenschneider/orgs","repos_url":"https://api.github.com/users/sagenschneider/repos","events_url":"https://api.github.com/users/sagenschneider/events{/privacy}","received_events_url":"https://api.github.com/users/sagenschneider/received_events","type":"User","site_admin":false},"created_at":"2018-08-02T10:09:42Z","updated_at":"2018-08-02T10:09:42Z","author_association":"NONE","body":"This reporting is the use case for what I'm interested in for ADBA (so can pull data from multiple databases of differing vendors by OfficeFloor... with it's much more flexible threading models via thread injection - http://officefloor.net/about.html ).\r\n\r\nAlso, slightly unashamedly, I'm looking for a high performance PostgreSql driver capable of reaching between 700K-800K selects per second for the TechEmpower benchmark tests.   I'm not finding anything out there, so looking to help build one :)"}}
{"actor":{"display_login":"sagenschneider"}}