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

Reply via email to