-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathChangeLog.0
5853 lines (3451 loc) · 195 KB
/
ChangeLog.0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
Fri Nov 24 15:34:17 GMT 2000 Richard Boulton <[email protected]>
* Declare this to be version 0.4.1
Fri Nov 24 14:58:27 GMT 2000 Richard Boulton <[email protected]>
* Fix compile warnings when debug is off.
Fri Nov 24 14:20:01 GMT 2000 Richard Boulton <[email protected]>
* Turn TIMING_PATCH off in cvs.
Fri Nov 24 14:14:58 GMT 2000 Richard Boulton <[email protected]>
* Add parameter check to network databases to ensure that supplied
timeouts are positive.
Fri Nov 24 13:54:00 GMT 2000 Richard Boulton <[email protected]>
* Fix problem with tcp connections: the timeout parameter wasn't
being passed to select() correctly, causing a timeout of zero,
resulting in only local connections working.
Fri Nov 24 10:11:05 GMT 2000 Chris Emerson <[email protected]>
* Btree base files now store things in variable-length fields.
The format number is also now used.
* New function sys_read_all_bytes() to read an entire file into
a string.
Thu Nov 23 19:40:31 GMT 2000 Richard Boulton <[email protected]>
* Added automatic detection of fdatasync, checking if -lrt is needed,
and reverting to fsync if not present.
Thu Nov 23 18:12:59 GMT 2000 Richard Boulton <[email protected]>
* Add a cancel method to QuartzTableManager(), and ensure it is
called if any errors occur while modifying the quartz database -
this prevents partial modifications being applied.
* QuartzTableManager::set_revision_number() and apply() now return
void - exceptions are thrown if errors occur.
* QuartzBufferedTables now free the memory they're using as soon as
possible when writing changes to disk.
* Added QuartzBufferedTable::write() method - when implemented, this
will write the changes so far to disk and free the memory used,
but not make a new revision: this is wanted for some backends where
no sort of the modifications is needed, so they don't need to be
held in memory.
Thu Nov 23 16:31:45 GMT 2000 Chris Emerson <[email protected]>
* Re-arranged Btree::basic_open slightly to make it easier to
expand the number of available revisions in the future.
Thu Nov 23 16:26:09 GMT 2000 Olly Betts
* Remote backend timeout now applies to connect() attempt too.
Wed Nov 22 19:01:33 GMT 2000 Richard Boulton <[email protected]>
* Don't return incorrect doccount if informational entries haven't
yet been created in the quartz record database.
Wed Nov 22 18:53:33 GMT 2000 Richard Boulton <[email protected]>
* A couple of missed bits of the previous change - we no longer need
to do an initialisation step to databases, and we no longer need
to subtract 2 from the item count in recordtable to get the doccount.
Wed Nov 22 18:44:01 GMT 2000 Richard Boulton <[email protected]>
* Remove QuartzRecord::initialise() - replace by assuming initial
values if the TOTLEN or NEXTDID tags aren't present. Stops having
a wasted revision when a database is created.
Wed Nov 22 18:35:56 GMT 2000 Richard Boulton <[email protected]>
* Remove QuartzBufferedTable::get_tag() method - was only used to
check whether a tag was present, not to access the tag. Replaced
with a have_tag() method. This tidying up should help with making
smart pointers to point to a tag - no longer have to deal with
null pointers.
Wed Nov 22 18:28:36 GMT 2000 Chris Emerson <[email protected]>
* Turned the rest of the Btree API functions into Btree member
functions.
* Added a bit of const to sys_write_* and get_[u]int4
Wed Nov 22 15:53:16 GMT 2000 Olly Betts
* Removed OmPostListIterator::get_termfreq() and
OmPostListIterator::get_collection_freq() - you don't expect a
container iterator to provide a method to find the size of the
container, and the database provides similar methods to find this
information.
Wed Nov 22 14:59:11 GMT 2000 Richard Boulton <[email protected]>
* Add configure option to enable or disable compilation of the
indexer library - defaults to enable: --enable-indexer
* Move textfile_indexer and index_utils into testsuite - not part
of the proper indexer.
Wed Nov 22 13:13:20 GMT 2000 Richard Boulton <[email protected]>
* Store positionlists in quartz using difference between successive
positions, rather than the raw positions.
* Update TODO: have written collection frequency tests, and have more
stuff to be doing.
Wed Nov 22 12:25:38 GMT 2000 Richard Boulton <[email protected]>
* Add missing dependency, so that todo.html gets rebuilt when
todo.xml is changed.
Wed Nov 22 11:50:21 GMT 2000 Richard Boulton <[email protected]>
* Add --prefix and --exec-prefix parameters to libomus-config script.
Wed Nov 22 11:03:57 GMT 2000 Richard Boulton <[email protected]>
* Don't build indextest if you don't have LIBXML
Tue Nov 21 17:49:15 GMT 2000 Chris Emerson <[email protected]>
* Btree_close() -> Btree::commit() + delete B.
Tue Nov 21 17:19:38 GMT 2000 Richard Boulton <[email protected]>
* Modified QuartzPostList::delete_entry() so that it updates the
counts, even though it doesn't actually delete the entry yet.
Tue Nov 21 15:35:47 GMT 2000 Chris Emerson <[email protected]>
* Made the testsuite more colourful.
Tue Nov 21 15:16:00 GMT 2000 Olly Betts
* OmEnquire::Internal now a public class so it can be a friend to
OmQuery (gcc 2.95.2 incorrectly accepts it when private).
Tue Nov 21 14:29:46 GMT 2000 Chris Emerson <[email protected]>
* Removed a rogue semi-colon introduced with the RTLD_DEFAULT fix.
Tue Nov 21 14:16:21 GMT 2000 Chris Emerson <[email protected]>
* Made the Btree opening functions member functions (as before,
the Btree_* functions remain as wrappers). They are not
called from the constructor because they need to signal a
failure without throwing an exception.
* The next() and prev() cursor functions were renamed to
next_default() and prev_default() due to a namespace collision.
Tue Nov 21 10:58:13 GMT 2000 Richard Boulton <[email protected]>
* Implemented collection frequency stuff. This involves:
- Added an OmDatabase::get_collection_freq() method.
- Added an OmPostListIterator::get_collection_freq() method.
(Also, added an OmPostListIterator::get_termfreq() method)
- Postlists and Databases have get_collection_freq() method.
- QuartzPostLists store the collection frequency at the beginning
of the list.
- Added tests to apitest and quartztest for reading collection
frequencies, both from a single database and from several
databases.
Collection frequencies will not work with SleepyCat, InMemory, or
Muscat 3.6 databases.
* Also, make tests clear old databases at _start_ of their test run,
but not in the middle, so that all the old databases are present
for inspection but don't interfere with the new test run.
Tue Nov 21 11:46:24 GMT 2000 Chris Emerson <[email protected]>
* testsuite.cc should work when RTLD_DEFAULT is not defined.
Mon Nov 20 19:00:26 GMT 2000 Chris Emerson <[email protected]>
* Added new class Btree_base encapsulating the structure of the
Quartz base file.
* sys_read_bytes() and sys_read_block() now share most of their
code. Some of the sys_* made available in btree_util.h.
* Btree_create now a wrapper around Btree::create().
Mon Nov 20 14:27:20 GMT 2000 Richard Boulton <[email protected]>
* Fix some warnings in net/socketclient.cc. Remove an unneeded line
in libomus-config.nodep.in.
Mon Nov 20 14:22:40 GMT 2000 Richard Boulton <[email protected]>
* postlist.h now declares class OmKey - was failing to declare before
use, causing a compiler error (but only with
--disable-pthread-support)
Mon Nov 20 14:20:20 GMT 2000 Richard Boulton <[email protected]>
* Remove a compiler warning in quartz_database.cc
Mon Nov 20 14:13:31 GMT 2000 Richard Boulton <[email protected]>
* Simple bugfix to ombatchenquire.cc so that it compiles when
--disable-pthread-support is specified.
Mon Nov 20 12:56:56 GMT 2000 Chris Emerson <[email protected]>
* Removed mentions of termids from Quartz.
Fri Nov 17 19:00:23 GMT 2000 Richard Boulton <[email protected]>
* Removed uneeded macro from quartz_types.h
Fri Nov 17 18:24:29 GMT 2000 Chris Emerson <[email protected]>
* Bcursor is now closer to a proper class. Bcursor_* functions
are now just wrappers. Implementation moved to bcursor.cc
* Some of the macros, helper functions, and types from btree.cc
have moved into separate header files.
Fri Nov 17 16:43:50 GMT 2000 Richard Boulton <[email protected]>
* Declare this to be version 0.4.0
Fri Nov 17 16:26:52 GMT 2000 Chris Emerson <[email protected]>
* Annihilated a small memory leak.
* Fixed a problem with checking enable_shared.
Fri Nov 17 16:12:42 GMT 2000 Richard Boulton <[email protected]>
* Remove tests to check for Berkeley DB 3.1 - we don't use Berkeley
DB 3.1.
* Made quartz compile by default - it now passes the testsuite (well,
apart from a small memory leak, but what's a small memory leak
between friends?).
Fri Nov 17 15:49:20 GMT 2000 Richard Boulton <[email protected]>
* Change an OmUnimplementedError into an OmInvalidOperationError
in MSetPostList
Fri Nov 17 15:39:29 GMT 2000 Richard Boulton <[email protected]>
* Fixes to check key length when searching for a key or adding an
item. If a key which is too long is searched for, it simply
will not be found (but cursor operations will find first key
before it, as expected). If an attempt is made to add a key
which is too long, an exception will be thrown.
Fri Nov 17 14:37:38 GMT 2000 Chris Emerson <[email protected]>
* Fixed a problem with errors opening a database at a particular
revision throwing an exception.
Fri Nov 17 14:18:02 GMT 2000 Richard Boulton <[email protected]>
* Fix to Bcursor_find_key() so that it reads the tag correctly when
searching for a key which doesn't exist, but the previous item
is split into multiple chunks (tag used to come from only the
final chunk).
Fri Nov 17 12:29:54 GMT 2000 Richard Boulton <[email protected]>
* Fix bug with applying new empty revisions to empty DBs - blocks no
longer get used up by this process.
Fri Nov 17 11:09:56 GMT 2000 Richard Boulton <[email protected]>
* Add test to quartz of applying new revision numbers multiple times
and checking the filesize of the DB file.
Thu Nov 16 19:27:20 GMT 2000 Chris Emerson <[email protected]>
* Working through btree.{h,cc}:
Fixed compilation warnings.
Fixed some logic around read()/write() functions.
Changed ints to Btree_errors in a few places and added
BTREE_ERROR_NONE value.
Added Btree_strerror for use with Btree_errors.
Fixed a few FIXMEs, and added some more.
Did lots of tweaking to error handling.
There are a few more occurrences to change. In some cases things
can be made much cleaner when the code is objectified with
constructors and destructors. Most of Btree_quit() moved
into Btree::~Btree().
Thu Nov 16 14:48:05 GMT 2000 Chris Emerson <[email protected]>
* Added method str(std::string) to om_ostringstream, to set
the value of the internal string.
* The testsuite now has a global om_ostringstream "tout", which
should be used by test functions when printing anything out.
Everything sent to the stream will be thrown out when the test
succeeds, or printed out if it fails.
* Tests in api_db.cc modified to use tout.
Thu Nov 16 11:52:29 GMT 2000 Chris Emerson <[email protected]>
* Added quartz_document.cc to CVS.
Wed Nov 15 18:14:10 GMT 2000 Chris Emerson <[email protected]>
* Added QuartzDocument class, and implemented QuartzDatabase::
open_document().
* Removed BerkeleyDB 3.1 bits from the Quartz Makefile.am
Wed Nov 15 14:52:19 GMT 2000 Chris Emerson <[email protected]>
* Added stub operator new[]() and operator delete[]() to
testsuite.cc. This has fixed the bizarre reported memory
leaks in indextest - presumably our operator delete() wasn't
being called for delete [] buf.
Wed Nov 15 14:11:21 GMT 2000 Chris Emerson <[email protected]>
* Fixed the OMEXCEPT errors from indextest. There's still a leak.
Tue Nov 14 19:28:18 GMT 2000 Chris Emerson <[email protected]>
* Moved omnodeconnection.h from indexer/indexgraph to include/om
* Added new methods desc_from_file(), desc_from_string(), and
sort_desc() to OmIndexerBuilder interface, and get_node_info().
* Fixed a few warnings in node source.
Tue Nov 14 19:26:28 GMT 2000 Richard Boulton <[email protected]>
* Fixed bug with skip_to in quartz position lists - quartz now
passes all but 3 api tests. Added a dummy test to quartz to
remind me to implement a few more tests of the quartz position
lists.
Tue Nov 14 17:32:06 GMT 2000 Richard Boulton <[email protected]>
* Add hack to malloccheck.so to allow running of gdb with the malloc
checking. To run gdb, set environment variable USE_GDB to gdb
command: eg, USE_GDB="../libtool gdb" ./run-apitest
Tue Nov 14 17:22:28 GMT 2000 Richard Boulton <[email protected]>
* Added new debugging category for display of messages related to
introspection methods. Should have debugging completely cluttered
with get_description() methods now.
Tue Nov 14 13:33:24 GMT 2000 Chris Emerson <[email protected]>
* Don't compile malloccheck if shared libraries are disabled.
Thu Nov 9 17:23:03 GMT 2000 Richard Boulton <[email protected]>
* Added readonly implementation of posting lists. Just need to add
writing for postlists, and plug it in to database, and quartz
should be functional.
Thu Nov 9 17:01:40 GMT 2000 Chris Emerson <[email protected]>
* Fixed indextest on harvey. The libxml wasn't using default
values for tag attributes (which may be related to the
lack of validation), so the test cases have the attributes
explicitly added. Tidied things at the same time.
Wed Nov 8 19:29:01 GMT 2000 Richard Boulton <[email protected]>
* TEST_EXCEPTION() now reports the location of the testcase, just
like all the other TEST* macros.
Wed Nov 8 19:25:46 GMT 2000 Richard Boulton <[email protected]>
* Position lists can now be written to - all quartz tests now pass.
(Quartz tests do not yet check postlist behaviour however -
postlists are to be implemented tomorrow.)
Wed Nov 8 18:13:54 GMT 2000 Chris Emerson <[email protected]>
* Added a couple more index tests.
Wed Nov 8 17:01:05 GMT 2000 Richard Boulton <[email protected]>
* Added implementation of position lists to quartz - only lets
position lists be read as yet, no facilities for writing them.
Wed Nov 8 13:52:56 GMT 2000 Richard Boulton <[email protected]>
* Much work on quartz - it now passes all its tests except the one
using position lists (which aren't implemented yet), using the
Btree manager. Work remains to be done on catching error
conditions, but the basic structure is now done.
Wed Nov 8 13:40:26 GMT 2000 Chris Emerson <[email protected]>
* Factored some common code out of most index tests.
Wed Nov 08 12:16:20 GMT 2000 Olly Betts
* Switched back to MSetPostList (for now at least).
* select() now checks for error conditions on sockets as well as
data available to read.
Tue Nov 7 18:22:16 GMT 2000 Chris Emerson <[email protected]>
* Removed unnecessary FIXME comments.
Tue Nov 7 17:51:47 GMT 2000 Chris Emerson <[email protected]>
* General indexer cleanups and FIXME fixing.
* OmIndexerData has new methods set_vector(), set_empty(),
eat_list(), and eat_element(). swap() has been made public.
eat_* and swap() allow more efficient manipulation of
indexer data when the original does not need to be preserved.
set_{int,double,string} have actually been implemented.
* OmIndexerNode has new methods get_config_int(), get_config_double(),
get_config_vector() so the configuration parameters are more
useful. Also added a set_output() variant for const OmIndexerData&,
for convenience.
* OmConstantNode now supports int, double, and vector types as
well as string.
* Implemented config_modified() for several nodes.
* OmListConcatNode makes use of more efficient data shuffling.
* OmStemmerNode modifies the list of words in-place rather than
building a new list.
Tue Nov 7 15:26:32 GMT 2000 Chris Emerson <[email protected]>
* Documented the rest of the indexer nodes.
Tue Nov 7 13:37:26 GMT 2000 Chris Emerson <[email protected]>
* More node documentation comments.
Tue Nov 7 10:38:54 GMT 2000 Chris Emerson <[email protected]>
* Fixed another unterminated comment.
Tue Nov 7 10:25:29 GMT 2000 Chris Emerson <[email protected]>
* Fixed an unterminated comment in omflattenstringnode.cc
Mon Nov 6 19:01:43 GMT 2000 Richard Boulton <[email protected]>
* Various modifications to quartz. Martin's library is now C++ in
name, slowly becoming that in style and organisation. Quartz
now uses martin's library, and some of the tests even pass.
Mon Nov 6 18:59:33 GMT 2000 Chris Emerson <[email protected]>
* Added documentation to about half of the indexer nodes.
Mon Nov 06 18:25:22 GMT 2000 Olly Betts
* Backed out changes to allow remote streamed mset to listen to
min_weight and skip_to messages (change was a quick hack to see
if it helped, but it doesn't).
Mon Nov 06 16:32:08 GMT 2000 Olly Betts
* Reinstated AssertEqDouble() - now does an epsilon test as
originally intended.
Mon Nov 06 13:31:00 GMT 2000 Olly Betts
* Fixed handling of min weight changes with streamed msets.
Fri Nov 3 18:33:20 GMT 2000 Richard Boulton <[email protected]>
* Added several extra checks to cursor behaviour in quartztest.
* Split QuartzTableEntries::get_item_and_advance() into get_item()
and advance().
* Change AssertEqDouble to AssertEq - it works usefully for lots of
types.
* Implemented QuartzDiskTable cursor operations fully.
Implemented QuartzBuffTable cursors except for coping with
entries deleted in buffer but not on disk.
* Typedefed contents of QuartzTableEntries, and added iterator methods.
* quartztest tests of tables unlink old tables before running.
Fri Nov 03 17:29:05 GMT 2000 Olly Betts
* Remote streamed mset now listens to min_weight and skip_to
messages.
Fri Nov 3 16:23:16 GMT 2000 Chris Emerson <[email protected]>
* indexerquickstart again. Added more, and removed redundant stuff
which is in quickstart.html
Fri Nov 03 16:08:20 GMT 2000 Olly Betts
* Corrected '#endif' to '#else'.
Fri Nov 03 14:59:48 GMT 2000 Olly Betts
* MergePostList now reads entries from each postlist in turn unless
USE_MSETPOSTLIST is defined.
Fri Nov 03 14:29:14 GMT 2000 Jon Fielder
* Added 'TIMING_PATCH' for performance testing of distributed
searching.
Fri Nov 3 11:30:30 GMT 2000 Richard Boulton <[email protected]>
* Add a little hack to malloc_wrapper.sh to allow tests in deeper
directories to find malloccheck.so.
Thu Nov 2 18:49:58 GMT 2000 Chris Emerson <[email protected]>
* More stuff in indexerquickstart.html
Thu Nov 2 18:24:12 GMT 2000 Richard Boulton <[email protected]>
* Add `extern "C"' to btree.h so that it will link with C++ code.
* QuartzDiskTable now has set_entry() and apply() methods rather than
a single set_entries() method - this is more flexible and neatens
the code considerably.
* Don't store btree pointers in AutoPtr's - they're not created by
new.
* Implement remaining methods in QuartzDiskTable
* Make quartztest compile by correcting syntax for using cursors.
* Add a btree regression test to quartztest.
Wed Nov 1 18:59:28 GMT 2000 Richard Boulton <[email protected]>
* Corrected a couple of points in btree_api.txt
* More work on quartz - implemented cursors, and some cursor operations.
Wed Nov 1 18:26:53 GMT 2000 Chris Emerson <[email protected]>
* Wrote more of the indexer quickstart document.
Wed Nov 1 13:00:33 GMT 2000 Richard Boulton <[email protected]>
* Add header guards to btree.h - should fix includetest.
Tue Oct 31 18:23:57 GMT 2000 Olly Betts
* Encoding of terms changed to a scheme which takes approximately
half the space.
Tue Oct 31 18:18:36 GMT 2000 Chris Emerson <[email protected]>
* More work on the indexer quickstart document.
Tue Oct 31 18:10:49 GMT 2000 Richard Boulton <[email protected]>
* Begun changing implementation of QuartzTable to use btree stuff.
Currently doesn't compile.
* Added quartztest that opening an unavailable revision of a valid
database doesn't throw an exception.
* More updates / corrections to btree_api.txt documentation.
Tue Oct 31 16:25:14 GMT 2000 Olly Betts
* Fixed a few warnings from gcc.
Tue Oct 31 16:12:46 GMT 2000 Chris Emerson <[email protected]>
* Added OmMakePairNode, OmMakePairsNode, OmMakeRangeNode,
OmSelectItemsNode
* OmRegexMatchNode uses empty strings rather than empty data
items for unmatched subexpressions.
* Regex object keeps track of the pattern string
Tue Oct 31 16:12:12 GMT 2000 Richard Boulton <[email protected]>
* Remove argument of Btree_item_create().
* Add several tests of quartz tables, prior to replacing their
implementation with Btree calls.
Tue Oct 31 14:36:08 GMT 2000 Richard Boulton <[email protected]>
* Remove a couple of statics which shouldn't have been there, causing
compiler warnings.
Tue Oct 31 14:34:19 GMT 2000 Olly Betts
* Revised remote protocol to be somewhat less verbose.
Tue Oct 31 14:18:24 GMT 2000 Olly Betts
* Improved output from test programs.
Tue Oct 31 13:12:15 GMT 2000 Richard Boulton <[email protected]>
* Removed QuartzRevisionNumber class - just use the revision number
as an integer. Unnecessary layer of abstraction.
Tue Oct 31 11:05:46 GMT 2000 Richard Boulton <[email protected]>
* Add Btree implementation to quartz directory. Not yet used.
Mon Oct 30 19:05:23 GMT 2000 Chris Emerson <[email protected]>
* Added OmKeylistAddNode and OmRegexMatchNode.
* Some slightly more helpful exception messages
* OmTermlistAddNode and OmPrefixNode support flat strings as
well as lists of strings
* Better support for submatches in regexcommon
Mon Oct 30 17:37:33 GMT 2000 Richard Boulton <[email protected]>
* Add a FIXME in irweight.cc
Mon Oct 30 17:35:17 GMT 2000 Richard Boulton <[email protected]>
* Added test to quartz to check behaviour of cursor operations.
Test is fairly comprehensive - cursor operations don't yet work.
Mon Oct 30 16:13:09 GMT 2000 Richard Boulton <[email protected]>
* Add entry to todo.
Mon Oct 30 14:20:46 GMT 2000 Chris Emerson <[email protected]>
* Fixed a segfault when trying to use a non-existent node type,
and added a test for it.
Fri Oct 27 19:52:55 BST 2000 Chris Emerson <[email protected]>
* New indexer nodes: omnewkeylist, omnewtermlist, and omtermlistadd
for managing term and key lists. ommakedoc for combining all
the parts of a document in the proper format. omconstant for
outputting constant (string ATM) values.
* Added OmIndexerData::get_description() and corresponding output
function.
* Fixed OmIndexer's interpretation of the output document message.
* Clarified some exception messages
Fri Oct 27 14:57:23 BST 2000 Olly Betts
* OmEnquireInternal -> OmEnquire::Internal; OmQueryInternal ->
OmQuery::Internal. More work than you'd think!
Fri Oct 27 13:54:13 BST 2000 Chris Emerson <[email protected]>
* Added OmMakeDocNode to combine data, terms, keys at the end
of an indexer
* Fixed segfault in OmRegexFilterNode
Thu Oct 26 18:32:36 BST 2000 Chris Emerson <[email protected]>
* Start of an indexer quickstart
Wed Oct 25 17:03:03 BST 2000 Olly Betts
* RemotePostList is now filtered through a forming mset at the
remote end. Min weight and skip_to messages from the client
currently ignored.
Wed Oct 25 13:00:39 BST 2000 Olly Betts
* Factored out MultiMatch::get_collapse_key().
* Matcher now exits early for boolean queries when
match_sort_forward is on (which it is by default).
Wed Oct 25 11:32:33 BST 2000 Chris Emerson <[email protected]>
* Fixed a bug in the indexer dataflow checking which complained
when there was no problem.
* Enabled omlistconcat test, which was failing due to that bug.
Wed Oct 25 10:36:57 BST 2000 Olly Betts
* Switched matcher back to using MSetPostList-s for now.
Tue Oct 24 18:57:58 BST 2000 Chris Emerson <[email protected]>
* OmIndexerData now uses vector::size_type instead of int in some
places dealing with vectors - gets rid of some compiler warnings.
* The omfilereader node works better.
* More tests in indextest, plus an extra text file for use with
the omfilereader tests.
Tue Oct 24 12:56:22 BST 2000 Olly Betts
* {skip_to,next}_handling_prune functions added to neaten up
handling of prunes in the postlist tree.
* matcher now has two stages - one to get the mset full of
candidates and another to continue the match with a full mset.
Sat Oct 21 07:54:53 BST 2000 Richard Boulton <[email protected]>
* Added quartzdesign.html document to docs/
Fri Oct 20 18:17:21 BST 2000 Richard Boulton <[email protected]>
* In quartz: store document lengths in termlists, store total
length in a field in the record table, and add methods to access
all these. QuartzDatabase::get_avlength() now implemented.
Fri Oct 20 16:21:41 BST 2000 Chris Emerson <[email protected]>
* The xml warn function now prints to debug rather than stderr
* Added more indexer tests
Fri Oct 20 15:14:47 BST 2000 Chris Emerson <[email protected]>
* Added autoconf/definedir.m4
Fri Oct 20 14:55:59 BST 2000 Chris Emerson <[email protected]>
* Added DATADIR define to find the arch-independent data, with
m4 macro AC_DEFINE_DIR.
* Added omindexer.dtd to the distribution.
* Indexer now finds the DTD by itself to use for verification,
either in DATADIR or by the OM_DTD_PATH environment variable.
* Indexer tests no longer specify the DTD in the XML descriptions.
* malloc_wrapper.sh sets OM_DTD_PATH. Should probably be renamed
to run_test.sh or something.
Fri Oct 20 13:58:57 BST 2000 Richard Boulton <[email protected]>
* Fixed checks for document IDs being 0 or termnames being "" in
API. Changed checks in Quartz for these conditions into Asserts.
Fri Oct 20 13:01:26 BST 2000 Olly Betts
* Added `make ctags' rule.
Fri Oct 20 12:55:10 BST 2000 Richard Boulton <[email protected]>
* Fixed refcount problem with Quartz - references were being held
to the QuartzDatabase member of a QuartzWritableDatabase.
Restructured to tidy up and avoid this: QuartzTermLists now hold
a refcount pointer to the appropriate database, and store a
pointer to the lexicon table to use directly if required.
Thu Oct 19 16:47:18 BST 2000 Chris Emerson <[email protected]>
* Added a few indexer tests.
* Made the START node's output be a wildcard type.
Thu Oct 19 16:03:01 BST 2000 Richard Boulton <[email protected]>
* quartz_lexicons allocate new term IDs (untested).
Thu Oct 19 13:00:52 BST 2000 Richard Boulton <[email protected]>
* Implemented quartz_lexicon, except for allocation of new term IDs.
Close to working correctly, except for unexplained refcount problem
in testsuite.
Thu Oct 19 09:59:15 BST 2000 Richard Boulton <[email protected]>
* Added quartz_lexicon.{cc,h}. Appropriate interface - not yet
implemented though.
Thu Oct 19 09:08:50 BST 2000 Richard Boulton <[email protected]>
* QuartzTermLists now implemented, and roughly tested. Quartz test
currently fails because databases don't yet have get_termfreq()
implemented.
Wed Oct 18 16:19:42 BST 2000 Richard Boulton <[email protected]>
* Error handler is now set in constructor of OmEnquire - this means
that errors during the constructor can be handled, and also helps
to ensure that handler is deleted after OmEnquire.
* Error handler copes with (most) problems in
MergePostList::recalc_maxweight(), and in the event of an error it
can cope with, replaces the relevant postlist by an emptypostlist
instead of deleting it.
* Renamed test multidb6 to multierrhandler1. This test now passes.
* omerror.h has the actual definitions of the errors split off into
separate file omerrortypes.h, for reuse elsewhere (eg,
net/omerr_string.c)
* network errors handle new context field. Modified encode_tname and
decode_tname so that a null term is not completely empty. Modified
query parser to match new termname encoding. Incremented protocol
version.
* Added items to TODO.
Wed Oct 18 15:38:39 BST 2000 Olly Betts
* New RemotePostList which streams postings across a network
connection. Show give faster remote matches when the bandwidth
is good.
* MSetPostList::get_max_weight() now returns the weight of the current
item once it starts being read - weights decrease down the mset, so
all no weight can be greater than the current one.
* Reverted Richard's max_possible_item change as after discussion
we've decided it doesn't actually work correctly.
Wed Oct 18 14:17:21 BST 2000 Chris Emerson <[email protected]>
* Added a debug class for indexer messages
* Some changes to the indexer semantics. Inputs from a given node
are all fetched at once, and some dataflow checking is done to
detect potential errors where data gets out of step.
* Added a test that the above checking works to indextest.
* Added new exception: OmDataFlowError, used in the indexer.
* The START node gives slightly more helpful errors when misused.
* Added the indexer DTD to data_DATA (and renamed it to omindexer.dtd
from test.dtd)
Tue Oct 17 18:44:43 BST 2000 Richard Boulton <[email protected]>
* API Change: add error handlers. This involves: adding an
OmErrorHandler base class, which should be subclassed to make a
custom handler; and adding a OmEnquire::set_error_handler() method.
OmErrors also have a new flag
The error handler is used in the OmEnquire object, and any errors
produced by this object will be passed to the handler before being
thrown. The handler is also used by the matcher (in fact, by
MergePostList), and errors in a merge postlist may be ignored
and coped with as well as possible if the error handler decides
not to propagate the error.
* Added a "context" member to OmErrors - this is set to a null string
at the moment, but will be used to store the context which an error
occurred in at a later date - for example, the identity of the
database in which a remote error occurred.
* Added a parameter to InMemory databases which causes any postlists
to throw a database corrupt error when next is called. Also added a
parameter to progserver to cause this parameter to be specified for
the database being opened. This allows testing of the error handler
code.
Tue Oct 17 15:53:47 BST 2000 Olly Betts
* net/progserver.cc: Removed `#include "localmatch.h"' - missed this
file in earlier checkin.
Tue Oct 17 12:58:48 BST 2000 Olly Betts
* If OM_DEBUG_FILE contains %%, substitute the process id.
Tue Oct 17 12:56:56 BST 2000 Olly Betts
* tests/.cvsignore: added indextest.
Tue Oct 17 12:40:07 BST 2000 Olly Betts
* localmatch.h: moved from common to matcher.
Mon Oct 16 19:09:22 BST 2000 Richard Boulton <[email protected]>
* Added OM_MAX_POSS_DOCID macro to om/om_types.h, to represent the
maxiumum value that a document ID may take (in a particular
compilation of the library.) Use this in multimatch.cc for the
document ID in max_possible_item.
Mon Oct 16 18:59:35 BST 2000 Richard Boulton <[email protected]>
* In multimatch.cc, replace w_max by max_possible_item, so that
early termination comparison takes document ID into account. This
may fix the problem with boolean queries not terminating early.
Mon Oct 16 16:42:17 BST 2000 Richard Boulton <[email protected]>
* Added dummy implementation of get_next_entry() in quartz_table.cc
so that builds may proceed.
Mon Oct 16 15:46:31 BST 2000 Richard Boulton <[email protected]>
* Added cursor operations to QuartzTable, so that we can move through
items in order.
Mon Oct 16 14:24:01 BST 2000 Olly Betts
* OmSocketLineBuf::do_readline: fixed core dump on time out.
Mon Oct 16 13:30:34 BST 2000 Richard Boulton <[email protected]>
* Add quartz_termlist.cc to CVS and uncommented it in the makefile.
Mon Oct 16 12:21:41 BST 2000 Olly Betts
* indexer/indexgraph/indexerxml.cc: Quick bodge fix for XML_DTD_PATH
not being defined - needs the correct fix from Chris.
Fri Oct 13 16:03:09 BST 2000 Chris Emerson <[email protected]>
* Fixed some leaks in the indexer system
Fri Oct 13 13:47:32 BST 2000 Olly Betts
* backends/quartz/Makefile.am: Commented out quartz_termlist.cc as
it's not yet in cvs and is blocking nightly snapshots.
Thu Oct 12 16:55:42 BST 2000 Richard Boulton <[email protected]>
* Convert statssource pointer in LocalSubMatch into an AutoPtr, to
fix memory leak bug (exhibited if an exception is thrown in
constructor).
Thu Oct 12 16:49:04 BST 2000 Chris Emerson <[email protected]>
* Changed the interface for creating indexer nodes.
Inputs are all fetched at once by request_inputs(), which must
be called before any call to get_input_*. It can be called
more than once.
* The nodes now all use request_inputs()
Thu Oct 12 16:37:42 BST 2000 Richard Boulton <[email protected]>
* DatabaseBuilder::create() now returns a RefCntPtr, rather than a
bare pointer, to prevent accidents involving not referring to
a database by refcnt, making a {post,position,term}list, and then
accidentally deleting the termlist when that list is deleted (and
decrements the refcnt on the database back to 0).
* Added an assert to refcnt, to ensure that a refcnt pointer isn't
made from `this', when this object isn't yet held by a reference
counted pointer.
* Added a termlist to Quartz. No implementation yet.
* Removed some old debugging code from Quartz.
Thu Oct 12 14:45:03 BST 2000 Olly Betts
* Moved common/networkmatch.h into match/
Thu Oct 12 14:28:21 BST 2000 Olly Betts