|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
performance guidance required... |
« View previous topic :: View next topic » |
Author |
Message
|
scaryjase |
Posted: Wed Aug 27, 2003 12:03 am Post subject: performance guidance required... |
|
|
Novice
Joined: 17 Jul 2003 Posts: 22
|
it's all a bit vague, for which i apologise, but any thoughts would be appreciated.
i have an XML structure with some CHAR fields of indeterminate length which may contain some invalid characters. i need to remove/replace these characters. currently, i'm doing this by converting each field to a BLOB and using a loop with POSITION and a combination of OVERLAY and SUBSTRING to achieve the required effect. this works, but really doesn't seem particularly big or clever and can't be helping the performance of my code.
i had a lot of fun writing a java plugin (please note - it's always best to actually know some java before attempting this) but to achieve the required effect i pretty much had to do exactly the same thing and it turned out to be considerably slower. i could try a C plugin, but this seems a bit daunting (and i do actually know C!) and i'm loathe to start down that road without some kind of reassurance that it will be worthwhile!!
as i said, any thoughts would be appreciated...
cheers _________________ scary |
|
Back to top |
|
 |
Craig B |
Posted: Thu Aug 28, 2003 2:07 am Post subject: |
|
|
Partisan
Joined: 18 Jun 2003 Posts: 316 Location: UK
|
Hi,
Well the only other option I could put on the table other than ESQL BLOB processing or a user Plugin, is the MRM-TDS parser. I have used this is perform replacing of certain characters in a bitstream, but have never tried removing them through this method. If you think of your input bitstream as just a sequence of bytes, and there are certain bytes you want to find and replace, then you can use a messageSet with two TDS layers in it. I did this with one repeating element, and on the first TDS layer set the repeating delimiter to the character I want to find. Then on the second layer, set the delimiter to the character I want to replace it with. The substitution is then just a case of mapping from one MRM-TDS format to another, which is one line of ESQL in a compute node. For me this method was far faster than ESQL BLOB processing, and manipulation in a user plugin.
The good news is that the new WBI-MB/EB V5 product now has an ESQL REPLACE statement which will do the task you require. You can replace one string for another within a string, or delete the occurence of the string by replacing it with nothing. _________________ Regards
Craig |
|
Back to top |
|
 |
scaryjase |
Posted: Mon Sep 01, 2003 10:30 pm Post subject: |
|
|
Novice
Joined: 17 Jul 2003 Posts: 22
|
thanks - neat method, although i suspect it's not entirely appropriate for me. guess i'll just wait for v5!!
cheers _________________ scary |
|
Back to top |
|
 |
|
|
 |
|
Page 1 of 1 |
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|
|
|