![]() | ![]() Products ![]() ![]() ![]() ![]() |
Home » Technical Support » ElevateDB Technical Support » Support Forums » ElevateDB SQL » View Thread |
Messages 1 to 6 of 6 total |
![]() |
Wed, Feb 6 2008 9:49 AM | Permanent Link |
Roy Lambert NLH Associates ![]() | Tim
Having reached a point where my query generator is generating queries again I'm about to abuse it some more and build in the facility to do a text filter on non indexed fields. I'm intending to link in my word generator and text filter units to the function so I get consistency. Since I'll have total control over the function my thoughts were When generating the query read the ftiControl.Text file to set up the various parameters (EndOfWord,MinWordLength,MaxWordLength,AllowURLs,OnlyBaseURLs,AllowEMs,AllowWordsWithNumbers,TruncateLargeWords,STOP WORDS,PASS WORDS), add to that the WANTED WORDS and pass as parameters to the function. STOP, PASS and WANTED WORDS would be passed as stringlists (not sure how yet) So the full function call would be TEXTSEARCH(Field,EndOfWord,MinWordLength,MaxWordLength,AllowURLs,OnlyBaseURLs,AllowEMs,AllowWordsWithNumbers,TruncateLargeWords,StopWords,PassWords,WantedWords) and would return a True/False Does that sound a sensible way to go (apart from the fact that it'll be slooow)? If so any idea how to create a stringlist which can be passed to a TEDBQuery with a function some of whose parameters are stringlists? Roy Lambert |
Wed, Feb 6 2008 1:50 PM | Permanent Link |
Tim Young [Elevate Software] Elevate Software, Inc. ![]() | Roy,
<< Does that sound a sensible way to go (apart from the fact that it'll be slooow)? >> I would suggest that the external function DLL read the parameters itself at load time and keep them as global data, provided that the calling application is simply passing parameters that never change apart from any changes to the text file. That should keep the function nice and tight, and give you about the same performance as DBISAM. -- Tim Young Elevate Software www.elevatesoft.com |
Thu, Feb 7 2008 2:50 AM | Permanent Link |
Roy Lambert NLH Associates ![]() | Tim
>I would suggest that the external function DLL read the parameters itself at >load time and keep them as global data, provided that the calling >application is simply passing parameters that never change apart from any >changes to the text file. That should keep the function nice and tight, >and give you about the same performance as DBISAM. I was thinking about that. The word generator and text filter have an initialisation section that loads the bumph but I don't know how often that's going to get called and I was concerned that it would be for each row. If its not then it makes it simpler for me to leave that to take care of itself and makes it a bit easier to program the generator. Roy Lambert |
Thu, Feb 7 2008 1:23 PM | Permanent Link |
Tim Young [Elevate Software] Elevate Software, Inc. ![]() | Roy,
<< I was thinking about that. The word generator and text filter have an initialisation section that loads the bumph but I don't know how often that's going to get called and I was concerned that it would be for each row. If its not then it makes it simpler for me to leave that to take care of itself and makes it a bit easier to program the generator. >> Well, always remember that external modules are only loaded once per session and then kept loaded until the session is disconnected. Therefore, any module creation/initialization code will only be called once. -- Tim Young Elevate Software www.elevatesoft.com |
Fri, Feb 8 2008 3:35 AM | Permanent Link |
Roy Lambert NLH Associates ![]() | Tim
>Well, always remember that external modules are only loaded once per session >and then kept loaded until the session is disconnected. Therefore, any >module creation/initialization code will only be called once. That's the bit I wasn't sure of, but what sort of session? an EDBSession or a load the app session ![]() The other thing I'm wondering about is thread safety. Any comments? Roy Lambert |
Fri, Feb 8 2008 12:57 PM | Permanent Link |
Tim Young [Elevate Software] Elevate Software, Inc. ![]() | Roy,
<< That's the bit I wasn't sure of, but what sort of session? an EDBSession or a load the app session ![]() An EDB session. ![]() << The other thing I'm wondering about is thread safety. Any comments? >> As long as you're not trying to modify the global data from multiple threads, then it will be fine. The loading process only takes place in one thread, guaranteed. -- Tim Young Elevate Software www.elevatesoft.com |
This web page was last updated on Wednesday, August 14, 2024 at 07:31 PM | Privacy Policy![]() © 2024 Elevate Software, Inc. All Rights Reserved Questions or comments ? ![]() |