{"action":"created","issue":{"url":"https://api.github.com/repos/elsen-trading/pgstream/issues/2","labels_url":"https://api.github.com/repos/elsen-trading/pgstream/issues/2/labels{/name}","comments_url":"https://api.github.com/repos/elsen-trading/pgstream/issues/2/comments","events_url":"https://api.github.com/repos/elsen-trading/pgstream/issues/2/events","html_url":"https://github.com/elsen-trading/pgstream/pull/2","id":105580064,"number":2,"title":"PG int2 requires Int16 to fit the full range","user":{"login":"timmytofu","id":439208,"avatar_url":"https://avatars.githubusercontent.com/u/439208?v=3","gravatar_id":"","url":"https://api.github.com/users/timmytofu","html_url":"https://github.com/timmytofu","followers_url":"https://api.github.com/users/timmytofu/followers","following_url":"https://api.github.com/users/timmytofu/following{/other_user}","gists_url":"https://api.github.com/users/timmytofu/gists{/gist_id}","starred_url":"https://api.github.com/users/timmytofu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/timmytofu/subscriptions","organizations_url":"https://api.github.com/users/timmytofu/orgs","repos_url":"https://api.github.com/users/timmytofu/repos","events_url":"https://api.github.com/users/timmytofu/events{/privacy}","received_events_url":"https://api.github.com/users/timmytofu/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":4,"created_at":"2015-09-09T11:43:26Z","updated_at":"2015-09-09T15:33:07Z","closed_at":"2015-09-09T14:37:49Z","pull_request":{"url":"https://api.github.com/repos/elsen-trading/pgstream/pulls/2","html_url":"https://github.com/elsen-trading/pgstream/pull/2","diff_url":"https://github.com/elsen-trading/pgstream/pull/2.diff","patch_url":"https://github.com/elsen-trading/pgstream/pull/2.patch"},"body":""},"comment":{"url":"https://api.github.com/repos/elsen-trading/pgstream/issues/comments/138948573","html_url":"https://github.com/elsen-trading/pgstream/pull/2#issuecomment-138948573","issue_url":"https://api.github.com/repos/elsen-trading/pgstream/issues/2","id":138948573,"user":{"login":"sdiehl","id":236767,"avatar_url":"https://avatars.githubusercontent.com/u/236767?v=3","gravatar_id":"","url":"https://api.github.com/users/sdiehl","html_url":"https://github.com/sdiehl","followers_url":"https://api.github.com/users/sdiehl/followers","following_url":"https://api.github.com/users/sdiehl/following{/other_user}","gists_url":"https://api.github.com/users/sdiehl/gists{/gist_id}","starred_url":"https://api.github.com/users/sdiehl/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sdiehl/subscriptions","organizations_url":"https://api.github.com/users/sdiehl/orgs","repos_url":"https://api.github.com/users/sdiehl/repos","events_url":"https://api.github.com/users/sdiehl/events{/privacy}","received_events_url":"https://api.github.com/users/sdiehl/received_events","type":"User","site_admin":false},"created_at":"2015-09-09T15:33:07Z","updated_at":"2015-09-09T15:33:07Z","body":"I basically wrote this library because the postgresql-simple libpq marshaling was particularly inefficient for certain composite structures (rows, vectors). So then I found the ``postgresql-binary`` library which was much more efficient and decided to rebase a postgresql-simple like API on top of it and it seems to yield like 10-15x improvement for large streaming cursor queries.\r\n\r\nAs far as my goals, long term I'd like to build a mid-level API on top for constructing queries in a type-safe way that was basically just idiomatic Haskell instead of having to go through source strings or TemplateHaskell. Opaleye get's pretty close ... don't know if you've looked at that approach yet but it's pretty nice although it's use of -XArrows is a little eccentric."}}