{"action":"created","issue":{"url":"https://api.github.com/repos/rana/ora/issues/85","repository_url":"https://api.github.com/repos/rana/ora","labels_url":"https://api.github.com/repos/rana/ora/issues/85/labels{/name}","comments_url":"https://api.github.com/repos/rana/ora/issues/85/comments","events_url":"https://api.github.com/repos/rana/ora/issues/85/events","html_url":"https://github.com/rana/ora/issues/85","id":151271479,"number":85,"title":"Multiple records of procedure ","user":{"login":"cdtv0833","id":6293029,"avatar_url":"https://avatars.githubusercontent.com/u/6293029?v=3","gravatar_id":"","url":"https://api.github.com/users/cdtv0833","html_url":"https://github.com/cdtv0833","followers_url":"https://api.github.com/users/cdtv0833/followers","following_url":"https://api.github.com/users/cdtv0833/following{/other_user}","gists_url":"https://api.github.com/users/cdtv0833/gists{/gist_id}","starred_url":"https://api.github.com/users/cdtv0833/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cdtv0833/subscriptions","organizations_url":"https://api.github.com/users/cdtv0833/orgs","repos_url":"https://api.github.com/users/cdtv0833/repos","events_url":"https://api.github.com/users/cdtv0833/events{/privacy}","received_events_url":"https://api.github.com/users/cdtv0833/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":9,"created_at":"2016-04-27T00:40:43Z","updated_at":"2016-04-28T04:57:34Z","closed_at":null,"body":"I use ora like this \r\n\r\n      id := make([]int64, 1)\r\n\tfor k, _ := range id {\r\n\t\tid[k] = int64(k + 1)\r\n\t}\r\n\tnames := make([]string, 1)\r\n\tfor k1, _ := range names {\r\n\t\tnames[k1] = \"a\"\r\n\t}\r\n--after oracle conect\r\nstmt, err := ses.Prep(\"begin test(:1,:2);end;\")\r\n_, err = stmt.Exe(id, names)\r\nthere is a error\r\nPLS-00306: wrong number or types of arguments in call to 'test';\r\n\r\nIf i use single mod,It's OK.\r\n\r\nThe multiple mod is  not   supported procedure ?\r\n"},"comment":{"url":"https://api.github.com/repos/rana/ora/issues/comments/215310111","html_url":"https://github.com/rana/ora/issues/85#issuecomment-215310111","issue_url":"https://api.github.com/repos/rana/ora/issues/85","id":215310111,"user":{"login":"tgulacsi","id":256074,"avatar_url":"https://avatars.githubusercontent.com/u/256074?v=3","gravatar_id":"","url":"https://api.github.com/users/tgulacsi","html_url":"https://github.com/tgulacsi","followers_url":"https://api.github.com/users/tgulacsi/followers","following_url":"https://api.github.com/users/tgulacsi/following{/other_user}","gists_url":"https://api.github.com/users/tgulacsi/gists{/gist_id}","starred_url":"https://api.github.com/users/tgulacsi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tgulacsi/subscriptions","organizations_url":"https://api.github.com/users/tgulacsi/orgs","repos_url":"https://api.github.com/users/tgulacsi/repos","events_url":"https://api.github.com/users/tgulacsi/events{/privacy}","received_events_url":"https://api.github.com/users/tgulacsi/received_events","type":"User","site_admin":false},"created_at":"2016-04-28T04:57:34Z","updated_at":"2016-04-28T04:57:34Z","body":"Hmm.\r\n\r\nIt's because I wanted to be able to call stored procedures with arrays. Ora only allowed calling like executemany. When I introduced calling sp with slices, I had to decide which calling mode to use in Exe.\r\nNot it's done by checking the statement's type: if it's a PL/SQL block (starts with DECLARE/BEGIN), then calls with the slices, otherwise like executemany.\r\n\r\nI see several possibilities, with different disadvantages:\r\na) add ExeM (as executemany) to call as executemany, modify Exe to alwasy call sp with slice,\r\nb) add ExeS to call sp with slice, and modify Exe to always call as executemany (old, consistent behaviour),\r\nc) make Exe's behaviour configurable with StmtCfg.\r\n\r\na) is a rude backward-incompatible change,\r\nb) is backwards-incompatible, but call with slice is a very new feature, I think only I use it,\r\nc) is as backwards-incompatible as b) and adds some complexity.\r\n\r\nTL;DR; I'd go with b)."}}