--- parser3/www/htdocs/Attic/_bug.html 2004/03/25 11:51:19 1.35 +++ parser3/www/htdocs/Attic/_bug.html 2004/06/23 08:59:52 1.51 @@ -1,66 +1,123 @@ -@auto[] -$request:charset[windows-1251] -$response:charset[windows-1251] - - @main[] -$table[^table::create{pet -cat milk}] -$hash[^table.hash[pet]] -^display[$hash] - -@main[] -^connect[mysql://root@localhost/paf]{ - -$hash[^hash::sql{select 'cat' as pet -#, 'milk' as food -}] -^display_hash[$hash] - - +^connect[oracle://mts_imprimatur2:imp2@mts]{ +# ^in[] +# ^out[] +# ^inout[] +# ^ex[] +# ^ex2[] +# ^ex3[] + ^ex4[] + OK } -@main[] -^connect[mysql://root@localhost/paf]{ - $participants[^hash::sql{select 'feodor' as participant }] +@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)} + ^void:sql{delete from pif} + ^void:sql{call paf(:a)}[ + $.bind[ + $.a[2] + ] + ] + ^int:sql{select count(*) from pif} + "^string:sql{select a from pif}" + +# ^string:sql{select a from paf} + +@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()} -#:даст хеш такой структуры: -$participantsZ[ - $.alex(1) - $.boris(1) -] - -#:из которого можно эффективно извлекать информацию, например, так: -$person[feodor] -$person ^if($participants.$person){участвует}{не участвует} в мероприятии -} +@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()} -@display_hash[hash] -#$hash.a.a -^hash.foreach[k;v]{hash $k=( -^if($v is hash){^display_hash[$v]}{ -^if($v is bool){bool ^if($v){true;false}}{string $v} -} -}[,] - -)^#0A}] - - -@main[] -$name[ Вася ] -"$name" -"^name.trim[]" - -$path[/section/subsection/] -^path.trim[end;/] - -@main[] -$xdoc[^xdoc::create{ - - string - -}] -$xdoc.search-namespaces.s[urn:special] -^xdoc.selectString[string(//s:code)]