I applied your fix, except that instead of a try/catch, I do a structkeyexists check for dbType. Let me know if you find any other problems.
Blair On Wed, Jun 15, 2011 at 1:59 AM, Matthew Williams < [email protected]> wrote: > I'm proposing a change to install/components/farcryui.cfc > (getDBTypes). It's freaking out in two places, one being a conversion > of an array value to string, the other for the base and default DB > types. The below code worked for me after the change. Basically, I > changed the <cfset stmd> call to use a temp variable so as to pull out > the Array value correctly. The old code (on railo) was complaining > about trying to serialize and array. The other change was to put > dbType additions into a <cftry>. The base/default packages don't have > a DB type and were failing. In addition, you end up with a blank > querycell. Moving the addrow into the loop address the blank value, > and the cftry gracefully fails when there is no dbType assigned to a > gateway. > > <cffunction name="getDBTypes" returntype="query" output="false" > access="public" hint="Returns the key, label, and dbowner usage of all > available database types"> > <cfset var stTypes = structnew() /> > <cfset var thistype = "" /> > <cfset var thisitem = "" /> > <cfset var qDBTypes = > querynew("key,label,usesDBOwner","varchar,varchar,bit") /> > <cfset var stMD = "" /> > <cfset var tmpType="" /> > > <cfset stTypes = > createobject("component","farcry.core.packages.lib.db").getDBTypes() / > > > > <cfloop collection="#stTypes#" item="thistype"> > <cfset tmpType=sttypes[thistype]> > <cfset tmpType=tmpType[1]> > <cfset stMD = > getMetadata(createobject("component",tmpType)) /> > > <cftry> > <cfloop list="#stMD.dbType#" > index="thisitem"> > <cfif listfirst(thisitem,":") eq > thistype> > <cfset queryaddrow(qDBTypes) > /> > <cfset > querysetcell(qDBTypes,"label",listlast(thisitem,":")) /> > </cfif> > </cfloop> > <cfset querysetcell(qDBTypes,"key",thistype) > /> > <cfset > querysetcell(qDBTypes,"usesDBOwner",stMD.usesDBOwner) /> > <cfcatch></cfcatch> > </cftry> > </cfloop> > <cfreturn qDBTypes /> > </cffunction> > > > Matthew Williams > Geodesic GraFX > www.geodesicgrafx.com/blog > > -- > You received this message cos you are subscribed to "farcry-dev" Google > group. > To post, email: [email protected] > To unsubscribe, email: [email protected] > For more options: http://groups.google.com/group/farcry-dev > -------------------------------- > Follow us on Twitter: http://twitter.com/farcry -- You received this message cos you are subscribed to "farcry-dev" Google group. To post, email: [email protected] To unsubscribe, email: [email protected] For more options: http://groups.google.com/group/farcry-dev -------------------------------- Follow us on Twitter: http://twitter.com/farcry
