Robert:

If the point of the recursion was to traverse a hierarchical structure in a
database, than you might want to move that part of the code to the database.
How you would accomplish this depends on the database platform that you are
using.  Oracle supports a CONNECT BY clause in SELECT statements that makes
single-parent hierarchy traversal a snap.  In SQL-Server & Sybase, you could
write a stored procedure that performs the recursion for you.  In Access,
you can probably write a macro or something.

The benefit to this is that you make only a single call to the DB, you end
up with a single query result set containing all of your data, and you
offload data processing responsibilities to the server that knows how to
best process data.

Good luck.

--
Mosh Teitelbaum
evoch, LLC
Tel: (301) 625-9191
Fax: (301) 933-3651
Email: [EMAIL PROTECTED]
WWW: http://www.evoch.com/


> -----Original Message-----
> From: Robert Polickoski [mailto:[EMAIL PROTECTED]]
> Sent: Friday, September 13, 2002 1:41 PM
> To: CF-Talk
> Subject: RE: Recursion
>
>
> All,
>
> Thank you for your responses to my inquiry.
>
> As it turns out, the CFSCRIPT option is not viable because the
> point of the recursion was querying a database for records that
> represented subordinate records which might have subordinate
> records of their own.
>
> The cfmodule seems to take forever and therefore is not practical.
>
> In the end, I will have to change the design of the application.
> However, that is not necessarily a bad thing.  However, it does
> make me appreciate the changes in CFMX.
>
> Again, thank you all for your responses.
>
>
>
> ---------- Original Message ----------------------------------
> From: Mosh Teitelbaum <[EMAIL PROTECTED]>
> Reply-To: [EMAIL PROTECTED]
> Date:  Thu, 12 Sep 2002 15:45:57 -0400
>
> >Or, you could rewrite the function without recursion.  Just thought I'd
> >mention it as another alternative.
> >
> >--
> >Mosh Teitelbaum
> >evoch, LLC
> >Tel: (301) 625-9191
> >Fax: (301) 933-3651
> >Email: [EMAIL PROTECTED]
> >WWW: http://www.evoch.com/
> >
> >
> >> -----Original Message-----
> >> From: Dave Watts [mailto:[EMAIL PROTECTED]]
> >> Sent: Thursday, September 12, 2002 2:23 PM
> >> To: CF-Talk
> >> Subject: RE: Recursion
> >>
> >>
> >> > I wrote this really neat recursive function using the
> >> > <cffunction> tag on my development system which is running
> >> > CFMX on WindowsXP Pro.  When I ported to the operational host
> >> > (third party), I discovered that they were running a previous
> >> > version of CF (I do not know which) which does not support
> >> > the new tag.  Does anybody know how to do recursion without
> >> > the <cffunction> tag?
> >>
> >> If your recursive function is relatively simple, you can
> probably write it
> >> as a CF 5-compliant user-defined function, using CFSCRIPT.
> >> CFSCRIPT is a tag
> >> in which you can write CF commands using a JavaScript-like
> language, which
> >> uses the same syntax and control flow structures as
> JavaScript, but uses
> >> CFML operators and expressions. You can't use CFML tags within
> a CFSCRIPT
> >> tag, though, and CFSCRIPT doesn't support all the things you
> can do with
> >> CFML tags, such as querying a database. Keep in mind that the
> host would
> >> have to be using CF 5 or higher for this to work.
> >>
> >> Alternatively, you could write a recursive custom tag. However,
> >> this is the
> >> least desirable alternative, as custom tags don't provide any built-in
> >> ability to return values (you can write that ability into your
> >> code, though)
> >> and they tend to negatively affect performance. Nevertheless,
> if you need
> >> recursion and you're using a version of CF prior to 5, that's
> the only way
> >> you can do it within CFML.
> >>
> >> Dave Watts, CTO, Fig Leaf Software
> >> http://www.figleaf.com/
> >> voice: (202) 797-5496
> >> fax: (202) 797-5444
> >>
> >>
> >
> 
______________________________________________________________________
Structure your ColdFusion code with Fusebox. Get the official book at 
http://www.fusionauthority.com/bkinfo.cfm
FAQ: http://www.thenetprofits.co.uk/coldfusion/faq
Archives: http://www.mail-archive.com/cf-talk@houseoffusion.com/
Unsubscribe: http://www.houseoffusion.com/index.cfm?sidebar=lists

Reply via email to