@@ -90,12 +90,12 @@ defmodule Tds.Protocol do
9090
9191 def handle_execute ( % Query { statement: statement } = query , params , opts , % { sock: _sock } = s ) do
9292 params = opts [ :parameters ] || params
93- s = if opts [ :proc ] , do: Map . put_new ( s , :proc , opts [ :proc ] ) , else: s
93+ proc = opts [ :proc ] || nil
9494
95- if params != [ ] do
96- send_param_query ( query , params , s )
97- else
98- send_query ( statement , s )
95+ cond do
96+ params != [ ] and is_nil ( proc ) -> send_param_query ( query , params , s )
97+ not is_nil ( proc ) -> send_proc ( proc , params , s )
98+ true -> send_query ( statement , s )
9999 end
100100 end
101101
@@ -392,9 +392,8 @@ defmodule Tds.Protocol do
392392 # {:ok, %{s | statement: nil, state: :ready}}
393393 #end
394394
395- def send_param_query ( % Query { handle: handle } = _query , params , % { proc: proc } = s ) do
395+ def send_proc ( proc , params , s ) do
396396 params = Tds.Parameter . prepare_params ( params )
397- # msg = msg_rpc(proc: :sp_executesql, params: params)
398397 msg = msg_rpc ( proc: proc , params: params )
399398
400399 case msg_send ( msg , s ) do
0 commit comments