{"action":"closed","issue":{"url":"https://api.github.com/repos/npgsql/npgsql/issues/481","labels_url":"https://api.github.com/repos/npgsql/npgsql/issues/481/labels{/name}","comments_url":"https://api.github.com/repos/npgsql/npgsql/issues/481/comments","events_url":"https://api.github.com/repos/npgsql/npgsql/issues/481/events","html_url":"https://github.com/npgsql/npgsql/issues/481","id":57257164,"number":481,"title":"Send timeout, transaction in same roundtrip with query","user":{"login":"roji","id":1862641,"avatar_url":"https://avatars.githubusercontent.com/u/1862641?v=3","gravatar_id":"","url":"https://api.github.com/users/roji","html_url":"https://github.com/roji","followers_url":"https://api.github.com/users/roji/followers","following_url":"https://api.github.com/users/roji/following{/other_user}","gists_url":"https://api.github.com/users/roji/gists{/gist_id}","starred_url":"https://api.github.com/users/roji/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/roji/subscriptions","organizations_url":"https://api.github.com/users/roji/orgs","repos_url":"https://api.github.com/users/roji/repos","events_url":"https://api.github.com/users/roji/events{/privacy}","received_events_url":"https://api.github.com/users/roji/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/npgsql/npgsql/labels/performance","name":"performance","color":"bfe5bf"}],"state":"closed","locked":false,"assignee":{"login":"roji","id":1862641,"avatar_url":"https://avatars.githubusercontent.com/u/1862641?v=3","gravatar_id":"","url":"https://api.github.com/users/roji","html_url":"https://github.com/roji","followers_url":"https://api.github.com/users/roji/followers","following_url":"https://api.github.com/users/roji/following{/other_user}","gists_url":"https://api.github.com/users/roji/gists{/gist_id}","starred_url":"https://api.github.com/users/roji/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/roji/subscriptions","organizations_url":"https://api.github.com/users/roji/orgs","repos_url":"https://api.github.com/users/roji/repos","events_url":"https://api.github.com/users/roji/events{/privacy}","received_events_url":"https://api.github.com/users/roji/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/npgsql/npgsql/milestones/11","html_url":"https://github.com/npgsql/npgsql/milestones/3.0-beta1","labels_url":"https://api.github.com/repos/npgsql/npgsql/milestones/11/labels","id":1045772,"number":11,"title":"3.0-beta1","description":"","creator":{"login":"roji","id":1862641,"avatar_url":"https://avatars.githubusercontent.com/u/1862641?v=3","gravatar_id":"","url":"https://api.github.com/users/roji","html_url":"https://github.com/roji","followers_url":"https://api.github.com/users/roji/followers","following_url":"https://api.github.com/users/roji/following{/other_user}","gists_url":"https://api.github.com/users/roji/gists{/gist_id}","starred_url":"https://api.github.com/users/roji/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/roji/subscriptions","organizations_url":"https://api.github.com/users/roji/orgs","repos_url":"https://api.github.com/users/roji/repos","events_url":"https://api.github.com/users/roji/events{/privacy}","received_events_url":"https://api.github.com/users/roji/received_events","type":"User","site_admin":false},"open_issues":17,"closed_issues":60,"state":"open","created_at":"2015-03-30T23:13:02Z","updated_at":"2015-04-10T05:57:31Z","due_on":null,"closed_at":null},"comments":2,"created_at":"2015-02-10T23:54:45Z","updated_at":"2015-04-10T05:57:31Z","closed_at":"2015-04-10T05:57:31Z","body":"Npgsql currently sends certain messages in an independent roundtrip:\r\n\r\n* Begin transaction\r\n* Set statement timeout\r\n\r\nThese messages can be prepended as part of the actual query's roundtrip, saving an additional roundtrip. In other words, starting a transaction or setting the timeout shouldn't actually send anything, but rather arrange for the proper message to be sent when the next query is sent, in the same message chain.\r\n\r\nThe only drawback seems to be that errors (e.g. \"nested transactions not supported\") are generated later, when the query is submitted, rather than at the point when BeginTransaction() is called.\r\n\r\nAny comments?"}}