@@ -79,12 +79,12 @@ defmodule Tds.Protocol do
7979
8080 def handle_execute ( % Query { statement: statement } = query , params , opts , % { sock: _sock } = s ) do
8181 params = opts [ :parameters ] || params
82- s = if opts [ :proc ] , do: Map . put_new ( s , :proc , opts [ :proc ] ) , else: s
82+ proc = opts [ :proc ] || nil
8383
84- if params != [ ] do
85- send_param_query ( query , params , s )
86- else
87- send_query ( statement , s )
84+ cond do
85+ params != [ ] and is_nil ( proc ) -> send_param_query ( query , params , s )
86+ not is_nil ( proc ) -> send_proc ( proc , params , s )
87+ true -> send_query ( statement , s )
8888 end
8989 end
9090
@@ -381,9 +381,8 @@ defmodule Tds.Protocol do
381381 # {:ok, %{s | statement: nil, state: :ready}}
382382 #end
383383
384- def send_param_query ( % Query { handle: handle } = _query , params , % { proc: proc } = s ) do
384+ def send_proc ( proc , params , s ) do
385385 params = Tds.Parameter . prepare_params ( params )
386- # msg = msg_rpc(proc: :sp_executesql, params: params)
387386 msg = msg_rpc ( proc: proc , params: params )
388387
389388 case msg_send ( msg , s ) do
0 commit comments