proc advance debug capabilities ?

From: noctem <blackhole_at_nomail.invalid>
Date: Sat, 25 Jun 2005 02:49:41 +0200
Message-ID: <d9i93n$obo$1_at_biggoron.nerim.net>



Hello,

My question is about how to *fully debug* what happened in sql statements in proc programs ...
I use sqlgls function to output sql statements but I'd like to know if there's a way to output bind variables (without knowing how many for example because of dyn method 2/3)) ?
I did not find any documentation about that :(

I've noticed that proc generates code for each bind variable for each statement and It looks like (<xx> refer to changing part) : /**/

  sqlstm.sqhstv[6] = (unsigned char  *)&g_sMyVariable;
  sqlstm.sqhstl[6] = (unsigned long )10;
  sqlstm.sqhsts[6] = (         int  )0;
  sqlstm.sqindv[6] = (         short *)0;
  sqlstm.sqinds[6] = (         int  )0;
  sqlstm.sqharm[6] = (unsigned long )0;
  sqlstm.sqadto[6] = (unsigned short )0;
  sqlstm.sqtdso[6] = (unsigned short )0;

/* => mean => */

  sqlstm.sqhstv[<bind var pos (start _at_0)>] = (unsigned char *)&<bind variable name>;
  sqlstm.sqhstl[<bind var pos (start _at_0)>] = (unsigned long )<???>;
  sqlstm.sqhsts[<bind var pos (start _at_0)>] = (         int  )<???>;
  sqlstm.sqindv[<bind var pos (start _at_0)>] = (         short *)<???>;
  sqlstm.sqinds[<bind var pos (start _at_0)>] = (         int  )<???>;
  sqlstm.sqharm[<bind var pos (start _at_0)>] = (unsigned long )<???>;
  sqlstm.sqadto[<bind var pos (start _at_0)>] = (unsigned short )<???>;
  sqlstm.sqtdso[<bind var pos (start _at_0)>] = (unsigned short )<???>;

Is there a way to scan for sqhstv table knowing data type, and be sure not to overrun ?

[Quoted] [Quoted] Moreover I do not want to alter database cfg with package like dbms_system (for example, no sys.dbms_system.set_ev( < sid >,< serial >, 10046, < trace level >=4 >, '')).

Thanks for help !

z. Received on Sat Jun 25 2005 - 02:49:41 CEST

Original text of this message