If you want to have this newsletter mailed to you or you want to make comments/suggestions about the format/content then send an email to acedb@sanger.ac.uk.
A new acedb coder (Rob Clack) joins, tree display of empty strings, a server PID file and some bug fixes.
At the end of last year John Sturdy unfortunately had to leave us and we have finally managed to recruit Rob Clack as a replacement. Rob will initially be taking over the acedb web site and test systems. You can send email to Rob at rnc@sanger.ac.uk.
The tree display has been altered so that it will now display
for text fields with null
strings, previously they were not displayed at all and hence not edittable.
A new PIDFILE
option has been added to the
wspec/serverconfig.wrm file, uncommenting this will cause the server
during initialisation to write a
file into the database/
subdirectory containing the pid of the server.
The file will be deleted when the server terminates. You can use this
file to control the server via a number of unix utilities which
are commonly used to provide general control of server programs.
As with other new configuration options in acedb, to make use of the new options you should:
Some things to note:
A bbug in aceInKeyMatch() meant that it did not distinguish an exact match from a longer keyword that began with the same letters, e.g. matching "write" to "write" and "writeaccess" should return just the exact match of "write".
The "nosave" code in sessionDoClose() did not remove the write lock file if tace had gained write access. The bug became obvious because some tace commands do a sessionsave which removes the lock file while others don't. The reason for this inconsistency is not known.
Dan Lawson reported that logging stops after saving from tace. It turns out that closing of the log got introduced into sessionClose() at the beginning of 2000, as part of the conversion to use aceOut for accessing the logfile. One can see why this was originally done: sessionClose() is called when the application is exitting. Unfortunately its also called when applications are just saving. To avoid this problem calls to sessionClose() have been replaced with calls to sessionMark(), sessionMark() no longer calls sessionClose(), instead they both call an internal routine closeSession(), which saves the session but does not close the log file. sessionClose() is now the routine to call when the application is going to exit.
Number evaluation has been removed from string compares, this was producing errors when obj names actually were numbers because they got rounded !
An optimiser has been added in [] calcul clause after a bug report by Dave Matthews about the slowness of this. This has reduced a 10 minute query to < 1 second.
Yet another FMap bug related to stale data when recalculations are introduced into unexpected places. Add the relevant offset to the values stored in the chosen and antichosen assocs when we do a recalc - otherwise this data is no longer valid.
Rob and Mark (Sienkiewicz) have been doing good work on aquila on serveral fronts:
Apologies, once again there was no build this month due to the major SMap development work.