{"action":"created","issue":{"url":"https://api.github.com/repos/robconery/moebius/issues/47","labels_url":"https://api.github.com/repos/robconery/moebius/issues/47/labels{/name}","comments_url":"https://api.github.com/repos/robconery/moebius/issues/47/comments","events_url":"https://api.github.com/repos/robconery/moebius/issues/47/events","html_url":"https://github.com/robconery/moebius/issues/47","id":124600992,"number":47,"title":"Remove Postgrex in favor of epgsql","user":{"login":"robconery","id":78586,"avatar_url":"https://avatars.githubusercontent.com/u/78586?v=3","gravatar_id":"","url":"https://api.github.com/users/robconery","html_url":"https://github.com/robconery","followers_url":"https://api.github.com/users/robconery/followers","following_url":"https://api.github.com/users/robconery/following{/other_user}","gists_url":"https://api.github.com/users/robconery/gists{/gist_id}","starred_url":"https://api.github.com/users/robconery/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/robconery/subscriptions","organizations_url":"https://api.github.com/users/robconery/orgs","repos_url":"https://api.github.com/users/robconery/repos","events_url":"https://api.github.com/users/robconery/events{/privacy}","received_events_url":"https://api.github.com/users/robconery/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/robconery/moebius/labels/bug","name":"bug","color":"fc2929"},{"url":"https://api.github.com/repos/robconery/moebius/labels/enhancement","name":"enhancement","color":"84b6eb"}],"state":"open","locked":false,"assignee":{"login":"robconery","id":78586,"avatar_url":"https://avatars.githubusercontent.com/u/78586?v=3","gravatar_id":"","url":"https://api.github.com/users/robconery","html_url":"https://github.com/robconery","followers_url":"https://api.github.com/users/robconery/followers","following_url":"https://api.github.com/users/robconery/following{/other_user}","gists_url":"https://api.github.com/users/robconery/gists{/gist_id}","starred_url":"https://api.github.com/users/robconery/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/robconery/subscriptions","organizations_url":"https://api.github.com/users/robconery/orgs","repos_url":"https://api.github.com/users/robconery/repos","events_url":"https://api.github.com/users/robconery/events{/privacy}","received_events_url":"https://api.github.com/users/robconery/received_events","type":"User","site_admin":false},"milestone":null,"comments":8,"created_at":"2016-01-02T17:21:58Z","updated_at":"2016-01-11T20:49:14Z","closed_at":null,"body":"The Postgrex driver works OK for the most part, but the date/time limitations are frustrating (can only use it's struct and not a string) and the type limitations are *extremely frustrating* - throwing when encountering `tsvector` for instance and not understanding that a string should be an atom.\r\n\r\nI've thought about forking it but don't want to do a driver myself; and `epgsql` has been around forever so... let's give it a whirl and see if it will work for us. I'd love to be able to let people work with dates in a better way - that's the prime motivator."},"comment":{"url":"https://api.github.com/repos/robconery/moebius/issues/comments/170685541","html_url":"https://github.com/robconery/moebius/issues/47#issuecomment-170685541","issue_url":"https://api.github.com/repos/robconery/moebius/issues/47","id":170685541,"user":{"login":"josevalim","id":9582,"avatar_url":"https://avatars.githubusercontent.com/u/9582?v=3","gravatar_id":"","url":"https://api.github.com/users/josevalim","html_url":"https://github.com/josevalim","followers_url":"https://api.github.com/users/josevalim/followers","following_url":"https://api.github.com/users/josevalim/following{/other_user}","gists_url":"https://api.github.com/users/josevalim/gists{/gist_id}","starred_url":"https://api.github.com/users/josevalim/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/josevalim/subscriptions","organizations_url":"https://api.github.com/users/josevalim/orgs","repos_url":"https://api.github.com/users/josevalim/repos","events_url":"https://api.github.com/users/josevalim/events{/privacy}","received_events_url":"https://api.github.com/users/josevalim/received_events","type":"User","site_admin":false},"created_at":"2016-01-11T20:49:14Z","updated_at":"2016-01-11T20:49:14Z","body":"> Afaik, once you talk to postgresql over the binary protocol, it becomes more\r\nrestrict. That's why you can't do things Iike: \"SELECT $1 + $2\". So in your\r\nexample above, postgresql itself would expect a date, exclusively.\r\n\r\nI have just confirmed this is exactly how postgresql works when you are talking\r\nto it over the tcp binary protocol. So the decisions that are making you little mental\r\nare **coming directly from postgres**. :) In this case, you can't send a string where\r\na date is expected. You would first need to parse and convert it explicitly to a type,\r\nwhich is exactly what postgrex allows you to do with the extensions mechanism."}}