From: Fausto L. <f....@in...> - 2005-05-03 13:17:31
|
----- Original Message ----- From: "Mike Taylor" <mi...@mi...> To: <f....@in...> Cc: <Jzj...@li...> Sent: Tuesday, May 03, 2005 2:23 PM Subject: Re: [Jzjkit-user] rpn comparison > > Date: Mon, 2 May 2005 17:58:05 +0200 > > From: "Fausto Lelli" <f....@in...> > > > > Has anyone thought about how to compare (relatively efficiently) to > > rpn queries ? It may be useful for caching mechanisms. > > I don't understand what you mean by "comparing" RPN queries. Do you > just mean comparing for equality? That, at least, is easily done. > There are many possible approaches, but perhaps the simplest would be > just to keep a copy of the BER segment that encodes each query and > just do a byte-for-byte comparison. > Thank you very much for your reply, but I'd like to check for equality before I encode the PDU. The approach I think I would go for is use a XMLVisitor, much the same as the HumanReadeableVisitor, build a XML equivalent tree, serialize it into a canonica form (a long string without returns) and just perform a string comparison against my cache. This approach has a major drawback ( I'll add details if someone is interested) but it is good enough in my case and I don't know how to compare two tree-like structure more efficently. Fausto. |