-Matt
On Tuesday, June 17, 2003, at 09:24 PM, [EMAIL PROTECTED] wrote:
Tuesday, June 17, 2003, 8:30:04 PM, you wrote:
AC> I'm still interested to know how the "build a key out of a hash of the
AC> node and its depth in the tree" (or whatever it is... I delete these
AC> posts as I read them, so forget the details) copes with moving a node to
AC> elsewhere in the tree?
Pretty easily... Say I have a model like this (which I do use), similar to Matt's abc type tree except it allows 999 nodes instead of 26 at the expense of larger keys.
Name Serial Cars 001 Ford 001001 Jaguar 001001001 Volvo 001001002 Lincoln 001001003 GM 001002 Buick 001002001 Cadillac 001002003 Escalade 001002003001 DeVille 001002003002
Say GM sells Cadillac to Ford, I need to move the 001002003* tree below 001001. So it's one simple UPDATE statement using the LIKE keyword to update everything that begins with 001002003 to 001001 + (next unused tree node). This model does end up updating a lot of rows with very large trees, so I have my doubts as to how far it would scale, but it's extremely simple and fast enough for every tree I've done.
The actual SQL would end up looking something like this...
UPDATE Categories
SET Serial = '001001004' + SubString(Serial, (Len('001001004') + 1), Len(Serial) )
WHERE Category_ID LIKE '001002003%'
-- mailto:[EMAIL PROTECTED]
---------------------------------------------------------- You are subscribed to cfcdev. To unsubscribe, send an email to [EMAIL PROTECTED] with the word 'unsubscribe cfcdev' in the message of the email.
CFCDev is run by CFCZone (www.cfczone.org) and supported by Mindtool, Corporation (www.mindtool.com).
----------------------------------------------------------
You are subscribed to cfcdev. To unsubscribe, send an email
to [EMAIL PROTECTED] with the word 'unsubscribe cfcdev' in the message of the email.
CFCDev is run by CFCZone (www.cfczone.org) and supported by Mindtool, Corporation (www.mindtool.com).
