From: Harri P. <har...@tr...> - 2002-04-04 01:15:20
|
I replied to this from home, and the mailing list barked at that, so here it goes again. Sorry if you get it twice. See below for a simple testcase for the presumed bug. -Harri On Tuesday 02 April 2002 14:31, Dave Cole wrote: > > Hello, I think the old problem with calling some stored procedures > > still seems to be there. > > > > Namely, I still can't get any sensible results from calling > > sp_helpindex. The code is something like: > > > > > > def getindex(table): > > print "getindex", table > > c = cnx.cursor() > > c.callproc("sp_helpindex", [table]) > > l = c.fetchall() > > print l > > while c.nextset(): > > l = c.fetchall() > > print l > > > > cnx=Sybase.connect("<server>","<uname>","<pass>") > > cnx.cursor().execute("use mydb") > > > > getindex("mytable") > > Hmm... It Seems To Work For Me With 0.34 (TM) > > >>> import Sybase > >>> db = Sybase.connect('SYBASE', 'sa', '') > >>> db.cursor().execute('use pubs2') > >>> c = db.cursor() > >>> c.callproc('sp_helpindex', ['titles']) > >>> for r in c.fetchall(): > > ... print r > ... > ('titleidind ', 'clustered, unique located on default > ', ' title_id', 0, 0, 0) ('titleind ', 'nonclustered > located on default ', ' title', 0, 0, 0) > > >>> c.nextset() > > 1 > > >>> for r in c.fetchall(): > > ... print r > ... > (0,) > > >>> c.nextset() > > - Dave I finally fished from my disk the old testcase I sent your way last November, which still should exhibit the problem: I wrote: After some tests, I got a fairly minimal test case that should also fail for you. The preceding 'select' somehow throws the 'sp_helpindex' call off balance. -Harri ------8<------8<------8<------8<------8<------8<------8<------8<-------- import Sybase Sybase._ctx.debug = 1 db = Sybase.connect('SYBASE', 'sa', '', 'pubs2') def test(table): print "Test table:", table c = db.cursor() c.execute('select * from '+table) c.fetchall() c.close() cmd = "sp_helpindex %s" % table print db.execute(cmd) test('authors') |