I'm trying to wrap my head around this, so please excuse me for jumping in. If I understand this correctly, the query result is an object placed in memory when execution is complete, and variables.qry is merely a pointer to that object. When the <cfset session.myQry = variables.qry> is executed, a second pointer to the query object is created, in the session scope. When page execution completes, the variables.qry pointer disappears (and I assume is garbage collected at some point), but because the session.myQry pointer still exists in the session scope, the query object remains in memory instead of being garbage collected. Once the session times out, assuming there are no other pointers to the query object existing, it would then be garbage collected.
Is this a correct understanding, or am I completely off my rocker? Thanks, Carl On 3/24/2011 12:59 PM, Brian Kotek wrote: > All complex data types are always passed by reference. Where you set them > makes no difference. (Except arrays, which are passed by value due to a > staggeringly poor decision eons ago.) > > > On Thu, Mar 24, 2011 at 3:49 PM, Eric Cobb<cft...@ecartech.com> wrote: > >> I know that complex data types (structs, CFCs, queries, COM/JavaObjects, >> etc...) are passed by reference, not by value. But I'm wondering how >> that works when storing them in the session scope. >> >> For example, let's say I have a query that returns a really large result >> set, and after that query runs I store the query results as a variable >> in the session scope. >> >> <cfquery name="variables.qry"> >> select * >> FROM bigTable >> </cfquery> >> >> <cfset session.myQry = variables.qry> >> >> Would the above code just create a reference to the result set already >> in memory, or would it actually create a copy of the results in the >> session? > >> In a similar scenario, what would happen if I had a CFC object stored in >> the session, then passed my query results to it to be stored in that >> CFCs "variables" scope? >> >> <cfquery name="variables.qry"> >> select * >> FROM bigTable >> </cfquery> >> >> <cfset session.myCFC.blah(variables.qry)> >> >> -- >> >> Thanks, >> >> Eric Cobb >> http://www.cfgears.com >> Help me make a difference this summer. http://bit.ly/i8dJvQ >> >> >> >> >> > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~| Order the Adobe Coldfusion Anthology now! http://www.amazon.com/Adobe-Coldfusion-Anthology/dp/1430272155/?tag=houseoffusion Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:343255 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/groups/cf-talk/unsubscribe.cfm