{"action":"created","issue":{"url":"https://api.github.com/repos/IBM-Swift/Swift-Kuery/issues/60","repository_url":"https://api.github.com/repos/IBM-Swift/Swift-Kuery","labels_url":"https://api.github.com/repos/IBM-Swift/Swift-Kuery/issues/60/labels{/name}","comments_url":"https://api.github.com/repos/IBM-Swift/Swift-Kuery/issues/60/comments","events_url":"https://api.github.com/repos/IBM-Swift/Swift-Kuery/issues/60/events","html_url":"https://github.com/IBM-Swift/Swift-Kuery/issues/60","id":210847410,"number":60,"title":"Support efficient multi row inserts/updates","user":{"login":"na-gupta","id":12917107,"avatar_url":"https://avatars1.githubusercontent.com/u/12917107?v=3","gravatar_id":"","url":"https://api.github.com/users/na-gupta","html_url":"https://github.com/na-gupta","followers_url":"https://api.github.com/users/na-gupta/followers","following_url":"https://api.github.com/users/na-gupta/following{/other_user}","gists_url":"https://api.github.com/users/na-gupta/gists{/gist_id}","starred_url":"https://api.github.com/users/na-gupta/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/na-gupta/subscriptions","organizations_url":"https://api.github.com/users/na-gupta/orgs","repos_url":"https://api.github.com/users/na-gupta/repos","events_url":"https://api.github.com/users/na-gupta/events{/privacy}","received_events_url":"https://api.github.com/users/na-gupta/received_events","type":"User","site_admin":false},"labels":[{"id":422553601,"url":"https://api.github.com/repos/IBM-Swift/Swift-Kuery/labels/enhancement","name":"enhancement","color":"84b6eb","default":true}],"state":"open","locked":false,"assignee":{"login":"shmuelk","id":16103068,"avatar_url":"https://avatars2.githubusercontent.com/u/16103068?v=3","gravatar_id":"","url":"https://api.github.com/users/shmuelk","html_url":"https://github.com/shmuelk","followers_url":"https://api.github.com/users/shmuelk/followers","following_url":"https://api.github.com/users/shmuelk/following{/other_user}","gists_url":"https://api.github.com/users/shmuelk/gists{/gist_id}","starred_url":"https://api.github.com/users/shmuelk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/shmuelk/subscriptions","organizations_url":"https://api.github.com/users/shmuelk/orgs","repos_url":"https://api.github.com/users/shmuelk/repos","events_url":"https://api.github.com/users/shmuelk/events{/privacy}","received_events_url":"https://api.github.com/users/shmuelk/received_events","type":"User","site_admin":false},"assignees":[{"login":"shmuelk","id":16103068,"avatar_url":"https://avatars2.githubusercontent.com/u/16103068?v=3","gravatar_id":"","url":"https://api.github.com/users/shmuelk","html_url":"https://github.com/shmuelk","followers_url":"https://api.github.com/users/shmuelk/followers","following_url":"https://api.github.com/users/shmuelk/following{/other_user}","gists_url":"https://api.github.com/users/shmuelk/gists{/gist_id}","starred_url":"https://api.github.com/users/shmuelk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/shmuelk/subscriptions","organizations_url":"https://api.github.com/users/shmuelk/orgs","repos_url":"https://api.github.com/users/shmuelk/repos","events_url":"https://api.github.com/users/shmuelk/events{/privacy}","received_events_url":"https://api.github.com/users/shmuelk/received_events","type":"User","site_admin":false},{"login":"irar2","id":16818592,"avatar_url":"https://avatars2.githubusercontent.com/u/16818592?v=3","gravatar_id":"","url":"https://api.github.com/users/irar2","html_url":"https://github.com/irar2","followers_url":"https://api.github.com/users/irar2/followers","following_url":"https://api.github.com/users/irar2/following{/other_user}","gists_url":"https://api.github.com/users/irar2/gists{/gist_id}","starred_url":"https://api.github.com/users/irar2/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/irar2/subscriptions","organizations_url":"https://api.github.com/users/irar2/orgs","repos_url":"https://api.github.com/users/irar2/repos","events_url":"https://api.github.com/users/irar2/events{/privacy}","received_events_url":"https://api.github.com/users/irar2/received_events","type":"User","site_admin":false}],"milestone":null,"comments":1,"created_at":"2017-02-28T16:59:47Z","updated_at":"2017-03-28T10:14:32Z","closed_at":null,"body":"Could we add Connection APIs to take multiple parameter sets as follows:\r\n\r\n`func execute(query: Query, parametersArray: [[Any?]], onCompletion: @escaping ((QueryResult) -> ()))`\r\n\r\n`func execute(query: Query, parametersArray: [[String: Any?]], onCompletion: @escaping ((QueryResult) -> ()))`\r\n\r\n`func execute(_ raw: String, parametersArray: [[Any?]], onCompletion: @escaping ((QueryResult) -> ()))`\r\n\r\n`func execute(_ raw: String, parametersArray: [[String: Any?]], onCompletion: @escaping ((QueryResult) -> ()))`\r\n\r\nThis will let us do more efficient prepared statement inserts/updates/deletes where we prepare the statement once, and execute it multiple times using different bindings.\r\n\r\nPerhaps we only support this for inserts/updates/deletes and not for selects?\r\n\r\nWe could support selects as well, but that will need changes to QueryResult and ResultSet to be able to return multiple results, and may be more messy than it's worth."},"comment":{"url":"https://api.github.com/repos/IBM-Swift/Swift-Kuery/issues/comments/289725531","html_url":"https://github.com/IBM-Swift/Swift-Kuery/issues/60#issuecomment-289725531","issue_url":"https://api.github.com/repos/IBM-Swift/Swift-Kuery/issues/60","id":289725531,"user":{"login":"irar2","id":16818592,"avatar_url":"https://avatars2.githubusercontent.com/u/16818592?v=3","gravatar_id":"","url":"https://api.github.com/users/irar2","html_url":"https://github.com/irar2","followers_url":"https://api.github.com/users/irar2/followers","following_url":"https://api.github.com/users/irar2/following{/other_user}","gists_url":"https://api.github.com/users/irar2/gists{/gist_id}","starred_url":"https://api.github.com/users/irar2/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/irar2/subscriptions","organizations_url":"https://api.github.com/users/irar2/orgs","repos_url":"https://api.github.com/users/irar2/repos","events_url":"https://api.github.com/users/irar2/events{/privacy}","received_events_url":"https://api.github.com/users/irar2/received_events","type":"User","site_admin":false},"created_at":"2017-03-28T10:14:32Z","updated_at":"2017-03-28T10:14:32Z","body":"Since we work asynchronously, there is a problem with running one query after another without waiting for the results of the previous query being read completely.  We probably need a somewhat complicated loop with callback to avoid this situation. Which makes me wonder if we should support this. There is no problem with inserting multiple rows in one query, we have a couple of APIs for that. And update is multirow by its nature.\r\n@na-gupta What do you think?"}}
{"actor":{"display_login":"irar2"}}