Mark Wong wrote:

>I have a situation where I will see a kernel process use 100% of a
>processor on a Linux system when I try to evaluate an expression in a
>CALL statement.  I have not seen a return from calling the stored
>procedure over the course of a weekend.  Here's the example I have put
>together from 7.3.0.25 on a Linux system (RedHat 7.3):
>
>-----
>
>First stored procedure:
>
>CREATE DBPROC osdl_sapdb_test1
>AS
>  VAR some_var FIXED (5);
>SUBTRANS BEGIN;
>  SET some_var = 4;
>  CALL osdl_sapdb_test2_part2(:some_var - 1);
>SUBTRANS END;;
>
>-----
>
>Second stored procedure:
>
>CREATE DBPROC osdl_sapdb_test2_part2(IN some_var FIXED(5))
>AS
>SUBTRANS BEGIN;
>SUBTRANS END;;
>
>-----
>
>Changing to call statement to simply be:
>
>  CALL osdl_sapdb_test2_part2(:some_var);
>
>avoids this issue.  I can collect x_cons output or trace data if someone
>would like me to.

The kernel process indeed runs into in an endless loop 
if you use an expression as parameter of a db-procedure. 
This bug will be fixed soon.
As workaround please evaluate the expression outside the procedure call, i.e. 

CREATE DBPROC osdl_sapdb_test1
AS
  VAR some_var FIXED (5);
      tmp      FIXED (5);
SUBTRANS BEGIN;
  SET some_var = 4;
  SET tmp      = some_var - 1;
  CALL osdl_sapdb_test2_part2(:tmp);
SUBTRANS END;;

Thanks for reporting the bug.

Thomas

-- 
Thomas Anhaus
SAP DB, SAP Labs Berlin
[EMAIL PROTECTED]
http://www.sapdb.org/
_______________________________________________
sapdb.general mailing list
[EMAIL PROTECTED]
http://listserv.sap.com/mailman/listinfo/sapdb.general


_______________________________________________
sapdb.general mailing list
[EMAIL PROTECTED]
http://listserv.sap.com/mailman/listinfo/sapdb.general

Reply via email to