>> We stopped using the centralized "type index"-collections in favor of our
>> own collection (one per DB-instance) where we "CFINDEX" the concatenation
of
>> the content of all indexed props of an object.
>Isn't that what the allTypes collection is for?
Yes and No:
(a) Spectra 1.01 only used the "global tags" cfa_alltypesearch.cfm and
cfa_typeindexall.cfm,
while more granular access (-> cfa_typeindexAllkeyupdate.cfm, ...)
was introduced in Spectra 1.5.
But we needed that functionality even on Spectra 1.01.
(b) We wanted to go "one step further", i.e. using ONE verity
"key-body"-pair per OBJECT, not per PROPERTY
to keep the collections smaller and better performing.
[Pseudo-Code]
Spectra 1.5 (cfa_typeindexAllkeyupdate.cfm)
....
<CFLOOP QUERY="qObjectData">
<CFLOOP List="#lProperties#" Index="property">
...
<CFSCRIPT>
QueryAddRow(qAllProperties);
QuerySetCell(qAllProperties, "ObjectID",
qObjectData.objectID & Chr(1) & property);
...
QuerySetCell(qAllProperties, "PropertyValue",
stThisObject[property]);
...
</CFSCRIPT>
</CFLOOP>
</CFLOOP>
<CFINDEX ...>
....
our approach (GateBuilder)
....
<CFLOOP QUERY="qObjectData">
<cfset theBody = "">
<CFLOOP List="#lProperties#" Index="property">
<!--- concatenate all content from indexed props ... --->
<cfset theBody = theBody & ...>
...
</CFLOOP>
<CFSCRIPT>
QueryAddRow(qAllProperties);
QuerySetCell(qAllProperties, "ObjectID", qObjectData.objectID &
Chr(1) & property);
...
QuerySetCell(qAllProperties, "Body", theBody);
...
</CFSCRIPT>
</CFLOOP>
<CFINDEX ...>
....
.... and that really makes a difference ;-)
Regards,
-pt
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Structure your ColdFusion code with Fusebox. Get the official book at
http://www.fusionauthority.com/bkinfo.cfm
------------------------------------------------------------------------------
To Unsubscribe visit
http://www.houseoffusion.com/index.cfm?sidebar=lists&body=lists/spectra_talk or send a
message to [EMAIL PROTECTED] with 'unsubscribe' in the body.