>>>>> "Chris" == Chris Withers <[EMAIL PROTECTED]> writes: Chris> Terry Jones wrote: >> Usually you find database records by means of the record's key. >> However, the key that you use for your record will not always contain >> the information required to provide you with rapid access to the data >> that you want to retrieve.
Chris> Ah, okay, you do this with multiple BTrees in Zope, unless you want Chris> to swallow the whole ZCatalog... I think I'll roll my own, at least for now. I don't want to use ZCatalog for the indexing part, at least not yet. The BaseIndex class in src/zope/app/catalog/README.txt of the Zope3 SVN tree illustrates pretty much all I need right now. See, I'm still relying on reading the docs :-) | >> For example, suppose your database contains | >> records related to users. The key might be a string that is some unique | >> identifier for the person, such as a user ID. | | Chris> from BTrees.IOBTree import IOBTree | Chris> chris = object() | | Chris> id2user = IOBTree() | Chris> id2user[1234] = chris | | >> is, by the information stored in the key), it may also on occasion want | >> to location people by, say, their name. | | Chris> from BTrees.OOBTree import OOBTree, OOSet | Chris> name2user = OOBTree() | Chris> name2user['chris'] = chris | | Chris> Now, if you have more than one value, you use a set: | | Chris> dan = object() | Chris> age2user = OOBTree() | Chris> age2user[27] = OOSet(chris,dan) Thanks for the code too. Terry _______________________________________________ Zope maillist - [email protected] http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
