This lost me several hours over the weekend. It seems that 7.0.1 along with 6.5.4 there are some changes in the backend classes or in the LotusScript interface to those cases when storing data into fields. When moving from Domino 7.0 to 7.01 I ran into a problem which was oddly similar to the one I described last week.
In this case, a web application just stopped working correctly. It took me several hours to track down, because it happened that I wasn't upgrading a server, I was installing a new one and replicating the data over to it. I assumed for quite a while it was a data problem. It wasn't. A content area on a web application is populated by using a lookup to a view, then taking the most recent "n" entries from that view and displaying them as an html region. The formula looks like this:
@Implode(@Trim(@Subset(@DbColumn("":"NoCache";"";"content";3);10));"")
This formula just wouldn't work, it kept returning @ERROR -- and @Text() around it wouldn't give me the error. I could view the columns in designer, client and even on the web by going to that view. It changed nothing. Finally, by paring down the layers over and over I got to an actual error message logged to the console of the server.
05/14/2006 12:58:41 PM HTTP Web Server: Lotus Notes Exception - Field is too large (32K) or View's column & selection formulas are too large [url]
Aha. You see, the lookup was the exact same size on the 7.0 server, but the 7.0.1 server balked at it. I had to make the view selection formula smaller in order to accomplish what I wanted more quickly. Its important to note that this lookup happens on COMPUTED TEXT not a field, and would never have been saved -- thus would never have been in a view column or selection formula, and would never have been summary data. It was done at display time and not saved.
A quick performance note: If I was worried about performance in this application, a MUCH smarter way to write this would be to run an agent once ever 5 or 15 minutes that did a similar lookup and wrote the results to a static value on a profile document or something.
Comment Entry |
Please wait while your document is saved.
fixed in 7.02 and 6.55.
Basically, if your @dblookup returns an interim result bigger than 64K, it used
to be ok, but not in 7.01/6.54. It was beat to dead in the BP forum a few
months back, although I'm really disappointed Lotus didn't release 7.02 sooner
:-P