Subroutine cannot call itself recursively
-----------------------------------------

                 Key: CORE-5380
                 URL: http://tracker.firebirdsql.org/browse/CORE-5380
             Project: Firebird Core
          Issue Type: Bug
    Affects Versions: 3.0.1
         Environment: Firebird 3.0.1, tested on Linux Mint 18 64-bit (but I 
believe this has nothing to do with OS).
            Reporter: Zoran Vučenović


Sub-routines cannot use recursion.
For example this will not compile:

create or alter function factoriel(n int)
returns int
as
  declare function subfactoriel(n int)
  returns int
  as
  begin
    if (n = 0) then
      return 1;
    else
      return n * subfactoriel(n - 1); --this line cannot compile
  end

begin
  if (n < 0) then
    return 0;
  else
    return subfactoriel(n);
end

As this subroutines' limitation is not mentioned in documentation (here: 
http://www.firebirdsql.org/file/documentation/release_notes/html/en/3_0/rnfb30-psql-subroutines.html),
 I think it is a bug.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://tracker.firebirdsql.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most 
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to