home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / scheme / scm / wb1a1.lha / wb / ChangeLog < prev    next >
Encoding:
Text File  |  1993-06-29  |  10.1 KB  |  297 lines

  1. Tue Jun 29 16:22:15 1993  Aubrey Jaffer  (jaffer at wbtree)
  2.  
  3.     * view.c: now automatically detects block size.
  4.  
  5. Mon Jun 28 16:01:06 1993    (jaffer at jacal)
  6.  
  7.     * db.c (final-db): calls final-wb.
  8.  
  9.     * ent.scm (init-wb final-wb): renamed from init-sys! and final-db.
  10.     Init-wb returns number of ents allocated.
  11.  
  12.     * db.c (str2long long2str!): now defined for user in SCM.
  13.  
  14. Tue May  4 17:49:12 1993  Aubrey Jaffer  (jaffer at wbtree)
  15.  
  16.     * db.c example.scm test.scm test2.scm db.scm: prefixed Scheme bt
  17.     operations names with "bt:".
  18.  
  19.     * db.c: removed rdss specific code.
  20.  
  21. Tue Apr 27 18:08:18 1993  Aubrey Jaffer  (jaffer at wbtree)
  22.  
  23.     * db.scm db.c (scan): now accepts #f instead of function.
  24.  
  25.     * scan.scm (bt-scan): now copies ent for COUNT-SCANs.  This
  26.     eliminates ACCREAD contention.
  27.  
  28. Fri Apr 16 00:00:37 1993  Aubrey Jaffer  (jaffer at montreux)
  29.  
  30.     * example.scm: split out from db.doc.
  31.  
  32.     * defs.scm: REM-SCAN=-1, COUNT-SCAN=0, and MODIFY-SCAN=1.
  33.  
  34. Mon Apr 12 15:42:28 1993  Aubrey Jaffer  (jaffer at wbtree)
  35.  
  36.     * db.c db.scm (scan): implemented.
  37.  
  38.     * defs.scm ent.scm (ENT-TAB-INC): added for use by init-sys!.
  39.  
  40.     * comp.scm ent.scm (flc-fill flc-proc): changed long-tab to
  41.     long-ara so storage would be temporary, rather than malloc()ed.
  42.  
  43. Thu Apr  8 17:12:40 1993  Aubrey Jaffer  (jaffer at wbtree)
  44.  
  45.     * Split blink into db and rdss.
  46.  
  47. Thu Mar 25 10:12:06 1993  Roland Zito-Wolfe  (rjz@wbtree)
  48.  
  49.     * fixed bug where FINAL didnt close segs properly
  50.     * modified FLUSH-SOME-BUKS to scan for dirty blocks w/o
  51.       writing, if MAXNUM=0. 
  52.     * split FLUSH-SEG into FLUSH-BUFFER and PURGE-BUFFER
  53.     ** Fixed Problems with database closing
  54.  
  55. Tue Mar  9 10:08:46 1993  Aubrey Jaffer  (jaffer@wbtree)
  56.  
  57.     * handle.scm (bt-rem-range): removed last argument; now always -1.
  58.  
  59. Thu Mar  4 11:09:16 1993  Aubrey Jaffer  (jaffer@wbtree)
  60.  
  61.     ** verified free-lists I/O reduced as expected,
  62.        and deferred data i/o works; extended STATS a little bit;
  63.     ** remove TMP-STR global string from DB
  64.  
  65. Thu Jan 21 rjz
  66.     * added deferred writes of data blocks
  67.     * NOTE: there was a bug in CHAIN-PUT; it wasnt forcing 
  68.       an ENT-WRITE of ENT in the XENT case! oops!
  69.     * Implemented deferred leaf writes on data deletes
  70.     * deferred writes on insert to free list (in handle?)
  71.  
  72. Fri Jan 15 rjz
  73.     * wrote down latest thoughts on delayed INDEX inserts and deletes,
  74.       the DELETE 2-write screw case, and when to retry deferred ops
  75.  
  76.  
  77. Thu Jan  7 rjz
  78.     * added level-order check to FIND-ENT and FIND-PREV-ENT
  79.     * added MATCH range generator [see NOTES in DOC and RANGE]
  80.     * put global lock around empty-blk
  81.     * put lock around FILL-FLC code to prevent FILL competition
  82.       [I put it around BOTH types of filling, ie, both filling
  83.        from the free list AND file extension.]
  84.  
  85. Thu Dec 16 rjz
  86.     * split test code into 2 files, TEST and TEST2
  87.  
  88. Thu Dec 16 rjz (cumulative list of recent fixes)
  89.     * impl read-only DB's
  90.     * init time specification of size parameters.
  91.     * fix FILL-FLC to use DELETE-SCAN
  92.     * added MODIFY-SCANs to scan code
  93.  
  94. Tue Dec  8 13:34:57 1992  Aubrey Jaffer  (jaffer@sbux)
  95.  
  96.     * comp.scm (compile-exp): support for logical operations added.
  97.  
  98. Thu Nov 19 17:33:26 1992  Aubrey Jaffer  (jaffer@sbux)
  99.  
  100.     * TBD: created.
  101.  
  102.     * created deferred update plan.
  103.  
  104.     * scan.scm: compiles and runs.
  105.  
  106. Thu Oct  8 15:29:13 1992  Aubrey Jaffer  (jaffer@sbux)
  107.  
  108.     * ent.scm (try-get-free-ent): now will rel-buk if no entry
  109.     returned from select-idel-ent.
  110.  
  111. Thu Jun 18 14:32:38 1992  Aubrey Jaffer  (jaffer at train)
  112.  
  113.     * ent.scm (initload-flc! blk-free): initload-flc! created.
  114.     blk-free calls it if needed.
  115.  
  116.     * del.scm handle.scm (chain-rem parent-delete-update bt-rem):
  117.     release-ent! moved out of chain rem and into callers.
  118.  
  119.     * del.scm (BLK-DELETE): checks that ref-ct<2 before changing prev
  120.     block's NXT pointer.  Deferred count now reflects failure to
  121.     delete block.
  122.  
  123.     * blink.scm (chain-put!): retains name access on new block until
  124.     parent-insert-update is complete.
  125.  
  126.     * blink.scm (next-nonempty-ent): changed get-ent ACCWRITE to
  127.     ACCREAD and used ent-update-access.  Fixed nasty bug.
  128.  
  129. Mon Jun  8 18:09:09 1992  Aubrey Jaffer  (jaffer at PIXEL)
  130.  
  131.     * handle.scm (bt-write): created.
  132.  
  133.     * handle.scm blink.scm (chain-get): removed and put into bt-get.
  134.  
  135.     * blink.scm (chain-rem): now fills new arg ans-str if not #f.
  136.  
  137. Thu May 14 14:56:56 1992  Aubrey Jaffer  (jaffer at train)
  138.  
  139.     * ent.scm (ent-write): now does check-key-order!.
  140.  
  141. Tue May 12 14:47:30 1992  Aubrey Jaffer  (jaffer at train)
  142.  
  143.     * comp.scm: all longs are now unsigned.
  144.  
  145.     * handle.scm (bt-create bt-open): now set HAN-LAST.
  146.  
  147.     * ent.scm: Roy rewrote.
  148.  
  149. Thu May  7 13:25:38 1992  Aubrey Jaffer  (jaffer at train)
  150.  
  151.     * ent.scm (flc-fill): blks now allocated in numerical order.
  152.  
  153.     * sys.h sys.scm (root? end-of-chain?): moved here and do pointer
  154.     funniness for efficiency.
  155.  
  156.     * db.c (create-db open-db): modified to use Jonathon's format for
  157.     directory value entries.
  158.  
  159. Wed May  6 12:55:25 1992  Aubrey Jaffer  (jaffer at PIXEL)
  160.  
  161.     * stuff fixed.  Released to Jonathan.
  162.  
  163.     * defs.scm (next-field): moved from blink.scm so that it will
  164.     compile as a macro.
  165.  
  166.     * blkio.scm(extend-file blk-write blk-read blk-file-close
  167.     blk-file-open blk-file-create min-file-create): created.  All blk
  168.     i/o goes through these routines.
  169.  
  170. From rjz@chaos.cs.brandeis.edu Tue Apr 28 12:38:57 1992
  171. Return-Path: <rjz@chaos.cs.brandeis.edu>
  172. Date: Fri, 24 Apr 92 13:00:51 -0400
  173. From: "Roland Zito-Wolf" <rjz@chaos.cs.brandeis.edu>
  174. To: jaffer@ai.mit.edu, rjz@chaos.cs.brandeis.edu
  175. Subject: DATABASE
  176.  
  177. I made several modifications. The major items are:
  178.  
  179. 1. adding some performance reporting
  180. 2. fixing parent-insert-update
  181. 3. Fixing CACHING special cases
  182. 4. Testing behavior with empty blocks and missing pointers
  183. 5. Found PREV bug (but Not fixed yet)
  184.  
  185. Detailed change inventory:
  186.  
  187. (items in parens are redos of stuff we did at last DMC session,
  188. as i didnt have the current code)
  189.  
  190. ADDED SOME PERFORMANCE STATISTICS:
  191. 1. added stat code at front of BLINK (STATS, CSTATS, CLEAR-STATS)
  192. 2. added ctrs to BT-X, BLK-READ/WRITE, PUT, DELETE-BLK, 
  193.    GET-ENT, TRY-GET-ENT, cache-checking routines
  194. 2a. added CLEAR-STATS call to INIT-SYS!
  195. 3. added VALUE arg to ADD! also starting-value and increment, aka REMOVE!
  196. 5. Restored SHOW-BUFFERS to ENT (was SHOW-ACCESS!), 
  197.   improved output format, added flag to
  198.   allow filtering out of reclaimed buffers, added abbreviation (SB).
  199.  
  200. UPDATE CODE:
  201. 14. rewrote PARENT-INSERT-UPDATE to be an atomic operation.
  202.    sadly, a fair bit of the work falls onto CHAIN-PUT; perhaps once its 
  203.    working we can figure out a better structure?
  204.    Fix has been tested wtih 200 ADDs; however, the screw cases where the
  205.    NEXT-KEY is in a different block -- and worse, where there are intervening
  206.    empty blocks -- HAVE NOT BEEN TESTED YET.
  207. 16. Added global var DEFER-INSERT-UPDATES to force deferral of parent-updates
  208.    for testing other code (Everything seems to survive it except PREV (see #18)
  209. 17. Added global DEFER-BLOCK-DELETES to force deferral of block-reclamation.
  210.    Running with it on does not seem to cause any malfunctions in NEXT or PREV.
  211.  
  212. MISC:
  213. 9. changed FPRINTF to take F format (precision arg doesnt work, though)
  214. 10. Extended PACKET structure (SCHEME only)
  215. 11. fixed BLK-FIND-POS to return location of PREVIOUS key (see #12)
  216. 12. fixed PREV code to use #11 to avoid redundant block scans
  217.     (MORE TO BE DONE: Fix its CACHE code to do so also)
  218. 13. Moved orphaned  "as we go" comment in BLINK back to BLK-FIND-POS
  219. 15. Started writing a design notes file
  220. 20. Fixed CHAIN-NEXT and CHAIN-PUT to update HAN-LAST optimally
  221.     (passed though the PACKET). Things still work; a quick test indicates
  222.     its helpful for NEXT but for some reason the fix ISNT helping for PUTs --
  223.     at least not in the test i ran. (see observation 6)
  224.  
  225. REDOS:
  226. 4. (put in the 1-line mod to CHAIN-FIND-PREV-ENT)
  227. 6. (added ENT-WRITE calls to DELET-BLK and PARENT-DEL-UPDATE. But see #8)
  228. 19. (moved SET-HAN-LAST call into CHAIN-FIND-ENT)
  229.  
  230. (NOT REDONE:
  231.    - the changed i/o message format
  232.    - buffer aging tweaks
  233.    - anything else I coundn't recall)
  234.  
  235. BUGS:
  236. 7. CUTE BUG: RELEASE-ENT was writing over the age=128 that AMNESIA-ENT set,
  237.   thus preventing their buffers from being reclaimed preferentially!!!
  238.   (examples traces appear as OBS #5) In any case, the right thing to do is
  239.   simply to splice the ENT out directly, then you dont have to 
  240.   waste time searching for it. (I believe you said you were doing this, so
  241.   I'll leave it alone for now.)
  242.  
  243. 8. CUTE BUG#2: cant put ENT-WRITE in PARENT-DELETE-UPDATE, because
  244. CHAIN-REM releases the block; have to put it into CHAIN-REM instead!!
  245. (I dont know how we did it last time; the probem only shows up
  246. on index-level deletes; also, fix saves a block write.)
  247.  
  248. Thu Mar 26 13:31:20 1992  Aubrey Jaffer  (jaffer at train)
  249.  
  250.     * prev.scm (at-root-level?): now checks first to see if ROOT? blk.
  251.  
  252. Fri Mar 20 13:31:59 1992  Aubrey Jaffer  (jaffer at PIXEL)
  253.  
  254.     * ent.scm (free-blk!): now calls amnesia-ent!.
  255.  
  256.     * defs.h (amnesia-ent!): created.
  257.  
  258.     * ent.scm (get-ent): now does not read blk when given ACCWRITE.
  259.  
  260.     * ent.scm (flush-and-del-buffer): now checks that ent is not
  261.     ACCWRITE or ACCPEND.
  262.  
  263.     * ent.scm (flush-buffer): removed.
  264.  
  265.     * defs.scm ent.scm (BLK-TYP?): created and used.
  266.  
  267. Thu Mar 19 15:34:14 1992  Aubrey Jaffer  (jaffer at train)
  268.  
  269.     * ent.scm (create-new-blk-ent): Backs out if flc-fill fails.
  270.  
  271.     * ent.scm (fill-flc!): now does one disk write to extend the file.
  272.     fill-flc! ==> flc-fill and returns #t on success.  #f if no more
  273.     disk available or bt-rem failed.  Prints out error message if no
  274.     more disk space available.
  275.  
  276. Wed Mar 18 18:13:44 1992  Aubrey Jaffer  (jaffer at PIXEL)
  277.  
  278.     * blink.scm ent.scm (create-new-blk-ent fill-flc! free-blk!
  279.     flush-flc!): move from blink.scm to ent.scm.  Now all use of
  280.     ENT-ACC is in ent.scm.
  281.  
  282. Tue Mar 10 13:25:06 1992  Aubrey Jaffer  (jaffer at train)
  283.  
  284.     * handle.scm (bt-open bt-create): commented out call to
  285.     (check-access!) because Jonathon keeps program entries locked.
  286.  
  287. STATUS: (prev) working ( for (test1) data); needslarger test
  288.         index-split fixed (cant call INDEX-SPLIT before INIT-NEXT-BLK!)
  289. add multiple filenames;  warning message if filename does not
  290.   match database name.
  291. allow blk sizes to be specified in superblock
  292. FLUSH on CLOSE-SEG! needs to REMOVE the entries for the database
  293.   closed from the entry table, as well as writing out the dirty entries
  294. flush-buffers wrong.
  295. add DELETE-ENT and freelist B-tree
  296. fix TSCAN! to verify key squencing
  297.