--- parser3/www/htdocs/Attic/_bug.html 2004/06/18 15:55:47 1.48 +++ parser3/www/htdocs/Attic/_bug.html 2004/06/23 08:59:52 1.51 @@ -1,4 +1,23 @@ +@main[] ^connect[oracle://mts_imprimatur2:imp2@mts]{ +# ^in[] +# ^out[] +# ^inout[] +# ^ex[] +# ^ex2[] +# ^ex3[] + ^ex4[] + OK +} + +@inp[] +create table pif(a integer); +create or replace procedure paf(a in integer) as begin +insert into pif (a) values (:a); +end; +/ + +@in[] # ^void:sql{create table paf(a clob)} # ^void:sql{insert into paf (a) values (/**a**/'a')} # ^void:sql{insert into paf (a) values (:unk)} @@ -12,5 +31,93 @@ "^string:sql{select a from pif}" # ^string:sql{select a from paf} - OK + +@outp[] +create or replace procedure pafm(ai in integer,ao out integer) as begin +ao:=ai; +end; +/ +@out[] + $vars[ + $.ai(2222) + $.ao[sad] + ] + ^void:sql{call pafm(:ai,:ao)}[ + $.bind[$vars] + ] + "$vars.ai" + "$vars.ao" + +# ^string:sql{select a from paf} + +@inoutp[] +create or replace procedure pafio(aio in out integer) as begin +aio:=aio*2; +end; +/ +@inout[] + $vars[ + $.aio(2222) + ] + before "$vars.aio"
+ ^void:sql{call pafio(:aio)}[ + $.bind[$vars] + ] + after "$vars.aio" + +# ^string:sql{select a from paf} + +@exp[] +create or replace procedure pafex is +begin +DECLARE + out_of_stock EXCEPTION; +begin + raise out_of_stock; + end; +end; +/ +@ex[] +^void:sql{ +begin +pafex^; +end^; } +@ex[] +^void:sql{call pafex()} + +@exp2[] +create or replace procedure pafex2 is +begin + raise ZERO_DIVIDE; +end; +/ +@ex2[] +^void:sql{call pafex2()} + + +@exp3[] +create or replace procedure pafex3 is +begin +DECLARE + out_of_stock EXCEPTION; + PRAGMA EXCEPTION_INIT(out_of_stock, -333); +begin + raise out_of_stock; + end; +end; +/ +@ex3[] +^void:sql{call pafex3()} + + +@exp4[] +create or replace procedure pafex4 is +begin + raise_application_error(-20444, 'Salary is missing'); +end; +/ +@ex4[] +^void:sql{call pafex4()} + +