re-use of dbprocess structure (was: Re: [freetds] stateofdbrpcsend())

Joseph Geiser joe at
Thu Jul 15 07:57:46 EDT 2004

> Thanks. I don't know if you prefer to extend rpc.c unittests or just
> write a new one. 
> Some hint:
> - no parameters
> - all input
> - some output
> - mix named parameters with unnamed ones
> - test data (input parameters and output parameters)
> - test result code from procedure
> - different data types

Since I am working in this area, I would suggest one more test be added to
the list.  Here's an example:

Test: Returned resultset from cursor derived in the SP... 


[SP in the DB]

CREATE PROCEDURE [mt_testhash] 
	@hashin varchar(20),

set transaction isolation level read uncommitted
set nocount on

set @hashdata= CURSOR FOR 
	select client_id, prod_id, track_id from hash_master where

open @hashdata

return 0

[Code from TSQL, or other similar code to this]

declare	@cid cursor,
	@returncode int,
	@r_cid int,
	@r_pid int,
	@r_tid varchar(20)
exec mt_testhash @hashin='1h88f0', @hashdata=@cid OUTPUT

fetch next from @cid into @r_cid, @r_pid, @r_tid

print 'Results from the called Stored Procedure'
print ' '
while @@fetch_status=0
	print 'Client ID Returned is ' + cast(@r_cid as char(10))
	print 'Product ID Returned is ' + cast(@r_pid as char(10))
	print 'Track ID Returned is ' + cast(@r_tid as char(10))
	print 'Return Code from the SP is ' + cast(@returncode as char(10))
	fetch next from @cid into @r_cid, @r_pid, @r_tid
close @cid
deallocate @cid

[Expected Results]

Results from the called Stored Procedure

Client ID Returned is 88888
Product ID Returned is 10001
Track ID Returned is test_track_v2
Return Code from the SP is 0

Just my US$0.02 worth...  If you'd like, I'd be happy to test a final beta
with some SPs we're using here, which span the gammut in variety.  

Best Regards,
Joe Geiser

More information about the FreeTDS mailing list