Karol, If user code something wrongly or create inifinite loops, wrongly results he/she will have, no matter how things are defined.
I like your opinion to not limit to only one input parameters. This limitation seems to not have sense. Adriano On 28/09/2018 16:33, Karol Bieniaszewski wrote: > > Hi, > > > > First – good concept 😊 > > > > But, how this will work? > > In every WHILE loop, engine will lock loop until next row is > „fetched” and susspend is called? > > I do not know if you understand me? > > > > What if function will do not call susspend at all or do not run while > loop properly? > > > > Maybe this can be done simpler without while do? Assuming that > function is in WHILE .. DO .. already and every „call to function” do > susspend. > > Also why limiting to only one parameter? > > > > Lets introduce: > > agg_finished – is true in last row in agg grouping level > > agg_i – row numer in the current grouping level > > > > Lets assume: > > Variables are „declared” only once per group level only body is called. > > > > /* while (not agg_finished) do */ > > create aggregate function custom_count_plus_1000 (i integer) returns (o > > integer) > > as > > Begin > > If (agg_i<=1) then > > Begin > > --init vars and more > > o = 0; > > end; > > -- here body of this function > > -- do whatever you want > > o= o + 1; > > > > if (agg_finished) then > > o = o + 1000; > > end > > > > Maybe you can mix this with your proposition > > > > > > Regards, > > Karol Bieniaszewski > > > > > > > > > > Firebird-Devel mailing list, web interface at > https://lists.sourceforge.net/lists/listinfo/firebird-devel Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel