1This ChangeLog file is no longer maintained - see the git repo history for 2more recent changes: https://xapian.org/bleeding 3 4Fri Sep 25 07:27:51 GMT 2015 Olly Betts <olly@survex.com> 5 6 * NEWS: Update. 7 8Fri Sep 25 07:10:03 GMT 2015 Olly Betts <olly@survex.com> 9 10 * net/length.cc,net/length.h: Provide overloads for unsigned, unsigned 11 long, and unsigned long long, rather than uint32_t and uint64_t - 12 this avoids overload resolution failing when we pass a type which 13 isn't one which uint32_t or uint64_t is a typedef to. (see #385) 14 15Fri Sep 25 07:08:42 GMT 2015 Olly Betts <olly@survex.com> 16 17 * api/,backends/remote/net_postlist.cc, 18 backends/remote/remote-database.cc,common/serialise.h,net/: Split 19 decode_length() into versions which decode a 32 vs 64 bit value, 20 and which check that there's at least the decoded length in bytes 21 in the source data. (Fixes #678 and helps #385) 22 23Fri Sep 25 04:48:27 GMT 2015 Olly Betts <olly@survex.com> 24 25 * common/socket_utils.cc: Change C-style cast to reinterpret_cast. 26 27Fri Sep 25 04:38:49 GMT 2015 Olly Betts <olly@survex.com> 28 29 * docs/stemming.rst: Update snowball website link to snowballstem.org. 30 31Sun Aug 30 04:43:49 GMT 2015 Olly Betts <olly@survex.com> 32 33 * docs/remote_protocol.rst: Markup tweak. 34 35Fri Sep 25 04:27:46 GMT 2015 Olly Betts <olly@survex.com> 36 37 * backends/remote/remote-database.cc: Improve error when the client and 38 server remote protocol versions aren't compatible. 39 40Fri Sep 25 04:23:38 GMT 2015 Olly Betts <olly@survex.com> 41 42 * docs/: Strip out "quickstart" examples which are out of date and 43 rather redundant with the "simple" examples. 44 45Fri Sep 25 04:21:03 GMT 2015 Olly Betts <olly@survex.com> 46 47 * pkgconfig/xapian-core.pc.in: Fix library name in .pc file to say 48 "xapian" not "xapian-core". Reported by Eric Lindblad to the 49 xapian-devel list. 50 51Fri Sep 25 04:18:08 GMT 2015 Olly Betts <olly@survex.com> 52 53 * backends/chert/chert_compact.cc: Need <unistd.h> for unlink() on 54 FreeBSD, reported by Germán M. Bravo via github PR 72. 55 56Fri Sep 25 04:14:53 GMT 2015 Olly Betts <olly@survex.com> 57 58 * tests/harness/testutils.cc,tests/harness/testutils.h: Use 59 'Xapian::docid' instead of 'unsigned int' so that things work with 60 64 bit docids (see #385). 61 62Fri Sep 25 01:16:32 GMT 2015 Olly Betts <olly@survex.com> 63 64 * common/safeunistd.h,configure.ac: Don't provide our own 65 implementation of sleep() under __WIN32__ if there's already one - 66 mingw provides one, and in some situations it seems to clash with 67 ours. Reported to xapian-discuss by John Alveris. 68 69Fri Sep 25 01:13:59 GMT 2015 Olly Betts <olly@survex.com> 70 71 * net/remoteserver.cc: Check length of key in MSG_SETMETADATA. 72 73Fri Sep 25 00:05:00 GMT 2015 Olly Betts <olly@survex.com> 74 75 * examples/xapian-metadata.cc: Extend "list" subcommand to take 76 optional key prefix. 77 78Fri Sep 25 00:03:37 GMT 2015 Olly Betts <olly@survex.com> 79 80 * common/remote-database.h: Correct doxygen comment for internal 81 method. 82 83Fri Sep 25 00:02:06 GMT 2015 Olly Betts <olly@survex.com> 84 85 * examples/quest.cc: Prefer pre-increment ++. 86 87Fri Sep 25 00:01:23 GMT 2015 Olly Betts <olly@survex.com> 88 89 * tests/api_compact.cc,tests/api_posdb.cc: Remove unused variables. 90 91Thu Sep 24 23:31:12 GMT 2015 Olly Betts <olly@survex.com> 92 93 * languages/compiler/generator.c: Remove redundant assignment. 94 95Thu Sep 24 23:30:29 GMT 2015 Olly Betts <olly@survex.com> 96 97 * languages/compiler/generator.c: Remove extra "break;". 98 99Thu Sep 24 23:03:41 GMT 2015 Olly Betts <olly@survex.com> 100 101 * api/omdatabase.cc: Make Database::get_wdf_upper_bound("") return 0. 102 * tests/api_backend.cc: Fix testcase dbstats2 to not expect exact 103 doclength upper bounds from multi- or remote- flint. 104 105Thu Sep 24 05:59:39 GMT 2015 Olly Betts <olly@survex.com> 106 107 * api/documentvaluelist.h,api/matchspy.cc,include/xapian/: Mark 108 constructors taking a single argument as "explicit" to avoid 109 unwanted implicit conversions. 110 111Thu Sep 24 05:47:19 GMT 2015 Olly Betts <olly@survex.com> 112 113 * tests/api_backend.cc: Tweak bounds checks in dbstats1 testcase 114 - multi backends should give tight bounds. 115 116Thu Sep 24 12:02:31 GMT 2015 Olly Betts <olly@survex.com> 117 118 * examples/simpleexpand.cc,examples/simpleindex.cc, 119 examples/simplesearch.cc: '#include <config.h>' in the examples, as 120 when compiling with xlC on AIX, _LARGE_FILES gets defined by 121 AC_SYS_LARGEFILE to enable large file support, and defining this 122 changes the ABI of std::string, so it also needs to be defined when 123 compiling code using Xapian. 124 125Mon Sep 14 00:40:28 GMT 2015 Olly Betts <olly@survex.com> 126 127 * net/tcpclient.cc: Add missing '#include <arpa/inet.h>' to htons(). 128 Seems to be implicitly included on most platforms, but Interix needs 129 it. Reported by Eric Lindblad on xapian-discuss. 130 131Wed Jun 03 03:12:25 GMT 2015 Olly Betts <olly@survex.com> 132 133 * tests/api_backend.cc: Fix to build when S_ISSOCK() isn't defined. 134 135Mon Jun 01 11:42:11 GMT 2015 Olly Betts <olly@survex.com> 136 137 * api/omdatabase.cc,tests/api_backend.cc: Fix 138 Database::get_doclength_lower_bound() over multiple databases when 139 some are empty or consist only of zero-length documents. Previously 140 this would report a lower bound of zero, now it reports the same 141 lowest bound as a single database containing all the same documents. 142 143Mon Jun 01 11:36:39 GMT 2015 Olly Betts <olly@survex.com> 144 145 * backends/remote/remote-database.cc: Avoid divide by zero when 146 getting the average length for an empty database. 147 148Mon Jun 01 11:34:23 GMT 2015 Olly Betts <olly@survex.com> 149 150 * tests/harness/testsuite.cc: If command line option --verbose/-v 151 isn't specified, set the verbosity level from environmental variable 152 VERBOSE. 153 154Mon Jun 01 11:33:19 GMT 2015 Olly Betts <olly@survex.com> 155 156 * tests/harness/testsuite.cc: Put handling for XAPIAN_TESTSUITE_OUTPUT 157 environmental variable into its own block to contain the scope of 158 the temporary variables. 159 160Mon Jun 01 11:29:25 GMT 2015 Olly Betts <olly@survex.com> 161 162 * common/serialise-double.cc: Prefer scalbn() to ldexp() where 163 where possible, since the former doesn't ever set errno. 164 165Mon Jun 01 11:24:10 GMT 2015 Olly Betts <olly@survex.com> 166 167 * api/sortable-serialise.cc: Use scalbn() instead of ldexp() in 168 sortable_unserialise(), as ldexp() can set errno, which it seems 169 better to avoid doing. 170 171Fri May 29 07:47:46 GMT 2015 Olly Betts <olly@survex.com> 172 173 * tests/api_wrdb.cc: Revert disabling of part of adddoc5 for clang, as 174 that should now work now the method in question isn't marked as 175 XAPIAN_PURE_FUNCTION. 176 177Mon May 25 04:30:56 GMT 2015 Olly Betts <olly@survex.com> 178 179 * tests/harness/testsuite.h: Simplify FAIL_TEST and SKIP_TEST 180 slightly. 181 182Mon May 25 04:30:03 GMT 2015 Olly Betts <olly@survex.com> 183 184 * tests/harness/backendmanager_remotetcp.cc: Don't leave an extra fd 185 open when starting xapian-tcpsrv for remotetcp tests. 186 187Mon May 25 04:19:01 GMT 2015 Olly Betts <olly@survex.com> 188 189 * tests/harness/backendmanager_remotetcp.cc: Add spaces between literal 190 strings and macros which expand to literal strings for C++11 191 compatibility in __WIN32__-specific code. 192 193Thu May 21 11:13:29 GMT 2015 Olly Betts <olly@survex.com> 194 195 * configure.ac: Disable "<FUNCTION> is expected to return a value" 196 warning from Sun's C++ compiler, as it fires even for functions we 197 end in a "throw" statement. Genuine instances will be caught by 198 compilers with superior warning machinery. 199 200Wed May 20 14:40:55 GMT 2015 Olly Betts <olly@survex.com> 201 202 * NEWS: Final update for 1.2.21 (probably). 203 204Wed May 20 14:24:03 GMT 2015 Olly Betts <olly@survex.com> 205 206 * include/xapian/version_h.cc: If old and new __GXX_ABI_VERSION are 207 both >= 1002 (which means GCC >= 3.4), then issue a warning about 208 mismatching versions instead of an error. The changes in these 209 versions are bug fixes for corner cases, so there's a good chance of 210 things working - e.g. building xapian-bindings with GCC 5.1 (which 211 defaults to __GXX_ABI_VERSION 1008) against xapian-core built with 212 GCC 4.9 (1002) seems to work OK. A warning is still useful as a 213 clue to what is going on if linking fails due to a missing symbol. 214 215Wed May 20 09:54:36 GMT 2015 Olly Betts <olly@survex.com> 216 217 * NEWS: Another update for 1.2.21. 218 219Wed May 20 01:49:18 GMT 2015 Olly Betts <olly@survex.com> 220 221 * api/matchspy.cc: Fix comparison function not to return true for two 222 equal elements, which fixes matchspy4 test failure with clang and 223 libc++. 224 225Tue May 19 11:58:01 GMT 2015 Olly Betts <olly@survex.com> 226 227 * backends/brass/brass_database.cc,backends/chert/chert_database.cc, 228 backends/chert/chert_databasereplicator.cc, 229 backends/inmemory/inmemory_database.h,weight/tradweight.cc: Fix 230 compilations issues with Sun's C++ compiler (mostly missing library 231 headers). 232 233Mon May 18 04:18:37 GMT 2015 Olly Betts <olly@survex.com> 234 235 * configure.ac: Arrange to pass command line option so that xlC 236 actually fails to compile the test code for typeid() when RTTI isn't 237 enabled. 238 239Sat May 16 12:08:17 GMT 2015 Olly Betts <olly@survex.com> 240 241 * common/socket_utils.cc: Fix casts on the 4th argument of 242 setsockopt() so they compile on platforms which expect 243 char * or const char * there. 244 245Sat May 16 11:02:13 GMT 2015 Olly Betts <olly@survex.com> 246 247 * common/socket_utils.cc: Don't include <sys/socket.h> under 248 __WIN32__. 249 250Fri May 15 13:32:05 GMT 2015 Olly Betts <olly@survex.com> 251 252 * configure.ac: Enhance the probe for whether the test harness can use 253 RTTI so that it works for xlC (which defaults to not generating 254 RTTI). 255 256Fri May 15 11:16:18 GMT 2015 Olly Betts <olly@survex.com> 257 258 * common/io_utils.cc: Replace the code used on platforms without 259 F_DUPFD with simpler code which actually compiles. 260 261Fri May 15 05:30:33 GMT 2015 Olly Betts <olly@survex.com> 262 263 * NEWS: Another update for 1.2.21. 264 265Fri May 15 05:19:27 GMT 2015 Olly Betts <olly@survex.com> 266 267 * pkgconfig/xapian-core.pc.in: Include @ldflags@ in pkg-config .pc 268 file. 269 270Fri May 15 05:18:51 GMT 2015 Olly Betts <olly@survex.com> 271 272 * pkgconfig/xapian-core.pc.in: Fix include directory reported by 273 pkg-config. 274 275Fri May 15 05:18:03 GMT 2015 Olly Betts <olly@survex.com> 276 277 * configure.ac,pkgconfig/xapian-core.pc.in,xapian-config.in: When 278 compiling with xlC on AIX, _LARGE_FILES gets defined by 279 AC_SYS_LARGEFILE to enable large file support, and defining this 280 changes the ABI of std::string, so include it in xapian-config 281 --cxxflags and the pkg-config equivalent. 282 283Fri May 15 05:13:30 GMT 2015 Olly Betts <olly@survex.com> 284 285 * tests/Makefile.am,tests/perftest/Makefile.mk: Use $(NO_INSTALL) 286 rather than @NO_INSTALL@ to allow make-time overriding. 287 288Fri May 15 05:11:42 GMT 2015 Olly Betts <olly@survex.com> 289 290 * tests/soaktest/Makefile.mk: Use -no-fast-install instead of 291 -no-install for linking soaktest on platforms where libtool issues 292 a warning for -no-install, like we already do for all the other test 293 programs. 294 295Fri May 15 05:11:03 GMT 2015 Olly Betts <olly@survex.com> 296 297 * examples/simpleexpand.cc,examples/simpleindex.cc, 298 examples/simplesearch.cc: '#include <config.h>' in the examples, as 299 when compiling with xlC on AIX, _LARGE_FILES gets defined by 300 AC_SYS_LARGEFILE to enable large file support, and defining this 301 changes the ABI of std::string, so it also needs to be defined when 302 compiling code using Xapian. 303 304Fri May 15 04:57:27 GMT 2015 Olly Betts <olly@survex.com> 305 306 * common/io_utils.cc,common/io_utils.h: Fix build on platforms without 307 O_CLOEXEC, broken by backporting change not to use fds < 3 for 308 database tables. 309 310Thu May 14 14:47:43 GMT 2015 Olly Betts <olly@survex.com> 311 312 * NEWS,configure.ac: Update for 1.2.21. 313 314Thu May 14 06:57:16 GMT 2015 Olly Betts <olly@survex.com> 315 316 * NEWS: Update. 317 318Thu May 14 06:33:05 GMT 2015 Olly Betts <olly@survex.com> 319 320 * Makefile.am: Actually use $(NO_UNDEFINED). 321 322Thu May 14 06:30:33 GMT 2015 Olly Betts <olly@survex.com> 323 324 * configure.ac: Only pass -no-undefined when linking the library if 325 it's actually required for the current platform. Sun C++ doesn't 326 link the C++ runtime libraries to shared objects, so the build 327 fails with -no-undefined. 328 329Thu May 14 06:29:10 GMT 2015 Olly Betts <olly@survex.com> 330 331 * configure.ac: Add workaround for odd <cmath> issue with Sun C++. 332 333Thu May 14 06:24:18 GMT 2015 Olly Betts <olly@survex.com> 334 335 * HACKING: libtool 2.4.6 is now used for snapshots and releases. 336 337Thu May 14 05:17:24 GMT 2015 Olly Betts <olly@survex.com> 338 339 * backends/chert/chert_cursor.cc,backends/flint/flint_cursor.cc: 340 Correct delete to delete []. 341 342Thu May 14 05:14:36 GMT 2015 Olly Betts <olly@survex.com> 343 344 * docs/deprecation.rst: Add deprecation of --preserve-nonduplicates 345 which happened in 1.2.4. 346 347Thu May 14 05:12:24 GMT 2015 Olly Betts <olly@survex.com> 348 349 * api/keymaker.cc: Fix error compiling with Sun C++. 350 351Thu May 14 04:38:05 GMT 2015 Olly Betts <olly@survex.com> 352 353 * common/str.cc,matcher/multiandpostlist.cc,net/remoteconnection.cc, 354 weight/: Fixes for errors when compiling with Sun C++. 355 356Thu May 14 04:16:05 GMT 2015 Olly Betts <olly@survex.com> 357 358 * common/getopt.cc,net/tcpserver.cc: Fix clang warnings on OS X. 359 Reported by Germán M. Bravo. 360 361Thu May 14 03:44:06 GMT 2015 Olly Betts <olly@survex.com> 362 363 * bin/xapian-replicate.cc,common/socket_utils.cc,common/socket_utils.h, 364 net/replicatetcpclient.cc,net/replicatetcpclient.h: Set SO_KEEPALIVE 365 for xapian-replicate's connection to the master, and add command 366 line option to allow setting socket-level timeouts (SO_RCVTIMEO and 367 SO_SNDTIMEO) on platforms that support them. Fixes #546, reported 368 by nkvoll. 369 370Thu May 14 03:34:26 GMT 2015 Olly Betts <olly@survex.com> 371 372 * bin/xapian-replicate.cc: Fix connection timeout to be 10 seconds 373 rather than 10000 seconds which is has been since 1.2.3. 374 375Thu May 14 03:15:32 GMT 2015 Olly Betts <olly@survex.com> 376 377 * backends/flint/flint_table.cc: Backport assertion fixes from chert 378 to fix test failure of cursordelbug1 when assertions are enabled. 379 380Wed May 06 13:18:11 GMT 2015 Olly Betts <olly@survex.com> 381 382 * api/postlist.cc,api/postlist.h,common/remoteprotocol.h,matcher/, 383 net/remoteconnection.cc,net/serialise.cc,tests/api_backend.cc: Fix 384 sort by value when multiple databases are in use and one or more are 385 remote. This change necessitated a minor version bump in the remote 386 protocol. Fixes #674, reported by Dylan Griffith. 387 388Wed May 06 11:18:24 GMT 2015 Olly Betts <olly@survex.com> 389 390 * NEWS: Update. 391 392Wed May 06 10:00:49 GMT 2015 Olly Betts <olly@survex.com> 393 394 * backends/flint/flint_database.cc: Fix get_changeset_revisions() not 395 to potentially read uninitialised data if a changeset file is 396 truncated. Adapted from equivalent change already backported for 397 brass and chert. 398 399Wed May 06 07:22:23 GMT 2015 Olly Betts <olly@survex.com> 400 401 * configure.ac: Tweak comment to match xapian-omega's configure. 402 403Wed May 06 07:21:51 GMT 2015 Olly Betts <olly@survex.com> 404 405 * configure.ac: Set default value for AUTOM4TE before AC_OUTPUT so the 406 default will actually get used. 407 408Wed May 06 07:21:04 GMT 2015 Olly Betts <olly@survex.com> 409 410 * configure.ac: Add explicit AC_CANONICAL_HOST. 411 412Wed May 06 05:32:46 GMT 2015 Olly Betts <olly@survex.com> 413 414 * api/matchspy.cc,tests/api_nodb.cc: Eliminate needless uses of 415 AutoPtr. 416 417Wed May 06 05:31:13 GMT 2015 Olly Betts <olly@survex.com> 418 419 * backends/chert/chert_table.cc,backends/glass/glass_table.cc: Remove 420 duplicate includes of "omassert.h". 421 422Wed May 06 05:30:05 GMT 2015 Olly Betts <olly@survex.com> 423 424 * configure.ac: OS X >= 10.4 apparently supports symbol visibility, so 425 update comment. 426 427Wed May 06 05:29:15 GMT 2015 Olly Betts <olly@survex.com> 428 429 * xapian-config.in: Remove superfluous comment left over from code 430 refactoring. 431 432Wed May 06 05:28:48 GMT 2015 Olly Betts <olly@survex.com> 433 434 * xapian-config.in: Fix the include directory reported by --swigflags 435 for an installed copy to include the "/xapian-1.3" component for 436 a development version. 437 438Wed May 06 05:27:37 GMT 2015 Olly Betts <olly@survex.com> 439 440 * backends/chert/chert_databasereplicator.cc: Use return value of 441 get_message_chunk() rather than ignoring it and repeating the check 442 in the caller. 443 444Wed May 06 05:24:52 GMT 2015 Olly Betts <olly@survex.com> 445 446 * api/replication.cc,backends/brass/,backends/chert/chert_database.cc, 447 backends/chert/chert_table.cc,backends/chert/chert_version.cc, 448 backends/flint/flint_database.cc,backends/flint/flint_table.cc, 449 backends/flint/flint_version.cc,backends/remote/remote-database.cc, 450 bin/,examples/copydatabase.cc,examples/quest.cc, 451 examples/xapian-metadata.cc,net/tcpclient.cc, 452 queryparser/queryparser.lemony,tests/harness/: Add spaces between 453 literal strings and macros which expand to literal strings for C++11 454 compatibility. 455 456Wed May 06 05:04:47 GMT 2015 Olly Betts <olly@survex.com> 457 458 * bin/xapian-tcpsrv.cc: Use STRINGIZE() to include defaults literally 459 in string for --help. 460 461Wed May 06 05:00:38 GMT 2015 Olly Betts <olly@survex.com> 462 463 * HACKING: Update URL. 464 465Wed May 06 04:59:33 GMT 2015 Olly Betts <olly@survex.com> 466 467 * configure.ac,xapian-config.in: Rename ANSI_CXXFLAGS to ISO_CXXFLAGS 468 and talk about ISO C++ in configure messages. 469 470Wed May 06 04:44:32 GMT 2015 Olly Betts <olly@survex.com> 471 472 * .gitignore: Adjust for m4 subdirectory to only match files which 473 aren't in git. 474 475Wed May 06 04:37:28 GMT 2015 Olly Betts <olly@survex.com> 476 477 * xapian-config.in: Fix typo so cached result of test in 478 is_uninstalled() is actually used on subsequent calls. Fixes #676, 479 reported (with patch) by Ryan Schmidt. 480 481Wed May 06 04:02:33 GMT 2015 Olly Betts <olly@survex.com> 482 483 * backends/chert/chert_database.cc,backends/glass/glass_database.cc: 484 Fix get_changeset_revisions() not to potentially read uninitialised 485 data if a changeset file is truncated. 486 487Wed May 06 04:00:20 GMT 2015 Olly Betts <olly@survex.com> 488 489 * matcher/exactphrasepostlist.cc: When matching an exact phrase, if a 490 term doesn't occur where we want, we can advance "term 0" using 491 skip_to() based on where the term does next occur rather than just 492 calling next() on it. 493 494Wed May 06 03:54:52 GMT 2015 Olly Betts <olly@survex.com> 495 496 * matcher/nearpostlist.cc: Be lazier about opening PositionList 497 objects, as that causes a read of all the data for that 498 positionlist. 499 500Wed May 06 03:54:05 GMT 2015 Olly Betts <olly@survex.com> 501 502 * matcher/nearpostlist.cc: Make code for scanning window for duplicate 503 positions a little clearer. 504 505Wed May 06 03:52:57 GMT 2015 Olly Betts <olly@survex.com> 506 507 * matcher/nearpostlist.cc: Fix "/*" within comment. 508 509Wed May 06 03:50:45 GMT 2015 Olly Betts <olly@survex.com> 510 511 * matcher/nearpostlist.cc,matcher/nearpostlist.h: Reimplement OP_NEAR 512 check. The new implementation consistently requires the terms to 513 occur at different positions, and fixes some false negatives. 514 * tests/api_query.cc: Add regression tests as loosenear1. 515 516Tue May 05 23:27:19 GMT 2015 Olly Betts <olly@survex.com> 517 518 * matcher/phrasepostlist.cc,matcher/phrasepostlist.h: Reimplement 519 OP_PHRASE check for loose phrases - the existing implementation was 520 buggy, giving both false positives and false negatives in rare 521 cases. Fixes #653, reported by Jean-Francois Dockes. 522 * tests/api_query.cc: Add regression test loosephrase1. 523 524Tue May 05 23:24:21 GMT 2015 Olly Betts <olly@survex.com> 525 526 * api/queryinternal.cc,matcher/: Split NearPostList out into separate 527 source file and header. 528 529Tue May 05 15:25:22 GMT 2015 Olly Betts <olly@survex.com> 530 531 * bin/xapian-progsrv.cc: Fix comment typo. 532 533Tue May 05 15:23:48 GMT 2015 Olly Betts <olly@survex.com> 534 535 * backends/flint/flint_cursor.cc,backends/flint/flint_table.cc, 536 tests/api_backend.cc: Fix #675 for flint as well. 537 538Tue May 05 15:02:51 GMT 2015 Olly Betts <olly@survex.com> 539 540 * backends/brass/brass_cursor.cc,backends/brass/_table.cc, 541 backends/chert/chert_cursor.cc,backends/chert/chert_table.cc: 542 Potentially increment the cursor version on cancel() or when the 543 database is reopened, and flag the current cursor version as used 544 when a cursor is rebuilt. Fixes #675, reported by Germán M. Bravo. 545 * tests/api_backend.cc: Add regression test cursorbug1 based on 546 reproducer supplied by Germán. 547 548Tue May 05 14:26:01 GMT 2015 Olly Betts <olly@survex.com> 549 550 * common/errno_to_string.cc: Fix to build with Sun's C++ compiler. 551 552Tue May 05 14:24:24 GMT 2015 Olly Betts <olly@survex.com> 553 554 * configure.ac: Fix XAPIAN_TEST_CXXFLAGS macro to append to the 555 existing value of the variable, not its name. 556 557Tue May 05 14:23:10 GMT 2015 Olly Betts <olly@survex.com> 558 559 * tests/api_wrdb.cc: Just #ifdef out the problematic part of the 560 adddoc5 testcase for clang. 561 562Tue May 05 14:12:42 GMT 2015 Olly Betts <olly@survex.com> 563 564 * common/serialise-double.cc: Fix bug in recent fix. 565 * tests/unittest.cc: Extend serialise_double() to provide regression 566 test. 567 568Tue May 05 14:08:58 GMT 2015 Olly Betts <olly@survex.com> 569 570 * common/serialise-double.cc: Add missing cast to unsigned char when 571 we check if the value will fit in the double type. On machines with 572 IEEE-754 doubles (which is most current platforms), which change 573 makes no difference as we're checking if the value cast to a double 574 is > 255.<something> which is never the case. 575 576Tue May 05 14:05:14 GMT 2015 Olly Betts <olly@survex.com> 577 578 * common/serialise-double.cc: Avoid reading one byte past the end of 579 the serialised value. In practice this was harmless on most 580 platforms, as dbl_max_mantissa is 255 for IEEE-754 format doubles, 581 and at least GCC's std::string keeps the buffer nul-terminated. 582 Reported by Germán M. Bravo in github PR#67. 583 584Tue May 05 14:01:03 GMT 2015 Olly Betts <olly@survex.com> 585 586 * backends/flint_lock.cc: If available, use F_DUPFD to dup to a file 587 descriptor which is >= 2. 588 589Tue May 05 14:00:25 GMT 2015 Olly Betts <olly@survex.com> 590 591 * Makefile.am,docs/Makefile.am: Add missing quoting. 592 593Tue May 05 13:10:44 GMT 2015 Olly Betts <olly@survex.com> 594 595 * backends/chert/chert_table.cc,backends/glass/glass_table.cc, 596 common/io_utils.cc,common/io_utils.h,tests/api_backend.cc: 597 Avoid using fds < 3 for writable database tables, as it risks 598 corruption is some code in the same process tries to write to stdout 599 or stderr without realising it is closed. (Partly addresses #651) 600 601Tue May 05 13:10:44 GMT 2015 Olly Betts <olly@survex.com> 602 603 * matcher/exactphrasepostlist.cc: Fixed reversed conditonal for 604 picking the shorter position list for an exact phrase of two terms. 605 The difference this fix makes isn't dramatic, but can be measured 606 (at least with cachegrind). Thanks to kbwt for spotting this. 607 608Tue May 05 13:06:13 GMT 2015 Olly Betts <olly@survex.com> 609 610 * backends/brass/brass_compact.cc,backends/flint/flint_compact.cc: 611 Make sure we open all the tables of a database at the same revision 612 when compacting for brass and flint too. (Fixes #649) 613 614Tue May 05 12:52:17 GMT 2015 Olly Betts <olly@survex.com> 615 616 * backends/chert/chert_compact.cc: Make sure we open all the tables of 617 a database at the same revision when compacting. (Fixes #649) 618 619Tue May 05 12:48:01 GMT 2015 Olly Betts <olly@survex.com> 620 621 * examples/xapian-metadata.cc: Add 'list' subcommand to list all the 622 metadata keys. 623 624Tue May 05 12:07:10 GMT 2015 Olly Betts <olly@survex.com> 625 626 * include/xapian/queryparser.h: Doxygen comment wording tweaks. 627 628Tue May 05 12:04:02 GMT 2015 Olly Betts <olly@survex.com> 629 630 * include/xapian/queryparser.h: Doxygen comment formatting tweaks. 631 632Tue May 05 11:48:57 GMT 2015 Olly Betts <olly@survex.com> 633 634 * queryparser/queryparser.lemony,tests/queryparsertest.cc: Extend the 635 set of characters allowed in the start of a range to be anything 636 except for '(' and characters <= ' '. This better matches what's 637 accepted for a range end (anything except for ')' and characters <= 638 ' '). Reported by Jani Nikula. 639 640Tue May 05 11:46:57 GMT 2015 Olly Betts <olly@survex.com> 641 642 * Backport change from trunk: 643 * bin/xapian-check.cc: Don't hard-code string length as number. 644 645Wed Mar 04 00:53:14 GMT 2015 Olly Betts <olly@survex.com> 646 647 * AUTHORS: Update for 1.2.20. 648 649Wed Mar 04 00:27:39 GMT 2015 Olly Betts <olly@survex.com> 650 651 * NEWS,configure.ac: Update for 1.2.20. 652 653Tue Mar 03 11:35:42 GMT 2015 Olly Betts <olly@survex.com> 654 655 * NEWS: Update. 656 657Fri Feb 13 10:47:52 GMT 2015 Olly Betts <olly@survex.com> 658 659 * backends/brass/brass_table.cc,backends/flint/flint_table.cc: 660 mid_point() should never fail to find a split point, but just in 661 case it does, return a usable answer. 662 663Wed Feb 11 22:44:35 GMT 2015 Olly Betts <olly@survex.com> 664 665 * backends/chert/chert_table.cc: mid_point() should never fail to find 666 a split point, but just in case it does, return a usable answer. 667 668Sun Jan 25 23:48:34 GMT 2015 Olly Betts <olly@survex.com> 669 670 * configure.ac: Check for declaration of fdatasync() first, as OS X 671 has a dummy implementation in the library which is not prototyped in 672 any header. Reported by Vlad Shablinsky. 673 674Sat Dec 13 02:48:10 GMT 2014 Olly Betts <olly@survex.com> 675 676 * api/error.cc,generate-exceptions,net/remoteconnection.h: On 677 Windows, avoid defining EADDRINUSE, etc if they're already defined, 678 and use WSAE* constants un-negated, as they start from a high value 679 so won't collide with E* constants. 680 681Sat Jan 24 11:54:16 GMT 2015 Olly Betts <olly@survex.com> 682 683 * NEWS: Update. 684 685Fri Jan 23 12:53:50 GMT 2015 Olly Betts <olly@survex.com> 686 687 * backends/brass/brass_btreebase.cc,backends/brass/brass_table.cc, 688 backends/chert/chert_table.cc,backends/flint/flint_btreebase.cc, 689 backends/flint/flint_table.cc: Replace all uses of strerror in 690 library code which weren't addressed by the backported commits. 691 692Fri Dec 19 22:30:39 GMT 2014 Olly Betts <olly@survex.com> 693 694 * common/errno_to_string.cc: Need stdlib.h under mingw. 695 696Fri Jan 09 04:38:03 GMT 2015 Olly Betts <olly@survex.com> 697 698 * common/debuglog.cc: Add '#include "errno_to_string.h"'. 699 700Wed Dec 17 02:30:14 GMT 2014 Olly Betts <olly@survex.com> 701 702 * api/error.cc,backends/chert/chert_btreebase.cc, 703 backends/chert/chert_table.cc,backends/flint_lock.cc, 704 backends/glass/glass_table.cc,common/,configure.ac, 705 net/remoteconnection.cc: Add errno_to_string() function which is 706 thread-safe where a suitable alternative to strerror() exists. 707 708Sat Dec 20 10:40:44 GMT 2014 Sébastien Debrard <sebastien.debrard@gmail.com> 709 710 * Makefile.am,configure.ac,pkgconfig/,xapian-core.spec.in: Generate a 711 file for pkg-config. (Fixes#540) 712 713Mon Jan 05 08:39:47 GMT 2015 Olly Betts <olly@survex.com> 714 715 * Makefile.am: Remove the generated .pc file on "make distclean". 716 717Wed Dec 17 02:59:54 GMT 2014 Olly Betts <olly@survex.com> 718 719 * configure.ac: Drop probe for gethostbyaddr() - we've not used it for 720 over 8.5 years (since e33972a5). 721 722Tue Dec 16 06:54:32 GMT 2014 Olly Betts <olly@survex.com> 723 724 * configure.ac: Add missing m4 quoting. Generated configure file is 725 unchanged. 726 727Mon Jan 05 01:52:54 GMT 2015 Olly Betts <olly@survex.com> 728 729 * bin/xapian-check-brass.cc,bin/xapian-check-chert.cc: Cross-check the 730 position and postlist tables and report positional data for 731 non-existent documents. 732 733Tue Dec 23 21:26:49 GMT 2014 Olly Betts <olly@survex.com> 734 735 * backends/chert/chert_table.cc: More assertions about c. 736 737Tue Dec 23 04:26:38 GMT 2014 Olly Betts <olly@survex.com> 738 739 * backends/chert/chert_table.cc: Fix assertion to allow for c being 740 DIR_START - D2 in leaf blocks. 741 742Tue Dec 23 04:01:54 GMT 2014 Olly Betts <olly@survex.com> 743 744 * backends/chert/chert_table.cc: Add more assertions that c has 745 suitable values. 746 747Tue Dec 23 03:58:00 GMT 2014 Olly Betts <olly@survex.com> 748 749 * backends/chert/chert_table.cc: In enter_key(), we know the insertion 750 point will be the position after the current cursor position, so 751 there's no need to call find_in_block() to locate it. 752 753Tue Dec 23 03:11:12 GMT 2014 Olly Betts <olly@survex.com> 754 755 * backends/chert/chert_check.cc: Add check that dir_end is odd. 756 757Mon Dec 22 23:28:54 GMT 2014 Olly Betts <olly@survex.com> 758 759 * backends/chert/chert_table.cc: Document situations in which the 760 cursor can be left pointing before DIR_START. 761 762Sun Dec 21 20:55:47 GMT 2014 Olly Betts <olly@survex.com> 763 764 * include/xapian/weight.h: Document the enum stat_flags values. 765 766Thu Dec 18 06:17:18 GMT 2014 Olly Betts <olly@survex.com> 767 768 * net/tcpclient.cc: Use POSIX O_NONBLOCK in preference to O_NDELAY 769 which has different semantics on BSD and System V. 770 771Tue Dec 16 06:28:21 GMT 2014 Olly Betts <olly@survex.com> 772 773 * configure.ac: Don't check for strerror - it's specified by C89, and 774 we weren't using the result of the check anyway. 775 776Tue Dec 16 03:59:39 UTC 2014 Sébastien Debrard <sebastien.debrard@gmail.com> 777 778 * api/omenquire.cc,backends/multi/multi_postlist.cc, 779 tests/api_anydb.cc,tests/api_db.cc: Prefer ++x to x++. 780 781Tue Dec 16 03:50:41 GMT 2014 Olly Betts <olly@survex.com> 782 783 * configure.ac: Define MINGW_HAS_SECURE_API under mingw to get 784 _putenv_s() declared in stdlib.h. 785 786Thu Dec 11 03:21:46 GMT 2014 Olly Betts <olly@survex.com> 787 788 * net/tcpserver.cc: Fix comment. 789 790Thu Dec 04 02:17:46 GMT 2014 Olly Betts <olly@survex.com> 791 792 * configure.ac: Fix detection of fdatasync(), which appears to have 793 been broken practically forever - this means we've probably been 794 using fsync() instead, which probably isn't a big additional 795 overhead. 796 797Wed Dec 03 09:38:24 GMT 2014 Olly Betts <olly@survex.com> 798 799 * docs/Makefile.am: Quote png filenames we run through pngcrush to 800 avoid problems if there's an oddly-named extra PNG file in the 801 directory. 802 803Thu Nov 27 03:05:18 GMT 2014 Olly Betts <olly@survex.com> 804 805 * backends/flint_lock.cc: Use F_OFD_SETLK where available, which 806 avoids having to fork() a child process to hold the lock. This 807 currently requires Linux kernel >= 3.15, but it has been submitted 808 to POSIX so hopefully will be widely supported eventually. Thanks 809 to Austin Clements for pointing out this now exists. 810 811Wed Nov 26 03:29:28 GMT 2014 Olly Betts <olly@survex.com> 812 813 * docs/doxygen_source.conf.in: @MAKEINDEX@ isn't substituted, so just 814 use literal 'makeindex'. 815 816Tue Nov 25 21:13:51 GMT 2014 Olly Betts <olly@survex.com> 817 818 * configure.ac: Update link to cygwin FAQ. 819 820Thu Dec 11 03:52:45 GMT 2014 Olly Betts <olly@survex.com> 821 822 * Backport change from trunk: 823 * docs/doxygen_api.conf.in,docs/doxygen_source.conf.in: Update to 824 avoid warnings about obsolete tags from newer doxygen. 825 826Thu Dec 11 03:48:34 GMT 2014 Olly Betts <olly@survex.com> 827 828 * Backport change from trunk: 829 * configure.ac: Update link to cygwin FAQ. 830 831Thu Dec 11 03:42:42 GMT 2014 Olly Betts <olly@survex.com> 832 833 * Backport change from trunk: 834 * HACKING: Update details of building Xapian packages. 835 836Mon Nov 24 09:23:20 GMT 2014 Olly Betts <olly@survex.com> 837 838 * NEWS: Update. 839 840Mon Nov 24 06:17:32 GMT 2014 Olly Betts <olly@survex.com> 841 842 * Backport change from trunk: 843 * queryparser/lemon.c: Sync change from upstream: "In Lemon, when 844 comparing the output to the *.h file to see if it has changed, make 845 sure that the proposed new output and the preexisting output are the 846 same size before deciding that they are the same". Generated code 847 is identical, but this will fix misbehaviour in a build from a 848 non-clean tree if new tokens get appended to queryparser_token.h. 849 850Mon Nov 24 01:26:41 GMT 2014 Olly Betts <olly@survex.com> 851 852 * Backport change from trunk: 853 * matcher/exactphrasepostlist.cc: Straighten out confusing comments. 854 855Sun Nov 09 22:03:24 GMT 2014 Olly Betts <olly@survex.com> 856 857 * Backport change from trunk: 858 * docs/deprecation.rst: Fix typo. 859 860Sun Nov 09 22:02:36 GMT 2014 Olly Betts <olly@survex.com> 861 862 * Backport change from trunk: 863 * docs/replication.rst: Fix typo. 864 865Sun Nov 09 22:00:47 GMT 2014 Olly Betts <olly@survex.com> 866 867 * Backport change from trunk: 868 * docs/postingsource.rst: Use a modern class in postingsource example. 869 (Noted by James Aylett) 870 871Mon Nov 03 22:27:26 GMT 2014 Olly Betts <olly@survex.com> 872 873 * NEWS: Fix typo. 874 875Tue Oct 21 00:32:49 GMT 2014 Olly Betts <olly@survex.com> 876 877 * NEWS,configure.ac: Update for 1.2.19. 878 879Mon Oct 20 10:49:23 GMT 2014 Olly Betts <olly@survex.com> 880 881 * NEWS: Update. 882 883Mon Oct 20 09:40:14 GMT 2014 Olly Betts <olly@survex.com> 884 885 * Backport change from trunk: 886 * matcher/phrasepostlist.cc,tests/api_backend.cc: If the anchor term 887 for a phrase is the first or last, set the min or max to its 888 position respectively. Fixes the testcase in #657, but may not be 889 a complete fix. 890 891Sun Oct 19 08:14:51 GMT 2014 Olly Betts <olly@survex.com> 892 893 * Backport change from trunk: 894 * matcher/exactphrasepostlist.cc: We never try to build an 895 ExactPhrasePostList over 0 or 1 terms, so simply assert we don't, 896 rather than having an explicit check for it in the code. 897 898Sun Oct 12 06:08:05 GMT 2014 Olly Betts <olly@survex.com> 899 900 * NEWS: Update. 901 902Fri Oct 10 11:18:43 GMT 2014 Olly Betts <olly@survex.com> 903 904 * Backport change from trunk: 905 * backends/chert/chert_btreebase.cc,backends/chert/chert_table.cc: 906 Only full sync the final base file written. 907 908Fri Oct 10 03:20:03 GMT 2014 Olly Betts <olly@survex.com> 909 910 * Backport change from trunk: 911 * common/debuglog.h: Suppress unused typedef warnings from debugging 912 logging macros, which occur in functions which always exit via 913 throwing an exception. 914 915Thu Oct 09 23:01:37 GMT 2014 Olly Betts <olly@survex.com> 916 917 * backends/brass/brass_database.cc, 918 backends/brass/brass_spellingwordslist.cc, 919 backends/chert/chert_database.cc, 920 backends/chert/chert_spellingwordslist.cc,matcher/mergepostlist.cc: 921 Fix mismatched return type in debug logging annotations so that code 922 compiles when configured with --enable-log. These are already fixed 923 on trunk. 924 925Thu Oct 09 22:59:34 GMT 2014 Olly Betts <olly@survex.com> 926 927 * Backport change from trunk: 928 * common/pretty.h: Fix debug logging code to compile with clang. 929 (fixes #657, reported by Germán M. Bravo) 930 931Thu Oct 09 10:41:59 GMT 2014 Olly Betts <olly@survex.com> 932 933 * Backport change from trunk: 934 * tests/Makefile.am: Remove .replicatmp upon "make clean". 935 936Thu Oct 09 10:31:53 GMT 2014 Olly Betts <olly@survex.com> 937 938 * Backport change from trunk: 939 * docs/overview.rst: Add missing database path to example of using 940 xapian-progsrv in a stub database file. 941 942Thu Oct 09 10:26:48 GMT 2014 Olly Betts <olly@survex.com> 943 944 * Backport change from trunk: 945 * tests/harness/fdtracker.cc: Fix code typo in recent change to skip 946 apparent leaks of /dev/urandom. 947 948Sat Sep 06 02:11:02 GMT 2014 Olly Betts <olly@survex.com> 949 950 * Backport change from trunk: 951 * tests/harness/fdtracker.cc: Don't report apparent leaks of fds 952 opened on /dev/urandom - at least on Linux, something in the C 953 library seems to lazily open it, and the report of a possible leak 954 followed by assurance that it's OK really is just noise we could 955 do without. 956 957Fri Sep 05 15:11:46 GMT 2014 Olly Betts <olly@survex.com> 958 959 * Backport change from trunk: 960 * include/xapian/compactor.h: Fix formatting of doxygen comment. 961 962Fri Sep 05 15:10:17 GMT 2014 Olly Betts <olly@survex.com> 963 964 * Backport change from trunk: 965 * HACKING: freecode no longer accepts updates, so drop that item from 966 the release checklist. 967 968Fri Sep 05 14:51:46 GMT 2014 Olly Betts <olly@survex.com> 969 970 * Backport change from trunk: 971 * api/,backends/brass/,backends/chert/,backends/dbfactory_remote.cc, 972 matcher/mergepostlist.cc,matcher/remotesubmatch.cc, 973 net/progclient.cc: Add missing RETURN() markup for debug logging, 974 highlighted by warning from recent GCC. 975 976Fri Sep 05 14:34:26 GMT 2014 Olly Betts <olly@survex.com> 977 978 * Backport change from trunk: 979 * backends/dbfactory.cc: Fix incorrect return type in logging 980 annotations for InMemory::open(). 981 982Mon Aug 11 05:59:35 GMT 2014 Olly Betts <olly@survex.com> 983 984 * Backport change from trunk: 985 * configure.ac: For Sun's C++ compiler, pass -library=Crun separately 986 since libtool looks for " -library=stlport4 " (with the spaces). 987 (fixes#650) 988 989Mon Aug 11 05:55:54 GMT 2014 Olly Betts <olly@survex.com> 990 991 * Backport change from trunk: 992 * configure.ac: Rename XAPIAN_TEST_CXXFLAGS_ to XAPIAN_TEST_CXXFLAGS 993 (since the latter is never used) and make it take a variable to 994 add the flags to. Also, fix it to restore CXXFLAGS correctly if 995 the success case contains "break". 996 997Sat Aug 02 09:43:04 GMT 2014 Olly Betts <olly@survex.com> 998 999 * Backport change from trunk: 1000 * weight/bm25weight.cc: Improve BM25 upper bound in the case when our 1001 wdf upper bound > our document length lower bound. Thanks to 1002 Craig Macdonald for pointing out this trick. 1003 1004Sat Aug 02 06:42:18 GMT 2014 Olly Betts <olly@survex.com> 1005 1006 * Backport change from trunk: 1007 * weight/bm25weight.cc: Pre-multiply termweight by (param_k1 + 1). 1008 1009Sun Jun 22 04:26:30 GMT 2014 Olly Betts <olly@survex.com> 1010 1011 * AUTHORS,NEWS,configure.ac: Update for 1.2.18. 1012 1013Sat Jun 21 07:24:47 GMT 2014 Olly Betts <olly@survex.com> 1014 1015 * Backport change from trunk: 1016 * docs/Makefile.am: Use $(MKDIR_P) instead of test -d || mkdir 3 1017 times. 1018 1019Sat Jun 21 00:39:03 GMT 2014 Olly Betts <olly@survex.com> 1020 1021 * Backport change from trunk: 1022 * include/xapian/queryparser.h: Add the example of initializing 1023 SimpleStopper using a file as a doccomment. 1024 1025Thu Jun 19 13:35:25 GMT 2014 Olly Betts <olly@survex.com> 1026 1027 * NEWS: Update. 1028 1029Tue Jun 17 11:21:16 GMT 2014 Olly Betts <olly@survex.com> 1030 1031 * Backport change from trunk: 1032 * include/xapian/queryparser.h: Improve the descriptions of the 1033 stem_strategy values. (Reported by "oilap" on #xapian) 1034 1035Tue Jun 17 11:09:32 GMT 2014 Olly Betts <olly@survex.com> 1036 1037 * Backport change from trunk: 1038 * matcher/extraweightpostlist.h: Add an assertion that get_sumextra() 1039 returns a weight contribution which is <= the upper bound which 1040 get_maxextra() returns. 1041 1042Tue Jun 17 06:48:19 GMT 2014 Olly Betts <olly@survex.com> 1043 1044 * Backport change from trunk: 1045 * api/leafpostlist.cc,matcher/synonympostlist.cc: Add assertions that 1046 get_sumpart() returns a weight contribution which is <= the upper 1047 bound which get_maxpart() returns. 1048 1049Tue Jun 17 05:32:00 GMT 2014 Olly Betts <olly@survex.com> 1050 1051 * Backport change from trunk: 1052 * examples/quest.cc: Fix ordering of "bm25" and "bool" in allegedly 1053 sorted list, so that --weight bm25 and --weight bool work. 1054 1055Tue Jun 17 05:29:57 GMT 2014 Olly Betts <olly@survex.com> 1056 1057 * Backport change from trunk: 1058 * examples/quest.cc: Rework the weight name lookup to use a table like 1059 the other lookups. Change the weight names not to include "weight". 1060 1061Tue Jun 17 05:28:06 GMT 2014 Olly Betts <olly@survex.com> 1062 1063 * Backport change from trunk: 1064 * examples/quest.cc: Add --weight option to allow the weighting scheme 1065 to be specified. 1066 1067Tue Jun 17 03:58:23 GMT 2014 Olly Betts <olly@survex.com> 1068 1069 * Backport change from trunk: 1070 * HACKING: Replace a link to the outdated autotools "goat book" with a 1071 link to the "Portable Shell" chapter of the autoconf manual. 1072 1073Mon Jun 02 11:56:41 GMT 2014 Olly Betts <olly@survex.com> 1074 1075 * NEWS: Update. 1076 1077Thu May 29 11:22:25 GMT 2014 Olly Betts <olly@survex.com> 1078 1079 * tests/api_backend.cc: Ensure the test WritableDatabase object gets 1080 destroyed before we delete its directory, so the testcase works on 1081 __WIN32__ (on trunk we already do this). (Fixes #643, reported by 1082 Chris Olds) 1083 1084Fri May 23 13:34:47 GMT 2014 Olly Betts <olly@survex.com> 1085 1086 * Backport change from trunk: 1087 * HACKING: Add checking config/config.* are up to date to the 1088 release checklist. 1089 1090Fri May 23 13:00:30 GMT 2014 Olly Betts <olly@survex.com> 1091 1092 * Backport change from trunk: 1093 * api/matchspy.cc: Pass std::string by const reference. 1094 1095Wed May 14 11:02:07 GMT 2014 Olly Betts <olly@survex.com> 1096 1097 * HACKING: Now bootstrapping with libtool 2.4.2 instead of 2.4. 1098 1099Mon May 05 10:34:37 GMT 2014 Olly Betts <olly@survex.com> 1100 1101 * include/xapian/base.h: Remove old, old comments talking about atomic 1102 assignment and locking - since 0.5.0 we've adopted a "user locks" 1103 policy. This code has already been replaced on trunk, so this is 1104 a 1.2 branch only change. Reported by Jean-Francois Dockes. 1105 1106Fri May 02 06:24:24 GMT 2014 Olly Betts <olly@survex.com> 1107 1108 * Backport change from trunk: 1109 * matcher/valuestreamdocument.cc,matcher/valuestreamdocument.h: Put 1110 the docid in the sub-database into the ValueStreamDocument object as 1111 that's what Xapian::Document::get_docid() is documented to return. 1112 (fixes#636, reported by Jeff Rand). 1113 1114Fri May 02 06:10:36 GMT 2014 Olly Betts <olly@survex.com> 1115 1116 * Backport change from trunk: 1117 * matcher/valuestreamdocument.cc: Use open_document(did, true) instead 1118 of Database::get_document_lazily_(). 1119 1120Fri May 02 05:53:21 GMT 2014 Olly Betts <olly@survex.com> 1121 1122 * Backport change from trunk: 1123 * backends/database.cc,backends/slowvaluelist.cc, 1124 backends/slowvaluelist.h: Don't wrap the subdatabase object in a 1125 Xapian::Database for SlowValueList, which mean we can just call 1126 open_document(did, true) on it instead of having to use 1127 Xapian::Database::get_document_lazily_(). 1128 1129Wed Apr 30 05:35:28 GMT 2014 Olly Betts <olly@survex.com> 1130 1131 * NEWS: Update from ChangeLog. 1132 1133Wed Apr 30 03:38:44 GMT 2014 Olly Betts <olly@survex.com> 1134 1135 * Backport change from trunk: 1136 * api/omdatabase.cc: Explicitly '#include <algorithm>' for std::max(), 1137 fixing build with VS2013. (fixes#641) 1138 1139Mon Apr 14 07:22:59 GMT 2014 Olly Betts <olly@survex.com> 1140 1141 * Backport change from trunk: 1142 * examples/delve.cc: Prefer ++i to i++. 1143 1144Mon Apr 14 07:20:36 GMT 2014 Olly Betts <olly@survex.com> 1145 1146 * Backport change from trunk: 1147 * examples/delve.cc: Send errors to stderr not stdout. 1148 1149Mon Apr 14 07:16:21 GMT 2014 Olly Betts <olly@survex.com> 1150 1151 * Backport change from trunk: 1152 * examples/delve.cc: Add -A <prefix> option to list all terms with a 1153 particular prefix. 1154 1155Sat Apr 12 11:30:54 GMT 2014 Olly Betts <olly@survex.com> 1156 1157 * Really backport change which was claimed as backported in 1.2.15, 1158 but wasn't actually: 1159 * examples/delve.cc: If -v is specified more than once, show even more 1160 info in some cases. 1161 1162Fri Apr 11 07:40:18 GMT 2014 Olly Betts <olly@survex.com> 1163 1164 * Backport change from trunk: 1165 * common/documentterm.h,api/omdocument.cc: Don't store the termname in 1166 OmDocumentTerm - we were only using it in get_description() output 1167 and an exception message. Speeds up indexing etext.txt using 1168 simpleindex by 0.4%, and should reduce memory usage a bit too. 1169 (Change inspired by comments from Vishesh Handa on xapian-devel). 1170 1171Tue Mar 18 00:04:16 GMT 2014 Olly Betts <olly@survex.com> 1172 1173 * tests/queryparsertest.cc: Fix testcase for empty wildcard followed 1174 by negation to enable FLAG_LOVEHATE so the negation is actually 1175 parsed. Fortunately the fixed testcase passes. This testcase will 1176 be fixed on trunk when the delayed wildcard expansion branch gets 1177 merged. 1178 1179Fri Mar 14 11:47:39 GMT 2014 Olly Betts <olly@survex.com> 1180 1181 * NEWS: Update. 1182 1183Fri Mar 14 08:14:46 GMT 2014 Olly Betts <olly@survex.com> 1184 1185 * Backport change from trunk: 1186 * common/pack.h: Fix warnings with clang 5.0. 1187 1188Fri Mar 14 07:11:29 GMT 2014 Olly Betts <olly@survex.com> 1189 1190 * Backport change from trunk: 1191 * backends/brass/brass_positionlist.h, 1192 backends/chert/chert_positionlist.h, 1193 backends/flint/flint_positionlist.h: Remove next_internal() methods 1194 which were declared but not defined or used (left-overs from flint). 1195 Reported by "Hurricane Tong". 1196 1197Fri Mar 14 00:40:42 GMT 2014 Olly Betts <olly@survex.com> 1198 1199 * Backport change from trunk: 1200 * matcher/localsubmatch.cc,matcher/synonympostlist.cc, 1201 matcher/synonympostlist.h: In SynonymPostList, avoid fetching the 1202 doclength if the weighting scheme doesn't need it and the calculated 1203 wdf for the synonym in <= doclength_lower_bound for the current 1204 subdatabase. (fixes #360) 1205 1206Thu Mar 13 06:41:39 GMT 2014 Olly Betts <olly@survex.com> 1207 1208 * Backport change from trunk: 1209 * examples/quest.cc: Add --default-op option. 1210 1211Thu Mar 13 06:35:26 GMT 2014 Olly Betts <olly@survex.com> 1212 1213 * Backport change from trunk: 1214 * examples/quest.cc: Whitespace tweak. 1215 1216Sun Feb 23 10:11:27 GMT 2014 Olly Betts <olly@survex.com> 1217 1218 * Backport change from trunk: 1219 * HACKING: Stop trying to explicitly list compilers which support 1220 __builtin_expect (LLVM does too, others may as well). 1221 1222Sun Feb 23 10:10:43 GMT 2014 Olly Betts <olly@survex.com> 1223 1224 * Backport change from trunk: 1225 * tests/api_wrdb.cc: Expand crashrecovery1 to check that the expected 1226 base files exist and ones which shouldn't exist don't. 1227 1228Sun Feb 23 10:05:28 GMT 2014 Olly Betts <olly@survex.com> 1229 1230 * Backport change from trunk: 1231 * HACKING: makeindex is now in Debian package texlive-binaries. 1232 1233Sun Feb 23 10:04:19 GMT 2014 Olly Betts <olly@survex.com> 1234 1235 * Backport change from trunk: 1236 * docs/sorting.rst: Fix incorrect parameter types in Xapian::Weight 1237 subclass example. 1238 1239Sun Feb 23 09:57:46 GMT 2014 Olly Betts <olly@survex.com> 1240 1241 * Backport change from trunk: 1242 * tests/api_replicate.cc: Move comment to in front of the function it 1243 is actually talking about. 1244 1245Sun Feb 23 09:54:49 GMT 2014 Olly Betts <olly@survex.com> 1246 1247 * Backport change from trunk: 1248 * xapian-config.in: Add some missing shell quoting identified by 1249 shellcheck. 1250 1251Sun Feb 23 09:48:25 GMT 2014 Olly Betts <olly@survex.com> 1252 1253 * Backport change from trunk: 1254 * docs/quickstart.rst: Split --cxxflags and --libs for portability 1255 (noted by "Hurricane Tong" on xapian-devel). 1256 1257Sun Feb 23 09:46:58 GMT 2014 Olly Betts <olly@survex.com> 1258 1259 * Backport change from trunk: 1260 * docs/glossary.rst: Add definition of "collection frequency". 1261 1262Tue Jan 28 23:47:21 GMT 2014 Olly Betts <olly@survex.com> 1263 1264 * NEWS,configure.ac: Update for 1.2.17. 1265 1266Tue Jan 28 22:48:33 GMT 2014 Olly Betts <olly@survex.com> 1267 1268 * Backport change from trunk: 1269 * configure.ac: Sun C++ seems to explicitly need Crun now. 1270 1271Tue Jan 28 22:23:07 GMT 2014 Olly Betts <olly@survex.com> 1272 1273 * Backport change from trunk: 1274 * configure.ac: Fix checks for Sun C++. 1275 1276Tue Jan 28 22:16:13 GMT 2014 Olly Betts <olly@survex.com> 1277 1278 * Backport change from trunk: 1279 * configure.ac: Improve handling of Sun's C++ compiler - trick libtool 1280 into not adding -library=Cstd, and prefer -library=stdcxx4 if 1281 supported. 1282 1283Tue Jan 28 22:13:30 GMT 2014 Olly Betts <olly@survex.com> 1284 1285 * Backport change from trunk: 1286 * configure.ac: Add XAPIAN_TEST_CXXFLAGS macro, and use it to check 1287 the flags to cxx actually work. 1288 1289Tue Jan 28 22:10:51 GMT 2014 Olly Betts <olly@survex.com> 1290 1291 * Backport changes from trunk: 1292 * configure.ac: Apply missing functional part of previous change. 1293 * configure.ac: Avoid using grep -e as /usr/bin/grep on Solaris 1294 doesn't support it. 1295 1296Tue Jan 28 08:31:04 GMT 2014 Olly Betts <olly@survex.com> 1297 1298 * Backport change from trunk: 1299 * include/xapian/valueiterator.h: Protect the check() method in 1300 our API which takes one argument from OS X SDK's check() macro. 1301 1302Tue Jan 28 07:15:48 GMT 2014 Olly Betts <olly@survex.com> 1303 1304 * Backport change from trunk: 1305 * net/progclient.cc: Fix xlC warning. 1306 1307Mon Jan 06 08:09:14 GMT 2014 Olly Betts <olly@survex.com> 1308 1309 * Backport change from trunk: 1310 * backends/brass/brass_table.cc,backends/chert/chert_table.cc, 1311 backends/flint/flint_table.cc: Validate dir_end when reading a 1312 block. (fixes #592) 1313 1314Fri Jan 03 21:56:51 GMT 2014 Olly Betts <olly@survex.com> 1315 1316 * NEWS: Update. 1317 1318Wed Jan 01 03:53:47 GMT 2014 Olly Betts <olly@survex.com> 1319 1320 * Backport change from trunk: 1321 * docs/Makefile.am: Fix handling of MAINTAINER_NO_DOCS. 1322 1323Mon Dec 30 05:38:00 GMT 2013 Olly Betts <olly@survex.com> 1324 1325 * Backport change from trunk: 1326 * docs/postingsource.rst: Clarify a couple of points (reported by 1327 "vHanda" on IRC). 1328 1329Mon Dec 30 05:36:50 GMT 2013 Olly Betts <olly@survex.com> 1330 1331 * Backport change from trunk: 1332 * tests/api_unicode.cc: Add regression test for incorrect results 1333 from Unicode::tolower() for 4 code points (U+01C5, U+01C8, U+01CB, 1334 U+01F2) with Xapian 1.2.16 and earlier. 1335 1336Mon Dec 30 05:08:23 GMT 2013 Olly Betts <olly@survex.com> 1337 1338 * Backport changes from trunk: 1339 * HACKING: Note that Tcl is now needed to generate 1340 unicode/unicode-data.cc. 1341 * tests/api_unicode.cc: Add a tests that additions and changes in 1342 Unicode > 5.2 aren't active. 1343 * unicode/Makefile.mk,unicode/uniParse.tcl: Adjust to not need a 1344 symlink. Give the generated file a new name, since the "tcl" prefix 1345 doesn't make much sense here, and it avoids issues with 1346 transitioning from a file in version control to one which is 1347 generated. 1348 * unicode/: Add the source data file and scripts to generate 1349 tclUniData.cc. 1350 1351Tue Dec 24 22:40:04 GMT 2013 Olly Betts <olly@survex.com> 1352 1353 * tests/api_backend.cc: Fix apitest to build when brass, chert or 1354 flint are disabled. 1355 1356Tue Dec 24 02:15:16 GMT 2013 Olly Betts <olly@survex.com> 1357 1358 * Backport changes from trunk: 1359 * tests/Makefile.am,tests/perftest/Makefile.mk: Actually use 1360 @NO_INSTALL@. 1361 * configure.ac: Use -no-fast-install on platforms where -no-install 1362 causes libtool to emit a warning. 1363 1364Mon Dec 23 02:20:37 GMT 2013 Olly Betts <olly@survex.com> 1365 1366 * Backport change from trunk: 1367 * include/xapian/enquire.h: Note that 1.2.17 is required for the 1368 correct sense of the reverse parameter to Enquire methods 1369 set_sort_by_relevance_then_value() and 1370 set_sort_by_relevance_then_key(). 1371 1372Fri Dec 20 06:48:49 GMT 2013 Olly Betts <olly@survex.com> 1373 1374 * NEWS: Update. 1375 1376Thu Dec 19 09:23:01 GMT 2013 Olly Betts <olly@survex.com> 1377 1378 * Backport change from trunk: 1379 * docs/deprecation.rst: Update example version to a more recent one. 1380 1381Thu Dec 19 09:22:17 GMT 2013 Olly Betts <olly@survex.com> 1382 1383 * Backport change from trunk: 1384 * tests/harness/backendmanager_multi.cc: Fix comment typo. 1385 1386Thu Dec 19 09:18:50 GMT 2013 Olly Betts <olly@survex.com> 1387 1388 * Backport change from trunk: 1389 * backends/brass/brass_table.cc,backends/chert/chert_table.cc, 1390 backends/flint/flint_table.cc,tests/api_backend.cc: Fix handling of 1391 invalid block sizes - the size gets fixed as documented, but the 1392 uncorrected size was passed to the base file. Also, abort() was 1393 called on 0. 1394 1395Thu Dec 19 08:50:33 GMT 2013 Olly Betts <olly@survex.com> 1396 1397 * Backport change from trunk: 1398 * tests/runtest.in: Report if a test is being run under eatmydata, 1399 like we do for running under valgrind. 1400 1401Thu Dec 19 08:47:05 GMT 2013 Olly Betts <olly@survex.com> 1402 1403 * Backport change from trunk: 1404 * backends/brass/brass_version.h,backends/chert/chert_version.h, 1405 backends/flint/flint_version.h: Comment out unused set_uuid() and 1406 set_uuid_string() methods - they may be useful in future, but we 1407 aren't currently using them. Also make set_uuid() take a const 1408 pointer. 1409 1410Thu Dec 19 08:41:02 GMT 2013 Olly Betts <olly@survex.com> 1411 1412 * Backport change from trunk: 1413 * HACKING,configure.ac,tests/runtest.in: Automatically probe for and 1414 hook in eatmydata to the testsuite using the wrapper script it now 1415 includes. 1416 1417Thu Dec 19 08:22:16 GMT 2013 Olly Betts <olly@survex.com> 1418 1419 * Backport change from trunk: 1420 * HACKING: Update website update info. 1421 1422Mon Dec 16 10:40:12 GMT 2013 Olly Betts <olly@survex.com> 1423 1424 * Backport change from trunk: 1425 * matcher/msetcmp.cc: Fix sense of reverse parameter to 1426 Enquire::set_sort_by_relevance_then_value. Reported by "boomboo" on 1427 IRC. 1428 * tests/api_db.cc: Fix testcase sortrel1. 1429 1430Mon Dec 16 09:34:14 GMT 2013 Olly Betts <olly@survex.com> 1431 1432 * Backport change from trunk: 1433 * configure.ac: Improve reporting of GCC version. 1434 1435Fri Dec 13 08:45:00 GMT 2013 Olly Betts <olly@survex.com> 1436 1437 * Backport change from trunk: 1438 * weight/bm25weight.cc: Fix case where (k1 == 0 || b == 0) but k2 != 0. 1439 Reported by "boomboo" on IRC. 1440 * tests/api_weight.cc: Add regression test bm25weight5. 1441 1442Fri Dec 13 08:28:48 GMT 2013 Olly Betts <olly@survex.com> 1443 1444 * AUTHORS: Update missed from 1.2.16. 1445 1446Wed Dec 04 05:14:35 GMT 2013 Olly Betts <olly@survex.com> 1447 1448 * Backport change from trunk: 1449 * docs/Makefile.am: doxygen no longer generates any GIF files, so 1450 stop trying to ship or install them. 1451 1452Wed Dec 04 02:53:35 GMT 2013 Olly Betts <olly@survex.com> 1453 1454 * NEWS,docs/doxygen_api.conf.in: Use doxygen 1.8.5 to generate 1455 docs for releases. 1456 1457Wed Dec 04 02:22:55 GMT 2013 Olly Betts <olly@survex.com> 1458 1459 * NEWS,include/xapian/enquire.h,include/xapian/keymaker.h: 1460 Improve how descriptions of deprecated features appear in the API 1461 documentation. 1462 1463Tue Dec 03 23:08:06 GMT 2013 Olly Betts <olly@survex.com> 1464 1465 * NEWS: Final update for 1.2.16. 1466 1467Tue Dec 03 23:04:16 GMT 2013 Olly Betts <olly@survex.com> 1468 1469 * Backport change from trunk: 1470 * configure.ac: Clarify version of MSVCRT which we require for mingw. 1471 1472Sat Nov 30 03:16:44 GMT 2013 Olly Betts <olly@survex.com> 1473 1474 * backends/flint/flint_values.cc: Fix -Wcast-qual warning from GCC 4.7 1475 when configured with --enable-log. 1476 1477Fri Nov 29 20:18:48 GMT 2013 Olly Betts <olly@survex.com> 1478 1479 * net/tcpclient.cc,net/tcpserver.cc: Fix not to include <sys/socket.h> 1480 under __WIN32__. 1481 1482Fri Nov 29 04:23:56 GMT 2013 Olly Betts <olly@survex.com> 1483 1484 * Backport changes from trunk: 1485 * configure.ac: Report GCC version. 1486 * configure.ac: Fix typo in previous commit. 1487 1488Fri Nov 29 01:08:12 GMT 2013 Olly Betts <olly@survex.com> 1489 1490 * configure.ac: Update for 1.2.16. 1491 1492Thu Nov 28 06:06:45 GMT 2013 Olly Betts <olly@survex.com> 1493 1494 * NEWS: Update from ChangeLog. 1495 1496Wed Nov 27 08:17:49 GMT 2013 Olly Betts <olly@survex.com> 1497 1498 * Backport change from chert: 1499 * backends/flint/flint_table.cc: Check if the block we want is in the 1500 internal cursor for a read-only table too - it isn't needed for 1501 correctness in this case, but it is more efficient not to reload a 1502 block which we already have. 1503 1504Wed Nov 27 08:08:17 GMT 2013 Olly Betts <olly@survex.com> 1505 1506 * Backport change from trunk: 1507 * Backport change from brass: 1508 * backends/chert/chert_table.cc: Check if the block we want is in the 1509 internal cursor for a read-only table too - it isn't needed for 1510 correctness in this case, but it is more efficient not to reload a 1511 block which we already have. 1512 1513Wed Nov 27 08:05:25 GMT 2013 Olly Betts <olly@survex.com> 1514 1515 * Backport change from trunk: 1516 * backends/brass/brass_table.cc: Check if the block we want is in the 1517 internal cursor for a read-only table too - it isn't needed for 1518 correctness in this case, but it is more efficient not to reload a 1519 block which we already have. 1520 1521Wed Nov 27 03:08:30 GMT 2013 Olly Betts <olly@survex.com> 1522 1523 * Backport change from trunk: 1524 * queryparser/queryparser.lemony: Minor tweak to structuring of tests 1525 in check_infix(). 1526 1527Wed Nov 27 02:53:52 GMT 2013 Olly Betts <olly@survex.com> 1528 1529 * Backport change from trunk: 1530 * backends/brass/brass_table.cc,backends/chert/chert_table.cc, 1531 backends/flint/flint_table.cc: Add check for the database being 1532 closed in read_block(), which fixes pythontest.py testcase 1533 valuemods. 1534 1535Wed Nov 27 02:28:06 GMT 2013 Olly Betts <olly@survex.com> 1536 1537 * Backport change from trunk: 1538 * backends/brass/brass_values.cc,backends/brass/brass_values.h, 1539 backends/chert/chert_values.cc,backends/chert/chert_values.h: Reuse 1540 a cursor for reading values from valuestreams rather than creating 1541 a new one each time. This can dramatically reduce the number of 1542 blocks redundantly reread when sorting by value. The rereads will 1543 generally get served from VM cache, but there's still an overhead 1544 to that. 1545 1546Wed Nov 27 02:12:42 GMT 2013 Olly Betts <olly@survex.com> 1547 1548 * Backport change from trunk: 1549 * examples/quest.cc: Add --check-at-least option to quest. 1550 1551Wed Nov 27 02:07:45 GMT 2013 Olly Betts <olly@survex.com> 1552 1553 * Backport changes from trunk: 1554 * configure.ac,tests/soaktest/soaktest.cc: If srandom() and random() 1555 aren't available, use srand() and rand() instead. 1556 * common/safewindows.h: Define WINVER to 0x0500 if not otherwise set, 1557 so we get new interfaces like MEMORYSTATUSEX under mingw. 1558 * tests/harness/backendmanager_remotetcp.cc: Need cstdlib for free 1559 under mingw. 1560 * configure.ac,tests/api_replicate.cc,tests/queryparsertest.cc, 1561 tests/termgentest.cc: Probe for _putenv_s() in configure as mingw 1562 doesn't provide it. 1563 * configure.ac: Don't unset CC as it's used by libtool under mingw. 1564 1565Wed Nov 27 01:29:37 GMT 2013 Olly Betts <olly@survex.com> 1566 1567 * Backport change from trunk: 1568 * net/tcpserver.cc: Fix mingw build error. 1569 1570Wed Nov 27 01:04:36 GMT 2013 Olly Betts <olly@survex.com> 1571 1572 * Backport change from trunk: 1573 * common/omassert.h: Suppress "unused local typedef" warnings from 1574 GCC 4.8. 1575 1576Wed Nov 27 00:58:30 GMT 2013 Olly Betts <olly@survex.com> 1577 1578 * Backport change from trunk: 1579 * common/omassert.h: If the compiler supports C++11, use 1580 static_assert to implement CompileTimeAssert. 1581 1582Wed Nov 27 00:38:58 GMT 2013 Olly Betts <olly@survex.com> 1583 1584 * Backport change from trunk: 1585 * net/tcpclient.cc: Fix mingw build errors. 1586 1587Thu Oct 31 12:52:27 GMT 2013 Olly Betts <olly@survex.com> 1588 1589 * Backport change from trunk: 1590 * common/win32_uuid.cc: Fix mingw compiler warning. 1591 1592Thu Oct 31 12:39:03 GMT 2013 Olly Betts <olly@survex.com> 1593 1594 * Backport change from trunk: 1595 * backends/flint_lock.cc: Under cygwin, use cygwin_conv_path() if 1596 using a new enough cygwin version, rather than the now deprecated 1597 cygwin_conv_to_win32_path(). Reported by "Haroogan" on the 1598 xapian-devel mailing list. 1599 1600Thu Oct 31 12:30:29 GMT 2013 Olly Betts <olly@survex.com> 1601 1602 * NEWS: Update. 1603 1604Mon Oct 21 22:58:50 GMT 2013 Olly Betts <olly@survex.com> 1605 1606 * Backport change from trunk: 1607 * configure.ac: Simplify test for uuid_unparse_lower(). (see #626) 1608 1609Mon Oct 21 22:08:13 GMT 2013 Olly Betts <olly@survex.com> 1610 1611 * Backport change from trunk: 1612 * Makefile.am,configure.ac: Split XAPIAN_LIBS out of XAPIAN_LDFLAGS. 1613 (fixes#626) 1614 1615Mon Oct 21 20:00:35 GMT 2013 Olly Betts <olly@survex.com> 1616 1617 * Backport change from trunk: 1618 * include/xapian/enquire.h,include/xapian/unicode.h: Mark internal 1619 methods which are public for implementation convenience as 1620 "@private" for doxygen where they weren't already. 1621 1622Fri Oct 11 10:05:58 GMT 2013 Olly Betts <olly@survex.com> 1623 1624 * Backport change from trunk: 1625 * tests/zlib-vg.c: Fix two warnings when compiled with clang. 1626 1627Mon Oct 07 07:10:48 GMT 2013 Olly Betts <olly@survex.com> 1628 1629 * NEWS: Update from ChangeLog. 1630 1631Mon Oct 07 01:07:00 GMT 2013 Olly Betts <olly@survex.com> 1632 1633 * Backport change from trunk: 1634 * configure.ac: Enable -fshow-column for GCC - things like vim's 1635 quickfix mode will then jump to the appropriate column for a 1636 compiler error or warning, not just the appropriate line. 1637 1638Fri Oct 04 08:58:04 GMT 2013 Olly Betts <olly@survex.com> 1639 1640 * Backport change from trunk: 1641 * backends/brass/brass_check.cc,backends/chert/chert_check.cc, 1642 backends/flint/flint_check.cc: Fix xapian-check to report block 1643 numbers correctly for links within the B-tree. 1644 1645Fri Oct 04 06:55:01 GMT 2013 Olly Betts <olly@survex.com> 1646 1647 * bin/xapian-check-chert.cc,bin/xapian-check-brass.cc, 1648 bin/xapian-check-flint.cc: If the METAINFO key is missing, only 1649 report it once per table. 1650 1651Fri Oct 04 06:33:25 GMT 2013 Olly Betts <olly@survex.com> 1652 1653 * Backport change from trunk: 1654 * queryparser/queryparser.lemony: Fix comment typo. 1655 1656Fri Oct 04 06:30:42 GMT 2013 Olly Betts <olly@survex.com> 1657 1658 * Backport change from trunk: 1659 * .gitignore,xapian-core.spec.in: Update two references to .tar.gz 1660 files. 1661 1662Fri Oct 04 06:29:14 GMT 2013 Olly Betts <olly@survex.com> 1663 1664 * Backport change from trunk: 1665 * docs/install.rst: Fix typo (bogus extra 'and'); 1666 1667Fri Oct 04 06:27:39 GMT 2013 Olly Betts <olly@survex.com> 1668 1669 * Backport change from trunk: 1670 * configure.ac,docs/install.rst: Compress source tarballs with xz 1671 instead of gzip. 1672 1673Sun Sep 29 16:44:46 GMT 2013 Olly Betts <olly@survex.com> 1674 1675 * Backport change from trunk: 1676 * backends/brass/,backends/chert/,backends/flint,backends/dbcheck.cc: 1677 Fix database consistency checking to always open all the tables at 1678 the same revision, which could lead to false errors being reported 1679 after a commit interrupted by the process being killed or the 1680 machine crashing. Reported by Joey Hess in 1681 http://bugs.debian.org/724610 1682 1683Sun Sep 22 07:35:42 GMT 2013 Olly Betts <olly@survex.com> 1684 1685 * NEWS: Update for changes since 1.2.15. 1686 1687Fri Sep 20 09:21:37 GMT 2013 Olly Betts <olly@survex.com> 1688 1689 * Backport change from trunk: 1690 * include/xapian/unicode.h: Document how Utf8Iterator handles invalid 1691 UTF-8. 1692 1693Fri Sep 20 09:09:11 GMT 2013 Olly Betts <olly@survex.com> 1694 1695 * Backport change from trunk: 1696 * tests/queryparsertest.cc: Add test coverage for explicit synonym of 1697 a term with a prefix (e.g. ~foo:search). 1698 1699Mon Sep 16 11:50:28 GMT 2013 Olly Betts <olly@survex.com> 1700 1701 * Backport changes from trunk: 1702 * api/valueiterator.cc,tests/api_backend.cc: Don't segfault is 1703 skip_to() or check() are called on a ValueIterator which is already 1704 at_end(). 1705 * api/ompositionlistiterator.cc,api/ompostlistiterator.cc, 1706 tests/api_backend.cc: Don't segfault if skip_to() is called on an 1707 iterator which is already at_end(). Reported by David Bremner. 1708 1709Mon Sep 16 11:28:17 GMT 2013 Olly Betts <olly@survex.com> 1710 1711 * Backport changes from trunk: 1712 * tests/queryparsertest.cc: Fix previous change to compile. 1713 * tests/queryparsertest.cc: Change qp_scale1 to time 5 repetitions of 1714 the large query to help average out variations. 1715 1716Mon Sep 16 10:59:02 GMT 2013 Olly Betts <olly@survex.com> 1717 1718 * tests/api_serialise.cc: Fix up bad application of recent backport to 1719 this file. 1720 1721Mon Sep 16 10:48:05 GMT 2013 Olly Betts <olly@survex.com> 1722 1723 * Backport change from trunk: 1724 * tests/harness/testsuite.cc,tests/harness/testsuite.h: If 1725 -v/--verbose is specified more than once, show the diagnostic output 1726 for passing tests as well as failing/skipped ones. 1727 1728Mon Sep 16 10:22:53 GMT 2013 Olly Betts <olly@survex.com> 1729 1730 * Backport change from trunk: 1731 * api/matchspy.cc: Fix get_description() to work on a 1732 ValueCountMatchSpy with NULL internals - fixes matchspy5 testcase 1733 with remote backends when configured with --enable-log. 1734 * api/matchspy.cc: Add assertions that internal is non-NULL before 1735 using it. 1736 * include/xapian/matchspy.h: If internal is NULL, make 1737 ValueCountMatchSpy::get_total() return 0 rather than dereferencing 1738 NULL. 1739 1740Mon Sep 02 09:39:34 GMT 2013 Olly Betts <olly@survex.com> 1741 1742 * Backport change from trunk: 1743 * backends/dbfactory.cc: Fix 'unused label' warning when chert backend 1744 is disabled. 1745 1746Mon Sep 02 09:20:35 GMT 2013 Olly Betts <olly@survex.com> 1747 1748 * Backport change from trunk: 1749 * tests/api_serialise.cc: Remove code from registry* testcases which 1750 tries to test the consequences of throwing an exception from a 1751 destructor - it's complex to ensure we don't leak memory while doing 1752 this (it seems GCC doesn't release the object in this case, but 1753 clang does), and it's generally frowned upon, plus C++11 makes 1754 destructors noexcept by default. 1755 1756Mon Sep 02 08:08:57 GMT 2013 Olly Betts <olly@survex.com> 1757 1758 * Backport change from trunk: 1759 * tests/Makefile.am: Fix to actually removed cached databases before 1760 "make check". 1761 1762Sun Sep 01 09:06:53 GMT 2013 Olly Betts <olly@survex.com> 1763 1764 * Backport change from trunk: 1765 * common/safeuuid.h: Make a few tweaks to support AIX. 1766 1767Sun Sep 01 09:02:09 GMT 2013 Olly Betts <olly@survex.com> 1768 1769 * Backport change from trunk: 1770 * common/safeuuid.h: Remove bogus take-address-of from uuid handling 1771 code for netbsd and openbsd. 1772 1773Sun Sep 01 08:59:03 GMT 2013 Olly Betts <olly@survex.com> 1774 1775 * Backport change from trunk: 1776 * common/safeuuid.h: Add missing '#include <cstdlib>' and qualify free 1777 with std. 1778 1779Sun Sep 01 08:48:43 GMT 2013 Olly Betts <olly@survex.com> 1780 1781 * Backport change from trunk: 1782 * api/error.cc,common/Makefile.mk,common/safenetdb.h,net/tcpclient.cc, 1783 net/tcpserver.cc: AIX needs _USE_IRS defined for hstrerror, so 1784 create safenetdb.h to take care of that. 1785 1786Sun Sep 01 08:44:46 GMT 2013 Olly Betts <olly@survex.com> 1787 1788 * Backport change from trunk: 1789 * matcher/andmaybepostlist.cc,matcher/multiandpostlist.h: Fix 1790 assertion failure for when an OrPostList decays to an AndPostList 1791 - the ordering of the subqueries by estimated termfreq may not be 1792 the same as it was when the OrPostList was constructed, as the 1793 subqueries may themselves have decayed. Reported by Michel 1794 Pelletier. 1795 1796Sun Sep 01 06:29:20 GMT 2013 Olly Betts <olly@survex.com> 1797 1798 * Backport change from trunk: 1799 * m4-macros/xapian-1.3.m4: Handle empty or unset XAPIAN_CONFIG 1800 correctly. 1801 1802Fri Aug 30 08:32:55 GMT 2013 Olly Betts <olly@survex.com> 1803 1804 * Backport change from trunk: 1805 * configure.ac,m4-macros/xapian-1.3.m4: Fix stripping of _git suffix 1806 from snapshot versions not to relying of sed having support for \| 1807 as it doesn't on OS X. 1808 1809Fri Jul 12 08:18:15 GMT 2013 Olly Betts <olly@survex.com> 1810 1811 * Backport change from trunk: 1812 * m4-macros/xapian-1.3.m4: XO_LIB_XAPIAN now handles the user 1813 specifying a relative path in XAPIAN_CONFIG, e.g.: "./configure 1814 XAPIAN_CONFIG=../xapian-core/xapian-config" 1815 1816Thu Jul 11 13:02:51 GMT 2013 Olly Betts <olly@survex.com> 1817 1818 * Backport change from trunk: 1819 * m4-macros/xapian-1.3.m4: Fix comment typo. 1820 1821Thu Jul 11 12:37:51 GMT 2013 Olly Betts <olly@survex.com> 1822 1823 * Backport change from trunk: 1824 * configure.ac: clang doesn't support -Wstrict-null-sentinel or 1825 -Wlogical-op, so don't pass it these options. 1826 1827Thu Jul 11 12:28:02 GMT 2013 Olly Betts <olly@survex.com> 1828 1829 * Backport change from trunk: 1830 * backends/brass/brass_compact.cc,backends/chert/chert_compact.cc: 1831 Fix failure when built with -D_GLIBCXX_DEBUG - we were modifying 1832 the top() element of a heap before calling pop(), such that the 1833 heap comparison operation (which is called when -D_GLIBCXX_DEBUG 1834 is on to verify the heap is valid) would read off the end of the 1835 data. In a normal build, this issue would likely never manifest. 1836 1837Thu Jul 11 11:48:22 GMT 2013 Olly Betts <olly@survex.com> 1838 1839 * Backport change from trunk: 1840 * preautoreconf: Remove needless use of perl prototype. 1841 1842Thu Jul 11 11:45:15 GMT 2013 Olly Betts <olly@survex.com> 1843 1844 * Backport change from trunk: 1845 * configure.ac: When generating ABI compatibility checks in 1846 xapian/version.h, pass $CXXFLAGS and $CPPFLAGS to $CXXCPP as they 1847 could contain options which affect the ABI (such as -fabi-version 1848 for GCC). (Fixes #622) 1849 1850Thu Jul 11 11:37:19 GMT 2013 Olly Betts <olly@survex.com> 1851 1852 * Backport change from trunk: 1853 * common/win32_uuid.cc: Microsoft GUIDs in binary form have reversed 1854 byte order in the first three components compared to standard UUIDs, 1855 so the same database would report a different UUID on Windows to 1856 on other platforms. With this fix, the UUIDs of existing databases 1857 will appear to change on Windows (except in rare "palindronic" cases). 1858 1859Thu Jul 11 11:35:14 GMT 2013 Olly Betts <olly@survex.com> 1860 1861 * Backport change from trunk: 1862 * docs/overview.rst: Correct documentation for stub files specifying 1863 "prog" remote databases. 1864 1865Thu Jul 11 11:17:34 GMT 2013 Olly Betts <olly@survex.com> 1866 1867 * Backport change from trunk: 1868 * HACKING,INSTALL,Makefile.am,README,docs/Makefile.am,docs/install.rst, 1869 docs/stemming.rst,languages/Makefile.mk,queryparser/Makefile.mk, 1870 tests/Makefile.am,tests/perftest/perftest.cc: SVN -> git. 1871 1872Thu Jul 11 03:39:49 GMT 2013 Olly Betts <olly@survex.com> 1873 1874 * bin/xapian-chert-update.cc: Documented alias --blocksize for -b has 1875 never actually been supported, so just drop mentions of it from 1876 --help and the man page. 1877 1878Thu Jul 11 03:36:57 GMT 2013 Olly Betts <olly@survex.com> 1879 1880 * bin/xapian-chert-update.cc: Fix -b to work rather than always 1881 segfaulting (reported in http://bugs.debian.org/716484). 1882 1883Thu Jul 11 03:32:37 GMT 2013 Olly Betts <olly@survex.com> 1884 1885 * Backport changes from trunk: 1886 * backends/chert/chert_dbcheck.cc: Code tweak for clarity. 1887 * backends/chert/chert_dbcheck.cc: Fix database check that first docid 1888 in each doclength chunk is more than the last docid in the previous 1889 chunk - previously this didn't actually work. 1890 * common/bitstream.h: Fix database check not to falsely report 1891 "position table: Junk after position data" whenever there are 7 1892 unused bits (7 is OK, *more* than 7 isn't). 1893 1894Mon May 27 00:02:54 GMT 2013 Olly Betts <olly@survex.com> 1895 1896 * Backport change from trunk: 1897 * m4-macros/xapian-1.3.m4: Adjust XO_LIB_XAPIAN to strip _gitNNN 1898 suffix from snapshot versions. 1899 1900Sat May 25 07:30:26 GMT 2013 Olly Betts <olly@survex.com> 1901 1902 * Backport changes from trunk: 1903 * configure.ac: Handle git snapshot naming when calculating REVISION. 1904 * configure.ac: Simplify previous change. 1905 1906Sat May 25 07:03:34 GMT 2013 Olly Betts <olly@survex.com> 1907 1908 * Backport change from trunk: 1909 * backends/brass/brass_version.cc,backends/chert/chert_version.cc: 1910 Remove unused '#include <cstdio>'. 1911 1912Wed May 01 05:14:16 GMT 2013 Olly Betts <olly@survex.com> 1913 1914 * Backport change from trunk: 1915 * include/xapian.h: Add catch for Wt defining a macro called slots, 1916 like we already do for Qt. 1917 1918Mon Apr 29 11:27:54 GMT 2013 Olly Betts <olly@survex.com> 1919 1920 * Backport change from trunk: 1921 * docs/remote_protocol.rst: Correct error in documentation of 1922 REPLY_DOCDATA message. 1923 1924Sun Apr 28 09:08:23 GMT 2013 Olly Betts <olly@survex.com> 1925 1926 * Backport change from trunk: 1927 * include/xapian/version_h.cc: Fix typo in doc comment. 1928 1929Tue Apr 16 23:07:10 GMT 2013 Olly Betts <olly@survex.com> 1930 1931 * NEWS,configure.ac: Update for 1.2.15. 1932 1933Tue Apr 16 10:10:30 GMT 2013 Olly Betts <olly@survex.com> 1934 1935 * NEWS: Update from ChangeLog. 1936 1937Tue Apr 16 06:27:59 GMT 2013 Olly Betts <olly@survex.com> 1938 1939 * Backport change from trunk: 1940 * backends/brass/brass_version.cc,backends/chert/chert_version.cc, 1941 backends/flint/flint_version.cc: Call io_sync() on the version file 1942 when we create it. 1943 1944Mon Apr 15 09:09:17 GMT 2013 Olly Betts <olly@survex.com> 1945 1946 * Backport change from trunk: 1947 * bin/xapian-delve.cc: If -v is specified more than once, show even 1948 more info in some cases. 1949 1950Wed Apr 10 08:11:36 GMT 2013 Olly Betts <olly@survex.com> 1951 1952 * Backport change from trunk: 1953 * m4-macros/xapian.m4: XO_LIB_XAPIAN now handles the user 1954 specifying XAPIAN_CONFIG without a path - e.g.: "./configure 1955 XAPIAN_CONFIG=xapian-config-1.3" 1956 1957Tue Apr 02 10:25:43 GMT 2013 Olly Betts <olly@survex.com> 1958 1959 * queryparser/lemon.c: Fix lemon pointer truncation bug, which 1960 probably affects WIN64. 1961 1962Wed Mar 27 08:51:22 GMT 2013 Olly Betts <olly@survex.com> 1963 1964 * Backport change from trunk: 1965 * queryparser/queryparser.lemony: std::less provides a total order over 1966 pointers, so we can just use that to implement 1967 filter_group_id::operator<() - we only need a consistent order so we 1968 can use it as the key to a std::map. 1969 1970Tue Mar 26 09:54:44 GMT 2013 Olly Betts <olly@survex.com> 1971 1972 * Backport change from trunk: 1973 * backends/brass/brass_table.cc,backends/chert/chert_table.cc, 1974 common/pretty.h: Avoid needlessly casting away const-ness in 1975 debug logging. 1976 1977Tue Mar 26 08:00:44 GMT 2013 Olly Betts <olly@survex.com> 1978 1979 * Backport change from trunk: 1980 * api/registry.cc: No need to explicitly default initialise std::map 1981 members or the base class. 1982 1983Tue Mar 26 01:31:08 GMT 2013 Olly Betts <olly@survex.com> 1984 1985 * Backport changes from trunk: 1986 * queryparser/cjk-tokenizer.cc,queryparser/termgenerator_internal.cc, 1987 tests/termgentest.cc: Some CJK codepoints are also punctuation and 1988 hence not word characters, and should not really be used as fodder 1989 for generating N-grams. Also fixes a pre-existing bug where every 1990 second sequence of N-grammable CJK characters in the text failed to 1991 generate the first 2-gram. 1992 * tests/queryparsertest.cc: Add test coverage for change to 1993 QueryParser CJK handling in previous commit. 1994 1995Mon Mar 25 11:10:26 GMT 2013 Olly Betts <olly@survex.com> 1996 1997 * matcher/multiandpostlist.cc,matcher/multixorpostlist.cc: Fix to 1998 build when configured with --enable-log. 1999 2000Thu Mar 14 23:21:10 GMT 2013 Olly Betts <olly@survex.com> 2001 2002 * AUTHORS: Update for 1.2.14. 2003 2004Thu Mar 14 22:36:40 GMT 2013 Olly Betts <olly@survex.com> 2005 2006 * NEWS,configure.ac: Update for 1.2.14. 2007 2008Thu Mar 14 12:26:45 GMT 2013 Olly Betts <olly@survex.com> 2009 2010 * Backport change from trunk: 2011 * tests/api_anydb.cc: Added tradweight4 testcase to test TradWeight 2012 with an RSet for weighting documents. 2013 2014Thu Mar 14 12:20:00 GMT 2013 Olly Betts <olly@survex.com> 2015 2016 * Backport change from trunk: 2017 * HACKING: gs package has been replaced by ghostscript package in 2018 current Debian and Ubuntu releases. 2019 2020Fri Mar 08 08:50:56 GMT 2013 Olly Betts <olly@survex.com> 2021 2022 * backends/flint/flint_compact.cc: Apply same fix for flint. 2023 2024Fri Mar 08 08:25:47 GMT 2013 Olly Betts <olly@survex.com> 2025 2026 * Backport change from trunk: 2027 * backends/brass/brass_compact.cc,backends/chert/chert_compact.cc: Fix 2028 multipass compaction not to damage document values, and to merge the 2029 database stats correctly. (fixes #615) 2030 * tests/api_compact.cc: Add regression test compactmultipass1. 2031 2032Thu Mar 07 09:39:14 GMT 2013 Olly Betts <olly@survex.com> 2033 2034 * NEWS: Update from ChangeLog. 2035 2036Sat Feb 16 08:14:04 GMT 2013 Olly Betts <olly@survex.com> 2037 2038 * Backport change from trunk: 2039 * matcher/selectpostlist.cc,matcher/selectpostlist.h: Check document 2040 matches weight threshold before checking positional information, 2041 which speeds up slow phrase searches (tweaked version of 2042 positional-query-weight-check-first.patch from #394). 2043 2044Sat Feb 16 02:30:35 GMT 2013 Olly Betts <olly@survex.com> 2045 2046 * Backport change from trunk: 2047 * tests/api_stem.cc: Extend stem2 to ensure description of the stemmer 2048 isn't the same as the description of Stem("none"). Fix description 2049 of testcase stemlangs2. 2050 2051Sat Feb 16 02:15:30 GMT 2013 Olly Betts <olly@survex.com> 2052 2053 * Backport change from trunk: 2054 * HACKING: Update link to new home of autotools tutorial. 2055 2056Sat Feb 16 02:10:53 GMT 2013 Olly Betts <olly@survex.com> 2057 2058 * Backport change from trunk: 2059 * api/omenquire.cc: Don't cache documents retrieved by 2060 MSet::get_document() unless they were requested with fetch(). This 2061 avoids using a lot of memory when many MSet entries are retrieved. 2062 (Fixes #604) 2063 2064Fri Feb 15 07:36:50 GMT 2013 Olly Betts <olly@survex.com> 2065 2066 * Backport change from trunk: 2067 * common/realtime.h: Fix RealTime::sleep() to calculate the delta to 2068 the time we want to sleep to the right way round. Previously we 2069 wouldn't sleep if we were before the deadline, but would sleep if 2070 the deadline had already passed (and by the amount the deadline had 2071 passed)! And on Windows, fix the sleep to be for the delta rather 2072 than 43+ years (the time elapsed since the start of 1970). (Fixes 2073 #472) 2074 2075Fri Feb 15 07:33:47 GMT 2013 Olly Betts <olly@survex.com> 2076 2077 * matcher/queryoptimiser.cc: Need <functional> for mem_fun(). 2078 2079Fri Feb 15 07:31:21 GMT 2013 Olly Betts <olly@survex.com> 2080 2081 * Backport change from trunk: 2082 * tests/harness/testsuite.cc: Don't provide explicit template types to 2083 make_pair - it isn't useful, and breaks with C++11. Fixes build 2084 error with MSVC2012. 2085 2086Mon Jan 28 01:51:01 GMT 2013 Olly Betts <olly@survex.com> 2087 2088 * Backport change from trunk: 2089 * examples/quest.cc: Fix to build with Sun Studio 12 compiler. 2090 (ticket#611) 2091 2092Mon Jan 28 01:47:47 GMT 2013 Olly Betts <olly@survex.com> 2093 2094 * NEWS: Fix some typos in older entries. 2095 2096Wed Jan 09 11:31:52 GMT 2013 Olly Betts <olly@survex.com> 2097 2098 * AUTHORS: Update for 1.2.13. 2099 2100Wed Jan 09 11:13:34 GMT 2013 Olly Betts <olly@survex.com> 2101 2102 * NEWS,configure.ac: Updated for 1.2.13. 2103 2104Wed Jan 09 07:40:06 GMT 2013 Olly Betts <olly@survex.com> 2105 2106 * NEWS: Format new entries. 2107 2108Tue Jan 08 10:10:43 GMT 2013 Olly Betts <olly@survex.com> 2109 2110 * NEWS: Update from ChangeLog. 2111 2112Tue Jan 08 09:14:54 GMT 2013 Olly Betts <olly@survex.com> 2113 2114 * Backport change from trunk: 2115 * configure.ac: Expand comment about DJGPP. 2116 2117Tue Jan 08 09:13:51 GMT 2013 Olly Betts <olly@survex.com> 2118 2119 * Backport change from trunk: 2120 * configure.ac: Update comment - we've supported the prog backend on 2121 Windows for more than 5 years now! 2122 2123Tue Jan 08 09:05:56 GMT 2013 Olly Betts <olly@survex.com> 2124 2125 * backends/brass/brass_database.cc,backends/chert/chert_database.cc, 2126 backends/flint/flint_database.cc,net/remoteconnection.cc, 2127 tests/api_replicate.cc: Pass O_BINARY when opening replication 2128 related files in some places where we weren't before, which will 2129 probably help solve bugs such as #472. Changes are roughly 2130 equivalent in effect to r16961 and r16962 on trunk, but done in a 2131 very different way to be less invasive. 2132 2133Mon Jan 07 11:48:41 GMT 2013 Olly Betts <olly@survex.com> 2134 2135 * Backport change from trunk: 2136 * backends/remote/remote-database.cc: Make the UnimplementedError for a 2137 MatchSpy which doesn't implement name() clearer that it's this 2138 particular subclass which can't be used remotely, not all MatchSpy 2139 objects. 2140 2141Mon Jan 07 11:46:54 GMT 2013 Olly Betts <olly@survex.com> 2142 2143 * Backport change from trunk: 2144 * configure.ac: Use user-specified LIBS for configure tests, which is 2145 what's expected, and provides a way for the user to tell configure 2146 where to find library functions which configure can't find for 2147 itself. 2148 2149Mon Jan 07 10:56:18 GMT 2013 Olly Betts <olly@survex.com> 2150 2151 * bin/Makefile.mk: Fix srcdir != builddir build (broken by INCLUDES 2152 to AM_CPPFLAGS change). 2153 2154Mon Jan 07 10:38:02 GMT 2013 Olly Betts <olly@survex.com> 2155 2156 * Backport change from trunk: 2157 * backends/brass/brass_databasereplicator.cc, 2158 backends/chert/chert_databasereplicator.cc: Simplify how we open the 2159 .DB file on the replication slave to just call open() once with 2160 O_CREAT, rather than once without, than stat() if that fails, and 2161 then again with O_CREAT|O_TRUNC if stat() doesn't show an ordinary 2162 file exists. 2163 2164Mon Jan 07 10:31:44 GMT 2013 Olly Betts <olly@survex.com> 2165 2166 * Backport change from trunk: 2167 * api/compactor.cc,common/,languages/compiler/syswords2.h, 2168 tests/api_compact.cc: Remove extra blank lines at end of files. 2169 2170Mon Jan 07 10:26:56 GMT 2013 Olly Betts <olly@survex.com> 2171 2172 * Backport change from trunk: 2173 * backends/brass/brass_database.cc,backends/chert/chert_database.cc: 2174 Fix "if (fd > 0)" tests to be "if (fd >= 0)" in code related to 2175 replication. In practice this is unlikely to actually have caused 2176 problems in real world cases. 2177 2178Mon Jan 07 10:20:02 GMT 2013 Olly Betts <olly@survex.com> 2179 2180 * Backport changes from trunk: 2181 * Makefile.am,languages/Makefile.mk,queryparser/Makefile.mk, 2182 tests/Makefile.am: In automake, INCLUDES is now deprecated in favour 2183 of AM_CPPFLAGS so update to use the latter. 2184 * bin/Makefile.mk: INCLUDES is always used, AM_CPPFLAGS 2185 isn't if there are per-executable CPPFLAGS, so add AM_CPPFLAGS 2186 explicitly when we use per-executable CPPFLAGS. 2187 2188Mon Jan 07 09:08:01 GMT 2013 Olly Betts <olly@survex.com> 2189 2190 * Backport changes from trunk: 2191 * examples/quest.cc: Add --flags command line option to allow setting 2192 arbitrary QueryParser flags. 2193 * examples/quest.cc: Need <algorithm> for lower_bound(). 2194 * examples/quest.cc: Align option descriptions in --help output, and 2195 make the initial letter of such descriptions consistently lowercase. 2196 2197Mon Jan 07 08:52:14 GMT 2013 Olly Betts <olly@survex.com> 2198 2199 * Backport change from trunk: 2200 * api/valuerangeproc.cc: Move 3 declarations to where we first use the 2201 variables. 2202 2203Mon Jan 07 08:46:00 GMT 2013 Olly Betts <olly@survex.com> 2204 2205 * Backport change from trunk: 2206 * matcher/multimatch.cc: We no longer use the highest weighted 2207 MSet entry to calculate percentages, so stop searching for it. 2208 (Spotted by cppcheck) 2209 2210Mon Jan 07 08:28:36 GMT 2013 Olly Betts <olly@survex.com> 2211 2212 * Backport change from trunk: 2213 * backends/brass/brass_compact.cc,backends/chert/chert_compact.cc: 2214 Remove unused variables (spotted by cppcheck). 2215 2216Mon Jan 07 08:23:56 GMT 2013 Olly Betts <olly@survex.com> 2217 2218 * Backport change from trunk: 2219 * api/maptermlist.h,api/matchspy.cc,api/omdatabase.cc, 2220 backends/inmemory/inmemory_database.cc, 2221 backends/inmemory/inmemory_positionlist.cc, 2222 backends/multi/multi_postlist.cc,backends/remote/net_termlist.cc, 2223 bin/xapian-delve.cc,matcher/exactphrasepostlist.cc, 2224 matcher/mergepostlist.cc,matcher/phrasepostlist.cc, 2225 tests/harness/backendmanager.cc: Prefer ++i to i++. 2226 2227Fri Jan 04 05:41:41 GMT 2013 Olly Betts <olly@survex.com> 2228 2229 * Backport changes from trunk: 2230 * HACKING,Makefile.am: With lcov 1.10, we no longer need any of our 2231 hacky workarounds, so make this a requirement and simplify the rules 2232 in the makefile. 2233 * Makefile.am: Pass -f to lcov, which should avoid the need for the 2234 patch we've been applying to lcov. 2235 2236Fri Jan 04 03:54:07 GMT 2013 Olly Betts <olly@survex.com> 2237 2238 * Backport change from trunk: 2239 * docs/quickstart.rst: Fix seriously outdated statement that Xapian 2240 doesn't create the database directory - that changed in 0.7.2 2241 (release 2003-07-11), pointed out by aarsh on #xapian. 2242 2243Thu Dec 20 22:55:34 GMT 2012 Olly Betts <olly@survex.com> 2244 2245 * Backport change from trunk: 2246 * configure.ac: socketpair() needs -lnetwork on Haiku. 2247 2248Sun Dec 09 22:55:30 GMT 2012 Olly Betts <olly@survex.com> 2249 2250 * Backport change from trunk: 2251 * backends/flint_lock.cc: Close excess file handles before we get the 2252 fcntl() lock, just in case one of those file handles is open on the 2253 lock file. 2254 * tests/api_backend.cc: Add regression test lockfilealreadyopen1. 2255 2256Sun Dec 09 22:46:10 GMT 2012 Olly Betts <olly@survex.com> 2257 2258 * Backport change from trunk: 2259 * common/closefrom.cc,configure.ac: On platforms with the F_MAXFD 2260 fcntl but without closefrom(), we were failing to close the highest 2261 numbered open fd in our closefrom() replacement. We now also work 2262 around valgrind not hiding some extra fds it has open, but then 2263 complaining if we try to close them. 2264 2265Sun Dec 09 22:33:48 GMT 2012 Olly Betts <olly@survex.com> 2266 2267 * Backport change from trunk: 2268 * tests/harness/testsuite.cc: When reporting valgrind error, skip any 2269 warnings. 2270 2271Sun Dec 09 22:14:21 GMT 2012 Olly Betts <olly@survex.com> 2272 2273 * NEWS: Update from ChangeLog. 2274 2275Thu Nov 22 09:54:46 GMT 2012 Olly Betts <olly@survex.com> 2276 2277 * Backport changes from trunk: 2278 * tests/api_anydb.cc: msetweights1 makes multidb1 and multidb2 2279 redundant, so remove them. 2280 * tests/api_backend.cc: Extend msetweights1 to test the case where 2281 only even docids match, so in the multi_* case, only docids from 2282 one subdatabase match. 2283 * tests/api_backend.cc: Add testcase msetweights1 which checks we 2284 get the weights we expect for a two term query. 2285 2286Thu Nov 22 09:47:57 GMT 2012 Olly Betts <olly@survex.com> 2287 2288 * Backport change from trunk: 2289 * queryparser/termgenerator.cc: TermGenerator internal member can 2290 never be NULL, so drop NULL test. 2291 2292Thu Nov 22 09:42:35 GMT 2012 Olly Betts <olly@survex.com> 2293 2294 * Backport change from trunk: 2295 * tests/harness/testsuite.cc: Remove compatibility code for valgrind < 2296 3.3.0, since we reject such old versions at configure time. 2297 2298Thu Nov 22 09:38:33 GMT 2012 Olly Betts <olly@survex.com> 2299 2300 * Backport change from trunk: 2301 * tests/api_weight.cc: New testcase checkstatsweight1 which checks a 2302 weight subclass gets the correct values for all the stats. 2303 2304Thu Nov 22 09:33:22 GMT 2012 Olly Betts <olly@survex.com> 2305 2306 * Backport change from trunk: 2307 * queryparser/queryparser.lemony: Improve a couple of comments. 2308 2309Thu Nov 22 09:27:56 GMT 2012 Olly Betts <olly@survex.com> 2310 2311 * Backport change from trunk: 2312 * queryparser/queryparser.lemony: Implicitly close any unclosed brackets 2313 at the end of the query string. Patch from Sehaj Singh Kalra. 2314 * tests/queryparsertest.cc: Adjust existing testcases and feature tests. 2315 2316Thu Nov 22 09:05:00 GMT 2012 Olly Betts <olly@survex.com> 2317 2318 * Backport changes from trunk: 2319 * tests/api_query.cc: Add testcase xor3 to ensure that XOR handles all 2320 remaining subqueries running out at the same time. 2321 * tests/api_query.cc: One test here does need a backend, and it seems 2322 a more useful category, so drop the "don't need a backend" part from 2323 the @brief documentation comment. 2324 2325Thu Nov 22 08:56:25 GMT 2012 Olly Betts <olly@survex.com> 2326 2327 * Backport change from trunk: 2328 * matcher/multimatch.cc: Fix calculation of 0.0/0.0 in some cases. 2329 This then got used as a minimum weight, but it seems this gives -nan 2330 (at least on x86-64 Linux) so it may have been harmless in practice. 2331 2332Thu Nov 22 08:50:00 GMT 2012 Olly Betts <olly@survex.com> 2333 2334 * Backport change from trunk: 2335 * tests/api_anydb.cc: Eliminate workarounds for egcs 1.1.2 (certainly 2336 we no longer support a compiler that old, but maybe some newer 2337 compilers have the same issue, so I've rewritten the code to iterate 2338 backwards over one MSet, which is a useful feature to have coverage 2339 for). 2340 2341Thu Nov 22 08:45:39 GMT 2012 Olly Betts <olly@survex.com> 2342 2343 * Backport change from trunk: 2344 * tests/api_anydb.cc: Fix reversebool1 and reversebool2 to actually 2345 use the result when they check an MSetIterator against end(). 2346 2347Thu Nov 22 08:39:21 GMT 2012 Olly Betts <olly@survex.com> 2348 2349 * Backport changes from trunk: 2350 * bin/xapian-replicate.cc: Add --quiet option to xapian-replicate, and 2351 be a little more verbose by default. 2352 * bin/xapian-replicate.cc: xapian-replicate --force-copy now only 2353 forces a single copy, and then attempts to replicate incrementally. 2354 * bin/xapian-replicate.cc: Tweak code layout. 2355 * net/remoteconnection.cc: Allow files > 32G to be be copied by 2356 replication. 2357 2358Thu Nov 22 08:13:51 GMT 2012 Olly Betts <olly@survex.com> 2359 2360 * Backport change from trunk: 2361 * tests/api_replicate.cc: Pass 'true' or 'false' for 'bool' parameter, 2362 not '0' or '1' (especially confusing as the two previous parameters 2363 were integers which were often 0 or 1...) 2364 2365Wed Nov 21 04:58:58 GMT 2012 Olly Betts <olly@survex.com> 2366 2367 * NEWS: Update from ChangeLog. 2368 2369Tue Nov 13 10:07:19 GMT 2012 Olly Betts <olly@survex.com> 2370 2371 * Backport change from trunk: 2372 * bin/xapian-replicate.cc,net/replicatetcpclient.cc, 2373 net/replicatetcpclient.h: Add --full-copy option to xapian-replicate. 2374 * tests/api_replicate.cc: New testcase replicate6 which tests the same 2375 code path used by 'xapian-replicate --full-copy'. 2376 2377Tue Nov 13 09:45:23 GMT 2012 Olly Betts <olly@survex.com> 2378 2379 * Backport change from trunk: 2380 * tests/api_replicate.cc: Use '++' instead of '+= 1'. Drop superfluous 2381 'return;' at end of function returning void. 2382 2383Tue Nov 13 09:38:16 GMT 2012 Olly Betts <olly@survex.com> 2384 2385 * Backport change from trunk: 2386 * tests/harness/unixcmds.cc: Tweak to avoid default initialisation of 2387 string. 2388 2389Tue Nov 13 03:51:01 GMT 2012 Olly Betts <olly@survex.com> 2390 2391 * Backport change from trunk: 2392 * include/xapian/unicode.h: GCC 4.6.3 doesn't optimise the asr idiom 2393 either. Add links to the PR I filed and the GCC documentation that 2394 signed right shift does sign extension. 2395 2396Sat Nov 10 08:51:00 GMT 2012 Olly Betts <olly@survex.com> 2397 2398 * Backport change from trunk: 2399 * api/leafpostlist.cc,matcher/multiandpostlist.cc: Improved fix for 2400 #590 - count all matching LeafPostList objects with a Weight object 2401 rather than trying to prune at the MultiAndPostList level based on 2402 max_wt (if wdf is always zero for a term, BM25 gives max_wt of 0, 2403 which leads to us never counting that subquery. 2404 * tests/api_percentages.cc: Add regression test topercent7. 2405 2406Sat Nov 10 08:12:33 GMT 2012 Olly Betts <olly@survex.com> 2407 2408 * Backport change from trunk: 2409 * tests/api_percentages.cc: Note bug number in regression test for 2410 #590. 2411 2412Thu Nov 08 01:10:54 GMT 2012 Olly Betts <olly@survex.com> 2413 2414 * HACKING: Update automake version used for bootstrapping snapshots 2415 and releases from 1.11.1 to 1.11.6, to fix security issue in "make 2416 distcheck". 2417 2418Thu Nov 08 00:08:30 GMT 2012 Olly Betts <olly@survex.com> 2419 2420 * NEWS: Update from ChangeLog. 2421 2422Sat Oct 13 12:05:46 GMT 2012 Olly Betts <olly@survex.com> 2423 2424 * Backport change from trunk: 2425 * include/xapian/queryparser.h: Fix documentation comment typos: 2426 "covert" -> "convert". 2427 2428Sat Oct 13 11:57:36 GMT 2012 Olly Betts <olly@survex.com> 2429 2430 * Backport change from trunk: 2431 * include/xapian/queryparser.h: Add extra DateValueRangeProcessor 2432 constructor overloaded form so that in DateValueRangeProcessor(1, 2433 "date:"), the const char * gets interpreted as std::string rather 2434 than bool. 2435 * tests/queryparsertest.cc: Add regression test. 2436 2437Sat Oct 13 11:33:27 GMT 2012 Olly Betts <olly@survex.com> 2438 2439 * Backport change from trunk: 2440 * HACKING: Try to make it clearer we're looking for a dual-licence 2441 on submitted patches. 2442 2443Sat Oct 13 11:30:42 GMT 2012 Olly Betts <olly@survex.com> 2444 2445 * Backport change from trunk: 2446 * common/Makefile.mk,common/append_filename_arg.h, 2447 tests/harness/unixcmds.cc: Split out append_filename_argument() into 2448 its own file so it can be used elsewhere. 2449 2450Sat Oct 13 11:23:37 GMT 2012 Olly Betts <olly@survex.com> 2451 2452 * Backport changes from trunk: 2453 * tests/harness/unixcmds.cc: Escape filenames on POSIX platforms by 2454 wrapping in single quotes and specially handling single quotes in 2455 the filename - previously newlines in filenames got eaten by the 2456 shell. 2457 * tests/harness/unixcmds.cc: Protect filenames which start with '-' on 2458 MS Windows like we already do on other platforms. The built-in 2459 commands generally only interpret '/' as the character introducing a 2460 command line option (which we already convert to '\'), but many 2461 ported programs understand '-' too/instead. 2462 2463Sat Oct 13 08:55:28 GMT 2012 Olly Betts <olly@survex.com> 2464 2465 * Backport change from trunk: 2466 * queryparser/termgenerator_internal.cc: Remove "FIXME: Add API to 2467 allow control of how stemming is used?", as we have now added such 2468 an API. 2469 2470Sat Oct 13 08:17:20 GMT 2012 Olly Betts <olly@survex.com> 2471 2472 * Backport change from trunk: 2473 * include/xapian/termgenerator.h,queryparser/termgenerator.cc, 2474 queryparser/termgenerator_internal.cc, 2475 queryparser/termgenerator_internal.h,tests/termgentest.cc: Add new 2476 method TermGenerator::set_max_word_length() to allow this limit to 2477 be adjusted by the user. 2478 2479Sat Oct 13 07:37:17 GMT 2012 Olly Betts <olly@survex.com> 2480 2481 * Backport change from trunk: 2482 * include/xapian/enquire.h: Clarify that the "reverse" parameter of 2483 set_sort_by_relevance_then_value() and 2484 set_sort_by_relevance_then_key() only affects the ordering of the 2485 value/key part of the sort. 2486 2487Sat Oct 13 07:18:19 GMT 2012 Olly Betts <olly@survex.com> 2488 2489 * Backport change from trunk: 2490 * matcher/multimatch.cc: Remove duplicate import 2491 2492Sat Oct 13 07:11:40 GMT 2012 Olly Betts <olly@survex.com> 2493 2494 * Backport change from trunk: 2495 * common/debuglog.cc: Preserve errno over debug logging calls, so they 2496 can safely be added to code which expects errno not to change. 2497 2498Sat Oct 13 06:27:31 GMT 2012 Olly Betts <olly@survex.com> 2499 2500 * Backport change from trunk: 2501 * tests/harness/testsuite.cc: Add safeunistd.h unconditionally for 2502 isatty, required by GCC 4.7 2503 2504Sat Oct 13 03:09:48 GMT 2012 Olly Betts <olly@survex.com> 2505 2506 * Backport change from trunk: 2507 * docs/valueranges.rst: Update documentation to reflect change in 2508 Xapian 1.1.2 - DateValueRangeProcessor and StringValueRangeProcessor 2509 now support a prefix or suffix. 2510 2511Wed Jun 27 12:51:25 GMT 2012 Olly Betts <olly@survex.com> 2512 2513 * configure.ac: Update the version too! 2514 2515Wed Jun 27 12:03:08 GMT 2012 Olly Betts <olly@survex.com> 2516 2517 * NEWS,configure.ac: Update for 1.2.12. 2518 2519Wed Jun 27 11:35:15 GMT 2012 Olly Betts <olly@survex.com> 2520 2521 * Backport change from trunk: 2522 * AUTHORS: Add GSoC students. 2523 2524Tue Jun 26 11:46:55 GMT 2012 Olly Betts <olly@survex.com> 2525 2526 * NEWS,configure.ac: Update for 1.2.11. 2527 2528Tue Jun 26 08:52:18 GMT 2012 Olly Betts <olly@survex.com> 2529 2530 * Backport change from trunk: 2531 * include/xapian.h: Add check for Qt headers being included before us 2532 and defining 'slots' as a macro - if they are, give a clear error 2533 advising how to work around this. 2534 2535Fri Jun 22 11:46:25 GMT 2012 Olly Betts <olly@survex.com> 2536 2537 * NEWS: Update from ChangeLog. 2538 2539Fri Jun 15 10:45:20 GMT 2012 Olly Betts <olly@survex.com> 2540 2541 * Backport change from trunk: 2542 * docs/admin_notes.rst: Correction - we don't "create a lock file", we 2543 "lock a file". 2544 2545Thu Jun 14 14:08:48 GMT 2012 Olly Betts <olly@survex.com> 2546 2547 * Backport change from trunk: 2548 * tests/api_replicate.cc: Make sure XAPIAN_MAX_CHANGESETS gets unset 2549 after testcases which set it, so further testcases don't waste time 2550 generating changesets. 2551 2552Thu Jun 14 13:54:29 GMT 2012 Olly Betts <olly@survex.com> 2553 2554 * Backport change from trunk: 2555 * docs/replication.rst: The value of XAPIAN_MAX_CHANGESETS does now 2556 actually determine how many changesets we keep. 2557 2558Thu Jun 14 13:40:18 GMT 2012 Olly Betts <olly@survex.com> 2559 2560 * Backport change from trunk: 2561 * configure.ac: Force link_all_deplibs_CXX=no for Solaris. 2562 2563Thu Jun 14 13:13:16 GMT 2012 Olly Betts <olly@survex.com> 2564 2565 * Backport change from trunk: 2566 * xapian-config.in: Don't interpret a missing .la file as meaning that 2567 we only have static libraries. 2568 2569Thu Jun 14 13:01:40 GMT 2012 Olly Betts <olly@survex.com> 2570 2571 * backends/flint/flint_btreebase.cc,backends/flint/flint_btreebase.h: 2572 Remove unused copy constructors for FlintTable_base. 2573 2574Thu Jun 14 12:14:46 GMT 2012 Olly Betts <olly@survex.com> 2575 2576 * Backport change from trunk: 2577 * backends/brass/brass_table.cc,backends/brass/brass_table.h: We don't 2578 need the workaround for existing tables which were built with a 32 2579 bit item count for brass, since that bug was fixed in 1.1.4, which 2580 is the same version which brass was added in. 2581 2582Thu Jun 14 11:35:50 GMT 2012 Olly Betts <olly@survex.com> 2583 2584 * Backport change from trunk: 2585 * backends/brass/brass_btreebase.cc,backends/brass/brass_btreebase.h, 2586 backends/chert/chert_btreebase.cc,backends/chert/chert_btreebase.h: 2587 Remove unused copy constructors for BrassTable_base and 2588 ChertTable_base. 2589 2590Thu Jun 14 11:24:03 GMT 2012 Olly Betts <olly@survex.com> 2591 2592 * Backport change from trunk: 2593 * configure.ac: Overhaul handling of compilers which pretend to be GCC, 2594 using a simple "case" on the preprocessed output of '__INTEL_COMPILER 2595 __clang__' to tell which is in use. We now explicitly check for 2596 clang, and only pass it warning flags it actually understands. GCC 2597 4.0 is now lumped in with 3.*, since we handle it exactly the same. 2598 Enable -Wdouble-promotion for GCC >= 4.6. Check for symbol 2599 visibility support under any GCC-alike (which means we now run the 2600 test with Intel's compiler). Move the check for -Bsymbolic-functions 2601 to be run for all compilers. 2602 2603Sat Jun 09 11:44:10 GMT 2012 Olly Betts <olly@survex.com> 2604 2605 * NEWS: Clean up new entries. 2606 2607Wed Jun 06 13:03:38 GMT 2012 Olly Betts <olly@survex.com> 2608 2609 * NEWS: Update from ChangeLog. 2610 2611Wed Jun 06 11:17:40 GMT 2012 Olly Betts <olly@survex.com> 2612 2613 * Backport change from trunk: 2614 * tests/queryparsertest.cc: Fix feature test added for STEM_ALL_Z. 2615 2616Wed Jun 06 11:09:25 GMT 2012 Olly Betts <olly@survex.com> 2617 2618 * Backport changes from trunk: 2619 * include/xapian/termgenerator.h,queryparser/termgenerator.cc, 2620 queryparser/termgenerator_internal.cc, 2621 queryparser/termgenerator_internal.h: Add 2622 TermGenerator::set_stemming_strategy() method, with strategies which 2623 correspond to those of QueryParser. Based on patch from Sehaj Singh 2624 Kalra, with some tweaks for adding term positions in more cases. 2625 (Fixes ticket#563) 2626 * tests/termgentest.cc: Add test coverage for the new features. 2627 * include/xapian/queryparser.h: Add doc comment for stem_strategy 2628 typedef. 2629 * include/xapian/queryparser.h,queryparser/queryparser.lemony: 2630 Add new QueryParser::STEM_ALL_Z stemming strategy, which stems all 2631 terms and adds a Z prefix. (Patch from Sehaj Singh Kalra, fixes 2632 ticket#562) 2633 * tests/queryparsertest.cc: Add test coverage for 2634 QueryParser::STEM_ALL_Z. 2635 2636Wed Jun 06 10:54:55 GMT 2012 Olly Betts <olly@survex.com> 2637 2638 * Backport change from trunk: 2639 * backends/dbfactory.cc: Test if we fail to open a stub database file 2640 in Xapian::Auto::open_stub() and throw an exception if so. 2641 * tests/api_backend.cc: Add regression test stubdb7. 2642 2643Wed Jun 06 10:52:30 GMT 2012 Olly Betts <olly@survex.com> 2644 2645 * Backport change from trunk: 2646 * docs/scalability.rst: Update gmane size, fix a typo, tweak wording. 2647 2648Wed Jun 06 10:43:05 GMT 2012 Olly Betts <olly@survex.com> 2649 2650 * Backport change from trunk: 2651 * tests/api_weight.cc: Add test that init() is now called for the 2652 term-independent weight contribution. 2653 2654Wed Jun 06 10:39:23 GMT 2012 Olly Betts <olly@survex.com> 2655 2656 * Backport change from trunk: 2657 * tests/api_matchspy.cc: Use a cached generated database for matchspy2 2658 and matchspy4. 2659 2660Wed Jun 06 10:37:03 GMT 2012 Olly Betts <olly@survex.com> 2661 2662 * Backport change from trunk: 2663 * weight/bm25weight.cc: Avoid use of undefined values when k1 or b are 2664 zero. 2665 2666Wed Jun 06 10:33:11 GMT 2012 Olly Betts <olly@survex.com> 2667 2668 * Backport changes from trunk: 2669 * weight/bm25weight.cc: Fix use of uninitialised value found by new 2670 bm25weight4 testcase. 2671 * tests/api_weight.cc: Add tests for BM25 parameter combinations where 2672 doclen shouldn't affect the weights. 2673 2674Wed Jun 06 10:25:35 GMT 2012 Olly Betts <olly@survex.com> 2675 2676 * Backport change from trunk: 2677 * tests/.gitignore,tests/Makefile.am,tests/api_weight.cc: Add test 2678 coverage for exception thrown if BM25Weight or TradWeight 2679 unserialise() fails. 2680 2681Wed Jun 06 10:07:44 GMT 2012 Olly Betts <olly@survex.com> 2682 2683 * Backport change from trunk: 2684 * include/xapian/weight.h,weight/weight.cc: We were failing to call 2685 init() for Weight objects providing the term-independent weight. 2686 These now get called with init(0.0). 2687 2688Wed Jun 06 09:39:21 GMT 2012 Olly Betts <olly@survex.com> 2689 2690 * Backport change from trunk: 2691 * include/xapian/weight.h: Remove duplicate "need_stat(WDF);" calls, 2692 accidentally added by merge of opsynonym branch in r12609. 2693 2694Tue Jun 05 13:04:57 GMT 2012 Olly Betts <olly@survex.com> 2695 2696 * Backport change from trunk: 2697 * weight/tradweight.cc: BM25Weight -> TradWeight in exception message. 2698 2699Tue Jun 05 12:43:46 GMT 2012 Olly Betts <olly@survex.com> 2700 2701 * Backport change from trunk: 2702 * tests/harness/testutils.cc,tests/harness/testutils.h: Remove unused 2703 test helper mset_range_is_same_percents() (thanks, lcov!) 2704 2705Tue Jun 05 12:34:15 GMT 2012 Olly Betts <olly@survex.com> 2706 2707 * Backport change from trunk: 2708 * configure.ac,tests/runsrv.in: In the testsuite, only run remote 2709 servers under valgrind if x87 FP instructions are in use. 2710 2711Tue Jun 05 12:12:54 GMT 2012 Olly Betts <olly@survex.com> 2712 2713 * Backport change from trunk: 2714 * backends/flint_lock.h: Mark FlintLock::throw_databaselockerror() as 2715 XAPIAN_NORETURN. 2716 2717Tue Jun 05 12:07:54 GMT 2012 Olly Betts <olly@survex.com> 2718 2719 * Backport change from trunk: 2720 * include/xapian/weight.h: Fix documentation comment typo ("k1" -> 2721 "k"). 2722 2723Tue Jun 05 12:01:40 GMT 2012 Olly Betts <olly@survex.com> 2724 2725 * Backport change from trunk: 2726 * tests/runsrv.in: Add explanation of why we have this script. 2727 2728Tue Jun 05 11:58:47 GMT 2012 Olly Betts <olly@survex.com> 2729 2730 * Backport change from trunk: 2731 * tests/Makefile.am: Pass -ldl last when compiling zlib-vg.so, as that 2732 seems to be needed on Ubuntu 12.04. 2733 2734Tue Jun 05 11:50:35 GMT 2012 Olly Betts <olly@survex.com> 2735 2736 * backends/inmemory/inmemory_database.cc: Check if the database is 2737 closed in metadata_keys_begin() for InMemory Databases. 2738 * Backport change from trunk: 2739 * tests/api_closedb.cc: We now test almost all methods of Database 2740 and WritableDatabase after calling close(). (ticket#337) 2741 2742Tue Jun 05 11:38:39 GMT 2012 Olly Betts <olly@survex.com> 2743 2744 * tests/api_closedb.cc: In amended closedb1, allow for flint not 2745 implementing get_value_freq(), get_value_lower_bound() and 2746 get_value_upper_bound(). 2747 2748Tue Jun 05 10:54:13 GMT 2012 Olly Betts <olly@survex.com> 2749 2750 * Backport change from trunk: 2751 * backends/brass/,backends/chert/: After closing the database, methods 2752 which try to use the termlist would throw FeatureUnavailableError 2753 with message "Database has no termlist", assuming that the termlist 2754 table not being open meant it wasn't present. Fix to check if the 2755 postlist_table is open to determine which case we're in. 2756 * tests/api_closedb.cc: Improve test coverage for closed databases. 2757 (ticket#337) 2758 2759Tue Jun 05 10:31:33 GMT 2012 Olly Betts <olly@survex.com> 2760 2761 * Backport changes from trunk: 2762 * HACKING: Update Debian/Ubuntu packaging instructions. 2763 * HACKING: freshmeat -> freecode. 2764 2765Wed May 30 01:12:06 GMT 2012 Olly Betts <olly@survex.com> 2766 2767 * Backport change from trunk: 2768 * backends/chert/chert_cursor.cc: Fix incorrect use of "delete" to 2769 "delete []". The type is POD, so I suspect this mistake didn't 2770 actually cause any problems, and it only happens when a cursor 2771 gets rebuilt because the B-tree has gained a level, so it's 2772 a rather rare occurrence. 2773 * backends/brass/brass_cursor.cc,backends/flint/flint_cursor.cc: Make 2774 the equivalent fix. 2775 2776Tue May 15 11:09:44 GMT 2012 Olly Betts <olly@survex.com> 2777 2778 * include/xapian/query.h: Fix Query ctor documentation comment - XOR 2779 and ELITE_SET can both take any number of subqueries, not just 2780 exactly two. 2781 2782Fri May 18 22:48:53 GMT 2012 Olly Betts <olly@survex.com> 2783 2784 * include/xapian/positioniterator.h,include/xapian/postingiterator.h, 2785 include/xapian/termiterator.h: Backport missing documentation 2786 comments for API operator++ and operator* methods. 2787 2788Wed May 09 11:47:04 GMT 2012 Olly Betts <olly@survex.com> 2789 2790 * AUTHORS: Update for people who contributed to 1.2.10. 2791 2792Wed May 09 10:41:57 GMT 2012 Olly Betts <olly@survex.com> 2793 2794 * NEWS,configure.ac: Update for 1.2.10. 2795 2796Wed May 09 08:09:10 GMT 2012 Olly Betts <olly@survex.com> 2797 2798 * NEWS: Update from ChangeLog. 2799 2800Tue May 08 07:28:11 GMT 2012 Olly Betts <olly@survex.com> 2801 2802 * Backport change from trunk: 2803 * weight/weightinternal.cc: Using AssertEq() on NULL doesn't compile, 2804 at least with recent GCC. 2805 2806Tue May 08 07:20:55 GMT 2012 Olly Betts <olly@survex.com> 2807 2808 * Backport change from trunk: 2809 * tests/api_anydb.cc: Fix tradweight1 to test that TradWeight(0) 2810 means that wdf and doc length don't affect the weight of a term. 2811 2812Tue May 08 07:16:29 GMT 2012 Olly Betts <olly@survex.com> 2813 2814 * Backport change from trunk: 2815 * HACKING: Update section on patches to mention git (git diff and git 2816 format-patch), and using "-r" with normal diff, and also that 2817 ptardiff offers a nice way to diff against an unpacked tarball. 2818 2819Tue May 08 07:03:46 GMT 2012 Olly Betts <olly@survex.com> 2820 2821 * Backport change from trunk: 2822 * backends/brass/brass_compact.cc,backends/chert/chert_compact.cc: 2823 If the output database is empty, don't write a metainfo tag out. 2824 Take care not to divide by zero when computing the percentage 2825 size change for a table. 2826 * tests/api_compact.cc: Add new testcase compactempty1 to provide 2827 regression tests. 2828 2829Tue May 08 06:53:35 GMT 2012 Olly Betts <olly@survex.com> 2830 2831 * Backport change from trunk: 2832 * include/xapian/weight.h: Fix switched lower and upper in doc comments 2833 for Weight methods get_doclength_lower_bound() and 2834 get_doclength_upper_bound(). Correct maximum to minimum in 2835 get_doclength_lower_bound() comment and note that this excludes zero 2836 length documents. Fix "An lower" to "A lower". 2837 2838Tue May 08 06:29:38 GMT 2012 Olly Betts <olly@survex.com> 2839 2840 * Backport change from trunk: 2841 * tests/termgentest.cc: Add test coverage for discarding of terms > 64 2842 bytes by TermGenerator. 2843 2844Wed Apr 25 11:28:29 GMT 2012 Olly Betts <olly@survex.com> 2845 2846 * Backport change from trunk: 2847 * include/xapian/database.h: Note when Database::close() was added. 2848 2849Mon Mar 26 05:13:24 GMT 2012 Olly Betts <olly@survex.com> 2850 2851 * Backport change from trunk: 2852 * matcher/multiandpostlist.cc: Don't count unweighted subqueries of 2853 MultiAndPostList for percentage calculations, as OP_FILTER maps to 2854 MultiAndPostList now. (ticket#590) 2855 * tests/api_percentages.cc: Regression test topercent6. 2856 2857Mon Mar 12 23:19:56 GMT 2012 Olly Betts <olly@survex.com> 2858 2859 * docs/admin_notes.rst: Mention that postlist and termlist tables hold 2860 value info too for chert. Mention that xapian-chert-update was 2861 removed in 1.3.0. Mention that you need to use copydatabase from 2862 1.2.x to convert flint to chert. Trunk already has equivalent 2863 changes. 2864 2865Thu Mar 08 13:35:48 GMT 2012 Olly Betts <olly@survex.com> 2866 2867 * Backport change from trunk: 2868 * docs/index.rst: Add link to new "getting started" guide. 2869 2870Thu Mar 08 02:05:19 GMT 2012 Olly Betts <olly@survex.com> 2871 2872 * NEWS,configure.ac: Update for 1.2.9. 2873 2874Tue Mar 06 11:07:44 GMT 2012 Olly Betts <olly@survex.com> 2875 2876 * Backport change from trunk: 2877 * matcher/: Fix issue with AND, OR, and XOR queries against a database 2878 with no documents in it - this was causing a divide by zero, which led 2879 to MSet::get_matches_estimated() reporting 2147483648 on i386. 2880 * tests/api_backend.cc: Add regression test emptydb1. 2881 2882Tue Mar 06 11:00:43 GMT 2012 Olly Betts <olly@survex.com> 2883 2884 * Backport change from trunk: 2885 * tests/harness/testsuite.cc: Address new warnings from GCC 4.6. 2886 2887Tue Mar 06 10:56:09 GMT 2012 Olly Betts <olly@survex.com> 2888 2889 * Backport change from trunk: 2890 * include/xapian/database.h: Improve documentation of Database::close() 2891 and ~WritableDatabase(). 2892 2893Wed Feb 29 10:33:28 GMT 2012 Olly Betts <olly@survex.com> 2894 2895 * NEWS: Update from ChangeLog. 2896 2897Wed Feb 29 10:25:18 GMT 2012 Olly Betts <olly@survex.com> 2898 2899 * Backport change from trunk: 2900 * include/xapian/matchspy.h,include/xapian/postingsource.h, 2901 include/xapian/weight.h: Document that you can define a static 2902 operator delete method in your subclass if deallocation needs to be 2903 handled specially. (Closes ticket#554) 2904 2905Mon Jan 23 12:39:44 GMT 2012 Olly Betts <olly@survex.com> 2906 2907 * NEWS: Update from ChangeLog. 2908 2909Sun Jan 22 06:21:08 GMT 2012 Olly Betts <olly@survex.com> 2910 2911 * Backport change from trunk: 2912 * net/remoteconnection.cc: Include "safesysstat.h" for fstat(). 2913 2914Sat Jan 21 14:40:04 GMT 2012 Olly Betts <olly@survex.com> 2915 2916 * Backport change from trunk: 2917 * queryparser/queryparser.lemony: Fix FLAG_AUTO_SYNONYMS not to enable 2918 auto multi-word synonyms too (but in a different way to trunk so as 2919 to not break the ABI). 2920 * tests/queryparsertest.cc: Extend testcase qp_synonym1 to include a 2921 regression test for this bug. 2922 2923Sat Jan 21 14:24:45 GMT 2012 Olly Betts <olly@survex.com> 2924 2925 * Backport change from trunk: 2926 * common/safesysstat.h: The S_ISDIR and S_ISREG macros for MSVC are 2927 unlikely to work on other platforms (_S_IFMT vs S_IFMT, etc) so 2928 split them. Tweak a few comments. 2929 2930Sat Jan 21 14:19:35 GMT 2012 Olly Betts <olly@survex.com> 2931 2932 * Backport change from trunk: 2933 * tests/api_db.cc,tests/harness/backendmanager.cc: Add missing 2934 explicit header includes, uncovered by compiling with STLport. 2935 2936Sat Jan 21 14:13:11 GMT 2012 Olly Betts <olly@survex.com> 2937 2938 * Backport changes from trunk: 2939 * INSTALL,configure.ac,m4/rjb_find_stlport.m4,xapian-config.in: Remove 2940 configure's --with-stlport and --with-stlport-compiler options, as 2941 they don't allow you to actually specify what you need (at least to 2942 use the Debian STLport package), and instead document what to pass 2943 to configure to enable building with STLport (though it seems to no 2944 longer be actively maintained, and the debug mode (which is probably 2945 the most interesting feature now) doesn't seem to work on Debian 2946 stable). 2947 * HACKING: Update STLPort URL to point to the more active fork on 2948 SourceForge. 2949 2950Sat Jan 21 14:03:09 GMT 2012 Olly Betts <olly@survex.com> 2951 2952 * Backport change from trunk: 2953 * HACKING: Recommend installing valgrind, ccache, and eatmydata. 2954 2955Sat Jan 21 13:27:52 GMT 2012 Olly Betts <olly@survex.com> 2956 2957 * Backport change from trunk: 2958 * HACKING: Make it clear "Building from SVN" applies to git too, and 2959 mention that git-svn is needed when building from git. 2960 2961Thu Dec 22 12:50:41 GMT 2011 Olly Betts <olly@survex.com> 2962 2963 * Backport change from trunk: 2964 * languages/compiler/generator.c: Initialise variable which can 2965 be used uninitialised. 2966 2967Thu Dec 22 12:21:10 GMT 2011 Olly Betts <olly@survex.com> 2968 2969 * Backport change from trunk: 2970 * bin/Makefile.mk: Link $(libxapian_la) after libbrasscheck.la and 2971 libchertcheck.la to fix mingw build. Probably closes ticket#567. 2972 2973Thu Dec 22 12:18:41 GMT 2011 Olly Betts <olly@survex.com> 2974 2975 * Backport changes from trunk: 2976 * include/xapian/query.h: Document that OP_ELITE_SET with non-term 2977 subqueries might pick subqueries which don't match anything. 2978 Closes ticket#49. 2979 * include/xapian/query.h: Improve documentation of OP_ELITE_SET. 2980 2981Thu Dec 22 12:16:44 GMT 2011 Olly Betts <olly@survex.com> 2982 2983 * Backport change from trunk: 2984 * include/xapian/errorhandler.h: Fix typo: 'APU' -> 'API'. 2985 2986Tue Dec 13 10:29:48 GMT 2011 Olly Betts <olly@survex.com> 2987 2988 * AUTHORS,NEWS,configure.ac: Update for 1.2.8. 2989 2990Mon Dec 12 13:23:29 GMT 2011 Olly Betts <olly@survex.com> 2991 2992 * Backport change from trunk: 2993 * tests/soaktest/soaktest.cc,tests/soaktest/soaktest.h, 2994 tests/soaktest/soaktest_queries.cc: "boulton" -> "Boulton" in 2995 copyright statements. 2996 2997Mon Dec 12 13:16:17 GMT 2011 Olly Betts <olly@survex.com> 2998 2999 * Backport change from trunk: 3000 * tests/soaktest/soaktest.cc: With Sun's compiler, random() and 3001 srandom() aren't in <cstdlib> so we need to use <stdlib.h> instead. 3002 3003Fri Dec 09 08:11:18 GMT 2011 Olly Betts <olly@survex.com> 3004 3005 * Backport change from trunk: 3006 * include/xapian/types.h: Explicitly document which value slot numbers 3007 are valid. Fixes ticket#555. 3008 3009Mon Dec 05 15:29:06 GMT 2011 Olly Betts <olly@survex.com> 3010 3011 * Backport changes from trunk: 3012 * include/xapian/enquire.h: Add missing doxygen @param commands. 3013 * include/xapian/database.h,include/xapian/document.h: Add missing 3014 doxygen @param commands. 3015 * include/xapian/queryparser.h: Address doxygen warnings. 3016 * include/xapian/postingsource.h: Document undocumented parameters, 3017 fixing doxygen warnings. 3018 * include/xapian/queryparser.h: Escape < and > in doxygen comments. 3019 * include/xapian/enquire.h: Enquire::get_eset() doesn't take a min_wt 3020 parameter, so remove @param documentation for it. 3021 * include/xapian/: Document lots of parameters, fixing doxygen 3022 warnings. 3023 * generate-exceptions: Document all parameters to fix doxygen 3024 warnings. 3025 * include/xapian/: Fix doxygen warnings. 3026 * include/xapian/queryparser.h: Document value parameter of 3027 sortable_serialise() and sortable_unserialise(). 3028 * include/xapian/document.h: Improve Document get_data() and set_data() 3029 documentation comments. 3030 3031Mon Dec 05 15:08:53 GMT 2011 Olly Betts <olly@survex.com> 3032 3033 * Backport changes from trunk: 3034 * docs/overview.rst: Fix a few things which were out of date and 3035 improve wording in various places. 3036 * docs/quickstart.rst: Fix some factual errors, and tweak .rst 3037 source layout a little (":\n::\n" -> "::\n"). 3038 3039Mon Dec 05 15:01:37 GMT 2011 Olly Betts <olly@survex.com> 3040 3041 * Backport change from trunk: 3042 * include/xapian/queryparser.h: List which flags FLAG_DEFAULT includes 3043 in the doxygen documentation comments. 3044 3045Mon Dec 05 14:58:44 GMT 2011 Olly Betts <olly@survex.com> 3046 3047 * Backport changes from trunk: 3048 * docs/quickstart.rst: Fix indentation of example code. 3049 * docs/overview.rst: Fix typo in example code. 3050 3051Mon Dec 05 14:55:46 GMT 2011 Olly Betts <olly@survex.com> 3052 3053 * Backport change from trunk: 3054 * include/xapian/database.h: Note that commit() was new in 1.1.0. 3055 3056Mon Dec 05 14:39:23 GMT 2011 Olly Betts <olly@survex.com> 3057 3058 * Backport changes from trunk: 3059 * common/safesysselect.h: Fix typo (FDSET -> FD_SET). 3060 * common/safesysselect.h: Enhance to provide portability for __WIN32__ 3061 too. 3062 * net/remoteconnection.cc,net/tcpclient.cc: Update to make use of this. 3063 * common/safesysselect.h: Add wrapper around FD_SET() under __WIN32__ 3064 which casts the fd parameter to unsigned to avoid a warning on mingw. 3065 * net/tcpclient.cc: Remove __WIN32__-specific case here which was 3066 working around this warning. 3067 3068Mon Dec 05 14:28:28 GMT 2011 Olly Betts <olly@survex.com> 3069 3070 * Backport change from trunk: 3071 * common/msvc_posix_wrapper.cc,common/safe.cc,net/tcpclient.cc: 3072 Some fixes for warnings when cross-compiling with mingw; missing 3073 includes to get declarations of functions in windows support 3074 code, and change to use the windows SOCKET type to avoid a 3075 signed/unsigned comparison warning in tcpclient. 3076 3077Mon Dec 05 13:59:19 GMT 2011 Olly Betts <olly@survex.com> 3078 3079 * Backport change from trunk: 3080 * include/xapian/database.h: Remove bogus paragraph in 3081 replace_document() documentation comment, cut and pasted from 3082 delete_document() documentation comment. (Fixes bug#579) 3083 3084Wed Sep 14 05:05:36 GMT 2011 Olly Betts <olly@survex.com> 3085 3086 * Backport change from trunk: 3087 * docs/quickstart.rst: Correct link which was to 3088 quickstartsearch.cc.html but should be to quickstartindex.cc.html. 3089 3090Wed Sep 14 05:02:10 GMT 2011 Olly Betts <olly@survex.com> 3091 3092 * Backport change from trunk: 3093 * backends/flint_lock.cc: Fix comment typo. 3094 3095Wed Sep 14 04:59:58 GMT 2011 Olly Betts <olly@survex.com> 3096 3097 * Backport change from trunk: 3098 * include/xapian/enquire.h: Clarify "sort by date" with BoolWeight 3099 example. 3100 3101Tue Aug 30 13:56:21 GMT 2011 Olly Betts <olly@survex.com> 3102 3103 * Backport change from trunk: 3104 * docs/index.rst: Add link to apidoc.pdf. 3105 3106Wed Aug 24 14:25:21 GMT 2011 Olly Betts <olly@survex.com> 3107 3108 * Backport change from trunk: 3109 * queryparser/queryparser.lemony: Fix memory leak (caught by existing 3110 testcase queryparser1 when run under valgrind). 3111 3112Wed Aug 24 14:13:24 GMT 2011 Olly Betts <olly@survex.com> 3113 3114 * Backport change from trunk: 3115 * queryparser/,tests/queryparsertest.cc,tests/termgentest.cc: Add 3116 support for indexing and searching CJK text using n-grams. Currently 3117 this is only enabled if environmental variable XAPIAN_CJK_NGRAM is 3118 set to a non-empty value. 3119 3120Wed Aug 10 06:09:39 GMT 2011 Olly Betts <olly@survex.com> 3121 3122 * NEWS: Finalise 1.2.7. 3123 3124Mon Aug 08 06:07:10 GMT 2011 Olly Betts <olly@survex.com> 3125 3126 * NEWS,configure.ac: Initial update for 1.2.7. 3127 3128Sat Aug 06 07:32:16 GMT 2011 Olly Betts <olly@survex.com> 3129 3130 * Backport change from trunk: 3131 * api/postingsource.cc,common/serialise.h, 3132 include/xapian/postingsource.h: Fix new warnings from -Wshadow with 3133 GCC 4.6. These warnings are when a variable name "shadows" a 3134 typename, which doesn't seem problematic in general, but the only 3135 alternative seems to be to disable -Wshadow entirely, and it is 3136 useful in other cases. 3137 3138Sat Aug 06 07:17:05 GMT 2011 Olly Betts <olly@survex.com> 3139 3140 * backends/dbfactory_remote.cc: Fix -Wshadow warnings from GCC 4.6. 3141 3142Sat Aug 06 06:32:15 GMT 2011 Olly Betts <olly@survex.com> 3143 3144 * Backport change from trunk: 3145 * include/xapian/termgenerator.h, 3146 queryparser/termgenerator_internal.cc: Rename weight parameter to 3147 wdf_inc, which much better describes what it does, and avoids a 3148 -Wshadow warning with GCC 4.6. 3149 3150Sat Aug 06 06:26:54 GMT 2011 Olly Betts <olly@survex.com> 3151 3152 * Backport change from trunk: 3153 * api/registry.cc: Rename weight variable to weighting_scheme to avoid 3154 -Wshadow warning. 3155 3156Sat Aug 06 06:16:47 GMT 2011 Olly Betts <olly@survex.com> 3157 3158 * Backport change from trunk: 3159 * configure.ac: -Wshadow gives bogus warnings with 4.0 (at least on Mac 3160 OS X), so disable it for GCC < 4.1 (like the comments suggest we 3161 already did!) 3162 3163Sat Aug 06 05:55:32 GMT 2011 Olly Betts <olly@survex.com> 3164 3165 * Backport change from trunk: 3166 * api/omdocument.cc,backends/brass/brass_database.cc, 3167 backends/chert/chert_database.cc,backends/flint/flint_database.cc, 3168 common/document.h: Document objects now track if term positions might 3169 have been modified, so we can avoid having to consider them at all if 3170 you take a document and add or remove a boolean filter term. This 3171 gives an 18% speedup for adding tags in notmuch. 3172 3173Sat Aug 06 04:32:56 GMT 2011 Olly Betts <olly@survex.com> 3174 3175 * Backport change from trunk: 3176 * docs/index.rst: Add links to Omega and bindings docs. 3177 3178Sat Aug 06 04:18:25 GMT 2011 Olly Betts <olly@survex.com> 3179 3180 * Backport change from trunk: 3181 * include/xapian/queryparser.h: Reword documentation of 3182 add_boolean_prefix()'s exclusive parameter to talk about terms and 3183 prefixes rather than values and fields (which was confusing since 3184 "document value" has a particular meaning in Xapian). 3185 3186Sat Aug 06 04:16:38 GMT 2011 Olly Betts <olly@survex.com> 3187 3188 * Backport change from trunk: 3189 * bin/xapian-check.cc: Document in --help that checking a whole 3190 database performs additional cross-checks between the tables. 3191 3192Sat Aug 06 04:14:51 GMT 2011 Olly Betts <olly@survex.com> 3193 3194 * Backport changes from trunk: 3195 * docs/facets.rst: Expand descriptions for indexing and finding 3196 facets to hopefully be more helpful to newcomers. 3197 * docs/facets.rst: Fix example calls to add_matchspy() to be passed 3198 pointers, and example call to get_termfreq(). 3199 3200Sat Aug 06 03:14:45 GMT 2011 Olly Betts <olly@survex.com> 3201 3202 * Backport change from trunk: 3203 * tests/api_matchspy.cc: Remove checks for remote dbtype in matchspy2 3204 and matchspy4 testcases - these were checking for values which would 3205 never match, and the testcases should and do work with remote 3206 backends. 3207 3208Fri Aug 05 15:26:07 GMT 2011 Olly Betts <olly@survex.com> 3209 3210 * common/pretty.h: Add Flint-related classes to fix build with 3211 --enable-log. 3212 3213Fri Aug 05 15:21:26 GMT 2011 Olly Betts <olly@survex.com> 3214 3215 * Backport change from trunk: 3216 * include/xapian/database.h: Improve the documentation comment for 3217 Database::close(). (ticket#504) 3218 3219Fri Aug 05 11:49:17 GMT 2011 Olly Betts <olly@survex.com> 3220 3221 * Backport changes from trunk: 3222 * common/pretty.h: Don't dereference a NULL pointer. 3223 * common/output.h,common/pretty.h: Fix invalid templates in pretty.h. 3224 * common/pretty.h: Fix template for pretty printing a std::list. 3225 3226Fri Aug 05 11:36:10 GMT 2011 Olly Betts <olly@survex.com> 3227 3228 * Backport change from trunk: 3229 * include/xapian/enquire.h: Fix doc comment typo which reversed the 3230 intended sense. 3231 3232Fri Aug 05 11:30:13 GMT 2011 Olly Betts <olly@survex.com> 3233 3234 * Backport change from trunk: 3235 * api/omenquire.cc,common/omenquireinternal.h: Remove unused method 3236 Enquire::Internal::register_match_decider(). 3237 3238Wed Jun 22 16:41:57 GMT 2011 Olly Betts <olly@survex.com> 3239 3240 * Backport change from trunk: 3241 * common/databasereplicator.h,languages/steminternal.h,tests/harness/: 3242 Remove inclusions of xapian/base.h from files which don't use 3243 RefCntPtr or RefCntBase. 3244 3245Wed Jun 22 15:38:00 GMT 2011 Olly Betts <olly@survex.com> 3246 3247 * Backport change from trunk: 3248 * include/xapian/base.h: Remove unnecessary check for self-assignment 3249 as it isn't a common case and the current code copes gracefully with 3250 it anyway. 3251 3252Wed Jun 22 14:59:22 GMT 2011 Olly Betts <olly@survex.com> 3253 3254 * Backport change from trunk: 3255 * backends/brass/brass_postlist.cc,backends/brass/brass_postlist.h, 3256 backends/chert/chert_postlist.cc,backends/chert/chert_postlist.h: 3257 Reduce size of BrassPostList/ChertPostList objects by moving bool 3258 members together (168->160 bytes for ChertPostList on x86-64 Linux). 3259 3260Wed Jun 22 14:20:48 GMT 2011 Olly Betts <olly@survex.com> 3261 3262 * Backport change from trunk: 3263 * tests/internaltest.cc: Fix typo in comment and verbose output. 3264 3265Wed Jun 22 14:18:31 GMT 2011 Olly Betts <olly@survex.com> 3266 3267 * Backport change from trunk: 3268 * common/pretty.h: Fix comment typo. 3269 3270Wed Jun 22 14:17:21 GMT 2011 Olly Betts <olly@survex.com> 3271 3272 * Backport change from trunk: 3273 * queryparser/queryparser.lemony, 3274 queryparser/termgenerator_internal.cc: Fix warning from GCC 3.3. 3275 3276Wed Jun 22 13:34:14 GMT 2011 Olly Betts <olly@survex.com> 3277 3278 * Backport change from trunk: 3279 * api/,expand/ortermlist.cc,include/xapian/: Use TermIterator() instead 3280 of TermIterator(NULL), and similarly for other Xapian iterator 3281 classes. 3282 3283Wed Jun 22 12:49:25 GMT 2011 Olly Betts <olly@survex.com> 3284 3285 * Backport change from trunk: 3286 * tests/perftest/Makefile.mk: Make sure that perftest isn't run with 3287 libeatmydata preloaded. 3288 3289Wed Jun 22 12:45:54 GMT 2011 Olly Betts <olly@survex.com> 3290 3291 * docs/deprecation.rst: Remove duplicate entry added in most recent 3292 backport and fix tab to spaces. 3293 3294Wed Jun 22 12:35:57 GMT 2011 Olly Betts <olly@survex.com> 3295 3296 * Backport change from trunk: 3297 * docs/deprecation.rst: Add flush() -> commit(). 3298 3299Wed Jun 22 12:27:37 GMT 2011 Olly Betts <olly@survex.com> 3300 3301 * Backport change from trunk: 3302 * README: Note licence is GPL *2+*. Say "SVN/git". Use trac URL for 3303 wiki. 3304 3305Wed Jun 22 12:22:42 GMT 2011 Olly Betts <olly@survex.com> 3306 3307 * Backport change from trunk: 3308 * net/remoteserver.cc: Remove unnecessary call to reopen() - either we 3309 just called it or we're a writable database and it doesn't do 3310 anything. 3311 3312Wed Jun 22 11:42:32 GMT 2011 Olly Betts <olly@survex.com> 3313 3314 * Backport change from trunk: 3315 * xapian-core/backends/remote/remote-database.cc, 3316 xapian-core/common/remote-database.h: Factor out the code to decode 3317 the returned stats into a new apply_stats_update() method. 3318 3319Wed Jun 22 11:09:22 GMT 2011 Olly Betts <olly@survex.com> 3320 3321 * Backport change from trunk: 3322 * docs/remote_protocol.rst: Fixed typo which reversed the intended 3323 sense. 3324 3325Wed Jun 22 11:05:51 GMT 2011 Olly Betts <olly@survex.com> 3326 3327 * Backport change from trunk: 3328 * configure.ac: Add unnecessary AC_LANG_SOURCE wrapper to shut up 3329 autoconf warning. 3330 3331Wed Jun 22 10:57:55 GMT 2011 Olly Betts <olly@survex.com> 3332 3333 * Backport change from trunk: 3334 * tests/Makefile.am,tests/perftest/Makefile.mk, 3335 tests/soaktest/Makefile.mk: Make the generated "*_all.h" depend on 3336 the Makefile.am or Makefile.mk which contains the list of files it 3337 is generated from so that it gets regenerated when a file is 3338 removed from that list. 3339 3340Wed Jun 22 10:27:51 GMT 2011 Olly Betts <olly@survex.com> 3341 3342 * Backport change from trunk: 3343 * common/omenquireinternal.h: Remove a FIXME - caching the Document 3344 object in MSetItem isn't a replacement for storing the sort_key 3345 now that sort_keys can be computed. 3346 3347Wed Jun 22 10:20:04 GMT 2011 Olly Betts <olly@survex.com> 3348 3349 * Backport change from trunk: 3350 * docs/admin_notes.rst: Add note about xapian-chert-update. 3351 3352Wed Jun 22 10:14:14 GMT 2011 Olly Betts <olly@survex.com> 3353 3354 * Backport change from trunk: 3355 * bin/Makefile.mk: Remove lingering reference to quartz (rules to 3356 generate man pages for quartzdump, etc). 3357 3358Sun Jun 12 11:54:45 GMT 2011 Olly Betts <olly@survex.com> 3359 3360 * NEWS: Final update for 1.2.6. 3361 3362Sat Jun 11 10:11:23 GMT 2011 Olly Betts <olly@survex.com> 3363 3364 * api/omdocument.cc: Update LOGCALL(MATCH, ...) to LOGCALL(DB, ...). 3365 Convert LOGLINE() at start of method to LOGCALL(). 3366 3367Sat Jun 11 09:57:00 GMT 2011 Olly Betts <olly@survex.com> 3368 3369 * api/omdatabase.cc: Remove self-assignment check from 3370 Database::operator= since this is an uncommon code path and 3371 RefCntPtr ensures that self-assignment of the internals is 3372 safe. 3373 3374Sat Jun 11 08:48:10 GMT 2011 Olly Betts <olly@survex.com> 3375 3376 * api/omdatabase.cc,backends/brass/brass_cursor.h, 3377 backends/chert/chert_cursor.h,backends/flint/flint_cursor.h, 3378 backends/flint/flint_table.cc,backends/flint/flint_values.cc, 3379 backends/inmemory/inmemory_database.cc,bin/xapian-check-brass.cc, 3380 bin/xapian-check-chert.cc,bin/xapian-chert-update.cc, 3381 matcher/queryoptimiser.cc,matcher/valuegepostlist.h: Use string() or 3382 std::string() rather than "". 3383 * common/remoteconnection.h,net/tcpserver.cc: Use 2 parameter form of 3384 Error subclass ctors when the context is "". 3385 * api/replication.cc,backends/flint/flint_database.cc, 3386 common/remoteconnection.h,net/replicatetcpclient.cc, 3387 net/replicatetcpserver.cc: Make context parameter of 3388 RemoteConnection ctor optional. 3389 * common/leafpostlist.h: Say 'empty' rather than '""' in a 3390 documentation comment. 3391 * examples/simpleindex.cc: Use '.resize(0)' rather than '= ""'. 3392 3393Sat Jun 11 07:01:41 GMT 2011 Olly Betts <olly@survex.com> 3394 3395 * api/,backends/brass/,backends/chert/,backends/flint/, 3396 backends/remote/remote-database.cc,common/,include/xapian/,matcher/, 3397 net/remoteserver.cc,net/serialise.cc: Consistently use "slot" in 3398 variable names for value slots, rather than valueno, valno, valueid 3399 or value. The only exception remaining is a protected member of 3400 Xapian::StringValueRangeProcessor since that's really part of the 3401 public API. 3402 3403Fri Jun 10 11:55:45 GMT 2011 Olly Betts <olly@survex.com> 3404 3405 * NEWS,configure.ac: Update in preparation for 1.2.6. 3406 3407Fri Jun 10 09:05:38 GMT 2011 Olly Betts <olly@survex.com> 3408 3409 * examples/NEWS,examples/TODO: Remove files which are unused since the 3410 examples were merged into xapian-core. 3411 3412Fri Jun 10 09:03:33 GMT 2011 Olly Betts <olly@survex.com> 3413 3414 * Makefile.am: Ship ChangeLog.0 in the tarball. 3415 3416Fri Jun 10 05:19:24 GMT 2011 Olly Betts <olly@survex.com> 3417 3418 * tests/Makefile.am: Actually include soaktest/Makefile.mk. 3419 3420Thu Jun 09 23:26:52 GMT 2011 Olly Betts <olly@survex.com> 3421 3422 * docs/doxygen_api.conf.in,docs/doxygen_source.conf.in: Define 3423 XAPIAN_DEPRECATED_CLASS to empty for doxygen. 3424 3425Thu Jun 09 22:21:29 GMT 2011 Olly Betts <olly@survex.com> 3426 3427 * docs/overview.rst: Document "remote" in stub databases. 3428 3429Thu Jun 09 15:23:12 GMT 2011 Olly Betts <olly@survex.com> 3430 3431 * HACKING,docs/deprecation.rst,include/xapian/deprecated.h, 3432 include/xapian/keymaker.h: Add XAPIAN_DEPRECATED_CLASS macro 3433 for marking a class as deprecated, so we don't have to call 3434 XAPIAN_DEPRECATED() with no parameters. 3435 3436Thu Jun 09 14:03:17 GMT 2011 Olly Betts <olly@survex.com> 3437 3438 * HACKING: Clarify wording about PATH. 3439 3440Thu Jun 09 13:04:53 GMT 2011 Olly Betts <olly@survex.com> 3441 3442 * docs/queryparser.rst,include/xapian/queryparser.h, 3443 queryparser/queryparser.cc,queryparser/queryparser.lemony, 3444 queryparser/queryparser_internal.h,tests/queryparsertest.cc: Add 3445 QueryParser::set_max_wildcard_expansion() method to allow limiting 3446 the number of terms a wildcard can expand to. Implementation mostly 3447 from a patch by Adam Sjøgren in ticket#350. 3448 3449Tue Jun 07 23:16:33 GMT 2011 Dan Colish <dcolish@gmail.com> 3450 3451 * backends/brass/brass_changesetapplier.h, 3452 backends/chert/chert_changesetapplier.h, 3453 backends/flint/flint_changesetapplier.h: Remove dead code 3454 3455Thu Jun 02 13:21:28 GMT 2011 Olly Betts <olly@survex.com> 3456 3457 * AUTHORS: Add recent bug reporters. 3458 3459Thu Jun 02 11:03:57 GMT 2011 Olly Betts <olly@survex.com> 3460 3461 * queryparser/queryparser.lemony: If default_op is OP_NEAR or 3462 OP_PHRASE then disable stemming of the terms, since we don't index 3463 positional information for stemmed terms by default. 3464 * tests/queryparsertest.cc: Adjust near1 and phrase1 to act as 3465 regression tests for this fix. 3466 3467Thu Jun 02 02:58:58 GMT 2011 Olly Betts <olly@survex.com> 3468 3469 * backends/brass/brass_spelling.cc,backends/brass/brass_spelling.h, 3470 backends/chert/chert_spelling.cc,backends/chert/chert_spelling.h, 3471 backends/flint/flint_spelling.cc,backends/flint/flint_spelling.h: 3472 Fix bug Nikita Smetanin spotted with adding a word which has the 3473 same trigram in an even number of times. 3474 * tests/api_spelling.cc: Add regression test spell8. 3475 3476Wed Jun 01 14:11:38 GMT 2011 Olly Betts <olly@survex.com> 3477 3478 * backends/flint_lock.cc: Kill the child process which holds the lock 3479 with SIGKILL as that can't be ignored, whereas SIGHUP can be in some 3480 cases it seems. 3481 3482Wed Jun 01 12:12:14 GMT 2011 Olly Betts <olly@survex.com> 3483 3484 * docs/quickstartexpand.cc.html,docs/quickstartindex.cc.html, 3485 docs/quickstartsearch.cc.html: Reinstate the old HTML versions 3486 of these files. 3487 3488Wed Jun 01 12:09:55 GMT 2011 Olly Betts <olly@survex.com> 3489 3490 * docs/queryparser.rst,docs/remote_protocol.rst: Fix literal hard 3491 spaces in input to just be spaces. 3492 3493Wed Jun 01 12:06:26 GMT 2011 Olly Betts <olly@survex.com> 3494 3495 * docs/quickstart.rst: Fix sub-heading run in to previous paragraph. 3496 3497Wed Jun 01 12:04:52 GMT 2011 Olly Betts <olly@survex.com> 3498 3499 * docs/remote.rst: Replace out-dated list of xapian-tcpsrv's command 3500 line options with a reference to --help and the man page. Tweak 3501 wording in a few places. 3502 3503Wed Jun 01 11:54:37 GMT 2011 Olly Betts <olly@survex.com> 3504 3505 * docs/overview.rst: Change omrset to rset. Remove some bogus `` left 3506 over from fixing definition list formatting. 3507 3508Wed Jun 01 11:38:09 GMT 2011 Olly Betts <olly@survex.com> 3509 3510 * docs/stemming.rst: Comment out bogus claim that there are stopword 3511 lists in xapian-data (the lack of stopword lists is already 3512 ticket#269). 3513 3514Wed Jun 01 11:29:58 GMT 2011 Olly Betts <olly@survex.com> 3515 3516 * docs/matcherdesign.rst,docs/stemming.rst: Convert more arrows to 3517 Unicode. 3518 * docs/stemming.rst: Fix some missing paragraph breaks. 3519 3520Wed Jun 01 11:18:25 GMT 2011 Olly Betts <olly@survex.com> 3521 3522 * docs/intro_ir.rst: Use Unicode right arrow. 3523 3524Wed Jun 01 10:38:27 GMT 2011 Olly Betts <olly@survex.com> 3525 3526 * docs/: Revert quickstart*.cc.html to being HTML rather than .rst as 3527 the .rst version lose the syntax highlighting. Update svn:ignore. 3528 3529Wed Jun 01 10:27:11 GMT 2011 Olly Betts <olly@survex.com> 3530 3531 * docs/intro_ir.rst: Sort out the remaining formatting issues. 3532 3533Wed Jun 01 08:05:05 GMT 2011 Olly Betts <olly@survex.com> 3534 3535 * docs/intro_ir.rst: More markup fixes. 3536 3537Wed Jun 01 06:16:56 GMT 2011 Olly Betts <olly@survex.com> 3538 3539 * docs/tests.rst: Use generated contents list instead of manual one. 3540 3541Wed Jun 01 06:16:13 GMT 2011 Olly Betts <olly@survex.com> 3542 3543 * docs/index.rst,docs/internals.rst: Centre links at top; Sort out 3544 <hr> to be full width. 3545 3546Wed Jun 01 03:23:20 GMT 2011 Olly Betts <olly@survex.com> 3547 3548 * docs/bm25.rst: Sort out inline equations. 3549 3550Tue May 31 15:21:10 GMT 2011 Olly Betts <olly@survex.com> 3551 3552 * docs/spelling.rst: Add link to Omega documentation. 3553 3554Tue May 31 07:52:19 GMT 2011 Olly Betts <olly@survex.com> 3555 3556 * docs/overview.rst,docs/quickstart.rst,docs/remote_protocol.rst: More 3557 .rst formatting fixes. 3558 3559Tue May 31 05:02:48 GMT 2011 Olly Betts <olly@survex.com> 3560 3561 * docs/overview.rst: More .rst fixes. 3562 3563Tue May 31 04:32:52 GMT 2011 Olly Betts <olly@survex.com> 3564 3565 * docs/: More .rst fixes. 3566 3567Tue May 31 04:11:27 GMT 2011 Olly Betts <olly@survex.com> 3568 3569 * docs/Makefile.am,docs/code_structure.rst: Revert code_structure.html 3570 conversion - this file is generated by a script. 3571 3572Tue May 31 03:56:39 GMT 2011 Olly Betts <olly@survex.com> 3573 3574 * docs/install.rst,docs/stemming.rst,docs/tests.rst: Fix up some .rst 3575 conversion issues. 3576 3577Tue May 31 03:36:49 GMT 2011 Dan Colish <dcolish@gmail.com> 3578 3579 * docs/remote_protocol.rst docs/quickstart.rst docs/remote.rst 3580 docs/internals.rst docs/scalability.rst 3581 docs/quickstartsearch.cc.rst 3582 docs/bm25.rst docs/install.rst docs/quickstartindex.cc.rst 3583 docs/index.rst docs/matcherdesign.rst docs/quickstartexpand.cc.rst 3584 docs/queryparser.rst docs/stemming.rst docs/intro_ir.rst 3585 docs/code_structure.rst docs/Makefile.am docs/tests.rst 3586 docs/overview.rst: Bulk port all remaining documentation to RST. 3587 3588Sun May 29 07:04:42 GMT 2011 Olly Betts <olly@survex.com> 3589 3590 * docs/postingsource.rst: Add PostingSource example. (ticket#503) 3591 3592Sun May 29 05:19:40 GMT 2011 Olly Betts <olly@survex.com> 3593 3594 * include/xapian/database.h: Add @exception InvalidArgumentError for 3595 Database::get_document() (ticket#542). 3596 3597Fri May 27 05:36:28 GMT 2011 Olly Betts <olly@survex.com> 3598 3599 * NEWS: Update from ChangeLog. 3600 3601Thu May 26 02:44:07 GMT 2011 Olly Betts <olly@survex.com> 3602 3603 * include/xapian/queryparser.h: FIXME:1.1.3 -> FIXME:1.3. 3604 3605Wed May 25 14:58:37 GMT 2011 Olly Betts <olly@survex.com> 3606 3607 * docs/queryparser.html: Document the precedence order of operators. 3608 3609Fri May 20 04:13:54 GMT 2011 Olly Betts <olly@survex.com> 3610 3611 * examples/simpleindex.cc: Add short description to usage message. 3612 3613Tue May 17 21:44:55 GMT 2011 Olly Betts <olly@survex.com> 3614 3615 * docs/scalability.html: Bring up-to-date. 3616 3617Wed May 11 01:34:34 GMT 2011 Olly Betts <olly@survex.com> 3618 3619 * AUTHORS: Add Scott Zhang for mingw fixes. 3620 3621Wed May 11 01:30:54 GMT 2011 Olly Betts <olly@survex.com> 3622 3623 * net/progclient.cc,net/tcpserver.cc: Need <cstdio> for sprintf on 3624 __WIN32__ and cygwin. 3625 3626Wed May 11 01:22:07 GMT 2011 Olly Betts <olly@survex.com> 3627 3628 * configure.ac: Define __MSVCRT_VERSION__ to 0x0601 under mingw so 3629 we get _ftime64(). 3630 3631Wed May 11 01:19:14 GMT 2011 Olly Betts <olly@survex.com> 3632 3633 * common/closefrom.cc,common/closefrom.h: We don't need closefrom() 3634 under __WIN32__ currently, so disable it there as it doesn't 3635 compile under mingw. 3636 3637Mon May 09 20:13:17 GMT 2011 Olly Betts <olly@survex.com> 3638 3639 * examples/delve.cc: Report has_positions(). 3640 3641Thu Apr 07 05:38:36 GMT 2011 Dan Colish <dcolish@gmail.com> 3642 3643 * matcher/phrasepostlist.cc, matcher/queryoptimiser.cc, 3644 matcher/exactphrasepostlist.cc, matcher/exactphrasepostlist.h, 3645 matcher/phrasepostlist.h: Remove temporary vector in queryoptimiser 3646 and replace with iterators. 3647 3648Wed Apr 06 10:27:41 GMT 2011 Richard Boulton <richard@tartarus.org> 3649 3650 * docs/admin_notes.rst: Remove the word "also", which makes sense 3651 when read in context of the previous section, but is confusing if 3652 the paragraph is read standalone, and isn't necessary. 3653 3654Mon Apr 04 14:41:33 GMT 2011 Olly Betts <olly@survex.com> 3655 3656 * NEWS: Final update for 1.2.5. 3657 3658Mon Apr 04 14:06:56 GMT 2011 Olly Betts <olly@survex.com> 3659 3660 * backends/brass/brass_version.cc: Remove ? from comment - the brass 3661 version change is definitely going to be in 1.2.5. 3662 3663Mon Apr 04 13:57:23 GMT 2011 Olly Betts <olly@survex.com> 3664 3665 * NEWS: Bump release date. 3666 3667Sat Mar 26 14:49:41 GMT 2011 Olly Betts <olly@survex.com> 3668 3669 * INSTALL: Fix typo in previous commit. 3670 3671Sat Mar 26 14:03:15 GMT 2011 Olly Betts <olly@survex.com> 3672 3673 * INSTALL: Note how to build for a non-default arch on a multi-arch 3674 platform. 3675 3676Sat Mar 26 13:22:49 GMT 2011 Olly Betts <olly@survex.com> 3677 3678 * NEWS,configure.ac: Update for 1.2.5. 3679 3680Sat Mar 26 12:28:38 GMT 2011 Olly Betts <olly@survex.com> 3681 3682 * AUTHORS: Update. 3683 3684Sat Mar 26 10:33:19 GMT 2011 Olly Betts <olly@survex.com> 3685 3686 * backends/brass/brass_postlist.cc,backends/brass/brass_postlist.h, 3687 backends/chert/chert_postlist.cc,backends/chert/chert_postlist.h, 3688 backends/inmemory/inmemory_database.h: Address issues highlighted 3689 by clang++ warnings. 3690 3691Fri Mar 25 05:36:41 GMT 2011 Olly Betts <olly@survex.com> 3692 3693 * docs/tests.html: Slight tweak to improve up-to-date-ness, but more 3694 work would be useful. 3695 3696Fri Mar 25 05:30:56 GMT 2011 Olly Betts <olly@survex.com> 3697 3698 * docs/matcherdesign.html: Update - quite a bit has changed in the 3699 matcher since this was last updated! 3700 3701Thu Mar 24 23:31:57 GMT 2011 Olly Betts <olly@survex.com> 3702 3703 * api/replication.cc,common/replication.h: Pass reader_close_time as 3704 double everywhere, rather than truncating it to int. Include 3705 reader_close_time parameters in debug logging. Document 3706 reader_close_time in doxygen comments. 3707 3708Tue Mar 22 15:36:25 GMT 2011 Dan Colish <dcolish@gmail.com> 3709 3710 * backends/brass/brass_database.h: 3711 Remove left over copyright. 3712 3713Tue Mar 22 04:54:12 GMT 2011 Dan Colish <dcolish@gmail.com> 3714 3715 * backends/brass/brass_btreebase.cc,backends/chert/chert_btreebase.cc, 3716 backends/flint/flint_btreebase.cc: 3717 Correct comments for which revision is packed when writing base files 3718 3719Tue Mar 22 03:18:19 GMT 2011 Dan Colish <dcolish@gmail.com> 3720 3721 * backends/brass/brass_database.cc,backends/chert/chert_database.cc, 3722 backends/flint/flint_database.cc,include/xapian/database.h: 3723 Remove FIXME and comments for DB_OVERWRITE. 3724 3725Tue Mar 22 01:18:38 GMT 2011 Dan Colish <dcolish@gmail.com> 3726 3727 * backends/brass/,backends/chert/chert_database.cc, 3728 backends/flint/flint_database.cc,tests/api_replicate.cc: 3729 Clean up changesets when replicating. Add test coverage for this 3730 feature. Allow XAPIAN_MAX_CHANGESETS to be altered without reopening 3731 the database. Closes Ticket #278. 3732 3733Mon Mar 21 01:50:41 GMT 2011 Olly Betts <olly@survex.com> 3734 3735 * docs/bm25.html: Add a link to the 1976 Robertson/Sparck Jones paper. 3736 3737Wed Mar 16 05:56:58 GMT 2011 Dan Colish <dcolish@gmail.com> 3738 3739 * bin/xapian-check-flint.cc: Initialize did and current_wdf to prevent 3740 uninitalized usage and compiler warnings. 3741 3742Mon Mar 14 03:20:18 GMT 2011 Olly Betts <olly@survex.com> 3743 3744 * common/debuglog.cc,common/debuglog.h: Rename indent member to 3745 indent_level so it doesn't clash with indent() method. 3746 3747Mon Mar 14 02:44:24 GMT 2011 Olly Betts <olly@survex.com> 3748 3749 * common/debuglog.cc,common/debuglog.h: Use an integer counter for the 3750 indent rather than a std::string which we add/remove spaces to/from. 3751 This is cleaner, but also there seems to be an issue with having a 3752 std::string member in a global static object on OS X. 3753 3754Fri Mar 11 01:12:04 GMT 2011 Olly Betts <olly@survex.com> 3755 3756 * HACKING: Document using '{ }' rather than ';' for empty loop bodies. 3757 3758Fri Mar 11 01:02:47 GMT 2011 Olly Betts <olly@survex.com> 3759 3760 * HACKING: Remove bogus ; after method definition in code example. 3761 3762Fri Mar 11 00:07:22 GMT 2011 Olly Betts <olly@survex.com> 3763 3764 * backends/brass/brass_database.cc,backends/chert/chert_database.cc, 3765 backends/flint/flint_database.cc: Factor out literal constant as 3766 MAX_OPEN_RETRIES. 3767 3768Wed Mar 09 14:54:06 GMT 2011 Olly Betts <olly@survex.com> 3769 3770 * tests/api_anydb.cc: Improve the new testcases a bit. 3771 3772Wed Mar 09 14:11:59 GMT 2011 Olly Betts <olly@survex.com> 3773 3774 * api/omenquire.cc,common/esetinternal.h,common/omenquireinternal.h, 3775 expand/esetinternal.cc,expand/expandweight.cc, 3776 include/xapian/enquire.h,tests/api_anydb.cc: Enquire::get_eset() now 3777 accepts a min_wt argument to allow the minimum wanted weight to be 3778 specified. Default is 0, which gives the previous behaviour. 3779 3780Wed Mar 09 00:00:25 GMT 2011 Olly Betts <olly@survex.com> 3781 3782 * include/xapian/termiterator.h: Fix misspelling in doc comment. 3783 3784Tue Mar 08 06:58:14 GMT 2011 Olly Betts <olly@survex.com> 3785 3786 * backends/brass/brass_table.cc,backends/brass/brass_table.h, 3787 backends/chert/chert_table.cc,backends/chert/chert_table.h, 3788 backends/flint/flint_table.cc,backends/flint/flint_table.h: Use 3789 defined constant BLOCK_CAPACITY instead of hardcoded 4 (ticket#536). 3790 3791Tue Mar 08 05:56:42 GMT 2011 Olly Betts <olly@survex.com> 3792 3793 * backends/brass/brass_table.cc,backends/chert/chert_table.cc, 3794 backends/flint/flint_table.cc: If we try to delete an old base file 3795 and it isn't there, just continue rather than throwing an exception. 3796 We wanted to get rid of it anyway, and it may be NFS issues telling 3797 us the wrong thing. In particular, DatabaseCoruptError was rather 3798 a pessimistic assessment. 3799 3800Tue Mar 08 05:55:48 GMT 2011 Olly Betts <olly@survex.com> 3801 3802 * common/io_utils.h: Note that io_unlink() may return false when it 3803 should have returned true on NFS. 3804 3805Sun Mar 06 23:25:47 GMT 2011 Olly Betts <olly@survex.com> 3806 3807 * common/io_utils.cc,common/io_utils.h: Add io_unlink(). 3808 * backends/brass/brass_database.cc,backends/brass/brass_table.cc, 3809 backends/chert/chert_database.cc,backends/chert/chert_table.cc, 3810 backends/flint/flint_database.cc,backends/flint/flint_table.cc: 3811 Use io_unlink() instead of sys_unlink_if_exists(). 3812 3813Sun Mar 06 22:26:36 GMT 2011 Olly Betts <olly@survex.com> 3814 3815 * backends/brass/brass_database.cc,backends/chert/chert_database.cc, 3816 backends/flint/flint_database.cc: If DANGEROUS mode is turned on, 3817 then actually set the flag for this in replication changes files 3818 (the reader will currently throw an exception, but that's better 3819 than quietly handling them incorrectly). 3820 3821Sat Mar 05 12:58:31 GMT 2011 Olly Betts <olly@survex.com> 3822 3823 * NEWS: Update from ChangeLog. 3824 3825Sat Mar 05 12:49:16 GMT 2011 Olly Betts <olly@survex.com> 3826 3827 * NEWS: Fix a few typos. 3828 3829Sat Mar 05 06:19:25 GMT 2011 Olly Betts <olly@survex.com> 3830 3831 * NEWS: Fix typo in old entry. 3832 3833Sat Mar 05 06:16:41 GMT 2011 Olly Betts <olly@survex.com> 3834 3835 * common/remoteconnection.h: Internal doc comment improvements: Fix 3836 typo, finish truncated sentence, wrap lines to 80 columns. 3837 3838Sat Mar 05 02:59:35 GMT 2011 Olly Betts <olly@survex.com> 3839 3840 * bin/xapian-replicate.cc: Make sure port number is specified. Add 3841 "(required)" after --host and --port in help. 3842 3843Sat Mar 05 02:50:04 GMT 2011 Olly Betts <olly@survex.com> 3844 3845 * docs/replication.rst: Mention new defaulting of -m. 3846 3847Sat Mar 05 02:44:37 GMT 2011 Olly Betts <olly@survex.com> 3848 3849 * bin/xapian-replicate.cc: If --master isn't specified, default to 3850 DATABASE. 3851 3852Sat Mar 05 00:14:21 GMT 2011 Olly Betts <olly@survex.com> 3853 3854 * bin/xapian-replicate.cc: Give an error if the host isn't set, rather 3855 than trying to connect to an empty hostname, which gives the error 3856 "Couldn't resolve host (Unknown server error)", which might confuse 3857 if you fail to notice the double space and realise what it means. 3858 3859Fri Mar 04 17:20:13 GMT 2011 Richard Boulton <richard@tartarus.org> 3860 3861 * docs/replication.rst: Update documentation to make it clear that 3862 users shouldn't try to create the destination directory for 3863 replication themselves. 3864 3865Thu Mar 03 11:10:10 GMT 2011 Olly Betts <olly@survex.com> 3866 3867 * docs/intro_ir.html: Fix typo in author's name. 3868 3869Thu Mar 03 11:06:30 GMT 2011 Olly Betts <olly@survex.com> 3870 3871 * docs/intro_ir.html: Update link to a paper. Update text about book 3872 "to be published in 2008". 3873 3874Tue Mar 01 11:39:40 GMT 2011 Olly Betts <olly@survex.com> 3875 3876 * NEWS: Update from ChangeLog. 3877 3878Mon Feb 28 12:40:24 GMT 2011 Olly Betts <olly@survex.com> 3879 3880 * matcher/multimatch.cc: Avoid leaking postlist tree if an exception 3881 is thrown during the match. 3882 3883Wed Feb 23 15:26:56 GMT 2011 Olly Betts <olly@survex.com> 3884 3885 * docs/Makefile.am,docs/index.html: Process collapsing.rst and link 3886 it into the documentation. 3887 3888Wed Feb 23 15:22:06 GMT 2011 Olly Betts <olly@survex.com> 3889 3890 * docs/collapsing.rst: Add missing document (for some reason this file 3891 was empty in SVN, but present in my tree under a different name, and 3892 not checked in). 3893 3894Mon Feb 21 14:49:06 GMT 2011 Olly Betts <olly@survex.com> 3895 3896 * docs/deprecation.rst: Deprecate MSet.items and ESet.items. 3897 3898Mon Feb 21 14:06:21 GMT 2011 Olly Betts <olly@survex.com> 3899 3900 * backends/brass/brass_database.cc,backends/chert/chert_database.cc, 3901 backends/flint/flint_database.cc,common/remoteconnection.h, 3902 net/remoteconnection.cc: Pass a file descriptor to 3903 RemoteConnection::send_file() to avoid a race between the caller 3904 checking if a file exists and send_file() trying to open it to send 3905 it. 3906 3907Mon Feb 21 13:50:06 GMT 2011 Olly Betts <olly@survex.com> 3908 3909 * queryparser/lemon.c: Fix issues detected by DACA cppcheck run on the 3910 Debian archive. 3911 3912Mon Feb 21 13:30:55 GMT 2011 Olly Betts <olly@survex.com> 3913 3914 * tests/api_anydb.cc: Fix spaceterms1 which was never running one part 3915 of the testcase (and had been that way for years). Fix an 3916 off-by-one error in the enabled code. 3917 3918Mon Feb 21 13:05:36 GMT 2011 Olly Betts <olly@survex.com> 3919 3920 * tests/api_backend.cc: Add some test coverage for 3921 DatabaseModifiedError in get_mset(). 3922 3923Mon Feb 21 12:03:35 GMT 2011 Olly Betts <olly@survex.com> 3924 3925 * NEWS: Fix typo in old entry. 3926 3927Mon Feb 21 11:36:07 GMT 2011 Olly Betts <olly@survex.com> 3928 3929 * examples/quest.cc: Report any spelling correction (requires the 3930 database contains spelling data of course). 3931 3932Wed Feb 16 13:11:03 GMT 2011 Olly Betts <olly@survex.com> 3933 3934 * include/xapian/enquire.h: Add doxygen markup so alternative 3935 overloaded forms of Enquire::get_mset() appear in the API 3936 documentation. 3937 3938Wed Feb 09 14:24:57 GMT 2011 Olly Betts <olly@survex.com> 3939 3940 * docs/admin_notes.rst: Up to darte for 1.2.5. Minor wording 3941 improvements. Mention copydatabase --no-renumber. 3942 3943Wed Feb 09 14:06:55 GMT 2011 Olly Betts <olly@survex.com> 3944 3945 * examples/copydatabase.cc: Add --no-renumber option. 3946 3947Tue Feb 01 11:17:58 GMT 2011 Olly Betts <olly@survex.com> 3948 3949 * configure.ac: -Wstrict-null-sentinel was added in GCC 4.0.1 so 3950 doesn't work with GCC 4.0.0. For simplicity, only enable it for 3951 GCC >= 4.1. 3952 3953Tue Feb 1 08:22:52 GMT 2011 Olly Betts <olly@survex.com> 3954 3955 * docs/deprecation.rst: Add $set{spelling,true}. 3956 3957Thu Jan 20 14:52:53 GMT 2011 Olly Betts <olly@survex.com> 3958 3959 * backends/flint/flint_btreebase.cc,backends/flint/flint_btreebase.h, 3960 backends/flint/flint_table.cc: Don't read the bitmaps from the base 3961 files when opening a database for reading (cross-port of equivalent 3962 change to chert). 3963 3964Thu Jan 20 14:37:10 GMT 2011 Olly Betts <olly@survex.com> 3965 3966 * backends/brass/brass_btreebase.cc,backends/brass/brass_btreebase.h, 3967 backends/brass/brass_table.cc: Don't read the bitmaps from the base 3968 files when opening a database for reading (cross-port of equivalent 3969 change to chert). 3970 3971Thu Jan 20 14:21:10 GMT 2011 Olly Betts <olly@survex.com> 3972 3973 * backends/chert/chert_btreebase.cc,backends/chert/chert_btreebase.h, 3974 backends/chert/chert_table.cc: Don't read the bitmaps from the base 3975 files when opening a database for reading. 3976 3977Thu Jan 20 01:57:02 GMT 2011 Olly Betts <olly@survex.com> 3978 3979 * backends/brass/brass_database.cc: Optimise not to update doclength 3980 when it hasn't changed (cross-port of equivalent change to chert). 3981 3982Thu Jan 20 01:36:51 GMT 2011 Olly Betts <olly@survex.com> 3983 3984 * backends/chert/chert_database.cc: Optimise not to update doclength 3985 when it hasn't changed. 3986 3987Wed Jan 19 03:50:18 GMT 2011 Olly Betts <olly@survex.com> 3988 3989 * tests/api_compact.cc: Close ofstream objects used to write out stub 3990 files for testing before we run the actual compaction, to avoid 3991 issues on Microsoft Windows (ticket#525). 3992 3993Wed Jan 19 01:01:38 GMT 2011 Olly Betts <olly@survex.com> 3994 3995 * HACKING: Snapshots and releases are now bootstrapped with autoconf 3996 2.68 and libtool 2.4. Prune information about reasons for needing 3997 really old autotools versions when there's a reason to need a newer 3998 version anyway. 3999 4000Sat Jan 15 11:10:26 GMT 2011 Olly Betts <olly@survex.com> 4001 4002 * NEWS: Update from ChangeLog and 1.0.23. 4003 4004Sat Jan 15 10:28:10 GMT 2011 Olly Betts <olly@survex.com> 4005 4006 * bin/xapian-chert-update.cc: Fix to handle value slot entries in the 4007 termlist table. 4008 4009Wed Jan 12 23:49:21 GMT 2011 Olly Betts <olly@survex.com> 4010 4011 * bin/xapian-chert-update.cc: Adjust keys for doclength chunks too. 4012 4013Wed Jan 12 13:37:30 GMT 2011 Olly Betts <olly@survex.com> 4014 4015 * AUTHORS,bin/xapian-chert-update.cc: Fix to also rewrite docids in 4016 value chunk keys (reported by Luca Barbieri on xapian-discuss). 4017 4018Tue Jan 11 08:41:02 GMT 2011 Olly Betts <olly@survex.com> 4019 4020 * docs/deprecation.rst: Note removal of if idx in mset. 4021 4022Tue Jan 11 08:30:29 GMT 2011 Olly Betts <olly@survex.com> 4023 4024 * docs/deprecation.rst: PostingSource now offers a replacement for 4025 Enquire::set_bias(). 4026 4027Mon Jan 10 09:40:24 GMT 2011 Olly Betts <olly@survex.com> 4028 4029 * api/compactor.cc: Add missing header <ctime> for time() (ticket#530). 4030 4031Sun Jan 09 23:14:02 GMT 2011 Olly Betts <olly@survex.com> 4032 4033 * api/compactor.cc: Use msvc_posix_rename() under __WIN32__ to 4034 atomically update stub file after compaction (ticket#525). 4035 4036Thu Dec 23 13:00:43 GMT 2010 Olly Betts <olly@survex.com> 4037 4038 * queryparser/queryparser.lemony: Whitespace consistency tweak. 4039 4040Thu Dec 23 11:01:26 GMT 2010 Olly Betts <olly@survex.com> 4041 4042 * queryparser/queryparser.lemony,tests/queryparsertest.cc: Handle 4043 NEAR/<offset> and ADJ/<offset> where offset isn't an integer the same 4044 way at the end of the query as in the middle. 4045 4046Tue Dec 21 10:28:08 GMT 2010 Olly Betts <olly@survex.com> 4047 4048 * net/tcpserver.cc: If we can't bind to the specified port because it 4049 is a privileged one, exit with code 77 (EX_NOPERM) to make it easier 4050 to automatically handle failure when starting the server from a 4051 script. 4052 4053Tue Dec 21 07:43:52 GMT 2010 Olly Betts <olly@survex.com> 4054 4055 * docs/index.html: Add link to main website. 4056 4057Tue Dec 21 07:40:57 GMT 2010 Olly Betts <olly@survex.com> 4058 4059 * docs/index.html,docs/overview.html: Update links to wiki.xapian.org 4060 to point to trac.xapian.org/wiki instead. 4061 4062Mon Dec 20 10:02:06 GMT 2010 Richard Boulton <richard@tartarus.org> 4063 4064 * docs/deprecation.rst: Add note about botched removal of python's 4065 Enquire.get_matching_terms (now fully removed). 4066 4067Sun Dec 19 12:40:12 GMT 2010 Olly Betts <olly@survex.com> 4068 4069 * NEWS: Update release date. 4070 4071Sat Dec 18 13:17:52 GMT 2010 Olly Betts <olly@survex.com> 4072 4073 * NEWS,configure.ac: Update for 1.2.4. 4074 4075Wed Dec 15 11:56:22 GMT 2010 Olly Betts <olly@survex.com> 4076 4077 * NEWS: Update. 4078 4079Tue Dec 14 12:46:36 GMT 2010 Olly Betts <olly@survex.com> 4080 4081 * HACKING,tests/runtest.in: Add XAPIAN_TESTSUITE_LD_PRELOAD hook to 4082 allow libeatmydata to easily be used when running the testsuite. 4083 4084Mon Dec 13 14:28:19 GMT 2010 Olly Betts <olly@survex.com> 4085 4086 * include/xapian/: Make it more explicitly clear that PostingIterator, 4087 PositionIterator, and TermIterator's skip_to methods advance (and 4088 hence shouldn't be expected to allow you to "rewind" the stream). 4089 4090Mon Dec 13 14:18:18 GMT 2010 Olly Betts <olly@survex.com> 4091 4092 * include/xapian/database.h: "network databases" -> "remote databases". 4093 4094Mon Dec 13 14:10:08 GMT 2010 Olly Betts <olly@survex.com> 4095 4096 * net/remoteserver.cc: If the message parameter only contains a 4097 string then we can just use it as is. 4098 4099Mon Dec 13 13:34:30 GMT 2010 Olly Betts <olly@survex.com> 4100 4101 * backends/remote/remote-database.cc,common/remote-database.h, 4102 common/remoteprotocol.h,common/remoteserver.h, 4103 docs/remote_protocol.html,net/remoteserver.cc,tests/api_metadata.cc: 4104 Add support for iterating metadata keys with the remote backend. 4105 This change necessitated a minor version bump in the remote protocol. 4106 4107Sun Dec 12 12:24:48 GMT 2010 Olly Betts <olly@survex.com> 4108 4109 * weight/tradweight.cc: Fix calculation order to avoid inconsistent 4110 weights due to rounding for TradWeight(0). 4111 * tests/api_backend.cc: Add regression test tradweight2. 4112 4113Sat Dec 11 11:38:32 GMT 2010 Olly Betts <olly@survex.com> 4114 4115 * AUTHORS: Update thanks list with bug reporters and patch submitters. 4116 4117Thu Dec 09 03:59:42 GMT 2010 Olly Betts <olly@survex.com> 4118 4119 * NEWS: Update from ChangeLog. 4120 4121Thu Dec 09 03:58:20 GMT 2010 Olly Betts <olly@survex.com> 4122 4123 * net/remoteconnection.cc: Add FIXME note about using sendfile() or 4124 similar. 4125 4126Tue Dec 07 10:16:31 GMT 2010 Olly Betts <olly@survex.com> 4127 4128 * tests/queryparsertest.cc: Note 1.0.x version #515 was fixed in. 4129 4130Mon Dec 06 05:26:01 GMT 2010 Olly Betts <olly@survex.com> 4131 4132 * net/replicatetcpclient.cc: Rearrange loop to avoid duplicating code. 4133 4134Mon Dec 06 01:39:23 GMT 2010 Olly Betts <olly@survex.com> 4135 4136 * queryparser/queryparser.lemony: Fix typo so we test for OP_NEAR or 4137 OP_PHRASE, not twice for OP_NEAR, which fixes a bug with not setting 4138 the correct window size for default_op of OP_PHRASE in some cases. 4139 Factor out the "is_positional(op)" test into an inlined function to 4140 help avoid repeating this error. 4141 * tests/queryparsertest.cc: Add regression test coverage. 4142 4143Mon Dec 06 01:01:03 GMT 2010 Olly Betts <olly@survex.com> 4144 4145 * tests/queryparsertest.cc: Add coverage for OP_PHRASE as default_op. 4146 4147Sun Dec 05 12:35:32 GMT 2010 Olly Betts <olly@survex.com> 4148 4149 * weight/bm25weight.cc: Fix calculation order to avoid inconsistent 4150 weights due to rounding when BM25Weight is used with certain 4151 non-default parameter combinations. 4152 * tests/api_backend.cc: Add regression test bm25weight2. 4153 4154Sun Dec 05 12:10:36 GMT 2010 Olly Betts <olly@survex.com> 4155 4156 * backends/chert/chert_compact.cc: Add FIXME comment regarding 4157 resolve_duplicate_metadata() getting called multiple times for the 4158 same key in multipass mode. 4159 4160Sun Dec 05 12:09:32 GMT 2010 Olly Betts <olly@survex.com> 4161 4162 * include/xapian/compactor.h: Add documentation comments. 4163 4164Sun Dec 05 04:54:03 GMT 2010 Olly Betts <olly@survex.com> 4165 4166 * HACKING: Omega now wants libmagic-dev (though it's optional 4167 currently). 4168 4169Wed Nov 17 10:56:10 GMT 2010 Olly Betts <olly@survex.com> 4170 4171 * examples/quest.cc: Add command line options to allow prefixes to 4172 be specified for the QueryParser. 4173 4174Tue Nov 09 23:18:36 GMT 2010 Olly Betts <olly@survex.com> 4175 4176 * backends/brass/brass_compact.cc,backends/chert/chert_compact.cc, 4177 backends/flint/flint_compact.cc: Fix access to empty priority_queue 4178 while merging synonyms (found with _GLIBCXX_DEBUG). 4179 4180Tue Nov 09 03:23:49 GMT 2010 Olly Betts <olly@survex.com> 4181 4182 * HACKING: Drop list of platforms valgrind supports, as it takes 4183 effort to keep up to date. People can check valgrind.org for an 4184 accurate list of currently supported platforms. 4185 4186Sun Nov 07 14:13:44 GMT 2010 Olly Betts <olly@survex.com> 4187 4188 * api/compactor.cc,backends/brass/brass_compact.cc, 4189 backends/chert/chert_compact.cc,backends/flint/flint_compact.cc, 4190 bin/xapian-compact.cc,include/xapian/compactor.h: 4191 Compactor::resolve_duplicate_metadata() callback method is now passed 4192 an array of std::string plus the array length, which allows for more 4193 efficient merging that the series of pairwise merges which was 4194 required before. 4195 4196Mon Nov 01 14:47:37 GMT 2010 Richard Boulton <richard@tartarus.org> 4197 4198 * matcher/multimatch.cc,matcher/multixorpostlist.cc, 4199 matcher/multixorpostlist.h: Add debugging to print out the 4200 postlist description after recalculation of maxweight, and to 4201 MultiXorPostList methods. Fix problem shown by soaktest where 4202 the matcher was not told to recalculate the maxweight after a 4203 MultiXorPostList child reached end, which was causing an 4204 assertion failure in debug builds. (This could also have been 4205 causing some performance problems, but I have not measurements.) 4206 4207Mon Nov 01 10:34:30 GMT 2010 Richard Boulton <richard@tartarus.org> 4208 4209 * tests/soaktest/soaktest_queries.cc: Fix compilation: call c_str() 4210 on argument to atoi, now that util.h no longer defines a string 4211 wrapper. 4212 4213Sun Oct 31 10:51:12 GMT 2010 Olly Betts <olly@survex.com> 4214 4215 * queryparser/queryparser.lemony: Don't delete this in TermGroup, etc 4216 until after we have successfully constructed the Query object to 4217 return to avoid a double free in the Query construction throws an 4218 exception. Fixes ticket#515. 4219 4220Fri Oct 29 12:46:15 GMT 2010 Olly Betts <olly@survex.com> 4221 4222 * tests/api_backend.cc: Fix comment typo in previous commit. 4223 4224Fri Oct 29 12:32:47 GMT 2010 Olly Betts <olly@survex.com> 4225 4226 * matcher/multimatch.cc: Empty query now return MSet with firstitem 4227 set correctly. 4228 * tests/api_backend.cc: Extend msetfirst2 to be a regression test for 4229 this issue too. 4230 4231Fri Oct 29 12:13:51 GMT 2010 Olly Betts <olly@survex.com> 4232 4233 * api/omenquire.cc: If first is larger than get_doccount() then clamp 4234 it to avid pointlessly trying to allocate far too much memory. 4235 * tests/api_backend.cc: Regression test msetfirst2. 4236 4237Thu Oct 21 09:38:44 GMT 2010 Richard Boulton <richard@tartarus.org> 4238 4239 * tests/Makefile.am: Add zlib-vg.c to distribution tarballs. 4240 4241Wed Oct 20 11:38:13 GMT 2010 Olly Betts <olly@survex.com> 4242 4243 * examples/delve.cc: Add '-z' option to count zero-length documents. 4244 4245Mon Oct 18 10:35:46 GMT 2010 Olly Betts <olly@survex.com> 4246 4247 * bin/xapian-compact.cc: Add --quiet/-q option to suppress progress 4248 output. 4249 4250Thu Oct 14 03:51:02 GMT 2010 Olly Betts <olly@survex.com> 4251 4252 * tests/api_unicode.cc: Fix typo in previous change. 4253 4254Thu Oct 14 01:16:31 GMT 2010 Olly Betts <olly@survex.com> 4255 4256 * tests/api_unicode.cc: Expand tested cases to (hopefully) cover all 4257 conditional combinations in unicode/utf8itor.cc. 4258 4259Mon Oct 11 11:46:30 GMT 2010 Olly Betts <olly@survex.com> 4260 4261 * Makefile.am: Remove xapian-config on "make distclean" rather than 4262 "make clean", since configure builds it. Never remove man pages 4263 under "make clean". 4264 4265Mon Oct 11 11:41:32 GMT 2010 Olly Betts <olly@survex.com> 4266 4267 * tests/Makefile.am: Fix typo - CLEAN_FILES should be CLEANFILES. 4268 This means that where zlib-vg.so is used, it now gets cleaned up. 4269 4270Sun Oct 10 11:00:31 GMT 2010 Olly Betts <olly@survex.com> 4271 4272 * Makefile.am: Fix so coverage-reconfigure-maintainer-mode adds 4273 --enable-maintainer-mode rather than coverage-reconfigure! 4274 4275Sun Oct 10 10:45:38 GMT 2010 Olly Betts <olly@survex.com> 4276 4277 * Makefile.am: Factor out COVERAGE_CONFIGURE to make future changes 4278 easier. 4279 4280Sun Oct 10 09:59:01 GMT 2010 Olly Betts <olly@survex.com> 4281 4282 * Makefile.am: Add coverage-reconfigure-maintainer-mode target which 4283 is just like coverage-reconfigure except it also passes 4284 --enable-maintainer-mode. 4285 4286Sun Oct 10 07:29:23 GMT 2010 Olly Betts <olly@survex.com> 4287 4288 * tests/api_nodb.cc: Check Stem("none") too. Check 4289 Stem("").get_description(). No need to check a bogus language name 4290 here as stemlangs2 now does that. 4291 4292Sun Oct 10 07:22:41 GMT 2010 Olly Betts <olly@survex.com> 4293 4294 * tests/api_stem.cc: Test an invalid languages name with each possible 4295 byte value at the start to improve coverage of the switch in 4296 api/stem.cc. 4297 4298Sun Oct 10 06:14:42 GMT 2010 Olly Betts <olly@survex.com> 4299 4300 * unicode/utf8itor.cc: Correct comments and use bad_cont() in another 4301 place (no change to code once inlining is taken into account). 4302 4303Sun Oct 10 06:11:05 GMT 2010 Olly Betts <olly@survex.com> 4304 4305 * tests/api_unicode.cc: Improve test coverage for 4306 Utf8Iterator::calculate_sequence_length(). 4307 4308Sun Oct 10 00:33:49 GMT 2010 Olly Betts <olly@survex.com> 4309 4310 * tests/api_unicode.cc: Tweak testcase utf8iterator2 to add coverage 4311 for Utf8Iterator(const char *). 4312 4313Fri Oct 08 13:10:08 GMT 2010 Olly Betts <olly@survex.com> 4314 4315 * matcher/selectpostlist.cc,matcher/selectpostlist.h: Implement 4316 SelectPostList::check() so that check() on OP_NEAR and OP_PHRASE 4317 subqueries won't end up checking potentially huge numbers of 4318 documents. 4319 4320Fri Oct 08 12:29:50 GMT 2010 Olly Betts <olly@survex.com> 4321 4322 * tests/api_backend.cc: Add testcase phrase3 to provide coverage for 4323 SelectPostList::skip_to(). 4324 4325Fri Oct 08 10:36:18 GMT 2010 Olly Betts <olly@survex.com> 4326 4327 * matcher/orpostlist.cc,matcher/orpostlist.h: Fix performance 4328 regression in some cases caused by the introduction of 4329 OrPostList::check(). 4330 4331Thu Oct 07 03:53:11 GMT 2010 Olly Betts <olly@survex.com> 4332 4333 * tests/api_anydb.cc: Clear tout before each iteration in scaleweight1. 4334 4335Wed Oct 06 14:30:34 GMT 2010 Olly Betts <olly@survex.com> 4336 4337 * NEWS: Update from 1.0.22 and ChangeLog. 4338 4339Wed Oct 06 12:39:36 GMT 2010 Olly Betts <olly@survex.com> 4340 4341 * tests/queryparsertest.cc: Add two more testcases for having a phrase 4342 generator between prefix and term. 4343 4344Wed Oct 06 12:37:32 GMT 2010 Olly Betts <olly@survex.com> 4345 4346 * include/xapian/matchspy.h,include/xapian/postingsource.h: Remove 4347 "experimental" marker from PostingSource and ValueCountMatchSpy. 4348 4349Wed Oct 06 12:31:01 GMT 2010 Olly Betts <olly@survex.com> 4350 4351 * docs/index.html: Add links to replication and facets documents, and 4352 fix typo in serialistion document link. 4353 4354Wed Oct 06 12:12:51 GMT 2010 Olly Betts <olly@survex.com> 4355 4356 * docs/Makefile.am,docs/categorisation.rst,docs/facets.rst: Change the 4357 categorisation document to talk about facets, since that's the 4358 terminology that seems to be most widely used these days, and 4359 "categorisation" can also mean automatically assigning categories to 4360 documents. Fix up references to features which were removed or 4361 changed during development. 4362 4363Wed Oct 06 12:11:21 GMT 2010 Olly Betts <olly@survex.com> 4364 4365 * docs/internals.html: Add link to replication protocol. 4366 4367Wed Oct 06 08:36:50 GMT 2010 Olly Betts <olly@survex.com> 4368 4369 * examples/simplesearch.cc: Fix cut and paste error in usage message. 4370 4371Wed Oct 06 00:12:40 GMT 2010 Olly Betts <olly@survex.com> 4372 4373 * api/emptypostlist.cc,matcher/queryoptimiser.cc: In the query 4374 optimiser, use value range bounds to check for value ranges which 4375 must be empty. 4376 * tests/api_opvalue.cc: Add testcase valuerange5 to check this 4377 optimisation actually fires. 4378 4379Tue Oct 05 03:43:02 GMT 2010 Olly Betts <olly@survex.com> 4380 4381 * examples/simplesearch.cc: Fix cut-and-paste error - --version now 4382 reports simplesearch not simpleexpand. 4383 4384Tue Oct 05 03:41:48 GMT 2010 Olly Betts <olly@survex.com> 4385 4386 * docs/categorisation.rst: Update to use the current ValueCountMatchSpy 4387 API. 4388 4389Fri Oct 01 09:53:50 GMT 2010 Olly Betts <olly@survex.com> 4390 4391 * configure.ac: Simplify defaulting enable_documentation a little. 4392 4393Fri Oct 01 09:29:03 GMT 2010 Olly Betts <olly@survex.com> 4394 4395 * configure.ac: Default enable_sse to yes to fix build on x86. 4396 4397Fri Oct 01 09:10:34 GMT 2010 Olly Betts <olly@survex.com> 4398 4399 * configure.ac: Fix typo in SSE handling code which stopped it 4400 defaulting as intended. 4401 4402Fri Oct 01 02:00:49 GMT 2010 Olly Betts <olly@survex.com> 4403 4404 * NEWS: Update from ChangeLog. 4405 4406Fri Oct 01 01:54:41 GMT 2010 Olly Betts <olly@survex.com> 4407 4408 * backends/Makefile.mk,backends/brass/brass_compact.cc, 4409 backends/byte_length_strings.h,backends/chert/chert_compact.cc, 4410 backends/flint/flint_compact.cc: Factor out 3 copies of 4411 ByteLengthPrefixedStringItor and ByteLengthPrefixedStringItorGt into 4412 their own file. 4413 4414Fri Oct 01 01:28:57 GMT 2010 Olly Betts <olly@survex.com> 4415 4416 * backends/Makefile.mk,backends/brass/brass_compact.cc, 4417 backends/brass/brass_spelling.cc,backends/chert/chert_compact.cc, 4418 backends/chert/chert_spelling.cc,backends/flint/flint_compact.cc, 4419 backends/flint/flint_spelling.cc, 4420 backends/prefix_compressed_strings.h: Factor out 6 copies of 4421 PrefixCompressedStringItor and PrefixCompressedStringWriter and 3 4422 copies of PrefixCompressedStringItorGt into their own file. 4423 4424Thu Sep 30 15:28:49 GMT 2010 Olly Betts <olly@survex.com> 4425 4426 * NEWS: Update from ChangeLog. 4427 4428Thu Sep 30 15:26:52 GMT 2010 Olly Betts <olly@survex.com> 4429 4430 * api/compactor.cc: Need utils.h for stat with a std::string argument. 4431 4432Thu Sep 30 15:23:50 GMT 2010 Olly Betts <olly@survex.com> 4433 4434 * tests/api_compact.cc: Remove unwanted check left over from cut and 4435 pasting code from a previous testcase. 4436 4437Thu Sep 30 15:21:02 GMT 2010 Olly Betts <olly@survex.com> 4438 4439 * tests/api_compact.cc: Convert compaction tests to use the new API. 4440 4441Thu Sep 30 14:54:27 GMT 2010 Olly Betts <olly@survex.com> 4442 4443 * backends/brass/brass_compact.cc,backends/chert/chert_compact.cc, 4444 backends/flint/flint_compact.cc: Correct filenames in @file doxygen 4445 comments. 4446 4447Thu Sep 30 14:46:02 GMT 2010 Olly Betts <olly@survex.com> 4448 4449 * api/compactor.cc: Use the ChertVersion, etc classes to make sure that 4450 the new database has a new UUID rather than creating a "donor" 4451 database and then stealing its version/uuid file. 4452 4453Thu Sep 30 14:33:46 GMT 2010 Olly Betts <olly@survex.com> 4454 4455 * api/Makefile.mk,api/compactor.cc,backends/brass/Makefile.mk, 4456 backends/brass/brass_compact.cc,backends/brass/brass_compact.h, 4457 backends/chert/Makefile.mk,backends/chert/chert_compact.cc, 4458 backends/chert/chert_compact.h,backends/flint/Makefile.mk, 4459 backends/flint/flint_compact.cc,backends/flint/flint_compact.h,bin/, 4460 include/Makefile.mk,include/xapian.h,include/xapian/compactor.h: 4461 Convert compaction code into a Xapian::Compactor class, and make 4462 xapian-compact a simple wrapper around this new class. (ticket#175) 4463 4464Thu Sep 30 06:16:11 GMT 2010 Olly Betts <olly@survex.com> 4465 4466 * bin/: Eliminate uses of <iostream> in bin/xapian-compact-*.cc. 4467 4468Thu Sep 30 05:44:06 GMT 2010 Olly Betts <olly@survex.com> 4469 4470 * bin/xapian-compact-brass.cc,bin/xapian-compact-chert.cc, 4471 bin/xapian-compact-flint.cc: Fix indentation of table data 4472 arrays. 4473 4474Thu Sep 30 05:32:44 GMT 2010 Olly Betts <olly@survex.com> 4475 4476 * bin/xapian-compact-brass.cc,bin/xapian-compact-chert.cc: Only 4477 skip producing an output table when there are only some inputs 4478 for the termlist - for spellings and synonyms, we want to produce 4479 an output in this case. 4480 * tests/api_compact.cc: Add regression test compactmissingtables1. 4481 4482Wed Sep 29 11:13:18 GMT 2010 Olly Betts <olly@survex.com> 4483 4484 * common/document.h: Initialise docid to 0 when creating a document 4485 from scratch, as documented. 4486 * tests/api_none.cc: Add regression test document2. 4487 * include/xapian/document.h: Document that return value is unreliable 4488 in this case prior to the next 1.0 and 1.2 releases. 4489 4490Wed Sep 29 07:06:10 GMT 2010 Olly Betts <olly@survex.com> 4491 4492 * configure.ac: FreeBSD and OpenBSD don't need explicit dependency 4493 libraries, so set link_all_deplibs_CXX=no there. 4494 4495Wed Sep 29 07:04:20 GMT 2010 Olly Betts <olly@survex.com> 4496 4497 * xapian-config.in: Just check @link_all_deplibs_CXX@ which we adjust 4498 in configure rather than duplicating configure's list of platforms 4499 where explicit dependencies aren't required. 4500 4501Mon Sep 27 04:28:46 GMT 2010 Olly Betts <olly@survex.com> 4502 4503 * bin/xapian-compact.cc: Convert error messages to stdout/stderr to 4504 exceptions, in preparation for turning this into an API class. 4505 4506Mon Sep 27 03:50:54 GMT 2010 Olly Betts <olly@survex.com> 4507 4508 * bin/xapian-compact.cc: Add support for compacting to a stub database, 4509 which can be one of the inputs (for atomic update). 4510 * tests/api_compact.cc: Add testcases compactstub3 and compactstub4 as 4511 feature tests for this. 4512 4513Mon Sep 27 03:50:00 GMT 2010 Olly Betts <olly@survex.com> 4514 4515 * tests/api_compact.cc: Suppress output from xapian-compact in 4516 compactstub2 (which I'd disabled for debugging). 4517 4518Sun Sep 26 13:59:20 GMT 2010 Olly Betts <olly@survex.com> 4519 4520 * bin/xapian-compact.cc: Extend to work on stub database files too. 4521 * tests/api_compact.cc: Add feature test compactstub2. 4522 4523Sun Sep 26 13:28:45 GMT 2010 Olly Betts <olly@survex.com> 4524 4525 * bin/xapian-compact.cc: Inputs can now be stub database directories, 4526 in which case the databases in the stub are used as inputs. 4527 * tests/api_compact.cc: Add feature test compactstub1. 4528 4529Sun Sep 26 11:11:49 GMT 2010 Olly Betts <olly@survex.com> 4530 4531 * xapian-config.in: Add --static option which makes other options 4532 report values for static linking. 4533 4534Tue Sep 21 10:43:17 GMT 2010 Olly Betts <olly@survex.com> 4535 4536 * queryparser/queryparser.lemony,tests/queryparsertest.cc: Allow phrase 4537 generators between a probabilistic prefix and the term itself. 4538 4539Thu Sep 09 11:18:47 GMT 2010 Olly Betts <olly@survex.com> 4540 4541 * INSTALL: Raise recommended GCC version from 3.3 to 4.1, since that's 4542 the oldest we regularly test with. 4543 4544Thu Sep 09 11:14:03 GMT 2010 Olly Betts <olly@survex.com> 4545 4546 * HACKING: Debian etch was discontinued 6 months ago, so it's no longer 4547 useful to document packages for developing Xapian on it. 4548 4549Thu Sep 09 03:15:00 GMT 2010 Olly Betts <olly@survex.com> 4550 4551 * docs/deprecation.rst: Actually write down our guidelines for 4552 supporting other software. 4553 4554Thu Sep 09 00:20:16 GMT 2010 Olly Betts <olly@survex.com> 4555 4556 * docs/replication.rst: Adjust text to reflect conclusions about the 4557 issues in ticket#434. 4558 4559Thu Sep 09 00:10:03 GMT 2010 Olly Betts <olly@survex.com> 4560 4561 * docs/replication.rst: Don't suggest using a symlink to switch between 4562 databases - a stub database is much better. 4563 4564Thu Sep 09 00:07:02 GMT 2010 Olly Betts <olly@survex.com> 4565 4566 * docs/replication.rst: Assume xapian tools are installed on PATH not 4567 in the current directory for example commands. 4568 4569Thu Sep 09 00:05:22 GMT 2010 Olly Betts <olly@survex.com> 4570 4571 * docs/replication.rst: Fix a typo. 4572 4573Mon Sep 06 07:10:02 GMT 2010 Olly Betts <olly@survex.com> 4574 4575 * configure.ac: Add support for --enable-sse=sse and --enable-sse=sse2 4576 to allow control of which SSE instructions to use. 4577 4578Fri Sep 03 13:08:53 GMT 2010 Richard Boulton <richard@tartarus.org> 4579 4580 * bin/xapian-replicate.cc: If a fullcopy was attempted, but was not 4581 put live, display an explanatory message (if verbose is true). 4582 4583Fri Sep 03 05:54:09 GMT 2010 Olly Betts <olly@survex.com> 4584 4585 * backends/chert/chert_modifiedpostlist.h, 4586 backends/flint/flint_modifiedpostlist.h,tests/: Fixes required to 4587 build on OpenBSD 4.5 with GCC 3.3.5. 4588 4589Tue Aug 31 14:37:44 GMT 2010 Olly Betts <olly@survex.com> 4590 4591 * include/xapian/queryparser.h: Document cases where FLAG_WILDCARD and 4592 FLAG_PARTIAL aren't currently supported. 4593 4594Mon Aug 30 06:27:46 GMT 2010 Olly Betts <olly@survex.com> 4595 4596 * configure.ac: Actaully make autoconf 2.64 a hard minimum requirement 4597 (as HACKING already documented). 4598 * HACKING,NEWS,configure.ac: autoconf 2.67 is now used to bootstrap. 4599 4600Mon Aug 30 06:26:03 GMT 2010 Olly Betts <olly@survex.com> 4601 4602 * NEWS: Update from ChangeLog. 4603 4604Mon Aug 30 06:04:13 GMT 2010 Olly Betts <olly@survex.com> 4605 4606 * configure.ac: Enable use of SSE maths on x86 by default with Sun's 4607 compiler. 4608 4609Sat Aug 28 16:04:45 GMT 2010 Olly Betts <olly@survex.com> 4610 4611 * api/omdatabase.cc,include/xapian/queryparser.h, 4612 tests/harness/backendmanager.h: None of the workarounds we have 4613 which are conditional on __SUNPRO_CC are needed with Sun C++ 4614 version 5.8, so only enable them for older versions (which will 4615 mean we can drop these workarounds with confidence once older 4616 versions are dropped by Sun/Oracle, or once we can find out that 4617 they have been - currently all I've managed to discover is that 4618 version 5.0 reached "end of service life" in 6/2006). 4619 4620Sat Aug 28 15:33:14 GMT 2010 Olly Betts <olly@survex.com> 4621 4622 * configure.ac,tests/api_replicate.cc: Solaris < 10 doesn't have 4623 setenv() so we have to use putenv() there. And the value we set 4624 XAPIAN_MAX_CHANGESETS to is always constant currently, so set it 4625 using constant strings generated by a macro. 4626 4627Sat Aug 28 12:35:25 GMT 2010 Olly Betts <olly@survex.com> 4628 4629 * configure.ac: Beef up the test for whether -lm is required and add 4630 a special case to force it to be for Sun's C++ compiler - there's 4631 some interaction with libtool and/or shared objects which means 4632 that the configure test doesn't think -lm is needed here when it 4633 is. 4634 4635Sat Aug 28 10:59:11 GMT 2010 Olly Betts <olly@survex.com> 4636 4637 * api/matchspy.cc,common/const_database_wrapper.cc,net/tcpclient.cc, 4638 tests/api_replicate.cc,tests/harness/backendmanager_remotetcp.cc, 4639 tests/harness/testsuite.cc,tests/perftest/runprocess.cc, 4640 unicode/utf8itor.cc: Fix to compile with Sun C++. 4641 4642Sat Aug 28 10:30:08 GMT 2010 Olly Betts <olly@survex.com> 4643 4644 * HACKING,PLATFORMS: Move PLATFORMS information to the wiki and replace 4645 with a pointer. 4646 4647Sat Aug 28 03:15:47 GMT 2010 Olly Betts <olly@survex.com> 4648 4649 * matcher/queryoptimiser.cc: Need to avoid excess precision on m68k 4650 when targetting models 68010, 68020, 68030 as well as 68000. 4651 4652Tue Aug 24 05:54:27 GMT 2010 Olly Betts <olly@survex.com> 4653 4654 * configure.ac: Update for 1.2.3. 4655 4656Tue Aug 24 05:52:47 GMT 2010 Olly Betts <olly@survex.com> 4657 4658 * NEWS: Update from ChangeLog. 4659 4660Mon Aug 16 16:46:19 GMT 2010 Olly Betts <olly@survex.com> 4661 4662 * common/closefrom.cc: Use /dev/fd on Mac OS X. 4663 4664Mon Aug 16 16:18:26 GMT 2010 Olly Betts <olly@survex.com> 4665 4666 * common/closefrom.cc: Need safeerrno.h and safeunistd.h on non-Linux 4667 platforms too. 4668 4669Mon Aug 16 15:47:48 GMT 2010 Olly Betts <olly@survex.com> 4670 4671 * backends/flint_lock.cc,common/Makefile.mk,common/closefrom.cc, 4672 common/closefrom.h,configure.ac,net/progclient.cc: Use closefrom() 4673 if available, otherwise provide our own implementation (optimised 4674 to some extent for many platforms). 4675 4676Sun Aug 15 12:43:04 GMT 2010 Olly Betts <olly@survex.com> 4677 4678 * AUTHORS: Update. 4679 4680Sun Aug 15 12:11:26 GMT 2010 Olly Betts <olly@survex.com> 4681 4682 * xapian-core.spec.in: Update BuildRequires to specify libuuid-devel 4683 instead of e2fsprogs-devel. 4684 4685Sun Aug 15 11:30:05 GMT 2010 Olly Betts <olly@survex.com> 4686 4687 * HACKING,INSTALL,common/safeuuid.h,common/win32_uuid.cc, 4688 common/win32_uuid.h,configure.ac: libuuid moved from e2fsprogs to 4689 util-linux-ng about a year ago, so update documentation, comments, 4690 and configure error messages to reflect this. Issue reported by 4691 David Jeske on xapian-devel list. 4692 4693Sun Aug 15 07:58:51 GMT 2010 Olly Betts <olly@survex.com> 4694 4695 * tests/harness/backendmanager_remotetcp.cc: Under __WIN32__, we need 4696 <io.h> for _open_osfhandle() (ticket#495). 4697 4698Sun Aug 15 07:10:25 GMT 2010 Olly Betts <olly@survex.com> 4699 4700 * common/realtime.h: MSVC doesn't cope with a prototype at function 4701 scope with a global namespace qualification (ticket#495). 4702 4703Wed Aug 04 10:44:08 GMT 2010 Olly Betts <olly@survex.com> 4704 4705 * backends/flint_lock.cc,backends/multi/multi_alltermslist.cc, 4706 bin/xapian-chert-update.cc,queryparser/termgenerator.cc, 4707 queryparser/termgenerator_internal.cc: Fix more incorrect @file 4708 directives. 4709 4710Wed Aug 04 09:19:10 GMT 2010 Olly Betts <olly@survex.com> 4711 4712 * matcher/localsubmatch.h,queryparser/termgenerator_internal.h: Fix 4713 incorrect @file doxygen directives. 4714 4715Tue Aug 03 14:42:56 GMT 2010 Olly Betts <olly@survex.com> 4716 4717 * tests/harness/fdtracker.h: Fix filename in @file. 4718 4719Tue Aug 03 14:32:45 GMT 2010 Olly Betts <olly@survex.com> 4720 4721 * common/contiguousalldocspostlist.h,common/unaligned.h: Fix include 4722 guards to match header filename (cosmetic issues only). 4723 4724Mon Aug 02 12:38:59 GMT 2010 Olly Betts <olly@survex.com> 4725 4726 * backends/brass/brass_table.cc,backends/brass/brass_values.cc, 4727 backends/chert/chert_table.cc,backends/chert/chert_values.cc, 4728 backends/flint/flint_alldocspostlist.cc, 4729 backends/remote/remote-document.cc,matcher/multimatch.cc, 4730 matcher/remotesubmatch.cc,net/progclient.cc: Use new Literal() 4731 feature in debug logging of function calls. 4732 4733Mon Aug 02 12:08:42 GMT 2010 Olly Betts <olly@survex.com> 4734 4735 * common/pretty.h: Add Literal() class to allow bypassing the pretty 4736 printer for interspersing literal strings. 4737 4738Sun Aug 01 10:19:38 GMT 2010 Olly Betts <olly@survex.com> 4739 4740 * api/omdatabase.cc: Database::get_spelling_suggestion() will now 4741 suggest a correction even if the passed word is in the dictionary, 4742 provided the correction has at least the same frequency. Partly 4743 addresses #225. 4744 * queryparser/queryparser.lemony: Check spelling even if term is in 4745 the database. 4746 * docs/spelling.rst: Update to reflect these changes. 4747 * tests/api_spelling.cc,tests/queryparsertest.cc: Add test coverage for 4748 these changes. 4749 4750Tue Jul 27 15:24:56 GMT 2010 Tim Brody <tdb2@ecs.soton.ac.uk> 4751 4752 * xapian-core.spec.in: Add xapian-metadata and cmake related files to 4753 RPM packaging. 4754 4755Thu Jul 22 07:13:12 GMT 2010 Olly Betts <olly@survex.com> 4756 4757 * net/remoteconnection.cc: Wrap line. 4758 4759Thu Jul 22 07:11:23 GMT 2010 Olly Betts <olly@survex.com> 4760 4761 * common/remoteserver.h,net/remoteserver.cc: Pass 1.0 for the end time 4762 when relaying a NetworkTimeoutError, not RealTime::now() - any time 4763 in the past will do, we just want the operation to time out if it 4764 would block. Removed related FIXME which is already resolved. 4765 4766Wed Jul 21 18:00:08 GMT 2010 Olly Betts <olly@survex.com> 4767 4768 * unicode/tclUniData.cc: Fix comment - this is Unicode 5.2 data, not 4769 5.1. 4770 4771Thu Jul 15 13:45:05 GMT 2010 Olly Betts <olly@survex.com> 4772 4773 * common/realtime.h:Explicitly specify global namespace for 4774 xapian_sleep_milliseconds prototype as MSVC seems to need this. 4775 4776Thu Jul 15 13:03:13 GMT 2010 Olly Betts <olly@survex.com> 4777 4778 * queryparser/queryparser.lemony: Fix handling of groups of terms which 4779 are all stopwords - in situations where this causes a problem we now 4780 disable stopword checks for such groups. (ticket#245) 4781 * tests/queryparsertest.cc: Add regression testcases. 4782 4783Thu Jul 15 08:13:03 GMT 2010 Olly Betts <olly@survex.com> 4784 4785 * common/fileutils.cc: Fix reversed memcmp() test. 4786 4787Sun Jul 11 14:59:06 GMT 2010 Olly Betts <olly@survex.com> 4788 4789 * common/fileutils.cc: Factor out UNCW path check into a helper 4790 function. 4791 4792Sun Jul 11 14:56:27 GMT 2010 Olly Betts <olly@survex.com> 4793 4794 * common/fileutils.cc,tests/Makefile.am,tests/unittest.cc: Move the 4795 tests of resolve_relative_path() into a new "unittest" program so 4796 they actually are run by "make check". (ticket#243) 4797 4798Sun Jul 11 13:14:24 GMT 2010 Olly Betts <olly@survex.com> 4799 4800 * common/fileutils.cc: Support the \\?\ path syntax. 4801 4802Sat Jul 10 15:49:08 GMT 2010 Olly Betts <olly@survex.com> 4803 4804 * common/fileutils.cc,common/fileutils.h: Fix resolve_relative_path() 4805 to handle UNC paths. 4806 4807Sat Jul 10 15:27:48 GMT 2010 Olly Betts <olly@survex.com> 4808 4809 * common/fileutils.cc: -D__WIN32__ on the g++ command line works for 4810 testing on Linux, so no need to have that in the code. Add a couple 4811 of UNC path test cases which pass, and a commented-out one which 4812 fails. 4813 4814Sat Jul 10 14:58:35 GMT 2010 Olly Betts <olly@survex.com> 4815 4816 * common/fileutils.cc,common/fileutils.h: We use these routines to 4817 resolve a relative path (in a stub database file) in terms of a 4818 second path (the filename of that file), so just instead a 4819 routine to do exactly that, which is easier to code and more 4820 efficient. The new implementation fixes several bugs with 4821 Microsoft Windows paths. Some testcases (currently not used) 4822 are now present in fileutils.cc (ticket#243). 4823 * backends/dbfactory.cc: Use the new API. 4824 4825Fri Jul 09 07:42:31 GMT 2010 Olly Betts <olly@survex.com> 4826 4827 * tests/perftest/perftest.cc: I missed a use of atoi() on std::string 4828 but just call .cstr() on the string instead of dragging in utils.h. 4829 4830Fri Jul 09 04:39:40 GMT 2010 Olly Betts <olly@survex.com> 4831 4832 * common/utils.cc,common/utils.h: Remove unused std::string to const 4833 char * wrappers for standard functions, and remove the only use of 4834 rmdir()'s wrapper. 4835 4836Thu Jul 08 15:18:04 GMT 2010 Olly Betts <olly@survex.com> 4837 4838 * api/omenquire.cc: Xapian::ESet is a reference counted handle, so it 4839 is efficient to return by value - remove FIXME which suggests we 4840 should avoid doing so. 4841 4842Thu Jul 08 15:17:20 GMT 2010 Olly Betts <olly@survex.com> 4843 4844 * api/omqueryinternal.cc: Update FIXMEs - it's too late to fix stuff 4845 in 1.1.x! 4846 4847Thu Jul 08 15:13:47 GMT 2010 Olly Betts <olly@survex.com> 4848 4849 * api/omenquire.cc: Remove FIXMEs about debug logging which have been 4850 addressed by the fairly recent debug logging improvements. 4851 4852Thu Jul 08 15:07:07 GMT 2010 Olly Betts <olly@survex.com> 4853 4854 * api/keymaker.cc: Fix comment typos. 4855 4856Thu Jul 08 14:50:59 GMT 2010 Olly Betts <olly@survex.com> 4857 4858 * api/replication.cc,backends/brass/,backends/chert/, 4859 backends/dbfactory_remote.cc,backends/flint/, 4860 backends/remote/remote-database.cc,bin/xapian-progsrv.cc, 4861 bin/xapian-tcpsrv.cc,common/,net/,tests/perftest/perftest.cc, 4862 tests/perftest/perftest.h: Replace use of OmTime with a double 4863 holding a count in seconds since the epoch. 4864 4865Thu Jul 08 12:35:40 GMT 2010 Olly Betts <olly@survex.com> 4866 4867 * net/tcpclient.cc: Retry select() if it fails with EINTR while waiting 4868 for connect(), and discriminate cases with same failure message to 4869 aid debugging. 4870 4871Thu Jul 08 05:09:18 GMT 2010 Olly Betts <olly@survex.com> 4872 4873 * queryparser/queryparser.lemony: Remove comment left over from the 4874 "boolean exclusive" work. 4875 4876Wed Jul 07 13:18:17 GMT 2010 Olly Betts <olly@survex.com> 4877 4878 * include/xapian/types.h: Fix documentation comment for Xapian::timeout 4879 type - it holds a time interval in milliseconds not microseconds 4880 (the API docs for the methods which use it explicitly document this 4881 correctly). 4882 4883Tue Jul 06 15:17:09 GMT 2010 Olly Betts <olly@survex.com> 4884 4885 * tests/queryparsertest.cc: Fix formatting. 4886 4887Tue Jul 06 14:13:03 GMT 2010 Olly Betts <olly@survex.com> 4888 4889 * tests/perftest/perftest.cc: Use str(OmTime::as_double()) rather than 4890 trying to assemble a string of a floating point number from strings 4891 of the sec and usec values. 4892 4893Tue Jul 06 14:03:30 GMT 2010 Olly Betts <olly@survex.com> 4894 4895 * common/debuglog.h,common/remote-database.h: Remove unused '#include 4896 "omtime.h"'. 4897 * backends/remote/remote-database.cc: Add explicit '#include 4898 "omtime.h"'. 4899 4900Mon Jul 05 11:40:42 GMT 2010 Olly Betts <olly@survex.com> 4901 4902 * queryparser/queryparser.lemony: Restore iterator to start of 4903 where we tried to parse a range if we decide it might be a filter 4904 term instead. Clear the error if we decide it is a filter. 4905 * tests/queryparsertest.cc: Fix expected test output from 4906 qp_value_range4 testcase. 4907 4908Mon Jul 05 06:46:16 GMT 2010 Olly Betts <olly@survex.com> 4909 4910 * queryparser/queryparser.lemony: Fix to be smarter about handling a 4911 boolean filter term containing ".." in the presence of 4912 valuerangeprocessors. 4913 * tests/queryparsertest.cc: Add regression test qp_value_range4. 4914 4915Mon Jul 05 04:10:08 GMT 2010 Olly Betts <olly@survex.com> 4916 4917 * queryparser/queryparser.lemony,queryparser/queryparser.lt: Clean up 4918 how value ranges are handled to do the checking of the range in the 4919 lexer, which then passes a single token (RANGE) to the parser 4920 (instead of a RANGE_START token which is always followed by a 4921 RANGE_END token). 4922 4923Fri Jul 02 12:32:37 GMT 2010 Olly Betts <olly@survex.com> 4924 4925 * configure.ac: Don't pass -mtune=generic unless GCC >= 4.2 is in use 4926 (ticket#492). 4927 4928Wed Jun 30 10:54:15 GMT 2010 Olly Betts <olly@survex.com> 4929 4930 * backends/brass/brass_postlist.cc: Remove unnecessary NULL check. 4931 Identified by Coverity's Scan. 4932 * backends/chert/chert_postlist.cc: Same change for chert. 4933 4934Tue Jun 29 12:17:16 GMT 2010 Olly Betts <olly@survex.com> 4935 4936 * backends/brass/brass_chunkedlisttable.h, 4937 backends/chert/chert_chunkedlisttable.h: Remove unused files. 4938 4939Sun Jun 27 04:31:06 GMT 2010 Olly Betts <olly@survex.com> 4940 4941 * NEWS: Update for 1.2.2. 4942 4943Sun Jun 27 04:22:28 GMT 2010 Olly Betts <olly@survex.com> 4944 4945 * examples/delve.cc: Show the database's UUID. 4946 4947Sun Jun 27 03:30:16 GMT 2010 Olly Betts <olly@survex.com> 4948 4949 * NEWS.SKELETON: Add "tools" section. 4950 4951Sun Jun 27 03:03:57 GMT 2010 Olly Betts <olly@survex.com> 4952 4953 * configure.ac: Update for 1.2.2. 4954 4955Sat Jun 26 15:55:45 GMT 2010 Olly Betts <olly@survex.com> 4956 4957 * NEWS: Create from ChangeLog. 4958 4959Sat Jun 26 15:36:37 GMT 2010 Olly Betts <olly@survex.com> 4960 4961 * NEWS.SKELETON: Add template for NEWS entry. 4962 4963Sat Jun 26 11:09:03 GMT 2010 Olly Betts <olly@survex.com> 4964 4965 * backends/brass/brass_table.cc: Sync the table right after the base 4966 file, which allows more time for the table changes to be written, 4967 and doing the sync together may be more efficient with some Linux 4968 kernel versions. 4969 * backends/chert/chert_table.cc: Same change for chert. 4970 4971Sat Jun 26 06:46:39 GMT 2010 Olly Betts <olly@survex.com> 4972 4973 * HACKING: Reorder the release checklist. 4974 4975Thu Jun 24 08:03:18 GMT 2010 Olly Betts <olly@survex.com> 4976 4977 bin/xapian-check.cc: Don't try to check doclengths are consistent 4978 between the postlist and termlist tables if it would use more than 4979 1GB of memory, and handle std::bad_alloc or std::length_error. This 4980 issue affects sup users, as sup allocates docids such that they are 4981 sparse and large docids can easily occur. 4982 4983Wed Jun 23 15:38:25 GMT 2010 Olly Betts <olly@survex.com> 4984 4985 * include/xapian/weight.h: Revert Xapian::Weight's copy ctor back 4986 to protected as GCC 4.1 fails to compile subclasses when it is 4987 private (this appears to be a compiler bug). 4988 4989Wed Jun 23 07:31:19 GMT 2010 Olly Betts <olly@survex.com> 4990 4991 * AUTHORS: Thank people who reported bugs fixed in 1.2.1. 4992 4993Wed Jun 23 06:52:54 GMT 2010 Olly Betts <olly@survex.com> 4994 4995 * xapian-core.spec.in: Update for 1.2.x - add e2fsprogs-devel to 4996 BuildRequires and add new files. 4997 4998Wed Jun 23 05:00:34 GMT 2010 Olly Betts <olly@survex.com> 4999 5000 * HACKING: Wording tweak. 5001 5002Wed Jun 23 04:11:30 GMT 2010 Olly Betts <olly@survex.com> 5003 5004 * tests/harness/testsuite.cc: Need <cstdio> for sprintf(). Fixes 5005 compilation error for some platforms and/or compilers (my guess would 5006 be GCC 4.5 - it builds OK with GCC 4.4). (ticket#489) 5007 5008Tue Jun 22 14:45:37 GMT 2010 Olly Betts <olly@survex.com> 5009 5010 * NEWS,configure.ac: Update for 1.2.1. 5011 5012Mon Jun 21 16:00:22 GMT 2010 Olly Betts <olly@survex.com> 5013 5014 * NEWS: Sync with 1.0.21 and update from ChangeLog. 5015 5016Mon Jun 21 15:15:50 GMT 2010 Olly Betts <olly@survex.com> 5017 5018 * tests/api_replicate.cc: Unix putenv() requires the buffer passed to 5019 remain valid, as it stores it directly in the environment. It's 5020 unclear from MSDN if _putenv() does the same, but _putenv_s() must 5021 allocate a copy since it needs to have an '=' in, so use that 5022 instead. It also has an interface much like setenv(), so the code 5023 looks more similar. 5024 5025Mon Jun 21 06:07:42 GMT 2010 Olly Betts <olly@survex.com> 5026 5027 * queryparser/queryparser.cc: Add missing const. 5028 5029Mon Jun 21 05:21:32 GMT 2010 Olly Betts <olly@survex.com> 5030 5031 * queryparser/queryparser.cc: Update to match header ABI fix. 5032 5033Mon Jun 21 03:52:41 GMT 2010 Olly Betts <olly@survex.com> 5034 5035 * include/xapian/queryparser.h: QueryParser::add_boolean_prefix() now 5036 uses two overloaded forms instead of a default parameter so that we 5037 don't break the ABI. 5038 5039Fri Jun 18 16:56:59 GMT 2010 Olly Betts <olly@survex.com> 5040 5041 * AUTHORS: Add 1.0.21 bug reporters. 5042 5043Fri Jun 18 05:52:00 GMT 2010 Olly Betts <olly@survex.com> 5044 5045 * include/xapian/queryparser.h,queryparser/queryparser.cc, 5046 queryparser/queryparser.lemony,queryparser/queryparser_internal.h: 5047 Add new optional parameter to QueryParser::add_boolean_prefix() to 5048 allow the user to indicate a prefix isn't "exclusive" and that 5049 OP_AND should be used to combine multiple instances. Fixes 5050 ticket#402. This change should also improve efficiency as it 5051 avoids copying the lists of prefixes and compares them more 5052 efficiently. 5053 5054Fri Jun 18 02:51:11 GMT 2010 Olly Betts <olly@survex.com> 5055 5056 * include/xapian/queryparser.h: Fix doccomment typo. 5057 5058Thu Jun 17 14:04:35 GMT 2010 Olly Betts <olly@survex.com> 5059 5060 * include/xapian/weight.h: Xapian::Weight's copy ctor is now 5061 private rather than protected. This is an API and ABI compatible 5062 change since there's no definition so a subclass which tried to 5063 access it before would fail to link. 5064 5065Thu Jun 17 13:00:47 GMT 2010 Olly Betts <olly@survex.com> 5066 5067 * queryparser/queryparser.lemony: Missing changes from previous commit. 5068 5069Thu Jun 17 11:37:30 GMT 2010 Olly Betts <olly@survex.com> 5070 5071 * api/valuerangeproc.cc: Add support for open-ended ranges 5072 (ticket#480). 5073 * docs/queryparser.html,docs/valueranges.rst: Document. 5074 * tests/queryparsertest.cc: Add feature tests. 5075 5076Thu Jun 17 06:15:24 GMT 2010 Olly Betts <olly@survex.com> 5077 5078 * queryparser/queryparser.lemony: Switch out of IN_GROUP mode when we 5079 emit a WILDCARD. Fixeds bug#484. 5080 * tests/queryparsertest.cc: Add regression testcase to wildcard1. 5081 5082Thu Jun 17 02:42:16 GMT 2010 Olly Betts <olly@survex.com> 5083 5084 * tests/api_backend.cc: Rename failedadd1 to failedreplace1 as it's the 5085 replace which fails really. Add failedreplace2 which adds explicit 5086 coverage for the case of a failed replace when the database isn't 5087 empty to start with. 5088 5089Tue Jun 15 12:45:36 GMT 2010 Olly Betts <olly@survex.com> 5090 5091 * include/xapian/queryparser.h: Note in the description of 5092 set_database() what the database is used for. 5093 5094Tue Jun 15 12:26:12 GMT 2010 Olly Betts <olly@survex.com> 5095 5096 * include/xapian/queryparser.h: Fix formatting of bullet list. 5097 5098Mon Jun 14 17:02:10 GMT 2010 Olly Betts <olly@survex.com> 5099 5100 * backends/brass/brass_table.cc,backends/chert/chert_table.cc, 5101 backends/flint/flint_table.cc: cancel() now marks the Btree as 5102 unmodified. 5103 * tests/api_backend.cc: Add regression test failedadd1. 5104 5105Sun Jun 13 16:07:49 GMT 2010 Olly Betts <olly@survex.com> 5106 5107 * common/Makefile.mk,common/safeuuid.h,configure.ac: Fix mingw build to 5108 use __WIN32__ UUID API. 5109 5110Sun Jun 13 12:25:24 GMT 2010 Olly Betts <olly@survex.com> 5111 5112 * tests/perftest/freemem.cc: Fix whitespace to match Omega's version. 5113 5114Sun Jun 13 11:52:24 GMT 2010 Olly Betts <olly@survex.com> 5115 5116 * tests/perftest/freemem.cc: Merge in changes from omega's version. 5117 Clean up whitespace issues. Put the __WIN32__ case last, as we 5118 tend to elsewhere (since most people reading the code probably 5119 want to see the other version). 5120 5121Sun Jun 13 11:32:30 GMT 2010 Olly Betts <olly@survex.com> 5122 5123 * tests/perftest/perftest.cc: "MSWin32" isn't the OS name. Also, 5124 prefer += to build up a string. 5125 5126Sat Jun 12 09:31:28 GMT 2010 Olly Betts <olly@survex.com> 5127 5128 * tests/api_percentages.cc: Note that 1.0.x returned 4% for the top hit 5129 in topercent5, so checking it gets at least 50% is a regression test 5130 for that issue. 5131 5132Fri Jun 11 15:38:26 GMT 2010 Olly Betts <olly@survex.com> 5133 5134 * configure.ac: -march=pentium4 doesn't seem to give a measurable 5135 speed-up or size reduction (from Richard's tests) and it carries a 5136 small risk of introducing instructions which don't work on some 5137 obscure CPU which implements SSE2, so drop it. 5138 5139Fri Jun 11 15:25:16 GMT 2010 Olly Betts <olly@survex.com> 5140 5141 * weight/bm25weight.cc: Stop forcing the wdf_max value to be at least 5142 one in BM25Weight::get_maxpart() - this is no longer needed now we 5143 calculate percentages based on the number of matching subqueries, and 5144 it is more natural for a non-existent term to get zero weight (ditto 5145 for a term which always has wdf = 0. 5146 * tests/api_anydb.cc: Change qterminfo1 to check that a non-existent 5147 term gets zero weight (previously we checked that it got a non-zero 5148 weight, but really we want to ensure that it contributes to 5149 percentage calculations, which new test topercent5 now does). 5150 5151Fri Jun 11 15:19:29 GMT 2010 Olly Betts <olly@survex.com> 5152 5153 * tests/api_percentages.cc: Add topercent5 testcase which checks that 5154 an OR search including an non-existent term doesn't get 100%, and 5155 that the non-existent term doesn't score more than terms which do 5156 exist. 5157 5158Fri Jun 11 14:15:07 GMT 2010 Olly Betts <olly@survex.com> 5159 5160 * matcher/queryoptimiser.cc: When using SSE FP instructions on x86 we 5161 can disable the use of volatile since there are no excess precision 5162 issues to work around. 5163 5164Fri Jun 11 08:21:04 GMT 2010 Olly Betts <olly@survex.com> 5165 5166 * configure.ac: Put SSE flags in AM_CXXFLAGS not CXXFLAGS. 5167 5168Fri Jun 11 07:08:01 GMT 2010 Olly Betts <olly@survex.com> 5169 5170 * configure.ac: Default to building with SSE FP instructions for x86. 5171 This avoids issues with excess precision and it a bit faster too. 5172 Should fix ticket#487. 5173 5174Thu Jun 10 15:15:33 GMT 2010 Olly Betts <olly@survex.com> 5175 5176 * NEWS: Update from ChangeLog. 5177 5178Thu Jun 10 15:00:12 GMT 2010 Olly Betts <olly@survex.com> 5179 5180 * HACKING: Capitalise "Fedora". 5181 5182Thu Jun 10 11:27:18 GMT 2010 Olly Betts <olly@survex.com> 5183 5184 * INSTALL: Reword UUID section - list platforms where we make use of 5185 built-in APIs first, give the URL for e2fsprogs home page, and 5186 give the package name for Debian and Ubuntu. 5187 5188Thu Jun 10 01:08:21 GMT 2010 Olly Betts <olly@survex.com> 5189 5190 * HACKING: libtool 2.2.10 used for snapshots and releases now. 5191 5192Thu Jun 10 00:21:49 GMT 2010 Olly Betts <olly@survex.com> 5193 5194 * configure.ac,include/xapian/version_h.cc, 5195 include/xapian/visibility.h: We do need to have the visibility 5196 annotations on for code compiling against the library, so substitute 5197 the probed value of XAPIAN_ENABLE_VISIBILITY into <xapian/version.h> 5198 so it is available. 5199 5200Wed Jun 09 11:31:14 GMT 2010 Olly Betts <olly@survex.com> 5201 5202 * INSTALL,configure.ac,include/xapian/visibility.h: Control use of 5203 GCC's visibility support with defined(XAPIAN_ENABLE_VISIBILITY) 5204 instead of !defined(XAPIAN_DISABLE_VISIBILITY), so it is only used 5205 when building the library, not when building code which uses it. 5206 Add check to configure that GCC actually supports visibility for 5207 the platform being built for, which fixes compiler warnings with 5208 platforms which don't (such as Mac OS X and mingw). 5209 5210Wed Jun 09 11:17:58 GMT 2010 Olly Betts <olly@survex.com> 5211 5212 * HACKING: "private", etc as "access specifiers", not "visibility 5213 specifiers". 5214 5215Wed Jun 09 11:04:55 GMT 2010 Olly Betts <olly@survex.com> 5216 5217 * HACKING: Note flex and bison needed to build doxygen. 5218 5219Wed Jun 09 05:25:10 GMT 2010 Olly Betts <olly@survex.com> 5220 5221 * common/win32_uuid.cc: Fix signed/unsigned comparison warning on 5222 mingw. 5223 5224Tue Jun 08 16:56:26 GMT 2010 Olly Betts <olly@survex.com> 5225 5226 * common/safewinsock2.h: Reword #error to avoid single quote which 5227 gives compilation warning with some GCC 4.2.1 on mingw. 5228 5229Tue Jun 08 14:32:28 GMT 2010 Olly Betts <olly@survex.com> 5230 5231 * backends/brass/brass_check.h,backends/chert/chert_check.h, 5232 backends/flint/flint_check.h: Remove mutable from std::ostream & 5233 member - mutable doesn't make sense for a reference. 5234 5235Tue Jun 08 13:03:56 GMT 2010 Olly Betts <olly@survex.com> 5236 5237 * common/,matcher/,weight/weightinternal.cc: Replace the still rather 5238 contorted mechanism for accumulating rel termfreqs for local 5239 databases with a simpler mechanism which is more efficient in both 5240 space and time. 5241 5242Mon Jun 07 16:31:24 GMT 2010 Olly Betts <olly@survex.com> 5243 5244 * api/maptermlist.h,api/matchspy.cc,api/termlist.cc,backends/brass/, 5245 backends/chert/,backends/flint/, 5246 backends/inmemory/inmemory_database.cc, 5247 backends/inmemory/inmemory_database.h, 5248 backends/multi/multi_termlist.cc,backends/multi/multi_termlist.h, 5249 backends/remote/net_termlist.cc,backends/remote/net_termlist.h, 5250 common/ortermlist.h,common/termlist.h,expand/ortermlist.cc: Remove 5251 default OrTermList::skip_to() implementation and implement skip_to() 5252 in each class instead, as this allows a slightly more efficient 5253 implementation, and also avoids problems with calling skip_to() as 5254 the first operation for the many subclasses which have a "started" 5255 flag, which OrTermList::skip_to() won't set. 5256 5257Mon Jun 07 06:08:53 GMT 2010 Olly Betts <olly@survex.com> 5258 5259 * queryparser/queryparser.lemony: Rename TermList class to Terms to 5260 avoid confusion with the TermList typedef used elsewhere. Add 5261 documentation comments for Terms and TermGroup classes. 5262 5263Mon Jun 07 02:18:05 GMT 2010 Olly Betts <olly@survex.com> 5264 5265 * backends/brass/: Switch to using io_utils instead of brass_io. 5266 5267Mon Jun 07 02:16:30 GMT 2010 Olly Betts <olly@survex.com> 5268 5269 * AUTHORS: Add Arvid Ephraim Picciani for help fixing bootstrap for 5270 BusyBox sha1sum. 5271 5272Mon Jun 07 01:16:57 GMT 2010 Olly Betts <olly@survex.com> 5273 5274 * common/io_utils.cc: Whitespace tweak. 5275 5276Mon Jun 07 00:58:26 GMT 2010 Olly Betts <olly@survex.com> 5277 5278 * common/io_utils.h: Fix header guard macro name to follow convention. 5279 5280Sun Jun 06 15:07:55 GMT 2010 Olly Betts <olly@survex.com> 5281 5282 * HACKING,configure.ac: Upgrade to using libtool 2.2.8. 5283 5284Sun Jun 06 04:34:13 GMT 2010 Olly Betts <olly@survex.com> 5285 5286 * bin/Makefile.mk,configure.ac: Fix build failures with some 5287 combinations of backends disabled (partially addresses ticket#361). 5288 5289Sat Jun 05 16:30:57 GMT 2010 Olly Betts <olly@survex.com> 5290 5291 * matcher/remotesubmatch.cc: Add missing parameter of 5292 RemoteSubMatch::start_match() to debug logging. 5293 5294Sat Jun 05 15:03:56 GMT 2010 Olly Betts <olly@survex.com> 5295 5296 * matcher/queryoptimiser.h: Make QueryOptimiser::optimise_query()'s 5297 argument const pointer, since we only pass it to do_subquery() which 5298 takes a const pointer. 5299 5300Fri Jun 04 16:05:01 GMT 2010 Olly Betts <olly@survex.com> 5301 5302 * common/rset.h: Just keep a reference to the set<docid> from the 5303 Xapian::RSet object rather than copying it (since we now only 5304 create the RSetI object transiently, so the Xapian::RSet object 5305 is definitely valid for its whole lifetime). 5306 5307Fri Jun 04 15:57:50 GMT 2010 Olly Betts <olly@survex.com> 5308 5309 * api/omenquire.cc,matcher/localmatch.cc,matcher/localmatch.h: Keep 5310 a Xapian::RSet handle in the LocalSubMatch object and only create 5311 an RSetI object briefly in LocalSubMatch::prepare_match(). 5312 5313Fri Jun 04 15:36:45 GMT 2010 Olly Betts <olly@survex.com> 5314 5315 * common/pretty.h: RSetI objects are no longer passed as parameters 5316 or return values, so we no longer need to handle them. 5317 5318Fri Jun 04 15:28:21 GMT 2010 Olly Betts <olly@survex.com> 5319 5320 * api/omenquire.cc,common/esetinternal.h,common/omenquireinternal.h, 5321 common/rset.h,expand/esetinternal.cc,matcher/rset.cc: RSetI is used 5322 when collating statistics prior to performing the match, and when 5323 generating an ESet. The second use is entirely unnecessary and just 5324 ends up with us copying the std::set<Xapian::docid> from inside the 5325 Xapian::RSet object, so eliminate it and just use the Xapian::RSet 5326 object directly. This allows RSetI to be simplified somewhat too. 5327 5328Fri Jun 04 14:22:38 GMT 2010 Olly Betts <olly@survex.com> 5329 5330 * tests/api_backend.cc: Make arrays static const. 5331 5332Fri Jun 04 13:25:20 GMT 2010 Olly Betts <olly@survex.com> 5333 5334 * backends/Makefile.mk: Note need to update include/xapian/version_h.cc 5335 when adding a new backend. 5336 * AUTHORS: Thanks to Conrad Hoffmann for pointing this omission out. 5337 5338Thu Jun 03 15:01:44 GMT 2010 Richard Boulton <richard@tartarus.org> 5339 5340 * tests/soaktest/soaktest_queries.cc: Add missing include of str.h 5341 5342Thu Jun 03 12:09:35 GMT 2010 Richard Boulton <richard@tartarus.org> 5343 5344 * tests/Makefile.am: Fix building of zlib-vg.so in VPATH builds. 5345 5346Thu Jun 03 11:49:31 GMT 2010 Richard Boulton <richard@tartarus.org> 5347 5348 * matcher/orpostlist.cc,tests/api_backend.cc: Fix several bugs in 5349 OrPostList::check() (introduced since 1.2.0). Fixes ticket #485. 5350 Specifically, we have to check a sub-postlist even if head=did, 5351 because we need to know if that sub-postlist is valid. Also, if 5352 a sub-postlist is not valid, set its head to did+1, since we know 5353 that we're no longer interested in matches before did, and this 5354 allows the OrPostList to assume that the minimum docid of its 5355 children is the current docid. 5356 5357Thu Jun 03 07:15:24 GMT 2010 Olly Betts <olly@survex.com> 5358 5359 * matcher/: Implement MultiXorPostList which returns correct weights 5360 for XOR of more than 2 subqueries, and drop XorPostList completely. 5361 (ticket#475) 5362 * tests/api_anydb.cc: Add regression test xor2. 5363 5364Thu Jun 03 04:38:56 GMT 2010 Olly Betts <olly@survex.com> 5365 5366 * tests/api_replicate.cc: Tweak loop end test to be a normal while. 5367 5368Thu Jun 03 01:22:20 GMT 2010 Olly Betts <olly@survex.com> 5369 5370 * tests/api_stem.cc: Note stem2's feature was backported to 1.0.21. 5371 5372Tue Jun 01 13:49:44 GMT 2010 Olly Betts <olly@survex.com> 5373 5374 * backends/brass/brass_database.cc,backends/brass/brass_termlist.cc, 5375 backends/chert/chert_database.cc,backends/chert/chert_termlist.cc, 5376 backends/flint/flint_database.cc,backends/flint/flint_document.cc, 5377 backends/flint/flint_termlist.cc,matcher/: Fix LOGCALL_VOID uses 5378 for ctors and dtors to be LOGCALL_CTOR and LOGCALL_DTOR respectively. 5379 5380Tue Jun 01 13:33:07 GMT 2010 Olly Betts <olly@survex.com> 5381 5382 * api/omdocument.cc: Use LOGCALL_VOID instead of LOGCALL with a void 5383 return type. 5384 5385Tue Jun 01 13:08:02 GMT 2010 Olly Betts <olly@survex.com> 5386 5387 * matcher/multimatch.cc: The debug logging now copes with being passed 5388 RSet* so remove special casing with ?:. 5389 5390Tue Jun 01 10:17:27 GMT 2010 Olly Betts <olly@survex.com> 5391 5392 * HACKING,configure.ac: Drop support for --enable-log=profile - 5393 dedicated profiling tools are likely to return more useful results. 5394 * common/debuglog.cc,common/debuglog.h: Rename xapian_debuglogger__ 5395 global to xapian_debuglogger_ to avoid reserved __ in the name. 5396 * common/omdebug.cc,common/omdebug.h: Remove in favour of debuglog.h. 5397 * common/pretty.h: New PrettyOStream<> template class for pretty 5398 printing types in debug logs (and eventually the testsuite). 5399 * api/,backends/brass/,backends/chert/, 5400 backends/dbfactory_remote.cc,backends/flint/, 5401 backends/inmemory/inmemory_database.cc, 5402 backends/inmemory/inmemory_document.cc, 5403 backends/inmemory/inmemory_positionlist.cc, 5404 backends/multi/multi_postlist.cc,backends/multi/multi_termlist.cc, 5405 common/,expand/esetinternal.cc,expand/expandweight.cc, 5406 expand/ortermlist.cc,matcher/,net/progclient.cc, 5407 net/remoteconnection.cc: Migrate all remaining uses of omdebug.h to 5408 debuglog.h. Write more parameters to the debug log. Retire the 5409 barely used APICALL category and use API instead (reflecting actual 5410 current use). Add new REPLICA category. Fix names logged for ctors 5411 and dtors which have "::" in the class name. 5412 5413Sun May 30 13:45:12 GMT 2010 Olly Betts <olly@survex.com> 5414 5415 * api/omenquire.cc: Remove bogus "Data::" from debug logging for two 5416 methods. 5417 5418Sun May 30 08:49:22 GMT 2010 Olly Betts <olly@survex.com> 5419 5420 * include/xapian/stem.h,languages/stem.cc: Xapian::Stem now recognises 5421 "nb" and "nn" as codes for the Norwegian stemmer. 5422 * tests/api_stem.cc: Add feature test stem2 to check that these new 5423 codes work. 5424 5425Sat May 29 10:12:40 GMT 2010 Olly Betts <olly@survex.com> 5426 5427 * common/debuglog.h: Add overload of operator| which writes ", " and 5428 then a value to std::ostream. 5429 * api/omdatabase.cc,api/replication.cc, 5430 backends/brass/brass_alldocspostlist.cc, 5431 backends/brass/brass_metadata.cc,backends/brass/brass_table.cc, 5432 backends/chert/,backends/dbfactory.cc, 5433 backends/flint/flint_alldocspostlist.cc,expand/esetinternal.cc, 5434 expand/expandweight.cc,matcher/,net/remoteconnection.cc, 5435 weight/bm25weight.cc,weight/weight.cc: Use this in LOGCALL uses to 5436 make them shorter and more readable. 5437 5438Fri May 28 06:47:57 GMT 2010 Olly Betts <olly@survex.com> 5439 5440 * api/leafpostlist.cc,api/omdatabase.cc,backends/brass/brass_table.cc, 5441 backends/chert/chert_table.cc,backends/dbfactory.cc, 5442 backends/flint/flint_alldocspostlist.cc: Put LOGCALL macro use all on 5443 one line so we can more easily mechanise use and update. 5444 5445Fri May 28 04:22:35 GMT 2010 Olly Betts <olly@survex.com> 5446 5447 * api/replication.cc,api/valueiterator.cc, 5448 backends/brass/brass_alltermslist.cc, 5449 backends/chert/chert_alltermslist.cc,backends/dbfactory.cc, 5450 backends/inmemory/inmemory_document.cc, 5451 backends/remote/remote-document.cc,matcher/synonympostlist.cc, 5452 net/remoteconnection.cc,weight/bm25weight.cc: Use NO_ARGS instead of 5453 "" and LOGCALL_VOID instead of LOGCALL with void return type. 5454 5455Fri May 28 04:12:35 GMT 2010 Olly Betts <olly@survex.com> 5456 5457 * matcher/valuerangepostlist.cc: Add missing inclusions of 5458 "debuglog.h". 5459 * backends/brass/brass_metadata.h,backends/brass/brass_postlist.h, 5460 backends/brass/brass_synonym.h,backends/chert/chert_metadata.h, 5461 backends/chert/chert_postlist.h,backends/chert/chert_synonym.h, 5462 backends/dbfactory_remote.cc,backends/flint/flint_metadata.h, 5463 backends/flint/flint_synonym.h,common/database.h,common/rset.h: 5464 Remove unused inclusions of "omassert.h" and "omdebug.h". 5465 * common/rset.h: Remove unused inclusion of "weightinternal.h". 5466 * api/omdatabase.cc,api/registry.cc,api/replication.cc,backends/brass/, 5467 backends/chert/,backends/dbfactory.cc,backends/flint/: Add missing 5468 explicit inclusions of "debuglog.h". Fix LOGCALL markup of ctors and 5469 dtors. Use LOGCALL instead of DEBUGCALL. 5470 5471Fri May 28 04:06:08 GMT 2010 Olly Betts <olly@survex.com> 5472 5473 * backends/flint/flint_alldocspostlist.h: Add missing explicit 5474 inclusions of "autoptr.h", "flint_database.h", and forward 5475 declaration of class FlintCursor. 5476 5477Fri May 28 03:52:40 GMT 2010 Olly Betts <olly@survex.com> 5478 5479 * common/const_database_wrapper.h,common/databasereplicator.h, 5480 common/gnu_getopt.h: Add "(C)" to copyright statements for 5481 consistency with other files. 5482 5483Fri May 28 03:45:26 GMT 2010 Olly Betts <olly@survex.com> 5484 5485 * queryparser/queryparser.lt: Include "debuglog.h" instead of 5486 "omdebug.h". 5487 5488Fri May 28 03:45:03 GMT 2010 Olly Betts <olly@survex.com> 5489 5490 * queryparser/queryparser.cc: Remove unused inclusion of "omdebug.h". 5491 5492Fri May 28 03:40:50 GMT 2010 Olly Betts <olly@survex.com> 5493 5494 * expand/esetinternal.cc,matcher/localmatch.cc,matcher/multimatch.cc, 5495 matcher/rset.cc: Add missing explicit inclusions of "omassert.h". 5496 5497Thu May 27 23:39:57 GMT 2010 Olly Betts <olly@survex.com> 5498 5499 * common/Makefile.mk,common/expand.h: Remove unused header. 5500 5501Thu May 27 06:45:27 GMT 2010 Olly Betts <olly@survex.com> 5502 5503 * include/xapian/stem.h: Update the list of languages that the 5504 Xapian::Stem constructor recognises. 5505 5506Thu May 27 05:20:42 GMT 2010 Olly Betts <olly@survex.com> 5507 5508 * include/xapian/stem.h,languages/Makefile.mk, 5509 languages/compiler/generator.c,languages/stem.cc, 5510 languages/steminternal.cc,languages/steminternal.h,tests/Makefile.am, 5511 tests/api_stem.cc: Add the ability to specify your own stemming 5512 algorithm by subclassing Xapian::StemImplementation, mostly based on 5513 patch from Evgeny Sizikov in ticket#448. 5514 5515Thu May 27 04:50:31 GMT 2010 Olly Betts <olly@survex.com> 5516 5517 * tests/api_opvalue.cc: Use TEST_REL() instead of tout and TEST() with 5518 an inequality. 5519 5520Thu May 27 04:28:07 GMT 2010 Olly Betts <olly@survex.com> 5521 5522 * api/replication.cc,backends/databasereplicator.cc,common/debuglog.h, 5523 common/omdebug.h,expand/esetinternal.cc,expand/ortermlist.cc, 5524 matcher/,net/remoteconnection.cc: Partial mass conversion of files 5525 from omdebug.h to debuglog.h (this takes care off all the files 5526 without BSN copyright). 5527 5528Thu May 27 04:24:36 GMT 2010 Olly Betts <olly@survex.com> 5529 5530 * common/output.h: Use <ostream> not <fstream>. 5531 5532Thu May 27 04:09:25 GMT 2010 Olly Betts <olly@survex.com> 5533 5534 * matcher/orpostlist.cc: Prefer ++x to x += 1 for consistency. 5535 5536Wed May 26 13:32:20 GMT 2010 Olly Betts <olly@survex.com> 5537 5538 * matcher/exactphrasepostlist.cc: Separate (C) notice from @file 5539 doccomment. 5540 5541Wed May 26 13:11:57 GMT 2010 Olly Betts <olly@survex.com> 5542 5543 * backends/flint/flint_postlist.cc,backends/flint/flint_postlist.h: 5544 Move virtual method FlintPostList::get_doclength() definition out 5545 of header, which also means the header no longer needs omdebug.h. 5546 5547Wed May 26 13:03:22 GMT 2010 Olly Betts <olly@survex.com> 5548 5549 * common/debuglog.h: Strip out commented out RETURN_VOID machinery. 5550 This case is automatically handled provided LOGCALL_VOID is used. 5551 5552Wed May 26 12:33:04 GMT 2010 Olly Betts <olly@survex.com> 5553 5554 * common/debuglog.h: Don't check the category more than once in ctors 5555 and dtors. Don't convert the return value to a string in RETURN() 5556 unless we want to log it. 5557 5558Wed May 26 02:33:00 GMT 2010 Olly Betts <olly@survex.com> 5559 5560 * tests/api_opvalue.cc: Convert file description to doccomment. 5561 Remove unused headers and reorder remainder more standardly. 5562 5563Tue May 25 10:17:42 GMT 2010 Olly Betts <olly@survex.com> 5564 5565 * tests/api_backend.cc: Note ordecay1 and ordecay2 fixes now also in 5566 1.0.21. Whitespace tweak. 5567 5568Tue May 25 04:11:53 GMT 2010 Olly Betts <olly@survex.com> 5569 5570 * tests/api_backend.cc: make_ordecay1_db and make_ordecay2_db end up 5571 looping over at least 4 billion values (or possibly infinitely) on 5572 platforms where sizeof(long) == 8. The two databases are very 5573 similar and the latter one works for the former test, so use the 5574 same db for both tests, and rewrite the generator to work 5575 portably. 5576 5577Sun May 23 07:30:58 GMT 2010 Olly Betts <olly@survex.com> 5578 5579 * tests/api_backend.cc: Note XOR decay bug also fixed in 1.0.21. 5580 5581Sat May 22 13:31:38 GMT 2010 Olly Betts <olly@survex.com> 5582 5583 * configure.ac,tests/Makefile.am: Only try to build zlib-vg.so if we 5584 are found a suitable valgrind installed (otherwise it's a waste of 5585 effort to build it, and the build will fail without the valgrind 5586 headers). 5587 5588Sat May 22 13:18:33 GMT 2010 Olly Betts <olly@survex.com> 5589 5590 * configure.ac,tests/Makefile.am,tests/runtest.in,tests/zlib-vg.c: zlib 5591 can produce "uninitialised" output from "initialised" input - the 5592 output does decode to the input, so this is presumably just some 5593 unused bits in the output, so we use an LD_PRELOAD hack to get 5594 valgrind to check the input is initialised and then tell it that the 5595 output is initialised. 5596 5597Wed May 19 14:34:52 GMT 2010 Richard Boulton <richard@tartarus.org> 5598 5599 * matcher/andmaybepostlist.cc,matcher/andmaybepostlist.h, 5600 matcher/orpostlist.cc: Fix a bug causing documents to be skipped 5601 when OR decayed to AND_MAYBE, if the new RHS was behind the LHS 5602 at the time of the decay. Fixes #476. 5603 * tests/api_backend.cc: Add test case ordecay2 as a regression test 5604 of this. Also, remove some debug output in ordecay1, to speed it 5605 up quite a bit. 5606 5607Wed May 19 11:48:07 GMT 2010 Richard Boulton <richard@tartarus.org> 5608 5609 * matcher/orpostlist.cc,tests/api_backend.cc: Fix a bug in the 5610 decay from OR to AND: if the decay happened when the two 5611 sub-postlists were on different docids, but the higher of those 5612 docids actually occurred in both postlists, the higher docid 5613 would be incorrectly skipped. Add regression test ordecay1 to 5614 test this. 5615 5616Wed May 19 10:36:55 GMT 2010 Richard Boulton <richard@tartarus.org> 5617 5618 * tests/api_backend.cc,tests/api_compact.cc, 5619 tests/harness/testrunner.cc,tests/harness/testrunner.h: Add new 5620 test backend selection flag "generated", to select only backends 5621 which support generated test databases. 5622 5623Wed May 19 03:14:15 GMT 2010 Olly Betts <olly@survex.com> 5624 5625 * api/,backends/brass/,backends/chert/, 5626 backends/contiguousalldocspostlist.cc,backends/flint/, 5627 backends/inmemory/inmemory_database.cc, 5628 backends/remote/remote-database.cc,backends/slowvaluelist.cc, 5629 common/utils.h,expand/esetinternal.cc,matcher/phrasepostlist.cc, 5630 net/remoteserver.cc,net/remotetcpclient.cc, 5631 queryparser/termgenerator.cc,tests/, 5632 tests/harness/backendmanager_multi.cc, 5633 tests/harness/backendmanager_remote.cc, 5634 tests/harness/backendmanager_remotetcp.cc,tests/internaltest.cc, 5635 tests/perftest/perftest.cc,tests/perftest/perftest_matchdecider.cc, 5636 tests/perftest/perftest_randomidx.cc,tests/queryparsertest.cc, 5637 tests/termgentest.cc: Fully migrate from om_tostring() to str(). 5638 5639Wed May 19 03:13:43 GMT 2010 Olly Betts <olly@survex.com> 5640 5641 * cmake/xapian-config-version.cmake,cmake/xapian-config.cmake: Remove 5642 generated files from SVN. 5643 5644Wed May 19 02:59:47 GMT 2010 Olly Betts <olly@survex.com> 5645 5646 * bin/xapian-inspect.cc: Add misisng explicit '#include <utils.h>'. 5647 5648Tue May 18 14:24:03 GMT 2010 Olly Betts <olly@survex.com> 5649 5650 * bin/Makefile.mk,bin/xapian-check.cc,bin/xapian-compact.cc: Improve 5651 building with flint, chert and/or brass disabled (partially addresses 5652 ticket#361). 5653 5654Tue May 18 00:42:08 GMT 2010 Olly Betts <olly@survex.com> 5655 5656 * matcher/multimatch.cc: Fix warnings with --disable-backend-remote 5657 (partially addresses ticket#361). 5658 5659Sat May 15 06:56:26 GMT 2010 Olly Betts <olly@survex.com> 5660 5661 * net/progclient.cc: Read the max fd with sysconf() instead of using 5662 a hardcoded value of 256. Work even if stdin and stdout have been 5663 closed. 5664 5665Thu May 13 10:53:24 GMT 2010 Richard Boulton <richard@tartarus.org> 5666 5667 * matcher/orpostlist.cc: Correct some debugging lines. 5668 5669Thu May 13 09:57:12 GMT 2010 Richard Boulton <richard@tartarus.org> 5670 5671 * matcher/xorpostlist.cc,matcher/xorpostlist.h: Pass a minweight 5672 value of 0 to children of XOR postlists, because we need to know 5673 about all matching documents from the children even if they have 5674 a low weight. 5675 * tests/api_backend.cc: Regression test for this: xordecay1. 5676 5677Thu May 13 08:47:22 GMT 2010 Richard Boulton <richard@tartarus.org> 5678 5679 * tests/soaktest/soaktest_queries.cc: Add more code comments, 5680 increase the number of repetitions from 100 to 10000, remove 5681 accidentally added semicolons after some braces, remove "return 5682 false" at end of test which was added for debugging purposes, 5683 clear tout before testing each query, and display the query 5684 number, the query, and the msets in the event of failure. 5685 5686Tue May 11 10:16:05 GMT 2010 Richard Boulton <richard@tartarus.org> 5687 5688 * tests/soaktest/soaktest_queries.cc: Don't fail for empty result 5689 sets. 5690 5691Tue May 11 10:13:08 GMT 2010 Richard Boulton <richard@tartarus.org> 5692 5693 * tests/soaktest/: Add a "soaktest" testsuite, intended to contain 5694 long-running tests with random data. Currently contains a single 5695 test which builds and runs random queries, checking that the 5696 results returned are consistent when asking for different result 5697 ranges. 5698 5699Mon May 10 16:57:29 GMT 2010 Richard Boulton <richard@tartarus.org> 5700 5701 * tests/api_opvalue.cc: Add tests for OP_VALUE_RANGE to get 5702 coverage of the skip_to() and check() methods of 5703 ValueRangePostList. 5704 5705Mon May 10 16:51:14 GMT 2010 Richard Boulton <richard@tartarus.org> 5706 5707 * tests/api_opvalue.cc: Add a test to get coverage of 5708 ValueGePostList::skip_to(). 5709 5710Sun May 09 21:22:50 GMT 2010 Richard Boulton <richard@tartarus.org> 5711 5712 * tests/api_nodb.cc,tests/api_opvalue.cc: Move test "opvaluege1" 5713 from api_nodb.cc to api_opvalue.cc, and rename to valuege3 for 5714 consistency with other tests of OP_VALUE_GE. 5715 5716Sun May 09 21:19:43 GMT 2010 Richard Boulton <richard@tartarus.org> 5717 5718 * tests/Makefile.am,tests/api_anydb.cc,tests/api_opvalue.cc: Move 5719 the tests for OP_VALUE_* query operators from api_anydb.cc to 5720 api_opvalue.cc. Remove copyright statements earlier than 2007, 5721 since OP_VALUE_* wasn't added until 2007. 5722 5723Sun May 09 21:04:06 GMT 2010 Richard Boulton <richard@tartarus.org> 5724 5725 * matcher/valuegepostlist.cc: Initialise valuelist in check() if 5726 necessary. 5727 * tests/api_anydb.cc: Add regression test for this. 5728 5729Thu May 06 15:03:43 GMT 2010 Richard Boulton <richard@tartarus.org> 5730 5731 * tests/api_replicate.cc: Add some extra debugging, to help 5732 identify the problem with ticket #472. 5733 5734Thu May 06 13:38:25 GMT 2010 Olly Betts <olly@survex.com> 5735 5736 * common/safeuuid.h,configure.ac,INSTALL: Make use of built-in UUID API 5737 on FreeBSD and NetBSD. (ticket#470) 5738 5739Thu May 06 13:10:30 GMT 2010 Olly Betts <olly@survex.com> 5740 5741 * AUTHORS,Makefile.am,cmake/,configure.ac: Install files to make Xapian 5742 easier to use with cmake. Thanks to Sune Vuorela for providing the 5743 desired output. 5744 5745Thu May 06 11:42:16 GMT 2010 Olly Betts <olly@survex.com> 5746 5747 * tests/harness/fdtracker.cc: Don't pass NULL to closedir(). 5748 5749Thu May 06 11:19:41 GMT 2010 Olly Betts <olly@survex.com 5750 5751 * tests/api_anydb.cc: Test UUID is 36 characters long. 5752 5753Thu May 06 10:41:21 GMT 2010 Olly Betts <olly@survex.com> 5754 5755 * matcher/valuegepostlist.cc: Use "str.h" and str(). 5756 5757Thu May 06 10:01:48 GMT 2010 Olly Betts <olly@survex.com> 5758 5759 * matcher/valuegepostlist.cc: Remove unused headers. 5760 5761Thu May 06 09:55:27 GMT 2010 Richard Boulton <richard@tartarus.org> 5762 5763 * matcher/valuegepostlist.cc,matcher/valuerangepostlist.cc: 5764 Keep return value from valuelist->get_value() as a const string & 5765 rather than a string - could be more efficient on some compilers, 5766 though testing with gcc 4.1 revealed no difference. 5767 5768Thu May 06 09:49:12 GMT 2010 Richard Boulton <richard@tartarus.org> 5769 5770 * matcher/valuegepostlist.cc: "while(" -> "while (" in recent patch. 5771 5772Thu May 06 09:30:27 GMT 2010 Olly Betts <olly@survex.com> 5773 5774 * docs/replication.rst: Remove experimental warning. 5775 5776Thu May 06 05:05:57 GMT 2010 Olly Betts <olly@survex.com> 5777 5778 * matcher/valuerangepostlist.cc: Use "str.h" and str(). 5779 5780Thu May 06 05:03:22 GMT 2010 Olly Betts <olly@survex.com> 5781 5782 * matcher/valuerangepostlist.cc: Remove '#include "leafpostlist.h"' 5783 and '#include "document.h"' which are no longer used. 5784 5785Thu May 06 04:53:07 GMT 2010 Olly Betts <olly@survex.com> 5786 5787 * matcher/valuerangepostlist.cc: Remove '#include "autoptr.h"' which is 5788 no longer required. 5789 5790Thu May 06 04:18:25 GMT 2010 Olly Betts <olly@survex.com> 5791 5792 * matcher/valuerangepostlist.cc: "while(" -> "while (" in recent patch. 5793 5794Wed May 05 16:44:17 GMT 2010 Richard Boulton <richard@tartarus.org> 5795 5796 * matcher/orpostlist.cc,matcher/orpostlist.h: Add 5797 OrPostList::check() method, which calls check() on the 5798 sub-postlists, rather than falling back to skip_to(). This is 5799 particularly helpful when a sub-postlist is one for which 5800 skip_to() can be significantly more expensive than check(), such 5801 as a ValueRangePostList. I've observed a speedup of 10 times for 5802 such a subquery with this change. 5803 5804Wed May 05 16:34:30 GMT 2010 Richard Boulton <richard@tartarus.org> 5805 5806 * matcher/valuegepostlist.cc,matcher/valuerangepostlist.cc, 5807 matcher/valuerangepostlist.h: Implement ValueRangePostList and 5808 ValueGePostList using a ValueList streaming values for the value 5809 slot of interest, rather than using an AllDocsPostList to get all 5810 documents, using that to open temporary documents for each 5811 document being considered, and then using that to get the value. 5812 I've observed a speedup of more than 70 times for range queries 5813 in a real-world situation with this change (a 29 second search 5814 became a 0.4 second search). (ticket#432) 5815 5816Wed May 05 06:44:31 GMT 2010 Olly Betts <olly@survex.com> 5817 5818 * NEWS: Update from ChangeLog. 5819 5820Wed May 05 05:42:56 GMT 2010 Olly Betts <olly@survex.com> 5821 5822 * backends/brass/brass_cursor.cc,backends/chert/chert_cursor.cc, 5823 backends/flint/flint_cursor.cc: If we have to rebuild the cursor 5824 on next() because the table changed underneath us, we need to 5825 advance it because find_entry() will put the cursor on the entry 5826 we were already on, or the one before if the entry we were on 5827 has been removed. Bug uncovered by notmuch testsuite, but I'm 5828 unable to reduce it to a sane testcase for our testsuite. 5829 (Debian#579951) 5830 5831Tue May 04 19:38:31 GMT 2010 Richard Boulton <richard@tartarus.org> 5832 5833 * api/replication.cc,bin/xapian-replicate.cc, 5834 common/replicatetcpclient.h,common/replication.h, 5835 net/replicatetcpclient.cc,tests/api_replicate.cc: Fix a bug in 5836 replication, which triggered when multiple modifications were 5837 made to a database while a full copy of the database was in 5838 progress. In this situation, the client would fail to apply more 5839 than one changeset before trying (and failing) to make the 5840 database live, due to an incorrect assignment of the new revision 5841 number to "offline_needed_revision" instead of 5842 "offline_revision". Also, replication now only sleeps for a 5843 period (to allow reader to catch up) after a changeset has been 5844 applied to a live database - previously, it would sleep 5845 unnecessarily after a changeset had been applied to an offline 5846 database. Also, make the period for which replication sleeps in 5847 this situation configurable with the "-r" command line option to 5848 xapian-replicate. 5849 A test for these changes will be committed to xapian-bindings 5850 shortly. 5851 5852Sat May 01 15:25:48 GMT 2010 Olly Betts <olly@survex.com> 5853 5854 * Merge change accidentally committed to brass-btree branch: 5855 * tests/perftest/runprocess.cc: Use safesyswait.h, fixing build failure 5856 on "make check" on FreeBSD. 5857 5858Fri Apr 30 12:33:25 GMT 2010 Richard Boulton <richard@tartarus.org> 5859 5860 * backends/brass/brass_databasereplicator.cc, 5861 backends/chert/chert_databasereplicator.cc, 5862 backends/flint/flint_databasereplicator.cc,tests/api_replicate.cc: 5863 If a DB file doesn't exist when applying a changeset, try 5864 creating it - this happens with lazy tables which aren't created 5865 in the initial revision copied. Add replicate4 test to check 5866 that this works correctly with a lazily created position table. 5867 Fixes ticket #468. 5868 5869Fri Apr 30 07:09:31 GMT 2010 Olly Betts <olly@survex.com> 5870 5871 * docs/deprecation.rst: Replication and PostingSource aren't 5872 experimental in 1.2.x. 5873 5874Fri Apr 30 00:52:22 GMT 2010 Olly Betts <olly@survex.com> 5875 5876 * tests/harness/testsuite.cc: Fix typo in previous commit. 5877 5878Thu Apr 29 23:46:09 GMT 2010 Olly Betts <olly@survex.com> 5879 5880 * tests/harness/testsuite.cc: Check is SA_SIGINFO is defined before 5881 using it as it isn't available everywhere. Fixes FTBFS on GNU Hurd. 5882 5883Thu Apr 29 12:11:48 GMT 2010 Olly Betts <olly@survex.com> 5884 5885 * configure.ac: Install headers under PREFIX/include not 5886 PREFIX/include/xapian. This broke compiling code which didn't use 5887 XO_LIB_XAPIAN or xapian-config. 5888 5889Wed Apr 28 12:05:23 GMT 2010 Olly Betts <olly@survex.com> 5890 5891 * Makefile.am,m4-macros/xapian-1.1.m4: Remove -1.1 suffix from 5892 xapian-1.1.m4 and libxapian-1.1.la. 5893 5894Wed Apr 28 06:15:45 GMT 2010 Olly Betts <olly@survex.com> 5895 5896 * NEWS: Sync with 1.0.20. 5897 * NEWS,configure.ac: 1.2.0! 5898 5899Tue Apr 27 12:45:29 GMT 2010 Olly Betts <olly@survex.com> 5900 5901 * AUTHORS: Add bug reporter. 5902 5903Mon Apr 26 08:26:26 GMT 2010 Olly Betts <olly@survex.com> 5904 5905 * common/getopt.cc,common/gnu_getopt.h: On Cygwin, #include <getopt.h> 5906 for declarations of optind, etc rather than providing our own 5907 declarations. Should fix warnings in Cygwin build reported by Reini 5908 Urban on xapian-devel list. 5909 5910Mon Apr 26 06:27:07 GMT 2010 Olly Betts <olly@survex.com> 5911 5912 * common/getopt.cc,common/gnu_getopt.h: Revert previous 2 5913 getopt-related patches. The latest state was breaking on Solaris 5914 which (contrary to what its man pages say) prototypes getopt() stuff 5915 in stdlib.h. This seems to be a rabbit hole we don't want to head 5916 further down. 5917 5918Sat Apr 24 02:12:53 GMT 2010 Olly Betts <olly@survex.com> 5919 5920 * examples/delve.cc: Update --help output for -v to cover all terms 5921 case. 5922 5923Sat Apr 24 01:58:00 GMT 2010 Olly Betts <olly@survex.com> 5924 5925 * examples/delve.cc: Add -a option to list all terms in a database. 5926 5927Sat Apr 24 01:51:01 GMT 2010 Olly Betts <olly@survex.com> 5928 5929 * examples/copydatabase.cc: Prefer string() to "" converted to string. 5930 5931Thu Apr 22 14:21:30 GMT 2010 Olly Betts <olly@survex.com> 5932 5933 * matcher/multimatch.cc: Fix bug related to ticket#464 (the previous 5934 fix doesn't fix some similar cases). 5935 * tests/api_backend.cc: Add regression test msize2. 5936 5937Thu Apr 22 11:02:11 GMT 2010 Olly Betts <olly@survex.com> 5938 5939 * tests/: Hook up --abort-on-error fix for termgentest, stemtest, 5940 queryparsertest, and internaltest. 5941 5942Thu Apr 22 06:06:53 GMT 2010 Olly Betts <olly@survex.com> 5943 5944 * HACKING: Add a hyphen. 5945 5946Wed Apr 21 11:16:50 GMT 2010 Olly Betts <olly@survex.com> 5947 5948 * tests/harness/testrunner.cc: Exit with status 1 not 0 if we caught an 5949 exception from the harness itself. 5950 5951Wed Apr 21 11:11:10 GMT 2010 Olly Betts <olly@survex.com> 5952 5953 * tests/harness/testrunner.cc,tests/harness/testsuite.cc: Fix 5954 --abort-on-error to actually work. 5955 5956Tue Apr 20 12:53:29 GMT 2010 Olly Betts <olly@survex.com> 5957 5958 * docs/deprecation.rst: Note how to disable deprecation warnings. 5959 5960Tue Apr 20 07:27:23 GMT 2010 Olly Betts <olly@survex.com> 5961 5962 * api/omenquire.cc,matcher/multimatch.cc: Fix incorrect estimate and 5963 bounds on matches when sorting and collapsing in a particular case 5964 (ticket#464). 5965 * tests/api_backend.cc: Add regression test msize1. 5966 5967Mon Apr 19 01:59:59 GMT 2010 Olly Betts <olly@survex.com> 5968 5969 * examples/delve.cc: Use strtoul() instead of atoi() to decode document 5970 id and value slot numbers passed on the command line. Report out of 5971 range and invalid values. 5972 5973Sat Apr 17 09:17:25 GMT 2010 Olly Betts <olly@survex.com> 5974 5975 * common/getopt.cc,common/gnu_getopt.h: Fix getopt code to work on 5976 platforms without GNU getopt but with getopt(). 5977 5978Fri Apr 16 14:23:49 GMT 2010 Olly Betts <olly@survex.com> 5979 5980 * NEWS,configure.ac: Update for 1.1.5. 5981 * NEWS: Sync changes from 1.0.19. 5982 5983Fri Apr 16 12:29:14 GMT 2010 Olly Betts <olly@survex.com> 5984 5985 * tests/harness/testsuite.cc: Handle NULL in the const char * catch. 5986 5987Fri Apr 16 05:47:43 GMT 2010 Olly Betts <olly@survex.com> 5988 5989 * api/postingsource.cc: Fix wrapping. 5990 5991Thu Apr 15 09:07:40 GMT 2010 Richard Boulton <richard@tartarus.org> 5992 5993 * tests/api_replicate.cc: Use a fixed size buffer for copying a 5994 file, rather than a dynamically sized buffer; avoids using the 5995 GCC extension allowing dynamically sized arrays. 5996 5997Thu Apr 15 04:02:34 GMT 2010 Olly Betts <olly@survex.com> 5998 5999 * AUTHORS: Update with bug reporters. 6000 6001Thu Apr 15 00:30:45 GMT 2010 Olly Betts <olly@survex.com> 6002 6003 * include/xapian/termgenerator.h: Note how TermGenerator handles 6004 stopwords. 6005 6006Wed Apr 14 23:41:55 GMT 2010 Olly Betts <olly@survex.com> 6007 6008 * common/getopt.cc,common/gnu_getopt.h: Put our optarg, etc in a 6009 namespace and then pull them in to avoid linking to versions in the C 6010 library. Fixes warnings on Cygwin. 6011 6012Wed Apr 14 15:33:39 GMT 2010 Olly Betts <olly@survex.com> 6013 6014 * tests/api_backend.cc: Remove already fixed FIXME comment. 6015 6016Wed Apr 14 14:13:10 GMT 2010 Olly Betts <olly@survex.com> 6017 6018 * queryparser/queryparser.lemony: Use const reference to avoid a 6019 needless handle copy. 6020 6021Wed Apr 14 14:00:21 GMT 2010 Olly Betts <olly@survex.com> 6022 6023 * backends/brass/brass_alltermslist.cc, 6024 backends/brass/brass_alltermslist.h, 6025 backends/chert/chert_alltermslist.cc, 6026 backends/chert/chert_alltermslist.h, 6027 backends/flint/flint_alltermslist.cc, 6028 backends/flint/flint_alltermslist.h: Fix memory leak if Database 6029 throws an exception in XXXAllTermsList constructor. Fixes bug#462. 6030 * tests/api_backend.cc: Enable qpmemoryleak1 for non-remote backends as 6031 a regression test for this fix. 6032 6033Tue Apr 13 12:38:08 GMT 2010 Olly Betts <olly@survex.com> 6034 6035 * backends/flint/flint_table.cc: Don't memcpy() a block to itself - 6036 it's a waste of effort, and (probably) undefined behaviour (as a 6037 block overlaps itself). 6038 6039Tue Apr 13 12:36:53 GMT 2010 Olly Betts <olly@survex.com> 6040 6041 * backends/brass/brass_table.cc,backends/chert/chert_table.cc: Don't 6042 memcpy() a block to itself - it's a waste of effort, and (probably) 6043 undefined behaviour (as a block overlaps itself). 6044 6045Tue Apr 13 08:38:40 GMT 2010 Olly Betts <olly@survex.com> 6046 6047 * queryparser/queryparser.lemony: Add a ParserHandler class to take 6048 care of releasing the yyParser object. 6049 6050Tue Apr 13 07:49:33 GMT 2010 Olly Betts <olly@survex.com> 6051 6052 * common/autoptr.h: Fix comment typo. 6053 6054Tue Apr 13 07:47:40 GMT 2010 Olly Betts <olly@survex.com> 6055 6056 * api/replication.cc: "autoptr.h" not <autoptr.h> (it's an in-tree 6057 header). 6058 6059Tue Apr 13 07:25:11 GMT 2010 Olly Betts <olly@survex.com> 6060 6061 * queryparser/queryparser.lemony: Fix leak of yyParser if an exception 6062 is thrown during parsing. Partly fixes ticket#462. 6063 * tests/api_backend.cc: Add regression test qpmemoryleak1. 6064 6065Tue Apr 13 01:37:08 GMT 2010 Olly Betts <olly@survex.com> 6066 6067 * common/utils.cc,common/utils.h: Revert change to make removedir() 6068 recurse into subdirectories - it doesn't fix a bug, so isn't 6069 appropriate when we're trying to get 1.2.0 out (backends don't 6070 currently put files in subdirectories, which was the justification 6071 in the commit message). 6072 6073Mon Apr 12 11:50:37 GMT 2010 Olly Betts <olly@survex.com> 6074 6075 * Backport change from brass: 6076 * backends/flint/: Fix to rebuild cursors if the table gains or loses a 6077 level. Fixes ticket#455. 6078 6079Mon Apr 12 09:29:39 GMT 2010 Olly Betts <olly@survex.com> 6080 6081 * Backport change from brass: 6082 * backends/chert/: Fix to rebuild cursors if the table gains or loses a 6083 level. Fixes ticket#455. 6084 6085Mon Apr 12 09:26:53 GMT 2010 Olly Betts <olly@survex.com> 6086 6087 * backends/brass/: Fix to rebuild cursors if the table gains or loses a 6088 level. Fixes ticket#455. 6089 6090Mon Apr 12 08:27:29 GMT 2010 Olly Betts <olly@survex.com> 6091 6092 * tests/api_none.cc: Work around compilation failure on OpenBSD. Fixes 6093 ticket#458. 6094 6095Fri Apr 02 04:03:04 GMT 2010 Olly Betts <olly@survex.com> 6096 6097 * m4-macros/xapian-1.1.m4: Give a more specific error message for the 6098 cases where XAPIAN_CONFIG isn't found, is a directory, or isn't 6099 executable. 6100 6101Thu Mar 25 14:43:57 GMT 2010 Olly Betts <olly@survex.com> 6102 6103 * tests/api_backend.cc: Add databasemodified1 testcase to provide some 6104 test coverage for DatabaseModifiedError. 6105 6106Thu Mar 25 06:32:44 GMT 2010 Olly Betts <olly@survex.com> 6107 6108 * bin/xapian-check-flint.cc: Report docid for doclength mismatch. 6109 6110Thu Mar 25 06:23:26 GMT 2010 Olly Betts <olly@survex.com> 6111 6112 * bin/xapian-check-brass.cc,bin/xapian-check-chert.cc: Report docid for 6113 doclength mismatch. 6114 6115Sat Mar 20 15:04:18 GMT 2010 Olly Betts <olly@survex.com> 6116 6117 * docs/spelling.rst: Add a note about removing automatically added 6118 spelling dictionary entries. 6119 6120Sat Mar 20 09:30:44 GMT 2010 Olly Betts <olly@survex.com> 6121 6122 * docs/spelling.rst: Add section on indexing. Move the "algorithm" 6123 section to the end, as it is really just background information for 6124 the curious. 6125 6126Wed Mar 17 01:33:39 GMT 2010 Olly Betts <olly@survex.com> 6127 6128 * INSTALL: Add a hyphen. 6129 6130Wed Mar 17 01:30:34 GMT 2010 Olly Betts <olly@survex.com> 6131 6132 * INSTALL: Correct description of --enable-assertions. It does NOT 6133 enable debugging symbols, and shouldn't control checks on bad data 6134 passed to API calls (if it does anywhere, that's a bug). Note that 6135 Xapian will run more slowly with assertions on. 6136 6137Wed Mar 17 01:10:13 GMT 2010 Olly Betts <olly@survex.com> 6138 6139 * backends/brass/brass_values.cc: Put ValueUpdater in Brass namespace 6140 to avoid cross-linking issues with ValueUpdater class in chert 6141 (change taken from brass-btree branch). 6142 6143Sun Mar 14 10:05:36 GMT 2010 Olly Betts <olly@survex.com> 6144 6145 * Backport change from chert: 6146 * backends/flint/flint_database.cc, 6147 backends/flint/flint_positionlist.cc, 6148 backends/flint/flint_positionlist.h: When updating a document, rather 6149 than decoding the old positions, comparing with the new, and then 6150 encoding the new if different, we now just encode the new and then 6151 compare the encoded forms. (ticket#428) This change also avoids 6152 calling FlintPositionListTable::del() when we know the entry doesn't 6153 already exist. 6154 * backends/flint/flint_positionlist.cc: Minor refactor to improve 6155 code clarity and to only create std::string variable when it 6156 is needed. 6157 6158Sun Mar 14 09:45:34 GMT 2010 Olly Betts <olly@survex.com> 6159 6160 * Backport change from brass: 6161 * backends/chert/chert_positionlist.cc: Minor refactor to improve 6162 code clarity and to only create std::string variable when it 6163 is needed. 6164 6165Sun Mar 14 09:29:54 GMT 2010 Olly Betts <olly@survex.com> 6166 6167 * backends/brass/brass_positionlist.cc: Minor refactor to improve 6168 code clarity and to only create std::string variable when it 6169 is needed. 6170 6171Sun Mar 14 07:37:03 GMT 2010 Olly Betts <olly@survex.com> 6172 6173 * api/replication.cc,tests/api_closedb.cc,tests/api_metadata.cc, 6174 tests/internaltest.cc: Catch by const reference rather than just 6175 reference, unless we actually need to modify the caught object. 6176 6177Sun Mar 14 06:45:11 GMT 2010 Olly Betts <olly@survex.com> 6178 6179 * api/replication.cc: Check live_db only has a single sub-database even 6180 if we just lazily opened it. 6181 6182Sun Mar 14 05:00:21 GMT 2010 Olly Betts <olly@survex.com> 6183 6184 * backends/flint/flint_database.cc, 6185 backends/flint/flint_databasereplicator.cc: Add missing explicit 6186 '#include "str.h"'. 6187 6188Sat Mar 13 09:22:24 GMT 2010 Richard Boulton <richard@tartarus.org> 6189 6190 * tests/api_replicate.cc: Always use off_t to refer to the size of a 6191 file: fixes warnings about comparting a signed value to an unsigned 6192 value. 6193 6194Thu Mar 11 16:07:10 GMT 2010 Richard Boulton <richard@tartarus.org> 6195 6196 * api/replication.cc: Open the livedb lazily if it gets left in a 6197 closed state (due to an exception when applying a changeset), 6198 rather than reopening it straight away in an exception handler. 6199 This requires the livedb to become a mutable member, but is safer 6200 in the event that an exception is thrown by the WritableDatabase 6201 constructor. 6202 6203Thu Mar 11 15:17:12 GMT 2010 Richard Boulton <richard@tartarus.org> 6204 6205 * tests/api_replicate.cc: Uncomment the rmtmpdir() at the end of 6206 replicate3; it was accidentally committed debugging code. 6207 6208Thu Mar 11 13:03:57 GMT 2010 Richard Boulton <richard@tartarus.org> 6209 6210 * api/replication.cc: If an exception is thrown, mark that the 6211 offline revision needed is unknown (represented by being empty); 6212 ensures that a database isn't put live incorrectly in this case. 6213 Also, actually read the message for REPL_REPLY_END_OF_CHANGES, so 6214 that we get an error if the message is truncated. Also, if an 6215 attempt to apply a changeset to the live database fails with an 6216 exception while the live database is closed, reopen the live 6217 database before allowing the exception to propagate. 6218 * tests/api_replicate.cc: Split replicate() helper function into 6219 two parts, to separate getting the changeset messages, and 6220 applying them. Add replicate3 test, which checks that 6221 replications which are provided with truncated messages raise 6222 appropriate errors. 6223 6224Thu Mar 11 00:46:39 GMT 2010 Olly Betts <olly@survex.com> 6225 6226 * common/replicate_utils.cc: Avoid creating temporary string objects 6227 to reduce bloat in compiled code. Remove explicit std:: qualifiers. 6228 6229Thu Mar 11 00:38:00 GMT 2010 Olly Betts <olly@survex.com> 6230 6231 * common/replicate_utils.cc: The directory we're writing changesets 6232 to will always exist, so no need to ensure it does. 6233 6234Thu Mar 11 00:10:19 GMT 2010 Olly Betts <olly@survex.com> 6235 6236 * backends/chert/chert_databasereplicator.cc, 6237 backends/flint/flint_databasereplicator.cc: Fix calculation of end 6238 pointer for changes file. Since the merge, it has been off by 6239 CONST_STRLEN(CHANGES_MAGIC_STRING). 6240 6241Wed Mar 10 23:59:38 GMT 2010 Olly Betts <olly@survex.com> 6242 6243 * backends/chert/chert_database.cc, 6244 backends/chert/chert_databasereplicator.cc: Add missing explicit 6245 '#include "str.h"'. 6246 6247Wed Mar 10 13:07:41 GMT 2010 Richard Boulton <richard@tartarus.org> 6248 6249 * common/Makefile.mk,common/replicate_utils.cc, 6250 common/replicate_utils.h: Add some utility functions for 6251 replication to create changeset files, and append content to 6252 them, to avoid duplicating the code in each backend. 6253 * backends/chert/chert_database.cc, 6254 backends/chert/chert_databasereplicator.cc, 6255 backends/chert/chert_databasereplicator.h, 6256 backends/flint/flint_database.cc, 6257 backends/flint/flint_databasereplicator.cc, 6258 backends/flint/flint_databasereplicator.h: Make the 6259 DatabaseReplicator subclasses respect the XAPIAN_MAX_CHANGESETS 6260 environment variable, such that they write the changesets they're 6261 applying to disk if the value is non-zero. Enables replication 6262 from a replicated copy. 6263 * tests/api_replicate.cc: Refactor some common code, and add 6264 replicate2, which tests replication from a replicated copy. Skip 6265 this test for brass, since brass doesn't support this. 6266 6267Wed Mar 10 12:11:41 GMT 2010 Richard Boulton <richard@tartarus.org> 6268 6269 * common/utils.cc,common/utils.h: Make removedir() recurse into 6270 subdirectories; this ensures that replication works if backends 6271 put some files in subdirectories of their replicas (eg, if the 6272 replica is itself a replicated database). 6273 6274Wed Mar 10 12:07:40 GMT 2010 Richard Boulton <richard@tartarus.org> 6275 6276 * backends/chert/,backends/flint/,common/Makefile.mk, 6277 common/io_utils.cc,common/io_utils.h: Refactor duplicated code 6278 from {flint,chert}_io.{cc,h} into common/io_utils.{cc,h}. Rename 6279 flint_io_read() to io_read(); do similar for flint_io_write() 6280 and flint_io_sync(), and for the chert versions. Leave brass 6281 alone to avoid conflicting with the new brass backend development 6282 branch. 6283 6284Mon Mar 08 02:32:35 GMT 2010 Olly Betts <olly@survex.com> 6285 6286 * bin/xapian-check-chert.cc: Check that the doclen initial chunk 6287 exists. 6288 6289Tue Mar 02 13:28:50 GMT 2010 Olly Betts <olly@survex.com> 6290 6291 * Backport change from brass: 6292 * backends/chert/chert_database.cc, 6293 backends/chert/chert_positionlist.cc, 6294 backends/chert/chert_positionlist.h: When updating a document, rather 6295 than decoding the old positions, comparing with the new, and then 6296 encoding the new if different, we now just encode the new and then 6297 compare the encoded forms. (ticket#428) This change also avoids 6298 calling ChertPositionListTable::del() when we know the entry doesn't 6299 already exist. 6300 6301Tue Mar 02 04:00:22 GMT 2010 Olly Betts <olly@survex.com> 6302 6303 * tests/harness/testsuite.cc: Harness now catches const char * 6304 exceptions explicitly so it can show their contents. 6305 6306Tue Mar 02 03:59:27 GMT 2010 Olly Betts <olly@survex.com> 6307 6308 * include/xapian/valueiterator.h: Comment tweak. 6309 6310Tue Mar 02 03:57:55 GMT 2010 Olly Betts <olly@survex.com> 6311 6312 * include/xapian/queryparser.h: Add missing forward declaration of 6313 "class Database". 6314 6315Tue Mar 02 01:51:33 GMT 2010 Olly Betts <olly@survex.com> 6316 6317 * NEWS: Update partially from ChangeLog. 6318 6319Mon Mar 01 05:38:41 GMT 2010 Olly Betts <olly@survex.com> 6320 6321 * backends/brass/brass_database.cc, 6322 backends/brass/brass_positionlist.cc, 6323 backends/brass/brass_positionlist.h: When updating a document, rather 6324 than decoding the old positions, comparing with the new, and then 6325 encoding the new if different, we now just encode the new and then 6326 compare the encoded forms. (ticket#428) This change also avoids 6327 calling BrassPositionListTable::del() when we know the entry doesn't 6328 already exist. 6329 6330Mon Mar 01 02:09:40 GMT 2010 Olly Betts <olly@survex.com> 6331 6332 * net/serialise.cc: Don't call Document::values_count() twice when we 6333 can trivially avoid doing so. Ditto for termlist_count() and 6334 positionlist_count(). 6335 6336Mon Mar 01 01:53:58 GMT 2010 Olly Betts <olly@survex.com> 6337 6338 * bin/: Rename tot_off to last_docid when it is actually holding the 6339 last_docid value. 6340 6341Sun Feb 28 23:47:49 GMT 2010 Olly Betts <olly@survex.com> 6342 6343 * backends/flint/flint_table.cc: Whitespace tweak. 6344 6345Sun Feb 28 23:44:58 GMT 2010 Olly Betts <olly@survex.com> 6346 6347 * tests/dbcheck.cc: Tweak whitespace to match standard usage. Catch 6348 exceptions by const reference. 6349 * HACKING: Discuss why exceptions should be caught by const reference. 6350 Tweak markup of blockquotes. 6351 6352Sun Feb 28 22:50:50 GMT 2010 Olly Betts <olly@survex.com> 6353 6354 * HACKING: Add note about "new SomePODType()" not being the same as 6355 "new SomePODType". 6356 6357Sun Feb 28 22:29:31 GMT 2010 Olly Betts <olly@survex.com> 6358 6359 * HACKING: Quote ``cat`` and ``more``. 6360 6361Sun Feb 28 14:00:39 GMT 2010 Richard Boulton <richard@tartarus.org> 6362 6363 * tests/api_compact.cc: Clarify comment about regression test for 6364 1.1.4, and remove a test line which is implicit in the following 6365 dbcheck() line anyway. 6366 6367Sun Feb 28 11:07:33 GMT 2010 Olly Betts <olly@survex.com> 6368 6369 * tests/harness/fdtracker.cc,tests/harness/fdtracker.h: Add GPL 6370 boilerplate and copyright notices which I failed to do before 6371 committing these new files. 6372 6373Thu Feb 25 10:34:15 GMT 2010 Olly Betts <olly@survex.com> 6374 6375 * backends/chert/chert_table.cc,backends/flint/flint_table.cc: 6376 Initialise z_stream members zalloc, zfree, and opaque with Z_NUL 6377 rather than 0 cast to the appropriate type, as that's what the zlib 6378 documentation says to do. Add missing initialisation of opaque for 6379 the inflate z_stream which the docs say is needed, though reading 6380 the zlib code, isn't actually for current versions. 6381 6382Wed Feb 24 14:24:05 GMT 2010 Olly Betts <olly@survex.com> 6383 6384 * backends/remote/remote-database.cc: Fix indentation. 6385 6386Wed Feb 24 14:18:25 GMT 2010 Olly Betts <olly@survex.com> 6387 6388 * backends/remote/remote-database.cc,common/remote-database.h, 6389 common/remoteprotocol.h,common/remoteserver.h, 6390 docs/remote_protocol.html,net/remoteserver.cc,tests/api_spelling.cc: 6391 Add remote backend support for WritableDatabase::add_spelling() and 6392 WritableDatabase::remove_spelling(). This bumps the remote protocol 6393 to version 35.0 (so both client and servers will need updating). 6394 Suggesting spelling corrections isn't yet supported. (ticket#178) 6395 6396Wed Feb 24 09:09:27 GMT 2010 Olly Betts <olly@survex.com> 6397 6398 * examples/delve.cc: "lastdocid" -> "highest document id ever used" 6399 in output so it's clearer what this number means. 6400 6401Tue Feb 23 14:03:47 GMT 2010 Olly Betts <olly@survex.com> 6402 6403 * api/postingsource.cc: Fix incorrect classname in error message. 6404 6405Tue Feb 23 13:16:11 GMT 2010 Olly Betts <olly@survex.com> 6406 6407 * configure.ac: For -fno-strict-aliasing for GCC 4.2 to avoid bad code 6408 being generated due to a bug in that compiler version. Fixes 6409 ticket#449. 6410 6411Tue Feb 23 03:08:02 GMT 2010 Olly Betts <olly@survex.com> 6412 6413 * configure.ac,tests/harness/testsuite.cc: Use sigsetjmp() and 6414 siglongjmp() where available so that the set of blocked signals 6415 get restored and the test harness can catch a second incidence 6416 of a particular signal in a run. Use sigaction() instead of 6417 signal() where available, which allows us to report the address 6418 associated with SIGSEGV, SIGFPE, SIGILL, and SIGBUS. 6419 6420Mon Feb 22 14:29:50 GMT 2010 Olly Betts <olly@survex.com> 6421 6422 * backends/brass/brass_databasereplicator.cc, 6423 backends/chert/chert_databasereplicator.cc, 6424 backends/flint/flint_databasereplicator.cc: Fix exception message 6425 if we get an unsupported changeset type. 6426 6427Mon Feb 22 01:49:03 GMT 2010 Richard Boulton <richard@tartarus.org> 6428 6429 * tests/dbcheck.cc: Check the wdf, doclen, and value bounds 6430 reported by the database against correct (tight) bounds 6431 calculated by iterating through the database contents. 6432 6433Mon Feb 22 01:47:20 GMT 2010 Richard Boulton <richard@tartarus.org> 6434 6435 * backends/brass/brass_database.cc,backends/chert/chert_database.cc: 6436 Ensure that wdfs are reported to the stats object correctly when 6437 replacing documents. These checks were absent entirely in chert, 6438 and incorrectly skipped in some cases in brass. 6439 6440Mon Feb 22 00:59:57 GMT 2010 Olly Betts <olly@survex.com> 6441 6442 * tests/api_valuestream.cc: Reset tout before testing each interval. 6443 Prefer string() to "". 6444 6445Mon Feb 22 00:57:59 GMT 2010 Olly Betts <olly@survex.com> 6446 6447 * docs/deprecation.rst,examples/delve.cc: Remove delve's -k option, 6448 accepted as an undocumented alias for -V since 0.9.10 for 6449 compatibility with 0.9.9 and earlier. Just use -V instead. 6450 6451Mon Feb 22 00:45:37 GMT 2010 Olly Betts <olly@survex.com> 6452 6453 * examples/delve.cc: If documents are specified, change "-V<valueno>" 6454 to only show calues for those documents. 6455 6456Sun Feb 21 14:11:58 GMT 2010 Olly Betts <olly@survex.com> 6457 6458 * common/stringutils.h: Factor out looking up a character in the table 6459 into a separate inlined function. Add C_islcxdigit() to check for 6460 an lower case hex digit. 6461 6462Sun Feb 21 11:10:10 GMT 2010 Olly Betts <olly@survex.com> 6463 6464 * examples/Makefile.mk,examples/xapian-metadata.cc: Add new example 6465 "xapian-metadata" which allows you to get and set individual user 6466 metadata entries. 6467 6468Sun Feb 21 10:31:56 GMT 2010 Olly Betts <olly@survex.com> 6469 6470 * configure.ac: Belatedly update version number to 1.1.4. 6471 6472Sat Feb 20 01:09:45 GMT 2010 Olly Betts <olly@survex.com> 6473 6474 * tests/runtest.in: Now we have fd leak checking in the test harness, 6475 remove the ulimit as it doesn't add anything, and has caused problems 6476 on some Debian buildds. 6477 6478Fri Feb 19 02:08:25 GMT 2010 Olly Betts <olly@survex.com> 6479 6480 * tests/harness/backendmanager.h,tests/harness/testsuite.cc: 6481 Call backendmanager->clean_up() before checking for fd leaks 6482 to avoid finding the sockets/pipes as leaks. This means that 6483 clean_up() needs to handle being called more than once for 6484 a test sometimes (which the current versions do) so document 6485 that. 6486 6487Thu Feb 18 02:31:17 GMT 2010 Olly Betts <olly@survex.com> 6488 6489 * examples/simpleindex.cc: Explicitly call commit() on the database, 6490 as that is good practice (since you see any exceptions). 6491 6492Thu Feb 18 01:52:10 GMT 2010 Olly Betts <olly@survex.com> 6493 6494 * tests/api_wrdb.cc: Clear tout on each pass of the loop to avoid a 6495 lot of irrelevant output under --verbose if the test fails. 6496 6497Thu Feb 18 01:33:53 GMT 2010 Olly Betts <olly@survex.com> 6498 6499 * tests/harness/testsuite.cc: Fix fd tracking change to work when 6500 HAVE_VALGRIND isn't defined. 6501 6502Thu Feb 18 00:46:20 GMT 2010 Olly Betts <olly@survex.com> 6503 6504 * include/xapian/queryparser.h: Document the possible exception 6505 messages from QueryParser::parse_query(). 6506 6507Thu Feb 18 00:20:18 GMT 2010 Olly Betts <olly@survex.com> 6508 6509 * tests/harness/backendmanager.cc: Also explicitly commit after 6510 indexing for flint and chert. 6511 6512Wed Feb 17 15:58:04 GMT 2010 Olly Betts <olly@survex.com> 6513 6514 * tests/harness/: Add machinery to check for leaked FDs. Currently 6515 requires /proc/self/fd to work (so it works on at least Linux), but 6516 should do nothing on platforms without this directory. 6517 6518Wed Feb 17 15:53:30 GMT 2010 Olly Betts <olly@survex.com> 6519 6520 * tests/harness/backendmanager.cc: Explicitly commit after indexing 6521 for brass, so we see any exceptions from the commit (commit from 6522 the dtor swallows any exceptions). 6523 6524Tue Feb 16 16:23:30 GMT 2010 Richard Boulton <richard@tartarus.org> 6525 6526 * bin/xapian-compact.cc: Fix failure to set lastdocid to an 6527 appropriate value when using --no-renumber. 6528 * tests/api_compact.cc: Add regression test for this. 6529 6530Tue Feb 16 16:10:49 GMT 2010 Richard Boulton <richard@tartarus.org> 6531 6532 * examples/delve.cc: Display the lastdocid value when displaying 6533 general database statistics. 6534 6535Tue Feb 16 15:39:50 GMT 2010 Richard Boulton <richard@tartarus.org> 6536 6537 * bin/xapian-check-brass.cc,bin/xapian-check-chert.cc: Correct typo 6538 in error message. 6539 6540Mon Feb 15 13:59:45 GMT 2010 Olly Betts <olly@survex.com> 6541 6542 * configure.ac: Update for 1.1.4. 6543 6544Mon Feb 15 13:58:44 GMT 2010 Olly Betts <olly@survex.com> 6545 6546 * PLATFORMS: We don't support GCC < 3.1, so remove discussion of 6547 issues with GCC 2.95. 6548 6549Mon Feb 15 13:55:10 GMT 2010 Olly Betts <olly@survex.com> 6550 6551 * PLATFORMS: Update from 1.0.18. 6552 6553Mon Feb 15 11:51:15 GMT 2010 Olly Betts <olly@survex.com> 6554 6555 * NEWS: Update from ChangeLog. Update from 1.0.18. 6556 6557Sun Feb 14 05:47:30 GMT 2010 Olly Betts <olly@survex.com> 6558 6559 * queryparser/queryparser.lemony: Fix QueryParser to handle an explicit 6560 AND before a hated term (foo AND -bar). (ticket#447) 6561 * tests/queryparsertest.cc: Add regression test cases. 6562 6563Fri Feb 12 01:27:32 GMT 2010 Olly Betts <olly@survex.com> 6564 6565 * queryparser/termgenerator_internal.cc: Only include trailing '+' or 6566 '#' on a term if it isn't followed by a word character (makes more 6567 sense and matches QueryParser's behaviour). (ticket#446) 6568 * tests/termgentest.cc: Add regression test. 6569 6570Thu Feb 11 04:30:56 GMT 2010 Olly Betts <olly@survex.com> 6571 6572 * bin/xapian-inspect.cc: Add new "open" command to allow easy switching 6573 between tables. 6574 6575Wed Feb 10 02:40:36 GMT 2010 Olly Betts <olly@survex.com> 6576 6577 * include/xapian/document.h: Rewrite the note about Document being a 6578 lazy handle to fix a few details and avoid nailing down the 6579 exact implementation. 6580 6581Wed Feb 10 00:37:54 GMT 2010 Olly Betts <olly@survex.com> 6582 6583 * docs/admin_notes.rst: Update for chert and other recent changes. 6584 6585Wed Feb 10 00:37:04 GMT 2010 Olly Betts <olly@survex.com> 6586 6587 * docs/replication_protocol.rst: Update. 6588 6589Mon Feb 08 12:05:05 GMT 2010 Olly Betts <olly@survex.com> 6590 6591 * backends/brass/brass_version.cc: Fix comments about BRASS_VERSION 6592 which were previously just cut-and-pasted from those about 6593 CHERT_VERSION. 6594 6595Mon Feb 08 11:54:04 GMT 2010 Olly Betts <olly@survex.com> 6596 6597 * backends/brass/brass_metadata.cc: Include missing headers. 6598 6599Mon Feb 08 09:23:00 GMT 2010 Olly Betts <olly@survex.com> 6600 6601 * backends/brass/brass_document.h,backends/chert/chert_document.h: 6602 Fix typos in documentation comments. 6603 6604Mon Feb 08 08:27:09 GMT 2010 Olly Betts <olly@survex.com> 6605 6606 * tests/harness/testsuite.cc: Remove unused headers <streambuf> and 6607 "omdebug.h". 6608 6609Mon Feb 08 01:28:48 GMT 2010 Olly Betts <olly@survex.com> 6610 6611 * common/debuglog.h: Use std::boolalpha so bool is logged as "true" 6612 or "false" (instead of "1" or "0"). 6613 6614Sat Feb 06 10:04:42 GMT 2010 Olly Betts <olly@survex.com> 6615 6616 * AUTHORS: Sync with 1.0 branch. 6617 6618Sat Feb 06 08:20:31 GMT 2010 Olly Betts <olly@survex.com> 6619 6620 * tests/api_closedb.cc: Avoid trying to create a database where 6621 an already open one exists (which fails on Microsoft Windows). 6622 (ticket#443). 6623 6624Fri Feb 05 13:28:08 GMT 2010 Olly Betts <olly@survex.com> 6625 6626 * examples/simpleexpand.cc,examples/simpleindex.cc, 6627 examples/simplesearch.cc: Handle --help and --version. 6628 6629Fri Feb 05 13:25:37 GMT 2010 Olly Betts <olly@survex.com> 6630 6631 * bin/xapian-compact.cc: Fix not to assign elements off the end of a 6632 vector (ticket#440). 6633 6634Fri Feb 05 11:41:05 GMT 2010 Richard Boulton <richard@tartarus.org> 6635 6636 * api/matchspy.cc,include/xapian/matchspy.h,tests/api_matchspy.cc: 6637 Remove ValueCountMatchSpy::get_values(). values_begin() should 6638 be used instead to iterate over the values. 6639 6640Fri Feb 05 07:39:46 GMT 2010 Olly Betts <olly@survex.com> 6641 6642 * configure.ac: Enable automake's std-options feature to check all 6643 installed programs support --help and --version. 6644 6645Fri Feb 05 01:45:49 GMT 2010 Olly Betts <olly@survex.com> 6646 6647 * include/xapian/document.h: Add Document::add_boolean_term(). 6648 * tests/api_none.cc: Add testcase document1 as a feature test. 6649 6650Fri Feb 05 00:27:52 GMT 2010 Olly Betts <olly@survex.com> 6651 6652 * backends/chert/chert_btreebase.cc,backends/flint/flint_btreebase.cc: 6653 Add missing SEQUENTIAL entry to documentation of base file format. 6654 6655Thu Feb 04 03:06:26 GMT 2010 Olly Betts <olly@survex.com> 6656 6657 * tests/api_compact.cc: Fix to work with MSVC makefiles (ticket#440). 6658 6659Thu Feb 04 03:04:43 GMT 2010 Olly Betts <olly@survex.com> 6660 6661 * HACKING,common/Makefile.mk,common/safesyswait.h: Add wrapper 6662 for <sys/wait.h> which defines macros for WEXITSTATUS and 6663 WIFEXITED when required. 6664 6665Wed Feb 03 15:01:36 GMT 2010 Richard Boulton <richard@tartarus.org> 6666 6667 * api/matchspy.cc,include/xapian/matchspy.h,tests/api_matchspy.cc: 6668 Add ValueCountMatchSpy::values_begin() and values_end() to allow 6669 iteration over all the values in a ValueCountMatchSpy without 6670 needing to handle the dict. Move the contents of 6671 ValueCountMatchSpy into a reference counted internal object, so 6672 that the iterator can ensure that the contents aren't deleted 6673 before it finishes. 6674 6675Wed Feb 03 15:01:02 GMT 2010 Richard Boulton <richard@tartarus.org> 6676 6677 * tests/generate-api_generated: Add ValueCountMatchSpy to the list 6678 of non-copyable API classes. 6679 6680Wed Feb 03 13:18:03 GMT 2010 Richard Boulton <richard@tartarus.org> 6681 6682 * include/xapian/matchspy.h,tests/api_matchspy.cc: Provide an 6683 iterator for accessing the top values found by a matchspy, rather 6684 than using a method which takes a vector reference as a 6685 parameter. Should be wrappable much more nicely (and get wrapped 6686 automatically), and be easier to use: the testcase for this is 6687 significantly shorter than for the old API. Remove 6688 StringAndFrequency from API - it's now just an internal class. 6689 * api/matchspy.cc: Test new access method for top_values. 6690 6691Wed Feb 03 06:46:37 GMT 2010 Olly Betts <olly@survex.com> 6692 6693 * AUTHORS: Add Emmanuel Engelhart for reporting problems indexing 6694 Burmese text. 6695 6696Wed Feb 03 06:32:03 GMT 2010 Olly Betts <olly@survex.com> 6697 6698 * include/xapian/unicode.h,queryparser/queryparser.lemony, 6699 queryparser/termgenerator_internal.cc: Add ENCLOSING_MARK and 6700 COMBINING_SPACING_MARK categories to is_wordchar(). Make 6701 TermGenerator and QueryParser ignore several zero-width space 6702 characters. 6703 * tests/queryparsertest.cc,tests/termgentest.cc: Add test coverage for 6704 the changes. 6705 6706Wed Feb 03 03:14:30 GMT 2010 Olly Betts <olly@survex.com> 6707 6708 * queryparser/queryparser.lemony: Fix apostrophe abuse in comment. 6709 6710Wed Feb 03 01:23:04 GMT 2010 Olly Betts <olly@survex.com> 6711 6712 * queryparser/queryparser.lemony: Make TermList::as_opwindow_query() 6713 private. 6714 6715Wed Feb 03 01:19:19 GMT 2010 Olly Betts <olly@survex.com> 6716 6717 * common/replication.h: Use "" not <> for including API headers. 6718 6719Wed Feb 03 01:08:58 GMT 2010 Olly Betts <olly@survex.com> 6720 6721 * common/replication.h: Remove warnings about this being an 6722 experimental API, which no longer make sense now it is internal. 6723 6724Tue Feb 02 21:59:59 GMT 2010 Olly Betts <olly@survex.com> 6725 6726 * tests/generate-api_generated: Remove DatabaseReplica. 6727 6728Tue Feb 02 17:01:23 GMT 2010 Richard Boulton <richard@tartarus.org> 6729 6730 * include/xapian/document.h: Add a note to the API documentation 6731 for the Document class about the potential issues involved in 6732 lazy loading. Fixes ticket #421. 6733 6734Tue Feb 02 16:21:39 GMT 2010 Richard Boulton <richard@tartarus.org> 6735 6736 * docs/categorisation.rst: Remove documentation of NumericRanges 6737 stuff for now, since the NumericRanges is no longer on trunk. 6738 6739Tue Feb 02 15:59:14 GMT 2010 Richard Boulton <richard@tartarus.org> 6740 6741 * common/replication.h: Put the ReplicationInfo, DatabaseMaster and 6742 DatabaseReplica symbols back into public visibility - they're 6743 needed for the tests, and for the command line scripts. 6744 6745Tue Feb 02 15:06:44 GMT 2010 Richard Boulton <richard@tartarus.org> 6746 6747 * api/matchspy.cc,include/xapian/matchspy.h,tests/api_matchspy.cc: 6748 Remove NumericRanges from trunk - their API is still uncertain, 6749 so I want to do a bit more development work on them on the 6750 matchspy branch before committing to support them for several 6751 years. 6752 6753Tue Feb 02 13:45:24 GMT 2010 Richard Boulton <richard@tartarus.org> 6754 6755 * api/replication.cc,backends/brass/brass_database.cc, 6756 backends/chert/chert_database.cc,backends/flint/flint_database.cc, 6757 common/,include/Makefile.mk,include/xapian/replication.h, 6758 net/replicatetcpclient.cc,net/replicatetcpserver.cc, 6759 tests/generate-api_generated: Move replication support out of the 6760 public API headers and public symbol visibility. Access to 6761 replication, for now, is via the command-line scripts: this is 6762 similiar to the access to running a remote database server, and 6763 the access to database compaction and checking. See ticket #347 6764 for some commentary. 6765 6766Tue Feb 02 07:22:28 GMT 2010 Olly Betts <olly@survex.com> 6767 6768 * Backport change from chert: 6769 * backends/flint/flint_alltermslist.h,backends/flint/flint_spelling.h, 6770 backends/flint/flint_spellingwordslist.h: Add missing std:: 6771 qualifiers. 6772 6773Tue Feb 02 07:12:51 GMT 2010 Olly Betts <olly@survex.com> 6774 6775 * docs/doxygen_api.conf.in: Add generated include/xapian/error.h so 6776 that Xapian::Error and subclass API docs are collated for a VPATH 6777 build. 6778 * docs/Makefile.am: Add regression test to make sure doxygen collated 6779 API docs for Xapian::RuntimeError. 6780 6781Tue Feb 02 06:52:55 GMT 2010 Olly Betts <olly@survex.com> 6782 6783 * Backport change from brass: 6784 * backends/chert/chert_alltermslist.h,backends/chert/chert_spelling.h, 6785 backends/chert/chert_spellingwordslist.h: Add missing std:: 6786 qualifiers. 6787 6788Tue Feb 02 01:34:52 GMT 2010 Richard Boulton <richard@tartarus.org> 6789 6790 * docs/replication.rst: Add note about not using reopen() with 6791 databases being updated by the replication client. 6792 6793Tue Feb 02 01:17:34 GMT 2010 Richard Boulton <richard@tartarus.org> 6794 6795 * api/matchspy.cc,docs/categorisation.rst,include/xapian/matchspy.h, 6796 tests/api_matchspy.cc: Remove score_evenness(), since it turned 6797 out to be of little or no use in practical situations. See 6798 ticket #435 for more details. 6799 6800Mon Feb 01 21:53:41 GMT 2010 Olly Betts <olly@survex.com> 6801 6802 * backends/brass/brass_table.cc,backends/chert/chert_table.cc: Use 6803 LOGCALL_VOID for add() methods which now return void. 6804 6805Mon Feb 01 21:50:05 GMT 2010 Olly Betts <olly@survex.com> 6806 6807 * Backport change from brass: 6808 * backends/flint/flint_table.cc,backends/flint/flint_table.h: 6809 Fix documentation comments for FlintTable::add() and 6810 FlintTable::del() - errors actually cause exceptions, not a false 6811 return value, and del() returns true if it actually removed an entry. 6812 Fix FlintTable::add() to throw an exception for the (hopefully never 6813 hit) case when the tag value is too insanely large to handle. With 6814 that FlintTable::add() always returns true, and we never check the 6815 return value anyway, so just make it return void. 6816 6817Mon Feb 01 21:37:33 GMT 2010 Olly Betts <olly@survex.com> 6818 6819 * Backport change from brass: 6820 * backends/chert/chert_table.cc,backends/chert/chert_table.h: 6821 Fix documentation comments for ChertTable::add() and 6822 ChertTable::del() - errors actually cause exceptions, not a false 6823 return value, and del() returns true if it actually removed an entry. 6824 Fix ChertTable::add() to throw an exception for the (hopefully never 6825 hit) case when the tag value is too insanely large to handle. With 6826 that ChertTable::add() always returns true, and we never check the 6827 return value anyway, so just make it return void. 6828 6829Mon Feb 01 16:02:27 GMT 2010 Richard Boulton <richard@tartarus.org> 6830 6831 * bin/xapian-check-brass.cc,bin/xapian-check-chert.cc: Fix checking 6832 of the METAINFO key in chert and brass. For small databases, the 6833 statistics fit in few enough bytes that the trailing 6834 unpack_uint_last() moved to end, so errors weren't being 6835 reported, but for large databases the check was incorrectly 6836 reporting an error. 6837 6838Mon Feb 01 09:24:14 GMT 2010 Olly Betts <olly@survex.com> 6839 6840 * backends/brass/brass_table.cc,backends/brass/brass_table.h: 6841 Fix documentation comments for BrassTable::add() and 6842 BrassTable::del() - errors actually cause exceptions, not a false 6843 return value, and del() returns true if it actually removed an entry. 6844 Fix BrassTable::add() to throw an exception for the (hopefully never 6845 hit) case when the tag value is too insanely large to handle. With 6846 that BrassTable::add() always returns true, and we never check the 6847 return value anyway, so just make it return void. 6848 6849Mon Feb 01 01:45:09 GMT 2010 Olly Betts <olly@survex.com> 6850 6851 * backends/brass/brass_alltermslist.h,backends/brass/brass_spelling.h, 6852 backends/brass/brass_spellingwordslist.h: Add missing std:: 6853 qualifiers. 6854 6855Mon Feb 01 00:57:21 GMT 2010 Olly Betts <olly@survex.com> 6856 6857 * backends/flint/flint_spelling.h: Add missing std:: qualifier. 6858 6859Mon Feb 01 00:52:27 GMT 2010 Olly Betts <olly@survex.com> 6860 6861 * backends/brass/brass_spelling.h,backends/chert/chert_spelling.h: 6862 Add missing std:: qualifier. 6863 6864Sun Jan 31 23:35:52 GMT 2010 Olly Betts <olly@survex.com> 6865 6866 * backends/chert/chert_termlisttable.cc, 6867 backends/chert/chert_termlisttable.h: Remove 6868 ChertTermListTable::get_doclength() as it is no longer used. 6869 6870Sun Jan 31 23:19:50 GMT 2010 Olly Betts <olly@survex.com> 6871 6872 * backends/brass/brass_termlisttable.cc, 6873 backends/brass/brass_termlisttable.h: Remove 6874 BrassTermListTable::get_doclength() as it is no longer used. 6875 6876Sun Jan 31 09:19:39 GMT 2010 Olly Betts <olly@survex.com> 6877 6878 * bin/xapian-inspect.cc: "until" improvements: 6879 + No longer reports the current key and tag. 6880 + If passed a key before the current one, no longer silently advances 6881 to the next key. 6882 + Explicitly says if the specified key doesn't exist, including where 6883 we ended up. 6884 6885Sun Jan 31 00:19:41 GMT 2010 Olly Betts <olly@survex.com> 6886 6887 * tests/api_compact.cc: Use a single Document object rather than 6888 creating the same one 10000 times. 6889 6890Sun Jan 31 00:08:38 GMT 2010 Olly Betts <olly@survex.com> 6891 6892 * tests/api_compact.cc: Move make_multichunk_db() before the testcase 6893 which uses it, rather than between two helper functions for another 6894 testcase. 6895 6896Sun Jan 31 00:07:03 GMT 2010 Olly Betts <olly@survex.com> 6897 6898 * tests/api_compact.cc: Remove confusing comment, cut-and-pasted from 6899 elsewhere and not relevant here. 6900 6901Fri Jan 29 06:13:18 GMT 2010 Olly Betts <olly@survex.com> 6902 6903 * backends/brass/brass_metadata.cc,backends/chert/chert_metadata.cc, 6904 backends/flint/flint_metadata.cc: Correct filenames in @file. 6905 6906Thu Jan 28 22:34:03 GMT 2010 Richard Boulton <richard@tartarus.org> 6907 6908 * tests/api_compact.cc: Add check that xapian-compact works 6909 correctly on a database with multiple chunks for a single term; 6910 this is a regression test for ticket #427 6911 6912Thu Jan 28 22:33:16 GMT 2010 Richard Boulton <richard@tartarus.org> 6913 6914 * bin/xapian-compact-brass.cc,bin/xapian-compact-chert.cc: Don't 6915 cut the extra byte of doclen chunk keys. 6916 6917Thu Jan 28 21:23:48 GMT 2010 Richard Boulton <richard@tartarus.org> 6918 6919 * bin/xapian-compact-flint.cc: Revert previous patch for flint - it 6920 only applies to new key format used by chert and brass. 6921 6922Thu Jan 28 21:13:38 GMT 2010 Richard Boulton <richard@tartarus.org> 6923 6924 * bin/xapian-compact-brass.cc,bin/xapian-compact-chert.cc, 6925 bin/xapian-compact-flint.cc: Partial fix for #427: truncate 6926 follow-on keys for postlist chunks fully (was leaving the 6927 trailing 0-byte, causing the code for chert and brass to 6928 incorrectly think a new chunk had started, resulting in a 6929 truncated posting list. 6930 6931Thu Jan 28 20:42:47 GMT 2010 Richard Boulton <richard@tartarus.org> 6932 6933 * bin/xapian-inspect.cc: Add "until" command to display keys until 6934 a specified one. Useful for seeing all keys for a particular 6935 posting list, etc. 6936 6937Thu Jan 28 01:31:54 GMT 2010 Olly Betts <olly@survex.com> 6938 6939 * tests/dbcheck.cc: Whitespace tweak. 6940 6941Wed Jan 27 06:29:21 GMT 2010 Olly Betts <olly@survex.com> 6942 6943 * tests/dbcheck.cc: <config.h> not "config.h". 6944 6945Wed Jan 27 04:20:42 GMT 2010 Olly Betts <olly@survex.com> 6946 6947 * backends/brass/brass_inverter.h: Make two getters const. 6948 6949Wed Jan 27 04:01:17 GMT 2010 Olly Betts <olly@survex.com> 6950 6951 * backends/chert/chert_database.cc,backends/chert/chert_database.h, 6952 backends/flint/flint_database.cc,backends/flint/flint_database.h: 6953 Add ChertWritableDatabase::insert_mod_plist() to handle the simpler 6954 case where we know the document doesn't already exist, to avoid 6955 adding extra code to that common path over the code we had before 6956 the #250-related changes. 6957 6958Tue Jan 26 03:25:59 GMT 2010 Olly Betts <olly@survex.com> 6959 6960 * tests/internaltest.cc: In testcase pack_uint_preserving_sort1, use 6961 data() not c_str(), calculate the end position just once, and use 6962 swap to copy the current packed to prev_packed. 6963 6964Fri Jan 15 12:51:38 GMT 2010 Olly Betts <olly@survex.com> 6965 6966 * backends/chert/chert_database.cc,backends/flint/flint_database.cc: 6967 Fix to use 'M' as the flag character for modified entries in 6968 modplists (not 'U'). We never explicitly check for 'M' (we check for 6969 'A' vs 'D' vs something else), so this isn't a functional change, 6970 but rather making the values consistent (as they were before the 6971 fix for #250). 6972 6973Fri Jan 15 08:25:14 GMT 2010 Olly Betts <olly@survex.com> 6974 6975 * backends/chert/chert_database.cc,backends/chert/chert_database.h, 6976 backends/flint/flint_database.cc,backends/flint/flint_database.h: 6977 Use Xapian::termcount_diff instead of Xapian::termcount for 6978 parameters of add_freq_delta() which can be signed. Fix parameter 6979 docs to say "change" instead of "increase". 6980 6981Fri Jan 15 06:05:28 GMT 2010 Olly Betts <olly@survex.com> 6982 6983 * tests/api_replacedoc.cc: Just test that begin == end when we expect 6984 no positions rather than generating a string representation and 6985 then testing if it is empty. 6986 6987Thu Jan 14 11:17:36 GMT 2010 Olly Betts <olly@survex.com> 6988 6989 * HACKING: Auto-enabling of -Werror is now done for GCC 4.1 or newer. 6990 6991Thu Jan 14 05:06:42 GMT 2010 Olly Betts <olly@survex.com> 6992 6993 * HACKING: Include the MIT licence text in HACKING itself. 6994 * COPYING_MIT: Remove external copy of text - it could mislead users 6995 into thinking that this is the current licence of Xapian. 6996 6997Sun Jan 10 07:36:16 GMT 2010 Olly Betts <olly@survex.com> 6998 6999 * configure.ac:With --enable-maintainer-mode, enable -Werror for GCC 7000 >= 4.1 rather than >= 4.0 as Apple's GCC 4.0 gives bogus 7001 uninitialised variable warnings for pack.h. 7002 7003Sat Jan 09 00:56:06 GMT 2010 Olly Betts <olly@survex.com> 7004 7005 * queryparser/queryparser.lemony: Add support for quoting boolean terms 7006 so they can contain arbitrary characters (partly addresses 7007 ticket#128). 7008 * tests/queryparsertest.cc: Add test coverage. 7009 7010Fri Jan 08 13:25:25 GMT 2010 Richard Boulton <richard@tartarus.org> 7011 7012 * tests/api_compact.cc: Add copyright note for my changes committed 7013 earlier today. 7014 7015Fri Jan 08 12:19:07 GMT 2010 Olly Betts <olly@survex.com> 7016 7017 * bin/xapian-compact-brass.cc,bin/xapian-compact-chert.cc: Fix merging 7018 of databases by xapian-compact for brass and chert. 7019 * tests/api_compact.cc: Enable test compactmerge1 for brass and chert 7020 as a regression test. 7021 7022Fri Jan 08 11:26:41 GMT 2010 Olly Betts <olly@survex.com> 7023 7024 * backends/brass/brass_database.cc,backends/chert/chert_database.cc, 7025 backends/flint/flint_database.cc: Rearrange comparison between old 7026 and new termlists to avoid double check of termlist.at_end(). 7027 7028Fri Jan 08 11:22:30 GMT 2010 Richard Boulton <richard@tartarus.org> 7029 7030 * tests/api_compact.cc: Add test of xapian-compact when merging 7031 databases. Currently, the generated databases are broken for 7032 chert and brass, so skipping the test for those to avoid breaking 7033 the snapshotter. 7034 7035Fri Jan 08 11:13:13 GMT 2010 Richard Boulton <richard@tartarus.org> 7036 7037 * tests/: Move routines for helping to check database contents and 7038 consistency into dbcheck.cc, with headers in dbcheck.h. 7039 7040Fri Jan 08 10:07:09 GMT 2010 Richard Boulton <richard@tartarus.org> 7041 7042 * tests/internaltest.cc: Add test_pack_uint_preserving_sort1() 7043 which I wrote when suspicious of that function - passes fine, but 7044 probably worth keeping the test coverage. 7045 7046Fri Jan 08 00:23:06 GMT 2010 Olly Betts <olly@survex.com> 7047 7048 * AUTHORS: Add Henry Combrinck for Search::Xapian patches. 7049 7050Thu Jan 07 15:51:57 GMT 2010 Richard Boulton <richard@tartarus.org> 7051 7052 * api/postingsource.cc: For ValueWeightPostingSources for which 7053 there are no entries, the upper bound returned will be an empty 7054 string, which translated to -inf when passed to 7055 sortable_unserialise(). This was causing the matcher to get 7056 confused and return no results in some queries involving such a 7057 posting source. This commit fixes this. 7058 * tests/api_postingsource.cc: Add emptyvalwtsource1 as a regression 7059 test for this, and a general test of this area of code. 7060 7061Thu Jan 07 09:17:58 GMT 2010 Olly Betts <olly@survex.com> 7062 7063 * backends/brass/brass_inverter.h: Fix comment typo. 7064 7065Wed Dec 30 11:46:45 GMT 2009 Richard Boulton <richard@tartarus.org> 7066 7067 * backends/brass/brass_database.cc,backends/chert/chert_database.cc, 7068 backends/flint/flint_database.cc: When updating documents, don't 7069 update posting entries which havn't changed. Largely fixes 7070 ticket #250. 7071 * AUTHORS: Add Kan-Ru Chen, since his patch attached to ticket #250 7072 was the basis of this fix. 7073 7074Wed Dec 30 11:44:18 GMT 2009 Richard Boulton <richard@tartarus.org> 7075 7076 * backends/brass/brass_inverter.h: Add methods for updating an 7077 existing posting, so we don't have to remove then re-add it. 7078 7079Wed Dec 30 11:41:57 GMT 2009 Richard Boulton <richard@tartarus.org> 7080 7081 * backends/brass/brass_database.h: Remove old unused members: 7082 total_length and lastdocid. 7083 7084Wed Dec 30 01:07:04 GMT 2009 Richard Boulton <richard@tartarus.org> 7085 7086 * backends/chert/chert_database.h: Remove old unused members: 7087 total_length and lastdocid. 7088 7089Wed Dec 30 00:21:03 GMT 2009 Richard Boulton <richard@tartarus.org> 7090 7091 * backends/chert/chert_database.cc,backends/chert/chert_database.h, 7092 backends/flint/flint_database.cc,backends/flint/flint_database.h: 7093 Move frequently repeated code for updating the freq_deltas and 7094 mod_plists items into separate functions. Makes the code 7095 considerably clearer, and prepares the way for applying the patch 7096 to fix ticket #250. 7097 7098Wed Dec 30 00:07:33 GMT 2009 Richard Boulton <richard@tartarus.org> 7099 7100 * tests/api_replacedoc.cc: Add a few more sequences of operations 7101 which look worth testing, after looking at the code implementing 7102 replace_document(). 7103 7104Tue Dec 29 22:29:08 GMT 2009 Richard Boulton <richard@tartarus.org> 7105 7106 * tests/api_replacedoc.cc: Check consistency of the posting lists 7107 with the termlists, and consistency of the statistics, at each 7108 step of modtermwdf1. Also, add some other terms to the document, 7109 so we can check the stored doclength for terms which haven't been 7110 modified. 7111 7112Sun Dec 27 14:56:16 GMT 2009 Richard Boulton <richard@tartarus.org> 7113 7114 * backends/chert/chert_modifiedpostlist.cc, 7115 backends/flint/flint_modifiedpostlist.cc: Report the wdf from the 7116 modifications, rather the sum of the wdf from the modifications 7117 and the old wdf. The old behaviour was just wrong, but we had no 7118 test coverage for this until the last commit. 7119 7120Sun Dec 27 13:34:06 GMT 2009 Richard Boulton <richard@tartarus.org> 7121 7122 * tests/api_replacedoc.cc: Add test of the contents of the 7123 postlist of a term which is being modified. Also, tidy up the 7124 output of docterms_to_string() to skip any empty position lists. 7125 7126Sat Dec 26 19:21:19 GMT 2009 Richard Boulton <richard@tartarus.org> 7127 7128 * tests/api_replacedoc.cc: Extend test to cover removing a term but 7129 not deleting it, and finally deleting the document. 7130 7131Thu Dec 24 19:18:41 GMT 2009 Richard Boulton <richard@tartarus.org> 7132 7133 * tests/api_replacedoc.cc: Expand test to cover some modification 7134 to the positional information. 7135 7136Thu Dec 24 19:06:32 GMT 2009 Richard Boulton <richard@tartarus.org> 7137 7138 * tests/api_replacedoc.cc: Add some more sets of modification 7139 operations to the tests. 7140 7141Thu Dec 24 18:55:37 GMT 2009 Richard Boulton <richard@tartarus.org> 7142 7143 * tests/api_replacedoc.cc: Add test modtermwdf1, which tests a lot 7144 more cases where documents are modified. 7145 7146Thu Dec 24 14:36:38 GMT 2009 Olly Betts <olly@survex.com> 7147 7148 * tests/: Canonicalise the conditions on testcases. 7149 7150Thu Dec 24 14:08:59 GMT 2009 Olly Betts <olly@survex.com> 7151 7152 * tests/api_closedb.cc: Fix typo in last commit. 7153 7154Thu Dec 24 13:39:28 GMT 2009 Olly Betts <olly@survex.com> 7155 7156 * tests/api_closedb.cc: Check WritableDatabase::close() during a 7157 transaction does *NOT* implicitly call commit(). 7158 7159Thu Dec 24 13:07:09 GMT 2009 Olly Betts <olly@survex.com> 7160 7161 * backends/brass/brass_database.cc,backends/brass/brass_database.h, 7162 backends/chert/chert_database.cc,backends/chert/chert_database.h, 7163 backends/flint/flint_database.cc,backends/flint/flint_database.h: 7164 Fix WritableDatabase::close() to commit() changes (unless a 7165 transaction is in progress). 7166 * tests/api_closedb.cc: Add regression test closedb4. 7167 7168Wed Dec 23 00:26:34 GMT 2009 Olly Betts <olly@survex.com> 7169 7170 * backends/brass/brass_database.cc,backends/brass/brass_inverter.cc, 7171 backends/brass/brass_inverter.h: For allterms iteration of a 7172 WritableDatabase, if a prefix is specified only flush changes for 7173 terms with that prefix. Also, don't flush document lengths for 7174 allterms iteration. 7175 7176Tue Dec 22 22:48:55 GMT 2009 Olly Betts <olly@survex.com> 7177 7178 * bin/xapian-check.cc: Fixed reversed checks for chert and flint being 7179 enabled in r13781. 7180 7181Tue Dec 22 14:20:24 GMT 2009 Olly Betts <olly@survex.com> 7182 7183 * tests/harness/testrunner.cc: Add brass variants of multi and remote 7184 backends. 7185 7186Tue Dec 22 14:15:43 GMT 2009 Olly Betts <olly@survex.com> 7187 7188 * bin/: Implement xapian-check and xapian-compact support for brass. 7189 7190Tue Dec 22 13:41:08 GMT 2009 Olly Betts <olly@survex.com> 7191 7192 * bin/: Split the chert-specific checking code into a separate file 7193 so xapian-check.cc is just the driver code. 7194 7195Tue Dec 22 12:47:59 GMT 2009 Olly Betts <olly@survex.com> 7196 7197 * backends/brass/: Add new Inverter class to encapsulate the inversion 7198 data structures and associated code. Instead of carefully iterating 7199 modified posting lists and document length lists, just flush the 7200 particular list needed to disk and iterate that. This is much 7201 simpler and more obviously free of subtle bugs, and means we don't 7202 need to use data structures which allow such iteration. 7203 7204Tue Dec 22 12:25:04 GMT 2009 Olly Betts <olly@survex.com> 7205 7206 * backends/brass/,backends/dbfactory.cc,include/xapian/dbfactory.h, 7207 include/xapian/valueiterator.h,include/xapian/version_h.cc, 7208 tests/harness/Makefile.mk: Fix to actually build brass. Testsuite 7209 doesn't currently all pass. 7210 7211Tue Dec 22 04:26:17 GMT 2009 Olly Betts <olly@survex.com> 7212 7213 * HACKING,INSTALL,backends/Makefile.mk,backends/brass/, 7214 backends/chert/dir_contents,backends/databasereplicator.cc, 7215 backends/dbfactory.cc,common/pack.h,configure.ac,docs/,tests/, 7216 tests/harness/: Add new development backend called "brass" and 7217 promote "chert" to being the stable backend. 7218 7219Mon Dec 21 09:41:57 GMT 2009 Olly Betts <olly@survex.com> 7220 7221 * backends/chert/chert_database.cc: Update comment about 7222 MAX_SAFE_TERM_LENGTH to reflect the key format changes. 7223 7224Mon Dec 21 08:12:55 GMT 2009 Olly Betts <olly@survex.com> 7225 7226 * backends/chert/chert_alldocsmodifiedpostlist.cc, 7227 backends/chert/chert_alldocsmodifiedpostlist.h: Change reference 7228 parameter to const reference. 7229 7230Mon Dec 21 03:19:09 GMT 2009 Olly Betts <olly@survex.com> 7231 7232 * backends/chert/chert_database.cc,backends/flint/flint_database.cc: 7233 Replacing a document deleted since the last flush failed to update 7234 the collection frequency and wdf, and caused an assertion failure 7235 when assertions were enabled. 7236 * tests/api_backend.cc: Add regression test replacedoc8. 7237 7238Sun Dec 20 07:26:30 GMT 2009 Olly Betts <olly@survex.com> 7239 7240 * configure.ac: Divert to AS_MESSAGE_LOG_FD rather than literal fd 5. 7241 Divert more output to AS_MESSAGE_LOG_FD rather than /dev/null. 7242 7243Thu Dec 17 13:53:31 GMT 2009 Olly Betts <olly@survex.com> 7244 7245 * NEWS: Update from ChangeLog. 7246 7247Thu Dec 17 13:36:54 GMT 2009 Olly Betts <olly@survex.com> 7248 7249 * Backport change from chert: 7250 * backends/flint/flint_alltermslist.cc: Tweak to not apply the 7251 prefix test in the "at end" case. 7252 * backends/flint/flint_alltermslist.cc: There's no point checking 7253 follow-on chunks match the prefix - the first chunk we'll hit 7254 which doesn't match has to be an initial chunk for a term. 7255 7256Thu Dec 17 11:57:31 GMT 2009 Olly Betts <olly@survex.com> 7257 7258 * tests/api_replacedoc.cc: Fix to test the right variable. 7259 7260Thu Dec 17 11:16:51 GMT 2009 Olly Betts <olly@survex.com> 7261 7262 * tests/api_wrdb.cc: The regression test replacedoc5 no longer actually 7263 checks for the situation it was written for, due to the shortcutting 7264 we now do in flint and chert when replacing a document with itself, 7265 so extend it with a check with that behaviour suppressed (fortunately 7266 it still passes). 7267 7268Wed Dec 16 12:03:13 GMT 2009 Olly Betts <olly@survex.com> 7269 7270 * backends/chert/,bin/Makefile.mk,common/pack.h: Change the packing 7271 of uints and strings into sortable keys in chert databases, which 7272 reduces database size by 2.5% in tests. This means an incompatible 7273 change in the chert format. 7274 * bin/xapian-chert-update.cc: Utility to update a chert database from 7275 the old format to the new format. It works much like xapian-compact 7276 so should take a similar amount of time (and results in a compact 7277 database). 7278 * tests/api_wrdb.cc: Adjust the test which checks a string of zero 7279 bytes fails in the correct way - 126 zero bytes is now handled, so 7280 we need 127 to check the failure mode. 7281 7282Wed Dec 16 11:52:27 GMT 2009 Olly Betts <olly@survex.com> 7283 7284 * bin/xapian-compact.cc: Ensure that the resultant database has a 7285 fresh UUID (previously chert copied the UUID from the first input, 7286 while flint didn't set a UUID so one was generated on demand when 7287 next requested, if the database is writable. 7288 * tests/api_compact.cc: Add tests that a UUID is set and that it is 7289 different from that of the input. 7290 7291Wed Dec 16 09:57:27 GMT 2009 Olly Betts <olly@survex.com> 7292 7293 * examples/quest.cc: If no database is specified, still parse the query 7294 and report get_description() on it as this provides a useful way to 7295 see how a query parses. 7296 7297Wed Dec 16 00:40:51 GMT 2009 Olly Betts <olly@survex.com> 7298 7299 * languages/german.sbl,languages/german2.sbl: Update the german and 7300 german2 stemming algorithms to the latest versions from Snowball. 7301 These add an extra rule for the "-nisse" ending. 7302 7303Tue Dec 15 13:08:33 GMT 2009 Olly Betts <olly@survex.com> 7304 7305 * bin/: Split apart the flint and chert compaction code. Should be 7306 no change in functionality. 7307 7308Tue Dec 15 10:11:10 GMT 2009 Olly Betts <olly@survex.com> 7309 7310 * backends/chert/chert_alltermslist.cc: Tweak to not apply the 7311 prefix test in the "at end" case. 7312 7313Tue Dec 15 09:40:19 GMT 2009 Olly Betts <olly@survex.com> 7314 7315 * backends/chert/chert_alltermslist.cc: There's no point checking 7316 follow-on chunks match the prefix - the first chunk we'll hit 7317 which doesn't match has to be an initial chunk for a term. 7318 7319Tue Dec 15 08:24:04 GMT 2009 Olly Betts <olly@survex.com> 7320 7321 * include/xapian/: Convert DerefStringWrapper_ to a templated 7322 DerefWrapper_ and use it instead of DocIDWrapper and TermPosWrapper. 7323 7324Tue Dec 15 08:23:08 GMT 2009 Olly Betts <olly@survex.com> 7325 7326 * include/xapian/query.h: Mark Query::Internal as @private for doxygen. 7327 7328Tue Dec 15 03:59:44 GMT 2009 Olly Betts <olly@survex.com> 7329 7330 * common/pack.h: Return false not true if 7331 unpack_string_preserving_sort() fails. Add assertions that the 7332 source pointer isn't NULL to all the functions. 7333 7334Tue Dec 15 02:30:24 GMT 2009 Olly Betts <olly@survex.com> 7335 7336 * examples/delve.cc: Improve phrasing ("unique terms" -> "distinct 7337 terms"). 7338 7339Sat Dec 12 13:07:51 GMT 2009 Richard Boulton <richard@tartarus.org> 7340 7341 * tests/Makefile.am,tests/api_posdb.cc,tests/api_replacedoc.cc: 7342 Split my recently added replacedoc test out into a new file. 7343 7344Sat Dec 12 12:58:22 GMT 2009 Richard Boulton <richard@tartarus.org> 7345 7346 * tests/api_posdb.cc: Extend test of document modification to cover 7347 removing the last term in the document, too. 7348 7349Sat Dec 12 12:57:43 GMT 2009 Richard Boulton <richard@tartarus.org> 7350 7351 * backends/chert/chert_database.cc,backends/flint/flint_database.cc: 7352 Fix comparison of old term with new. 7353 7354Sat Dec 12 11:30:23 GMT 2009 Richard Boulton <richard@tartarus.org> 7355 7356 * backends/chert/chert_database.cc,backends/flint/flint_database.cc, 7357 tests/api_posdb.cc: Delete old positionlist chunks in 7358 replace_document(). Uncomment part of test which tested this. 7359 7360Sat Dec 12 04:24:42 GMT 2009 Olly Betts <olly@survex.com> 7361 7362 * backends/chert/chert_database.cc,backends/flint/flint_database.cc, 7363 common/document.h: If a document is replaced with itself unmodified, 7364 we no longer increase the automatic flush counter. 7365 * tests/api_backend.cc: Add regression test replacedoc7. 7366 7367Fri Dec 11 19:39:34 GMT 2009 Richard Boulton <richard@tartarus.org> 7368 7369 * tests/api_posdb.cc: Add a basic test of adding a document, and 7370 modifying its positions. Found one bug already, but the line 7371 which triggers this is commented out for now so that we don't 7372 break the snapshotters until it's fixed. 7373 7374Fri Dec 11 16:51:22 GMT 2009 Richard Boulton <richard@tartarus.org> 7375 7376 * common/documentterm.h: Fix some documentation comments which were 7377 trivially incorrect or incomplete. 7378 7379Fri Dec 11 11:05:19 GMT 2009 Richard Boulton <richard@tartarus.org> 7380 7381 * COPYING_MIT,HACKING: Add details of our policy for accepting 7382 patches. This has informally been true for a while, but it 7383 probably helps to tell people about it! 7384 7385Tue Dec 08 13:15:28 GMT 2009 Olly Betts <olly@survex.com> 7386 7387 * backends/chert/chert_cursor.h: Fix to build with --enable-assertions. 7388 7389Tue Dec 08 13:05:36 GMT 2009 Olly Betts <olly@survex.com> 7390 7391 * backends/chert/chert_cursor.cc,backends/chert/chert_cursor.h, 7392 backends/chert/chert_postlist.cc: Add MutableChertCursor subclass of 7393 ChertCursor and implement del() there rather than in ChertCursor. 7394 This means we can use the C++ type system to track whether we got 7395 a const or non-const ChertTable * and so whether it is safe to 7396 cast away that const and delete the entry the cursor points to. 7397 7398Tue Dec 08 12:03:08 GMT 2009 Olly Betts <olly@survex.com> 7399 7400 * backends/chert/chert_database.cc,backends/chert/chert_table.cc, 7401 backends/chert/chert_table.h,backends/flint/flint_database.cc, 7402 backends/flint/flint_table.cc,backends/flint/flint_table.h, 7403 bin/xapian-compact.cc,bin/xapian-inspect.cc: Add empty() method to 7404 FlintTable and ChertTable which works completely reliably even if 7405 the item count has wrapped. 7406 * tests/api_closedb.cc: Add closedb3 for coverage of get_doccount() and 7407 has_positions(). 7408 7409Tue Dec 08 08:23:12 GMT 2009 Olly Betts <olly@survex.com> 7410 7411 * backends/chert/chert_cursor.h: Tweak whitespace in comment. 7412 7413Mon Dec 07 04:56:42 GMT 2009 Olly Betts <olly@survex.com> 7414 7415 * backends/flint/flint_database.cc,backends/flint/flint_synonym.h: 7416 Eliminate "size" private member of FlintSynonymTermList which is set 7417 but never used. 7418 7419Mon Dec 07 04:49:54 GMT 2009 Olly Betts <olly@survex.com> 7420 7421 * backends/chert/chert_database.cc,backends/chert/chert_synonym.h: 7422 Eliminate "size" private member of ChertSynonymTermList which is set 7423 but never used. 7424 7425Mon Dec 07 04:32:46 GMT 2009 Olly Betts <olly@survex.com> 7426 7427 * backends/chert/: Use > 32 bit type to keep count of items in a 7428 table. This fixes misreporting by xapian-check, and in the very 7429 unlikely case where the counter has just wrapped to 0, makes 7430 xapian-compact not mistakenly think tables are empty and the 7431 matcher ignore positional information. 7432 7433Thu Dec 03 10:08:28 GMT 2009 Richard Boulton <richard@tartarus.org> 7434 7435 * tests/api_compact.cc: Cast character value in string constructor 7436 to a char; without this we were getting a stack overflow and 7437 general nastiness on i386, which we hypothesise was due to the 7438 wrong overload for string() being picked. 7439 7440Wed Dec 02 23:10:50 GMT 2009 Olly Betts <olly@survex.com> 7441 7442 * backends/flint_lock.cc: Add missing include of xapian/error.h. 7443 This was causing the snapshot builder to fail, but worked OK 7444 in my tree for reasons I don't understand. 7445 7446Wed Dec 02 14:30:40 GMT 2009 Olly Betts <olly@survex.com> 7447 7448 * backends/chert/chert_database.cc, 7449 backends/chert/chert_databasereplicator.cc, 7450 backends/flint/flint_database.cc, 7451 backends/flint/flint_databasereplicator.cc,backends/flint_lock.cc, 7452 backends/flint_lock.h: Factor out 4 copies of the same code to 7453 report why Xapian failed to get a lock. 7454 7455Wed Dec 02 10:05:27 GMT 2009 Olly Betts <olly@survex.com> 7456 7457 * backends/Makefile.mk,backends/chert/,backends/flint/, 7458 backends/flint_lock.cc,backends/flint_lock.h: Factor out a single 7459 version of the "flint-compatible locking code" and use it from both 7460 flint and chert. 7461 7462Wed Dec 02 02:49:14 GMT 2009 Olly Betts <olly@survex.com> 7463 7464 * tests/api_compact.cc,tests/apitest.cc,tests/apitest.h, 7465 tests/harness/backendmanager.cc,tests/harness/backendmanager.h: Add 7466 get_database_path() variant which takes a generator function and use 7467 it so that the right database names are used in compactnorenumber1. 7468 7469Tue Dec 01 12:37:24 GMT 2009 Olly Betts <olly@survex.com> 7470 7471 * tests/apitest.cc,tests/harness/backendmanager.cc, 7472 tests/harness/backendmanager.h: Move generator function variant of 7473 get_database() to BackendManager, and tweak it to build the database 7474 under a temporary path and rename it once built, to avoid leaving a 7475 partial database in place if interrupted. 7476 * tests/perftest/perftest_matchdecider.cc: Use this mechanism to lazily 7477 generate test databases. 7478 * tests/harness/: Remove the optional name parameter from various 7479 BackendManager methods as it was only used by perftest and is no 7480 longer needed. 7481 7482Tue Dec 01 11:00:35 GMT 2009 Olly Betts <olly@survex.com> 7483 7484 * tests/apitest.cc,tests/apitest.h: Add mechanism for caching databases 7485 generated by a function. 7486 * tests/api_compact.cc: Use it for compactnorenumber1. 7487 7488Tue Dec 01 10:59:50 GMT 2009 Olly Betts <olly@survex.com> 7489 7490 * tests/api_db.cc: Rename matchfunctor<n> to matchdecider<n> to match 7491 current terminology. 7492 7493Tue Dec 01 10:51:23 GMT 2009 Olly Betts <olly@survex.com> 7494 7495 * tests/api_db.cc: Don't run matchfunctor3 under remote backends as 7496 MatchDecider isn't actually supported there (uncovered by recent 7497 change to throw UnimplementedError in this case). 7498 7499Tue Dec 01 09:35:53 GMT 2009 Richard Boulton <richard@tartarus.org> 7500 7501 * include/xapian/matchspy.h: Remove out-of-date reference to 7502 add_slot(), which no longer exists: users are expected to use 7503 multiple ValueCountMatchSpies if they need to monitor more than 7504 one slot. 7505 7506Tue Dec 01 08:04:17 GMT 2009 Olly Betts <olly@survex.com> 7507 7508 * tests/Makefile.am,tests/api_compact.cc: Add test coverage for 7509 xapian-compact --no-renumber with multiple databases. 7510 7511Tue Dec 01 06:25:47 GMT 2009 Olly Betts <olly@survex.com> 7512 7513 * tests/api_backend.cc: Clean up matchdecider4. 7514 7515Tue Dec 01 06:12:29 GMT 2009 Olly Betts <olly@survex.com> 7516 7517 * HACKING: A couple more std::string efficiency tips. 7518 7519Tue Dec 01 05:51:52 GMT 2009 Olly Betts <olly@survex.com> 7520 7521 * api/omenquire.cc,common/multimatch.h,matcher/multimatch.cc, 7522 net/remoteserver.cc: Throw UnimplementedError if a matchdecider or 7523 "legacy" matchspy is used with the remote backend. 7524 * tests/api_backend.cc: Add regression test matchdecider4. 7525 7526Mon Nov 30 05:42:43 GMT 2009 Olly Betts <olly@survex.com> 7527 7528 * backends/remote/remote-database.cc,common/remote-database.h, 7529 common/remoteprotocol.h,common/remoteserver.h, 7530 docs/remote_protocol.html,net/remoteserver.cc,tests/api_metadata.cc, 7531 tests/harness/testrunner.cc: Add support for 7532 WritableDatabase::set_metadata() and Database::get_metadata() to the 7533 remote backend (based largely on patch in #178). 7534 * AUTHORS: Thanks to Paul Rudin for patch. 7535 7536Thu Nov 26 07:25:15 GMT 2009 Olly Betts <olly@survex.com> 7537 7538 * NEWS: Start to update from ChangeLog. 7539 7540Thu Nov 26 02:26:43 GMT 2009 Olly Betts <olly@survex.com> 7541 7542 * common/str.cc: Tweak the length calculation for the buffer used by 7543 str() when converting integers to strings so that the buffer is 7544 exactly the minimum required size for integers of size 1, 2, 4, 7545 and 8 bytes, and only a byte extra for 16 byte integers. 7546 7547Wed Nov 25 05:59:13 GMT 2009 Olly Betts <olly@survex.com> 7548 7549 * bin/xapian-compact.cc: In the --no-renumber case, just set offset[] 7550 entries to zero to start with rather than fixing them up later. 7551 7552Wed Nov 25 05:49:37 GMT 2009 Olly Betts <olly@survex.com> 7553 7554 * bin/xapian-compact.cc: Extend --no-renumber to support merging 7555 databases, but only if they have disjoint ranges of used document 7556 ids. 7557 7558Wed Nov 25 04:37:38 GMT 2009 Olly Betts <olly@survex.com> 7559 7560 * bin/xapian-compact.cc: Fix typos in --help output. 7561 7562Wed Nov 25 04:22:26 GMT 2009 Olly Betts <olly@survex.com> 7563 7564 * bin/xapian-compact.cc: Prune unused docids off the end of database 7565 when merging multiple databases with renumbering. 7566 7567Wed Nov 25 03:12:24 GMT 2009 Olly Betts <olly@survex.com> 7568 7569 * bin/xapian-compact.cc: Use string() instead of "" and string(1, '\0') 7570 instead of string("", 1). 7571 7572Wed Nov 25 02:34:10 GMT 2009 Olly Betts <olly@survex.com> 7573 7574 * backends/chert/chert_lock.cc: Fix locking code to work if stdin 7575 and/or stdout have been closed. 7576 * backends/flint/flint_lock.cc: Backport fix to flint. 7577 * tests/api_backend.cc: Add regression test lockfilefd0or1. 7578 7579Wed Nov 25 00:59:05 GMT 2009 Olly Betts <olly@survex.com> 7580 7581 * backends/chert/chert_database.cc,backends/chert/chert_lock.cc, 7582 backends/chert/chert_lock.h: Add "FDLIMIT" reason code for why 7583 locking failing. 7584 7585Tue Nov 24 12:44:56 GMT 2009 Olly Betts <olly@survex.com> 7586 7587 * api/omdatabase.cc: Factor out throwing an exception for docid 0 not 7588 being valid. 7589 7590Tue Nov 24 12:39:10 GMT 2009 Olly Betts <olly@survex.com> 7591 7592 * tests/api_none.cc: Note previous fix was ticket#415. 7593 7594Tue Nov 24 12:33:12 GMT 2009 Olly Betts <olly@survex.com> 7595 7596 * api/omdatabase.cc: Fix many Xapian::Database methods to behave better 7597 on a database with no subdatabases, such as is constructed by 7598 Database(). 7599 * tests/Makefile.am,tests/api_nodb.cc,tests/api_none.cc: Expand 7600 emptydb_metadata1 to also regression test these other cases, and 7601 rename to nosubdatabases1. 7602 7603Mon Nov 23 14:01:51 GMT 2009 Olly Betts <olly@survex.com> 7604 7605 * common/debuglog.h: Add "NO_ARGS" which can be used for debug logging 7606 when a function or method takes no arguments. The main advantage 7607 over "" is that no extra code is generated for it. 7608 * api/omdatabase.cc: Convert to use debuglog.h fully. 7609 * api/matchspy.cc,api/omdatabase.cc: Make use of NO_ARGS. 7610 7611Mon Nov 23 09:10:55 GMT 2009 Olly Betts <olly@survex.com> 7612 7613 * backends/chert/chert_cursor.cc,backends/flint/flint_cursor.cc, 7614 common/debuglog.cc,common/debuglog.h,common/omdebug.h,configure.ac, 7615 matcher/multimatch.cc,queryparser/queryparser.lt: Rename 7616 XAPIAN_DEBUG_VERBOSE macro to XAPIAN_DEBUG_LOG to better match the 7617 user-visible "--enable-log" configure option which controls it. 7618 7619Mon Nov 23 08:08:45 GMT 2009 Olly Betts <olly@survex.com> 7620 7621 * backends/chert/chert_database.cc,backends/chert/chert_lock.cc, 7622 backends/chert/chert_table.cc,backends/flint/: Use string() or 7623 s.resize(0) instead of "". Use string(1, '\0') instead of 7624 string("", 1). 7625 7626Sun Nov 22 14:20:51 GMT 2009 Olly Betts <olly@survex.com> 7627 7628 * backends/chert/chert_postlist.cc: When skipping through a chunk of 7629 postings to find the one we want, don't bother to unpack the wdf 7630 values we're skipping over, which should save a significant amount 7631 of time in certain cases where the profile data shows we spend 7632 something like 1/3 of the time in the function where this happens. 7633 7634Sun Nov 22 13:12:39 GMT 2009 Olly Betts <olly@survex.com> 7635 7636 * api/matchspy.cc,backends/chert/chert_values.cc, 7637 languages/steminternal.cc: Tweak whitespace after while to be 7638 consistent. 7639 7640Sat Nov 21 17:39:23 GMT 2009 Richard Boulton <richard@tartarus.org> 7641 7642 * backends/chert/chert_values.cc,backends/chert/chert_values.h: 7643 Make ValueChunkReader::skip_to() assign the value to a string 7644 only when the target has been reached. Saves a lot of 7645 unneccessary string copying - on a benchmark of mydeco data, 7646 improves time for 100 queries from 3.66s to 3.10s. 7647 7648Sat Nov 21 01:13:26 GMT 2009 Olly Betts <olly@survex.com> 7649 7650 * tests/: Make arrays which don't need to be modified const. 7651 7652Sat Nov 21 00:01:04 GMT 2009 Olly Betts <olly@survex.com> 7653 7654 * tests/api_matchspy.cc: The default parameter for 7655 get_writable_database() is string(), so don't explicitly pass "". 7656 7657Fri Nov 20 16:19:13 GMT 2009 Richard Boulton <richard@tartarus.org> 7658 7659 * tests/api_matchspy.cc: Add regression test for underflow in 7660 numeric ranges (based on python version in ticket #321). 7661 7662Fri Nov 20 10:54:08 GMT 2009 Olly Betts <olly@survex.com> 7663 7664 * matcher/valuestreamdocument.cc: Use check() instead of skip_to() in 7665 ValueStreamDocument. 7666 7667Fri Nov 20 09:57:12 GMT 2009 Olly Betts <olly@survex.com> 7668 7669 * common/document.h,matcher/: Implement ValueStreamDocument subclass 7670 of Xapian::Document::Internal which provides a way to connect up 7671 valuestreams to uses of values during the match. Other 7672 (non-recommended) uses of the Document passed to MatchDecider, etc 7673 are passed through to a lazily created backend Document::Internal 7674 subclass. This should be a lot more efficient for chert. It's 7675 unclear how it will affect performance for backends which don't store 7676 values in streams - profiling is required. 7677 7678Fri Nov 20 02:35:14 GMT 2009 Olly Betts <olly@survex.com> 7679 7680 * backends/inmemory/inmemory_document.cc: Fix closedb1 on InMemory 7681 backend, broken by recent commit. 7682 7683Thu Nov 19 12:03:52 GMT 2009 Olly Betts <olly@survex.com> 7684 7685 * backends/multi/multi_valuelist.cc: Fix to handle the case where all 7686 the sublists turn out to be empty when we first call next(). 7687 7688Thu Nov 19 11:12:53 GMT 2009 Olly Betts <olly@survex.com> 7689 7690 * backends/inmemory/: Set the document data and values lazily for the 7691 inmemory backend too. They're much less costly to fetch than if 7692 a disk access may be needed, but it avoids a copy of the respective 7693 data if they aren't needed, and either could potentially be large. 7694 Consistency here also makes things easier to understand. 7695 7696Thu Nov 19 08:47:24 GMT 2009 Olly Betts <olly@survex.com> 7697 7698 * api/omdocument.cc: Prefer string() to "". 7699 7700Thu Nov 19 07:38:29 GMT 2009 Olly Betts <olly@survex.com> 7701 7702 * api/omdatabase.cc,backends/multi/Makefile.mk, 7703 backends/multi/multi_valuelist.cc,common/Makefile.mk, 7704 common/multivaluelist.h,tests/api_valuestream.cc: Implement support 7705 for iterating valuestreams for multidatabases. 7706 7707Thu Nov 19 06:19:05 GMT 2009 Olly Betts <olly@survex.com> 7708 7709 * bin/xapian-check.cc: Rework the checking of postlist chunks into 7710 a cleaner approach which should report errors better, and 7711 eliminate the (probably) impossible "did might not be initialised" 7712 path which GCC 4.2 spotted. 7713 7714Thu Nov 19 01:15:03 GMT 2009 Olly Betts <olly@survex.com> 7715 7716 * common/pack.h: Remove incorrect assertion and document what NULL 7717 parameter value means in this case. 7718 7719Wed Nov 18 16:33:01 GMT 2009 Richard Boulton <richard@tartarus.org> 7720 7721 * bin/xapian-check.cc: Fix compiler warning (with gcc-4.2) that did 7722 could be used uninitialised: it couldn't be, but it's hard for a 7723 compiler to see that. 7724 7725Wed Nov 18 12:48:17 GMT 2009 Richard Boulton <richard@tartarus.org> 7726 7727 * AUTHORS: Update my email address. 7728 7729Wed Nov 18 12:21:09 GMT 2009 Olly Betts <olly@survex.com> 7730 7731 * common/valuelist.h: Fix internal documentation comment. 7732 7733Wed Nov 18 10:40:54 GMT 2009 Olly Betts <olly@survex.com> 7734 7735 * configure.ac: Use <cstdlib>, <cmath>, <cstdio>, <cstring> for 7736 configure tests since we use these forms in the code and want 7737 consistency between what configure tests and what the code 7738 uses. 7739 * NEWS,configure.ac: Update for 1.1.3. 7740 7741Wed Nov 18 10:39:59 GMT 2009 Olly Betts <olly@survex.com> 7742 7743 * PLATFORMS: Update from 1.0.17. 7744 7745Wed Nov 18 10:31:49 GMT 2009 Olly Betts <olly@survex.com> 7746 7747 * INSTALL: Improve text about zlib dependency. 7748 7749Wed Nov 18 10:13:59 GMT 2009 Olly Betts <olly@survex.com> 7750 7751 * INSTALL: Note the package to install for building against libuuid on 7752 Fedora, and note that libuuid isn't required on Microsoft Windows. 7753 7754Wed Nov 18 02:34:30 GMT 2009 Olly Betts <olly@survex.com> 7755 7756 * NEWS: Update from 1.0.17 and ChangeLog. 7757 7758Mon Nov 16 08:35:52 GMT 2009 Olly Betts <olly@survex.com> 7759 7760 * queryparser/queryparser.lemony: Fix interaction of FLAG_PARTIAL and 7761 FLAG_SYNONYM. (ticket#407) 7762 * tests/Makefile.am,tests/api_qpbackend.cc: Add regression test 7763 qpsynonympartial1. 7764 7765Mon Nov 16 02:15:14 GMT 2009 Olly Betts <olly@survex.com> 7766 7767 * backends/flint/flint_version.cc: Add "using namespace std;" and drop 7768 the explicit std:: qualifiers. 7769 7770Fri Nov 13 02:27:48 GMT 2009 Olly Betts <olly@survex.com> 7771 7772 * backends/chert/chert_spelling.h,backends/chert/chert_table.h, 7773 backends/flint/flint_spelling.h,backends/flint/flint_table.h, 7774 common/getopt.cc,common/stringutils.h,languages/steminternal.h: 7775 Add missing std:: qualifiers for functions in <cstring>, <cstdlib>, 7776 etc. 7777 7778Fri Nov 13 02:25:50 GMT 2009 Olly Betts <olly@survex.com> 7779 7780 * backends/chert/chert_lock.cc,backends/flint/flint_lock.cc: Add 7781 "using namespace std;" and drop the explicit std:: qualifiers. 7782 7783Fri Nov 13 02:11:18 GMT 2009 Olly Betts <olly@survex.com> 7784 7785 * common/str.cc: Use assignment to initialise a size_t - the current 7786 code was turning a missing snprintf() prototype into a confusing 7787 error message with Sun's C++, and is less clear anyway. 7788 7789Fri Nov 13 02:03:28 GMT 2009 Olly Betts <olly@survex.com> 7790 7791 * HACKING,backends/chert/chert_lock.cc,backends/flint/flint_lock.cc, 7792 backends/remote/remote-database.cc,net/remoteserver.cc, 7793 net/tcpserver.cc,tests/harness/backendmanager_remotetcp.cc, 7794 tests/harness/testsuite.cc: Sun C++'s <csignal> (not unreasonably) 7795 excludes non-ISO-C functions which are in <signal.h> - for example, 7796 kill() (which POSIX specifies). So revert <csignal> to <signal.h> 7797 and document this as a global exception. 7798 7799Thu Nov 12 08:30:07 GMT 2009 Olly Betts <olly@survex.com> 7800 7801 * matcher/collapser.h: Remove spurious comma after last entry in enum, 7802 which Sun's C++ compiler warns about. 7803 7804Thu Nov 12 00:24:55 GMT 2009 Olly Betts <olly@survex.com> 7805 7806 * matcher/multimatch.cc: Sorter -> KeyMaker in an exception message. 7807 7808Thu Nov 12 00:01:55 GMT 2009 Olly Betts <olly@survex.com> 7809 7810 * include/xapian/database.h: Tweak documentation comments about 7811 committing changes. 7812 7813Wed Nov 11 12:23:48 GMT 2009 Olly Betts <olly@survex.com> 7814 7815 * queryparser/queryparser.lemony: Fix handling of a group of stopwords 7816 which notably caused issues when default_op was OP_AND, but could 7817 probably manifest in other cases too. Fixes ticket#406. 7818 * tests/queryparsertest.cc: Add regression test qp_stopword_group1. 7819 7820Wed Nov 11 10:54:58 GMT 2009 Olly Betts <olly@survex.com> 7821 7822 * backends/chert/chert_version.h,common/safeuuid.h: Fix workaround for 7823 uuid.h headers which lack const to actually work on Solaris. 7824 7825Wed Nov 11 10:53:50 GMT 2009 Olly Betts <olly@survex.com> 7826 7827 * common/Makefile.mk: Need to ship new pack.h header. 7828 7829Tue Nov 10 22:27:47 GMT 2009 Olly Betts <olly@survex.com> 7830 7831 * bin/xapian-check.cc: Fix compiler warning introduced by previous 7832 change. 7833 7834Tue Nov 10 12:24:34 GMT 2009 Olly Betts <olly@survex.com> 7835 7836 * backends/chert/,bin/xapian-check.cc,common/pack.h: Rewrite the 7837 packing and unpacking functions more efficiently. As well as being 7838 generally faster, the pack functions now take a reference to a string 7839 to append to, which avoids creating a lot of temporary string 7840 objects. Indexing HTML files with omindex is 5-10% faster. 7841 Searching for "The" on gmane (which results in a lot of unpacking of 7842 postings and document lengths) is about 35% faster. (ticket#326) 7843 7844Thu Nov 05 03:55:37 GMT 2009 Olly Betts <olly@survex.com> 7845 7846 * common/safeuuid.h: Fix to work with uuid libraries which lack const 7847 qualifiers. Fixes build failure on Solaris. 7848 7849Thu Nov 05 00:15:24 GMT 2009 Olly Betts <olly@survex.com> 7850 7851 * HACKING: Update details of debian packaging. 7852 7853Wed Nov 04 04:11:38 GMT 2009 Olly Betts <olly@survex.com> 7854 7855 * common/output.h: Use C++ syntax for NULL with a type in log output. 7856 7857Wed Nov 04 04:02:09 GMT 2009 Olly Betts <olly@survex.com> 7858 7859 * queryparser/lemon.c: Avoid trivial memory leak. 7860 7861Wed Nov 04 00:13:00 GMT 2009 Olly Betts <olly@survex.com> 7862 7863 * include/xapian/database.h: Reword to avoid somewhat ambiguous "this 7864 method". 7865 7866Tue Nov 03 12:12:09 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 7867 7868 * include/xapian/database.h: Make it more clear that you need to 7869 add the unique term to the document if you want to use 7870 replace_document() to use external unique IDs for documents. 7871 7872Tue Nov 03 06:08:43 GMT 2009 Olly Betts <olly@survex.com> 7873 7874 * tests/generate-api_generated: Update MultiValueSorter to 7875 MultiValueKeyMaker. 7876 7877Tue Nov 03 05:51:23 GMT 2009 Olly Betts <olly@survex.com> 7878 7879 * tests/api_sorting.cc,tests/api_sortingold.cc: Fix changesorter1 and 7880 oldchangesorter1 to not be run for the remote backend where they will 7881 now fail with UnimplementedError. 7882 7883Tue Nov 03 02:43:12 GMT 2009 Olly Betts <olly@survex.com> 7884 7885 * matcher/multimatch.cc: Xapian::Sorter isn't supported with the remote 7886 backend so throw UnimplementedError rather than giving incorrect 7887 results. (ticket#384) 7888 * tests/api_sorting.cc: Add sortfunctorremote1 test this exception is 7889 actually thrown. 7890 7891Tue Nov 03 01:26:57 GMT 2009 Olly Betts <olly@survex.com> 7892 7893 * common/database.h: Fix vertical whitespace glitch. 7894 7895Mon Nov 02 08:10:03 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 7896 7897 * api/omdatabase.cc: Check that internal is not empty before 7898 referencing its first element, in get_metadata() and 7899 metadata_keys_begin(), to avoid a potential segfault. 7900 * tests/api_nodb.cc: Add emptydb_metadata1, a regression test for 7901 this bug. 7902 7903Sun Nov 01 22:10:54 GMT 2009 Olly Betts <olly@survex.com> 7904 7905 * examples/delve.cc,examples/quest.cc: Extend exception handling to the 7906 whole of main. Xapian::Stem("english") can't actually throw, but 7907 that's not obvious to static analysis tools, and it is more robust 7908 to wrap the whole of main, and reduces indentation. 7909 7910Sun Nov 01 21:27:05 GMT 2009 Olly Betts <olly@survex.com> 7911 7912 * bin/xapian-compact.cc: Add missing exception catch for const char *. 7913 The only case which currently throws this is an "impossible" 7914 situation, but if we're going to check for it, the reporting of 7915 failure should actually work. Identified by Coverity's Scan. 7916 7917Sun Nov 01 07:56:38 GMT 2009 Olly Betts <olly@survex.com> 7918 7919 * examples/quest.cc: Tighten up the type of the error we catch to 7920 detect an unknown stemming language. 7921 7922Sat Oct 31 07:16:11 GMT 2009 Olly Betts <olly@survex.com> 7923 7924 * NEWS: Update from ChangeLog. 7925 7926Sat Oct 31 06:59:19 GMT 2009 Olly Betts <olly@survex.com> 7927 7928 * include/xapian/enquire.h: Fix deprecation warnings when building with 7929 recent GCC. 7930 7931Sat Oct 31 02:46:04 GMT 2009 Olly Betts <olly@survex.com> 7932 7933 * tests/queryparsertest.cc: Add another test query string to cover a 7934 case we didn't previously check. 7935 7936Tue Oct 27 00:42:59 GMT 2009 Olly Betts <olly@survex.com> 7937 7938 * backends/chert/chert_lock.cc,backends/flint/flint_lock.cc: Don't 7939 try to close the fd one more than the maximum allowable. 7940 (ticket#408) 7941 * AUTHORS: Add Carl Worth for the patch. 7942 7943Mon Oct 05 09:00:58 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 7944 7945 * configure.ac: Mention e2fsprogs-devel in the message thrown up by 7946 configure, too. 7947 7948Mon Oct 05 08:53:05 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 7949 7950 * HACKING: Note the command needed to get the uuid library 7951 installed on fedora, since it's rather non-obvious. 7952 7953Sat Oct 03 20:11:48 GMT 2009 Olly Betts <olly@survex.com> 7954 7955 * unicode/tclUniData.cc: Update Unicode character database to Unicode 7956 5.2. (ticket#351) 7957 * tests/api_unicode.cc: Add tests for some characters added in Unicode 7958 5.2. 7959 7960Thu Oct 01 21:19:34 GMT 2009 Olly Betts <olly@survex.com> 7961 7962 * xapian-config.in: Need to quote ^ for Solaris /bin/sh. 7963 7964Fri Sep 18 13:23:00 GMT 2009 Olly Betts <olly@survex.com> 7965 7966 * configure.ac: Actually use any flags we determine are needed to 7967 switch the compiler to proper ANSI C++ mode, when building 7968 xapian-core - this stopped working in 1.0.12, breaking support for 7969 HP's aCC, Compaq's cxx, Sun's CC, and SGI's CC. 7970 7971Fri Sep 18 12:40:37 GMT 2009 Olly Betts <olly@survex.com> 7972 7973 * include/xapian/matchspy.h: Mark ValueCountMatchSpy, NumericRange, 7974 NumericRanges, and score_evenness() as experimental. 7975 7976Fri Sep 18 08:36:34 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 7977 7978 * include/xapian/weight.h,weight/weight.cc: Remove default 7979 implementation of Weight::clone() which returns NULL - we always 7980 need clone() to be implemented because it's called for every term 7981 in the query, not just used for the remote backend. 7982 7983Fri Sep 18 08:02:08 GMT 2009 Olly Betts <olly@survex.com> 7984 7985 * api/omenquire.cc,docs/deprecation.rst,include/xapian/enquire.h: Mark 7986 and document the matchspy parameter of Enquire::get_mset() as 7987 deprecated in favour of the new MatchSpy class and 7988 Enquire::add_matchspy(). 7989 7990Fri Sep 18 07:58:11 GMT 2009 Olly Betts <olly@survex.com> 7991 7992 * tests/perftest/perftest_matchdecider.cc: Don't pass default values 7993 for optional parameters to Enquire::get_mset(). 7994 7995Fri Sep 18 02:36:43 GMT 2009 Olly Betts <olly@survex.com> 7996 7997 * queryparser/queryparser.lemony: If FLAG_PARTIAL is specified, don't 7998 try to spell correct a term at the end of the query which we attempt 7999 to expand as partial. 8000 * tests/queryparsertest.cc: Add regression test qp_spellpartial1. 8001 8002Fri Sep 18 02:33:55 GMT 2009 Olly Betts <olly@survex.com> 8003 8004 * tests/queryparsertest.cc: For testcase qp_spellwild1: Fix the dbdir 8005 to qp_spellwild1 to match the testname; Fix the ordering of 8006 TESTCASE macros to match the order of the test functions; Note that 8007 this is a regression test and the versions the bug will be fixed in. 8008 8009Fri Sep 18 01:25:37 GMT 2009 Olly Betts <olly@survex.com> 8010 8011 * tests/queryparsertest.cc: Fix to work with the old scoping rules for 8012 variables declared in for(). 8013 8014Thu Sep 17 19:17:30 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 8015 8016 * queryparser/queryparser.lemony: Don't apply spelling correction 8017 to wildcard terms if FLAG_WILDCARD and FLAG_SPELLING_CORRECTION 8018 are both specified. 8019 * tests/queryparsertest.cc: Add qp_spellwild1 as a test for this. 8020 8021Thu Sep 17 12:08:17 GMT 2009 Olly Betts <olly@survex.com> 8022 8023 * NEWS: Update from ChangeLog. 8024 8025Thu Sep 17 10:20:35 GMT 2009 Olly Betts <olly@survex.com> 8026 8027 * api/keymaker.cc: Implement Richard's idea of not encoding any 8028 trailing, forward sorted, empty values which is a generalisation 8029 of encoding all forward sorted, empty values as an empty string. 8030 * tests/api_sorting.cc: Add new testcase multivaluekeymaker1 to 8031 check encodings are as expected. 8032 8033Thu Sep 17 07:15:10 GMT 2009 Olly Betts <olly@survex.com> 8034 8035 * api/,common/multimatch.h,common/omenquireinternal.h, 8036 docs/deprecation.rst,docs/sorting.rst,include/Makefile.mk, 8037 include/xapian.h,include/xapian/enquire.h,include/xapian/keymaker.h, 8038 include/xapian/sorter.h,matcher/multimatch.cc,tests/Makefile.am, 8039 tests/api_sorting.cc,tests/api_sortingold.cc: Rename Sorter to 8040 KeyMaker, paving the way for using it to build collapse keys too. 8041 Resolve the inconsistency in MultiValueSorter::add()'s "forward" 8042 parameter by replacing it with MultiKeyMaker::add_value() with a 8043 "reverse" parameter. (ticket#359) 8044 8045Thu Sep 17 07:13:25 GMT 2009 Olly Betts <olly@survex.com> 8046 8047 * api/valuesetmatchdecider.cc,include/xapian/valuesetmatchdecider.h: 8048 Inline trivial constructor from header. Add explicit '#include 8049 "xapian/document.h"'. 8050 8051Thu Sep 17 05:22:50 GMT 2009 Olly Betts <olly@survex.com> 8052 8053 * HACKING: Document how to use the XAPIAN_DEPRECATED() macro to 8054 mark a class as deprecated. 8055 8056Wed Sep 16 02:40:13 GMT 2009 Olly Betts <olly@survex.com> 8057 8058 * backends/chert/chert_table.cc,backends/flint/flint_table.cc: 8059 Eliminate a couple of assertions which can never fire. 8060 8061Sat Sep 12 04:05:35 GMT 2009 Olly Betts <olly@survex.com> 8062 8063 * matcher/msetpostlist.cc: Fix MSetPostList not to read off the end of 8064 the MSet if get_maxweight() is called when at_end(). This can 8065 happen but the testcase was too large to send so sadly no 8066 regression test I'm afraid. 8067 8068Sat Sep 12 03:41:04 GMT 2009 Olly Betts <olly@survex.com> 8069 8070 * backends/chert/chert_values.cc: Fix code to find the first docid in 8071 the net chunk (ticket#399). 8072 * tests/api_backend.cc: Add regression test from Rich Lane. 8073 8074Fri Sep 11 11:14:49 GMT 2009 Olly Betts <olly@survex.com> 8075 8076 * backends/chert/,bin/xapian-check.cc,bin/xapian-compact.cc: Add 8077 support for chert databases without a termlist table (ticket#181). 8078 Currently the only way to create such a database is to create a 8079 chert database and do "rm termlist.*". 8080 8081Fri Sep 11 10:07:35 GMT 2009 Olly Betts <olly@survex.com> 8082 8083 * bin/xapian-compact.cc: Don't report an absent lazy input table as 0 8084 size. 8085 8086Fri Sep 11 03:17:17 GMT 2009 Olly Betts <olly@survex.com> 8087 8088 * backends/chert/chert_table.h: Improve documentation of "handle" 8089 member. 8090 8091Thu Sep 10 13:24:29 GMT 2009 Olly Betts <olly@survex.com> 8092 8093 * m4-macros/xapian-1.1.m4: Report the default xapian-config 8094 basename in configure's --help output. 8095 8096Thu Sep 10 12:55:48 GMT 2009 Olly Betts <olly@survex.com> 8097 8098 * m4-macros/xapian-1.1.m4: Add optional third parameter to 8099 XO_LIB_XAPIAN which specifies the basename for the "xapian-config" 8100 script (defaults to "xapian-config" to give the current behaviour). 8101 8102Thu Sep 10 06:39:17 GMT 2009 Olly Betts <olly@survex.com> 8103 8104 * NEWS: Update with changes in 1.0.16 and from ChangeLog. 8105 8106Thu Sep 10 02:17:56 GMT 2009 Olly Betts <olly@survex.com> 8107 8108 * include/xapian/queryparser.h: Clarify the documentation comments for 8109 QueryParser::set_default_op() and QueryParser::get_default_op(). 8110 8111Wed Sep 09 13:36:58 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 8112 8113 * matcher/andmaybepostlist.cc,tests/Makefile.am,tests/api_queryopt.cc: 8114 Back out patch from r13440 which introduced a new optimisation 8115 for AND_MAYBE when the maximum weight of the RHS becomes zero, 8116 due to various undesirable side effects. I've put the patch into 8117 ticket #400 with an explanation. 8118 8119Wed Sep 09 01:54:05 GMT 2009 Olly Betts <olly@survex.com> 8120 8121 * backends/chert/chert_postlist.cc,tests/api_backend.cc: Fix 8122 WritableDatabase::get_doclength() to work properly after a call to 8123 commit for the chert backend (ticket#397). 8124 8125Wed Sep 09 00:28:09 GMT 2009 Olly Betts <olly@survex.com> 8126 8127 * AUTHORS: Add Dmitry Liakh for fix for #398. 8128 8129Wed Sep 09 00:02:47 GMT 2009 Olly Betts <olly@survex.com> 8130 8131 * backends/chert/chert_lock.cc,backends/flint/flint_lock.cc: Fix a 8132 typo which stopped this fix in 1.0.12 from working (ticket #398): 8133 8134 If we fail to get the lock after we spawn the child lock process 8135 (the common case is because the database is already open for 8136 writing) then we now clean up the child process properly. 8137 8138Fri Sep 04 11:24:26 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 8139 8140 * docs/categorisation.rst: Remove out-of-date call to get_mset() 8141 which passed a MatchSpy in - spies are now set with 8142 add_matchspy() before get_mset() is called. 8143 8144Thu Sep 03 00:29:27 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 8145 8146 * matcher/andmaybepostlist.cc: For AndMaybe, if the RHS has a 8147 maximum possible weight of 0, we now decay to just the LHS. 8148 * tests/Makefile.am,tests/api_queryopt.cc: Test coverage that this 8149 optimisation doesn't break anything. 8150 8151Tue Sep 01 12:04:13 GMT 2009 Olly Betts <olly@survex.com> 8152 8153 * configure.ac: Send stderr output from ldconfig to config.log. 8154 8155Tue Sep 01 10:35:51 GMT 2009 Olly Betts <olly@survex.com> 8156 8157 * AUTHORS,common/safeuuid.h: Fix uuid_unparse_lower() replacement for 8158 older libuuid to actually compile (really fixes ticket#368). 8159 8160Mon Aug 31 05:58:55 GMT 2009 Olly Betts <olly@survex.com> 8161 8162 * NEWS: Sync with 1.0.15. 8163 8164Mon Aug 31 05:48:13 GMT 2009 Olly Betts <olly@survex.com> 8165 8166 * NEWS: Start to format entries for 1.1.3. 8167 8168Mon Aug 31 04:14:58 GMT 2009 Olly Betts <olly@survex.com> 8169 8170 * PLATFORMS: Sync with 1.0.15. 8171 8172Mon Aug 31 01:30:01 GMT 2009 Olly Betts <olly@survex.com> 8173 8174 * common/getopt.cc: Use USE_GLIBC_GNUGETOPT from gnu_getopt.h rather 8175 than repeating the conditionals used to determine it here. Rename 8176 __getopt_initialized to getopt_initialized and make it static. 8177 Rename _getopt_initialize() to getopt_initialize(). 8178 8179Mon Aug 31 01:24:29 GMT 2009 Olly Betts <olly@survex.com> 8180 8181 * common/gnu_getopt.h: Update (C) dates. Markup file description for 8182 doxygen. Fix comment reference to ctype.h as we now use <cctype>. 8183 8184Sun Aug 30 23:28:25 GMT 2009 Olly Betts <olly@survex.com> 8185 8186 * common/gnu_getopt.h: Make optarg, optind, opterr, and optopt extern 8187 "C" to avoid linkage clash with these symbols on Mac OS X 10.6. 8188 8189Thu Aug 27 03:05:33 GMT 2009 Olly Betts <olly@survex.com> 8190 8191 * HACKING: Add note to document the reason for any exceptions to the 8192 rule to use C++ forms of ISO C headers. 8193 8194Wed Aug 26 13:07:07 GMT 2009 Olly Betts <olly@survex.com> 8195 8196 * AUTHORS,INSTALL,docs/install.html: Drop .php from xapian.org URLs. 8197 8198Wed Aug 26 12:58:51 GMT 2009 Olly Betts <olly@survex.com> 8199 8200 * HACKING: Update URLs. Remove duplicated text about updating RoadMap 8201 from the release checklist. 8202 8203Wed Aug 26 10:56:07 GMT 2009 Olly Betts <olly@survex.com> 8204 8205 * configure.ac: Update various URLs. 8206 8207Tue Aug 25 01:52:51 GMT 2009 Olly Betts <olly@survex.com> 8208 8209 * tests/harness/testsuite.cc: Fix not to report heaps of bogus errors 8210 under valgrind 3.5.0. 8211 8212Mon Aug 24 02:19:06 GMT 2009 Olly Betts <olly@survex.com> 8213 8214 * include/xapian/enquire.h: Also update the documentation comment for 8215 set_sort_by_relevance_then_value() to mention sortable_serialise(). 8216 8217Fri Aug 21 14:35:35 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 8218 8219 * Makefile.am: Add generate-exceptions to EXTRA_DIST - was missing 8220 from tarballs. 8221 8222Fri Aug 21 12:21:59 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 8223 8224 * AUTHORS: Add Michael Vogt, who suggested adding a comment about 8225 sortable_serialise to set_sort_by_value(). 8226 8227Fri Aug 21 12:14:13 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 8228 8229 * include/xapian/enquire.h: Update documentation comments for 8230 set_sort_by_value() and set_sort_by_value_then_relevance() to 8231 mention sortable_serialise() as a good way to store values if you 8232 want to sort by them. 8233 8234Mon Aug 17 16:51:10 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 8235 8236 * matcher/multimatch.cc: When sorting by non-pure-relevance, ensure 8237 that the document is shown to the matchspy even if it couldn't 8238 get in the mset. 8239 * tests/api_matchspy.cc: Extend matchspy4 to include a regression 8240 test for this. 8241 8242Mon Aug 17 11:51:24 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 8243 8244 * api/matchspy.cc,include/xapian/matchspy.h: Add overload for 8245 score_evenness to allow a NumericRanges object to be passed to 8246 it. 8247 8248Mon Aug 17 07:36:57 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 8249 8250 * api/matchspy.cc,include/xapian/matchspy.h: Replace 8251 build_numeric_ranges() function with a NumericRanges object, 8252 whose constructor is passed the values and which exposes the 8253 calculated ranges via a getter. 8254 * tests/api_matchspy.cc: Update tests to use new NumericRanges 8255 object instead of build_numeric_ranges(). 8256 8257Wed Aug 12 17:33:53 GMT 2009 Olly Betts <olly@survex.com> 8258 8259 * Makefile.am: Fix generate-exceptions change to work in a VPATH 8260 build. 8261 8262Wed Aug 12 15:57:44 GMT 2009 Olly Betts <olly@survex.com> 8263 8264 * exception_data.pm: Add new SerialisationError. 8265 * common/serialise-double.cc: Throw SerialisationError or InternalError 8266 instead of NetworkError. 8267 8268Wed Aug 12 15:19:05 GMT 2009 Olly Betts <olly@survex.com> 8269 8270 * Makefile.am,configure.ac,generate-exceptions,generate-exceptions.in: 8271 It's not very useful to be able to run generate-exceptions outside 8272 the build system, and it only gets the #! line substituted, so just 8273 move those runes into Makefile.am and reduce the number of files that 8274 configure needs to generate by one. 8275 8276Mon Aug 10 13:25:22 GMT 2009 Olly Betts <olly@survex.com> 8277 8278 * api/matchspy.cc: Use <cfloat> and <cmath> rather than <float.h> and 8279 <math.h> (regression from merging the matchspy branch). 8280 8281Mon Aug 10 13:01:57 GMT 2009 Olly Betts <olly@survex.com> 8282 8283 * api/,bin/xapian-tcpsrv.cc,common/,docs/postingsource.rst, 8284 docs/serialisation.rst,include/Makefile.mk,include/xapian.h, 8285 include/xapian/,net/remoteserver.cc,tests/: Rename 8286 SerialisationContext to Registry. 8287 8288Mon Aug 10 11:23:23 GMT 2009 Olly Betts <olly@survex.com> 8289 8290 * NEWS: Start to update from ChangeLog. 8291 8292Mon Aug 10 10:29:13 GMT 2009 Olly Betts <olly@survex.com> 8293 8294 * api/omenquire.cc,include/xapian/weight.h,matcher/localmatch.cc: 8295 Make Weight::clone() public, and remove Weight::clone_() as it is 8296 no longer required. 8297 8298Mon Aug 10 07:55:04 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 8299 8300 * HACKING: Add section on ordering of include files, and fix a few 8301 formatting issues to make this file into valid restructured text 8302 again. 8303 8304Mon Aug 10 06:55:45 GMT 2009 Olly Betts <olly@survex.com> 8305 8306 * api/serialisationcontext.cc,common/serialisationcontextinternal.h: 8307 Refactor to use a template function to implement the exception safe 8308 approach I implemented for PostingSource, and use it for MatchSpy 8309 and Weight too. 8310 * tests/api_serialise.cc: Add tests for exception safety of MatchSpy 8311 and Weight with SerialisationContext. 8312 8313Mon Aug 10 06:15:23 GMT 2009 Olly Betts <olly@survex.com> 8314 8315 * include/xapian/weight.h,weight/weight.cc: Add default implementations 8316 of Weight methods name(), serialise(), unserialise(), and clone() for 8317 consistency with PostingSource and MatchSpy. 8318 8319Mon Aug 10 03:29:12 GMT 2009 Olly Betts <olly@survex.com> 8320 8321 * tests/api_postingsource.cc: Tweak header include order. 8322 8323Tue Aug 04 15:49:54 GMT 2009 Olly Betts <olly@survex.com> 8324 8325 * include/xapian/queryparser.h: Explicitly document that an empty 8326 prefix argument to QueryParser::add_prefix() means "no prefix". 8327 8328Tue Aug 04 13:11:26 GMT 2009 Olly Betts <olly@survex.com> 8329 8330 * api/postingsource.cc: Throw UnimplementedError rather than 8331 InvalidOperationError from PostingSource::serialise() and 8332 PostingSource::unserialise() for consistency with MatchSpy. 8333 * include/xapian/postingsource.h: Document this behaviour (previously 8334 we didn't say what the default implementation actually did). 8335 * tests/api_serialise.cc: Add test coverage. 8336 8337Mon Aug 03 11:40:31 GMT 2009 Olly Betts <olly@survex.com> 8338 8339 * api/serialisationcontext.cc: Fix to handle the clone() method or dtor 8340 of a PostingSource subclass throwing exceptions. 8341 * tests/api_serialise.cc: Add new testcase serialisationcontext1 as a 8342 regression test for this. 8343 8344Mon Aug 03 06:40:28 GMT 2009 Olly Betts <olly@survex.com> 8345 8346 * tests/api_serialise.cc: Fix copy-and-pasted @brief. 8347 8348Sun Aug 02 16:21:54 GMT 2009 Olly Betts <olly@survex.com> 8349 8350 * common/remoteprotocol.h: Correction: protocol version 33 will debut 8351 in 1.1.3 not 1.1.4. 8352 8353Sun Aug 02 16:20:28 GMT 2009 Olly Betts <olly@survex.com> 8354 8355 * docs/remote_protocol.html: Update to document protocol version 33. 8356 8357Sun Aug 02 16:17:24 GMT 2009 Olly Betts <olly@survex.com> 8358 8359 * backends/remote/remote-database.cc,net/remoteserver.cc: We were 8360 ignoring any trailing junk after the matchspies in MSG_GETMSET, so 8361 change to not send a count of them and just unpack until we run out 8362 of data. 8363 8364Sun Aug 02 15:47:30 GMT 2009 Olly Betts <olly@survex.com> 8365 8366 * common/remoteprotocol.h: Note the versions in which recent protocol 8367 versions were introduced. 8368 8369Sun Aug 02 15:09:13 GMT 2009 Olly Betts <olly@survex.com> 8370 8371 * backends/remote/remote-database.cc,common/serialise.h, 8372 net/remoteserver.cc,net/serialise.cc: Put the serialised MSet last in 8373 REPLY_RESULTS as then it doesn't need to know its own length (so the 8374 encoding is the same size it used to be in the non-matchspy case), 8375 and we avoid having to check for there being "junk" data left over 8376 after unserialising. 8377 8378Sun Aug 02 14:39:18 GMT 2009 Olly Betts <olly@survex.com> 8379 8380 * matcher/remotesubmatch.h: Fix to build with GCC 4.4.1. 8381 8382Sun Aug 02 14:27:44 GMT 2009 Olly Betts <olly@survex.com> 8383 8384 * backends/remote/remote-database.cc: Don't assign a temporary string 8385 object. 8386 8387Sun Aug 02 13:50:14 GMT 2009 Olly Betts <olly@survex.com> 8388 8389 * include/xapian/matchspy.h: Add missing documentation comments. 8390 8391Sun Aug 02 12:15:43 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 8392 8393 Merge from matchspy branch. 8394 * api/,backends/remote/remote-database.cc,common/,docs/Makefile.am, 8395 docs/categorisation.rst,include/Makefile.mk,include/xapian.h, 8396 include/xapian/enquire.h,include/xapian/matchspy.h, 8397 include/xapian/serialisationcontext.h,matcher/multimatch.cc, 8398 matcher/remotesubmatch.cc,matcher/remotesubmatch.h, 8399 net/remoteserver.cc,net/serialise.cc,tests/Makefile.am, 8400 tests/api_matchspy.cc: Add new-style Xapian::MatchSpy class, 8401 which is a pure "spy" class, rather than being able to take a 8402 decision on whether a spy is applied before or after a result. 8403 This class is also designed to work with remote databases, 8404 passing the results back in serialised form. Also, add 8405 ValueCountMatchSpy, which counts the occurrences of each value in 8406 a slot in the search results seen (useful for faceted or 8407 categorisation systems). 8408 8409Fri Jul 31 12:50:57 GMT 2009 Olly Betts <olly@survex.com> 8410 8411 * tests/api_backend.cc,tests/api_wrdb.cc: Move new test 8412 modifiedpostlist1 from api_wrdb.cc to api_backend.cc - we're trying 8413 not to make api-wrdb.cc any larger. Also note the ticket number and 8414 the release this will be fixed in. 8415 8416Thu Jul 30 16:30:06 GMT 2009 Olly Betts <olly@survex.com> 8417 8418 * backends/chert/chert_modifiedpostlist.cc: Fix ChertModifiedPostList 8419 to skip added-but-then-deleted-before-flush documents. (ticket#392) 8420 backends/flint/flint_modifiedpostlist.cc: Same fix for flint. 8421 * tests/api_wrdb.cc: Add regression test modifiedpostlist1. 8422 * AUTHORS: Add Rich Lane for patch. 8423 8424Wed Jul 29 09:44:15 GMT 2009 Olly Betts <olly@survex.com> 8425 8426 * NEWS: Update from ChangeLog. 8427 8428Wed Jul 29 09:29:45 GMT 2009 Olly Betts <olly@survex.com> 8429 8430 * include/xapian/valueiterator.h: Fix typos ("again" -> "and"). 8431 8432Wed Jul 29 06:18:41 GMT 2009 Olly Betts <olly@survex.com> 8433 8434 * tests/Makefile.am: Actually distribute testdata/apitest_declen.txt 8435 - new test data from the postingsources branch merge. 8436 8437Tue Jul 28 16:38:55 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 8438 8439 Merge from postingsources branch: 8440 * tests/generate-api_generated: Test get_description() methods of 8441 Xapian::PostingSource subclasses. 8442 8443Tue Jul 28 16:35:54 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 8444 8445 Merge from postingsources branch: 8446 * api/Makefile.mk,api/decvalwtsource.cc,api/serialisationcontext.cc, 8447 include/xapian/postingsource.h: Add 8448 DecreasingValueWeightPostingSource class, which reads weights 8449 from a value slot in which a significant range of the values are 8450 in decreasing order. This functions similarly to 8451 ValueWeightPostingSource, but can be much more efficient. 8452 * tests/api_valuestream.cc,tests/testdata/apitest_declen.txt: 8453 Tests, and some associated constructed test data, for 8454 DecreasingValueWeightPostingSource. 8455 8456Mon Jul 27 04:50:45 GMT 2009 Olly Betts <olly@survex.com> 8457 8458 * HACKING: Now using autoconf 2.64. 8459 8460Mon Jul 27 04:46:17 GMT 2009 Olly Betts <olly@survex.com> 8461 8462 * HACKING: Add note about preferring std::string::assign(), and also 8463 one about building up strings using +=. 8464 8465Mon Jul 27 04:45:15 GMT 2009 Olly Betts <olly@survex.com> 8466 8467 * backends/chert/chert_lock.cc,backends/chert/chert_utils.h, 8468 backends/flint/flint_lock.cc,backends/flint/flint_utils.h, 8469 backends/remote/remote-database.cc: Use std::string::assign() rather 8470 than constructing a temporary string object to assign. 8471 8472Sun Jul 26 16:08:10 GMT 2009 Olly Betts <olly@survex.com> 8473 8474 * AUTHORS: Update for bugs fixed in 1.0.14. 8475 8476Sun Jul 26 16:03:54 GMT 2009 Olly Betts <olly@survex.com> 8477 8478 * HACKING: Update the release checklist. 8479 8480Sun Jul 26 14:28:25 GMT 2009 Olly Betts <olly@survex.com> 8481 8482 * docs/doxygen_source.conf.in: Update roughly in-line with apidoc 8483 changes. I've not looked at the output much though. 8484 8485Sun Jul 26 14:00:14 GMT 2009 Olly Betts <olly@survex.com> 8486 8487 * include/xapian/database.h: Remove documentation comment for namespace 8488 Xapian - this is now documented in xapian.h. 8489 8490Sun Jul 26 13:59:42 GMT 2009 Olly Betts <olly@survex.com> 8491 8492 * include/xapian/unicode.h: Add documentation comment for namespace 8493 Unicode. 8494 8495Sun Jul 26 13:58:44 GMT 2009 Olly Betts <olly@survex.com> 8496 8497 * include/xapian/dbfactory.h: Add documentation comments for the 8498 backend namespaces (InMemory, etc). 8499 8500Sun Jul 26 13:57:29 GMT 2009 Olly Betts <olly@survex.com> 8501 8502 * include/xapian/version_h.cc: Add documentation comments for the 8503 generated version.h, and all the preprocessor defines it contains. 8504 8505Sun Jul 26 13:56:15 GMT 2009 Olly Betts <olly@survex.com> 8506 8507 * include/xapian.h: Consistently say "linked with" rather than "linked 8508 to" in some cases. Put documentation comment for namespace Xapian 8509 in this file. 8510 8511Sun Jul 26 13:06:45 GMT 2009 Olly Betts <olly@survex.com> 8512 8513 * docs/doxygen_api.conf.in: More fettling to try to get better output: 8514 + Wrap long comments. 8515 + Quote arguments containing @...@ substitutions as they could 8516 conceivably contain spaces. 8517 + ALWAYS_DETAILED_SEC = NO: since a detailed section with no extra 8518 information is pointless. 8519 + STRIP_FROM_PATH, INCLUDE_PATH: Add "@top_builddir@/include" for 8520 VPATH builds. 8521 + HIDE_UNDOC_MEMBERS = YES: otherwise @internal members show up 8522 (with no documentation). 8523 + HIDE_FRIEND_COMPOUNDS = YES: as friend declarations in the API 8524 headers are implementation details. 8525 + SHOW_INCLUDE_FILES = NO: users should just include <xapian.h> 8526 for all their API needs. 8527 + GENERATE_TODOLIST, GENERATE_TESTLIST, GENERATE_BUGLIST: all set to 8528 NO as we don't want these in the API documentation. 8529 + SHOW_NAMESPACES = YES: We have several sub-namespaces so these are 8530 useful to document. 8531 + INPUT: Prepend "@top_builddir@/include/xapian/version.h" so that 8532 XAPIAN_HAS_FLINT_BACKEND, etc are defined before parsing other 8533 headers. 8534 + EXCLUDE: remove all entries and use EXCLUDE_PATTERNS instead. 8535 + EXCLUDE_PATTERNS: Include entries corresponding to those in EXCLUDE 8536 and add */derefwrapper.h and */.* (the latter avoids trying to look 8537 in .svn or any other hidden files or directories). 8538 + REFERENCES_LINK_SOURCE = NO: Improves output. 8539 + VERBATIM_HEADERS = NO: The verbatim headers aren't very 8540 interesting. 8541 + PREDEFINED: Define XAPIAN_VISIBILITY_DEFAULT and 8542 XAPIAN_DEPRECATED(D)=D as doxygen seem reluctant to parse included 8543 files. 8544 + EXPAND_AS_DEFINED: Remove XAPIAN_VISIBILITY_DEFAULT and 8545 XAPIAN_DEPRECATED as these are now handled by PREDEFINED. 8546 + EXTERNAL_GROUPS = NO, GROUP_GRAPHS = NO: We don't use groups so 8547 disable these. 8548 8549Sun Jul 26 10:14:32 GMT 2009 Olly Betts <olly@survex.com> 8550 8551 * docs/doxygen_api.conf.in,docs/doxygen_source.conf.in: Change 8552 @PACKAGE@ to @PACKAGE_NAME@ and @VERSION@ to @PACKAGE_VERSION@ to 8553 reflect modern autotools usage. 8554 8555Fri Jul 24 16:23:31 GMT 2009 Olly Betts <olly@survex.com> 8556 8557 * configure.ac,docs/: Rename doxygen configuration files from "_conf" 8558 to ".conf". Rename doxygen_full.conf to doxygen_source.conf, etc. 8559 8560Fri Jul 24 16:02:39 GMT 2009 Olly Betts <olly@survex.com> 8561 8562 * HACKING: Update to note that doxygen is now installed in-tree, and 8563 that we now use 1.5.9 for 1.1.x snapshots and releases, and that 8564 graphviz ">1.8.10" is now required. 8565 8566Fri Jul 24 16:01:31 GMT 2009 Olly Betts <olly@survex.com> 8567 8568 * include/xapian/: Documentation comment tweaks. 8569 8570Fri Jul 24 15:34:03 GMT 2009 Olly Betts <olly@survex.com> 8571 8572 * include/xapian/unicode.h: Fix @param names to match parameter names. 8573 8574Fri Jul 24 15:33:12 GMT 2009 Olly Betts <olly@survex.com> 8575 8576 * docs/doxygen_api_conf.in: Major doxygen config overhaul: 8577 + STRIP_FROM_PATH: Strip include from header names. 8578 + JAVADOC_AUTOBRIEF: Re-enable as we have lost most of our brief 8579 descriptions - we can fix up the few cases where this caused 8580 problems with an explicit @brief. 8581 + BUILTIN_STL_SUPPORT: Enable for slightly STL-related stuff. 8582 + DISTRIBUTE_GROUP_DOC: Enable so group members get the group's 8583 comments. 8584 + EXTRACT_STATIC, EXTRACT_LOCAL_CLASSES: Disable since we don't 8585 need these. 8586 + SHOW_NAMESPACES: Disable to hide the "Xapian" namespace. 8587 + QUIET: Enable for less doxygen chatter. 8588 + WARN_LOGFILE: Unset so warnings go to stderr to encourage us to 8589 actually fix them! 8590 + EXCLUDE: Hide base.h, deprecated.h, errordispatch.h, visibility.h. 8591 + HTML_DYNAMIC_SECTIONS: Enable so the class diagrams are hidden by 8592 default but can be "expanded" to be viewed. 8593 + COLLABORATION_GRAPH: Disable as these don't ever seem useful in 8594 the API docs. 8595 + TEMPLATE_RELATIONS: Disable as we don't want to see template 8596 instantiations in inheritance diagrams. 8597 + DOT_MULTI_TARGETS: Enable for faster dot processsing. Needs 8598 graphviz ">1.8.10", but that's really old now. 8599 8600Fri Jul 24 13:00:24 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 8601 8602 * bin/xapian-compact.cc: Fix to work with the metainfo key stored 8603 in the latest format of chert databases. 8604 8605Fri Jul 24 10:32:32 GMT 2009 Olly Betts <olly@survex.com> 8606 8607 * backends/chert/chert_values.cc: Avoid doing pointless work by trying 8608 to delete non-existent lists of values when we're just adding 8609 documents. 8610 8611Fri Jul 24 05:32:34 GMT 2009 Olly Betts <olly@survex.com> 8612 8613 * docs/doxygen_api_conf.in: Update with "doxygen -u" using doxygen 8614 1.5.9 and then trim trailing whitespace. 8615 8616Thu Jul 23 04:10:49 GMT 2009 Olly Betts <olly@survex.com> 8617 8618 * NEWS,configure.ac: Update for 1.1.2. 8619 8620Wed Jul 22 13:58:13 GMT 2009 Olly Betts <olly@survex.com> 8621 8622 * backends/chert/chert_databasereplicator.cc, 8623 backends/flint/flint_databasereplicator.cc: Prefer += to + for 8624 building up strings. 8625 8626Wed Jul 22 09:01:57 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 8627 8628 * backends/chert/chert_databasereplicator.cc, 8629 backends/flint/flint_databasereplicator.cc: Check result of 8630 ::open() for -1, and throw an error immediately if this happens, 8631 rather than leaving it to a later call to fail with EBADF. 8632 Should make it easier to diagnose problems, since we'll now see 8633 the reason that the open() failed. 8634 8635Tue Jul 21 17:08:41 GMT 2009 Olly Betts <olly@survex.com> 8636 8637 * NEWS: Update from ChangeLog and sync with 1.0.14. 8638 8639Mon Jul 20 04:48:32 GMT 2009 Olly Betts <olly@survex.com> 8640 8641 * matcher/queryoptimiser.cc: Fix build with assertions enabled. 8642 8643Mon Jul 20 04:47:33 GMT 2009 Olly Betts <olly@survex.com> 8644 8645 * include/xapian/query.h: Update doc comment - OP_SYNONYM can take any 8646 number of subqueries too. 8647 8648Sun Jul 19 17:26:53 GMT 2009 Olly Betts <olly@survex.com> 8649 8650 * api/omqueryinternal.cc,include/xapian/query.h,matcher/localmatch.cc: 8651 Remove wqf member of Xapian::Query::Internal and store the wqf in 8652 the parameter member instead. (ticket#280) 8653 8654Sun Jul 19 17:24:02 GMT 2009 Olly Betts <olly@survex.com> 8655 8656 * api/omqueryinternal.cc,include/xapian/query.h: Remove unused 8657 method Xapian::Query::Internal::swap(). 8658 8659Sun Jul 19 16:22:01 GMT 2009 Olly Betts <olly@survex.com> 8660 8661 * api/valuerangeproc.cc,include/xapian/queryparser.h: Move support for 8662 a prefix/suffix from NumberValueRangeProcessor to 8663 StringValueRangeProcessor, and change NumberValueRangeProcessor and 8664 DateValueRangeProcessor to inherit from StringValueRangeProcessor so 8665 all three now support a prefix/suffix. (ticket#220) 8666 * tests/queryparsertest.cc: Add test coverage for new features. 8667 8668Sun Jul 19 16:05:04 GMT 2009 Olly Betts <olly@survex.com> 8669 8670 * tests/queryparsertest.cc: Reenable tests which require the inmemory 8671 backend to be enabled by fixing typo XAPIAN_HAS_BACKEND_INMEMORY -> 8672 XAPIAN_HAS_INMEMORY_BACKEND. 8673 8674Sun Jul 19 14:56:16 GMT 2009 Olly Betts <olly@survex.com> 8675 8676 * api/documentvaluelist.cc: Use str() instead of om_tostring(). 8677 8678Sun Jul 19 14:42:15 GMT 2009 Olly Betts <olly@survex.com> 8679 8680 * matcher/msetcmp.cc: Eliminate two more relocations. 8681 8682Sun Jul 19 13:46:08 GMT 2009 Olly Betts <olly@survex.com> 8683 8684 * api/omqueryinternal.cc: Factor out "is_distributable()" function. 8685 8686Sun Jul 19 11:11:06 GMT 2009 Olly Betts <olly@survex.com> 8687 8688 * include/xapian/version_h.cc: Fix "dummy" -> "dummy[]" so the code 8689 here is valid C - we only preprocess it, but since the reason for 8690 having the dummy stuff at all is to avoid problems with "smart" 8691 preprocessors which moan if the code isn't valid, this seems worth 8692 fixing. 8693 8694Sun Jul 19 10:21:41 GMT 2009 Olly Betts <olly@survex.com> 8695 8696 * backends/flint/flint_database.cc: Backport the previous change to 8697 flint. 8698 8699Sun Jul 19 08:04:48 GMT 2009 Olly Betts <olly@survex.com> 8700 8701 * backends/chert/chert_database.cc: Instead of dynamically building a 8702 std::list of the leafnames we need to replicate, just list them in a 8703 compact format in the source file. Results in smaller code and 8704 should be faster and smaller at runtime. 8705 8706Sat Jul 18 17:12:58 GMT 2009 Olly Betts <olly@survex.com> 8707 8708 * languages/compiler/generator.c: Merge among table entries which are 8709 substrings of others in the same among. We could be much cleverer 8710 and merge between amongs, and allow overlaps, etc, but this get us 8711 a nice size reduction for a small amount of effort, so it'll do for 8712 now. 8713 8714Sat Jul 18 15:42:48 GMT 2009 Olly Betts <olly@survex.com> 8715 8716 * languages/compiler/generator.c,languages/steminternal.cc, 8717 languages/steminternal.h: Change how snowball generates the data used 8718 by among - instead of using pointers to the strings in struct among, 8719 store an offset into a constant pool, as this reduces the number of 8720 relocations from 5001 to 2706, which should decrease the time taken 8721 by the dynamic linker when loading the library. This also results 8722 in slightly smaller code. 8723 8724Fri Jul 17 16:32:02 GMT 2009 Olly Betts <olly@survex.com> 8725 8726 * tests/api_nodb.cc: Check output of Stem::get_description() for each 8727 supported language. 8728 8729Thu Jul 16 04:34:57 GMT 2009 Olly Betts <olly@survex.com> 8730 8731 * common/fileutils.h: Remove unnecessary XAPIAN_VISIBILITY_DEFAULT 8732 (ticket#63). 8733 * common/fileutils.cc,common/fileutils.h: Make isabspath() static 8734 since it is only used by other functions in the same file. 8735 8736Thu Jul 16 04:13:48 GMT 2009 Olly Betts <olly@survex.com> 8737 8738 * queryparser/queryparser.lemony: Fix comment typo. 8739 8740Thu Jul 16 03:59:49 GMT 2009 Olly Betts <olly@survex.com> 8741 8742 * api/sorter.cc,include/xapian/sorter.h: MultiValueSorter doesn't 8743 need an explicit dtor - it's enough that Sorter has a virtual dtor. 8744 8745Thu Jul 16 03:29:41 GMT 2009 Olly Betts <olly@survex.com> 8746 8747 * AUTHORS: Add Andreas Flöter for the Solaris package howto. 8748 8749Wed Jul 15 14:37:19 GMT 2009 Olly Betts <olly@survex.com> 8750 8751 * matcher/rset.cc: Just pass pointer as AutoPtr constructor parameter 8752 rather constructing a temporary AutoPtr and invoking the assignment 8753 operator. 8754 8755Wed Jul 15 03:43:35 GMT 2009 Olly Betts <olly@survex.com> 8756 8757 * common/omenquireinternal.h: "class" -> "object" in doc comment. 8758 8759Wed Jul 15 03:38:55 GMT 2009 Olly Betts <olly@survex.com> 8760 8761 * tests/runtest.in: Raise the fd limit from 32 to 64 - multi_flint 8762 tests need more than 32 fds. 8763 8764Tue Jul 14 20:32:52 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 8765 8766 * api/omenquire.cc,common/omenquireinternal.h: Revert r13052, which 8767 changed Enquire::Internal::weight not to be mutable. Expand the 8768 comment explaining why it's mutable. 8769 8770Tue Jul 14 18:40:43 GMT 2009 Olly Betts <olly@survex.com> 8771 8772 * tests/runtest.in: Use "ulimit -n" where available to limit the 8773 number of available file descriptors to 32 so we catch file 8774 descriptor leaks sooner. 8775 8776Tue Jul 14 16:53:48 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 8777 8778 * api/omenquire.cc,common/omenquireinternal.h: Tidy up mutable 8779 Weight member on Enquire::Internal class; make it non-mutable, 8780 and just make a temporary BM25Weight object if the weight member 8781 was NULL. 8782 8783Tue Jul 14 12:36:46 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 8784 8785 * common/output.h: Display a "<NULL $CLASSNAME>" message in debug 8786 output when a pointer being output is NULL. Previously, NULL 8787 Query::Internal pointers were causing segfaults with debug 8788 logging for many tests (eg, emptyquery1). 8789 8790Sun Jul 12 14:56:18 GMT 2009 Olly Betts <olly@survex.com> 8791 8792 * backends/chert/chert_database.cc: We no longer have a "value" table 8793 (values are now stored in the postlist and termlist tables) so fix 8794 comments not to refer to it. 8795 8796Sun Jul 12 14:47:17 GMT 2009 Olly Betts <olly@survex.com> 8797 8798 * backends/chert/: Add new ChertLazyTable class and subclass lazy 8799 tables from it so that we only need to implement the common 8800 differences once. 8801 8802Sun Jul 12 13:41:27 GMT 2009 Olly Betts <olly@survex.com> 8803 8804 * api/replication.cc: No point using join_paths() to append a literal 8805 leaf name, especially as we already don't elsewhere. 8806 8807Sun Jul 12 12:01:25 GMT 2009 Olly Betts <olly@survex.com> 8808 8809 * queryparser/queryparser.lemony: Fix memory leak accidentally 8810 introduced in r13005. 8811 8812Sun Jul 12 11:40:26 GMT 2009 Olly Betts <olly@survex.com> 8813 8814 * tests/api_opsynonym.cc: Remove debug "cout" calls. 8815 8816Sun Jul 12 09:43:06 GMT 2009 Olly Betts <olly@survex.com> 8817 8818 * matcher/queryoptimiser.cc: Don't just skip counting subqueries which 8819 are the RHS of OP_AND_NOT - skip based on factor == 0.0, which means 8820 we get the RHS of OP_FILTER too. 8821 * tests/api_percentages.cc: Add topercent4 as a regression test for 8822 this. 8823 8824Sun Jul 12 09:32:11 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 8825 8826 * matcher/andmaybepostlist.cc: Add DEBUGCALL macro to 8827 count_matching_subqs() to fix build with assertions. 8828 8829Sun Jul 12 08:17:02 GMT 2009 Olly Betts <olly@survex.com> 8830 8831 * matcher/remotesubmatch.cc: Percentage scaling for remote results is 8832 handled in a different way, so replace FIXME with comment noting 8833 this. 8834 8835Sun Jul 12 05:48:17 GMT 2009 Olly Betts <olly@survex.com> 8836 8837 * matcher/multimatch.cc: Fix handling of percentage weights in various 8838 cases when we're searching multiple remote databases or a mix of 8839 local and remote databases. 8840 * tests/api_percentages.cc: Add regression test topercent3. 8841 8842Sat Jul 11 13:35:02 GMT 2009 Olly Betts <olly@survex.com> 8843 8844 * matcher/mergepostlist.cc: Fix file description - MergePostList can 8845 merge any number of posting lists, not just two. 8846 8847Sat Jul 11 13:09:40 GMT 2009 Olly Betts <olly@survex.com> 8848 8849 * matcher/extraweightpostlist.h: 8850 ExtraWeightPostList::read_position_list() and 8851 ExtraWeightPostList::open_position_list() aren't used, so remove 8852 them. 8853 8854Sat Jul 11 12:54:30 GMT 2009 Olly Betts <olly@survex.com> 8855 8856 * api/leafpostlist.cc,api/postlist.cc,common/leafpostlist.h, 8857 common/postlist.h,common/submatch.h,matcher/,tests/api_anydb.cc, 8858 tests/api_opsynonym.cc: Count how many leaf subqueries match for the 8859 document with the highest weight when calculating the percentage 8860 weights, instead of using the termlist of that document (ticket#363). 8861 Also fixes XOR with a SYNONYM subquery which could achieve 100% 8862 weight before. 8863 8864Fri Jul 10 08:02:18 GMT 2009 Olly Betts <olly@survex.com> 8865 8866 * api/omdatabase.cc,backends/chert/chert_spelling.cc, 8867 backends/flint/flint_spelling.cc,common/database.h: Deal with the 8868 case of get_spelling_suggestion() with an empty or single character 8869 word up front. 8870 8871Thu Jul 09 16:20:47 GMT 2009 Olly Betts <olly@survex.com> 8872 8873 * tests/harness/backendmanager_remotetcp.cc: In clean_up(), only scan 8874 through the pid_to_fd array once, and disable the signal handler 8875 and call waitpid() for any remaining pids ourselves, rather than 8876 calling sleep(1) and rechecking. This should avoid pointless delays 8877 when the child hasn't exited when we first check. 8878 8879Thu Jul 09 12:40:52 GMT 2009 Olly Betts <olly@survex.com> 8880 8881 * tests/harness/: BackendManager has a virtual dtor, so we don't need 8882 empty virtual dtors in its subclasses. 8883 8884Thu Jul 09 11:40:20 GMT 2009 Olly Betts <olly@survex.com> 8885 8886 * tests/harness/backendmanager_remotetcp.cc, 8887 tests/harness/backendmanager_remotetcp.h: Move the 8888 BackendManagerRemoteTcp ctor back into the header now it is trivial 8889 again. 8890 8891Wed Jul 08 16:56:53 GMT 2009 Olly Betts <olly@survex.com> 8892 8893 * backends/flint/flint_io.h: Backport change to use F_FULLSYNC from 8894 chert. 8895 8896Wed Jul 08 15:30:22 GMT 2009 Olly Betts <olly@survex.com> 8897 8898 * configure.ac: Check that we can find the valgrind/memcheck.h header 8899 as well as the valgrind binary. 8900 8901Wed Jul 08 14:30:53 GMT 2009 Olly Betts <olly@survex.com> 8902 8903 * tests/harness/backendmanager_remotetcp.cc: Sort out the clash 8904 between two different patches to fix leaking file descriptors. 8905 Also, call clean_up() from the destructor to correctly handle the 8906 case when a BackendManagerRemoteTcp is created by a test case 8907 directly. 8908 8909Wed Jul 08 14:17:43 GMT 2009 Olly Betts <olly@survex.com> 8910 8911 * tests/harness/: Rename "posttest()" method to "clean_up()" - I keep 8912 thinking "power-on self-test". 8913 8914Wed Jul 08 05:08:09 GMT 2009 Olly Betts <olly@survex.com> 8915 8916 * backends/chert/chert_io.h: Use F_FULLFSYNC where available (Mac OS X 8917 currently). (ticket#288) 8918 8919Tue Jul 07 09:31:35 GMT 2009 Olly Betts <olly@survex.com> 8920 8921 * queryparser/queryparser.lemony: If default_op is OP_NEAR or OP_PHRASE 8922 then make the default window size (9 + no_of_terms), like it would be 8923 for an explicit NEAR or PHRASE without an explicit window size. 8924 (ticket#254) 8925 * tests/queryparsertest.cc: Add feature tests for this. 8926 8927Tue Jul 07 07:18:15 GMT 2009 Olly Betts <olly@survex.com> 8928 8929 * HACKING,api/,backends/chert/,backends/flint/, 8930 backends/remote/remote-database.cc,common/,languages/steminternal.h, 8931 net/,queryparser/queryparser.cc,tests/harness/,tests/internaltest.cc, 8932 tests/perftest/freemem.cc,tests/perftest/perftest_randomidx.cc, 8933 tests/stemtest.cc,unicode/utf8itor.cc: Update to use C++ forms for 8934 ISO C standard headers (ticket#330). 8935 8936Tue Jul 07 05:30:58 GMT 2009 Olly Betts <olly@survex.com> 8937 8938 * backends/inmemory/inmemory_database.h: Use "omassert.h" not 8939 <omassert.h>. 8940 8941Mon Jul 06 04:30:59 GMT 2009 Olly Betts <olly@survex.com> 8942 8943 * AUTHORS: Add Rolf Köhling for fixes for Omega on MS Windows. 8944 8945Sun Jul 05 16:28:54 GMT 2009 Olly Betts <olly@survex.com> 8946 8947 * backends/flint/flint_database.cc,backends/flint/flint_database.h: 8948 Backport the lazyupdate changes from chert to flint. 8949 8950Sun Jul 05 13:12:53 GMT 2009 Olly Betts <olly@survex.com> 8951 8952 * tests/harness/backendmanager.cc,tests/harness/backendmanager.h: Move 8953 virtual destructor definition out of the header. 8954 8955Sun Jul 05 04:09:04 GMT 2009 Olly Betts <olly@survex.com> 8956 8957 * common/documentterm.h: Add const to OmDocumentTerm::get_wdf() method 8958 (ticket#139). 8959 8960Sat Jul 04 16:45:43 GMT 2009 Olly Betts <olly@survex.com> 8961 8962 * queryparser/lemon.c: Merge upstream "Check-in Number: 6757" - no 8963 functional changes in generated code for our parser. 8964 8965Sat Jul 04 16:39:41 GMT 2009 Olly Betts <olly@survex.com> 8966 8967 * queryparser/lemon.c: Merge upstream "Check-in Number: 6756" - no 8968 functional changes in generated code for our parser. 8969 8970Sat Jul 04 16:36:59 GMT 2009 Olly Betts <olly@survex.com> 8971 8972 * queryparser/lemon.c,queryparser/queryparser.lt: Merge upstream 8973 "Check-in Number: 6755" - no functional changes in generated code for 8974 our parser. 8975 8976Sat Jul 04 16:29:24 GMT 2009 Olly Betts <olly@survex.com> 8977 8978 * queryparser/lemon.c: Merge upstream "Check-in Number: 6754" - no 8979 changes in generated code for our parser. 8980 8981Sat Jul 04 16:24:45 GMT 2009 Olly Betts <olly@survex.com> 8982 8983 * queryparser/queryparser.lt: Merge upstream "Check-in Number: 6749" - 8984 only changes are in code which isn't compiled due to preprocessor 8985 conditionals. 8986 8987Sat Jul 04 16:02:08 GMT 2009 Olly Betts <olly@survex.com> 8988 8989 * api/editdistance.cc: Add const to is_transposed() method 8990 (ticket#139). 8991 8992Sat Jul 04 15:19:55 GMT 2009 Olly Betts <olly@survex.com> 8993 8994 * backends/chert/chert_lock.h,backends/flint/flint_lock.h: Make 8995 ChertLock::operator bool() and FlintLock::operator bool() const 8996 (ticket#139). 8997 8998Sat Jul 04 14:56:42 GMT 2009 Olly Betts <olly@survex.com> 8999 9000 * backends/chert/chert_database.cc,backends/chert/chert_database.h, 9001 backends/flint/flint_database.cc,backends/flint/flint_database.h: 9002 Make ChertDatabase::get_changeset_revisions() and 9003 FlintDatabase::get_changeset_revisions() const (ticket#139). 9004 9005Sat Jul 04 14:10:55 GMT 2009 Olly Betts <olly@survex.com> 9006 9007 * backends/chert/chert_changesetapplier.h, 9008 backends/flint/flint_changesetapplier.h: "the the" -> "the" in 9009 comments. 9010 9011Sat Jul 04 14:06:39 GMT 2009 Olly Betts <olly@survex.com> 9012 9013 * backends/chert/chert_btreebase.cc,backends/chert/chert_btreebase.h: 9014 Make ChertTable_base::do_unpack_uint() just a static non-class 9015 function. Use string::+= to build up the error string in it, and 9016 mark the error case as rare. 9017 9018Wed Jul 01 04:12:22 GMT 2009 Olly Betts <olly@survex.com> 9019 9020 * docs/spelling.rst: Omega now supports spelling correction. 9021 9022Mon Jun 29 08:16:13 GMT 2009 Olly Betts <olly@survex.com> 9023 9024 * queryparser/queryparser.lemony: Reset the begin and end strings 9025 before trying the next ValueRangeProcessor in case they've been 9026 modified. 9027 * tests/queryparsertest.cc: Add regression tests and general coverage 9028 for this area. 9029 9030Mon Jun 29 06:33:45 GMT 2009 Olly Betts <olly@survex.com> 9031 9032 * backends/remote/net_postlist.cc: Remove unused '#include 9033 "serialise-double.h"'. 9034 9035Mon Jun 29 06:32:52 GMT 2009 Olly Betts <olly@survex.com> 9036 9037 * backends/remote/net_postlist.cc: Build up description string using 9038 +=. 9039 9040Sun Jun 28 14:50:56 GMT 2009 Olly Betts <olly@survex.com> 9041 9042 * backends/remote/net_postlist.h: Fix internal doc comment. 9043 9044Sat Jun 27 13:35:45 GMT 2009 Olly Betts <olly@survex.com> 9045 9046 * configure.ac: -Wshadow produces false positives with GCC 4.0, so 9047 only enable it for >= 4.1 since we enable -Werror for 9048 maintainer-mode builds for GCC >= 4.0. 9049 9050Sat Jun 27 13:30:22 GMT 2009 Olly Betts <olly@survex.com> 9051 9052 * backends/multi/multi_termlist.cc,backends/multi/multi_termlist.h: 9053 Fix return type of MultiTermList::positionlist_count() to be 9054 Xapian::termcount rather than Xapian::termpos. 9055 9056Sat Jun 27 12:50:17 GMT 2009 Olly Betts <olly@survex.com> 9057 9058 * backends/flint/flint_alltermslist.h,backends/flint/flint_postlist.cc, 9059 backends/flint/flint_postlist.h: Fix to use Xapian::doccount for 9060 termfreq in flint too. 9061 9062Sat Jun 27 12:28:47 GMT 2009 Olly Betts <olly@survex.com> 9063 9064 * backends/chert/chert_alltermslist.cc: Prefer 'str.resize(0)' to 9065 'str = ""'. 9066 9067Sat Jun 27 12:16:17 GMT 2009 Olly Betts <olly@survex.com> 9068 9069 * backends/chert/chert_alltermslist.h,backends/chert/chert_postlist.h: 9070 Fix to use Xapian::doccount for termfreq in more places. 9071 9072Sat Jun 27 11:51:25 GMT 2009 Olly Betts <olly@survex.com> 9073 9074 * backends/chert/chert_table.cc: Change so add_item_to_block() can 9075 always assume there is another contiguous space in the block 9076 (previously it could assume that there was enough space, but not 9077 that it was necessarily contiguous). 9078 9079Sat Jun 27 09:55:19 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 9080 9081 * include/xapian/postingsource.h,include/xapian/weight.h: Add note 9082 that PostingSource and Weight objects returned by clone() and 9083 unserialise() methods will be deallocated with "delete". 9084 9085Sat Jun 27 07:26:41 GMT 2009 Olly Betts <olly@survex.com> 9086 9087 * backends/chert/chert_postlist.cc: Adjust use of Xapian::doccount vs 9088 Xapian::termcount for consistency so things work better when these 9089 types aren't identical. 9090 9091Sat Jun 27 01:48:39 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 9092 9093 * api/matchspy.cc: Remove unused matchspy.cc - there is an updated 9094 version of this on the matchspy branch; having an old copy here 9095 is just likely to lead to confusion. 9096 9097Fri Jun 26 05:42:26 GMT 2009 Olly Betts <olly@survex.com> 9098 9099 * api/documentvaluelist.cc,api/documentvaluelist.h: Change 9100 DocumentValueList::skip_to()'s parameter type from Xapian::valueno 9101 to Xapian::docid to agree with the type in ValueList::skip_to(). 9102 This is a latent bug - it doesn't matter provided the types are 9103 actually the same (ticket#385). 9104 9105Thu Jun 25 11:20:07 GMT 2009 Olly Betts <olly@survex.com> 9106 9107 * matcher/phrasepostlist.cc: Use Xapian::termcount(1) instead of 1u 9108 so that the code doesn't assume Xapian::termcount is unsigned int. 9109 9110Sun Jun 21 12:09:55 GMT 2009 Olly Betts <olly@survex.com> 9111 9112 * backends/chert/chert_check.cc,backends/chert/chert_table.cc, 9113 backends/chert/chert_table.h: Replace duplicated macros with 9114 a single version in chert_table.h, and use DIR_START instead of 9115 a literal 11 in that header. 9116 * backends/chert/chert_table.h: Add more assertions. Use 9117 BYTES_PER_BLOCK_NUMBER instead of a literal 4 in more places. 9118 9119Sat Jun 20 07:38:56 GMT 2009 Olly Betts <olly@survex.com> 9120 9121 * backends/chert/chert_table.cc,backends/flint/flint_table.cc: Fix 9122 misspelling in comment (neccessary -> necessary). 9123 9124Sat Jun 20 07:38:06 GMT 2009 Olly Betts <olly@survex.com> 9125 9126 * backends/chert/chert_table.cc: Don't reconstruct Item(p, c) when we 9127 already have it as a local variable. 9128 9129Wed Jun 17 01:23:16 GMT 2009 Olly Betts <olly@survex.com> 9130 9131 * common/str.cc: Fix potential warning in signed version of str(). 9132 9133Tue Jun 16 11:20:43 GMT 2009 Olly Betts <olly@survex.com> 9134 9135 * tests/harness/testsuite.cc,tests/harness/testsuite.h: Factor out 9136 writing out what was sent to tout and clearing it into a new 9137 method test_driver::write_and_clear_tout(). 9138 * tests/harness/testsuite.cc: Prefer string() to "". When sending a 9139 colour change code, do it before the preceding space when that allows 9140 string literals to be merged. Always give the full exception message 9141 (was conditional on --verbose). Tidy up output for reporting the 9142 various different exception types and other failures to give more 9143 consistent output. 9144 9145Tue Jun 16 11:01:14 GMT 2009 Olly Betts <olly@survex.com> 9146 9147 * tests/harness/scalability.cc: Increase the number of tests until the 9148 first sample takes more than 0.001 seconds to avoid trying to base 9149 calculations on a length of time we probably can't reliably measure 9150 to start with. 9151 9152Tue Jun 16 10:58:34 GMT 2009 Olly Betts <olly@survex.com> 9153 9154 * tests/harness/cputimer.cc: Don't bother trying to count CPU time 9155 for child processes, as it's hard to ensure that the child processes 9156 have finished with the current framework, and just counting time in 9157 the current process checks most things (the local backend tests cover 9158 much of the work done by the server part of the remote backend). 9159 9160Tue Jun 16 02:15:31 GMT 2009 Olly Betts <olly@survex.com> 9161 9162 * tests/harness/cputimer.h: Don't need '#include <ctime>'. 9163 9164Tue Jun 16 02:10:29 GMT 2009 Olly Betts <olly@survex.com> 9165 9166 * tests/harness/cputimer.h: Fix naming of header multiple-inclusion 9167 protection macro. 9168 9169Sun Jun 14 14:11:51 GMT 2009 Olly Betts <olly@survex.com> 9170 9171 * tests/internaltest.cc: In testcase serialisequery1, use a helper 9172 function rather than wasting effort building a std::list with all the 9173 testcases in just so we can iterate over them. 9174 9175Sun Jun 14 13:52:22 GMT 2009 Olly Betts <olly@survex.com> 9176 9177 * tests/harness/testsuite.cc: <iomanip> isn't used so remove it. 9178 9179Sun Jun 14 13:30:34 GMT 2009 Olly Betts <olly@survex.com> 9180 9181 * tests/harness/testsuite.h: Fix comment typo. 9182 9183Sat Jun 13 06:30:57 GMT 2009 Olly Betts <olly@survex.com> 9184 9185 * tests/api_anydb.cc: Fix reversed conditional in last but one change. 9186 9187Sat Jun 13 04:42:27 GMT 2009 Olly Betts <olly@survex.com> 9188 9189 * tests/api_anydb.cc: Use TEST_EQUAL_DOUBLE() when comparing 9190 get_max_attained() to allow for rounding differences. 9191 9192Sat Jun 13 04:39:49 GMT 2009 Olly Betts <olly@survex.com> 9193 9194 * tests/api_anydb.cc: Use "startswith()" rather than comparing an 9195 extracted substring. 9196 9197Fri Jun 12 12:45:37 GMT 2009 Olly Betts <olly@survex.com> 9198 9199 * tests/harness/backendmanager_remotetcp.cc: Fix the mechanism for 9200 closing the file descriptors used by child xapian-tcpsrv processes 9201 once they exit, which has been broken ever since it was added nearly 9202 two years ago (sigh). Fixes fd leaking which caused "apitest 9203 -bremotetcp" to fail on OpenBSD (ticket#382). 9204 9205Fri Jun 12 03:37:13 GMT 2009 Olly Betts <olly@survex.com> 9206 9207 * tests/harness/backendmanager_remotetcp.cc: Fix comment typo. 9208 9209Wed Jun 10 04:29:43 GMT 2009 Olly Betts <olly@survex.com> 9210 9211 * common/serialise-double.cc,common/serialise-double.h: Relicense as 9212 MIT/X rather than GPLv2+ as these are low level routines which other 9213 projects may find useful. 9214 9215Tue Jun 09 14:34:20 GMT 2009 Olly Betts <olly@survex.com> 9216 9217 * NEWS: Update for 1.1.1. 9218 9219Tue May 26 14:55:05 GMT 2009 Olly Betts <olly@survex.com> 9220 9221 * configure.ac: Update version to 1.1.1. 9222 9223Tue May 26 14:49:23 GMT 2009 Olly Betts <olly@survex.com> 9224 9225 * NEWS: Lick into shape. 9226 9227Mon May 25 11:55:59 GMT 2009 Olly Betts <olly@survex.com> 9228 9229 * PLATFORMS: Sync with changes in 1.0 version. 9230 9231Mon May 25 10:57:59 GMT 2009 Olly Betts <olly@survex.com> 9232 9233 * common/weightinternal.h: Remove declarations of unimplemented 9234 constructors (ticket#379). 9235 9236Sat May 23 16:06:05 GMT 2009 Olly Betts <olly@survex.com> 9237 9238 * NEWS: Update from 1.0.13 and ChangeLog. 9239 9240Sat May 23 15:35:39 GMT 2009 Olly Betts <olly@survex.com> 9241 9242 * HACKING: ValueIterator is now a PIMPL class like TermIterator, etc. 9243 9244Sat May 23 05:24:33 GMT 2009 Olly Betts <olly@survex.com> 9245 9246 * docs/postingsource.rst: Since we are sticking with an recursive 9247 maxweight recalculation for now, add back a warning about the 9248 potential overhead from calling set_maxweight() very frequently, 9249 with an informed estimate for the worst case overhead. 9250 9251Fri May 22 11:44:04 GMT 2009 Olly Betts <olly@survex.com> 9252 9253 * backends/inmemory/inmemory_database.cc: We can trivially make 9254 Database::metadata_keys_begin() work for inmemory in the special 9255 case when there are no keys, so do so. 9256 * tests/api_metadata.cc: Add test coverage for this case. 9257 9258Fri May 22 09:31:07 GMT 2009 Olly Betts <olly@survex.com> 9259 9260 * configure.ac: Only bother passing -Winit-self for GCC >= 4.3, as it 9261 doesn't do anything for GCC <= 4.4 anyway. 9262 9263Fri May 22 07:00:29 GMT 2009 Olly Betts <olly@survex.com> 9264 9265 * backends/flint/flint_version.h: Initialise filename using + not +=. 9266 Fix odd whitespace in recent change. 9267 9268Fri May 22 05:27:56 GMT 2009 Olly Betts <olly@survex.com> 9269 9270 * AUTHORS: Update. 9271 9272Fri May 22 05:24:19 GMT 2009 Olly Betts <olly@survex.com> 9273 9274 * api/postingsource.cc,common/multimatch.h,matcher/multimatch.cc: 9275 Replace MultiMatch::reduce_maxweight_by() with a call to 9276 MultiMatch::recalc_maxweight() and inline the later from the header. 9277 9278Fri May 22 05:16:03 GMT 2009 Olly Betts <olly@survex.com> 9279 9280 * configure.ac: Enable more GCC warnings - "-Woverloaded-virtual" for 9281 all versions, "-Wstrict-null-sentinel" for 4.0+, "-Wlogical-op 9282 -Wmissing-declarations" for 4.3+. Notably "-Wmissing-declarations" 9283 caught that consistency2 wasn't being run. 9284 9285Fri May 22 05:15:08 GMT 2009 Olly Betts <olly@survex.com> 9286 9287 * languages/steminternal.cc,languages/steminternal.h: Inline simple 9288 Stem::Internal::Internal() constructor from header. 9289 9290Thu May 21 16:23:26 GMT 2009 Olly Betts <olly@survex.com> 9291 9292 * tests/harness/backendmanager_remotetcp.cc: Make on_SIGCHLD() static. 9293 9294Thu May 21 16:22:56 GMT 2009 Olly Betts <olly@survex.com> 9295 9296 * tests/api_wrdb.cc: Fix testcase consistency2 to actually be run. 9297 9298Thu May 21 16:22:30 GMT 2009 Olly Betts <olly@survex.com> 9299 9300 * tests/api_transdb.cc: Add missing '#include "api_transdb.h"'. 9301 9302Thu May 21 12:58:22 GMT 2009 Olly Betts <olly@survex.com> 9303 9304 * backends/databasereplicator.cc: Don't bother to check if the 9305 database path works in stat() and is a directory - the case we want 9306 to be fast is when the database does exist, and if path + 9307 "/iamflint" (or "iamchert") exists, then the check for path being a 9308 directory is redundant. If the path isn't a flint or chert database 9309 then a generic message including the path seems sufficient. 9310 9311Thu May 21 09:17:15 GMT 2009 Olly Betts <olly@survex.com> 9312 9313 * backends/databasereplicator.cc,common/databasereplicator.h: Inline 9314 empty DatabaseReplicator default ctor. 9315 9316Thu May 21 08:25:24 GMT 2009 Olly Betts <olly@survex.com> 9317 9318 * api/replication.cc: Cache the result of get_replica_path() when we 9319 are going to need it again. 9320 9321Thu May 21 08:09:51 GMT 2009 Olly Betts <olly@survex.com> 9322 9323 * backends/chert/chert_databasereplicator.h, 9324 backends/flint/flint_databasereplicator.h: Correct parent class name 9325 in doxygen comments. 9326 9327Thu May 21 08:08:06 GMT 2009 Olly Betts <olly@survex.com> 9328 9329 * HACKING: Update list of Debian/Ubuntu packages needed to for a 9330 development environment. 9331 9332Thu May 21 06:28:00 GMT 2009 Olly Betts <olly@survex.com> 9333 9334 * backends/databasereplicator.cc: Fix nested comment start introduced 9335 by the previous commit. 9336 9337Thu May 21 06:21:39 GMT 2009 Olly Betts <olly@survex.com> 9338 9339 * api/replication.cc,backends/databasereplicator.cc, 9340 common/databasereplicator.h: We only keep one pointer to a 9341 DatabaseReplicator, so use AutoPtr not RefCntPtr. 9342 9343Thu May 21 05:00:17 GMT 2009 Olly Betts <olly@survex.com> 9344 9345 * api/replication.cc: Fix SEGV when calling get_description() on a 9346 default constructed DatabaseReplica. 9347 * tests/generate-api_generated: Test DatabaseReplica (regression test 9348 for the above bug) and SerialisationContext. Fix @file in the 9349 generated api_generated.cc. Update (C) dates in generated 9350 api_generated.cc. 9351 9352Thu May 21 03:58:59 GMT 2009 Olly Betts <olly@survex.com> 9353 9354 * tests/generate-api_generated: Call get_description() on the default 9355 constructed object to make sure that works (and doesn't try to 9356 dereference NULL, or fail some assertion, etc). All currently 9357 checked classes are fine - this is to avoid future regressions or 9358 such problems with new classes. 9359 9360Wed May 20 14:19:54 GMT 2009 Olly Betts <olly@survex.com> 9361 9362 * net/tcpclient.cc,net/tcpserver.cc: Fix xapian-tcpsrv --interface 9363 option to work on MacOS X (ticket#373). 9364 9365Wed May 20 13:58:09 GMT 2009 Olly Betts <olly@survex.com> 9366 9367 * api/omdatabase.cc,api/sortable-serialise.cc,backends/chert/, 9368 backends/flint/,backends/remote/remote-database.cc, 9369 common/serialise-double.cc,common/str.cc, 9370 matcher/exactphrasepostlist.cc,net/remoteconnection.cc, 9371 net/remoteserver.cc: Replace C-style casts. Add a few missing casts. 9372 Tweak types used in a few places. 9373 9374Wed May 20 13:55:41 GMT 2009 Olly Betts <olly@survex.com> 9375 9376 * backends/chert/chert_databasereplicator.cc, 9377 backends/flint/flint_databasereplicator.cc: Need <cstdio> for 9378 rename(). Replace C-style cast to off_t. 9379 9380Wed May 20 13:53:25 GMT 2009 Olly Betts <olly@survex.com> 9381 9382 * api/editdistance.cc: Make edist_state class uncopyable and 9383 unassignable. Initialise maxdist in the initialiser list. 9384 9385Wed May 20 11:19:53 GMT 2009 Olly Betts <olly@survex.com> 9386 9387 * languages/steminternal.cc,languages/steminternal.h: Change C-style 9388 casts to C++-style ones. 9389 9390Wed May 20 10:40:03 GMT 2009 Olly Betts <olly@survex.com> 9391 9392 * common/str.h: Add static_cast<char>() to suppress bogus MSVC 9393 warning (ticket#377). 9394 9395Tue May 19 15:26:39 GMT 2009 Olly Betts <olly@survex.com> 9396 9397 * backends/chert/,backends/flint/,common/rset.h,tests/api_anydb.cc: 9398 Pass std::string by const reference rather than value (except in 9399 a few cases where we need a modifiable copy anyway) as benchmarking 9400 shows this is better even with GCC's reference counted std::string 9401 implementation (ticket#140). 9402 * tests/api_anydb.cc: Use string() instead of "" for an empty string. 9403 9404Tue May 19 08:47:55 GMT 2009 Olly Betts <olly@survex.com> 9405 9406 * api/omquery.cc,include/xapian/query.h: Make Xapian::Query::MatchAll 9407 and Xapian::Query::MatchNothing const since they're immutable. All 9408 the public methods are const, so this should be completely API 9409 compatible. 9410 9411Tue May 19 06:25:26 GMT 2009 Olly Betts <olly@survex.com> 9412 9413 * include/xapian/enquire.h: Document what passing maxitems=0 to 9414 get_mset() does. 9415 9416Mon May 18 13:32:49 GMT 2009 Olly Betts <olly@survex.com> 9417 9418 * include/xapian/database.h: Correct doxygen comments for user 9419 metadata functions: get_metadata() can't throw UnimplementedError 9420 but set_metadata() can. 9421 * include/xapian/database.h,tests/api_metadata.cc: Document that 9422 metadata_keys_begin() returns an end iterator if the backend doesn't 9423 support metadata, and add test coverage for this case. 9424 * backends/inmemory/inmemory_database.cc, 9425 backends/inmemory/inmemory_database.h,include/xapian/database.h, 9426 tests/api_metadata.cc,tests/harness/testrunner.cc: The test harness 9427 didn't have the inmemory backend flagged as supporting 9428 user-specified metadata, and so it's perhaps not a great surprise to 9429 discover that inmemory doesn't support it fully - you can't iterate 9430 over metadata keys, but instead get an empty iteration. Fix this 9431 to at least throw UnimplementedError and document that this is the 9432 situation. 9433 9434Mon May 18 11:29:10 GMT 2009 Olly Betts <olly@survex.com> 9435 9436 * tests/Makefile.am,tests/api_metadata.cc,tests/api_wrdb.cc: Split out 9437 tests of user metadata into their own file. 9438 9439Sun May 17 12:52:41 GMT 2009 Olly Betts <olly@survex.com> 9440 9441 * matcher/: Add a new constructor to MultiAndPostList for the "decay 9442 from OrPostList or AndMaybePostList" case which takes the already 9443 know max weights to avoid having to refetch them. Also, we know 9444 that the subpostlists of OrPostList are ordered a particular way 9445 so can avoid needing to check the order in that case. 9446 9447Sat May 16 05:02:35 GMT 2009 Olly Betts <olly@survex.com> 9448 9449 * backends/flint/flint_version.cc: Fix comment - this file doesn't 9450 use memcpy() now. 9451 9452Thu May 14 04:38:47 GMT 2009 Olly Betts <olly@survex.com> 9453 9454 * tests/api_percentages.cc: Remove superfluous explict std:: 9455 qualifiers. 9456 9457Thu May 14 04:36:29 GMT 2009 Olly Betts <olly@survex.com> 9458 9459 * tests/api_percentages.cc: Update for the PostingSource 9460 get_maxweight() API changes. 9461 9462Tue May 12 14:50:57 GMT 2009 Olly Betts <olly@survex.com> 9463 9464 * matcher/multimatch.cc: Rename "max_weight" variable to "max_possible" 9465 since that is what it is referred to via the MSet API. 9466 9467Tue May 12 12:38:11 GMT 2009 Olly Betts <olly@survex.com> 9468 9469 * common/safeuuid.h: Fix length of buffer to lower case - it's 9470 36, not sizeof(uuid_t). 9471 9472Tue May 12 02:49:34 GMT 2009 Olly Betts <olly@survex.com> 9473 9474 * common/safeuuid.h,configure.ac: Older versions of libuuid don't have 9475 uuid_unparse_lower() so probe for it in configure, and if it isn't 9476 present provide an inline version in safeuuid.h (ticket#368). 9477 9478Mon May 11 13:07:47 GMT 2009 Olly Betts <olly@survex.com> 9479 9480 * tests/api_postingsource.cc: In changemaxweightsource1, set 9481 descending docid order so that the matcher isn't able to terminate 9482 early after 4 documents just because weight == maxweight. 9483 9484Mon May 11 12:00:04 GMT 2009 Olly Betts <olly@survex.com> 9485 9486 * net/serialise.cc: Build up string using +=. 9487 9488Mon May 11 11:39:49 GMT 2009 Olly Betts <olly@survex.com> 9489 9490 * docs/postingsource.rst: Improve documentation for get_maxweight(). 9491 9492Mon May 11 11:26:02 GMT 2009 Olly Betts <olly@survex.com> 9493 9494 * include/xapian/postingsource.h: Initialise max_weight_ to 0 in the 9495 PostingSource constructor in case nobody else sets a value for it. 9496 9497Mon May 11 10:54:47 GMT 2009 Olly Betts <olly@survex.com> 9498 9499 * tests/api_postingsource.cc: Fix class name in FAIL_TEST message. 9500 9501Mon May 11 10:41:31 GMT 2009 Olly Betts <olly@survex.com> 9502 9503 * tests/api_postingsource.cc: Fix get_termfreq_min(), etc for 9504 ChangeMaxweightPostingSource to return 4 not 5. 9505 9506Mon May 11 09:03:14 GMT 2009 Olly Betts <olly@survex.com> 9507 9508 * api/postingsource.cc: Remove assertion checking that set_maxweight() 9509 doesn't set a lower weight - it legitimately can when we call init() 9510 on a non-clone-able PostingSource for reuse. 9511 9512Mon May 11 03:12:00 GMT 2009 Olly Betts <olly@survex.com> 9513 9514 * api/postingsource.cc,common/multimatch.h,docs/postingsource.rst, 9515 include/xapian/postingsource.h,matcher/externalpostlist.cc, 9516 matcher/externalpostlist.h,matcher/msetpostlist.cc, 9517 tests/api_postingsource.cc: Replace PostingSource's 9518 notify_new_maxweight() and virtual get_maxweight() mechanism with a 9519 non-virtual set_maxweight() and get_maxweight(). Currently the 9520 plumbing at the matcher end is much as before, but this API seems 9521 more obvious to the user and will allow the matcher to simply reduce 9522 its maximum weight value rather than having to recursively call 9523 recalc_maxweight() in response to this situation (ticket#340). 9524 9525Mon May 11 02:38:26 GMT 2009 Olly Betts <olly@survex.com> 9526 9527 * docs/postingsource.rst: Fix a typo and reword to avoid "namespaced". 9528 9529Mon May 11 02:30:59 GMT 2009 Olly Betts <olly@survex.com> 9530 9531 * matcher/msetpostlist.cc: Fix typo - MSetPostList::get_maxweight() 9532 with a sort ordered primarily by decreasing relevance was returning 9533 the docid for the maxweight! This could have led to wrong results 9534 when searching multiple databases with the remote backend, but 9535 probably usually didn't matter as with BM25 the weights are usually 9536 small (often all < 1) while docids are inevitably >= 1. No 9537 regression test for this (currently anyway). 9538 9539Sun May 10 07:49:11 GMT 2009 Olly Betts <olly@survex.com> 9540 9541 * backends/dbfactory.cc: Fix comment typo. 9542 9543Sat May 09 14:15:38 GMT 2009 Olly Betts <olly@survex.com> 9544 9545 * tests/api_collapse.cc,tests/perftest/runprocess.cc: Remove unused 9546 include of <iostream>. 9547 9548Sat May 09 14:03:34 GMT 2009 Olly Betts <olly@survex.com> 9549 9550 * api/omquery.cc,matcher/andnotpostlist.cc, 9551 queryparser/termgenerator_internal.cc,tests/api_wrdb.cc: Remove 9552 unused inclusions of <algorithm>. 9553 9554Sat May 09 13:47:54 GMT 2009 Olly Betts <olly@survex.com> 9555 9556 * matcher/multimatch.cc: Remove unused inclusion of <queue>. 9557 9558Sat May 09 13:38:02 GMT 2009 Olly Betts <olly@survex.com> 9559 9560 * api/omquery.cc,api/omqueryinternal.cc,api/replication.cc, 9561 backends/alltermslist.cc,backends/chert/chert_table.cc, 9562 backends/flint/flint_table.cc,bin/xapian-compact.cc, 9563 common/bitstream.cc,common/inmemory_positionlist.h, 9564 common/positionlist.h,matcher/localmatch.h,matcher/queryoptimiser.cc, 9565 matcher/queryoptimiser.h,tests/api_wrdb.cc: Remove unused inclusions 9566 of <list>, <map>, <string>, and <vector>. 9567 9568Sat May 09 12:48:18 GMT 2009 Olly Betts <olly@survex.com> 9569 9570 * api/documentvaluelist.cc,matcher/queryoptimiser.cc: Remove unused 9571 '#include "autoptr.h"'. 9572 9573Sat May 09 09:41:03 GMT 2009 Olly Betts <olly@survex.com> 9574 9575 * queryparser/queryparser.lemony,queryparser/termgenerator.cc, 9576 weight/bm25weight.cc,weight/boolweight.cc,weight/tradweight.cc: 9577 Remove unneeded explicit "std::" qualifiers. 9578 9579Sat May 09 09:35:32 GMT 2009 Olly Betts <olly@survex.com> 9580 9581 * weight/weight.cc: Doesn't use '#include "autoptr.h"'. 9582 9583Fri May 08 19:59:00 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 9584 9585 * configure.ac: Change source file which autoconf looks for, since 9586 I've just removed the old one that it looked for! 9587 9588Fri May 08 19:28:31 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 9589 9590 * matcher/andmaybepostlist.cc,matcher/branchpostlist.h: Call 9591 check() instead of skip_to() on the optional branch of AND_MAYBE. 9592 This can be much faster if that branch is a posting source. 9593 9594Fri May 08 18:31:01 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 9595 9596 * matcher/: Remove AndPostList, in favour of MultiAndPostList. 9597 AndPostList was only used as a decay product (by AndMaybePostList 9598 and OrPostList); for most queries, MultiAnd has pretty much 9599 indistinguishable performance as far as I can test; however, it 9600 uses check() when possible, which makes performance much better 9601 with searches involving external posting sources. Removal also 9602 reduces the amount of code cluttering up the caches during a 9603 search, so may help speed things up in some other situations. 9604 9605Fri May 08 16:00:42 GMT 2009 Olly Betts <olly@survex.com> 9606 9607 * api/postingsource.cc,backends/inmemory/inmemory_database.cc, 9608 examples/delve.cc,include/xapian/postingsource.h: Don't store an 9609 end iterator in a variable just to compare against it - it's now 9610 definitely more efficient to compare against the return value of 9611 the relevant _end() method. 9612 9613Fri May 08 15:44:07 GMT 2009 Olly Betts <olly@survex.com> 9614 9615 * api/valueiterator.cc,include/xapian/database.h, 9616 include/xapian/document.h,include/xapian/valueiterator.h: Create a 9617 new proxy object class ValueIteratorEnd_ which is returned instead 9618 of ValueIterator(NULL) for end iterators. This class will be 9619 converted to ValueIterator(NULL) if assigned to or passed as 9620 ValueIterator, but operator== and operator!= are overloaded to 9621 handle it directly which means that the compiler no longer calls 9622 ~ValueIterator for each call which returns ValueIterator(NULL). 9623 9624Fri May 08 15:42:12 GMT 2009 Olly Betts <olly@survex.com> 9625 9626 * backends/chert/chert_values.cc: Swap two statements for cosmetic 9627 reasons. 9628 9629Fri May 08 14:42:49 GMT 2009 Olly Betts <olly@survex.com> 9630 9631 * api/postingsource.cc,include/xapian/postingsource.h: It is actually 9632 better not to store the end iterator in a member variable - if we 9633 explicitly call db.postlist_end(string()) then that just gets 9634 optimised to PostingSource(NULL). 9635 9636Fri May 08 14:02:21 GMT 2009 Olly Betts <olly@survex.com> 9637 9638 * tests/api_postingsource.cc: We've decided that "going back" with 9639 skip_to() or check() should have unspecified behaviour, so stop 9640 testing how this case behaves! 9641 9642Fri May 08 12:37:33 GMT 2009 Olly Betts <olly@survex.com> 9643 9644 * common/Makefile.mk: Ship common/win32_uuid.cc and common/win32_uuid.h 9645 (ticket#367). 9646 9647Fri May 08 12:30:45 GMT 2009 Olly Betts <olly@survex.com> 9648 9649 * tests/harness/cputimer.cc: Fix typo in the "ftime" case. 9650 9651Fri May 08 10:25:37 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 9652 9653 * matcher/andpostlist.cc: Fix a swap which was the wrong way round, 9654 so that we call next() on the subpostlist with the lower 9655 frequency, rather than the one with the higher frequency. This 9656 should improve performance in many situations, and I don't think 9657 it's likely to slow anything down. It also fixes some cases 9658 where optimisation of an AND_MAYBE to an AND results in a slower 9659 search, such that search times went down when more hits were 9660 requested. 9661 9662Fri May 08 08:48:14 GMT 2009 Olly Betts <olly@survex.com> 9663 9664 * matcher/externalpostlist.cc: ExternalPostList::get_doclength() 9665 should never get called, so make it "Assert(false)". 9666 9667Fri May 08 05:16:50 GMT 2009 Olly Betts <olly@survex.com> 9668 9669 * api/postingsource.cc: Another string concatention. 9670 9671Fri May 08 05:04:55 GMT 2009 Olly Betts <olly@survex.com> 9672 9673 * api/postingsource.cc: Use str() instead of om_tostring() and build 9674 up strings using +=. 9675 9676Fri May 08 04:37:05 GMT 2009 Olly Betts <olly@survex.com> 9677 9678 * api/postingsource.cc: "using namespace std;". 9679 9680Thu May 07 16:46:14 GMT 2009 Olly Betts <olly@survex.com> 9681 9682 * matcher/: Check for collection_size == 0 up front so we don't need 9683 to repeatedly special case it when implementing 9684 get_termfreq_est_using_stats(). 9685 9686Thu May 07 16:28:07 GMT 2009 Olly Betts <olly@survex.com> 9687 9688 * matcher/xorpostlist.cc: Fix typo bug - collection_size should be 9689 rset_size. This would have lead to a floating point division by 9690 zero when XOR was used under a synonym without an RSet, but that 9691 would just give infinity, and so just give a bogus value for the 9692 rel_termfreq rather than aborting instantly. 9693 9694Thu May 07 16:19:52 GMT 2009 Olly Betts <olly@survex.com> 9695 9696 * HACKING: Update auto_ptr information. Mention constructor syntax as 9697 an alternative replacement for some C-style casts. 9698 9699Thu May 07 15:25:00 GMT 2009 Olly Betts <olly@survex.com> 9700 9701 * matcher/localmatch.cc,matcher/localmatch.h: Don't rebuild the 9702 termname -> termfreq and weight map for every subdatabase - just do 9703 it once for the first one. Also eliminate a copy of this map. 9704 This should speed up searches a little, especially those over 9705 multiple databases. 9706 9707Thu May 07 15:01:24 GMT 2009 Olly Betts <olly@survex.com> 9708 9709 * api/omdatabase.cc,api/omqueryinternal.cc, 9710 backends/remote/remote-database.cc,common/autoptr.h, 9711 expand/esetinternal.cc,matcher/localmatch.cc: Make our AutoPtr just 9712 a macro wrapper for std::auto_ptr. Since std::auto_ptr doesn't 9713 allow assignment from a raw pointer, this requires changing such 9714 assignments into calls to auto_ptr::reset(). 9715 9716Thu May 07 14:19:22 GMT 2009 Olly Betts <olly@survex.com> 9717 9718 * api/leafpostlist.cc: Add an assertion that the term in the stats. 9719 Add "using namespace std;" so we can avoid explicit std:: qualifiers. 9720 9721Thu May 07 13:26:21 GMT 2009 Olly Betts <olly@survex.com> 9722 9723 * matcher/: Eliminate EmptySubMatch - we can just store NULL for a 9724 submatch which has failed but which ErrorHandler told us to continue 9725 without. 9726 9727Thu May 07 12:52:24 GMT 2009 Olly Betts <olly@survex.com> 9728 9729 * common/database.h: Update internal documentation comment - 9730 Database::Internal::open_post_list() can no longer return 9731 EmptyPostList as it is no longer a subclass of LeafPostList. 9732 9733Thu May 07 12:13:50 GMT 2009 Olly Betts <olly@survex.com> 9734 9735 * api/leafpostlist.cc,backends/chert/chert_postlist.cc, 9736 backends/chert/chert_postlist.h, 9737 backends/flint/flint_alldocspostlist.h, 9738 backends/flint/flint_postlist.cc,backends/flint/flint_postlist.h, 9739 backends/inmemory/inmemory_database.cc, 9740 backends/inmemory/inmemory_database.h,backends/remote/net_postlist.h, 9741 common/contiguousalldocspostlist.h,common/leafpostlist.h: Squash 9742 TermBasedLeafPostList into LeafPostList since there are no longer 9743 any other subclasses. 9744 9745Thu May 07 11:49:06 GMT 2009 Olly Betts <olly@survex.com> 9746 9747 * api/Makefile.mk,api/emptypostlist.cc,common/emptypostlist.h: 9748 Reimplement EmptyPostList from scratch, and inherit from PostList 9749 not LeafPostList. 9750 9751Thu May 07 11:19:34 GMT 2009 Olly Betts <olly@survex.com> 9752 9753 * matcher/mergepostlist.cc: Add explicit '#include "omassert.h"'. 9754 9755Thu May 07 10:28:33 GMT 2009 Olly Betts <olly@survex.com> 9756 9757 * backends/multi/multi_postlist.cc,backends/multi/multi_postlist.h: 9758 Subclass MultiPostList directly from PostList instead of from 9759 LeafPostList. This gets rid of two unused data members per 9760 MultiPostList in exchange for having to define 5 extra "never 9761 called" methods, but 4 of these just tailcall. 9762 9763Thu May 07 10:26:39 GMT 2009 Olly Betts <olly@survex.com> 9764 9765 * backends/inmemory/inmemory_alltermslist.cc, 9766 backends/inmemory/inmemory_database.cc: Fix assertion failures and 9767 a SEGV in an assertion test. 9768 9769Thu May 07 09:27:35 GMT 2009 Olly Betts <olly@survex.com> 9770 9771 * backends/inmemory/inmemory_alltermslist.cc, 9772 backends/inmemory/inmemory_alltermslist.h, 9773 backends/inmemory/inmemory_database.cc: 9774 Keep a dummy entry in InMemoryDatabase::postlists so that the 9775 implementation of InMemoryAllTermsList doesn't need a "started" 9776 flag, and we can use an InMemoryPostList on the dummy item for 9777 the "term not in database" case. 9778 9779Thu May 07 05:45:48 GMT 2009 Olly Betts <olly@survex.com> 9780 9781 * tests/api_backend.cc: Add tset coverage for alldocs iterator on an 9782 empty database. 9783 * backends/inmemory/inmemory_database.cc: No need to special case an 9784 empty database as InMemoryAllDocsPostList handles this case 9785 correctly. 9786 9787Thu May 07 05:08:07 GMT 2009 Olly Betts <olly@survex.com> 9788 9789 * weight/weightinternal.cc: Use str() instead of om_tostring(), += to 9790 build up strings, and fix a cut-and-paste comment error. 9791 9792Wed May 06 13:03:40 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 9793 9794 * net/serialise.cc: Better serialisation - don't include the 9795 reltermfreqs if the rset_size is 0, since they'll all be 0 too. 9796 9797Wed May 06 12:13:52 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 9798 9799 * common/remoteprotocol.h,net/serialise.cc: When serialising stats, 9800 serialise the termfreq and reltermfreq together, rather than in 9801 separate lists. Results in a smaller serialised form, and 9802 matches the in-memory structure now used better. Fixes ticket 9803 #362. This is an incompatible remote protocol change, however, 9804 so bump the major version to 32. 9805 9806Wed May 06 04:02:43 GMT 2009 Olly Betts <olly@survex.com> 9807 9808 * matcher/multimatch.cc: Check termfreqandwts for MatchAll queries 9809 before we check terms from the document so that the "terminate 9810 early once we've seen all the query terms" test when checking the 9811 document terms can fire in this case. 9812 9813Wed May 06 03:26:05 GMT 2009 Olly Betts <olly@survex.com> 9814 9815 * matcher/multimatch.cc: Remove incorrect comment accidentally 9816 committed in r12623. 9817 9818Wed May 06 03:18:42 GMT 2009 Olly Betts <olly@survex.com> 9819 9820 * tests/api_opsynonym.cc: Fix comment typo. 9821 9822Wed May 06 01:35:14 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 9823 9824 * tests/api_postingsource.cc: changemaxweightsource1 uses 9825 ChangeMaxweightPostingSource, which doesn't work with multi or 9826 remote, so mark the test accordingly. 9827 9828Wed May 06 01:11:25 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 9829 9830 * include/xapian/postingsource.h,api/postingsource.cc: Add 9831 notify_new_maxweight() method to be called by subclasses when they 9832 want to notify the matcher that their maxweight has changed 9833 significantly. Add ExternalPostList as a friend and add 9834 register_externalpl() to be used to associate the ExternalPostList 9835 with the PostingSource. 9836 * matcher/externalpostlist.cc,matcher/externalpostlist.h, 9837 matcher/queryoptimiser.cc: Register the externalpostlist with the 9838 PostingSource it's iterating through. Add 9839 ExternalPostList::notify_new_maxweight() method for 9840 PostingSource::notify_new_maxweight() to call. 9841 * docs/postingsource.rst: Document notify_new_maxweight() and the 9842 reasons for calling it. 9843 * tests/api_postingsource.cc: Test the handling of maxweight. 9844 9845Tue May 05 19:37:56 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 9846 9847 * tests/Makefile.am,tests/api_db.cc,tests/api_postingsource.cc: 9848 Split the tests of PostingSource subclasses out of api_db.cc; I'm 9849 about to add some more, and bloating api_db.cc further is 9850 unworkable. 9851 9852Tue May 05 18:23:02 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 9853 9854 * docs/postingsource.rst,include/xapian/postingsource.h: 9855 Documentation updates to describe way that init() is called 9856 again if a PostingSource is reused. Fixes #352. 9857 9858Tue May 05 16:05:48 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 9859 9860 * tests/api_opsynonym.cc: Test that the top document has a weight 9861 of 100%, which is should do for all the current examples here. 9862 9863Tue May 05 16:03:29 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 9864 9865 * matcher/multimatch.cc: Add logging to keep track of the weights 9866 being added to percent_scale. If the percent_scale total is 0.0, 9867 which can happen if the top document only matches synonym terms, 9868 force percent_scale to 1.0, to avoid an assertion failure. 9869 9870Tue May 05 13:41:57 GMT 2009 Olly Betts <olly@survex.com> 9871 9872 * common/str.h: Fix swapped parameters in string ctor in code for 9873 str(bool) overload which lead to us returning 48 or 49 \x01 9874 characters instead of "0" or "1". 9875 * tests/internaltest.cc: Add regression test strbool1. 9876 * AUTHORS: Thank Peter Kelm for helping us spot this. 9877 9878Tue May 05 12:54:36 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 9879 9880 Merge from opsynonym branch: 9881 * queryparser/queryparser.lemony: Use OP_SYNONYM instead of OP_OR 9882 for synonyms, wildcards, and partial queries. 9883 * tests/queryparsertest.cc: Test use of OP_SYNONYM by query parser. 9884 9885Tue May 05 12:18:06 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 9886 9887 Merge from opsynonym branch: 9888 * api/omqueryinternal.cc,include/xapian/query.h,matcher/, 9889 weight/weight.cc: Implement a new OP_SYNONYM query operator, 9890 which behaves similarly to OP_OR, but produces weights for the 9891 combined set of terms as if they were a single term (by merging 9892 their wdfs). 9893 * tests/Makefile.am,tests/api_opsynonym.cc: Add tests for the 9894 OP_SYNONYM operator. 9895 * include/xapian/weight.h: Add a Weight::init_() method for 9896 synonym, since there isn't a single term involved. Also, 9897 requires a method get_sumpart_needs_wdf_() to check if wdfs are 9898 needed, since the synonym weight calculation requires fetching 9899 the doclength, which is potentially expensive, in order that the 9900 wdf returned can be clamped to a sane range. Mark the weighting 9901 methods which require WDF with need_stat(WDF). 9902 9903Tue May 05 12:04:33 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 9904 9905 * common/remoteprotocol.h: Add comment to remind use to do the 9906 FIXME in serialise_stats() when next breaking remote protocol 9907 compatibility. 9908 9909Tue May 05 10:53:11 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 9910 9911 * common/output.h: Add output function for TermFreqs. 9912 9913Tue May 05 08:23:28 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 9914 9915 * api/leafpostlist.cc,api/postlist.cc,common/emptypostlist.h, 9916 common/leafpostlist.h,common/postlist.h,matcher/: Add 9917 PostList::get_termfreq_est_using_stats() method, with default 9918 implementation which raises an InvalidOperationError. Implement 9919 this for those postlists which it makes sense for. Also, 9920 implement get_wdf() for postlists used by the matcher for 9921 implementing various query operators. This isn't currently used 9922 or tested on trunk, but is used for the opsynonym branch. 9923 9924Tue May 05 07:37:04 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 9925 9926 * common/rset.h,common/weightinternal.h,matcher/rset.cc, 9927 net/serialise.cc,weight/weightinternal.cc: Store termfreqs and 9928 reltermfreqs in a Weight::Internal in a single map; introduce a 9929 new struct (TermFreqs) for the values stored here. 9930 Remove now unused Xapian::TermFreqMap typedef. 9931 9932Tue May 05 07:19:19 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 9933 9934 * backends/chert/chert_postlist.cc,backends/chert/chert_postlist.h, 9935 backends/flint/flint_alldocspostlist.h, 9936 backends/flint/flint_postlist.cc,backends/flint/flint_postlist.h, 9937 backends/inmemory/inmemory_database.cc, 9938 backends/inmemory/inmemory_database.h,backends/remote/net_postlist.h, 9939 common/contiguousalldocspostlist.h,common/leafpostlist.h: 9940 Introduce TermBasedLeafPostList, as a new common base class for 9941 postlists which are derived from a term in the query (including 9942 alldocs postlists which are derived from the empty term). 9943 9944Tue May 05 06:47:11 GMT 2009 Olly Betts <olly@survex.com> 9945 9946 * backends/chert/,backends/flint/flint_modifiedpostlist.cc, 9947 backends/flint/flint_postlist.cc,backends/flint/flint_postlist.h: 9948 Rename "tname" parameters to LeafPostList subclasses to "term". 9949 * backends/inmemory/inmemory_database.cc, 9950 backends/inmemory/inmemory_database.h: Rename term parameter of 9951 type InMemoryTerm to imterm ready for opsynonym branch changes. 9952 9953Tue May 05 04:51:28 GMT 2009 Olly Betts <olly@survex.com> 9954 9955 * backends/chert/chert_alldocspostlist.h,matcher/multimatch.cc: 9956 Remove unused '#include "leafpostlist.h"'. 9957 9958Tue May 05 02:15:35 GMT 2009 Olly Betts <olly@survex.com> 9959 9960 * common/contiguousalldocspostlist.h: Wrap comment. 9961 9962Tue May 05 02:04:02 GMT 2009 Olly Betts <olly@survex.com> 9963 9964 * common/Makefile.mk: Move str.h into alphabetical order. 9965 9966Mon May 04 12:04:16 GMT 2009 Olly Betts <olly@survex.com> 9967 9968 * tests/queryparsertest.cc: Rename qp_stem_scale1 to qp_scale1 as it 9969 has no connection with stemming. Factor out a helper function to 9970 do the timing comparison, and update time_query_parse() to use 9971 CPUTimer rather than OmTime. Tweak the "fudge factor" up from 9972 2 to 2.15 to allow for non-equal ticks due to rounding of an 9973 interval which isn't an exact multiple of 1/CLK_TCK (ticket#308). 9974 9975Mon May 04 12:02:32 GMT 2009 Olly Betts <olly@survex.com> 9976 9977 * tests/harness/cputimer.cc: If we don't have rusage() or times(), but 9978 do have ftime(), use that instead of time() so we at least get 9979 subsecond resolution (as we do currently with OmTime). 9980 9981Mon May 04 03:31:51 GMT 2009 Olly Betts <olly@survex.com> 9982 9983 * docs/queryparser.html: Add examples of using a prefix on a phrase 9984 or subexpression. 9985 9986Sun May 03 14:58:42 GMT 2009 Olly Betts <olly@survex.com> 9987 9988 * tests/api_valuestats.cc: Testcase valuestats4 requires transactions, 9989 so indicate that and remove the explicit SKIP for inmemory. 9990 9991Sun May 03 12:34:30 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 9992 9993 * common/rset.h,common/weightinternal.h,matcher/rset.cc, 9994 weight/weightinternal.cc: Typedef std::map<string, Xapian::doccount> 9995 as TermFreqMap; tidies up code a little here, but mainly useful 9996 for keeping code tidy on branches/opsynonym. 9997 9998Sun May 03 11:49:08 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 9999 10000 * common/multimatch.h: Remove unused include of <map> 10001 10002Sun May 03 05:23:32 GMT 2009 Olly Betts <olly@survex.com> 10003 10004 * tests/api_db.cc: Protect tests which assume Flint is enabled with 10005 #ifdef XAPIAN_HAS_FLINT_BACKEND. 10006 10007Sat May 02 15:49:46 GMT 2009 Olly Betts <olly@survex.com> 10008 10009 * configure.ac,tests/Makefile.am,tests/api_scalability.cc, 10010 tests/api_wrdb.cc,tests/harness/: Add new "test_scalability()" helper 10011 function which checks that an operation scales in CPU time used in 10012 the desired way. Use this to reimplement bigoaddvalue (and rename 10013 to bigoaddvalue1 for consistency). 10014 10015Fri May 01 04:58:41 GMT 2009 Olly Betts <olly@survex.com> 10016 10017 * bin/xapian-check.cc: For chert, check value stats are the correct 10018 format and that the streamed values are consistent with their stats 10019 (ticket#277). 10020 10021Fri May 01 04:53:22 GMT 2009 Olly Betts <olly@survex.com> 10022 10023 * api/omdocument.cc: Don't ever store empty values explicitly, which 10024 eliminates an inconsistently handled corner case which was causing 10025 the "value frequency" to be wrong from at least one point of view. 10026 This is consistent with how user metadata works too. 10027 * include/xapian/document.h: Explicitly document this behaviour. 10028 * tests/api_valuestats.cc: Add regression test for the above change. 10029 10030Fri May 01 03:11:25 GMT 2009 Olly Betts <olly@survex.com> 10031 10032 * bin/xapian-check.cc: Chert doesn't store termlist entries for 10033 documents without terms, which resulted in us reporting an error when 10034 we found document ids in the doclength "postlist" which were greater 10035 than any with an entry in the termlist. Instead compare these 10036 entries against db.get_last_docid() if we are checking a whole db 10037 and able to call it. If not, suppress this check. 10038 10039Thu Apr 30 15:02:41 GMT 2009 Olly Betts <olly@survex.com> 10040 10041 * common/valuestats.h: Fix comment typo. 10042 10043Tue Apr 28 14:01:41 GMT 2009 Olly Betts <olly@survex.com> 10044 10045 * api/omdatabase.cc: Use <cstdlib> rather than <stdlib.h> which means 10046 that there's an overload for abs(long). 10047 10048Tue Apr 28 13:17:48 GMT 2009 Olly Betts <olly@survex.com> 10049 10050 * HACKING,INSTALL,configure.ac,include/xapian/deprecated.h, 10051 include/xapian/version_h.cc,tests/harness/testsuite.cc: Actually, 10052 let's require GCC 3.1 as doing so eliminates some preprocessor 10053 conditionals which we aren't able to test regularly as we don't 10054 have easy access to such old GCC versions. GCC 3.1 is nearly 7 10055 years old now, and GCC3 didn't get widespread use until later 10056 versions anyway. 10057 10058Tue Apr 28 12:47:11 GMT 2009 Olly Betts <olly@survex.com> 10059 10060 * common/debuglog.h: Add missing initialisation of uncaught_exception 10061 in a couple of places. 10062 10063Tue Apr 28 11:24:02 GMT 2009 Olly Betts <olly@survex.com> 10064 10065 * INSTALL: Note that Xapian 1.0.x should build with GCC 2.95.3. 10066 10067Tue Apr 28 11:20:51 GMT 2009 Olly Betts <olly@survex.com> 10068 10069 * HACKING,INSTALL,backends/chert/chert_database.h, 10070 backends/flint/flint_database.h, 10071 backends/inmemory/inmemory_database.h,configure.ac, 10072 include/xapian/version_h.cc,tests/harness/testsuite.cc: Drop support 10073 for GCC 2.95.3 - we now require at least 3.0. 10074 10075Mon Apr 27 12:20:25 GMT 2009 Olly Betts <olly@survex.com> 10076 10077 * include/xapian/weight.h: Add "need_stat(WDF);" for Weight subclasses 10078 which use wdf. Currently this is never actually checked by trunk 10079 (so a regression test for this omission isn't really feasible), but 10080 the opsynonym branch uses it. 10081 10082Sun Apr 26 14:47:57 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 10083 10084 * weight/bm25weight.cc: Add call debugging. 10085 10086Sun Apr 26 10:57:48 GMT 2009 Olly Betts <olly@survex.com> 10087 10088 * tests/api_db.cc: stubdb6 is "inmemory" not "flint || chert || multi". 10089 10090Sun Apr 26 10:51:50 GMT 2009 Olly Betts <olly@survex.com> 10091 10092 * tests/queryparsertest.cc: Fix to build with the inmemory backend 10093 disabled. 10094 10095Sun Apr 26 07:28:47 GMT 2009 Olly Betts <olly@survex.com> 10096 10097 * tests/generate-api_generated: Fix so generated api_generated.cc 10098 builds with the inmemory backend disabled. 10099 10100Sun Apr 26 06:30:57 GMT 2009 Olly Betts <olly@survex.com> 10101 10102 * tests/api_anydb.cc: Fix to build with the inmemory backend disabled. 10103 10104Sat Apr 25 01:10:49 GMT 2009 Olly Betts <olly@survex.com> 10105 10106 * bin/xapian-check.cc: Fix to build with the flint and/or chert 10107 backends disabled. 10108 10109Sat Apr 25 01:06:00 GMT 2009 Olly Betts <olly@survex.com> 10110 10111 * matcher/multimatch.cc: Fix to build with the remote backend 10112 disabled. 10113 10114Sat Apr 25 00:57:41 GMT 2009 Olly Betts <olly@survex.com> 10115 10116 * backends/dbfactory.cc: Fix to build with the inmemory backend 10117 disabled. 10118 10119Fri Apr 24 22:59:34 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 10120 10121 * weight/weight.cc: Add debug logging to Weight::init_() methods. 10122 * net/remoteserver.cc: Fix bounds returned by Weight::Internal 10123 object in get_mset() in remote submatches, by setting the 10124 database used to read the bounds. 10125 10126Fri Apr 24 13:14:50 GMT 2009 Olly Betts <olly@survex.com> 10127 10128 * matcher/branchpostlist.cc,matcher/branchpostlist.h: Remove 10129 BranchPostList::get_wdf() which isn't currently used, and isn't 10130 wanted on branches/opsynonym. 10131 10132Fri Apr 24 12:46:18 GMT 2009 Olly Betts <olly@survex.com> 10133 10134 * queryparser/queryparser.lemony: Apply doxygen comment improvement 10135 from branches/opsynonym. 10136 10137Fri Apr 24 12:31:15 GMT 2009 Olly Betts <olly@survex.com> 10138 10139 * matcher/localmatch.cc: Apply assertion and debug logging 10140 improvements from branches/opsynonym. 10141 10142Thu Apr 23 06:16:05 GMT 2009 Olly Betts <olly@survex.com> 10143 10144 * Makefile.am,configure.ac,docs/Makefile.am,tests/Makefile.am: Fix 10145 things up so that in a bootstrapped SVN tree, automatic regeneration 10146 of autotools-generated files uses the in-tree versions of the 10147 autotools. 10148 10149Thu Apr 23 04:37:31 GMT 2009 Olly Betts <olly@survex.com> 10150 10151 * AUTHORS: Add another bug reporter. 10152 10153Thu Apr 23 04:26:25 GMT 2009 Olly Betts <olly@survex.com> 10154 10155 * Makefile.am,languages/Makefile.mk,queryparser/Makefile.mk, 10156 tests/Makefile.am,tests/perftest/Makefile.mk: Don't remove any 10157 built sources in "make clean" even under --make-maintainer-mode 10158 as that breaks switching a tree away from maintainer-mode with: 10159 make distclean;./configure 10160 10161Thu Apr 23 03:51:03 GMT 2009 Olly Betts <olly@survex.com> 10162 10163 * Makefile.am: Use "--coverage" instead of "-fprofile-arcs 10164 -ftest-coverage" in the test coverage build. 10165 10166Wed Apr 22 14:32:56 GMT 2009 Olly Betts <olly@survex.com> 10167 10168 * PLATFORMS: Sync with 1.0.12; add entry for atreus for 1.1.0. 10169 10170Wed Apr 22 14:27:36 GMT 2009 Olly Betts <olly@survex.com> 10171 10172 * AUTHORS: Add more bug reporters and patch contributors. Remove a 10173 duplicate entry. 10174 10175Wed Apr 22 13:58:31 GMT 2009 Olly Betts <olly@survex.com> 10176 10177 * NEWS: Set release date. 10178 10179Wed Apr 22 13:36:04 GMT 2009 Olly Betts <olly@survex.com> 10180 10181 * NEWS: Update, perhaps even ready for release now. 10182 10183Wed Apr 22 11:00:50 GMT 2009 Olly Betts <olly@survex.com> 10184 10185 * NEWS: More work. 10186 10187Tue Apr 21 17:59:13 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 10188 10189 * docs/queryparser.html: Add closing <code> tag. 10190 10191Tue Apr 21 11:05:17 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 10192 10193 * NEWS: A few minor corrections and adjustments. 10194 10195Tue Apr 21 07:49:49 GMT 2009 Olly Betts <olly@survex.com> 10196 10197 * include/xapian/weight.h: Don't use the term "term" to talk about the 10198 extra weight component as it already has a strong meaning in Xapian. 10199 10200Tue Apr 21 07:16:18 GMT 2009 Olly Betts <olly@survex.com> 10201 10202 * queryparser/lemon.c: Merge upstream "Check-in Number: 6451". 10203 10204Tue Apr 21 06:54:00 GMT 2009 Olly Betts <olly@survex.com> 10205 10206 * matcher/queryoptimiser.h: '#include <map>' isn't required. 10207 10208Tue Apr 21 06:45:14 GMT 2009 Olly Betts <olly@survex.com> 10209 10210 * matcher/queryoptimiser.cc,matcher/queryoptimiser.h: Eliminate 10211 QueryOptimiser::do_leaf() as it is only called from one place 10212 and if only two lines of code. 10213 10214Mon Apr 20 14:10:08 GMT 2009 Olly Betts <olly@survex.com> 10215 10216 * NEWS: Update from ChangeLog and start to lick into shape for a 10217 release. 10218 10219Mon Apr 20 13:06:17 GMT 2009 Olly Betts <olly@survex.com> 10220 10221 * HACKING: XAPIAN_DEBUG_LOG=- send output to stderr, not stdout. 10222 10223Mon Apr 20 11:53:07 GMT 2009 Olly Betts <olly@survex.com> 10224 10225 * common/output.h: Add new macro XAPIAN_OUTPUT_FUNCTION_PTR and use it 10226 so that debug logging of Xapian::Query::Internal* doesn't just 10227 report the pointer value. 10228 10229Mon Apr 20 06:39:42 GMT 2009 Olly Betts <olly@survex.com> 10230 10231 * matcher/multimatch.cc: Apply debug logging change lifted from 10232 branches/opsynonym. 10233 10234Mon Apr 20 05:22:24 GMT 2009 Olly Betts <olly@survex.com> 10235 10236 * tests/harness/testutils.cc: Add FIXME comments about use of internal 10237 macro from a different header. 10238 10239Mon Apr 20 05:08:34 GMT 2009 Olly Betts <olly@survex.com> 10240 10241 * HACKING: Update release checklist. 10242 10243Sun Apr 19 14:50:08 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 10244 10245 * tests/api_nodb.cc: Stick the reciprocal of "factor" into a 10246 volatile double temporary variable to stop compiler using 10247 extended precision calculation on x86, and coming up an answer of 10248 exactly 1.0 when multiplying by "factor" again. 10249 10250Sun Apr 19 14:26:09 GMT 2009 Olly Betts <olly@survex.com> 10251 10252 * NEWS: Sync with 1.0.12 and update from ChangeLog. 10253 10254Sun Apr 19 12:12:19 GMT 2009 Olly Betts <olly@survex.com> 10255 10256 * AUTHORS: Update for 1.0 branch. 10257 10258Thu Apr 16 12:08:24 GMT 2009 Olly Betts <olly@survex.com> 10259 10260 * backends/chert/chert_values.cc: When copying the tail of a value 10261 chunk because did > last_allowed_did, we don't need to check if 10262 the docids being copied are < did, since they should all be <= 10263 last_allowed_did, so just assert the latter. 10264 10265Tue Apr 14 20:32:41 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 10266 10267 * tests/api_wrdb.cc: patch from james to move logging in 10268 modifyvalues1 so it reports the values it's rewriting correctly, 10269 rather than the empty string. Also display the expected value in 10270 tout when checking the value. Also, pull the setting of the random 10271 seed out to the start of the function, and set it to 7 (which 10272 exposed the bug fixed with the previous commit, which that the old 10273 value of 42 didn't, on my machine, at least). 10274 10275Tue Apr 14 18:12:08 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 10276 10277 * backends/chert/chert_values.cc: When we move the reader to a new 10278 chunk, write any trailing values left in it to the stream first. 10279 10280Thu Apr 09 05:01:04 GMT 2009 Olly Betts <olly@survex.com> 10281 10282 * docs/admin_notes.rst: Document the child process used for locking 10283 which exec-s "cat" (ticket #258). 10284 10285Thu Apr 09 03:49:13 GMT 2009 Olly Betts <olly@survex.com> 10286 10287 * bin/: Use C++ forms of C headers in bin (ticket#330). 10288 10289Thu Apr 09 03:47:42 GMT 2009 Olly Betts <olly@survex.com> 10290 10291 * examples/: Use C++ forms of C headers in examples (ticket#330). 10292 10293Mon Apr 06 06:35:03 GMT 2009 Olly Betts <olly@survex.com> 10294 10295 * include/xapian/unicode.h: Fix documentation comment typos. 10296 10297Mon Apr 06 06:03:45 GMT 2009 Olly Betts <olly@survex.com> 10298 10299 * AUTHORS: Add Muayyad Alsadi for reporting #355. 10300 10301Mon Apr 06 05:59:38 GMT 2009 Olly Betts <olly@survex.com> 10302 10303 * tests/api_unicode.cc: Note which characters in the new 10304 unicodepredicate1 testcase are new in Unicode 5.1.0. 10305 10306Sun Apr 05 14:24:47 GMT 2009 Olly Betts <olly@survex.com> 10307 10308 * include/xapian/unicode.h: Add NON_SPACING_MARK to is_wordchar() for 10309 better tokenisation of Arabic, for example. (ticket#355) 10310 * tests/queryparsertest.cc: Add test that this has the desired effect. 10311 * tests/api_unicode.cc: Add feature tests of Unicode::is_wordchar(), 10312 Unicode::is_currency(), and Unicode::is_whitespace(). 10313 10314Sat Apr 04 05:41:47 GMT 2009 Olly Betts <olly@survex.com> 10315 10316 * NEWS: Update from ChangeLog. 10317 10318Wed Apr 01 00:18:02 GMT 2009 Olly Betts <olly@survex.com> 10319 10320 * bin/xapian-compact.cc: Fix totlen overflow test. Refactor lightly 10321 to reduce indenting. 10322 10323Tue Mar 31 17:01:20 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 10324 10325 * bin/xapian-compact.cc: Handle databases which contain no 10326 documents (and hence have no METAINFO item), but do contain some 10327 metadata (so the postlist table is not empty). Fixes ticket 10328 #356. 10329 10330Tue Mar 31 13:49:01 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 10331 10332 * api/postingsource.cc,include/xapian/postingsource.h: Change 10333 return types of clone() and unserialise() methods to be of the 10334 subclass returned; this is a bit more flexible, but the main 10335 reason is to be consistent: previously, the clone() methods 10336 returned the subclass, but the unserialise() methods returned 10337 PostingSource. 10338 10339Tue Mar 31 12:10:03 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 10340 10341 * include/xapian/postingsource.h: Add comment on PostingSource base 10342 class listing it as an experimental feature. 10343 * docs/deprecation.rst: Describe what "experimental" features are, 10344 and why replication and posting sources are currently 10345 experimental. 10346 10347Tue Mar 31 11:34:25 GMT 2009 Olly Betts <olly@survex.com> 10348 10349 * include/xapian/matchspy.h: Removed currently unused header to stop 10350 doxygen from generating documentation for it. 10351 10352Tue Mar 31 11:27:54 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 10353 10354 * docs/replication.rst,include/xapian/replication.h: Note that 10355 replication is currently "experimental". 10356 10357Fri Mar 27 14:29:05 GMT 2009 Olly Betts <olly@survex.com> 10358 10359 * backends/chert/chert_spelling.cc,backends/chert/chert_spelling.h, 10360 backends/flint/flint_spelling.cc,backends/flint/flint_spelling.h: 10361 Fix WritableDatabase::remove_spelling() to not be very broken in 10362 several ways. 10363 * tests/api_spelling.cc: Add test coverage for it. 10364 10365Fri Mar 27 10:43:34 GMT 2009 Olly Betts <olly@survex.com> 10366 10367 * xapian-config.in: Add @LIBRARY_VERSION_SUFFIX@ to -lxapian too. 10368 10369Fri Mar 27 08:22:39 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 10370 10371 * include/xapian/postingsource.h: Update documentation comments to 10372 refer to init() instead of the old name of reset(). 10373 10374Fri Mar 27 08:10:48 GMT 2009 Olly Betts <olly@survex.com> 10375 10376 * HACKING: Document the lcov make targets. 10377 10378Fri Mar 27 07:44:59 GMT 2009 Olly Betts <olly@survex.com> 10379 10380 * Makefile.am: Add two new targets to assist generating test coverage 10381 reports with lcov: coverage-reconfigure which reruns configure in 10382 the source tree and coverage-check which runs "make check" and 10383 generates an HTML report in a directory called "lcov". 10384 10385Thu Mar 26 23:59:36 GMT 2009 Olly Betts <olly@survex.com> 10386 10387 * Makefile.am,m4-macros/xapian.m4,xapian-core.spec.in: Rename 10388 xapian.m4 to xapian-1.1.m4 to avoid clash with Xapian 1.0.x. Both 10389 xapian.m4 and xapian-1.1.m4 will contain XO_LIB_XAPIAN, but aclocal 10390 copes and only copies one of them. We need to avoid incompatible 10391 changes to XO_LIB_XAPIAN though. 10392 10393Thu Mar 26 14:29:54 GMT 2009 Olly Betts <olly@survex.com> 10394 10395 * configure.ac,include/Makefile.mk,xapian-config.in: Install headers 10396 in $prefix/include/xapian-1.1/ so they don't clash with 1.0. 10397 10398Thu Mar 26 13:46:06 GMT 2009 Olly Betts <olly@survex.com> 10399 10400 * configure.ac: Default program suffix to -1.1 if not specified. If 10401 you really want no suffix, "./configure --program-suffix=" will 10402 achieve that. 10403 10404Thu Mar 26 12:49:10 GMT 2009 Olly Betts <olly@survex.com> 10405 10406 * Makefile.am,api/Makefile.mk,backends/Makefile.mk, 10407 backends/chert/Makefile.mk,backends/flint/Makefile.mk, 10408 backends/inmemory/Makefile.mk,backends/multi/Makefile.mk, 10409 backends/remote/Makefile.mk,bin/Makefile.mk,common/Makefile.mk, 10410 configure.ac,examples/Makefile.mk,expand/Makefile.mk, 10411 languages/Makefile.mk,matcher/Makefile.mk,net/Makefile.mk, 10412 queryparser/Makefile.mk,tests/Makefile.am,tests/perftest/Makefile.mk, 10413 unicode/Makefile.mk,weight/Makefile.mk,xapian-config.in, 10414 xapian-core.spec.in: Change library name to libxapian-1.1 as a first 10415 step towards allowing parallel installation with 1.0.x. 10416 10417Thu Mar 26 06:53:27 GMT 2009 Olly Betts <olly@survex.com> 10418 10419 * NEWS: Update from ChangeLog. 10420 10421Thu Mar 26 06:50:44 GMT 2009 Olly Betts <olly@survex.com> 10422 10423 * backends/chert/chert_values.h: Fix class name in file doc comment. 10424 10425Thu Mar 26 00:13:48 GMT 2009 Olly Betts <olly@survex.com> 10426 10427 * backends/chert/chert_database.cc,backends/flint/flint_database.cc: 10428 Call ChertDatabase::close() rather than repeating its code. 10429 10430Wed Mar 25 17:39:01 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 10431 10432 * backends/chert/chert_database.cc,backends/flint/flint_database.cc: 10433 Release the lock when the database is closed (either due to a 10434 call to close() or due to a serious error during modifications). 10435 Should fix ticket #354. 10436 10437Wed Mar 25 16:42:58 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 10438 10439 * tests/harness/testutils.cc: Use TEST_EQUAL_DOUBLE_ for comparison 10440 of weights in mset, to fix test failures due to floating point 10441 differences. (Currently only manifests in some tests in the 10442 matchspy branch, but it's a generally useful fix.) 10443 10444Wed Mar 25 11:44:36 GMT 2009 Olly Betts <olly@survex.com> 10445 10446 * configure.ac: Only put ANSI_CXXFLAGS in CXXFLAGS for the duration of 10447 configure - put it in AM_CXXFLAGS for substituting so that the user 10448 can safely override CXXFLAGS at make-time: "make CXXFLAGS=-Os" 10449 10450Wed Mar 25 10:50:44 GMT 2009 Olly Betts <olly@survex.com> 10451 10452 * configure.ac: Fix comment typo. 10453 10454Wed Mar 25 04:48:50 GMT 2009 Olly Betts <olly@survex.com> 10455 10456 * api/omdatabase.cc,backends/chert/chert_database.h, 10457 backends/flint/flint_database.h, 10458 backends/inmemory/inmemory_database.h, 10459 backends/remote/remote-database.cc,common/const_database_wrapper.h, 10460 common/database.h: Drop the default value of the lazy parameter to 10461 Database::open_document() - it's better to force us to consider 10462 whether a new call should be lazy or not. 10463 * common/database.h: Better description of lazy parameter. 10464 * backends/remote/remote-database.cc: Update comment about when lazy 10465 is set to true. 10466 10467Wed Mar 25 04:20:34 GMT 2009 Olly Betts <olly@survex.com> 10468 10469 * backends/inmemory/inmemory_database.cc: Don't "return false" when 10470 the return type is a pointer! 10471 10472Tue Mar 24 17:42:22 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 10473 10474 * backends/database.cc: Open documents lazily in 10475 collect_document(). 10476 10477Tue Mar 24 11:10:57 GMT 2009 Olly Betts <olly@survex.com> 10478 10479 * backends/multi/multi_postlist.cc,backends/multi/multi_postlist.h: 10480 MultiPostList::read_position_list() is never used, so remove it. 10481 10482Tue Mar 24 10:04:03 GMT 2009 Olly Betts <olly@survex.com> 10483 10484 * backends/multi/multi_postlist.cc: Remove "[" and "]" from the output 10485 of MultiPostList::get_description(). Remove excess "," from output 10486 of MultiPostList::get_description(). 10487 * tests/api_db.cc: Add some test coverage of 10488 PostingIterator::get_wdf() and PostingIterator::get_description(). 10489 10490Tue Mar 24 10:00:23 GMT 2009 Olly Betts <olly@survex.com> 10491 10492 * api/ompostlistiterator.cc: Remove "[" and "]" from 10493 Xapian::PostingIterator::get_description() as they don't add 10494 anything useful. 10495 10496Tue Mar 24 09:57:39 GMT 2009 Olly Betts <olly@survex.com> 10497 10498 * backends/inmemory/inmemory_database.cc: Add a space in the output 10499 of InMemoryPostList::get_description() and 10500 InMemoryAllDocsPostList::get_description(). 10501 10502Tue Mar 24 08:52:46 GMT 2009 Olly Betts <olly@survex.com> 10503 10504 * api/leafpostlist.cc,include/xapian/weight.h,tests/api_db.cc,weight/: 10505 Get rid of the virtual Weight::get_sumpart_needs_doclength() method 10506 - subclasses can call need_stat(DOC_LENGTH) in their constructor if 10507 they need doc lengths. 10508 10509Tue Mar 24 07:55:06 GMT 2009 Olly Betts <olly@survex.com> 10510 10511 * weight/weight.cc: Check stats_needed for stats which aren't just a 10512 simple member variable lookup. 10513 10514Tue Mar 24 06:46:24 GMT 2009 Olly Betts <olly@survex.com> 10515 10516 * backends/multi/multi_postlist.cc,backends/multi/multi_postlist.h: 10517 MultiPostList::get_termfreq() is never used, so remove it. 10518 10519Mon Mar 23 14:09:33 GMT 2009 Olly Betts <olly@survex.com> 10520 10521 * tests/api_unicode.cc: Add test coverage for 10522 Xapian::Unicode::append_utf8(). 10523 10524Mon Mar 23 11:40:09 GMT 2009 Olly Betts <olly@survex.com> 10525 10526 * api/postingsource.cc,docs/postingsource.rst, 10527 include/xapian/postingsource.h,matcher/externalpostlist.cc, 10528 tests/api_db.cc,tests/api_percentages.cc,tests/api_valuestream.cc: 10529 Rename PostingSource::reset() to PostingSource::init(). 10530 10531Mon Mar 23 11:01:02 GMT 2009 Olly Betts <olly@survex.com> 10532 10533 * tests/harness/testsuite.h: Fix documentation comment in line with 10534 the corrected --help output from "Sat Feb 21 08:18:21 GMT 2009". 10535 10536Mon Mar 23 02:24:44 GMT 2009 Olly Betts <olly@survex.com> 10537 10538 * api/omqueryinternal.cc: Fix handling of empty and single subquery 10539 OP_NEAR and OP_PHRASE (was breaking queryparsertest). 10540 10541Sun Mar 22 10:23:37 GMT 2009 Olly Betts <olly@survex.com> 10542 10543 * backends/chert/chert_database.cc,backends/flint/flint_database.cc, 10544 backends/inmemory/inmemory_database.cc, 10545 backends/inmemory/inmemory_positionlist.cc, 10546 common/inmemory_positionlist.h,docs/deprecation.rst, 10547 tests/api_posdb.cc: Change Database::positionlist_begin() not to 10548 throw exceptions if the term or document doesn't exist. 10549 10550Sun Mar 22 09:02:46 GMT 2009 Olly Betts <olly@survex.com> 10551 10552 * docs/deprecation.rst: Fix typo. 10553 10554Sun Mar 22 07:54:30 GMT 2009 Olly Betts <olly@survex.com> 10555 10556 * api/omqueryinternal.cc,include/xapian/query.h,tests/api_nodb.cc, 10557 tests/api_query.cc: Fix valgrind errors on nearsubqueries1 10558 (ticket#349) and enhance distribution of OP_NEAR/OP_PHRASE over 10559 non-leaf subqueries to work when there are multiple non-leaf 10560 subqueries (ticket#201). Extend nearsubqueries1 to test that 10561 trying to distribute OP_NEAR/OP_PHRASE over OP_NEAR/OP_PHRASE 10562 throws UnimplementedError. 10563 10564Fri Mar 20 08:43:20 GMT 2009 Olly Betts <olly@survex.com> 10565 10566 * tests/api_query.cc: Add coverage for OP_AND with MatchNothing 10567 subquery (new testcase matchnothing1). 10568 10569Fri Mar 20 05:16:18 GMT 2009 Olly Betts <olly@survex.com> 10570 10571 * api/omqueryinternal.cc: Fix assertions in previous check-in to 10572 verify the right condition. And return the simplified query in 10573 the case the assertion would have failed, as that means a small 10574 memory leak rather than unpredictable behaviour in a non-assertion 10575 build. 10576 10577Fri Mar 20 04:26:29 GMT 2009 Olly Betts <olly@survex.com> 10578 10579 * api/omqueryinternal.cc: Check that end_construction() returns NULL 10580 when unserialising queries. 10581 10582Fri Mar 20 02:51:32 GMT 2009 Olly Betts <olly@survex.com> 10583 10584 * api/omqueryinternal.cc: Fix return type of 10585 Xapian::Query::Internal::simplify_query() in a debug build. Since 10586 RETURN() isn't used by this function, this is only a cosmetic issue 10587 in the log file. 10588 10589Wed Mar 18 09:26:02 GMT 2009 Olly Betts <olly@survex.com> 10590 10591 * backends/chert/chert_database.cc,backends/flint/flint_database.cc, 10592 docs/deprecation.rst: Move just returning an empty PositionIterator 10593 from Database::positionlist_begin() when the docs or term isn't 10594 present from 1.2.0 to 1.1.0 (has to be 1.1.0 or 1.3.0 really). 10595 10596Wed Mar 18 09:24:27 GMT 2009 Olly Betts <olly@survex.com> 10597 10598 * docs/glossary.rst: Chert as the default backend in 1.2.0 is pretty 10599 much definite. 10600 10601Wed Mar 18 06:42:09 GMT 2009 Olly Betts <olly@survex.com> 10602 10603 * NEWS: Update from ChangeLog. 10604 10605Wed Mar 18 04:36:59 GMT 2009 Olly Betts <olly@survex.com> 10606 10607 * xapian-core.spec.in: Tweak reference to "1.1.0 branch" to make more 10608 sense. 10609 10610Wed Mar 18 04:30:18 GMT 2009 Olly Betts <olly@survex.com> 10611 10612 * api/postingsource.cc,include/xapian/postingsource.h: Remove the 10613 optional "max_weight_" parameter to ValuePostingSource's ctor. 10614 * include/xapian/postingsource.h: Correct a few errors in 10615 documentation comments. 10616 10617Wed Mar 18 04:29:22 GMT 2009 Olly Betts <olly@survex.com> 10618 10619 * docs/postingsource.rst: "ctx" -> "context" in example code. 10620 10621Tue Mar 17 23:45:52 GMT 2009 Olly Betts <olly@survex.com> 10622 10623 * backends/chert/chert_lock.cc,backends/flint/flint_lock.cc: If the 10624 locking attempt fails after we spawn the child process, call 10625 waitpid() in the parent process to avoid creating a zombie process. 10626 * AUTHORS: Add Jim Spath for reporting this. 10627 10628Tue Mar 17 23:34:16 GMT 2009 Olly Betts <olly@survex.com> 10629 10630 * common/Makefile.mk,common/str.cc,common/str.h: New family of 10631 overloaded str() functions for converting types to std::string. 10632 The integer conversion are much faster than the existing 10633 om_tostring(). 10634 * common/omassert.h,common/omdebug.h: Use str() instead of 10635 om_tostring(). 10636 * common/utils.cc,common/utils.h: Make om_tostring() a macro wrapping 10637 str() for now to avoid introducing a lot of conflicts with other 10638 branches and unapplied patches. 10639 10640Tue Mar 17 21:28:54 GMT 2009 Olly Betts <olly@survex.com> 10641 10642 * configure.ac: Fix comment typo. 10643 10644Tue Mar 17 00:47:26 GMT 2009 Olly Betts <olly@survex.com> 10645 10646 * common/utils.cc: Fix previous change to actually compile... 10647 10648Mon Mar 16 20:10:01 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 10649 10650 * common/utils.cc,common/utils.h: Add om_tostring() version of 10651 unsigned long long int, to fix debug build on i686. 10652 10653Mon Mar 16 14:01:02 GMT 2009 Olly Betts <olly@survex.com> 10654 10655 * NEWS: Sync with 1.0.11. 10656 10657Fri Mar 13 06:59:29 GMT 2009 Olly Betts <olly@survex.com> 10658 10659 * weight/weightinternal.cc: Need "utils.h" for om_tostring(). 10660 10661Fri Mar 13 05:47:24 GMT 2009 Olly Betts <olly@survex.com> 10662 10663 * include/xapian/queryparser.h: Note that QueryParser::FLAG_DEFAULT 10664 was new in 1.0.11. 10665 10666Fri Mar 13 04:36:19 GMT 2009 Olly Betts <olly@survex.com> 10667 10668 * weight/weightinternal.cc: Implement 10669 Weight::Internal::get_description(). 10670 10671Thu Mar 12 11:57:02 GMT 2009 Olly Betts <olly@survex.com> 10672 10673 * common/output.h: Fix last commit. 10674 10675Thu Mar 12 11:29:58 GMT 2009 Olly Betts <olly@survex.com> 10676 10677 * common/output.h: Define operator<< for Xapian::Weight::Internal. 10678 10679Thu Mar 12 11:21:09 GMT 2009 Olly Betts <olly@survex.com> 10680 10681 * net/remoteserver.cc: Fix overlooked case which was still sending 10682 REPLY_DOCLENGTH as a double. 10683 10684Wed Mar 11 22:56:59 GMT 2009 Olly Betts <olly@survex.com> 10685 10686 * backends/chert/chert_valuelist.cc: Fix comment typo. 10687 10688Wed Mar 11 22:50:49 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 10689 10690 * tests/api_valuestream.cc: Enable valuestream3 for chert. 10691 * backends/chert/chert_valuelist.cc: Fix return value of 10692 ChertValueList::check() when it needs to move to a new chunk. 10693 Fixes valuestream3 test. 10694 10695Wed Mar 11 13:17:58 GMT 2009 Olly Betts <olly@survex.com> 10696 10697 * include/xapian/weight.h: Mark Weight::init_() methods as "@private 10698 @internal" for doxygen API docs. 10699 10700Wed Mar 11 13:13:32 GMT 2009 Olly Betts <olly@survex.com> 10701 10702 * include/xapian/weight.h,tests/api_db.cc,tests/api_nodb.cc, 10703 weight/bm25weight.cc,weight/boolweight.cc,weight/tradweight.cc: 10704 Make Weight::name() return std::string to allow sane wrapping 10705 with SWIG directors. 10706 10707Wed Mar 11 05:46:40 GMT 2009 Olly Betts <olly@survex.com> 10708 10709 * api/,backends/chert/,backends/contiguousalldocspostlist.cc, 10710 backends/flint/,backends/inmemory/inmemory_database.cc, 10711 backends/inmemory/inmemory_database.h, 10712 backends/multi/multi_postlist.cc,backends/multi/multi_postlist.h, 10713 backends/remote/,common/,docs/remote_protocol.html, 10714 include/xapian/database.h,include/xapian/postingiterator.h,matcher/, 10715 net/remoteserver.cc: Internally, pass around non-normalised document 10716 lengths as Xapian::termcount (unsigned integer) not Xapian::doclength 10717 (double). 10718 10719Wed Mar 11 05:25:40 GMT 2009 Olly Betts <olly@survex.com> 10720 10721 * tests/api_anydb.cc: Use TEST_REL; wrap long comment. 10722 10723Wed Mar 11 04:52:41 GMT 2009 Olly Betts <olly@survex.com> 10724 10725 * Makefile.am,api/,backends/chert/,backends/database.cc, 10726 backends/flint/flint_database.cc,backends/flint/flint_database.h, 10727 backends/inmemory/inmemory_database.cc, 10728 backends/inmemory/inmemory_database.h, 10729 backends/remote/remote-database.cc,common/,docs/remote_protocol.html, 10730 examples/delve.cc,include/Makefile.mk,include/xapian.h, 10731 include/xapian/database.h,include/xapian/enquire.h, 10732 include/xapian/weight.h,matcher/,net/remoteserver.cc, 10733 net/serialise.cc,tests/,weight/: Reimplementation of weighting 10734 schemes which allows user subclasses to access the same stats which 10735 built in schemes can (bug#213) and which also can use lower and 10736 upper bounds of doclength and upper bounds on wdf to give a tighter 10737 maxweight, which should allow the matcher weight-based optimisations 10738 to be more effective. Chert now tracks doclength bounds and a 10739 global (rather than per term) bound on wdf. Other backends 10740 return much less good bounds, but these still lead to better 10741 maxweight bounds. 10742 10743Wed Mar 11 00:13:24 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 10744 10745 * include/xapian/query.h: Rename parameter name from "ctx" to the 10746 more human-friendly "context". 10747 10748Tue Mar 10 14:03:33 GMT 2009 Olly Betts <olly@survex.com> 10749 10750 * tests/harness/testutils.cc: If mset_range_is_same_percents() fails 10751 because the percentages differ, report what they were to tout. 10752 10753Mon Mar 09 12:27:28 GMT 2009 Olly Betts <olly@survex.com> 10754 10755 * matcher/localmatch.cc: Remove special case handling for empty string 10756 being returned from the TermIterator returned by 10757 Query::Internal::get_terms() as this should no longer happen. 10758 10759Mon Mar 09 12:09:21 GMT 2009 Olly Betts <olly@survex.com> 10760 10761 * api/omqueryinternal.cc: Don't return "" from a TermIterator from 10762 Query::get_terms_begin() (happened when Query contained or was 10763 Query::MatchAll). 10764 * tests/Makefile.am,tests/api_query.cc: Add regression testcase 10765 queryterms1. 10766 10767Sun Mar 08 06:16:24 GMT 2009 Olly Betts <olly@survex.com> 10768 10769 * tests/api_backend.cc: Add check that backends don't truncate total 10770 document length to 32 bits. 10771 10772Sun Mar 08 06:02:43 GMT 2009 Olly Betts <olly@survex.com> 10773 10774 * tests/api_backend.cc: Disable lockfileumask1 on Cygwin and on OS/2. 10775 10776Sun Mar 08 05:36:54 GMT 2009 Olly Betts <olly@survex.com> 10777 10778 * matcher/extraweightpostlist.h: Add forward declaration of 10779 Xapian::Weight since we use "Xapian::Weight *". 10780 10781Sun Mar 08 04:39:22 GMT 2009 Olly Betts <olly@survex.com> 10782 10783 * backends/chert/chert_types.h,backends/flint/flint_types.h, 10784 bin/xapian-check-flint.cc,bin/xapian-check.cc,bin/xapian-compact.cc, 10785 common/Makefile.mk,common/database.h,common/internaltypes.h: 10786 Move totlen_t to a new header (internaltypes.h) to avoid needing to 10787 pull in database.h in when we want to use it. Also move int4 and 10788 uint4 there to avoid duplicated definitions and abstract out a 10789 new uint8 from defining totlen_t. 10790 10791Sun Mar 08 00:50:38 GMT 2009 Olly Betts <olly@survex.com> 10792 10793 * backends/chert/chert_database.h,backends/chert/chert_types.h, 10794 backends/flint/flint_database.h,backends/flint/flint_types.h, 10795 bin/xapian-check-flint.cc,bin/xapian-check.cc,bin/xapian-compact.cc, 10796 common/database.h: Replace flint_totlen_t and chert_totlen_t with 10797 a common totlen_t. 10798 10799Sat Mar 07 08:35:27 GMT 2009 Olly Betts <olly@survex.com> 10800 10801 * backends/chert/chert_database.cc: Wrap comment. 10802 10803Sat Mar 07 08:28:17 GMT 2009 Olly Betts <olly@survex.com> 10804 10805 * backends/inmemory/inmemory_database.h: Fix file description 10806 ("multiple database" -> "inmemory database"). 10807 10808Sat Mar 07 08:25:11 GMT 2009 Olly Betts <olly@survex.com> 10809 10810 * backends/inmemory/inmemory_database.cc, 10811 backends/inmemory/inmemory_database.h: Store non-normalised document 10812 lengths as Xapian::termcount (unsigned int) rather than 10813 Xapian::doclength (double). 10814 10815Sat Mar 07 06:56:26 GMT 2009 Olly Betts <olly@survex.com> 10816 10817 * common/database.h: Removed unused forward declarations of classes. 10818 10819Sat Mar 07 06:52:11 GMT 2009 Olly Betts <olly@survex.com> 10820 10821 * common/database.h: Fix comment typo. 10822 10823Sat Mar 07 05:44:18 GMT 2009 Olly Betts <olly@survex.com> 10824 10825 * net/serialise.cc: Fix top of file to actually be a doxygen comment. 10826 Tweak layout of definition of serialise_stats(). 10827 10828Sat Mar 07 05:40:58 GMT 2009 Olly Betts <olly@survex.com> 10829 10830 * net/serialise.cc: c_str() -> data() since we don't need the 10831 nul-termination. 10832 10833Thu Mar 05 11:49:45 GMT 2009 Olly Betts <olly@survex.com> 10834 10835 * tests/api_db.cc,tests/api_nodb.cc: Back out accidentally committed 10836 changes 2 commits ago. 10837 10838Thu Mar 05 10:28:07 GMT 2009 Olly Betts <olly@survex.com> 10839 10840 * AUTHORS: Add Frank J. Bruzzaniti for omindex patches. 10841 10842Thu Mar 05 10:20:38 GMT 2009 Olly Betts <olly@survex.com> 10843 10844 * tests/Makefile.am: If both chert and flint are enabled, run 10845 remoteprog_chert and remotetcp_flint but not the other two 10846 combinations as they don't buy us any useful extra test 10847 coverage, but cost a lot of extra time per testrun. 10848 10849Thu Mar 05 07:51:52 GMT 2009 Olly Betts <olly@survex.com> 10850 10851 * docs/deprecation.rst: Update to reflect that odd minor versions are 10852 now development series. 10853 10854Thu Mar 05 04:20:43 GMT 2009 Olly Betts <olly@survex.com> 10855 10856 * common/serialisationcontextinternal.h: Fix forward declarations. 10857 10858Thu Mar 05 02:11:26 GMT 2009 Olly Betts <olly@survex.com> 10859 10860 * api/omdatabase.cc: "new_uuid" -> "sub_uuid" - it's not really new. 10861 10862Wed Mar 04 22:53:13 GMT 2009 Olly Betts <olly@survex.com> 10863 10864 * include/xapian/queryparser.h,include/xapian/termgenerator.h: Make 10865 default empty std::string parameters use std::string() rather than 10866 "". 10867 10868Wed Mar 04 16:06:11 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 10869 10870 * api/omdatabase.cc: If a sub-database of a multi-database has no 10871 uuid, we cannot return a uuid for the database, so return 10872 string() instead. 10873 * tests/api_anydb.cc: Test for this. 10874 10875Wed Mar 04 13:45:41 GMT 2009 Olly Betts <olly@survex.com> 10876 10877 * HACKING: Conversion to C++ names for ISO C headers will happen in 10878 1.1.x, not 1.1.0. 10879 10880Wed Mar 04 13:37:47 GMT 2009 Olly Betts <olly@survex.com> 10881 10882 * api/omdatabase.cc,backends/database.cc, 10883 backends/remote/remote-database.cc,common/database.h, 10884 include/xapian/database.h,net/remoteserver.cc,tests/api_anydb.cc: 10885 Return an empty string from Database::get_uuid() when then backend 10886 doesn't support UUIDs for consistency with flint when the database 10887 has no UUID. For a multiple database, build a string from the UUIDs 10888 of each subdatabase and return this as the UUID. If there are no 10889 subdatabases return the empty string. 10890 10891Wed Mar 04 11:34:04 GMT 2009 Olly Betts <olly@survex.com> 10892 10893 * backends/remote/remote-database.cc,common/remoteprotocol.h, 10894 common/remoteserver.h,docs/remote_protocol.html,net/remoteserver.cc: 10895 Change the remote server to always default to opening a Database and 10896 having the client request write access explicitly. This allows a 10897 single server to support multiple readers and one writer 10898 simultaneously. (bug#145) 10899 * net/remoteserver.cc,backends/remote/remote-database.cc: For constant 10900 empty string parameters, pass string() rather than "". 10901 * common/remoteserver.h: Remove unused '#include <map>'. Remove 10902 'using namespace std;' and explicitly qualify the few bare mentions 10903 of 'string'. 10904 10905Wed Mar 04 07:24:39 GMT 2009 Olly Betts <olly@survex.com> 10906 10907 * queryparser/queryparser.lt: Sync with latest upstream lempar.c 10908 (only changes were in code which isn't in our version). 10909 10910Wed Mar 04 04:03:44 GMT 2009 Olly Betts <olly@survex.com> 10911 10912 * tests/Makefile.am,tests/api_percentages.cc, 10913 tests/testdata/apitest_sortconsist.txt: Apply regression test patch 10914 from bug#216. 10915 10916Wed Mar 04 03:41:49 GMT 2009 Olly Betts <olly@survex.com> 10917 10918 * include/xapian/enquire.h,matcher/multimatch.cc: Fix inconsistent 10919 percentage scores when sorting primarily by valuei, except when 10920 a MatchDecider is also being used; document this remaining problem 10921 case. (bug#216) 10922 10923Wed Mar 04 01:58:07 GMT 2009 Olly Betts <olly@survex.com> 10924 10925 * backends/chert/chert_table.cc,backends/flint/flint_table.cc: No need 10926 to initialise inflate_zstream->next_out and avail_out twice. 10927 10928Wed Mar 04 01:16:32 GMT 2009 Olly Betts <olly@survex.com> 10929 10930 * backends/chert/chert_table.cc,backends/flint/flint_table.cc: If 10931 deflateReset() or inflateReset() fails, just delete the zstream 10932 take the initialisation codepath - that should mean we recover 10933 if the stream does somehow end up in a bad state and is less 10934 code than throwing an exception. Annotate tests with rare() 10935 or usual() if they are for exceptional conditions. Fix bug 10936 introduced by the laziness patch which was adding an int error 10937 code to a const char * message. If deflateInit2() or inflateInit2() 10938 fails, delete and zero the stream so there's no risk of ending up 10939 wedged on a partly initialised stream. 10940 10941Tue Mar 03 15:32:53 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 10942 10943 * backends/chert/chert_table.cc,backends/flint/flint_table.cc: 10944 Check for errors from deflateReset() and inflateReset() - there 10945 shouldn't be any if we've given them a valid stream, so just 10946 raise InternalError if we get one. 10947 10948Tue Mar 03 09:43:34 GMT 2009 Olly Betts <olly@survex.com> 10949 10950 * NEWS: Updated from ChangeLog. 10951 10952Tue Mar 03 05:52:16 GMT 2009 Olly Betts <olly@survex.com> 10953 10954 * tests/api_closedb.cc: Fix testcase closedb2 not to create a test 10955 database named closedb3. 10956 10957Tue Mar 03 04:31:48 GMT 2009 Olly Betts <olly@survex.com> 10958 10959 * include/xapian/queryparser.h: Add QueryParser::FLAG_DEFAULT to make 10960 it easier to add flags to those set by default. 10961 * tests/queryparsertest.cc: Use FLAG_DEFAULT in a few places to serve 10962 as a feature test. 10963 10964Tue Mar 03 03:45:53 GMT 2009 Olly Betts <olly@survex.com> 10965 10966 * docs/index.html: Add link to new serialisation topic document. 10967 * docs/serialisation.rst: Reword to avoid pluralising class names. 10968 Add link to postingsource document where we reference it. 10969 10970Tue Mar 03 03:35:29 GMT 2009 Olly Betts <olly@survex.com> 10971 10972 * tests/runsrv.in: Use @top_builddir@ rather than relying on it 10973 coming from the environment. 10974 10975Tue Mar 03 03:05:47 GMT 2009 Olly Betts <olly@survex.com> 10976 10977 * tests/api_wrdb.cc: Clear tout regularly in modifyvalues1 as 10978 otherwise the output builds up. Some string stream implementations 10979 get very inefficient with large strings, and also this seems to 10980 interact badly with valgrind's leak detection resulting in the 10981 test having to be rerun to check if it really leaks. Prefer 10982 tout.str(string()) to tout.str("") in existing uses too. 10983 10984Tue Mar 03 01:41:07 GMT 2009 Olly Betts <olly@survex.com> 10985 10986 * backends/flint/flint_table.cc: Update handling of shutting down 10987 the zstream objects in the dtor to match chert. 10988 10989Mon Mar 02 23:57:26 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 10990 10991 * backends/chert/chert_table.h,backends/flint/flint_table.h: Add 10992 documentation comments for the lazy allocation methods, and 10993 separate comments for the zstream members. 10994 10995Mon Mar 02 23:40:20 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 10996 10997 * AUTHORS,backends/chert/chert_table.cc,backends/chert/chert_table.h, 10998 backends/flint/flint_table.cc,backends/flint/flint_table.h: 10999 Reduce allocation of zstreams by allocating them lazily, keeping 11000 them in the table objects, and reuse them, rather than allocating 11001 a new one each time it's wanted. Heavily based on a patch from 11002 Todd Lipcon. Apparently improves performance significantly on 11003 some systems; on my tests it has no perceptible negative impact, 11004 but it makes sense that it could help in some situations, so 11005 let's apply it. Fixes #325. 11006 11007Mon Mar 02 21:10:54 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 11008 11009 * docs/deprecation.rst: Deprecate Stem_get_available_languages() 11010 from the python bindings. 11011 11012Mon Mar 02 19:56:20 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 11013 11014 * common/Makefile.mk,common/const_database_wrapper.cc, 11015 common/const_database_wrapper.h,matcher/queryoptimiser.cc: Avoid 11016 const_cast() on Database::Internal, and exposing 11017 compiler-dependent behaviour if non-const methods are called, by 11018 adding a ConstDatabaseWrapper class, which is a subclass of 11019 Database::Internal, and also takes a Database::Internal as a 11020 parameter, to be wrapped. This class proxies all const methods 11021 to the wrapped Database::Internal, and raises 11022 InvalidOperationError on non-const methods. Fixes #332. 11023 11024Mon Mar 02 18:27:00 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 11025 11026 * include/xapian/postingsource.h: Documentation comment 11027 improvements. Be explicit that Xapian will call reset() before 11028 various methods, and will call next, skip_to or check before 11029 at_end. 11030 * include/xapian/query.h: Wrap over-long line. 11031 11032Mon Mar 02 18:26:37 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 11033 11034 * docs/Makefile.am,docs/serialisation.rst: Add topic document about 11035 serialisation. 11036 11037Mon Mar 02 17:58:28 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 11038 11039 * docs/postingsource.rst: Update documentation with new design. 11040 11041Mon Mar 02 17:16:54 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 11042 11043 * api/omqueryinternal.cc: Change serialisation of queries to use 11044 encode_length() rather than om_tostring(), for a more compact and 11045 easier to parse representation. 11046 11047Mon Mar 02 14:48:08 GMT 2009 Olly Betts <olly@survex.com> 11048 11049 * backends/multi/multi_alltermslist.cc: Fix memory leak which 11050 was causing allterms6 to fail. 11051 11052Mon Mar 02 14:15:11 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 11053 11054 * matcher/externalpostlist.cc: Fix memory leak in external source 11055 postlist (fixes fixedweightsource1). 11056 11057Mon Mar 02 13:41:29 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 11058 11059 * api/postingsource.cc: Don't set max_weight in 11060 ValueMapPostingSource::set_default_weight() - it's set in 11061 reset() before being used, and it's not been set here yet, so 11062 accessing it in std::max() was making valgrind complain. 11063 11064Mon Mar 02 12:23:01 GMT 2009 Olly Betts <olly@survex.com> 11065 11066 * HACKING,configure.ac,tests/runtest.in: Don't use valgrind if it's 11067 < 3.3.0 as that's well over a year old and greatly simplifies the 11068 configure tests. Fix options passed to valgrind so that the 11069 testsuite harness actually reports problems detected by newer 11070 valgrind versions. 11071 11072Mon Mar 02 10:08:25 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 11073 11074 * api/,bin/xapian-tcpsrv.cc,common/Makefile.mk,common/remoteserver.h, 11075 common/serialisationcontextinternal.h,include/Makefile.mk, 11076 include/xapian.h,include/xapian/enquire.h,include/xapian/query.h, 11077 include/xapian/serialisationcontext.h,net/remoteserver.cc, 11078 tests/api_serialise.cc,tests/internaltest.cc: Add 11079 SerialisationContext. This object is used to register 11080 PostingSource or Weight subclasses, so that they can be 11081 serialised and unserialised, and therefore used in remote 11082 searches. Add two-argument form for Query::unserialise() which 11083 takes a serialisation context. Fixes #206. 11084 11085Mon Mar 02 07:13:38 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 11086 11087 * include/xapian/database.h: Further tweak to wording of 11088 documentation about close(). 11089 11090Mon Mar 02 07:05:54 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 11091 11092 * backends/chert/chert_table.cc,backends/chert/chert_table.h, 11093 backends/flint/flint_table.cc,backends/flint/flint_table.h: 11094 Factor out more "throw Xapian::DatabaseError("Database has been 11095 closed")" bits into separate functions: knocks another 20KB off 11096 the shared library size. 11097 11098Mon Mar 02 05:46:15 GMT 2009 Olly Betts <olly@survex.com> 11099 11100 * include/xapian/enquire.h: Document how to get all matches from 11101 Enquire::get_mset(). 11102 11103Mon Mar 02 04:52:17 GMT 2009 Olly Betts <olly@survex.com> 11104 11105 * backends/inmemory/inmemory_alltermslist.cc, 11106 backends/inmemory/inmemory_database.cc, 11107 backends/inmemory/inmemory_database.h: Factor out "throw 11108 Xapian::DatabaseError("Database has been closed") into a separate 11109 function which knocks over 100KB off the shared library size (just 11110 over 0.5%). 11111 11112Mon Mar 02 03:57:17 GMT 2009 Olly Betts <olly@survex.com> 11113 11114 * matcher/phrasepostlist.h: Remove blank line from end of file. 11115 11116Mon Mar 02 03:52:10 GMT 2009 Olly Betts <olly@survex.com> 11117 11118 * api/replication.cc,common/msvc_posix_wrapper.cc: Cuddle braces for 11119 "if" and "switch". 11120 11121Mon Mar 02 03:32:32 GMT 2009 Olly Betts <olly@survex.com> 11122 11123 * tests/api_closedb.cc: Use more conventional uppercase macro parameter 11124 names. Wrap long comments. Remove another unused exception name. 11125 11126Mon Mar 02 03:21:39 GMT 2009 Olly Betts <olly@survex.com> 11127 11128 * api/replication.cc,backends/chert/chert_databasereplicator.cc, 11129 backends/flint/flint_databasereplicator.cc,net/remoteserver.cc, 11130 tests/api_closedb.cc,tests/perftest/perftest_matchdecider.cc: 11131 Don't name the exception being caught if we don't look at it. While 11132 GCC doesn't currently warn "unused variable" here, I'm fairly sure 11133 there are compilers which do. 11134 11135Mon Mar 02 03:20:52 GMT 2009 Olly Betts <olly@survex.com> 11136 11137 * tests/perftest/perftest.cc: Wrap overlong comment. 11138 11139Mon Mar 02 03:17:48 GMT 2009 Olly Betts <olly@survex.com> 11140 11141 * matcher/mergepostlist.cc: Change "do { ... } while (true);" to the 11142 more usual "while (true) { ... }". 11143 11144Sun Mar 01 19:41:16 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 11145 11146 * tests/api_closedb.cc: Merge closedb1 and closedb2 into a single 11147 test, and add lots more checking to it. Rename closedb3 to 11148 closedb2, to avoid leaving an odd gap. closedb1 needs more work, 11149 but is a useful start; committing now, rather than once I've done 11150 this work, since the old test is failing in buildbot, and I don't 11151 want to get in the way of snapshot tarballs. 11152 11153Sun Mar 01 19:27:38 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 11154 11155 * backends/chert/chert_table.cc,backends/flint/flint_table.cc: 11156 Add a few guards to throw DatabaseError when the database has 11157 been permanently closed, rather than behaving as if the table is 11158 empty in that situation. Also, don't delete the resources in the 11159 table when Database::close() is called, because they may still be 11160 used to attempt to look up cached content. 11161 11162Sun Mar 01 18:22:52 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 11163 11164 * include/xapian/database.h: Update documentation comments for 11165 reopen() and close() to document the API we're aiming for (ie, 11166 that closed databases either return the right result from cache, 11167 or raise a DatabaseError). 11168 11169Sun Mar 01 18:20:19 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 11170 11171 * backends/inmemory/inmemory_alltermslist.cc, 11172 backends/inmemory/inmemory_database.cc, 11173 backends/inmemory/inmemory_database.h: Add a flag to mark whether 11174 the database is closed, and add guards before all methods which 11175 access content which goes away when the database is closed, to 11176 raise an exception if the database is closed. 11177 11178Sun Mar 01 18:20:03 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 11179 11180 * backends/inmemory/inmemory_document.h: Fix a typo in a comment. 11181 11182Sun Mar 01 17:49:26 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 11183 11184 * matcher/mergepostlist.cc: Fix ticket #336 by calling 11185 recalc_maxweight when a sub-posting list finishes (other than 11186 after the last one, where there is no point in calling 11187 recalc_maxweight). 11188 11189Sun Mar 01 15:34:46 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 11190 11191 * tests/api_db.cc: Fix MyDontAskWeightPostingSource to use the 11192 database passed to reset(), rather than one passed to its 11193 constructor. This allows externalsource4 to be enabled for 11194 multidatabases. 11195 11196Sun Mar 01 13:07:37 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 11197 11198 * include/xapian/postingsource.h: Add comments as discussed in 11199 ticket #295 to make clear that in a multi-database search, 11200 PostingSources are passed a single sub-database. Also mention 11201 that the returned value of clone() will be deallocated with 11202 delete. 11203 11204Sat Feb 28 08:21:33 GMT 2009 Olly Betts <olly@survex.com> 11205 11206 * api/omdatabase.cc,backends/chert/chert_database.cc, 11207 backends/chert/chert_database.h,backends/database.cc, 11208 backends/flint/flint_database.cc,backends/flint/flint_database.h, 11209 backends/inmemory/inmemory_database.cc, 11210 backends/inmemory/inmemory_database.h, 11211 backends/remote/remote-database.cc,common/,docs/remote_protocol.html, 11212 examples/copydatabase.cc,include/xapian/database.h, 11213 net/remoteserver.cc,tests/,tests/perftest/perftest_matchdecider.cc, 11214 tests/perftest/perftest_randomidx.cc,tests/queryparsertest.cc: Add 11215 WritableDatabase::commit() as a new, preferred alias for 11216 WritableDatabase::flush(). (bug#266) 11217 11218Fri Feb 27 01:59:31 GMT 2009 Olly Betts <olly@survex.com> 11219 11220 * include/xapian/database.h: WritableDatabase::flush() can't throw 11221 DatabaseLockError. WritableDatabase's ctor can throw at least 11222 DatabaseCorruptError or DatabaseLockError. 11223 11224Thu Feb 26 14:54:28 GMT 2009 Olly Betts <olly@survex.com> 11225 11226 * tests/api_db.cc,tests/api_valuestream.cc: Update comments about why 11227 certain tests are disabled for certain backends. Enable 11228 valueweightsource5 for multi and valuemapsource2 for remote. 11229 11230Thu Feb 26 14:53:19 GMT 2009 Olly Betts <olly@survex.com> 11231 11232 * matcher/multiandpostlist.cc: Use AssertRelParanoid() instead 11233 of AssertParanoid() so the values get reported if the assertion 11234 fails. 11235 11236Thu Feb 26 14:18:21 GMT 2009 Olly Betts <olly@survex.com> 11237 11238 * include/xapian/postingsource.h: Tweak word order. 11239 11240Thu Feb 26 12:48:16 GMT 2009 Olly Betts <olly@survex.com> 11241 11242 * tests/api_db.cc: Make the PostingSource subclass ctors which are 11243 only called from clone() private to set a good example for users. 11244 11245Thu Feb 26 12:28:34 GMT 2009 Olly Betts <olly@survex.com> 11246 11247 * include/xapian/postingsource.h: Fix doc comment typo. 11248 11249Thu Feb 26 12:08:40 GMT 2009 Olly Betts <olly@survex.com> 11250 11251 * api/omqueryinternal.cc,include/xapian/query.h: Avoid copying 11252 Query::Internal objects needlessly when unserialising Query 11253 objects. 11254 11255Thu Feb 26 10:07:18 GMT 2009 Olly Betts <olly@survex.com> 11256 11257 * tests/api_db.cc: A couple more uncollapsed tests. 11258 11259Thu Feb 26 08:28:42 GMT 2009 Olly Betts <olly@survex.com> 11260 11261 * tests/api_anydb.cc,tests/api_wrdb.cc,tests/harness/testsuite.h, 11262 tests/perftest/perftest_matchdecider.cc,tests/queryparsertest.cc: 11263 Update to use new TEST_REL() macro. Remove old TEST_LESSER(), 11264 etc. 11265 11266Thu Feb 26 07:51:43 GMT 2009 Olly Betts <olly@survex.com> 11267 11268 * matcher/multimatch.cc: Fix the new 11269 Enquire::get_uncollapsed_matches_lower_bound(), etc methods for 11270 certain cases. 11271 * tests/api_anydb.cc,tests/api_db.cc: Extend existing tests to also 11272 check Enquire::get_uncollapsed_matches_lower_bound(), etc. 11273 11274Thu Feb 26 07:49:23 GMT 2009 Olly Betts <olly@survex.com> 11275 11276 * tests/harness/Makefile.mk,tests/harness/testmacros.h, 11277 tests/harness/testsuite.h: Add new "TEST_REL" macro which can test 11278 for a condition using any relational operator and report a failure 11279 clearly yet concisely. 11280 11281Wed Feb 25 13:43:41 GMT 2009 Olly Betts <olly@survex.com> 11282 11283 * matcher/multimatch.cc: Fix adjustment of the uncollapse bounds and 11284 estimate. 11285 11286Wed Feb 25 12:32:13 GMT 2009 Olly Betts <olly@survex.com> 11287 11288 * configure.ac: GCC --version keeps changing format, and as a result 11289 we were currently getting "g++" as the version. So change to the 11290 (hopefully) more robust technique of using g++ -E to pull out 11291 __GNUC__ and __GNUC_MINOR__. 11292 11293Wed Feb 25 03:14:08 GMT 2009 Olly Betts <olly@survex.com> 11294 11295 * api/omdatabase.cc: Fix for compiling with Sun's compiler 11296 (untested as I no longer have access to it). 11297 11298Mon Feb 23 14:11:12 GMT 2009 Olly Betts <olly@survex.com> 11299 11300 * docs/sorting.rst: Clarify meaning. 11301 11302Mon Feb 23 14:04:50 GMT 2009 Olly Betts <olly@survex.com> 11303 11304 * docs/deprecation.rst,include/xapian/enquire.h,tests/: Rename the 11305 wrongly named "ascending" parameter of the set_sort_by*() methods 11306 of Enquire to "reverse" and deprecate the default value since 11307 defaulting to "reverse=true" is confusing. (bug#311) 11308 11309Mon Feb 23 01:24:23 GMT 2009 Olly Betts <olly@survex.com> 11310 11311 * api/omenquire.cc,backends/remote/remote-database.cc, 11312 common/multimatch.h,common/omenquireinternal.h, 11313 common/remote-database.h,docs/collapsing.rst, 11314 docs/remote_protocol.html,include/xapian/enquire.h,matcher/, 11315 net/remoteserver.cc,net/serialise.cc,tests/Makefile.am, 11316 tests/api_collapse.cc: Replace the collapsing code in the matcher 11317 with a separate Collapser class. This new class can keep more than 11318 one document with each collapse key. Also track bounds and an 11319 estimate of the total number of matches if collapsing wasn't in use. 11320 11321Mon Feb 23 00:52:16 GMT 2009 Olly Betts <olly@survex.com> 11322 11323 * api/omdatabase.cc: Fix AssertionError from apitest testcases 11324 fixedweightsource2 and valueweightsource1. 11325 11326Sun Feb 22 11:02:24 GMT 2009 Olly Betts <olly@survex.com> 11327 11328 * backends/chert/chert_lock.cc,backends/flint/flint_lock.cc: Check for 11329 fork failing *after* we check if we're now the child process. 11330 11331Sun Feb 22 10:06:13 GMT 2009 Olly Betts <olly@survex.com> 11332 11333 * backends/chert/chert_lock.cc,backends/flint/flint_lock.cc: Note 11334 explicitly why we now have the strange empty if (not) checking the 11335 return value of chdir("/") (it's actually newer glibc and 11336 _FORTIFY_SOURCE rather than newer GCC). Retry closing filehandle if 11337 it returns EINTR. Whitespace tweaks. 11338 11339Sat Feb 21 11:04:08 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 11340 11341 * backends/chert/chert_lock.cc,backends/flint/flint_lock.cc: Fix 11342 warning about ignoring result of chdir (with GCC 4.2) 11343 11344Sat Feb 21 08:18:21 GMT 2009 Olly Betts <olly@survex.com> 11345 11346 * tests/harness/testsuite.cc: Fix option usage in --help - "-x=foo" 11347 doesn't work - "-x foo" does. 11348 11349Sat Feb 21 07:37:01 GMT 2009 Olly Betts <olly@survex.com> 11350 11351 * tests/perftest/perftest_randomidx.cc: Use two argument version of 11352 rand_int() where applicable. Reserve length of result string in 11353 gen_word(). Fix truncated comment. 11354 11355Sat Feb 21 04:27:45 GMT 2009 Olly Betts <olly@survex.com> 11356 11357 * backends/chert/chert_lock.cc,backends/flint/flint_lock.cc: In the 11358 locking child process, before we exec /bin/cat change directory to 11359 / so that we don't block unmounting of any partitions and close 11360 any open file descriptors (apart from those we're using) so that if 11361 the files are closed by our parent and deleted the disk space gets 11362 released right away. 11363 11364Sat Feb 21 02:06:56 GMT 2009 Olly Betts <olly@survex.com> 11365 11366 * api/postingsource.cc,include/xapian/postingsource.h: Pass string as 11367 const string &; drop trailing "_" from parameters which don't clash 11368 with member variables; fix brace formatting on a couple of for 11369 loops. 11370 11371Fri Feb 20 14:32:46 GMT 2009 Olly Betts <olly@survex.com> 11372 11373 * tests/api_closedb.cc: Fix testcase closedb3 not to create a test 11374 database named closedb2. 11375 11376Fri Feb 20 01:38:32 GMT 2009 Olly Betts <olly@survex.com> 11377 11378 * include/xapian/enquire.h: Documentation comment improvements. 11379 11380Wed Feb 18 06:48:43 GMT 2009 Olly Betts <olly@survex.com> 11381 11382 * matcher/multimatch.cc: Use AssertRel rather than Assert with an 11383 inequality so that we see the arguments if the assertion fails. 11384 11385Wed Feb 18 06:39:33 GMT 2009 Olly Betts <olly@survex.com> 11386 11387 * matcher/multimatch.cc: "items" -> "rsetitems" to distinguish from 11388 items used elsewhere for the MSet items. 11389 11390Wed Feb 18 06:20:38 GMT 2009 Olly Betts <olly@survex.com> 11391 11392 * matcher/multimatch.cc: Drop superfluous "std::". 11393 11394Wed Feb 18 05:46:59 GMT 2009 Olly Betts <olly@survex.com> 11395 11396 * NEWS: Update from ChangeLog. 11397 11398Tue Feb 17 23:53:54 GMT 2009 Olly Betts <olly@survex.com> 11399 11400 * include/xapian/document.h,include/xapian/query.h: "xapian" -> 11401 "Xapian". 11402 11403Tue Feb 17 15:02:49 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 11404 11405 * include/xapian/document.h,include/xapian/query.h: Soften comment 11406 warning about changes in serialised format between xapian 11407 versions; note that the format won't change unless the remote 11408 database protocol has changed. 11409 11410Tue Feb 17 14:59:29 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 11411 11412 * api/omquery.cc: Return std::string() rather than "" to encourage 11413 compilers to use special empty string representation. 11414 11415Mon Feb 16 14:27:28 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 11416 11417 * api/postingsource.cc: Change the name() methods of the built-in 11418 posting sources to return a full name (starting with Xapian:: and 11419 ending with PostingSource), as documented in the API 11420 documentation comments. 11421 11422Mon Feb 16 13:32:39 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 11423 11424 * api/omqueryinternal.cc,common/remoteserver.h, 11425 matcher/externalpostlist.cc,matcher/externalpostlist.h, 11426 matcher/queryoptimiser.cc,net/remoteserver.cc, 11427 tests/api_percentages.cc,tests/api_valuestream.cc: Add some 11428 copyright lines missed in changeset [11838]. 11429 11430Mon Feb 16 11:56:46 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 11431 11432 * matcher/queryoptimiser.cc: Add another reference from a FIXME to 11433 a ticket number. 11434 11435Mon Feb 16 11:47:21 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 11436 11437 * api/omqueryinternal.cc: Update two FIXMEs to reference the 11438 appropriate ticket. 11439 11440Mon Feb 16 10:11:39 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 11441 11442 * Add support for multi and remote backends with posting sources, 11443 from ticket #295: 11444 * include/xapian/postingsource.h: Add some clarifying comments 11445 about the interface of PostingSources, and add clone(), name(), 11446 serialise() and unserialise() methods to PostingSources, for 11447 remote and multidatabase support. 11448 * include/xapian/query.h: Add internal member to track ownership of 11449 external posting sources, and update some comments. 11450 * api/postingsource.cc: Add implementations of the new methods, so 11451 that all standard PostingSources support remote and multi 11452 database searches. 11453 * api/omquery.cc: Clone external PostingSources if possible. 11454 * api/omqueryinternal.cc: Add serialisation and unserialisation 11455 support for posting sources, and support for keeping track of 11456 whether an external posting source is owned by the query object 11457 or not (ie, whether it needs to be deleted by the destructor). 11458 * matcher/externalpostlist.cc,matcher/externalpostlist.h: (Attempt 11459 to) clone external posting sources at start, and call the reset() 11460 method with the database in use. Delete the posting source 11461 afterwards, if the clone was successful. 11462 * matcher/queryoptimiser.cc: Pass the database to ExternalPostList. 11463 Sadly, this currently requires a const_cast. 11464 * tests/: Update tests of PostingSources to take the db parameter 11465 on the reset() method, and to test behaviour with multi and 11466 remote backends where appropriate. Also, add regression test for 11467 segfault in FixedWeightPostingSource::skip_to() when database is 11468 empty. 11469 * net/remoteserver.cc,common/remoteserver.h: Add the built-in 11470 posting sources to the remote server, and add 11471 register_posting_source() to the remoteserver, for use in 11472 xapian-tcpsrv.cc for user posting sources, analogously to 11473 register_weighting_scheme(). 11474 11475Fri Feb 13 20:09:10 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 11476 11477 * api/postingsource.cc: Fix segfaults which occur if an empty 11478 ValuePostingSource subclass has the skip_to() or check() methods 11479 called on it first. 11480 * tests/api_db.cc tests/api_valuestream.cc: Move valuemapsource1 to 11481 api_valuestream.cc, since that seems like a better place (and 11482 api_db.cc is already rather over-large). Add regression test 11483 "valuemapsource2" to check the behaviour of ValuePostingSource 11484 subclasses on empty lists. 11485 11486Fri Feb 13 19:29:38 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 11487 11488 * api/postingsource.cc,include/xapian/postingsource.h: Add 11489 ValuePostingSource, which is a base class for implementing 11490 posting sources based on reading from a value slot. Convert 11491 ValueWeightPostingSource to be a subclass of this, and add 11492 ValueMapPostingSource, which is a posting source which uses a map 11493 to convert values to weights. 11494 * tests/api_db.cc: Add valuemapsource1, testing the 11495 ValueMapPostingSource. 11496 11497Fri Feb 13 15:14:53 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 11498 11499 * tests/harness/index_utils.cc: Add value 13, containing the first 11500 3 letters of the paragraph - needed for some tests I'm going to 11501 commit shortly. 11502 11503Fri Feb 13 14:05:44 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 11504 11505 * tests/api_sorting.cc: Change slot number used to get an empty 11506 slot from 13 to 100 - we're getting close to using slot 13 now! 11507 11508Sat Feb 07 00:31:12 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 11509 11510 * backends/chert/chert_cursor.cc,backends/flint/flint_cursor.cc: 11511 Return accidentally changed "XAPIAN_ASSERTIONS_VERBOSE" ifdefs to 11512 "XAPIAN_DEBUG_VERBOSE". 11513 11514Sat Feb 07 00:16:43 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 11515 11516 * api/omdocument.cc,api/omquery.cc,include/xapian/document.h, 11517 include/xapian/query.h: Add methods for serialising documents and 11518 queries into strings, and unserialising back from strings. Fixes 11519 most of ticket #206 - missing part is that serialising queries 11520 containing PostingSources doesn't work. 11521 * tests/Makefile.am,tests/api_serialise.cc: Add tests of document 11522 and query serialisation. 11523 11524Fri Feb 06 16:06:50 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 11525 11526 * configure.ac: Set HAVE_PREAD and HAVE_PWRITE if pread and pwrite 11527 are found; turns use of pread and pwrite back on. This improves 11528 the speed of a test case of 10,000 (fully cached) searches from 11529 1.84 seconds to 1.78 seconds for me (on ubuntu hardy) - ie, about 11530 3% speed increase. 11531 11532Tue Jan 20 06:22:20 GMT 2009 Olly Betts <olly@survex.com> 11533 11534 * tests/api_db.cc: Prefer value.empty() to value == "". 11535 11536Mon Jan 19 05:08:48 GMT 2009 Olly Betts <olly@survex.com> 11537 11538 * AUTHORS,queryparser/Makefile.mk: Fix "#line" directives in generated 11539 file queryparser/queryparser_internal.cc to give a relative path - 11540 previously they had a full path when generated by a VPATH build, and 11541 this confused GCC 2.95 and depcomp. 11542 11543Sun Jan 18 23:34:22 GMT 2009 Olly Betts <olly@survex.com> 11544 11545 * api/omenquire.cc: Throw UnimplementedError from Enquire::get_mset() 11546 if we're asked for a percentage cutoff and to sort primarily by 11547 value - this has never been correctly supported and it's better to 11548 warn people than give incorrect results. 11549 * tests/api_percentages.cc: Add test that this error gets thrown. 11550 11551Tue Jan 13 08:20:36 GMT 2009 Olly Betts <olly@survex.com> 11552 11553 * common/omenquireinternal.h: Swap the items vector into the 11554 MSet::Internal object rather than copying it to avoid the overhead 11555 of the copy. 11556 11557Thu Jan 08 05:14:47 GMT 2009 Olly Betts <olly@survex.com> 11558 11559 * backends/chert/chert_cursor.cc,backends/chert/chert_postlist.cc, 11560 backends/flint/flint_cursor.cc,backends/flint/flint_postlist.cc, 11561 backends/multi/multi_postlist.cc,common/omassert.h,configure.ac, 11562 matcher/multimatch.cc: Change preprocessor defines controlling 11563 assertions from XAPIAN_DEBUG->XAPIAN_ASSERTIONS and 11564 XAPIAN_DEBUG_PARANOID->XAPIAN_ASSERTIONS_PARANOID so their purpose 11565 is clearer. 11566 11567Thu Jan 08 02:23:21 GMT 2009 Olly Betts <olly@survex.com> 11568 11569 * NEWS: Update from ChangeLog. 11570 11571Wed Jan 07 03:43:07 GMT 2009 Olly Betts <olly@survex.com> 11572 11573 * api/matchspy.cc: Fix FP rounding bug (bug#321). 11574 * AUTHORS: Add Shane Evans for bug report. 11575 11576Tue Jan 06 22:08:12 GMT 2009 Olly Betts <olly@survex.com> 11577 11578 * backends/inmemory/inmemory_database.cc: Fix comment typo. 11579 11580Tue Jan 06 21:39:30 GMT 2009 Olly Betts <olly@survex.com> 11581 11582 * api/matchspy.cc: Add assertions to try to track down what's causing 11583 bug#321. 11584 11585Tue Jan 06 03:20:27 GMT 2009 Olly Betts <olly@survex.com> 11586 11587 * matcher/exactphrasepostlist.cc,matcher/phrasepostlist.cc: Fix 11588 comment typos. 11589 11590Mon Jan 05 04:42:04 GMT 2009 Olly Betts <olly@survex.com> 11591 11592 * queryparser/queryparser.lt: Merge upstream "Check-in Number: 6016" - 11593 only change is to comment noting the synced version as the changed 11594 code has been deleted in our version. 11595 11596Fri Dec 26 15:05:05 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 11597 11598 * include/xapian/database.h: Add Database.close() method, used to 11599 close the resources (in particular, the filehandles) held by a 11600 database before the destructor is called. Particularly useful 11601 for the bindings from other languages. 11602 * api/omdatabase.cc,backends/chert/chert_database.cc, 11603 backends/chert/chert_database.h,backends/flint/flint_database.cc, 11604 backends/flint/flint_database.h, 11605 backends/inmemory/inmemory_database.cc, 11606 backends/inmemory/inmemory_database.h, 11607 backends/remote/remote-database.cc,common/database.h, 11608 common/remote-database.h,net/remoteconnection.cc: Implementation 11609 of close() methods. 11610 * tests/Makefile.am,tests/api_closedb.cc: New test file, for 11611 testing the close method. Could do with being expanded to test 11612 many more methods of databases in the closed state, and to test 11613 the behaviour after the close of objects created from databases 11614 before the database was closed. 11615 11616Fri Dec 26 13:42:14 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 11617 11618 * backends/chert/chert_table.cc,backends/flint/flint_table.cc: 11619 Raise error if database has been closed permanently when 11620 cursor_get() is called - a NULL return type isn't checked in 11621 various places (for tables which are never closed temporarily), 11622 so this is the easiest place to add a check to avoid a segfault 11623 without incurring extra overhead. 11624 11625Tue Dec 23 13:42:21 GMT 2008 Olly Betts <olly@survex.com> 11626 11627 * languages/compiler/analyser.c: Fix GCC 4.3 warning. 11628 11629Tue Dec 23 06:35:11 GMT 2008 Olly Betts <olly@survex.com> 11630 11631 * PLATFORMS: Sync with 1.0 branch. 11632 * PLATFORMS: Remove 0.9.x build reports; move 1.0.x build reports 11633 to the "old version" section. 11634 * INSTALL: Adapt old footnotes from PLATFORMS about HP's aCC and IRIX 11635 into new paragraphs here. 11636 11637Tue Dec 23 05:19:52 GMT 2008 Olly Betts <olly@survex.com> 11638 11639 * HACKING,configure.ac: Make automake 1.10.2 a hard minimum 11640 requirement. 11641 11642Tue Dec 23 04:36:27 GMT 2008 Olly Betts <olly@survex.com> 11643 11644 * NEWS: Update from ChangeLog. 11645 11646Mon Dec 22 16:02:58 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 11647 11648 * backends/chert/chert_databasereplicator.cc, 11649 backends/databasereplicator.cc, 11650 backends/flint/flint_databasereplicator.cc: Fix some missing bits 11651 for debug compilation. 11652 11653Mon Dec 22 13:30:53 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 11654 11655 * api/replication.cc,backends/Makefile.mk,backends/chert/, 11656 backends/database.cc,backends/databasereplicator.cc,backends/flint/, 11657 common/Makefile.mk,common/database.h,common/databasereplicator.h: 11658 Add DatabaseReplicator base class, and subclasses for flint and 11659 chert, to hold parts of database replication code which need to 11660 be applied to a partially replicated database which may not be a 11661 valid database. Move the code for applying changesets and 11662 comparing revision numbers into here, and add code for getting 11663 uuids which simply returns "" if the database is too broken to 11664 have a uuid associated with it. Update the replication code to 11665 use DatabaseReplicator subclasses instead of Database classes 11666 where necessary, to avoid failing if a partial database is 11667 transmitted. Add additional checks to ensure that the UUID of a 11668 replicated databse is equal to that sent in the replication 11669 protocol message introducing a full database copy; if they 11670 differ, a retry of the copy is needed, so ensure that the next 11671 message sent is a new copy of the database. 11672 11673Mon Dec 22 11:24:43 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 11674 11675 * docs/replication.rst: Warning about a possible way to confuse the 11676 replication process. 11677 11678Sat Dec 20 14:00:34 GMT 2008 Olly Betts <olly@survex.com> 11679 11680 * tests/api_percentages.cc: Update (C) too. 11681 11682Sat Dec 20 13:51:35 GMT 2008 Olly Betts <olly@survex.com> 11683 11684 * matcher/multimatch.cc: If we're using values for sorting and for 11685 another purpose, cache the Document::Internal object from getting 11686 the value for sorting like we do between other uses. 11687 11688Sat Dec 20 13:09:13 GMT 2008 Olly Betts <olly@survex.com> 11689 11690 * tests/api_percentages.cc: Make formatting of MyPostingSource code 11691 more self-consistent. Remove a superfluous block scope. Wrap a 11692 long comment. 11693 11694Sat Dec 20 12:25:40 GMT 2008 Olly Betts <olly@survex.com> 11695 11696 * exception_data.pm: Build a hash mapping a class to a list of its 11697 subclasses and export this as %subclasses. 11698 11699Sat Dec 20 05:51:50 GMT 2008 Olly Betts <olly@survex.com> 11700 11701 * HACKING: Wrap a long line. 11702 11703Sat Dec 20 05:28:57 GMT 2008 Olly Betts <olly@survex.com> 11704 11705 * queryparser/lemon.c: Merge upstream "Check-in Number: 6016". 11706 11707Fri Dec 19 14:25:10 GMT 2008 Olly Betts <olly@survex.com> 11708 11709 * queryparser/queryparser.lt: Merge upstream "Check-in Number: 6015". 11710 11711Fri Dec 19 14:07:52 GMT 2008 Olly Betts <olly@survex.com> 11712 11713 * queryparser/queryparser.lt: Merge upstream "Check-in Number: 6006". 11714 11715Fri Dec 19 13:51:33 GMT 2008 Olly Betts <olly@survex.com> 11716 11717 * queryparser/queryparser.lt: Merge upstream "Check-in Number: 5919" 11718 - code changes are in deleted code, so no actual code changes for 11719 us. 11720 11721Fri Dec 19 13:46:22 GMT 2008 Olly Betts <olly@survex.com> 11722 11723 * queryparser/lemon.c: Merge upstream "Check-in Number: 6008". 11724 11725Fri Dec 19 11:15:04 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 11726 11727 * tests/api_replicate.cc: Fix comment describing test. 11728 11729Thu Dec 18 23:38:50 GMT 2008 Olly Betts <olly@survex.com> 11730 11731 * backends/chert/chert_table.cc,backends/flint/flint_table.cc: Tidy up 11732 comment wrapping and indenting of code wrapped in try blocks by the 11733 previous commit. 11734 11735Thu Dec 18 14:26:30 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 11736 11737 * backends/chert/chert_database.cc,backends/chert/chert_table.cc, 11738 backends/chert/chert_table.h,backends/flint/flint_database.cc, 11739 backends/flint/flint_table.cc,backends/flint/flint_table.h: 11740 Improve resilience to unexpected errors during commit. Firstly, 11741 fix FlintTable and ChertTable to close the table if an error 11742 occurs during commit - this avoids the table being left in an 11743 inconsistent state (instead, the table is reopened in a 11744 consistent state the next time it is used). Secondly, add a 11745 "permanent" close state for tables (indicated by handle being set 11746 to -2), which will raise an error if anything tries to do an 11747 action which needs the table to be opened, and set the tables to 11748 this state if we fail to recover the database after error in 11749 commit(). This prevents further actions on the database if we 11750 couldn't recover the state (eg, because we're out of disk space), 11751 avoiding risk of corruption. 11752 11753Thu Dec 18 01:28:06 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 11754 11755 * backends/chert/chert_database.cc,backends/chert/chert_database.h, 11756 backends/flint/flint_database.cc,backends/flint/flint_database.h: 11757 Improve the error reporting when modifications fail and we cannot 11758 set the revision numbers in the table to consistent values, to 11759 report the original error too. 11760 11761Wed Dec 17 17:27:24 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 11762 11763 * backends/chert/chert_table.cc,backends/flint/flint_table.cc: 11764 Fix construction of the error message when a base can't be 11765 re-read: used to do pointer arithmetic by mistake - now does the 11766 correct string concatenation. 11767 11768Wed Dec 17 15:18:10 GMT 2008 Olly Betts <olly@survex.com> 11769 11770 * tests/api_valuestream.cc: Skip valuestream3 on chert for now so that 11771 snapshots and the tinderbox work again. 11772 11773Wed Dec 17 15:17:07 GMT 2008 Olly Betts <olly@survex.com> 11774 11775 * tests/api_wrdb.cc: Need omassert.h for STATIC_ASSERT. 11776 11777Wed Dec 17 10:45:45 GMT 2008 Olly Betts <olly@survex.com> 11778 11779 * api/omqueryinternal.cc,tests/api_nodb.cc: A NEAR of 2 OR subqueries 11780 shouldn't throw AssertionError - instead throw UnimplementedError. 11781 Addresses the worst aspect of bug#201, but this should really be 11782 implemented. 11783 11784Wed Dec 17 04:44:10 GMT 2008 Olly Betts <olly@survex.com> 11785 11786 * backends/chert/chert_database.cc,backends/chert/chert_database.h: 11787 Implement ChertWritableDatabase::open_value_list(). 11788 * tests/api_valuestream.cc: Add valueweightsource5 testcase which is a 11789 regression test for bug#299 and also exercises the above method. 11790 11791Tue Dec 16 13:30:47 GMT 2008 Olly Betts <olly@survex.com> 11792 11793 * common/expandweight.h,expand/expandweight.cc: Overhaul ExpandWeight 11794 - now we use the "official" formula and don't return terms which it 11795 would give a negative weight to (since that means they are expected 11796 to be harmful not helfpul). 11797 * tests/api_anydb.cc,tests/api_db.cc: Fix unwarranted assumptions in 11798 existing testcases broken by this change. 11799 11800Thu Dec 11 01:02:41 GMT 2008 Olly Betts <olly@survex.com> 11801 11802 * examples/delve.cc: Add missing "and" to --help output. Report 11803 termfreq and collection freq for each term we're asked about. 11804 11805Mon Dec 08 00:52:51 GMT 2008 Olly Betts <olly@survex.com> 11806 11807 * AUTHORS: Add Daniel Andersson for reporting the flintlock 11808 permissions issue. 11809 11810Sun Dec 07 22:50:32 GMT 2008 Olly Betts <olly@survex.com> 11811 11812 * api/sorter.cc,tests/api_sorting.cc: Fix an empty MultiValueSorter 11813 not to SEGV/hang. 11814 11815Fri Dec 05 21:08:08 GMT 2008 Olly Betts <olly@survex.com> 11816 11817 * backends/chert/chert_database.cc,tests/api_backend.cc: Use 11818 "flintlock" rather than "chertlock" for the lockfile in chert. 11819 The locking is compatible and this avoids the possibility of 11820 creating a chert and flint database in the same directory (which 11821 will result in one being corrupt since the Btree filenames overlap). 11822 11823Thu Dec 04 09:00:04 GMT 2008 Olly Betts <olly@survex.com> 11824 11825 * backends/chert/chert_lock.cc,backends/flint/flint_lock.cc: Create 11826 the lockfile with permissions 0666 so that the umask is honoured 11827 just like we do for the other files (previously we used 0600). 11828 * tests/Makefile.am,tests/api_backend.cc: Add regression test 11829 lockfileumask1. 11830 11831Thu Dec 04 08:56:54 GMT 2008 Olly Betts <olly@survex.com> 11832 11833 * tests/stemtest.cc: Use str.resize(0) instead of str = "". 11834 11835Thu Dec 04 04:56:55 GMT 2008 Olly Betts <olly@survex.com> 11836 11837 * tests/queryparsertest.cc: No need to explicitly initialise a 11838 std::string to "". 11839 11840Thu Dec 04 04:55:47 GMT 2008 Olly Betts <olly@survex.com> 11841 11842 * tests/api_db.cc: Prefer str.empty() to str == "". 11843 11844Thu Dec 04 01:50:10 GMT 2008 Olly Betts <olly@survex.com> 11845 11846 * tests/api_wrdb.cc: Make helper function static. Use STATIC_ASSERT 11847 to ensure a constant is coprime with 13. 11848 11849Wed Dec 03 22:56:19 GMT 2008 Olly Betts <olly@survex.com> 11850 11851 * api/omdatabase.cc: Fix API logging. 11852 11853Wed Dec 03 03:11:45 GMT 2008 Olly Betts <olly@survex.com> 11854 11855 * INSTALL: Note that libuuid is required for Xapian 1.1.0 and higher. 11856 11857Wed Dec 03 03:10:59 GMT 2008 Olly Betts <olly@survex.com> 11858 11859 * INSTALL: Remove ':' from the end of headings. 11860 11861Mon Dec 01 08:59:04 GMT 2008 Olly Betts <olly@survex.com> 11862 11863 * HACKING: Explicitly give the commands to install the required 11864 packages for developing on recent Debian or Ubuntu for added 11865 convenience. Update the Debian/Ubuntu packages needed for 11866 documentation to reflect the change from tetex to texlive. Fix 11867 unfinished paragraph about requiring a newline at the end of a 11868 source file and note that this is actually undefined behaviour in 11869 C++. 11870 11871Sun Nov 30 21:46:59 GMT 2008 Olly Betts <olly@survex.com> 11872 11873 * bin/,examples/quest.cc,tests/harness/testsuite.cc: Pull out lists of 11874 short options next to list of long options to help make sure they 11875 are kept in step. xapian-tcpsrv and xapian-progsrv now accept -w 11876 as a short form of --writable, as their long option table had, but 11877 their short option string didn't. 11878 11879Sun Nov 30 20:44:48 GMT 2008 Olly Betts <olly@survex.com> 11880 11881 * docs/postingsource.rst: Wrap a long line. Note that the remote 11882 backend isn't supported yet. 11883 11884Wed Nov 19 11:36:00 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 11885 11886 * docs/postingsource.rst: Make it clear that PostingSources must 11887 always return documents in increasing document ID order. 11888 11889Wed Nov 19 08:43:04 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 11890 11891 * bin/,examples/delve.cc,examples/quest.cc,tests/harness/testsuite.cc: 11892 Test return type of gnu_getopt_long for being != -1, rather than 11893 == 0, since there are a wide variety of return types other than 0 11894 which may be returned in the successful case (with the builtin 11895 implementation in common/getopt.cc, at least). 11896 11897Tue Nov 18 23:22:09 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 11898 11899 * api/omdatabase.cc: Change unknown "DATABASE" debug type to "DB". 11900 11901Mon Nov 17 13:00:12 GMT 2008 Olly Betts <olly@survex.com> 11902 11903 * docs/queryparser.html: Add link to valueranges.html. 11904 11905Fri Nov 14 22:23:10 GMT 2008 Olly Betts <olly@survex.com> 11906 11907 * NEWS: Update revision we're current to. 11908 11909Fri Nov 14 17:43:15 GMT 2008 Olly Betts <olly@survex.com> 11910 11911 * backends/chert/chert_alldocsmodifiedpostlist.cc, 11912 backends/chert/chert_modifiedpostlist.cc, 11913 backends/flint/flint_modifiedpostlist.cc: Correct comments. 11914 11915Fri Nov 14 17:38:33 GMT 2008 Olly Betts <olly@survex.com> 11916 11917 * tests/harness/testsuite.cc: Update comment about valgrind and C++ 11918 STL allocators. 11919 11920Fri Nov 14 17:36:47 GMT 2008 Olly Betts <olly@survex.com> 11921 11922 * bin/,examples/delve.cc,examples/quest.cc,tests/harness/testsuite.cc: 11923 Don't compare return value of gnu_getopt_long() with EOF - it's 11924 documented to simply return -1 or 0, and EOF requires inclusion of 11925 stdio.h. 11926 11927Fri Nov 14 17:30:39 GMT 2008 Olly Betts <olly@survex.com> 11928 11929 * common/serialise-double.cc: Fix "#elif" with no argument to 11930 "#else" - the former surprisingly compiles with most compilers, but 11931 GCC 4.4 snapshots reject it. 11932 11933Fri Nov 14 16:54:15 GMT 2008 Olly Betts <olly@survex.com> 11934 11935 * common/win32_uuid.cc: A few code clean-ups. 11936 11937Fri Nov 14 13:09:16 GMT 2008 Olly Betts <olly@survex.com> 11938 11939 * common/Makefile.mk: Ship common/safeuuid.h to unbreak tarball 11940 snapshot building. 11941 11942Sun Nov 09 13:31:19 GMT 2008 Olly Betts <olly@survex.com> 11943 11944 * api/omquery.cc,api/omqueryinternal.cc,bin/xapian-tcpsrv.cc, 11945 common/omenquireinternal.h,matcher/,net/remoteserver.cc: 11946 Prefer "" to <> for including Xapian API headers from within the 11947 library. Remove so unused xapian/enquire.h inclusions. 11948 11949Fri Nov 07 12:50:22 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 11950 11951 * backends/chert/chert_version.cc,backends/chert/chert_version.h, 11952 backends/flint/flint_version.cc,backends/flint/flint_version.h, 11953 common/safeuuid.h,common/win32_uuid.cc,common/win32_uuid.h: Add 11954 implementation of UUID functions for windows (using the built-in 11955 UUID methods in the windows API). Fixes bug #303. 11956 11957Sat Nov 01 01:47:44 GMT 2008 Olly Betts <olly@survex.com> 11958 11959 * NEWS: Sync with 1.0.9 release. 11960 11961Fri Oct 31 18:55:03 GMT 2008 Olly Betts <olly@survex.com> 11962 11963 * include/xapian/database.h: Document XAPIAN_FLUSH_THRESHOLD 11964 (bug#306). 11965 11966Fri Oct 31 18:30:11 GMT 2008 Olly Betts <olly@survex.com> 11967 11968 * configure.ac: Fix whitespace inconsistency with omega's 11969 configure.ac. 11970 11971Fri Oct 31 10:51:06 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 11972 11973 * api/postingsource.cc,include/xapian/postingsource.h: Add a new 11974 built-in posting source, FixedWeightSource, which returns every 11975 document in the database, but with a fixed weight. In 11976 particular, this is useful to add a constant weight to every item 11977 in a subquery. Also, in ValueWeightPostingSource, refactor the 11978 "last_docid" member to a bool "started", since this is all it's 11979 used for. 11980 * tests/api_db.cc: Add fixedweightsource1, to test FixedWeightSource. 11981 11982Mon Oct 27 17:05:39 GMT 2008 Olly Betts <olly@survex.com> 11983 11984 * tests/queryparsertest.cc: Skip test if the timer granularity is too 11985 coarse in all cases. 11986 11987Mon Oct 27 08:12:16 GMT 2008 Olly Betts <olly@survex.com> 11988 11989 * tests/api_valuestream.cc: Disable valuestream1 for multi backends. 11990 11991Sun Oct 26 00:30:54 GMT 2008 Olly Betts <olly@survex.com> 11992 11993 * backends/chert/chert_valuelist.cc: Remove incorrect assertions. 11994 11995Sat Oct 25 06:18:37 GMT 2008 Olly Betts <olly@survex.com> 11996 11997 * api/Makefile.mk: Fix typo so we once again ship editdistance.h and 11998 maptermlist.h. 11999 12000Thu Oct 23 17:34:13 GMT 2008 Olly Betts <olly@survex.com> 12001 12002 * tests/queryparsertest.cc: Skip test if the timer granularity is too 12003 coarse. 12004 12005Tue Oct 21 05:00:59 GMT 2008 Olly Betts <olly@survex.com> 12006 12007 * NEWS: Sync with branches/1.0. 12008 12009Tue Oct 21 02:09:18 GMT 2008 Olly Betts <olly@survex.com> 12010 12011 * tests/api_valuestream.cc: Add feature test of ValueIterator::check(). 12012 12013Tue Oct 21 01:36:45 GMT 2008 Olly Betts <olly@survex.com> 12014 12015 * backends/inmemory/inmemory_database.cc, 12016 backends/inmemory/inmemory_database.h: Prefer string() to "", slot 12017 to valno, and not using else after return. 12018 12019Tue Oct 21 01:32:37 GMT 2008 Olly Betts <olly@survex.com> 12020 12021 * tests/api_anydb.cc,tests/api_db.cc: Remove '#include <iomanip>' 12022 which aren't used. 12023 12024Mon Oct 20 13:30:37 GMT 2008 Olly Betts <olly@survex.com> 12025 12026 * api/postingsource.cc,api/valueiterator.cc, 12027 include/xapian/postingsource.h,include/xapian/valueiterator.h: Add 12028 new API method ValueIterator::check() and use it in PostingIterator. 12029 12030Mon Oct 20 12:28:16 GMT 2008 Olly Betts <olly@survex.com> 12031 12032 * tests/api_valuestream.cc: Add test for skip_to() on valuestream 12033 iterator. 12034 12035Mon Oct 20 11:19:12 GMT 2008 Olly Betts <olly@survex.com> 12036 12037 * tests/Makefile.am,tests/api_valuestream.cc: Add a simple test of 12038 valuestream iteration. 12039 12040Mon Oct 20 11:01:26 GMT 2008 Olly Betts <olly@survex.com> 12041 12042 * tests/Makefile.am,tests/collate-test,tests/perftest/Makefile.mk: 12043 Generate the header listing the collated tests so that we can avoid 12044 updating its timestamp when the contents are unchanged, such as in 12045 the common case where you modify tests but don't add, remove, or 12046 change the conditions on any tests. 12047 12048Mon Oct 20 10:01:56 GMT 2008 Olly Betts <olly@survex.com> 12049 12050 * examples/delve.cc: Use valuestream iterator to implement "-V<slot>". 12051 12052Mon Oct 20 02:19:09 GMT 2008 Olly Betts <olly@survex.com> 12053 12054 * backends/multi/multi_postlist.cc,backends/multi/multi_postlist.h: 12055 Remove unused members of MultiPostList: tname, collfreq_initialised, 12056 collfreq, and termweight. 12057 12058Sun Oct 19 14:01:15 GMT 2008 Olly Betts <olly@survex.com> 12059 12060 * api/postingsource.cc,include/xapian/postingsource.h: Update 12061 ValueWeightPostingSource to use a value stream iterator. 12062 12063Sun Oct 19 13:53:51 GMT 2008 Olly Betts <olly@survex.com> 12064 12065 * backends/database.cc: Make use of SlowValueList by default. 12066 12067Sun Oct 19 13:47:10 GMT 2008 Olly Betts <olly@survex.com> 12068 12069 * api/documentvaluelist.cc,api/documentvaluelist.h: Fix so that a 12070 DocumentValueList starts before the first value. 12071 12072Sun Oct 19 13:09:39 GMT 2008 Olly Betts <olly@survex.com> 12073 12074 * api/omdatabase.cc,api/omdocument.cc: Use ValueIterator() instead of 12075 ValueIterator(NULL). 12076 12077Sun Oct 19 11:15:15 GMT 2008 Olly Betts <olly@survex.com> 12078 12079 * NEWS: Update from ChangeLog. 12080 12081Sat Oct 18 01:31:25 GMT 2008 Olly Betts <olly@survex.com> 12082 12083 * NEWS: Update from ChangeLog. 12084 12085Fri Oct 17 15:54:57 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 12086 12087 * bin/xapian-compact.cc: Check that pq is not empty before calling 12088 top() on it - if it's empty, we only have one database, so we can 12089 use the code path which doesn't worry about merging tags. Fixes 12090 bug #305. 12091 12092Fri Oct 17 14:22:18 GMT 2008 Olly Betts <olly@survex.com> 12093 12094 * backends/chert/chert_valuelist.cc: Fix ChertValueList to start on 12095 the right key. 12096 12097Fri Oct 17 14:14:14 GMT 2008 Olly Betts <olly@survex.com> 12098 12099 * include/xapian/database.h,include/xapian/document.h: Inline 12100 ValueIterator end iterator as ValueIterator() rather than 12101 ValueIterator(NULL). 12102 * api/valueiterator.cc: Need to call next() on a ValueList to get it 12103 to the first position, so do this in ValueIterator's constructor. 12104 * api/valueiterator.cc,include/xapian/valueiterator.h: Add 12105 ValueIterator::get_docid() method. 12106 12107Fri Oct 17 13:53:26 GMT 2008 Olly Betts <olly@survex.com> 12108 12109 * backends/slowvaluelist.cc,backends/slowvaluelist.h: Add missing 12110 SlowValueList::get_valueno() method. 12111 12112Fri Oct 17 13:16:01 GMT 2008 Olly Betts <olly@survex.com> 12113 12114 * api/omdatabase.cc,include/xapian/database.h: Add 12115 Database::valuestream_begin() and Database::valuestream_end() to 12116 allow iterating over the values in a given slot for each document 12117 in the database (untested so far). 12118 12119Thu Oct 16 13:20:26 GMT 2008 Olly Betts <olly@survex.com> 12120 12121 * backends/multi/multi_postlist.cc: Remove unused '#include <list>' 12122 and uninformative comment. 12123 12124Thu Oct 16 12:47:00 GMT 2008 Olly Betts <olly@survex.com> 12125 12126 * api/omdocument.cc,include/xapian/document.h: Inline 12127 Xapian::Document::values_end() into user code. 12128 12129Thu Oct 16 12:26:29 GMT 2008 Olly Betts <olly@survex.com> 12130 12131 * api/,backends/chert/chert_valuelist.cc, 12132 backends/chert/chert_valuelist.h,common/document.h, 12133 common/valuelist.h,include/Makefile.mk,include/xapian/derefwrapper.h, 12134 include/xapian/termiterator.h,include/xapian/valueiterator.h: 12135 Reimplement ValueIterator to have reference counted internals. One 12136 benefit is that Document::Internal no longer need its value_nos map 12137 member. 12138 12139Thu Oct 16 11:22:13 GMT 2008 Olly Betts <olly@survex.com> 12140 12141 * backends/inmemory/inmemory_database.cc: Fix incorrect method name in 12142 debug messages. 12143 12144Thu Oct 16 01:34:07 GMT 2008 Olly Betts <olly@survex.com> 12145 12146 * HACKING: Note preference for @ rather than \ to introduce doxygen 12147 commands. 12148 12149Thu Oct 16 01:21:19 GMT 2008 Olly Betts <olly@survex.com> 12150 12151 * HACKING: Expand section on public/protected/private a little. 12152 12153Wed Oct 15 11:34:15 GMT 2008 Olly Betts <olly@survex.com> 12154 12155 * include/xapian/database.h: Use std::string() instead of "" as the 12156 default value for std::string method parameters. 12157 12158Wed Oct 15 03:20:01 GMT 2008 Olly Betts <olly@survex.com> 12159 12160 * backends/Makefile.mk,backends/slowvaluelist.cc, 12161 backends/slowvaluelist.h: Support for (slowly) iterating along a 12162 value stream for backends which don't support streamed values 12163 internally (currently unused). 12164 12165Tue Oct 14 11:43:42 GMT 2008 Olly Betts <olly@survex.com> 12166 12167 * api/postingsource.cc,backends/inmemory/inmemory_database.cc, 12168 matcher/multimatch.cc: Database::get_document_lazily() now returns 12169 NULL if the document isn't found for an inmemory database. 12170 * include/xapian/database.h: Document the return value better. 12171 12172Tue Oct 14 03:20:38 GMT 2008 Olly Betts <olly@survex.com> 12173 12174 * api/omdatabase.cc,api/postingsource.cc,include/xapian/database.h, 12175 matcher/multimatch.cc: Add internal 12176 Xapian::Database::get_document_lazily() method and use it in the 12177 matcher and Xapian::PostingSource classes to avoid repeating the 12178 same code lots of times. 12179 12180Mon Oct 13 23:38:34 GMT 2008 Olly Betts <olly@survex.com> 12181 12182 * HACKING: Rename "Miscellaneous Portability Issues" to "C++ 12183 Portability Issues", and add a subsection of that for "Miscellaneous 12184 Portability Issues" with a new note about needing to terminate the 12185 last line of a source file, and a new subsection heading "Header 12186 Portability Issues" for all the header-related stuff. 12187 12188Sat Oct 11 12:19:38 GMT 2008 Olly Betts <olly@survex.com> 12189 12190 * tests/api_wrdb.cc: If the timer for the first test for bigoaddvalue 12191 reports 0.0 seconds, skip the test as the timer doesn't have fine 12192 enough granularity for this test to be useful (bug#300). 12193 12194Fri Oct 10 20:40:14 GMT 2008 Olly Betts <olly@survex.com> 12195 12196 * tests/api_wrdb.cc: Reuse XAPIAN_BIN_PATH to avoid hardcoding more 12197 paths, and so this works in a debug build too. 12198 12199Fri Oct 10 17:52:53 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 12200 12201 * tests/api_wrdb.cc: Patch to use a different path in win32 build 12202 to match the different place that the compiled xapian-check is 12203 placed in. Should fix bug #301. 12204 12205Thu Oct 09 05:20:32 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 12206 12207 * configure.ac: Change -Wstrict-overflow level to 1 - even level 2 12208 causes a few warnings (notably in chert_table.cc) to appear with 12209 GCC 4.3 which are unreasonably difficult to avoid. 12210 12211Thu Oct 09 05:04:49 GMT 2008 Olly Betts <olly@survex.com> 12212 12213 * HACKING,configure.ac: Raise autoconf requirement to 2.63. 12214 12215Wed Oct 08 14:52:03 GMT 2008 Olly Betts <olly@survex.com> 12216 12217 * docs/valueranges.rst: Fix typos in example code. 12218 * docs/valueranges.rst,tests/queryparsertest.cc: Drop superfluous 12219 empty destructor from ValueRangeProcessor subclass. 12220 12221Wed Oct 08 14:00:04 GMT 2008 Olly Betts <olly@survex.com> 12222 12223 * common/valuelist.h: Add missing get_docid() method. 12224 12225Wed Oct 08 12:11:57 GMT 2008 Olly Betts <olly@survex.com> 12226 12227 * NEWS: Update from ChangeLog. 12228 12229Wed Oct 08 12:00:39 GMT 2008 Olly Betts <olly@survex.com> 12230 12231 * backends/Makefile.mk,backends/chert/,backends/database.cc, 12232 backends/valuelist.cc,common/Makefile.mk,common/database.h, 12233 common/valuelist.h,include/xapian/valueiterator.h: The start of 12234 support for iterating along a value stream (currently unused). 12235 12236Tue Oct 07 10:19:48 GMT 2008 Olly Betts <olly@survex.com> 12237 12238 * configure.ac: Disable -Wconversion for now - it's not useful for 12239 older GCC and is buggy in GCC 4.3. 12240 12241Tue Oct 07 04:53:41 GMT 2008 Olly Betts <olly@survex.com> 12242 12243 * matcher/queryoptimiser.h: Query::MatchAll no longer gives match 12244 results ranked by increasing document length. 12245 * tests/api_db.cc: Extend matchall1 to be a regression test for this. 12246 12247Tue Oct 07 01:04:51 GMT 2008 Olly Betts <olly@survex.com> 12248 12249 * matcher/queryoptimiser.cc: Rewrite comment explaining the excess 12250 precision fix. Drop unnecessary brackets from return to minimise 12251 the diff. 12252 12253Mon Oct 06 07:24:40 GMT 2008 Olly Betts <olly@survex.com> 12254 12255 * matcher/queryoptimiser.cc: Change the excess precision fix to pass 12256 both values through "volatile double" rather than "float" on 12257 platforms where this matters since the former gives better generated 12258 code as well as more consistent results with other platforms. 12259 12260Mon Oct 06 07:24:07 GMT 2008 Olly Betts <olly@survex.com> 12261 12262 * tests/internaltest.cc: Fix comment typo. 12263 12264Mon Oct 06 02:46:39 GMT 2008 Olly Betts <olly@survex.com> 12265 12266 * api/editdistance.cc,api/editdistance.h,api/omdatabase.cc: Pass the 12267 largest edit distance we currently care about into the edit distance 12268 algorithm so it can terminate early once it knows the edit distance 12269 exceeds this. This shortcut is used quite a lot, but there's no 12270 measurable speed-up in tests on the real world data I have to hand. 12271 12272Sun Oct 05 12:34:09 GMT 2008 Olly Betts <olly@survex.com> 12273 12274 * matcher/multimatch.cc: Adjust percent_factor instead of min_weight 12275 so that we don't miss some cases, and make the adjustment actually 12276 correspond with the adjustment in omenquire.cc. 12277 12278Wed Oct 01 14:11:49 GMT 2008 Olly Betts <olly@survex.com> 12279 12280 * backends/alltermslist.cc,common/alltermslist.h: We don't need an 12281 explicit virtual dtor for AllTermsList as it is empty and 12282 AllTermsList inherits from TermList which has one. 12283 12284Wed Oct 01 13:21:22 GMT 2008 Olly Betts <olly@survex.com> 12285 12286 * common/postlist.h,common/termlist.h: Fix comment typo. 12287 12288Wed Oct 01 00:12:02 GMT 2008 Olly Betts <olly@survex.com> 12289 12290 * bin/xapian-compact.cc: Add a comment for the previous fix. 12291 12292Tue Sep 30 22:41:39 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 12293 12294 * bin/xapian-compact.cc: Fix bug: if there are both valuestats and 12295 metadata, don't overwrite the last metadata value with the first 12296 valuestats tag. 12297 12298Tue Sep 30 20:31:34 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 12299 12300 * configure.ac: Set -Wstrict-overflow to 2 instead of 5, to avoid 12301 unreasonable warnings under GCC 4.3. 12302 12303Tue Sep 30 09:45:22 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 12304 12305 * api/omdatabase.cc: Add missing include, to compile on GCC 4.3.0. 12306 12307Mon Sep 29 13:06:42 GMT 2008 Olly Betts <olly@survex.com> 12308 12309 * NEWS: Update from ChangeLog. 12310 12311Mon Sep 29 05:04:57 GMT 2008 Olly Betts <olly@survex.com> 12312 12313 * backends/chert/chert_version.cc: Add VERSIONFILE_SIZE_LITERAL and 12314 use CompileTimeAssert() to ensure it matches the expression in 12315 VERSIONFILE_SIZE. It's very rare for the size to change (it's 12316 happened once ever) and allows us to build the error string 12317 literally at compile time. 12318 12319Sun Sep 28 15:13:11 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 12320 12321 * backends/chert/chert_values.cc: Fix bug in lazy update - ensure 12322 that the document has loaded its values before deleting the old 12323 one (previously, there was an assertion to this effect, but it 12324 didn't actually compile, and was also incorrect). 12325 * tests/api_wrdb.cc: Check that replacing a document with itself 12326 doesn't lose the values - regression test for the bug fixed by 12327 this commit. 12328 12329Sun Sep 28 14:04:01 GMT 2008 Olly Betts <olly@survex.com> 12330 12331 * backends/chert/chert_values.cc: Fix bug in value updating - 12332 modifyvalues1 now passes for chert. 12333 12334Sun Sep 28 12:15:14 GMT 2008 Olly Betts <olly@survex.com> 12335 12336 * tests/collate-test: Avoid perl warning when generating files which 12337 don't already exist. 12338 12339Sat Sep 27 10:36:09 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 12340 12341 * tests/api_wrdb.cc: Add test "modifyvalues1" - regression test for 12342 a bug in the streaming values implementation, and also a fairly 12343 thorough test of adding and modifying values in databases. 12344 12345Fri Sep 26 19:12:23 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 12346 12347 * api/omdatabase.cc: Fix warning with gcc 4.2 about possible signed 12348 overflow, by using an unsigned type for the total. 12349 12350Fri Sep 26 15:48:39 GMT 2008 Olly Betts <olly@survex.com> 12351 12352 * api/omdatabase.cc: Fixed version of: Avoid the relatively expensive 12353 edit distance computation for a candidate spelling correction when 12354 we can reject the candidate as less good than one we've already seen 12355 by looking at the character frequency histograms. In a test on 12356 real-world data, this gave an 15% speed-up in queryparsing time 12357 with FLAG_SPELLING_CORRECTION set. The cheap check rejects 90% 12358 of the words it handles (without the cheap check, the edit distance 12359 check rejects 92%). 12360 12361Fri Sep 26 14:40:50 GMT 2008 Olly Betts <olly@survex.com> 12362 12363 * bin/xapian-check.cc: Check the structure of the value stream chunks. 12364 12365Fri Sep 26 12:21:32 GMT 2008 Olly Betts <olly@survex.com> 12366 12367 * tests/api_spelling.cc: Add a regression test for the bug my recently 12368 added and reverted spelling optimisation introduced. 12369 12370Fri Sep 26 11:55:18 GMT 2008 Olly Betts <olly@survex.com> 12371 12372 * tests/Makefile.am,tests/api_spelling.cc,tests/api_wrdb.cc: Split the 12373 spelling tests out into a separate file. 12374 12375Fri Sep 26 11:53:45 GMT 2008 Olly Betts <olly@survex.com> 12376 12377 * tests/api_unicode.cc: Capitalise brief file description. 12378 12379Fri Sep 26 11:31:46 GMT 2008 Olly Betts <olly@survex.com> 12380 12381 * backends/inmemory/inmemory_document.cc, 12382 backends/inmemory/inmemory_document.h: New simpler InMemoryDocument 12383 class with slightly reduced memory footprint, based on 12384 RemoteDocument class. 12385 12386Fri Sep 26 10:36:02 GMT 2008 Olly Betts <olly@survex.com> 12387 12388 * backends/remote/remote-document.cc,backends/remote/remote-document.h, 12389 common/document.h: Add new files for RemoteDocument class missed 12390 from recent commit. Pass parameter to set_all_values() by non-const 12391 reference so we can just efficiently swap() the value maps rather 12392 than copying. 12393 12394Fri Sep 26 10:31:21 GMT 2008 Olly Betts <olly@survex.com> 12395 12396 * api/omdocument.cc,common/document.h: Remove unused method 12397 Xapian::Document::Index::get_all_values(). 12398 12399Fri Sep 26 10:03:17 GMT 2008 Olly Betts <olly@survex.com> 12400 12401 * backends/remote/,common/document.h: Replace NetDocument with a new 12402 simpler RemoteDocument class which just sets the values and data in 12403 its Document::Internal base class. 12404 12405Fri Sep 26 06:21:08 GMT 2008 Olly Betts <olly@survex.com> 12406 12407 * backends/chert/chert_database.cc,backends/chert/chert_document.cc, 12408 backends/chert/chert_document.h,common/document.h: Overhaul 12409 ChertDocument: Avoid having a reference-counted pointer to the 12410 database in the subclass as well as the one now in the base class. 12411 Also check the lazy flag before we create a ChertDocument object to 12412 avoid a memory allocation in that code path. And make the 12413 now-simple constructor inline-able. 12414 12415Thu Sep 25 17:38:37 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 12416 12417 * Merge lazyupdate branch: 12418 * api/omdocument.cc,backends/chert/chert_database.cc, 12419 backends/chert/chert_database.h,backends/chert/chert_values.cc, 12420 backends/database.cc,common/database.h,common/document.h: Add a 12421 shortcut for calling replace_document() with a document which was 12422 just read from the database. If the document terms were never 12423 accessed, don't bother updating the termlist, postings and 12424 position lists. If the data was never accessed, don't bother 12425 updating the data. If the values were never accessed, don't 12426 bother updating them. Only fires if we know that the document 12427 hasn't been modified (or deleted) since it was read from the 12428 database, to ensure that the lazy access of the data doesn't have 12429 a visible effect - we enforce this by keeping track of the last 12430 document read with open_document(), and only using the shortcut 12431 if this is the document passed to replace_document, and that 12432 document ID hasn't been passed to replace_document or 12433 delete_document since. 12434 12435 Add a method Database::Internal::invalidate_doc_object() which is 12436 called from the destructor of a document, so that we can reset 12437 the pointer to modify_shortcut_document in ChertWritableDatabase 12438 when this happens. 12439 12440 Document::Internal now keeps a ref-count pointer to the database, 12441 to ensure that the database is valid when invalidate_doc_object() 12442 is called on it. 12443 12444Thu Sep 25 17:35:07 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 12445 12446 * Forward-port from branches/lazyupdate: 12447 * tests/api_wrdb.cc: Extend deldoc5 slightly, to check that the 12448 DocNotFoundError for a deleted document is raised before the 12449 flush, as well as after. Also, test a few more cases which are 12450 relevant in the lazyupdate scenario. 12451 12452Thu Sep 25 17:33:21 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 12453 12454 * Forward-port from branches/lazyupdate: 12455 * backends/chert/chert_document.cc,backends/chert/chert_document.h: 12456 Check for existence of a document when opening it by searching 12457 for the document length entry, rather than by reading the record 12458 for the document. Probably slightly slower if the record is 12459 going to be accessed anyway, but much faster if it isn't (though 12460 benchmarking of this is needed). 12461 12462Thu Sep 25 14:27:07 GMT 2008 Olly Betts <olly@survex.com> 12463 12464 * Merge valuestreams branch: 12465 * backends/chert/,bin/xapian-check.cc,bin/xapian-compact.cc, 12466 docs/admin_notes.rst: Change the chert backend to store values in a 12467 chunked stream for each value slot to make access more efficient. 12468 The chunked streams and value stats are now stored in the postlist 12469 table while the list of used value slots for each document is stored 12470 in the termlist table, so we no longer need a special table for 12471 values. 12472 * bin/xapian-check.cc,bin/xapian-check-flint.cc: Don't stop checking 12473 a table after an error in certain cases - instead increment the 12474 error counter and try to continue checking from the next item. 12475 12476Thu Sep 25 13:50:15 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 12477 12478 * matcher/queryoptimiser.cc,tests/api_anydb.cc: Apply fix for 12479 platforms with excess precision - this fixes a potential segfault 12480 on x86 architecture when doing OP_ELITE_SET queries. Also, add a 12481 regression test. 12482 12483Thu Sep 25 03:38:24 GMT 2008 Olly Betts <olly@survex.com> 12484 12485 * examples/copydatabase.cc: Also copy user metadata. 12486 12487Wed Sep 24 17:27:33 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 12488 12489 * api/omdatabase.cc: Back out, for now, Olly's change from 12490 yesterday to avoid some edit distance checks; counting the 12491 frequency of letters doesn't take into account the number of 12492 substitutions, so spelling corrections which involve 12493 substitutions are missed. 12494 12495Wed Sep 24 12:48:39 GMT 2008 Olly Betts <olly@survex.com> 12496 12497 * unicode/tclUniData.cc: Update to Unicode 5.1 (bug#265). 12498 * tests/api_unicode.cc: Add tests for some of the changes 12499 in Unicode 5.1. 12500 12501Tue Sep 23 14:58:54 GMT 2008 Olly Betts <olly@survex.com> 12502 12503 * api/omdatabase.cc: Avoid the relatively expensive edit distance 12504 computation for a candidate spelling correction when we can reject 12505 the candidate as less good than one we've already seen by looking 12506 at the character frequency histograms. 12507 12508Mon Sep 22 09:21:55 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 12509 12510 * Forward-port from branches/lazyupdate: 12511 * backends/chert/chert_postlist.cc: Fix return value of jump_to() 12512 to be true only if the exact item specified was found in the 12513 doclen list (previously also returned true if an item following 12514 the item being searched for was found in the chunk). Note that 12515 there is no test for this fix included in this forward-port, but 12516 an implicit test is included in the lazyupdate branch, and will 12517 be here when that branch is merged to trunk. 12518 12519Mon Sep 22 07:58:06 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 12520 12521 * HACKING: Mention that setting XAPIAN_DEBUG_LOG to '-' has a 12522 special effect. 12523 12524Mon Sep 22 06:27:23 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 12525 12526 * docs/remote_protocol.html: Update documentation of remote 12527 protocol to mention UUID being passed in REPLY_GREETING and 12528 REPLY_UPDATE (added in revision [11369]). 12529 12530Thu Sep 18 11:52:05 GMT 2008 Olly Betts <olly@survex.com> 12531 12532 * tests/api_wrdb.cc: Fix cursordelbug1 to hopefully work on Microsoft 12533 Windows. 12534 12535Thu Sep 18 11:50:04 GMT 2008 Olly Betts <olly@survex.com> 12536 12537 * backends/chert/chert_cursor.cc,backends/chert/chert_table.cc, 12538 backends/chert/chert_table.h: More assertions and improved debug 12539 logging coverage. Use rare() to mark a couple of checks which 12540 almost always have the same result. Make an assertion about the 12541 level of a Btree block into an always-compiled-in check which throws 12542 an exception, as this isn't a sanity check of internal state. 12543 12544Thu Sep 18 05:26:27 GMT 2008 Olly Betts <olly@survex.com> 12545 12546 * backends/chert/chert_postlist.cc,backends/flint/flint_postlist.cc: 12547 Fix comment describing format of postlist chunk (collection freq 12548 was missing). 12549 12550Wed Sep 17 12:38:51 GMT 2008 Olly Betts <olly@survex.com> 12551 12552 * HACKING: Fix typos in XAPIAN_DEBUG_FLAGS documentation. 12553 12554Sat Sep 13 11:14:02 GMT 2008 Olly Betts <olly@survex.com> 12555 12556 * HACKING,configure.ac: Upgrade libtool requirement to 2.2.6a. 12557 12558Fri Sep 05 11:40:55 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 12559 12560 * tests/api_replicate.cc: Test that the UUID of a replica is equal 12561 to the UUID of the original database. 12562 12563Fri Sep 05 09:38:35 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 12564 12565 * include/xapian/database.h,api/omdatabase.cc: Add 12566 Database.get_uuid() which returns a unique identifier for the 12567 database. 12568 * tests/api_anydb.cc: Add test uuid1 to test basic get_uuid() 12569 behaviour. 12570 * common/database.h: Extend documentation comment for get_uuid() a 12571 bit. 12572 * backends/remote/remote-database.cc,common/remote-database.h, 12573 net/remoteserver.cc: Add support for get_uuid() to remote 12574 databases. 12575 12576Thu Sep 04 11:37:54 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 12577 12578 * tests/Makefile.am: Remove accidentally committed reference to 12579 apitest_sortconsist.txt, which only exists in my local checkout 12580 and in a patch in ticket #216. 12581 12582Thu Sep 04 04:39:32 GMT 2008 Olly Betts <olly@survex.com> 12583 12584 * HACKING,configure.ac: We now hard require autoconf 2.62, so it's 12585 safe to use AC_TYPE_SSIZE_T. (bug#135) 12586 12587Thu Sep 04 04:26:59 GMT 2008 Olly Betts <olly@survex.com> 12588 12589 * configure.ac: Set version to 1.1.0. 12590 12591Thu Sep 04 03:32:06 GMT 2008 Olly Betts <olly@survex.com> 12592 12593 * AUTHORS,NEWS,configure.ac: Sync with 1.0.8. 12594 12595Wed Sep 03 15:23:54 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 12596 12597 * tests/Makefile.am,tests/api_percentages.cc: Add new test file for 12598 tests related to percentage weights (there are a few around which 12599 could be moved here, and there's another one in the patch in 12600 ticket #216). Add test in this file which uses a PostingSource 12601 with carefully constructed weights to check the rounding 12602 behaviour for percentage cutoffs. 12603 12604Wed Sep 03 07:58:29 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 12605 12606 * matcher/multimatch.cc: Adjust min_weight values calculated for 12607 percent_cutoff in the same manner as in omenquire.cc, to allow 12608 for excess precision in the same way. 12609 12610Wed Sep 03 07:15:49 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 12611 12612 * backends/chert/chert_version.cc: Display numerical value of 12613 correct size of chert version file in error message if size is 12614 incorrect, rather than a complicated expression giving the 12615 correct size. 12616 12617Tue Sep 02 10:41:46 GMT 2008 Olly Betts <olly@survex.com> 12618 12619 * matcher/multimatch.cc: Remove FIXME for pushing check_at_least 12620 handling into the remote backend, which was done for 1.0.2. 12621 12622Tue Sep 02 06:48:50 GMT 2008 Olly Betts <olly@survex.com> 12623 12624 * bin/xapian-inspect.cc: Show the help message on start-up. Correct 12625 the alias for next from ' ' to ''. Avoid reading outside of input 12626 string when it is empty. Bug#286. 12627 12628Tue Sep 02 04:19:34 GMT 2008 Olly Betts <olly@survex.com> 12629 12630 * tests/stemtest.cc: Handle the new supplemental stemming data. 12631 12632Tue Sep 02 03:05:10 GMT 2008 Olly Betts <olly@survex.com> 12633 12634 * tests/stemtest.cc: Update for new xapian-data directory structure. 12635 12636Tue Aug 26 09:26:49 GMT 2008 Olly Betts <olly@survex.com> 12637 12638 * common/debuglog.h: Handle logging from ctor, dtor, and 12639 void-returning functions/methods with a separate class 12640 (DebugLogFuncVoid). Fix outdent handling for non-logged message 12641 types. Fix detection of active exceptions to check if the exception 12642 was already active when we entered the current function. This 12643 probably means that "RETURN_VOID" is no longer needed, so comment 12644 it out. 12645 12646Tue Aug 26 07:34:16 GMT 2008 Olly Betts <olly@survex.com> 12647 12648 * HACKING: Document explicitly that XAPIAN_DEBUG_FLAGS=- gives you all 12649 debug messages. 12650 12651Tue Aug 26 00:57:32 GMT 2008 Olly Betts <olly@survex.com> 12652 12653 * bin/xapian-check.cc: Fix reversed check for whether a table is in a 12654 flint or chert database. 12655 12656Mon Aug 25 12:03:36 GMT 2008 Olly Betts <olly@survex.com> 12657 12658 * backends/flint/flint_termlisttable.cc: Remove FIXME about dropping 12659 something if we make an incompatible database version bump - that's 12660 not going to happen now for flint. Avoid packing doclen for an 12661 empty termlist. Add explicit cast for char for prev_term.size(). 12662 12663Sun Aug 24 11:42:21 GMT 2008 Olly Betts <olly@survex.com> 12664 12665 * common/Makefile.mk: Fix build with --enable-log=profile. 12666 12667Sun Aug 24 12:41:22 BST 2008 Olly Betts <olly@survex.com> 12668 12669 * HACKING: Add a bit of discussion of --enable-log=profile. Tweak 12670 formatting in one place and wording in another. 12671 12672Sat Aug 23 00:48:40 GMT 2008 Olly Betts <olly@survex.com> 12673 12674 * tests/collate-test: Only update files which have changed to avoid 12675 rebuilding all apitest's source files when only one has changed. 12676 12677Fri Aug 22 01:02:57 GMT 2008 Olly Betts <olly@survex.com> 12678 12679 * queryparser/queryparser.lt: Merge upstream "Check-in Number: 5571" 12680 (no code changes in our modified version). 12681 12682Fri Aug 22 01:00:15 GMT 2008 Olly Betts <olly@survex.com> 12683 12684 * queryparser/lemon.c: Fix comment typo. 12685 12686Fri Aug 22 00:55:26 GMT 2008 Olly Betts <olly@survex.com> 12687 12688 * queryparser/lemon.c: Merge upstream "Check-in Number: 5564". 12689 12690Fri Aug 22 00:44:14 GMT 2008 Olly Betts <olly@survex.com> 12691 12692 * queryparser/lemon.c,queryparser/queryparser.lt: Merge upstream 12693 "Check-in Number: 5488" and "5563". 12694 * queryparser/queryparser.lt: Fix compilation for previous merge 12695 (I fixed it in the generated file before!) 12696 12697Fri Aug 22 00:07:22 GMT 2008 Olly Betts <olly@survex.com> 12698 12699 * queryparser/queryparser.lt: Merge upstream "Check-in Number: 5472". 12700 12701Thu Aug 21 04:15:41 GMT 2008 Olly Betts <olly@survex.com> 12702 12703 * configure.ac: Remove code which checks for --enable-debug and 12704 --enable-debug-verbose (deprecated since 1.0.0) and gives an error 12705 pointing to the replacements. 12706 * docs/deprecation.rst: Document the replacements here. 12707 12708Thu Aug 21 00:57:52 GMT 2008 Olly Betts <olly@survex.com> 12709 12710 * common/omdebug.h: Remove DEBUGLINE completely. 12711 * backends/flint/flint_table.cc,backends/inmemory/inmemory_database.cc, 12712 queryparser/queryparser.lt: Replace remaining DEBUGLINE uses. 12713 * backends/inmemory/inmemory_database.cc: Don't need <list>. 12714 12715Thu Aug 21 00:37:08 GMT 2008 Olly Betts <olly@survex.com> 12716 12717 * common/debuglog.h,common/omdebug.h: Define LOGLINE, etc to no-op 12718 versions when XAPIAN_DEBUG_VERBOSE isn't defined. 12719 * api/,backends/chert/,backends/flint/, 12720 backends/inmemory/inmemory_database.cc, 12721 backends/multi/multi_postlist.cc,backends/multi/multi_termlist.cc, 12722 expand/esetinternal.cc,expand/expandweight.cc,matcher/, 12723 net/remoteconnection.cc: Use LOGLINE or LOGVALUE instead of 12724 DEBUGLINE. 12725 12726Wed Aug 20 13:33:56 GMT 2008 Olly Betts <olly@survex.com> 12727 12728 * common/debuglog.h: Don't need omtime.h. 12729 12730Wed Aug 20 06:11:31 GMT 2008 Olly Betts <olly@survex.com> 12731 12732 * examples/quest.cc: Fix to catch QueryParserError instead of const 12733 char * which Xapian < 1.0.0 threw instead. 12734 12735Wed Aug 20 05:50:26 GMT 2008 Olly Betts <olly@survex.com> 12736 12737 * docs/valueranges.rst: Expand on some sections. 12738 12739Wed Aug 20 04:43:07 GMT 2008 Olly Betts <olly@survex.com> 12740 12741 * tests/api_nodb.cc: Clarify in comments that this affected 1.0.7. 12742 12743Wed Aug 20 04:33:22 GMT 2008 Olly Betts <olly@survex.com> 12744 12745 * api/omenquire.cc: Simplify RSet::remove_document() and 12746 RSet::contains() a little. Fix output of RSet::get_description(). 12747 * tests/api_nodb.cc: Add regression test rset4 for 12748 RSet::get_description() fix. 12749 12750Wed Aug 20 02:45:04 GMT 2008 Olly Betts <olly@survex.com> 12751 12752 * common/omdebug.h: Remove DebugMsg() macro which is no longer used. 12753 12754Tue Aug 12 05:03:34 GMT 2008 Olly Betts <olly@survex.com> 12755 12756 * backends/flint/flint_table.cc,backends/flint/flint_table.h: 12757 Backport elimination of find_tag() to flint. 12758 12759Tue Aug 12 04:10:41 GMT 2008 Olly Betts <olly@survex.com> 12760 12761 * backends/chert/chert_table.cc,backends/chert/chert_table.h: 12762 ChertTable::find_tag() is only used by ChertTable::get_exact_entry() 12763 so remove the former folding its code into the latter. 12764 12765Mon Aug 11 03:06:10 GMT 2008 Olly Betts <olly@survex.com> 12766 12767 * backends/chert/chert_spelling.h,backends/chert/chert_synonym.h: 12768 Remove random closing bracket from a couple of comments. 12769 12770Mon Aug 11 03:03:19 GMT 2008 Olly Betts <olly@survex.com> 12771 12772 * api/postingsource.cc: Always initialise max_value in the constructor 12773 body for consistency. 12774 12775Sat Aug 09 09:56:06 GMT 2008 Olly Betts <olly@survex.com> 12776 12777 * tests/api_valuestats.cc: Add valuestats4 as a regression test for 12778 the previous fix. 12779 12780Sat Aug 09 06:10:49 GMT 2008 Olly Betts <olly@survex.com> 12781 12782 * backends/chert/chert_database.cc,backends/chert/chert_database.h: 12783 Write cached valuestats changes to disk when we automatically flush 12784 changes due to the number of documents indexed. 12785 12786Wed Aug 06 11:27:29 GMT 2008 Olly Betts <olly@survex.com> 12787 12788 * api/omdocument.cc,backends/chert/chert_document.cc, 12789 backends/chert/chert_document.h,backends/flint/flint_document.cc, 12790 backends/flint/flint_document.h, 12791 backends/inmemory/inmemory_document.cc, 12792 backends/inmemory/inmemory_document.h, 12793 backends/remote/net_document.cc,backends/remote/net_document.h, 12794 common/document.h: Change do_get_all_values() to pass a reference 12795 to the std::map to return the result in rather than returning the 12796 std::map. 12797 12798Wed Aug 06 07:39:08 GMT 2008 Olly Betts <olly@survex.com> 12799 12800 * docs/replication.rst: Adding missing (C) for new section addded 12801 recently. 12802 12803Wed Aug 06 06:27:59 GMT 2008 Olly Betts <olly@survex.com> 12804 12805 * backends/alltermslist.cc,backends/chert/,backends/flint/, 12806 backends/inmemory/inmemory_alltermslist.cc, 12807 backends/inmemory/inmemory_alltermslist.h, 12808 backends/multi/multi_alltermslist.cc,common/alltermslist.h, 12809 common/multialltermslist.h: Add a default "not implemented" 12810 implementation of AllTermsList::get_approx_size() and remove the 12811 "not implemented" versions in all the subclasses. Remove empty 12812 destructors for ChertSpellingTermList, and FlintSpellingTermList. 12813 * api/maptermlist.h,api/omdocument.cc: MapTermList::get_approx_size() 12814 should never be used, so make it "Assert(false); return 0;". 12815 12816Wed Aug 06 02:24:48 GMT 2008 Olly Betts <olly@survex.com> 12817 12818 * api/omdatabase.cc,backends/multi/multi_alltermslist.cc, 12819 common/multialltermslist.h: Reimplement MultiAllTermsList to use a 12820 heap rather than linearly scanning - operations during iteration 12821 should now be O(log(n)) rather than O(n) where n is the number of 12822 databases. 12823 12824Tue Aug 05 23:50:19 GMT 2008 Olly Betts <olly@survex.com> 12825 12826 * tests/Makefile.am: Fix "make clean" to remove cached databases again 12827 and "make check" to remove cached databases like the previous change 12828 aimed to do. 12829 12830Tue Aug 05 23:48:52 GMT 2008 Olly Betts <olly@survex.com> 12831 12832 * tests/api_db.cc: Use TEST_EQUAL(a, b) rather than TEST(a == b). 12833 12834Tue Aug 05 12:44:58 GMT 2008 Olly Betts <olly@survex.com> 12835 12836 * common/alltermslist.h: Fix parameter name in doxygen comment. 12837 12838Tue Aug 05 06:28:15 GMT 2008 Olly Betts <olly@survex.com> 12839 12840 * backends/chert/chert_database.cc,backends/flint/flint_database.cc: 12841 Don't generate a changeset file for the first revision of a database 12842 (since we might as well just send the whole database) - addresses 12843 part of bug#278. Clean up exceptions to pass errno in the errno 12844 parameter rather than incorporating strerror(errno) in the message 12845 parameter. 12846 12847Tue Aug 05 06:00:11 GMT 2008 Olly Betts <olly@survex.com> 12848 12849 * tests/api_replicate.cc: Remove "sleep(1);" from testcase replicate1 12850 which is no longer required now we generate proper UUIDs. 12851 12852Tue Aug 05 03:07:11 GMT 2008 Olly Betts <olly@survex.com> 12853 12854 * api/replication.cc,include/xapian/replication.h: Remove 12855 DatabaseReplica::get_parameter() and set_parameter() as they're no 12856 longer used for storing the database UUID, and Richard said the 12857 thinking behind wanting them was "flawed". 12858 12859Tue Aug 05 02:03:24 GMT 2008 Olly Betts <olly@survex.com> 12860 12861 * backends/chert/chert_version.cc: Comment tweak. 12862 12863Tue Aug 05 02:02:29 GMT 2008 Olly Betts <olly@survex.com> 12864 12865 * api/replication.cc,backends/flint/flint_database.cc,common/utils.cc, 12866 common/utils.h: Use the UUID stored by the backend rather than 12867 storing it ourselves as a database replica parameter. 12868 12869Mon Aug 04 14:58:21 GMT 2008 Olly Betts <olly@survex.com> 12870 12871 * backends/flint/flint_database.cc,backends/flint/flint_version.cc, 12872 backends/flint/flint_version.h: Generate a UUID when a new flint 12873 database is created, and lazily generate one for existing flint 12874 databases which don't have one. Store the UUID in a new "uuid" 12875 file in the database directory to avoid having to change the 12876 flint database format incompatibly. 12877 12878Mon Aug 04 14:13:53 GMT 2008 Olly Betts <olly@survex.com> 12879 12880 * backends/chert/chert_database.cc,backends/chert/chert_version.cc, 12881 backends/chert/chert_version.h,configure.ac: Generate a UUID when 12882 a chert database is created, and store it in the version file. 12883 12884Mon Aug 04 12:16:54 GMT 2008 Olly Betts <olly@survex.com> 12885 12886 * backends/chert/chert_version.cc: Make exception messages more 12887 consistent. 12888 12889Mon Aug 04 12:15:14 GMT 2008 Olly Betts <olly@survex.com> 12890 12891 * backends/chert/chert_database.cc,backends/chert/chert_version.cc, 12892 backends/chert/chert_version.h: Remove the code to handle upgrading 12893 flint versions >= 200704230 and < 200709120 as it's just dead code 12894 for chert. 12895 12896Sun Aug 03 14:34:31 GMT 2008 Olly Betts <olly@survex.com> 12897 12898 * api/replication.cc: Track the replica numbers using an int rather 12899 than two strings. Eliminate two racey uses of file_exists(). 12900 12901Sun Aug 03 11:37:06 GMT 2008 Olly Betts <olly@survex.com> 12902 12903 * docs/replication.rst: Add section on backend support. Make FIXME a 12904 comment. Fix erroneous reference to '"-h" parameter'. 12905 12906Sun Aug 03 11:28:27 GMT 2008 Olly Betts <olly@survex.com> 12907 12908 * api/replication.cc,tests/harness/testrunner.cc: Make replication 12909 work for the chert backend. 12910 12911Sat Aug 02 16:47:04 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 12912 12913 * include/xapian/enquire.h: Correct documentation comment (iterator 12914 doesn't return terms, it returns mset items). 12915 12916Sat Aug 02 14:16:24 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 12917 12918 * docs/admin_notes.rst: Fix a typo. 12919 12920Sat Aug 02 14:06:37 GMT 2008 Olly Betts <olly@survex.com> 12921 12922 * backends/chert/chert_cursor.cc,backends/flint/flint_cursor.cc: 12923 Fix comment typo in previous commit. 12924 12925Sat Aug 02 13:04:05 GMT 2008 Olly Betts <olly@survex.com> 12926 12927 * backends/chert/chert_cursor.cc,backends/flint/flint_cursor.cc: Fix 12928 FlintCursor::del() and ChertCursor::del() to leave the cursor on the 12929 next key when iterating over the unflushed revision (previously the 12930 cursor would end up an extra key along in this case). (Bug#287) 12931 * tests/api_wrdb.cc: Add regression test cursordelbug1. 12932 12933Sat Aug 02 05:09:38 GMT 2008 Olly Betts <olly@survex.com> 12934 12935 * api/replication.cc,common/utils.cc,common/utils.h: Change 12936 removedir() to just return if passed a non-existent path and 12937 document this. Make use of this to avoid having to call 12938 dir_exists() before remove_dir(). 12939 12940Sat Aug 02 04:43:45 GMT 2008 Olly Betts <olly@survex.com> 12941 12942 * tests/api_db.cc,tests/apitest.cc: Make use of new 12943 BackendManager::get_database_path() to eliminate knowledge of 12944 BackendManagerFlint's implementation from test stubdb1. Put the 12945 stubdb files in a .stub subdirectory and don't remove them after 12946 each test to aid debugging failing tests. Also now run stubdb tests 12947 under chert and multi backends. Add more stubdb tests for the 12948 recently added features. 12949 12950Sat Aug 02 04:39:08 GMT 2008 Olly Betts <olly@survex.com> 12951 12952 * tests/harness/: Adjust the BackendManager interface to reduce code 12953 duplication in subclasses - for backends where the concept of a 12954 path to the database makes sense, we now support a 12955 get_database_path() method and use this in the default 12956 implementation of get_database() in the base class. 12957 12958Sat Aug 02 04:36:48 GMT 2008 Olly Betts <olly@survex.com> 12959 12960 * tests/apitest.h: Use std::string() in preference to "". 12961 12962Sat Aug 02 04:35:13 GMT 2008 Olly Betts <olly@survex.com> 12963 12964 * backends/dbfactory.cc: Fix handling of new "inmemory" type in stub 12965 databases. 12966 12967Sat Aug 02 01:49:35 GMT 2008 Olly Betts <olly@survex.com> 12968 12969 * tests/Makefile.am: Remove the cached test databases in before 12970 running the testsuite by making check-local do the same as 12971 clean-local. 12972 12973Sat Aug 02 01:42:36 GMT 2008 Olly Betts <olly@survex.com> 12974 12975 * backends/dbfactory.cc: Add support for "inmemory" to stub database 12976 files (it's useful now they can be writable). Don't just ignore 12977 lines with no spaces in in stub database files. 12978 12979Thu Jul 31 13:13:30 GMT 2008 Olly Betts <olly@survex.com> 12980 12981 * backends/Makefile.mk,backends/database.cc,backends/dbfactory.cc, 12982 common/database.h,include/xapian/dbfactory.h: Add new 12983 Auto::open_stub() overload which opens a stub database file 12984 containing a single entry as a WritableDatabase. Move the 12985 non-remote database factory API functions from backends/database.cc 12986 to new file backends/dbfactory.cc, leaving the former solely for 12987 methods of Database::Internal. A stub database file is now allowed 12988 to contain no database entries, which results in an empty Database 12989 object (this avoids user code having to special case to handle "0 or 12990 more" databases). 12991 * tests/api_nodb.cc: Tidy up #include directives. Enhance nosuchdb1 12992 to check that we get a reasonable error message - previously we 12993 got "Couldn't detect type of database". 12994 * include/xapian/dbfactory.h: Improve doxygen comment for 12995 InMemory::open(). 12996 12997Thu Jul 31 09:36:41 GMT 2008 Olly Betts <olly@survex.com> 12998 12999 * tests/api_replicate.cc: This is a new file, so use <cstdlib> rather 13000 than <stdlib.h>. 13001 13002Wed Jul 30 23:10:19 GMT 2008 Olly Betts <olly@survex.com> 13003 13004 * backends/database.cc: Bad lines in a stub file were being ignored 13005 after we'd seen a good entry. 13006 * tests/api_db.cc: Add regression test. 13007 13008Wed Jul 30 14:42:04 GMT 2008 Olly Betts <olly@survex.com> 13009 13010 * generate-exceptions.in: Use std::string() in preference to "". 13011 13012Tue Jul 29 23:55:21 GMT 2008 Olly Betts <olly@survex.com> 13013 13014 * AUTHORS: Add Henrik Brix Andersen. 13015 13016Tue Jul 22 06:01:44 GMT 2008 Olly Betts <olly@survex.com> 13017 13018 * backends/flint/flint_table.cc,backends/flint/flint_table.h: 13019 Eliminate other_base_letter member of FlintTable - its value can 13020 always be easily determined from base_letter. 13021 13022Mon Jul 21 12:33:54 GMT 2008 Olly Betts <olly@survex.com> 13023 13024 * xapian-config.in: Add bug report URL to xapian-config --help output. 13025 13026Mon Jul 21 11:55:18 GMT 2008 Olly Betts <olly@survex.com> 13027 13028 * configure.ac: Put the bug report URL as the third parameter to 13029 AC_INIT. Add proper m4 quoting in a few places (nowhere that 13030 should actually change behaviour). 13031 13032Mon Jul 21 01:03:12 GMT 2008 Olly Betts <olly@survex.com> 13033 13034 * tests/apitest.cc,tests/harness/testsuite.cc, 13035 tests/harness/testsuite.h: Report subtotals per backend, rather than 13036 per testgroup per backend to make the output much clearer to scan. 13037 13038Mon Jul 21 00:36:07 GMT 2008 Olly Betts <olly@survex.com> 13039 13040 * tests/apitest.cc: Use startswith(). 13041 13042Sun Jul 20 14:16:18 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 13043 13044 * tests/harness/testsuite.h: Add missing "iomanip" header needed 13045 for setprecision calls. 13046 13047Sun Jul 20 11:35:35 GMT 2008 Olly Betts <olly@survex.com> 13048 13049 * include/xapian/enquire.h,include/xapian/matchspy.h, 13050 include/xapian/valueiterator.h: Remove explicit empty non-virtual 13051 destructors since the compiler will create them by default anyway. 13052 13053Sun Jul 20 10:18:52 GMT 2008 Olly Betts <olly@survex.com> 13054 13055 * NEWS: Update from ChangeLog. 13056 13057Sun Jul 20 10:09:36 GMT 2008 Olly Betts <olly@survex.com> 13058 13059 * Forward-port change from branches/1.0: 13060 * api/omenquire.cc: Fix percentage calculation to cope with excess 13061 precision on x86. Fix method name for convert_to_percent_internal 13062 in debug logging. 13063 13064Sun Jul 20 09:13:32 GMT 2008 Olly Betts <olly@survex.com> 13065 13066 * backends/flint/,bin/xapian-check-flint.cc,bin/xapian-check-flint.h, 13067 bin/xapian-compact.cc: Store the tablename in FlintTable as a const 13068 char * - it's a constant string and std::string adds a needless 13069 space overhead. 13070 13071Sun Jul 20 09:10:49 GMT 2008 Olly Betts <olly@survex.com> 13072 13073 * bin/xapian-check.cc: Follow-on fix for last change - we need to use 13074 strcmp() to compare C strings. 13075 13076Sun Jul 20 07:09:38 GMT 2008 Olly Betts <olly@survex.com> 13077 13078 * backends/chert/,bin/xapian-check.cc: Store the tablename in 13079 ChertTable as a const char * - it's a constant string and 13080 std::string adds a needless space overhead. 13081 13082Sat Jul 19 14:19:58 GMT 2008 Olly Betts <olly@survex.com> 13083 13084 * backends/chert/chert_database.cc,backends/chert/chert_values.cc, 13085 backends/chert/chert_values.h: Fix WritableDatabase::add_document() 13086 and replace_document() not to be O(n*n) in the number of values in 13087 the new document. 13088 * backends/flint/flint_database.cc,backends/flint/flint_values.cc, 13089 backends/flint/flint_values.h: Backport fix to flint. 13090 * tests/api_wrdb.cc: Add testcase bigoaddvalue to make sure we don't 13091 regress to O(n*n) (or worse!) 13092 13093Fri Jul 18 13:24:43 GMT 2008 Olly Betts <olly@survex.com> 13094 13095 * tests/api_wrdb.cc: Rewrite lazytablebug1 testcase to avoid having 13096 to run xapian-compact. 13097 13098Fri Jul 18 11:59:42 GMT 2008 Olly Betts <olly@survex.com> 13099 13100 * backends/chert/chert_table.cc: Fix handling of a table created 13101 lazily after the database has had commits, and which is then 13102 cursored while still in sequential mode. 13103 * backends/flint/flint_table.cc: Backport fix to flint. 13104 * tests/api_wrdb.cc: Add testcase lazytablebug1. 13105 13106Fri Jul 18 02:52:55 GMT 2008 Olly Betts <olly@survex.com> 13107 13108 * tests/api_wrdb.cc: Enable test crashrecovery1 for chert. Finish off 13109 unfinished comment. 13110 13111Fri Jul 18 02:38:22 GMT 2008 Olly Betts <olly@survex.com> 13112 13113 * tests/api_wrdb.cc,tests/harness/testrunner.cc, 13114 tests/harness/testrunner.h: Add "synonyms" test backend property 13115 and use it to decide where to run synonym tests so they get run on 13116 chert too. Move virtual TestRunner destructor out of the header. 13117 Don't skip all the spelling tests on chert. 13118 13119Fri Jul 18 00:56:17 GMT 2008 Olly Betts <olly@survex.com> 13120 13121 * tests/api_wrdb.cc: Eliminate literal top-bit-set characters. 13122 13123Fri Jul 18 00:40:06 GMT 2008 Olly Betts <olly@survex.com> 13124 13125 * backends/chert/chert_values.cc: Kill superfluous else tokens. 13126 13127Thu Jul 17 13:00:55 GMT 2008 Olly Betts <olly@survex.com> 13128 13129 * backends/chert/chert_table.cc,backends/chert/chert_table.h: 13130 Eliminate other_base_letter member of ChertTable - its value can 13131 always be easily determined from base_letter. 13132 13133Thu Jul 17 12:24:19 GMT 2008 Olly Betts <olly@survex.com> 13134 13135 * backends/chert/chert_database.cc: Add space after catch for 13136 consistency. 13137 13138Thu Jul 17 11:51:57 GMT 2008 Olly Betts <olly@survex.com> 13139 13140 * examples/copydatabase.cc: Use C++ forms of C headers. Only treat 13141 '\' as a directory separator on platforms where it is. Update 13142 counter every 13 counting up to the end so that the digits all 13143 "rotate" and the counter ends up on the exact total. 13144 13145Wed Jul 16 10:10:32 GMT 2008 Olly Betts <olly@survex.com> 13146 13147 * tests/perftest/perftest.cc: Use uname() or gethostname() to get the 13148 hostname on Unix, rather than piping output from uname -n. Use 13149 startswith() where appropriate. Prefer resize() and erase() to 13150 assigning a string a substring of itself. Make internal functions 13151 static. Prefer string() to "". Fold sed | sed and grep | sed into 13152 single sed invocations. 13153 13154Wed Jul 16 05:16:00 GMT 2008 Olly Betts <olly@survex.com> 13155 13156 * queryparser/lemon.c,queryparser/queryparser.lt: Merge upstream 13157 "Check-in Number: 5404" and "5405". 13158 13159Wed Jul 16 04:48:45 GMT 2008 Olly Betts <olly@survex.com> 13160 13161 * NEWS: Sync with 1.0.7 release. Start to clean up ChangeLog entry 13162 pile. 13163 13164Mon Jul 14 05:13:55 GMT 2008 Olly Betts <olly@survex.com> 13165 13166 * queryparser/lemon.c: Fix a typo, remove "\n" from the end of 13167 ErrorMsg() calls since it will get stripped anyway, and escape 13168 literal '%' in ErrorMsg() third arguments. 13169 13170Sun Jul 13 13:04:58 GMT 2008 Olly Betts <olly@survex.com> 13171 13172 * queryparser/lemon.c: Update note of upstream version we're synced 13173 against. 13174 13175Sun Jul 13 12:56:58 GMT 2008 Olly Betts <olly@survex.com> 13176 13177 * queryparser/lemon.c: Tweak previous merged patch so that we still 13178 get #line directives for code in %include directives. 13179 13180Sun Jul 13 12:54:03 GMT 2008 Olly Betts <olly@survex.com> 13181 13182 * queryparser/lemon.c: Merge upstream "Check-in Number: 5335". 13183 Reduces the size of the stripped object file for 13184 queryparser_internal.cc by about 0.5%. 13185 13186Sun Jul 13 12:32:06 GMT 2008 Olly Betts <olly@survex.com> 13187 13188 * queryparser/lemon.c: Fix typo in comment. 13189 13190Sun Jul 13 12:30:38 GMT 2008 Olly Betts <olly@survex.com> 13191 13192 * queryparser/lemon.c: Merge upstream "Check-in Number: 5334". No 13193 change to the generated code in our case. 13194 13195Sun Jul 13 12:24:13 GMT 2008 Olly Betts <olly@survex.com> 13196 13197 * configure.ac: Add missing hard requirement for libtool 2.2.4. 13198 13199Sun Jul 13 12:09:40 GMT 2008 Olly Betts <olly@survex.com> 13200 13201 * configure.ac,HACKING: Hard require autoconf 2.62 and automake 1.10.1. 13202 Move all information about particular autoconf and automake versions 13203 to HACKING. 13204 * configure.ac: Use LT_INIT in preference to AC_PROG_LIBTOOL. On 13205 Linux and k*bsd-gnu, override libtool's link_all_deplibs_CXX to 13206 "no". On Linux, override libtool's sys_lib_dlsearch_path_spec to a 13207 list generated in a more reliable way which includes *all* the 13208 default directories. Remove workaround which sets docdir for 13209 autoconf < 2.60 since we now require 2.62. 13210 * xapian-core.spec.in: We no longer need to run autoreconf to work 13211 around libtool's incomplete sys_lib_dlsearch_path_spec or to pick 13212 up distro-specific patches for link_all_deplibs. 13213 13214Sun Jul 13 11:33:33 GMT 2008 Olly Betts <olly@survex.com> 13215 13216 * Makefile.am: No need to explicitly list m4/*.m4 in EXTRA_DIST as 13217 automake will automatically ship any such files which are needed. 13218 13219Sun Jul 13 09:15:34 GMT 2008 Olly Betts <olly@survex.com> 13220 13221 * api/omenquire.cc: Back out the rounding of percentages change (at 13222 least for now), as it makes percentage cut-offs work inconsistently. 13223 * tests/api_anydb.cc: Add test pctcutoff3 which demonstrates the issue. 13224 13225Sun Jul 13 07:01:02 GMT 2008 Olly Betts <olly@survex.com> 13226 13227 * include/xapian/enquire.h: Fix documentation comment for 13228 MSet::get_rank() - the 'document judged "most relevant" will have 13229 rank of 0' only when ordering primarily by relevance. 13230 13231Sun Jul 13 06:17:13 GMT 2008 Olly Betts <olly@survex.com> 13232 13233 * matcher/multimatch.cc: Tweak layout (makes the backport diff 13234 much smaller and clearer, and reduces indentation by a level for a 13235 chunk of code). 13236 13237Fri Jul 11 13:44:56 GMT 2008 Olly Betts <olly@survex.com> 13238 13239 * tests/harness/testutils.cc: Fix typos in recent improved output. 13240 13241Fri Jul 11 13:04:41 GMT 2008 Olly Betts <olly@survex.com> 13242 13243 * matcher/multimatch.cc: Collect up all the scaling factors we apply 13244 to the estimated number of matches and apply them in one go to avoid 13245 rounding the result more than once. 13246 13247Fri Jul 11 12:21:11 GMT 2008 Olly Betts <olly@survex.com> 13248 13249 * tests/api_anydb.cc: Add testcase for percent cutoff plus collapsing 13250 which most likely would have failed before Richard's recent fix 13251 for the lower bound with collapsing and a matchdecider. 13252 13253Fri Jul 11 05:30:02 GMT 2008 Olly Betts <olly@survex.com> 13254 13255 * backends/database.cc: Add support for XAPIAN_PREFER_CHERT 13256 environmental variable. 13257 13258Thu Jul 10 22:21:46 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 13259 13260 * api/postingsource.cc: Fix skip_to() so that it doesn't advance if 13261 it's already in a suitable position. 13262 * include/xapian/postingsource.h: Specify that skip_to() should 13263 stay in the same position if the current position is equal to 13264 the docid argument of skip_to(). 13265 * tests/api_db.cc: Add valueweightsource3 to check that skip_to() 13266 stays in the same position in this case. 13267 13268Thu Jul 10 13:14:14 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 13269 13270 * api/postingsource.cc: Performance improvement - open documents 13271 lazily (using the internal interface) so that we don't access 13272 the record table for each one - we now just access the value 13273 table. Leads to considerable speed up for me (of the order of 5 13274 times faster). 13275 13276Thu Jul 10 09:49:39 GMT 2008 Olly Betts <olly@survex.com> 13277 13278 * HACKING: Overhaul the sections on building from SVN. Remove ':' 13279 from the end of headings. 13280 13281Wed Jul 09 10:43:01 GMT 2008 Olly Betts <olly@survex.com> 13282 13283 * configure.ac: The workaround to avoid probe code for F77, GCJ, and 13284 RC being added to configure is no longer required now that we're 13285 using libtool 2.2 so remove it. 13286 13287Wed Jul 09 09:40:43 GMT 2008 Olly Betts <olly@survex.com> 13288 13289 * Makefile.am,acinclude.m4,autoconf/dir_contents, 13290 autoconf/rjb_find_stlport.m4,autoconf/type_socklen_t.m4, 13291 m4/dir_contents,m4/rjb_find_stlport.m4,m4/type_socklen_t.m4: Move 13292 the m4 macros which we ship for building configure from into the m4 13293 subdirectory and remove acinclude.m4 - now aclocal will pull in the 13294 required macros automatically. 13295 13296Wed Jul 09 09:14:31 GMT 2008 Olly Betts <olly@survex.com> 13297 13298 * Makefile.am: Update for m4 -> m4-macros change. 13299 13300Wed Jul 09 09:11:45 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 13301 13302 * matcher/externalpostlist.cc: Fix segfault if get_maxweight() is 13303 called when the postlist has reached end. This happens if the 13304 end is reached during decay of an AND_MAYBE postlist to an AND. 13305 * common/postlist.h,matcher/: Add comments documenting that 13306 recalc_maxweight() may be called after the postlist has reached 13307 the end, and noting why this is safe in various cases. 13308 13309Wed Jul 09 09:02:08 GMT 2008 Olly Betts <olly@survex.com> 13310 13311 * m4-macros/dir_contents,m4-macros/xapian.m4,m4/dir_contents, 13312 m4/xapian.m4: Move xapain.m4 to a new subdirectory (m4-macros) since 13313 libtoolize now installs m4 files into subdirectory m4 which we don't 13314 really want picking up by applications building against an 13315 uninstalled xapian-core. 13316 13317Wed Jul 09 08:03:11 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 13318 13319 * Makefile.am,m4/dir_contents,xapian.m4: Move xapian.m4 back into 13320 the m4 subdirectory. For uninstalled builds, we need xapian.m4 13321 to be in a directory without any other .m4 files, or we'll be 13322 likely to pull in the wrong versions of other macros. The top 13323 level directory contains aclocal.m4 and acinclude.m4, so isn't 13324 suitable for this. Also, the xapian-bindings and omega 13325 compilations hadn't been updated with the new xapian.m4 location, 13326 so this fixes the build for them. 13327 13328Wed Jul 09 07:17:38 GMT 2008 Olly Betts <olly@survex.com> 13329 13330 * Makefile.am,configure.ac: Use AC_CONFIG_MACRO_DIR and 13331 ACLOCAL_AMFLAGS as libtoolize 2.2.4 recommends. 13332 13333Wed Jul 09 06:37:21 GMT 2008 Olly Betts <olly@survex.com> 13334 13335 * acinclude.m4: Remove reference to definedir.m4. 13336 13337Wed Jul 09 05:32:24 GMT 2008 Olly Betts <olly@survex.com> 13338 13339 * Makefile.am,m4/dir_contents,m4/xapian.m4,xapian.m4: Move xapian.m4 13340 to the top level rather than devoting a whole directory to a single 13341 file. 13342 13343Wed Jul 09 05:23:02 GMT 2008 Olly Betts <olly@survex.com> 13344 13345 * Makefile.am,autoconf/definedir.m4,configure.ac: AC_DEFINE_DIR() 13346 hasn't been used for years so remove it. 13347 13348Wed Jul 09 02:32:38 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 13349 13350 * api/postingsource.cc,include/xapian/postingsource.h: Add an 13351 alternative constructor for ValueWeightPostingSource which allows 13352 the upper bound on the weights stored to be specified manually. 13353 This is useful for database formats like flint which don't have 13354 an upper bound available. It could conceivably also be useful if 13355 you know that a query will only be accessing a subset of 13356 documents for which you know a more precise upper bound than the 13357 database-wide upper bound. 13358 13359Wed Jul 09 01:59:56 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 13360 13361 * matcher/externalpostlist.cc: Add DEBUGCALL macros to enable 13362 easier debugging. 13363 13364Mon Jul 07 12:40:20 GMT 2008 Olly Betts <olly@survex.com> 13365 13366 * HACKING,NEWS: Update to reflect the autotools now being in the SVN 13367 tree, and the versions we are now bootstrapping with. 13368 * NEWS: Update from ChangeLog. 13369 13370Sun Jul 06 22:59:04 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 13371 13372 * matcher/multimatch.cc,matcher/remotesubmatch.cc, 13373 matcher/remotesubmatch.h: Apply patch from ticker #279 to improve 13374 performance of matches with multiple remote databases. This adds 13375 a special case for the top match being from a remote database, to 13376 avoid accessing the termlist to calculate the percentage scaling 13377 factor. 13378 13379Sun Jul 06 22:55:17 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 13380 13381 * api/omenquire.cc: When calculating percentages, round to the 13382 nearest integer, rather than rounding down. There was a FIXME 13383 about this, but no explanation of why it hadn't already been 13384 done, and I can see no bad side effects so far. The most obvious 13385 positive effect is that queries which should get precisely 100% 13386 will no longer be assigned 99% due to rounding errors. 13387 13388Sun Jul 06 22:48:30 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 13389 13390 * tests/api_anydb.cc: Add new test, topercent2, checking the 13391 percentage values returned by standard searches, both against 13392 known current values for some of the hits, and against a search 13393 with a "local" backend. Also, in rsetmultidb1, test the return 13394 value of mset_range_is_same_weights(). 13395 * tests/api_db.cc: In rsetmultidb2, test the return value of 13396 mset_range_is_same_weights(). 13397 13398Sun Jul 06 22:46:23 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 13399 13400 * tests/harness/testutils.cc,tests/harness/testutils.h: Add 13401 function to test if two mset ranges have the same percentages, 13402 and slightly improve the messages on failure of the mset range 13403 comparison tests. 13404 13405Fri Jul 04 23:31:14 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 13406 13407 * NEWS: Swap two words to make a sentence make sense. 13408 13409Fri Jul 04 11:40:13 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 13410 13411 * matcher/multimatch.cc: Fix calculation of lower bound when 13412 collapsing and match deciders are used. (Only tended to manifest 13413 when the collapsing threw away a lot of documents, and when also 13414 using a custom sort order, but I don't think that was required.) 13415 Also, perform the adjustments due to percentage cutoffs after the 13416 other adjustments, to avoid the lower bound setting for 13417 collapsing overriding the lower bound from the percentage cutoff. 13418 * tests/harness/index_utils.cc: Add a value to value slot 12, which 13419 only has 5 different values, for testing this bug. 13420 * tests/api_db.cc: Add regression test for calculation of the lower 13421 bound. 13422 13423Fri Jul 04 10:24:16 GMT 2008 Olly Betts <olly@survex.com> 13424 13425 * Makefile.am,bin/Makefile.mk,examples/Makefile.mk: Remove 13426 extra_cleandirs as automake 1.10.1 fixes the bug which it was working 13427 around. 13428 13429Fri Jul 04 04:36:59 GMT 2008 Olly Betts <olly@survex.com> 13430 13431 * HACKING: Synchronise tiny change from branches/1.0 which isn't 13432 on trunk for some reason. 13433 13434Fri Jul 04 04:35:19 GMT 2008 Olly Betts <olly@survex.com> 13435 13436 * HACKING: Bootstrap with newer versions of the autotools: 13437 + autoconf 2.61 -> 2.62: faster 13438 + automake 1.10 -> 1.10.1: "make clean" cleans all .libs 13439 directories. 13440 + libtool 1.5.24 -> 2.2.4: many improvements; faster. 13441 13442Thu Jul 03 03:17:42 GMT 2008 Olly Betts <olly@survex.com> 13443 13444 * docs/glossary.rst,docs/intro_ir.html: Improve intro_ir a bit, and 13445 link to the definition of RSet in the glossary. 13446 13447Thu Jul 03 01:30:56 GMT 2008 Olly Betts <olly@survex.com> 13448 13449 * examples/quest.cc: Output get_description() of the parsed query. 13450 13451Sun Jun 29 18:56:06 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 13452 13453 * matcher/multimatch.cc: Rename percent_factor variable, used here 13454 as part of the percent_cutoff mechanism, to make its purpose 13455 clearer, and to avoid confusing it with percent_scale in this 13456 file, and percent_factor used elsewhere in matcher/. 13457 13458Sat Jun 28 21:51:42 GMT 2008 Olly Betts <olly@survex.com> 13459 13460 * docs/doxygen_api_conf.in,docs/doxygen_full_conf.in: Disable 13461 "JAVADOC_AUTOBRIEF" since we always try to write a brief 13462 description explicitly, and it causes problems in some cases. 13463 13464Sat Jun 28 21:32:21 GMT 2008 Olly Betts <olly@survex.com> 13465 13466 * common/: Fix typos in doxygen comments. 13467 13468Sat Jun 28 10:33:06 GMT 2008 Olly Betts <olly@survex.com> 13469 13470 * languages/stem.cc: Add "nl" for selecting the Dutch stemmer, which 13471 was accidentally missing from the list of language codes recognised. 13472 Reported by Joey Hess in Debian bug #484458. 13473 * tests/api_nodb.cc: Extend stemlangs1 to check that all the language 13474 codes work, and so does Stem(""). 13475 13476Fri Jun 27 00:27:31 GMT 2008 Olly Betts <olly@survex.com> 13477 13478 * NEWS: Update from ChangeLog and against 1.0 branch. 13479 13480Thu Jun 26 17:17:41 GMT 2008 Olly Betts <olly@survex.com> 13481 13482 * net/remoteconnection.cc: The "already done" check in do_close() is 13483 no longer useful, so remove it. Shrink the try block to only cover 13484 the call to send_message(). 13485 13486Thu Jun 26 08:19:41 GMT 2008 Olly Betts <olly@survex.com> 13487 13488 * net/remoteconnection.cc: Don't bother to send MSG_SHUTDOWN for a 13489 read-only Database - just closing the connection is enough. 13490 13491Thu Jun 26 04:49:06 GMT 2008 Olly Betts <olly@survex.com> 13492 13493 * backends/chert/chert_btreebase.cc: Don't need <string.h> as well as 13494 <cstring>. 13495 * backends/flint/flint_btreebase.cc,bin/xapian-replicate-server.cc: 13496 Prefer <cXXX> to <XXX.h>. 13497 13498Tue Jun 24 04:31:10 GMT 2008 Olly Betts <olly@survex.com> 13499 13500 * tests/harness/testsuite.cc: Use resize() to truncate a string. 13501 13502Tue Jun 24 04:23:59 GMT 2008 Olly Betts <olly@survex.com> 13503 13504 * net/remoteconnection.cc: Fill in a guess at the __WIN32__ version of 13505 the code needed in RemoteConnection::do_close(). 13506 13507Tue Jun 24 04:06:02 GMT 2008 Olly Betts <olly@survex.com> 13508 13509 * net/progclient.cc: Fix debug logging for __WIN32__. 13510 13511Tue Jun 24 03:11:09 GMT 2008 Olly Betts <olly@survex.com> 13512 13513 * net/remoteserver.cc: Just delete the Database * pointer db. The 13514 Database dtor is virtual, so it's fine to delete a WritableDatabase 13515 via a Database * pointer. 13516 13517Tue Jun 24 01:29:12 GMT 2008 Olly Betts <olly@survex.com> 13518 13519 * backends/remote/remote-database.cc,common/remoteconnection.h, 13520 net/remoteconnection.cc,net/replicatetcpclient.cc: Wait for the 13521 connection to close rather than using a different shutdown message 13522 which requires a reply. Mostly this is more backport-friendly, but 13523 it also avoids a message reply (albeit it not in a performance 13524 sensitive situation). Needs implementing for __WIN32__. 13525 13526Tue Jun 24 01:07:16 GMT 2008 Olly Betts <olly@survex.com> 13527 13528 * net/remoteserver.cc: Unwrap comment. 13529 13530Tue Jun 24 00:52:02 GMT 2008 Olly Betts <olly@survex.com> 13531 13532 * net/remoteserver.cc: Kill a blank line. 13533 13534Tue Jun 24 00:49:50 GMT 2008 Olly Betts <olly@survex.com> 13535 13536 * backends/remote/remote-database.cc,common/remoteconnection.h, 13537 common/remoteprotocol.h,docs/remote_protocol.html, 13538 net/remoteconnection.cc,net/remoteserver.cc, 13539 net/replicatetcpclient.cc: Revert r10713 in preparation for applying 13540 an alternative fix. 13541 13542Mon Jun 23 21:51:42 GMT 2008 Olly Betts <olly@survex.com> 13543 13544 * HACKING: Expand list of keywords for brace cuddling. Add rationale. 13545 13546Mon Jun 23 01:53:03 GMT 2008 Olly Betts <olly@survex.com> 13547 13548 * tests/queryparsertest.cc: Cuddle braces after for loops for 13549 consistency with the rest of the code. Use string::resize() to 13550 shrink a string rather than assigning the result of substr(0, x). 13551 * HACKING: Explicitly document that braces should be cuddled after 13552 control flow structures. 13553 13554Mon Jun 23 01:34:39 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 13555 13556 * tests/perftest/perftest_matchdecider.cc: Reworked performance 13557 test to include a test of an alldocspostingiterator, and to only 13558 rebuild the database involved if it's not up-to-date. 13559 13560Mon Jun 23 01:20:25 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 13561 13562 * common/valuestats.h: Add missing #include. 13563 13564Mon Jun 23 01:10:19 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 13565 13566 * bin/xapian-compact.cc: Add support for the valuestats which are 13567 now held in the value table for chert. 13568 13569Sun Jun 22 23:44:46 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 13570 13571 * backends/chert/: Change ChertAllDocsPostList to inherit from 13572 ChertPostList and use the doclen list from the posting table 13573 rather than using the termlist table. This helps towards making 13574 the termlist table optional, reduces the amount of data read in 13575 the process of iterating through an alldocs postlist, and can 13576 make a massive difference in performance: I've measured the time 13577 to iterate through all the documents in a 1000000 document 13578 database, and the patch speeds this operation up by a factor of 13579 6. 13580 13581 Add `keep_reference` parameter to the ChertPostList constructor, 13582 instead of not keeping a reference if the term is empty. 13583 ChertAllDocsPostList uses this to keep a reference to the 13584 database while using an empty term. 13585 13586 Add ChertAllDocsModifiedPostList class, inspired by 13587 ChertModifiedPostList, (with corresponding new source files) to 13588 handle alldocs postlist with modifications: this wasn't needed 13589 before since the termlist is updated immediately after changes. 13590 13591Sun Jun 22 21:37:00 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 13592 13593 * tests/harness/: Add "name" parameter to 13594 BackendManager::get_writable_database_as_database(), and 13595 BackendManager::get_writable_database_again(), (and subclasses) 13596 so that old databases can be revived. Useful for the performance 13597 tests. 13598 13599Sun Jun 22 09:30:44 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 13600 13601 * tests/api_anydb.cc: Expand tests for alldocspostlist, covering 13602 iteration of modified databases. 13603 13604Fri Jun 20 08:28:12 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 13605 13606 * backends/remote/remote-database.cc,common/remoteconnection.h, 13607 common/remoteprotocol.h,docs/remote_protocol.html, 13608 net/remoteconnection.cc,net/remoteserver.cc, 13609 net/replicatetcpclient.cc: Add new message 13610 "MSG_SHUTDOWNANDCONFIRM" which causes a reply of 13611 "REPLY_SHUTDOWNCONFIRMATION" to be sent after the database has 13612 been closed. Use this message when closing a writable database, 13613 to ensure that the destructor doesn't return until the lock on 13614 the database has been released. 13615 13616Tue Jun 17 14:28:46 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 13617 13618 * tests/perftest/freemem.cc,tests/perftest/perftest.cc: Patches 13619 from Charlie to allow perftest to compile on windows. 13620 13621Tue Jun 17 13:23:18 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 13622 13623 * backends/chert/chert_btreebase.cc,backends/chert/chert_lock.cc, 13624 backends/flint/flint_btreebase.cc,backends/flint/flint_lock.cc, 13625 bin/xapian-replicate-server.cc: Add some missing includes, needed 13626 for GCC 4.3. 13627 13628Tue Jun 17 11:00:56 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 13629 13630 * tests/perftest/get_machine_info.in: Updates to hopefully get 13631 useful version information on windows. 13632 13633Mon Jun 16 12:13:48 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 13634 13635 * tests/harness/testsuite.cc: Don't call backendmanager->posttest() 13636 if no backendmanager is in use. 13637 13638Sun Jun 15 02:19:03 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 13639 13640 * tests/harness/: Wait for subprocesses to finish at end of tests, 13641 with remotetcp backend, to avoid test failures due to final flush 13642 of a subprocess writing to the database used for the next test. 13643 13644Thu Jun 12 09:09:44 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 13645 13646 * common/unaligned.h: Add some casts to make GCC 4.3.0 happy. 13647 13648Thu Jun 12 09:06:21 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 13649 13650 * backends/chert/chert_btreebase.cc: Add missing #include (needed 13651 for compilation with GCC 4.3.0). 13652 13653Tue Jun 10 17:38:07 GMT 2008 Olly Betts <olly@survex.com> 13654 13655 * tests/harness/testrunner.cc: Use startswith(). Fix memory leak. 13656 13657Fri Jun 06 11:02:56 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 13658 13659 * Makefile.am,tests/Makefile.am: Fix make check-* targets to match 13660 the current set of backends. Add .multichert and .multiflint to 13661 the clean-local hook in tests/. Leave .multi there for now, to 13662 clean up existing .multi directories in the automated build trees. 13663 13664Fri Jun 06 08:26:49 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 13665 13666 * common/Makefile.mk: Add valuestats.h to distribution. 13667 13668Thu Jun 05 23:37:37 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 13669 13670 * backends/chert/chert_values.cc: Fix compile error in assertion in 13671 recently added code for calculating value statistics. 13672 13673Thu Jun 05 21:38:01 GMT 2008 Olly Betts <olly@survex.com> 13674 13675 * queryparser/queryparser.lemony: Use std::vector<Term *> rather than 13676 std::list<Term *> so that size() is O(1) with any (sane) compiler 13677 and because a list of pointers isn't space efficient (and we don't 13678 need to splice here). Factor out common code in if branches in 13679 TermGroup::as_group(). 13680 13681Thu Jun 05 17:04:23 GMT 2008 Olly Betts <olly@survex.com> 13682 13683 * queryparser/queryparser.lemony: Use "startswith()" to avoid creating 13684 a new string object. 13685 13686Thu Jun 05 09:09:54 GMT 2008 Olly Betts <olly@survex.com> 13687 13688 * queryparser/queryparser.lemony: Remove variable which is set but 13689 never otherwise used. 13690 13691Thu Jun 05 09:08:22 GMT 2008 Olly Betts <olly@survex.com> 13692 13693 * api/omqueryinternal.cc: Don't call find() twice - reuse the result 13694 we just got. Use AssertEq() rather than Assert() on an equality 13695 test. Clarify a comment. 13696 13697Wed Jun 04 21:32:11 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 13698 13699 * queryparser/queryparser.lemony: Fix more O(N*N) scaling, this 13700 time in the way in which auto multiword synonyms are detected. 13701 Instead of trying all possible sub-sequences of terms for 13702 synonyms, use synonym_keys and the skip_to() method to check for 13703 synonyms which actually exist in the synonyms table. 13704 * tests/queryparsertest.cc: Extend the scaling test to check this 13705 case. 13706 13707Wed Jun 04 12:42:32 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 13708 13709 * queryparser/queryparser.lemony: Fix various cases where queries 13710 were constructed pair-wise within a loop, which leads to O(N*N) 13711 scaling behaviour (because each intermediate query construction 13712 is O(M) where M is the size of that query, and there are N of 13713 them). 13714 * tests/queryparsertest.cc: Add test to check that parsing of a 13715 query scales roughly linearly with query size. 13716 * common/omtime.h: Add method to get an OmTime as a double - used 13717 by the new query parser test. 13718 13719Wed Jun 04 12:18:35 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 13720 13721 * tests/harness/testsuite.h: Fix TEST_LESSER_OR_EQUAL and 13722 TEST_LESSER macros to compare in the right direction (these 13723 macros are, so far, unused). 13724 13725Mon Jun 02 18:19:22 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 13726 13727 * api/postingsource.cc: Make ValueWeightPostingSource use value 13728 statistics, if they're available, to return accurate term 13729 frequency statistics, and a better maxweight. 13730 * tests/api_db.cc: Add valueweightsource2, to test the bounds and 13731 maxweight returned by a ValueWeightPostingSource for backends 13732 with valuestats support. Replace !multi condition in 13733 valueweightsource1 with a SKIP_TEST_FOR_BACKEND invocation, since 13734 this is a shortcoming we should fix at some point. 13735 13736Mon Jun 02 18:16:52 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 13737 13738 * tests/harness/testrunner.cc,tests/harness/testrunner.h: Replace 13739 DO_TESTS_FOR_BACKEND macro with a do_tests_for_backend method; 13740 the method version takes a BackendManager * and gets the backend 13741 name from that, rather than requiring it to be specified. 13742 Requires addition of a couple of extra private members to the 13743 TestRunner class. 13744 13745Mon Jun 02 10:27:45 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 13746 13747 * include/xapian/database.h: Add get_value_freq(), 13748 get_value_lower_bound() and get_value_upper_bound() methods to 13749 Database, to get statistics about the values stored in a slot. 13750 * api/omdatabase.cc,backends/chert/,backends/database.cc, 13751 backends/inmemory/inmemory_database.cc, 13752 backends/inmemory/inmemory_database.h, 13753 backends/remote/remote-database.cc,common/, 13754 net/remoteserver.cc: Add support for the value statistics methods 13755 to chert, inmemory, multi and remote databases. 13756 * tests/Makefile.am,tests/api_valuestats.cc, 13757 tests/harness/testrunner.cc,tests/harness/testrunner.h: Add test 13758 of the value statistics code, and a "valuestats" backend property 13759 to select only backends supporting this. 13760 13761Mon Jun 02 10:26:12 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 13762 13763 * tests/harness/backendmanager.cc,tests/harness/backendmanager.h: 13764 Move implementation of get_dbtype() method out of header. 13765 13766Mon Jun 02 09:44:34 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 13767 13768 * rests/harness/: Make flint and chert subtypes for the remote and 13769 multi backend types. These are specified (on the command line 13770 and elsewhere) by the main type (multi, remotetcp or remoteprog), 13771 followed by an underscore, followed by the subtype (flint or 13772 chert). Change return type of BackendManager::get_dbtype() to a 13773 string instead of a const char *, to allow backend managers which 13774 have subtypes to generate the result dynamically. 13775 * tests/harness/backendmanager_remote.cc, 13776 tests/harness/backendmanager_remote.h, 13777 tests/harness/backendmanager_remoteprog.cc, 13778 tests/harness/backendmanager_remoteprog.h, 13779 tests/harness/backendmanager_remotetcp.cc, 13780 tests/harness/backendmanager_remotetcp.h: Add new 13781 BackendManagerRemote class as a common base for the two remote 13782 backend managers, and move duplicated code into it. Add 13783 parameter to its constructor, and to the constructors of the 13784 remote backend manager subclasses, to control the type of 13785 database to use at the remote end. 13786 * tests/harness/backendmanager_multi.cc, 13787 tests/harness/backendmanager_multi.h: Add parameter to 13788 constructor of BackendManagerMulti, controlling the type of 13789 database to use for sub databases. Put the generated database 13790 files in ".multiflint" and ".multichert" instead of ".multi". 13791 * tests/harness/testrunner.cc: Update list of backend properties to 13792 contain the new subtypes. Modify use_backend() to allow either 13793 the full backend type, or just the main part of the backend type, 13794 to be specified, so that, for example "-b multi" will run both 13795 the multi_chert and multi_flint tests. Add test runs for all the 13796 subtypes now supported. Catch string exceptions thrown by the 13797 test runner - these can currently occur when neither flint or 13798 chert are compiled in. 13799 * tests/apitest.cc,tests/apitest.h: Adjust return type of 13800 get_dbtype(), implement skip_test_*_backend functions which just 13801 check the prefix of the type, and implement SKIP_TEST_*_BACKEND 13802 macros using these. 13803 * tests/api_anydb.cc: Modify check for running on a multi backend 13804 to copy with getting a string back from get_dbtype(). 13805 13806Sat May 31 00:55:03 GMT 2008 Olly Betts <olly@survex.com> 13807 13808 * tests/Makefile.am,tests/perftest/Makefile.mk: Remove unnecessary 13809 quotes. 13810 13811Thu May 29 16:04:56 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 13812 13813 * tests/perftest/: Update svn:ignore property for perftest changes. 13814 13815Thu May 29 14:33:51 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 13816 13817 * tests/perftest/perftest.cc: Include the xapian version string in 13818 the test output. For runs from SVN, also include the subversion 13819 revision number and branch in the output. 13820 13821Wed May 28 21:47:37 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 13822 13823 * matcher/valuegepostlist.cc,matcher/valuerangepostlist.cc, 13824 matcher/valuerangepostlist.h: Apply patch from ticket #270 to 13825 implement ValueRangePostList::next() by using an alldocs posting 13826 list, instead of trying docids in turn. This is much more 13827 efficient if document IDs are sparse. Since both methods require 13828 accessing the termlist table to check for the next document, and 13829 some cursory performance tests don't show a measurable difference 13830 in speed, I think this approach is at least safe, and probably 13831 superior. 13832 13833Wed May 28 21:28:38 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 13834 13835 * tests/perftest/perftest.cc: Log the flush threshold for indexing 13836 runs. 13837 * tests/perftest/perftest_randomidx.cc: Set the run size back to a 13838 reasonably large value. 13839 13840Wed May 28 20:48:10 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 13841 13842 * configure.ac,tests/,tests/perftest/,tests/perftest_matchdecider.cc, 13843 tests/perftest_randomidx.cc: Move performance test source files 13844 into a subdirectory. Modify output of performance tests to 13845 include some basic system information, and also to include 13846 details of the parameters used to perform indexing tests. 13847 13848Wed May 28 20:42:56 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 13849 13850 * HACKING: Fix numbering in checklist for developers so that it 13851 doesn't repeat section 5. 13852 13853Sun May 25 14:21:40 GMT 2008 Olly Betts <olly@survex.com> 13854 13855 * NEWS: Update to match 1.0 branch. 13856 13857Sun May 25 00:24:09 GMT 2008 Olly Betts <olly@survex.com> 13858 13859 * NEWS: Start to update from ChangeLog, stripping out backported 13860 changes. 13861 13862Sat May 24 16:38:49 GMT 2008 Olly Betts <olly@survex.com> 13863 13864 * NEWS,configure.ac: Update to match 1.0 branch. 13865 13866Sat May 24 16:33:19 GMT 2008 Olly Betts <olly@survex.com> 13867 13868 * tests/termgentest.cc: Pass Xapian::Document by const reference. 13869 13870Sat May 24 14:30:59 GMT 2008 Olly Betts <olly@survex.com> 13871 13872 * bin/xapian-compact.cc: Only warn about duplicate user metadata keys 13873 if the tags aren't the same. 13874 13875Sat May 24 12:14:55 GMT 2008 Olly Betts <olly@survex.com> 13876 13877 * bin/Makefile.am: Put special -I options in foo_CPPFLAGS not 13878 foo_CXXFLAGS. As well as being the more correct place, this also 13879 means that AM_CXXFLAGS is now used when compiling xapian-check and 13880 xapian-compact, which in particular enables compiler warnings. 13881 * bin/xapian-check.cc,bin/xapian-compact.cc,bin/xapian-check-flint.cc: 13882 Fix warnings (one unused variable and a few cases of a variable 13883 masking another with the same name - none problematic in practice). 13884 13885Fri May 23 09:22:24 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 13886 13887 * backends/inmemory/inmemory_database.cc: Fix bug in inmemory 13888 database, which resulted in the values not being stored correctly 13889 if document IDs were sparse. 13890 * matcher/valuerangepostlist.cc: Fix the next() method not to 13891 return document IDs which aren't present in the database - this 13892 used to happen if the document IDs were sparse. 13893 * tests/api_anydb.cc: Add "valuerange2", a regression test for 13894 OP_VALUE_LE returning document IDs which aren't present in the 13895 database, and "alldocspl1", which does a generic test of an 13896 alldocs postlist in a sparse database (this passed before the 13897 above changes, but might as well be added anyway). 13898 13899Wed May 21 19:33:12 GMT 2008 Olly Betts <olly@survex.com> 13900 13901 * docs/Makefile.am: test == isn't portable - use test = instead. 13902 13903Wed May 21 13:22:23 GMT 2008 Olly Betts <olly@survex.com> 13904 13905 * HACKING: Fix path for atreus. 13906 13907Wed May 21 13:21:08 GMT 2008 Olly Betts <olly@survex.com> 13908 13909 * HACKING: Fix search&replace error - the CVS module is still called 13910 www.xapian.org. 13911 13912Wed May 21 13:16:39 GMT 2008 Olly Betts <olly@survex.com> 13913 13914 * HACKING: Reword, since environmental variable PATH isn't "set by 13915 $PATH". 13916 13917Wed May 21 13:16:21 GMT 2008 Olly Betts <olly@survex.com> 13918 13919 * HACKING: ixion -> atreus. 13920 13921Wed May 21 13:12:07 GMT 2008 Olly Betts <olly@survex.com> 13922 13923 * include/xapian/database.h: Improve documentation comment. 13924 13925Sun May 18 05:20:29 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 13926 13927 * docs/remote_protocol.html: Remove spurious "i" at end of line. 13928 13929Sat May 17 11:53:54 GMT 2008 Olly Betts <olly@survex.com> 13930 13931 * tests/harness/testutils.h: Layout and macro parameter name tweaks. 13932 13933Fri May 16 20:42:05 GMT 2008 Olly Betts <olly@survex.com> 13934 13935 * bin/xapian-compact.cc: Check that all source databases are the same 13936 type (flint or chert). Copy over "iamchert" for chert. Update 13937 terminology - the "meta file" is now called the "version file". 13938 13939Fri May 16 17:33:22 GMT 2008 Olly Betts <olly@survex.com> 13940 13941 * backends/chert/chert_database.cc,backends/chert/chert_version.cc: 13942 Need <cstdio> for rename(). 13943 13944Fri May 16 17:27:56 GMT 2008 Olly Betts <olly@survex.com> 13945 13946 * backends/chert/chert_database.cc: Correct FIXME comment and mark 13947 as "FIXME:1.2.0". 13948 13949Fri May 16 17:21:59 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 13950 13951 * tests/harness/testrunner.cc,tests/harness/testrunner.h: Add 13952 condition to test if the backend is "inmemory". 13953 * tests/perftest_randomidx.cc: Change the run size from 1000 13954 documents to 1000000. Disable this test for the inmemory 13955 backend, because it will quickly use up all the memory on the 13956 machine. 13957 13958Fri May 16 16:56:25 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 13959 13960 * HACKING: Add note about some more PDF generation tools which are 13961 needed, and that doxygen requires them to be on PATH. 13962 13963Fri May 16 16:38:40 GMT 2008 Olly Betts <olly@survex.com> 13964 13965 * HACKING: Ubuntu now needs tetex-extra too. 13966 13967Fri May 16 10:05:30 GMT 2008 Olly Betts <olly@survex.com> 13968 13969 * bin/xapian-compact.cc: Fix to not reject chert databases during the 13970 "up front" check. 13971 13972Thu May 15 20:20:14 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 13973 13974 * net/progclient.cc: Set namespace for close methods (to avoid 13975 conflicting with the close method I'm working on adding to 13976 database internal). 13977 13978Wed May 14 17:14:53 GMT 2008 Olly Betts <olly@survex.com> 13979 13980 * backends/database.cc: Default to flint not chert for a new database. 13981 13982Wed May 14 17:11:56 GMT 2008 Olly Betts <olly@survex.com> 13983 13984 * api/postingsource.cc,docs/postingsource.rst, 13985 include/xapian/postingsource.h,matcher/externalpostlist.cc: 13986 PostingSource::check() now returns the valid flag rather than 13987 passing it in by reference to be set. Change "should" to "must" 13988 for the get_termfreq_est() requirement at Richard's suggestion. 13989 Add parameter names to PostingSource method prototypes and update 13990 documentation comments to match. 13991 13992Wed May 14 15:34:38 GMT 2008 Olly Betts <olly@survex.com> 13993 13994 * docs/Makefile.am,docs/index.html,docs/postingsource.rst: Add 13995 topic document for PostingSource. 13996 13997Mon May 12 17:27:13 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 13998 13999 * include/xapian/postingsource.h: Add documentation comments for 14000 ValueWeightPostingSource, and tweak 14001 PostingSource::get_maxweight() comment a bit more. 14002 14003Mon May 12 16:51:01 GMT 2008 Olly Betts <olly@survex.com> 14004 14005 * include/xapian/postingsource.h: Clarify get_maxweight() if the 14006 maximum from now on. 14007 14008Mon May 12 06:51:53 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 14009 14010 * api/postingsource.cc,include/xapian/postingsource.h,tests/api_db.cc, 14011 tests/harness/index_utils.cc: Add ValueWeightPostingSource, which 14012 reads a value, applies sortable_unserialise() to it, and returns 14013 that as the weight for each document. 14014 14015Sun May 11 23:49:07 GMT 2008 Olly Betts <olly@survex.com> 14016 14017 * queryparser/lemon.c,queryparser/queryparser.lt: Do a final sync by 14018 comparing our versions to the latest vanilla upstream. Add a note 14019 to each file of the latest revision sync-ed against. 14020 * queryparser/lemon.c: Enable '#define PRIVATE static'. 14021 14022Sun May 11 22:48:27 GMT 2008 Olly Betts <olly@survex.com> 14023 14024 * NEWS: Add a note of the speed-up that the recent QueryParser changes 14025 have given. 14026 14027Sun May 11 22:10:19 GMT 2008 Olly Betts <olly@survex.com> 14028 14029 * queryparser/lemon.c: Merge upstream "Check-in Number: 5053". 14030 14031Sun May 11 22:01:48 GMT 2008 Olly Betts <olly@survex.com> 14032 14033 * queryparser/queryparser.lt: Merge upstream "Check-in Number: 5052". 14034 14035Sun May 11 21:56:03 GMT 2008 Olly Betts <olly@survex.com> 14036 14037 * queryparser/queryparser.lt: Fix a comment typo. 14038 14039Sun May 11 21:52:30 GMT 2008 Olly Betts <olly@survex.com> 14040 14041 * queryparser/lemon.c: Merge upstream "Check-in Number: 4751". 14042 14043Sun May 11 21:51:18 GMT 2008 Olly Betts <olly@survex.com> 14044 14045 * queryparser/queryparser.lt: Merge upstream "Check-in Number: 4745". 14046 14047Sun May 11 21:47:03 GMT 2008 Olly Betts <olly@survex.com> 14048 14049 * queryparser/queryparser.lt: Comment out memset() call added by 14050 one of the earlier merged upstream changes - a later comment on 14051 the ticket referred to notes that this was actually a bug in the 14052 grammar of the people who reported it. 14053 14054Sun May 11 21:44:46 GMT 2008 Olly Betts <olly@survex.com> 14055 14056 * queryparser/queryparser.lt: Merge upstream "Check-in Number: 4743". 14057 14058Sun May 11 21:41:55 GMT 2008 Olly Betts <olly@survex.com> 14059 14060 * queryparser/queryparser.lt: Merge upstream "Check-in Number: 4738". 14061 14062Sun May 11 21:33:13 GMT 2008 Olly Betts <olly@survex.com> 14063 14064 * queryparser/lemon.c,queryparser/queryparser.lt: Merge upstream 14065 "Check-in Number: 4736". 14066 * queryparser/lemon.c: Add %syntax_error directive since lemon has 14067 changed it's error recovery strategy if you don't have one. 14068 14069Sun May 11 20:54:31 GMT 2008 Olly Betts <olly@survex.com> 14070 14071 * queryparser/queryparser.lemony: If we hit a syntax error, don't 14072 bother feeding further tokens to the parser! 14073 14074Sat May 10 21:42:44 GMT 2008 Olly Betts <olly@survex.com> 14075 14076 * queryparser/lemon.c: Merge upstream "Check-in Number: 4641". 14077 14078Sat May 10 21:33:10 GMT 2008 Olly Betts <olly@survex.com> 14079 14080 * queryparser/lemon.c: Merge upstream "Check-in Number: 4473". 14081 14082Sat May 10 21:31:25 GMT 2008 Olly Betts <olly@survex.com> 14083 14084 * queryparser/lemon.c: Merge upstream "Check-in Number: 4439". 14085 14086Sat May 10 21:28:27 GMT 2008 Olly Betts <olly@survex.com> 14087 14088 * queryparser/lemon.c: Merge upstream "Check-in Number: 4274". 14089 14090Sat May 10 21:25:35 GMT 2008 Olly Betts <olly@survex.com> 14091 14092 * queryparser/lemon.c: Merge upstream "Check-in Number: 4190". 14093 14094Sat May 10 21:20:16 GMT 2008 Olly Betts <olly@survex.com> 14095 14096 * queryparser/lemon.c: Merge upstream "Check-in Number: 4160". 14097 14098Sat May 10 21:07:15 GMT 2008 Olly Betts <olly@survex.com> 14099 14100 * queryparser/lemon.c: Merge upstream "Check-in Number: 3753". 14101 14102Sat May 10 21:03:19 GMT 2008 Olly Betts <olly@survex.com> 14103 14104 * queryparser/lemon.c,queryparser/queryparser.lt: Merge upstream 14105 "Check-in Number: 3738". 14106 14107Sat May 10 20:00:09 GMT 2008 Olly Betts <olly@survex.com> 14108 14109 * queryparser/lemon.c: Merge upstream "Check-in Number: 3654". 14110 14111Sat May 10 19:55:32 GMT 2008 Olly Betts <olly@survex.com> 14112 14113 * queryparser/lemon.c: Merge upstream "Check-in Number: 3594". 14114 14115Sat May 10 19:46:05 GMT 2008 Olly Betts <olly@survex.com> 14116 14117 * queryparser/lemon.c: Merge upstream "Check-in Number: 3593". 14118 14119Sat May 10 19:44:15 GMT 2008 Olly Betts <olly@survex.com> 14120 14121 * queryparser/lemon.c: Merge upstream "Check-in Number: 3591". 14122 14123Sat May 10 19:40:12 GMT 2008 Olly Betts <olly@survex.com> 14124 14125 * queryparser/lemon.c: Merge upstream "Check-in Number: 3528". 14126 14127Sat May 10 19:38:36 GMT 2008 Olly Betts <olly@survex.com> 14128 14129 * queryparser/lemon.c: Merge upstream "Check-in Number: 3476". 14130 14131Sat May 10 19:36:06 GMT 2008 Olly Betts <olly@survex.com> 14132 14133 * queryparser/lemon.c: Merge upstream "Check-in Number: 3333". 14134 14135Sat May 10 19:33:33 GMT 2008 Olly Betts <olly@survex.com> 14136 14137 * queryparser/queryparser.lt: Merge upstream "Check-in Number: 3244". 14138 14139Sat May 10 19:29:18 GMT 2008 Olly Betts <olly@survex.com> 14140 14141 * queryparser/lemon.c: Merge upstream "Check-in Number: 3226". 14142 14143Sat May 10 19:19:48 GMT 2008 Olly Betts <olly@survex.com> 14144 14145 * queryparser/queryparser.lt: Merge upstream "Check-in Number: 3224". 14146 14147Sat May 10 19:14:18 GMT 2008 Olly Betts <olly@survex.com> 14148 14149 * queryparser/lemon.c,queryparser/queryparser.lt: Merge upstream 14150 "Check-in Number: 3210". 14151 14152Sat May 10 18:56:50 GMT 2008 Olly Betts <olly@survex.com> 14153 14154 * queryparser/queryparser.lt: Merge upstream "Check-in Number: 3181". 14155 14156Sat May 10 17:05:35 GMT 2008 Olly Betts <olly@survex.com> 14157 14158 * queryparser/lemon.c: Merge upstream "Check-in Number: 3126". 14159 14160Sat May 10 16:51:31 GMT 2008 Olly Betts <olly@survex.com> 14161 14162 * queryparser/lemon.c: Merge upstream "Check-in Number: 2764". 14163 14164Sat May 10 16:40:48 GMT 2008 Olly Betts <olly@survex.com> 14165 14166 * queryparser/lemon.c,queryparser/queryparser.lt: Merge upstream 14167 "Check-in Number: 2761". 14168 14169Sat May 10 16:32:45 GMT 2008 Olly Betts <olly@survex.com> 14170 14171 * queryparser/queryparser.lt: Merge upstream "Check-in Number: 2458". 14172 14173Sat May 10 16:29:55 GMT 2008 Olly Betts <olly@survex.com> 14174 14175 * queryparser/lemon.c: Merge upstream "Check-in Number: 2345". 14176 14177Sat May 10 16:08:28 GMT 2008 Olly Betts <olly@survex.com> 14178 14179 * queryparser/queryparser.lt: Merge upstream "Check-in Number: 2302". 14180 14181Sat May 10 15:50:23 GMT 2008 Olly Betts <olly@survex.com> 14182 14183 * queryparser/lemon.c: Merge upstream "Check-in Number: 2208". 14184 14185Sat May 10 15:03:59 GMT 2008 Olly Betts <olly@survex.com> 14186 14187 * tests/harness/testsuite.cc: Prefer `str.assign(ptr)' to `str = 14188 string(ptr)'. 14189 14190Sat May 10 14:48:38 GMT 2008 Olly Betts <olly@survex.com> 14191 14192 * api/matchspy.cc,api/replication.cc: Prefer `str.assign(ptr, len)' to 14193 `str = string(ptr, len)'. 14194 14195Fri May 09 16:53:19 GMT 2008 Olly Betts <olly@survex.com> 14196 14197 * net/remoteserver.cc: No entries in dispatch[] are NULL, so there's 14198 no point testing for it. 14199 14200Fri May 09 16:51:10 GMT 2008 Olly Betts <olly@survex.com> 14201 14202 * net/remoteconnection.cc: Remove pointless conversion to size_t which 14203 breaks GCC 2.95 build. 14204 14205Fri May 09 16:22:46 GMT 2008 Olly Betts <olly@survex.com> 14206 14207 * api/replication.cc: Needs <cstdio> for rename(). 14208 14209Fri May 09 15:41:08 GMT 2008 Olly Betts <olly@survex.com> 14210 14211 * tests/harness/testutils.cc: No need for an explicit std::endl when 14212 calling TEST_AND_EXPLAIN(). 14213 14214Fri May 09 15:38:22 GMT 2008 Olly Betts <olly@survex.com> 14215 14216 * api/replication.cc: Use '\n' rather than endl in the middle of 14217 writing stuff, since endl forces a flush which just adds useless 14218 overhead. 14219 14220Fri May 09 15:24:42 GMT 2008 Olly Betts <olly@survex.com> 14221 14222 * common/omdebug.h: Fix RETURN macro to work on GCC 2.95 for the case 14223 `RETURN(string())'. 14224 14225Fri May 09 08:33:35 GMT 2008 Olly Betts <olly@survex.com> 14226 14227 * include/xapian/postingsource.h: Add a protected default ctor so that 14228 code subclassing PostingSource actually compiles! 14229 14230Thu May 08 16:41:59 GMT 2008 Olly Betts <olly@survex.com> 14231 14232 * include/xapian/postingsource.h: Add doxygen comments for 14233 Xapian::PostingSource. Add private assignment operator and 14234 copy constructor to prevent copying. 14235 14236Thu May 08 16:40:49 GMT 2008 Olly Betts <olly@survex.com> 14237 14238 * common/postlist.h: Fix one doxygen comment and improve another. 14239 14240Mon May 05 15:22:24 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 14241 14242 * tests/Makefile.am: Clean up .chert in clean-local. 14243 14244Mon May 05 14:52:34 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 14245 14246 * docs/Makefile.am: Adapt the dist-check hook to work with a VPATH 14247 build in non-maintainer mode. 14248 14249Mon May 05 13:18:19 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 14250 14251 * docs/Makefile.am: Fix "make distcheck" by using dist-hook to 14252 install generated files, with the appropriate dependency, instead 14253 of wildcards in EXTRA_DIST which don't give the correct expansion 14254 unless the files happened to be generated already by another 14255 rule. Also, ensure that the documentation is generated before 14256 attempting to install it. 14257 14258Sun May 04 09:30:53 GMT 2008 Olly Betts <olly@survex.com> 14259 14260 * backends/chert/chert_version.cc,backends/flint/flint_version.cc, 14261 common/stringutils.h: Move CONST_STRLEN() into stringutils.h. 14262 * backends/chert/chert_database.cc,backends/flint/flint_database.cc: 14263 Use CONST_STRLEN(). 14264 14265Sat May 03 18:56:34 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 14266 14267 * api/omenquire.cc: Reset the internal sorter pointer to NULL when 14268 changing to a sort by value. Fixes #256. 14269 * tests/api_sorting.cc: Add regression test. 14270 14271Sat May 03 18:52:27 GMT 2008 Olly Betts <olly@survex.com> 14272 14273 * include/xapian/unicode.h: Mark internal functions as @internal. 14274 14275Sat May 03 18:43:12 GMT 2008 Olly Betts <olly@survex.com> 14276 14277 * docs/doxygen_api_conf.in: Disable header and directory relationship 14278 graphs in the API documentation as they aren't interesting to users. 14279 14280Sat May 03 18:12:30 GMT 2008 Olly Betts <olly@survex.com> 14281 14282 * docs/gen_codestructure_doc.in: Link to trac instead of viewvc. 14283 14284Sat May 03 17:25:02 GMT 2008 Olly Betts <olly@survex.com> 14285 14286 * docs/replication_protocol.rst: Fix a few typos. 14287 14288Sat May 03 15:53:24 GMT 2008 Olly Betts <olly@survex.com> 14289 14290 * backends/chert/chert_database.cc,backends/flint/flint_database.cc: 14291 If Database::reopen() is called and the database revision on disk 14292 hasn't changed, then do as little work as possible. Even if it 14293 has changed, don't bother to recheck the version file (bug#261). 14294 14295Sat May 03 10:28:30 GMT 2008 Olly Betts <olly@survex.com> 14296 14297 * configure.ac: Improve code to prevent probing for f77, etc. 14298 14299Sat May 03 10:17:05 GMT 2008 Olly Betts <olly@survex.com> 14300 14301 * matcher/rset.cc: Missing change from last commit. 14302 14303Sat May 03 09:25:29 GMT 2008 Olly Betts <olly@survex.com> 14304 14305 * api/omenquire.cc,common/,expand/Makefile.mk,expand/esetinternal.cc, 14306 expand/expand.cc: Rewrite class ESet::Internal, incorporating the 14307 functionality which used to be in the internal OmExpand class. The 14308 expand operation now uses a min heap rather than calling 14309 nth_element() repeatedly - this should reduce the complexity of the 14310 expand operation by a factor of n/log(n) where n is the requested 14311 ESet size. 14312 14313Fri May 02 15:51:29 GMT 2008 Olly Betts <olly@survex.com> 14314 14315 * common/ortermlist.h,expand/ortermlist.cc: Kill FreqAdderOrTermList's 14316 explicit empty dtor. 14317 14318Thu May 01 16:38:40 GMT 2008 Olly Betts <olly@survex.com> 14319 14320 * api/omqueryinternal.cc,api/replication.cc,backends/chert/, 14321 backends/flint/,backends/inmemory/inmemory_positionlist.cc, 14322 common/utils.cc,matcher/stats.cc,tests/perftest_matchdecider.cc, 14323 tests/perftest_randomidx.cc: Assorted formatting tweaks. 14324 14325Thu May 01 16:32:58 GMT 2008 Olly Betts <olly@survex.com> 14326 14327 * common/unaligned.h: Fix ";;" to ";" after AssertRel calls. 14328 14329Thu May 01 16:12:05 GMT 2008 Olly Betts <olly@survex.com> 14330 14331 * docs/doxygen_api_conf.in,docs/doxygen_full_conf.in: Tell doxygen to 14332 expand XAPIAN_VISIBILITY_DEFAULT so it doesn't appear in collated 14333 API documentation. 14334 14335Wed Apr 30 10:57:53 GMT 2008 Olly Betts <olly@survex.com> 14336 14337 * HACKING: Update bugzilla references and URLs to reflect the move 14338 to trac. Update the "fixing a bug" checklist to mention backporting 14339 and updating the release notes. 14340 14341Wed Apr 30 10:40:30 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 14342 14343 * backends/remote/remote-database.cc: Fix error message displayed 14344 when remote protocol version doesn't match to display the minor 14345 part of the version number supplied by the server correctly. 14346 14347Tue Apr 29 17:37:10 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 14348 14349 * AUTHORS: Add Alexandre Gauthier, for supplying a method for doing 14350 python packaging for Windows. 14351 14352Tue Apr 29 16:20:47 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 14353 14354 * common/fileutils.cc: Fix variable name for windows compilation. 14355 14356Tue Apr 29 06:50:53 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 14357 14358 * backends/chert/chert_table.cc,backends/flint/flint_table.cc: 14359 Remove some debugging code, left over from writing the 14360 replication code. 14361 14362Mon Apr 28 12:11:38 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 14363 14364 * backends/chert/chert_btreebase.cc,backends/chert/chert_table.cc, 14365 backends/flint/flint_btreebase.cc,backends/flint/flint_table.cc: 14366 Fix issue #259 - update the last_block value whenever allocating 14367 a new value, so that next_for_sequential doesn't give up too 14368 early. Also, in both next_for_sequential and 14369 prev_for_sequential, for writable databases, check the built-in 14370 cursor at all levels for the new block rather than just reading 14371 from disk, since newly allocated blocks won't have been written 14372 to disk yet. Also, test the return type of next() when reading 14373 subsequent parts of tags, and raise DatabaseCorruptError if it 14374 returns false; this prevents incorrect data being returned, 14375 leading to a zlib error. 14376 * tests/api_wrdb.cc: Add regression test. 14377 14378Fri Apr 25 08:39:28 GMT 2008 Olly Betts <olly@survex.com> 14379 14380 * api/postingsource.cc: Missed change from last but one commit. 14381 14382Thu Apr 24 13:44:48 GMT 2008 Olly Betts <olly@survex.com> 14383 14384 * matcher/queryoptimiser.cc: Reserve size of postlists vector. 14385 14386Thu Apr 24 13:38:51 GMT 2008 Olly Betts <olly@survex.com> 14387 14388 * include/xapian/postingsource.h,matcher/externalpostlist.cc, 14389 matcher/externalpostlist.h,tests/api_db.cc: Add a default 14390 PostingSource::get_description() method so users who don't care 14391 aren't forced to define one. Make PostingSource::reset() a standard 14392 method and call it automatically so that a PostingSource-using 14393 Query can be run more than once without extra work. 14394 14395Thu Apr 24 11:24:30 GMT 2008 Olly Betts <olly@survex.com> 14396 14397 * matcher/queryoptimiser.cc: Don't need <queue>. 14398 14399Thu Apr 24 04:50:43 GMT 2008 Olly Betts <olly@survex.com> 14400 14401 * tests/api_db.cc: Add test that boolean branches of matches don't 14402 cause Xapian::PostingSource to be asked for weights. 14403 14404Thu Apr 24 03:27:39 GMT 2008 Olly Betts <olly@survex.com> 14405 14406 * matcher/externalpostlist.cc,matcher/externalpostlist.h, 14407 matcher/queryoptimiser.cc: ExternalPostList now takes the 14408 factor into account, so works with OP_SCALE_WEIGHT, and 14409 doesn't call get_weight()/get_maxweight() for a boolean 14410 branch. 14411 * tests/api_db.cc: Add tests for OP_SCALE_WEIGHT. 14412 14413Thu Apr 24 02:16:08 GMT 2008 Olly Betts <olly@survex.com> 14414 14415 * xapian-config.in: Back out --swigheaders. 14416 14417Wed Apr 23 11:37:45 GMT 2008 Olly Betts <olly@survex.com> 14418 14419 * matcher/externalpostlist.h: Need to initialise current. 14420 14421Wed Apr 23 07:57:35 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 14422 14423 * tests/termgentest.cc: Put the inclusion of "utils.h" back; needed 14424 for om_tostring(). 14425 14426Wed Apr 23 04:20:55 GMT 2008 Olly Betts <olly@survex.com> 14427 14428 * include/xapian/replication.h: Eliminate reference to FlintDatabase 14429 from doc comment since it's not user-visible, and chert supports 14430 replication too. No need for '#include <xapian/database.h>' so 14431 remove. Remove references to non-existent parameter 'remotename'. 14432 'DatabaseCorrupt error' -> 'DatabaseCorruptError'. 14433 14434Wed Apr 23 04:19:53 GMT 2008 Olly Betts <olly@survex.com> 14435 14436 * include/xapian/query.h: Wrap Xapian::Query::Internal class 14437 definition in "#ifndef SWIG" ... "#endif" in preparation for getting 14438 SWIG to directly parse it. 14439 14440Wed Apr 23 02:16:53 GMT 2008 Olly Betts <olly@survex.com> 14441 14442 * api/omquery.cc: Prefer string() to "". 14443 14444Wed Apr 23 02:16:10 GMT 2008 Olly Betts <olly@survex.com> 14445 14446 * include/xapian/query.h: Fix doc comment typo (doesn't affect API 14447 docs). 14448 14449Wed Apr 23 00:59:40 GMT 2008 Olly Betts <olly@survex.com> 14450 14451 * api/postingsource.cc: Another missing file. 14452 14453Wed Apr 23 00:34:34 GMT 2008 Olly Betts <olly@survex.com> 14454 14455 * include/xapian/postingsource.h: New file missing from previous 14456 commit. 14457 14458Wed Apr 23 00:30:34 GMT 2008 Olly Betts <olly@survex.com> 14459 14460 * api/Makefile.mk,api/omquery.cc,api/omqueryinternal.cc, 14461 include/Makefile.mk,include/xapian.h,include/xapian/query.h,matcher/, 14462 tests/api_db.cc: Add support for Xapian::PostingSource. 14463 14464Wed Apr 23 00:21:25 GMT 2008 Olly Betts <olly@survex.com> 14465 14466 * include/xapian.h: Fix misplaced comment. Tweak doxygen comments for 14467 version functions to be more consistent with others. 14468 14469Wed Apr 23 00:16:14 GMT 2008 Olly Betts <olly@survex.com> 14470 14471 * matcher/queryoptimiser.cc: Remove bogus comment from cut-and-paste. 14472 14473Wed Apr 23 00:14:30 GMT 2008 Olly Betts <olly@survex.com> 14474 14475 * common/omassert.h: Add AssertEqDoubleParanoid(). 14476 * matcher/multimatch.cc: Use it instead of home-brewed version. 14477 14478Tue Apr 22 23:30:50 GMT 2008 Olly Betts <olly@survex.com> 14479 14480 * common/utils.h: Stop exporting internal functions needlessly. 14481 14482Tue Apr 22 12:53:55 GMT 2008 Olly Betts <olly@survex.com> 14483 14484 * bin/xapian-compact.cc: Fix to work again (broken by the splitting of 14485 FlintTable::commit() into flush_db() and commit() in the replication 14486 changes). Don't bother passing tablename to functions where it 14487 always has the same value. Tweak the user-metadata copying loop to 14488 make it clearer. Reserve the right size for the vector used for 14489 merging spellings. 14490 14491Tue Apr 22 12:28:17 GMT 2008 Olly Betts <olly@survex.com> 14492 14493 * backends/chert/chert_table.h,backends/flint/flint_table.h, 14494 bin/xapian-compact.cc: Default commit's changes_fd parameter to -1. 14495 14496Tue Apr 22 11:39:10 GMT 2008 Olly Betts <olly@survex.com> 14497 14498 * common/omassert.h: Fix comment typo. 14499 14500Tue Apr 22 10:54:35 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 14501 14502 * tests/queryparsertest.cc: Add "utils.h" back - needed for 14503 om_tostring() and mkdir(). 14504 14505Mon Apr 21 07:48:45 GMT 2008 Olly Betts <olly@survex.com> 14506 14507 * tests/api_db.cc: Don't need <list>. Wrap comment. 14508 14509Mon Apr 21 07:04:12 GMT 2008 Olly Betts <olly@survex.com> 14510 14511 * api/omqueryinternal.cc,backends/chert/chert_check.cc, 14512 backends/flint/flint_check.cc,tests/: Remove various needless 14513 inclusions of headers (especially <iostream>). Reorder headers. 14514 Wrap a couple of comments. Append single characters to strings 14515 using character constants. 14516 14517Mon Apr 21 06:26:49 GMT 2008 Olly Betts <olly@survex.com> 14518 14519 * api/Makefile.mk,api/valuerangeproccompat.cc, 14520 include/xapian/queryparser.h: Remove the 14521 v102::NumberValueRangeProcessor ABI-preserving machinery since it's 14522 OK to change the ABI for 1.1.0. 14523 14524Mon Apr 21 04:42:52 GMT 2008 Olly Betts <olly@survex.com> 14525 14526 * api/,queryparser/queryparser.cc: Remove debug log tracing from 14527 get_description() methods since the debug log call tracing *calls* 14528 get_description() methods on parameters, so logging these calls just 14529 makes for more confusing debug logs. A get_description() method 14530 should have no side-effects so it's not very interesting even when 14531 explicitly called by the user. 14532 * common/omdebug.h: Replace "OM_DEBUG_INTRO" class with dummy 14533 placeholder (to preserve numbering), to help prevent accidentally 14534 adding these back. 14535 14536Sun Apr 20 09:46:11 GMT 2008 Olly Betts <olly@survex.com> 14537 14538 * api/omqueryinternal.cc,common/: Stop describing get_description() as 14539 an "Introspection method" internal (matching earlier change to stop 14540 doing so externally). This doesn't help to explain what it does, 14541 and get_description() doesn't actually fall under any of the formal 14542 definitions of "introspection" I can find. 14543 14544Fri Apr 18 10:26:18 GMT 2008 Olly Betts <olly@survex.com> 14545 14546 * backends/chert/chert_metadata.cc: Fix renamed parameter in debug 14547 logging. 14548 14549Fri Apr 18 10:18:35 GMT 2008 Olly Betts <olly@survex.com> 14550 14551 * HACKING,INSTALL,Makefile.am,backends/Makefile.mk,backends/chert/, 14552 backends/database.cc,backends/flint/,backends/remote/net_postlist.cc, 14553 backends/remote/net_postlist.h,bin/,common/,configure.ac,docs/, 14554 include/xapian/dbfactory.h,include/xapian/version_h.cc, 14555 net/remoteserver.cc,tests/Makefile.am,tests/harness/: Start new 14556 development backend "chert". Currently the change over flint is 14557 that in the postlist table, doclengths are stored once in a 14558 chunked postlist-like form, rather than once per posting. 14559 14560Tue Apr 15 23:24:39 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 14561 14562 * api/omenquire.cc,tests/api_nodb.cc: Fix segfault introduced by 14563 previous change when asking for the termfreq on an empty mset. 14564 Include a regression test. 14565 14566Tue Apr 15 06:02:12 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 14567 14568 * include/xapian/enquire.h: Change definition of MSet::get_termfreq 14569 such that it will fall back to looking the term frequency up in 14570 the database rather than raising an exception if the term is not 14571 present in the mset. 14572 * api/omenquire.cc,common/omenquireinternal.h: Implementation of 14573 the above. 14574 * tests/api_anydb.cc: Test the above. 14575 14576Mon Apr 14 21:29:59 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 14577 14578 * tests/: Use copies of freemem.cc and freemem.h from omega to report 14579 the free physical memory at each stage of indexing. Also, add a 14580 get_total_physical_memory() function to this, and report it's 14581 value at the top of the results file (only tested on Linux so 14582 far). 14583 14584Mon Apr 14 19:17:22 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 14585 14586 * tests/api_wrdb.cc: Make skip_to() test a bit more comprehensive. 14587 14588Mon Apr 14 19:08:49 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 14589 14590 * backends/flint/flint_metadata.cc,backends/flint/flint_metadata.h: 14591 Fix a bug in the skip_to() implementation, and set the parameter 14592 name to "key" instead of "tname", since it's not a term. 14593 * tests/api_wrdb.cc: Add a test of the metadata iterators. 14594 14595Mon Apr 14 14:22:16 GMT 2008 Olly Betts <olly@survex.com> 14596 14597 * backends/Makefile.mk,backends/flint/Makefile.mk, 14598 backends/flint/contiguousalldocspostlist.cc, 14599 backends/flint/contiguousalldocspostlist.h,common/Makefile.mk: 14600 The ContiguousAllDocsPostList class isn't flint-specific, so move 14601 it out of backends/flint. 14602 14603Mon Apr 14 13:56:51 GMT 2008 Olly Betts <olly@survex.com> 14604 14605 * backends/flint/flint_database.cc: Removed duplicate 14606 '#include "flint_database.h"', ironically added by Richard's recent 14607 change. Fix a couple of errors in alphabetical ordering, and 14608 move autoptr.h and the "safe" headers to where the standard headers 14609 they replace would go. 14610 14611Mon Apr 14 13:44:37 GMT 2008 Olly Betts <olly@survex.com> 14612 14613 * Makefile.am,tests/Makefile.am: List check-perf in .PHONY. 14614 * HACKING: Document the need to list non-file targets in .PHONY. 14615 14616Mon Apr 14 07:59:56 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 14617 14618 * api/omdatabase.cc: Correct return type in a DEBUGAPICALL macro. 14619 14620Mon Apr 14 07:14:01 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 14621 14622 * api/omdatabase.cc,backends/database.cc,backends/flint/, 14623 common/database.h,include/xapian/database.h: Add 14624 metadata_keys_begin() and metadata_keys_end() methods to 14625 Database, to allow the complete list of metadata in a database to 14626 be retrieved. Supports a prefix argument to obtain a limited 14627 subset of the keys, since that may be useful in some situations 14628 and is very easy to implement. Only accesses the keys in the 14629 first database in a multidatabase situation (which corresponds 14630 with the current behaviour of get_metadata()). 14631 Also, reorder the includes in flint_database.cc to be largely 14632 alphabetical, and remove a duplicated #include of 14633 <xapian/error.h>. 14634 14635Mon Apr 14 06:51:48 GMT 2008 Olly Betts <olly@survex.com> 14636 14637 * common/fileutils.cc: Use endswith(). 14638 14639Mon Apr 14 06:14:44 GMT 2008 Olly Betts <olly@survex.com> 14640 14641 * api/replication.cc,backends/database.cc, 14642 backends/flint/flint_database.cc,common/fileutils.cc, 14643 tests/queryparsertest.cc: Use empty() rather than comparing size() 14644 to 0. Use startswith() in a couple of places. Tweak an Assert 14645 to AssertEq. 14646 14647Sun Apr 13 14:30:55 GMT 2008 Olly Betts <olly@survex.com> 14648 14649 * api/omdatabase.cc: Replace uses of DEBUGLINE(SPELLING, ...) in 14650 Database::get_spelling_suggestion() with standard 14651 DEBUGAPICALL/RETURN tracing. Add DEBUGAPICALL/RETURN tracing to 14652 a few Database methods which were missing it. 14653 14654Sun Apr 13 14:15:00 GMT 2008 Olly Betts <olly@survex.com> 14655 14656 * backends/flint/flint_cursor.cc: Use RETURN() in a few places which 14657 weren't. 14658 14659Sun Apr 13 13:59:57 GMT 2008 Olly Betts <olly@survex.com> 14660 14661 * backends/inmemory/inmemory_database.cc: Remove long-time commented 14662 out uses of DebugMsg. 14663 14664Sun Apr 13 13:52:32 GMT 2008 Olly Betts <olly@survex.com> 14665 14666 * expand/expandweight.cc: Use DEBUGLINE() instead of DEBUGMSG(). 14667 14668Sun Apr 13 11:23:56 GMT 2008 Olly Betts <olly@survex.com> 14669 14670 * backends/flint/flint_database.cc: Include corresponding header right 14671 after config.h. 14672 14673Sun Apr 13 10:28:27 GMT 2008 Olly Betts <olly@survex.com> 14674 14675 * backends/flint/flint_database.cc: Tweak brace formatting and wrap a 14676 comment. 14677 14678Fri Apr 11 16:18:14 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 14679 14680 * common/fileutils.cc: Fix typo in windows specific code. 14681 14682Fri Apr 11 12:44:25 GMT 2008 Olly Betts <olly@survex.com> 14683 14684 * backends/flint/flint_cursor.cc: Include corresponding header right 14685 after config.h. 14686 14687Fri Apr 11 10:25:03 GMT 2008 Olly Betts <olly@survex.com> 14688 14689 * backends/flint/flint_cursor.h: Fix filename in header comment. 14690 14691Fri Apr 11 04:49:03 GMT 2008 Olly Betts <olly@survex.com> 14692 14693 * configure.ac,tests/submitperftest.in,tests/submitperftest.py.in: 14694 Rename submitperftest.py to submitperftest. 14695 * HACKING: Document that scripts shouldn't generally have an 14696 extension, and the reason for this policy. 14697 14698Fri Apr 11 04:32:15 2008 Olly Betts <olly@survex.com> 14699 14700 * HACKING: Note that GCC 4.3 no longer supports pre-ISO forms of 14701 standard headers, such as <list.h>. GCC on Solaris now seems 14702 to support throwing exceptions across shared library boundaries. 14703 14704Fri Apr 11 03:24:47 GMT 2008 Olly Betts <olly@survex.com> 14705 14706 * tests/Makefile.am: "make up" in tests now does "make" in the 14707 top-level. 14708 14709Thu Apr 10 08:33:06 GMT 2008 Olly Betts <olly@survex.com> 14710 14711 * backends/flint/flint_postlist.cc: Fix debug logging message: ostList 14712 -> FlintPostList. 14713 14714Thu Apr 10 05:47:37 GMT 2008 Olly Betts <olly@survex.com> 14715 14716 * net/remoteconnection.cc: Remove erroneous FIXME comments talking 14717 about ReadFile() not updating WSAOVERLAPPED's Offset/OffsetHigh 14718 being a problem with using _get_osfhandle() - ReadFile is documented 14719 to behave this way on MSDN. Factor out update of Offset/OffsetHigh 14720 and tweak this code not to rely on off_t being 64 bits. 14721 14722Thu Apr 10 05:24:11 GMT 2008 Olly Betts <olly@survex.com> 14723 14724 * backends/flint/flint_record.cc,backends/flint/flint_utils.h: Use 14725 the new STATIC_ASSERT family of macros instead of CASSERT and 14726 CASSERT_TYPE_UNSIGNED. 14727 14728Thu Apr 10 04:46:40 GMT 2008 Olly Betts <olly@survex.com> 14729 14730 * common/omassert.h: Add "compile-time assertion" macros: 14731 STATIC_ASSERT(COND), STATIC_ASSERT_UNSIGNED_TYPE(TYPE), 14732 STATIC_ASSERT_TYPE_DOMINATES(TYPE1, TYPE2). 14733 * tests/internaltest.cc: Test these. 14734 14735Thu Apr 10 01:07:34 GMT 2008 Olly Betts <olly@survex.com> 14736 14737 * common/remoteprotocol.h,net/remoteserver.cc: Clean up a couple more 14738 things now we've moved to major protocol version 31. 14739 14740Wed Apr 09 06:50:44 GMT 2008 Olly Betts <olly@survex.com> 14741 14742 * backends/remote/remote-database.cc: Add missing explicit include of 14743 remote-database.h. 14744 14745Wed Apr 09 04:48:54 GMT 2008 Olly Betts <olly@survex.com> 14746 14747 * bin/xapian-check.cc,bin/xapian-compact.cc: Fix check for user 14748 metadata key to not match other key types we may add in the future. 14749 When compacting, we can't assume how we should handle them. When 14750 checking, they currently shouldn't be present, so we should flag 14751 an error for them. 14752 14753Tue Apr 08 15:27:09 GMT 2008 Olly Betts <olly@survex.com> 14754 14755 * NEWS: Fix missing line in old entry. 14756 14757Mon Apr 07 07:49:56 GMT 2008 Olly Betts <olly@survex.com> 14758 14759 * backends/flint/flint_btreeutil.h: Use AssertRel rather than Assert. 14760 14761Mon Apr 07 06:20:42 GMT 2008 Olly Betts <olly@survex.com> 14762 14763 * api/error.cc,api/valuerangeproc.cc,backends/flint/flint_table.cc, 14764 backends/multi/multi_postlist.cc,backends/remote/net_termlist.cc, 14765 bin/xapian-inspect.cc,common/omdebug.cc,common/utils.cc, 14766 languages/stem.cc,languages/steminternal.cc, 14767 tests/harness/backendmanager_multi.cc, 14768 tests/harness/backendmanager_remotetcp.cc: Header inclusions tidying 14769 - remove a few redundant inclusions; prefer cstdio to stdio.h, etc 14770 in a few places; note why certain headers are required in cases 14771 where it's less obvious; in a .cc file, include the corresponding .h 14772 second (after <config.h>). 14773 14774Mon Apr 07 04:23:30 GMT 2008 Olly Betts <olly@survex.com> 14775 14776 * configure.ac: Fix --enable-log=profile to be recognised. 14777 * common/omdebug.cc,common/omdebug.h: Fix build with 14778 --enable-log=profile. 14779 * HACKING: Actually document --enable-log=profile. 14780 14781Sat Apr 05 21:07:38 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 14782 14783 * tests/perftest.cc: Flush after each write, so we can monitor 14784 progress of long running tests (we might need to remove this 14785 again later, if profiling shows it has a noticeable impact). Fix 14786 two calls to write() to be a single call. 14787 * tests/perftest_randomidx.cc: Add values to different slots; I'd 14788 added them all to slot 0 by mistake, so they were overwriting 14789 each other. 14790 14791Sat Apr 05 20:17:43 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 14792 14793 * tests/Makefile.am,tests/perftest_randomidx.cc: Add a new 14794 performance test which builds a randomly generated index, and 14795 times the index run. Probably wants a bit more tweaking to make 14796 it slightly more representative, but should be a useful test to 14797 run on systems where downloading a large amount of data is 14798 impractical. 14799 * ChangeLog: Add missing log message for last commit. 14800 14801Sat Apr 05 20:16:58 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 14802 14803 * tests/perftest.cc,tests/perftest.h: Log indexing runs every 5 14804 seconds, as well as after every 1000 documents - gives useful 14805 information for slow index runs. 14806 14807Thu Apr 03 20:58:31 GMT 2008 Olly Betts <olly@survex.com> 14808 14809 * backends/database.cc,include/xapian/dbfactory.h, 14810 include/xapian/version_h.cc: Remove lingering traces of quartz. 14811 14812Thu Apr 03 07:59:53 GMT 2008 Olly Betts <olly@survex.com> 14813 14814 * bin/xapian-inspect.cc: Print top-bit-set characters as escaped 14815 hex forms as they often won't be valid UTF-8 sequences. 14816 14817Thu Apr 03 03:53:37 GMT 2008 Olly Betts <olly@survex.com> 14818 14819 * bin/xapian-inspect.cc: Check for the user passing a database 14820 directory and issue a special error message since this is an obvious 14821 mistake to make. 14822 14823Wed Apr 02 07:00:36 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 14824 14825 * matcher/multimatch.cc: Modify the estimate for the number of hits 14826 based on the rate at which a match decider has been denying 14827 documents. Also, reduce the upper bound based on the number of 14828 documents denied. 14829 * tests/api_db.cc: Check that the upper bound when a match decider 14830 is used is within the valid range, rather than a particular 14831 value. 14832 14833Tue Apr 01 22:40:19 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 14834 14835 * configure.ac,tests/perftest.cc,tests/submitperftest.py.in, 14836 tests/urllib2_file.py: Fix display of upper bound on number of 14837 results of search (was showing lower bound). Fix display of 14838 closing <repetition> tags. Add script to submit the results of a 14839 performance test to a central server. 14840 14841Tue Apr 01 11:19:58 GMT 2008 Olly Betts <olly@survex.com> 14842 14843 * backends/flint/flint_table.cc,backends/flint/flint_table.h: 14844 Gently rearrange where and how we check for overlong keys. 14845 * tests/api_wrdb.cc: Extend termtoolong1 to test that the "term too 14846 long" exception messages contain the length correctly. 14847 14848Tue Apr 01 06:06:43 GMT 2008 Olly Betts <olly@survex.com> 14849 14850 * AUTHORS,HACKING,INSTALL,README,debian/control.in,debian/copyright, 14851 docs/install.html,xapian-core.spec.in: Standardise URLs on our 14852 website to be xapian.org not www.xapian.org. 14853 14854Tue Apr 01 03:44:32 GMT 2008 Olly Betts <olly@survex.com> 14855 14856 * backends/flint/flint_record.cc,backends/flint/flint_values.cc, 14857 common/,docs/quickstartexpand.cc.html,docs/quickstartindex.cc.html, 14858 docs/quickstartsearch.cc.html,matcher/: Update the FSF address for 14859 the small number of files which still have the old one. Remove the 14860 "START_LICENCE" and "END_LICENCE" markers from the small number of 14861 files which still have them. 14862 14863Tue Apr 01 02:23:27 GMT 2008 Olly Betts <olly@survex.com> 14864 14865 * backends/remote/remote-database.cc,common/remoteprotocol.h, 14866 common/remoteserver.h,common/serialise.h,docs/remote_protocol.html, 14867 net/remoteserver.cc,net/serialise.cc: Update remote protocol to 14868 a new major version (31) and strip out all the gunk that's only 14869 there to keep it compatible with older version 30 clients. 14870 14871Tue Apr 01 00:12:38 GMT 2008 Olly Betts <olly@survex.com> 14872 14873 * api/ompostlistiterator.cc,include/xapian/postingiterator.h: Remove 14874 the method Xapian::PostingIterator::get_weight() which has been 14875 commented out almost forever. Weight-handling isn't really 14876 appropriate here. 14877 * api/ompostlistiterator.cc: Remove "\todo" since it's already done! 14878 14879Mon Mar 31 13:24:11 GMT 2008 Olly Betts <olly@survex.com> 14880 14881 * backends/flint/: Remove unnecessary default dtors. 14882 14883Mon Mar 31 13:21:55 GMT 2008 Olly Betts <olly@survex.com> 14884 14885 * HACKING: Document to prefer "new SomeClass" to "new SomeClass()". 14886 * api/omdocument.cc,api/omenquire.cc,backends/database.cc, 14887 backends/flint/flint_database.cc, 14888 backends/inmemory/inmemory_database.cc,matcher/multimatch.cc, 14889 matcher/queryoptimiser.cc,net/remoteserver.cc: Fix instances of 14890 the latter form to use the former form. 14891 14892Mon Mar 31 12:11:09 GMT 2008 Olly Betts <olly@survex.com> 14893 14894 * tests/: Update svn:ignore property for perftest changes and remove 14895 quartz-related entries. 14896 * tests/perftest.cc: Add missing '#include "utils.h"'. 14897 14898Mon Mar 31 09:22:35 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 14899 14900 * Makefile.am,tests/,tests/harness/,tests/perftest.cc,tests/perftest.h, 14901 tests/perftest_matchdecider.cc: Rework the test collation 14902 mechanism slightly to allow it to be used by other testsuites: 14903 rename collate-apitest to collate-test, and add a parameter to it 14904 naming the output file. Add new "testrunner.h" and 14905 "testrunner.cc" which are an equivalent to the old mechanism in 14906 apitest for running tests with various properties; the properties 14907 for each backend are now held as member variables of a TestRunner 14908 class, and testsuites (eg, apitest) subclass this and implement a 14909 "run()" method, which will be called for each backend with the 14910 appropriate properties set. Move definition of DEFINE_TESTCASE 14911 macro into testsuite.h. Add new testsuite "perftest", which is 14912 intended to contain potentially time consuming performance tests, 14913 logging the results to an XML file for later analysis. Add a 14914 simple test of the ValueSetMatchDeciders to this testsuite. 14915 "perftest" isn't run by make check, because it is likely to take 14916 some hours to complete in future - instead, there's a new 14917 top-level target "check-perf" which builds and runs perftest. 14918 14919Mon Mar 31 08:13:21 GMT 2008 Olly Betts <olly@survex.com> 14920 14921 * HACKING: Recommend using the "svn-ci" script. Update the date 14922 command which produces the correct format timestamp for ChangeLog 14923 entries. 14924 14925Mon Mar 31 08:00:58 GMT 2008 Olly Betts <olly@survex.com> 14926 14927 * backends/flint/flint_btreeutil.h: Fix some out-of-date comments. 14928 * configure.ac: Use AC_CHECK_SIZEOF to define SIZEOF_INT and 14929 SIZEOF_LONG. 14930 * backends/flint/flint_types.h: Use SIZEOF_INT and SIZEOF_LONG to 14931 determine the type of uint4 rather than always using unsigned long 14932 (which is 64 bits on most 64 bit Unix platforms). Drop int4 for 14933 the time being, as we don't actually use it. 14934 14935Mon Mar 31 06:34:20 GMT 2008 Olly Betts <olly@survex.com> 14936 14937 * backends/flint/flint_positionlist.cc: Refactor BitWriter::encode() 14938 to have a single call to write_bits(), and don't include it inline 14939 in the class as it's really a bit big to inline (and write_bits() 14940 should now be inlined into it, or at least tail-called). 14941 14942Mon Mar 31 05:33:02 GMT 2008 Olly Betts <olly@survex.com> 14943 14944 * backends/flint/flint_positionlist.cc: Reorder header includes to 14945 match our new standard more closely. Indent class definitions to 14946 match our coding standards. 14947 14948Mon Mar 31 05:31:59 GMT 2008 Olly Betts <olly@survex.com> 14949 14950 * backends/flint/flint_positionlist.h: Remove unnecessary default 14951 dtor. 14952 14953Mon Mar 31 04:55:59 GMT 2008 Olly Betts <olly@survex.com> 14954 14955 * backends/remote/net_document.cc,backends/remote/net_document.h: 14956 Rename "doc" member to "data" since it actually holds the document 14957 data. 14958 14959Mon Mar 31 03:25:21 GMT 2008 Olly Betts <olly@survex.com> 14960 14961 * backends/flint/flint_document.cc,backends/flint/flint_document.h: 14962 Remove unnecessary default dtor. 14963 14964Mon Mar 31 02:53:48 GMT 2008 Olly Betts <olly@survex.com> 14965 14966 * backends/inmemory/inmemory_alltermslist.cc, 14967 backends/inmemory/inmemory_alltermslist.h: Remove unnecessary 14968 default dtor. 14969 * backends/inmemory/inmemory_alltermslist.h: Fix bogus cut-and-pasted 14970 doxygen comment for ctor. 14971 14972Mon Mar 31 02:33:15 GMT 2008 Olly Betts <olly@survex.com> 14973 14974 * common/inmemory_positionlist.h: Remove unnecessary default 14975 destructor. Fix comment type ("inemory" -> "inmemory"). 14976 14977Sun Mar 30 12:47:50 GMT 2008 Olly Betts <olly@survex.com> 14978 14979 * include/xapian/queryparser.h: Drop explicit dtor for SimpleStopper 14980 which does nothing. 14981 14982Sun Mar 30 12:12:12 GMT 2008 Olly Betts <olly@survex.com> 14983 14984 * include/xapian/valuesetmatchdecider.h: Don't bother checking if an 14985 element is present before calling std::set::erase(). Don't bother 14986 defining an explicit dtor which does nothing. 14987 14988Sat Mar 29 00:46:13 GMT 2008 Olly Betts <olly@survex.com> 14989 14990 * tests/api_db.cc: Test matchfunctor bounds in combination with 14991 collapsing and percentage cutoff. Also, range check 14992 get_matches_estimated rather than checking it's exactly the value 14993 currently returned. 14994 14995Fri Mar 28 21:37:27 GMT 2008 Olly Betts <olly@survex.com> 14996 14997 * tests/api_nodb.cc: Test ValueSetMatchDecider::remove_value() for a 14998 value which isn't in the set. Test that removing a value doesn't 14999 affect other values in the set. 15000 15001Fri Mar 28 21:03:30 GMT 2008 Olly Betts <olly@survex.com> 15002 15003 * matcher/multimatch.cc: Avoid needless call to pl->get_termfreq_est() 15004 if we're using a matchdecider or matchspy. 15005 15006Fri Mar 28 10:28:51 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15007 15008 * matcher/multimatch.cc: Set matches_lower_bound to 0 before 15009 starting the match process if there is a match decider or spy; 15010 previously, the lower_bound wasn't being reduced in the presence 15011 of a match decider unless all the potential results were 15012 retrieved. 15013 * tests/api_db.cc: Extend matchfunctor1 to check the bounds and 15014 estimates returned; includes a regression test for the above. 15015 15016Fri Mar 28 09:09:54 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15017 15018 * tests/api_nodb.cc: Extend tests to check ValueSetMatchDecider 15019 remove_value and also ValueSetMatchDeciders holding more than one 15020 value. 15021 15022Fri Mar 28 02:41:45 GMT 2008 Olly Betts <olly@survex.com> 15023 15024 * configure.ac: Update version info to match 1.0.6. 15025 15026Fri Mar 28 00:12:48 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15027 15028 * api/omenquire.cc,include/xapian/enquire.h: Merge two of the 15029 get_mset() variants into one, with default arguments, which has 15030 exactly the same effect. We added the two variants to preserve 15031 ABI compatibility, and now we're branched for 1.1 this is no 15032 longer necessary. 15033 15034Thu Mar 27 23:54:39 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15035 15036 * api/valuesetmatchdecider.cc,include/xapian.h, 15037 include/xapian/valuesetmatchdecider.h: Add ValueSetMatchDecider, 15038 which is a matchdecider which is intended to be passed a set of 15039 values to look for in documents, and selects documents based on 15040 the presence of those values. 15041 * tests/api_db.cc,tests/api_nodb.cc: Add tests for the 15042 ValueSetMatchDecider - both for calling it standalone, and when 15043 passed to get_mset(). 15044 * api/Makefile.mk,include/Makefile.mk: Tell build system about new 15045 files. 15046 15047Thu Mar 27 06:18:52 GMT 2008 Olly Betts <olly@survex.com> 15048 15049 * api/omqueryinternal.cc: Initialise term_pos in previous change to 15050 fix valgrind-detected error. 15051 15052Thu Mar 27 06:13:01 GMT 2008 Olly Betts <olly@survex.com> 15053 15054 * api/omqueryinternal.cc: Optimise Query(OP_VALUE_GE, <n>, "") to 15055 Query::MatchAll. 15056 * tests/api_nodb.cc: Add testcase for this case. 15057 15058Thu Mar 27 04:34:40 GMT 2008 Olly Betts <olly@survex.com> 15059 15060 * backends/inmemory/inmemory_document.cc, 15061 backends/inmemory/inmemory_document.h: Rename "doc" member to 15062 "data" since it actually holds the document data. 15063 * backends/inmemory/inmemory_database.cc: Remove unused <stdio.h>. 15064 Include "inmemory_database.h" right after <config.h>. 15065 15066Wed Mar 26 23:44:03 GMT 2008 Olly Betts <olly@survex.com> 15067 15068 * api/omenquire.cc: Throw InvalidArgumentError upon 15069 RSet::add_document(0). 15070 * tests/api_nodb.cc: Add regression test for this. 15071 * matcher/rset.cc: Add assertion that we don't see a zero docid when 15072 calculating rtermfreqs. 15073 * api/omdocument.cc: Use RETURN not return so debug logging sees the 15074 return value. 15075 * backends/inmemory/inmemory_database.cc, 15076 backends/remote/remote-database.cc: Change exception throwing for 15077 a zero docid to assertions since zero docids should be checked for 15078 before we get to here. 15079 15080Wed Mar 26 06:17:51 GMT 2008 Olly Betts <olly@survex.com> 15081 15082 * common/postlist.h: Decree that PostList::check() must be passed a 15083 docid which actually exists in the database (which is always true 15084 currently and seems unlikely to be an onerous requirement). 15085 * matcher/valuegepostlist.cc,matcher/valuerangepostlist.cc: Take 15086 advantage of this new precondition to simplify the code. 15087 * matcher/valuegepostlist.cc,matcher/valuerangepostlist.cc: Move the 15088 corresponding header first as our header inclusion order guidelines 15089 recommend. 15090 15091Thu Mar 13 01:58:18 GMT 2008 Olly Betts <olly@survex.com> 15092 15093 * common/stats.h,include/xapian/enquire.h,matcher/localmatch.cc, 15094 matcher/weight.cc: Untangle Xapian::Weight to just initialise 15095 internal to 0 in its ctor, which is an ABI change. Resolves 15096 a load of FIXME:1.1 comments. 15097 15098Thu Mar 13 00:50:06 GMT 2008 Olly Betts <olly@survex.com> 15099 15100 * backends/flint/flint_lock.cc: Remove workaround for newlib which we 15101 don't seem to need elsewhere and was marked "FIXME:1.1". 15102 15103Thu Mar 13 00:49:27 GMT 2008 Olly Betts <olly@survex.com> 15104 15105 * docs/deprecation.rst: Fix footnote ids after deprecation updates. 15106 15107Wed Mar 12 10:08:37 GMT 2008 Olly Betts <olly@survex.com> 15108 15109 * tests/stemtest.cc: Remove support for OM_STEMTEST_SKIP_RANDOM, 15110 OM_STEMTEST_LANGUAGES, and OM_STEMTEST_SEED. 15111 15112Wed Mar 12 08:30:48 GMT 2008 Olly Betts <olly@survex.com> 15113 15114 * docs/deprecation.rst: Update for bindings removals for 1.1.0. 15115 15116Wed Mar 12 06:59:25 GMT 2008 Olly Betts <olly@survex.com> 15117 15118 * docs/deprecation.rst: Update for Omega removals for 1.1.0. 15119 15120Wed Mar 12 05:11:53 GMT 2008 Olly Betts <olly@survex.com> 15121 15122 * api/omenquire.cc,api/omquery.cc,api/version.cc,docs/, 15123 generate-exceptions.in,include/xapian.h,include/xapian/enquire.h, 15124 include/xapian/query.h,tests/api_db.cc,tests/api_wrdb.cc, 15125 tests/apitest.cc,tests/harness/,tests/internaltest.cc: Remove all 15126 xapian-core features marked for removal in 1.1.0. 15127 15128Wed Mar 12 03:28:18 GMT 2008 Olly Betts <olly@survex.com> 15129 15130 * HACKING,INSTALL,Makefile.am,backends/Makefile.mk, 15131 backends/dir_contents,backends/quartz/,bin/,configure.ac,docs/, 15132 tests/,tests/harness/,tests/quartztest.cc,tests/testdata/, 15133 xapian-core.spec.in: Remove the quartz backend. 15134 15135Wed Mar 12 02:14:33 GMT 2008 Olly Betts <olly@survex.com> 15136 15137 * m4/xapian.m4: Improve wording of the error message when we can't 15138 find xapian-config. 15139 15140Wed Mar 12 02:13:32 GMT 2008 Olly Betts <olly@survex.com> 15141 15142 * INSTALL: Minor wording tweak. 15143 15144Wed Mar 12 01:44:42 GMT 2008 Olly Betts <olly@survex.com> 15145 15146 * bin/xapian-compact.cc: Initialise PostlistCursor member firstdid to 15147 avoid using it uninitialised when merging user metadata and the same 15148 key is present in more than one source database. If the same user 15149 metadata key is present in more than one source database, copy an 15150 arbitrary tag value. 15151 15152Wed Mar 12 00:34:04 GMT 2008 Olly Betts <olly@survex.com> 15153 15154 * bin/xapian-compact.cc: Fix potential SEGV (which I think can occur 15155 when compacting database(s) with user metadata but no postings). 15156 15157Fri Mar 07 09:46:38 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15158 15159 * common/serialise.h: Add missing std:: before string. 15160 15161Fri Mar 07 00:47:06 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15162 15163 * api/replication.cc: Tidy up a line which was wider than 80 15164 columns, and improve the error message returned when a database 15165 replica doesn't contain exactly one subdatabase. 15166 15167Fri Mar 07 00:34:28 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15168 15169 * common/serialise.h,net/remoteconnection.cc,net/serialise.cc: 15170 Change encode_length() to a template, to allow the full range of 15171 off_t values to be encoded. Also, adjust 15172 RemoteConnection::get_message_chunked() to allow the message 15173 length to be a 64 bit quantity. Also, make a couple of type 15174 conversions to size_t explicit, to remove some warnings on 15175 windows. 15176 15177Thu Mar 06 01:57:04 GMT 2008 Olly Betts <olly@survex.com> 15178 15179 * NEWS: Update from ChangeLog. 15180 15181Thu Mar 06 01:44:07 GMT 2008 Olly Betts <olly@survex.com> 15182 15183 * bin/xapian-check.cc: Fix terminology - "user metadata" not "user 15184 metainfo". Fix bug - need to invoke is_user_metadata rather than 15185 using the function pointer as the if condition! 15186 15187Thu Mar 06 01:41:09 GMT 2008 Olly Betts <olly@survex.com> 15188 15189 * bin/xapian-compact.cc: Fix terminology - "user metadata" not "user 15190 metainfo". 15191 15192Wed Mar 05 21:17:02 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15193 15194 * net/remoteconnection.cc: Add some casts (in the windows-specific 15195 code) to fix some warnings from MSVC. 15196 15197Wed Mar 05 19:01:35 GMT 2008 Olly Betts <olly@survex.com> 15198 15199 * NEWS: Update to 1.0 branch point. 15200 15201Wed Mar 05 19:00:07 GMT 2008 Olly Betts <olly@survex.com> 15202 15203 * common/msvc_dirent.cc: Tweak to bring comment back into 80 columns. 15204 15205Wed Mar 05 16:35:33 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15206 15207 * common/msvc_dirent.cc: Fix sense of check for ENOENT after 15208 calling _findnext() - it should be checked for when an error code 15209 is returned, not when the call succeeds. 15210 * tests/api_replicate.cc: Fix tiny capitalisation typo. 15211 15212Wed Mar 05 16:29:47 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15213 15214 * common/fileutils.cc: Check case where a backslash isn't found in 15215 calc_dirname, and don't replace slash with backslash in this 15216 case. 15217 15218Wed Mar 05 09:30:42 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15219 15220 * bin/xapian-check.cc: Add understanding of user metainfo keys in 15221 the postlist table. Allow the METAINFO key to be absent if the 15222 table only contains user metainfo keys. 15223 15224Wed Mar 05 09:01:48 GMT 2008 Olly Betts <olly@survex.com> 15225 15226 * common/msvc_dirent.cc,common/msvc_dirent.h: Move licence boilerplate 15227 up front where we have it in every other file. Move header guards 15228 to the usual location. Detail the fix we've made for not setting 15229 errno to ENOENT erroneously. Push the setting of orig_errno down 15230 a bit. 15231 15232Wed Mar 05 04:57:44 GMT 2008 Olly Betts <olly@survex.com> 15233 15234 * configure.ac: -pedantic isn't actually very useful so just drop it 15235 rather than testing for known problem cases and risking unknown 15236 problem cases. 15237 15238Wed Mar 05 03:10:24 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15239 15240 * matcher/valuegepostlist.cc,matcher/valuegepostlist.h: Implement 15241 skip_to method for ValueGePostList. Previously, the 15242 ValueRangePostList::skip_to method was used, which would 15243 return incorrect documents. 15244 15245Wed Mar 05 02:54:27 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15246 15247 * common/fileutils.cc: Search for \ instead of / when looking for a 15248 backslash! 15249 15250Wed Mar 05 02:51:49 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15251 15252 * common/fileutils.cc: Fix incorrect docstring. 15253 15254Tue Mar 04 18:48:25 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15255 15256 * common/msvc_dirent.cc: Fix readdir() so that it doesn't change 15257 errno to ENOENT on reaching the end of the directory, as 15258 specified by POSIX. 15259 15260Tue Mar 04 17:54:56 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15261 15262 * net/remoteconnection.cc: Fix for a problem with windows. Because 15263 we're using mixed styles of windows file IO, if a file descriptor 15264 which actually corresponds to a file was supplied to remote 15265 connection, the file pointer wasn't being adjusted after each 15266 call to ReadFile or WriteFile. This manifested in the test case 15267 for replication, resulting in a (corrupt) 2048 byte changeset 15268 file being written (instead of a considerably longer changeset). 15269 To work around this, we explicitly move the file pointer 15270 ourselves. 15271 15272Tue Mar 04 17:41:38 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15273 15274 * tests/api_replicate.cc: Close the replica before removing the 15275 temporary directory, to allow the rmdir to work on windows. 15276 15277Thu Feb 28 16:41:34 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15278 15279 * common/remoteconnection.h: Include safeunistd.h, to get correct 15280 typedef for off_t on windows - previously, the size of the 15281 RemoteConnection class was varying depending on the order in 15282 which header files were included, resulting in memory corruption. 15283 * net/remoteserver.cc: Remove incorrect comment about what the 15284 problem was. 15285 15286Sat Feb 23 23:40:56 GMT 2008 Olly Betts <olly@survex.com> 15287 15288 * xapian-config.in: Use globbing rather than iterating over the output 15289 of ls. 15290 15291Sat Feb 23 23:33:39 GMT 2008 Olly Betts <olly@survex.com> 15292 15293 * xapian-config.in: Fix not to repeated headers in --swigheaders in a 15294 non-VPATH build. 15295 15296Fri Feb 22 17:20:19 GMT 2008 Olly Betts <olly@survex.com> 15297 15298 * HACKING: Add note about preferring std::string(). 15299 15300Fri Feb 22 17:05:11 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15301 15302 * net/remoteserver.cc: Use std::string() instead of 15303 std::string(""), since it's a bit cleaner. 15304 15305Fri Feb 22 16:50:32 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15306 15307 * net/remoteserver.cc: Add workaround for bug in MSVC 2005. 15308 15309Fri Feb 22 14:39:03 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15310 15311 * backends/flint/flint_database.cc,backends/flint/flint_table.cc, 15312 backends/quartz/btree.cc: Use msvc_posix_rename() instead of 15313 rename() when renaming base files, so that an error isn't 15314 returned if the destination already exists. 15315 15316Thu Feb 21 17:24:14 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15317 15318 * common/msvc_dirent.cc: Include msvc_dirent.h instead of dirent.h 15319 15320Thu Feb 21 17:09:01 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15321 15322 * common/database.h: ReplicationInfo is a struct, not a class, so 15323 forward declare it as such. 15324 15325Thu Feb 21 12:16:23 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15326 15327 * common/Makefile.mk: Add common/safedirent.h to distribution. 15328 15329Thu Feb 21 00:25:33 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15330 15331 * xapian-config.in: Add swigheaders option, listing the header 15332 files used by swig, so that we can add the appropriate 15333 dependencies to the makefiles in the bindings. 15334 15335Wed Feb 20 20:59:55 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15336 15337 * include/xapian/replication.h: Add a ReplicationInfo structure, 15338 and use it to return information about what has been done when 15339 the replication methods are called. 15340 * api/replication.cc,backends/database.cc, 15341 backends/flint/flint_database.cc,backends/flint/flint_database.h, 15342 common/database.h,common/replicatetcpclient.h, 15343 common/replicatetcpserver.h,net/replicatetcpclient.cc, 15344 net/replicatetcpserver.cc: Populate a ReplicationInfo structure 15345 when updating a replica, or sending changes to a file descriptor. 15346 Also, fix a bug with reading the replication parameters from a 15347 file, which caused a full database copy to be performed on every 15348 replication request on a newly opened DatabaseReplica object. 15349 * bin/xapian-replicate.cc: When doing verbose logging, display the 15350 number of database copies and changesets applied, and whether the 15351 live database has been updated. 15352 * tests/api_replicate.cc: Check that the information returned by 15353 the replication methods is as is should be, and add a regression 15354 test for always copying the database. 15355 15356Wed Feb 20 11:20:55 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15357 15358 * backends/flint/: Improve reporting of failures to obtain lock due 15359 to unexpected errors - the error messages included in the 15360 exceptions raised are now more verbose in many situations. Also, 15361 if the lock can't be obtained when a database is being created, 15362 report the lock failure, not a DatabaseOpeningError - it's more 15363 useful to know that the lock attempt failed than that the 15364 database wasn't present before the attempt to create it. 15365 15366Tue Feb 19 11:58:22 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15367 15368 * bin/xapian-compact.cc: Fix compaction for database which contain 15369 user metadata keys. 15370 15371Sat Feb 16 19:53:44 GMT 2008 Olly Betts <olly@survex.com> 15372 15373 * include/xapian/queryparser.h: Fix incorrect example in doccomment. 15374 15375Sat Feb 16 14:46:08 GMT 2008 Olly Betts <olly@survex.com> 15376 15377 * AUTHORS: Add Matthew Somerville for Search::Xapian patches. 15378 15379Tue Feb 12 16:34:52 GMT 2008 Olly Betts <olly@survex.com> 15380 15381 * docs/quickstart.html: Remove information covered by INSTALL since 15382 there's no good reason to repeat it and two copies just risks one 15383 getting out of date (as has happened here!) 15384 15385Tue Feb 12 16:27:30 GMT 2008 Olly Betts <olly@survex.com> 15386 15387 * AUTHORS: Add David Spencer for reporting bug#237. 15388 15389Tue Feb 12 16:25:00 GMT 2008 Olly Betts <olly@survex.com> 15390 15391 * docs/quickstart.html: Fix very out of date reference to MSet::items 15392 (bug#237). 15393 15394Tue Feb 12 12:40:47 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15395 15396 * bin/xapian-compact.cc: Fix incorrect parameters passed to 15397 FlintTable constructor. 15398 15399Sat Feb 09 11:56:40 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15400 15401 * common/socket_utils.h,net/remoteconnection.cc: More fixes for 15402 windows. 15403 15404Sat Feb 09 11:31:30 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15405 15406 * common/msvc_dirent.cc,common/msvc_dirent.h: Hopefully this is a 15407 better implementation of dirent functions. 15408 15409Sat Feb 09 10:59:50 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15410 15411 * common/: Add implementation of dirent.h for use with MSVC; this 15412 is copied from the mingw implementation, which has been placed in 15413 the public domain. Add "safedirent.h" header for easy inclusion 15414 of this implementation. 15415 15416Sat Feb 09 10:43:49 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15417 15418 * tests/api_replicate.cc: Use _putenv instead of setenv on windows. 15419 15420Sat Feb 09 09:56:08 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15421 15422 * common/socket_utils.cc,common/socket_utils.h: More fixes for 15423 windows. 15424 15425Fri Feb 08 16:40:56 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15426 15427 * common/Makefile.mk,common/socket_utils.cc,common/socket_utils.h, 15428 net/remoteconnection.cc,net/tcpclient.cc: Move windows-specific 15429 socket handling code from remoteconnection.cc into a separate 15430 file, provides the inline close_fd_or_socket for unix in the 15431 header file. Use this in tcpclient.cc instead of close to close 15432 sockets correctly on windows. 15433 15434Fri Feb 08 16:40:29 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15435 15436 * common/fileutils.cc,common/replicatetcpclient.h: Correct typos in 15437 windows only sections of code. 15438 15439Fri Feb 08 15:29:28 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15440 15441 * net/remoteconnection.cc: Fixes for windows - always include 15442 "safesysselect.h", and include <io.h> on windows. 15443 Also, remove definition of an unused variable (probably due to a 15444 copy and paste error). 15445 15446Wed Feb 06 13:45:59 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15447 15448 * bin/xapian-replicate.cc: Include "safeunistd.h" - needed for 15449 sleep, if nothing else. 15450 15451Tue Feb 05 18:10:23 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15452 15453 * configure.ac: Set -pedantic in CXXFLAGS not AM_CXXFLAGS when 15454 testing for problem with it - AM_CXXFLAGS is an automake thing, 15455 and isn't used by the autoconf test. 15456 15457Tue Feb 05 17:50:55 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15458 15459 * configure.ac: Cleaner patch for the test of compilation with 15460 -pedantic - cache the result using AC_CACHE_VAL(). 15461 15462Tue Feb 05 17:32:11 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15463 15464 * configure.ac: Check whether compilation of a cast of INFINITY to 15465 a double, and comparison with HUGE_VAL, causes a problem if 15466 -pedantic is specified (which it does on at least some Mac OSX 15467 versions). If so, don't use the -pedantic compiler flag. 15468 15469Tue Feb 05 09:24:36 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15470 15471 * backends/flint/flint_cursor.cc,backends/flint/flint_database.cc, 15472 backends/quartz/bcursor.cc: More fixes for debug logging - rename 15473 the "hex_encode" functions used for logging to 15474 "hex_display_encode" to avoid name clash. Fix return type 15475 declared in flint_database.cc's DEBUGCALL macro. 15476 15477Tue Feb 05 09:18:29 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15478 15479 * api/replication.cc: Fix for logging compiles: don't check return 15480 value of a void function. 15481 15482Tue Feb 05 09:14:34 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15483 15484 * api/replication.cc: Reopen database after replication, to fix bug 15485 with applying a chain of changesets. 15486 * backends/flint/flint_database.cc: Don't use O_TRUNC (or O_CREAT) 15487 when modifying the DB files! 15488 * tests/api_replicate.cc: Don't call function from inside 15489 TEST_EQUAL, because that's a macro and the function will be 15490 double-evaluated. 15491 15492Tue Feb 05 02:07:08 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15493 15494 * api/replication.cc,backends/database.cc,backends/flint/, 15495 common/database.h: Many fixes to the replication code. Now 15496 parses replication changesets correctly and applies them to the 15497 databases. Also, correct one bug with the generation of 15498 changesets. 15499 * docs/replication.rst,docs/replication_protocol.rst: Update. 15500 * tests/api_replicate.cc: Add test of two changesets being applied 15501 at once. 15502 15503Sun Feb 03 13:31:10 GMT 2008 Olly Betts <olly@survex.com> 15504 15505 * backends/quartz/btree.cc: Backport atomic base update fix from 15506 flint. 15507 15508Sat Feb 02 22:47:56 GMT 2008 Olly Betts <olly@survex.com> 15509 15510 * AUTHORS: Add Thomas Viehmann. 15511 15512Sat Feb 02 03:39:33 GMT 2008 Olly Betts <olly@survex.com> 15513 15514 * backends/flint/flint_table.cc: Update the base files atomically to 15515 avoid problems with reading processes finding partially written 15516 ones. 15517 15518Sat Feb 02 03:38:00 GMT 2008 Olly Betts <olly@survex.com> 15519 15520 * api/replication.cc: Don't leak the RemoteConnection object. 15521 15522Fri Feb 01 23:15:38 GMT 2008 Olly Betts <olly@survex.com> 15523 15524 * backends/flint/flint_btreebase.cc,backends/flint/flint_btreebase.h: 15525 Fix assorted comment errors. 15526 15527Fri Feb 01 20:20:23 GMT 2008 Olly Betts <olly@survex.com> 15528 15529 * bin/xapian-replicate.cc: Fix comment. 15530 15531Fri Feb 01 20:13:23 GMT 2008 Olly Betts <olly@survex.com> 15532 15533 * bin/xapian-replicate.cc: Document the default interval in --help. 15534 15535Fri Feb 01 20:05:08 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15536 15537 * bin/xapian-replicate.cc: Remove the "return 0;" I added at the 15538 end of the function - I didn't realise this, but in C++ it's not 15539 necessary to have a return at the end of main(). Tidier without 15540 it, so it's gone. 15541 15542Fri Feb 01 19:44:05 GMT 2008 Olly Betts <olly@survex.com> 15543 15544 * include/xapian/unicode.h: Add Unicode::toupper() to complement 15545 Unicode::tolower(). 15546 * tests/api_unicode.cc: Add caseconvert1 testcase to test 15547 Unicode::tolower() and Unicode::toupper(). 15548 15549Fri Feb 01 19:36:47 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15550 15551 * bin/xapian-replicate.cc: Add one-shot and verbose options to 15552 replication client. 15553 15554Fri Feb 01 17:52:36 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15555 15556 * api/replication.cc,backends/flint/flint_database.cc, 15557 include/xapian/replication.h,net/replicatetcpclient.cc, 15558 tests/api_replicate.cc: Keep the RemoteConnection in the 15559 DatabaseReplica object, so that any data which is read ahead 15560 doesn't get lost. If an error occurs opening the database on 15561 the server, send a FAIL message over the connection, rather than 15562 just shutting it. 15563 15564Fri Feb 01 16:51:05 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15565 15566 * backends/flint/flint_table.cc: Fix a database corruption bug: see 15567 bugzilla entry #232. Was caused by lazy tables not being created 15568 at the right revision. 15569 * tests/api_wrdb.cc: Regression test for bug. 15570 15571Fri Feb 01 15:10:23 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15572 15573 * api/replication.cc,backends/database.cc, 15574 backends/flint/flint_database.cc,backends/flint/flint_database.h, 15575 common/database.h,docs/replication_protocol.rst, 15576 tests/api_replicate.cc: Add the UUID of the new database to the 15577 DB_HEADER message, and move the code which compares UUIDs out of 15578 flint_database.cc and into replication.cc. Fix testcase which 15579 missed incorrect comparison of UUIDs. Store the UUID of the 15580 live database which has been replicated in the config file - this 15581 isn't an ideal place, but will do until the UUID is stored in the 15582 iamflint file, and we can parse it from there. Remove debug 15583 printfs. 15584 15585Fri Feb 01 15:09:12 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15586 15587 * bin/quartzdump.cc: Rename hex_encode() to hex_display_encode() to 15588 avoid collision. (The hex encoding produced by this doesn't 15589 encode spaces, so isn't quite the same as the functions just 15590 added to utils.cc). 15591 15592Fri Feb 01 15:08:06 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15593 15594 * common/utils.cc,common/utils.h: Add utility functions to 15595 hex-encode and decode a string, so we can store UUIDs in the 15596 config file in replicated DB directories. 15597 15598Fri Feb 01 12:49:34 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15599 15600 * tests/harness/backendmanager_multi.cc: Make the multi 15601 backendmanager use relative paths in its stub databases. 15602 15603Fri Feb 01 12:17:38 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15604 15605 * common/Makefile.mk: Add replicationprotocol.h to distribution. 15606 15607Fri Feb 01 12:10:19 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15608 15609 * backends/database.cc: Stub databases used to 15610 assume that any relative paths were relative to the current 15611 working directory. They now assume that relative paths are 15612 relative to the directory holding the stub database file. 15613 Also, lines which begin with a '#' character are ignored, so we 15614 can place comments in the stub database files. Also, recognise a 15615 new database type: a "stub directory", which is a directory 15616 containing a stub database file named "XAPIANDB". 15617 * api/replication.cc: Replica databases are now created as 15618 directories containing a "XAPIANDB" stub file, so all the 15619 workings are internal. 15620 * common/Makefile.mk,common/fileutils.cc,common/fileutils.h: Add 15621 new set of utilities to manipulate path names - extracting 15622 directory names, and joining paths. 15623 * tests/api_replicate.cc: Enable test properly, now that 15624 it passes. Test needs to be expanded to check that the database 15625 copy succeeded better. 15626 15627Fri Feb 01 09:47:00 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15628 15629 * backends/flint/flint_database.cc: Fix warning about unused 15630 variable. 15631 15632Fri Feb 01 03:49:56 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15633 15634 * api/replication.cc,backends/database.cc, 15635 backends/flint/flint_database.cc,backends/flint/flint_database.h, 15636 common/database.h,common/replicationprotocol.h: Move replication 15637 protocol definition into a separate file. Add (virtual) support 15638 methods for applying changesets to Database::Internal. Sort out 15639 atomic swapping of old database for new after a database copy. 15640 15641Fri Feb 01 03:49:09 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15642 15643 * tests/quartztest.cc: Rename removedir to removedir_recursive() to 15644 avoid conflict with my new function. 15645 15646Fri Feb 01 03:09:45 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15647 15648 * docs/replication_protocol.rst: Specify (though not in much 15649 detail) what we mean by "packed" strings and integers. 15650 15651Fri Feb 01 03:09:06 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15652 15653 * include/xapian/replication.h: Be more precise in documentation 15654 comment. 15655 15656Fri Feb 01 03:07:29 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15657 15658 * net/remoteconnection.cc: Remove debug printfs() 15659 15660Fri Feb 01 03:03:59 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15661 15662 * common/utils.cc,common/utils.h: Add overloaded rmdir() which 15663 works directly on C++ strings. Add removedir() method which 15664 removes a directory and its contents (as long as the directory 15665 only contains files, not subdirectories). 15666 15667Fri Feb 01 01:51:22 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15668 15669 * common/remoteconnection.h,net/remoteconnection.cc: Add 15670 "sniff_next_message_type" method to RemoteConnection, and replace 15671 the hardcoded "4096" size of the chunks used for the remote 15672 connection confersation with a #define. Fix file mode when 15673 creating a file with receive_file(), and bugs with writing too 15674 much data to the file. 15675 15676Thu Jan 31 03:41:42 GMT 2008 Olly Betts <olly@survex.com> 15677 15678 * bin/Makefile.mk,bin/xapian-replicate-server.cc, 15679 common/replicatetcpserver.h: Add xapian-replicate-server server 15680 program. 15681 15682Thu Jan 31 02:46:38 GMT 2008 Olly Betts <olly@survex.com> 15683 15684 * bin/Makefile.mk,bin/xapian-replicate.cc,common/replicatetcpclient.h, 15685 net/replicatetcpclient.cc,net/replicatetcpserver.cc: Add 15686 xapian-replicate client program. 15687 15688Wed Jan 30 19:13:08 GMT 2008 Olly Betts <olly@survex.com> 15689 15690 * include/xapian/replication.h: Correct name of parameter in doxygen 15691 comment. 15692 15693Wed Jan 30 15:58:44 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15694 15695 * api/replication.cc,backends/database.cc, 15696 backends/flint/flint_database.cc,backends/flint/flint_database.h, 15697 common/database.h: Hook up the apply_changeset function from the 15698 API through to flint. (The flint layer currently doesn't work, 15699 though.) Also, implement the get_uuid() function for flint, by 15700 using the mtime of the iamflint file. 15701 * tests/api_replicate.cc: Finish implementation of the "replicate" 15702 function, and add a test of a replication of a database using 15703 this. The return value test is commented out for now, because 15704 the flint layer doesn't work, but this puts the machinery needed 15705 to test this in place. 15706 15707Wed Jan 30 15:10:37 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15708 15709 * backends/flint/flint_database.cc: Implement sending of the whole 15710 database copy. 15711 15712Wed Jan 30 14:45:01 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15713 15714 * tests/,tests/harness/: Add new testcase file (api_replicate.cc) 15715 to hold tests of the replication functionality. Currently has 15716 one partially written test. Also, add new function to apitest.h: 15717 get_named_writable_database_path(), which allows the path to a 15718 writable database to be obtained; throws an exception for those 15719 backend types for which that isn't meaningful. Add a new 15720 variable for use in the conditions for tests: "replicas", which 15721 should be set to true for all backends which support replication. 15722 15723Wed Jan 30 14:42:26 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15724 15725 * net/remoteconnection.cc: Fix the calls to fcntl() in 15726 send_message() and send_file() to use fdout instead of fdin. 15727 This has probably been stopping timeouts working very well. 15728 15729Tue Jan 29 15:05:09 GMT 2008 Olly Betts <olly@survex.com> 15730 15731 * common/remoteconnection.h,net/remoteconnection.cc: Add 15732 receive_file() method. 15733 15734Tue Jan 29 14:37:36 GMT 2008 Olly Betts <olly@survex.com> 15735 15736 * common/remoteconnection.h,net/remoteconnection.cc: Add the ability 15737 to read a message in chunks. 15738 15739Tue Jan 29 10:08:02 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15740 15741 * include/xapian/replication.h: Expand documentation comment. 15742 * api/replication.cc,backends/database.cc, 15743 backends/flint/flint_database.cc,backends/flint/flint_database.h, 15744 common/database.h: Add a write_changesets_to_fd() function to 15745 Database::Internal, with a default implementation to raise an 15746 UnimplementedError. Hook 15747 DatabaseMaster::write_changesets_to_fd() up to this, and 15748 implement it for flint databases (the code to send a copy of a 15749 database still needs work). 15750 15751Tue Jan 29 10:01:39 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15752 15753 * docs/replication_protocol.rst: Document that a FAIL message ends 15754 the conversation. 15755 15756Tue Jan 29 09:59:01 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15757 15758 * docs/replication_protocol.rst: Document the protocol used to 15759 transfer the updates. 15760 15761Tue Jan 29 09:57:14 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15762 15763 * net/remoteconnection.cc: Fix typo. 15764 15765Tue Jan 29 09:48:15 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15766 15767 * net/remoteconnection.cc: For win32, use msvc_posix_open() to open 15768 the file descriptor, so other things can delete the file while 15769 the sending is in progress. 15770 15771Tue Jan 29 01:23:19 GMT 2008 Olly Betts <olly@survex.com> 15772 15773 * net/remoteconnection.cc: Add an assertion. 15774 15775Tue Jan 29 01:14:07 GMT 2008 Olly Betts <olly@survex.com> 15776 15777 * common/remoteconnection.h,net/remoteconnection.cc: Add send_file() 15778 method to RemoteConnection to allow the contents of a file to be 15779 sent as a message. 15780 15781Tue Jan 29 00:28:18 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15782 15783 * api/replication.cc,include/xapian/replication.h: Add methods to 15784 allow parameters to be stored associated with a DatabaseReplica. 15785 15786Tue Jan 29 00:16:42 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15787 15788 * backends/flint/flint_database.cc,backends/flint/flint_database.h: 15789 Change write_changesets_to_fd() to take the revision information 15790 as a string - it now includes a UUID. Add get_uuid() method to 15791 FlintDatabase - currently always returns "FIXME", but will 15792 eventually return an ID for the database. 15793 15794Mon Jan 28 19:07:20 GMT 2008 Olly Betts <olly@survex.com> 15795 15796 * common/Makefile.mk,common/replicatetcpclient.h,net/Makefile.mk, 15797 net/replicatetcpclient.cc,net/replicatetcpserver.cc: Add 15798 ReplicateTcpClient class implementing a replication client over 15799 TCP/IP. 15800 15801Mon Jan 28 17:13:09 GMT 2008 Olly Betts <olly@survex.com> 15802 15803 * common/Makefile.mk,common/replicatetcpserver.h,net/Makefile.mk, 15804 net/replicatetcpserver.cc: Add ReplicateTcpServer class implementing 15805 a replication server over TCP/IP. 15806 15807Mon Jan 28 17:01:02 GMT 2008 Olly Betts <olly@survex.com> 15808 15809 * common/remoteconnection.h,net/remoteconnection.cc: Minor tweaks 15810 to allow unidirectional connections. 15811 15812Mon Jan 28 16:26:22 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15813 15814 * api/replication.cc: Fix overly hasty commit - add 15815 get_description() method for internal class, and use that instead 15816 of trying to access a private member. 15817 15818Mon Jan 28 16:22:18 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15819 15820 * api/replication.cc,common/output.h,include/xapian/replication.h: 15821 Add get_description() methods to DatabaseMaster and 15822 DatabaseReplica, and add XAPIAN_OUTPUT_FUNCTION methods for them 15823 so that they can be displayed in debugging methods. Should fix 15824 build with logging enabled. 15825 15826Mon Jan 28 11:52:24 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15827 15828 * api/replication.cc,include/xapian/replication.h: Add 15829 DatabaseReplica::close() method, to allow the write lock to be 15830 released easily. 15831 15832Mon Jan 28 11:21:36 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15833 15834 * api/replication.cc,include/xapian/replication.h: Change 15835 DatabaseReplica into a PIMPL style class, now that it has more 15836 than one member. Add visibility annotations to DatabaseMaster 15837 and DatabaseReplica. 15838 15839Mon Jan 28 10:44:51 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15840 15841 * api/replication.cc,include/xapian/replication.h: Add code to swap 15842 stub database files over atomically, and to track the current 15843 real database path. 15844 15845Mon Jan 28 04:52:12 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15846 15847 * api/replication.cc,backends/database.cc, 15848 backends/flint/flint_changesetapplier.h, 15849 backends/flint/flint_database.cc,backends/flint/flint_database.h, 15850 common/database.h: Implement opening of the database underlying 15851 DatabaseReplica objects, and hook up the get_revision_info() 15852 method for it. 15853 15854Mon Jan 28 04:17:21 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15855 15856 * common/utils.cc,common/utils.h: Add "dir_exists" function, to 15857 check for presence of a directory at a given path. 15858 15859Mon Jan 28 03:48:46 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15860 15861 * backends/flint/flint_table.cc: Change a "+= 1" to ++ - this isn't 15862 Python! 15863 15864Mon Jan 28 03:08:45 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15865 15866 * api/Makefile.mk,api/replication.cc,include/Makefile.mk, 15867 include/xapian/replication.h: Add interface to replication 15868 functionality. (Currently just unimplemented stubs.) 15869 15870Mon Jan 28 02:01:02 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15871 15872 * backends/flint/flint_btreebase.h: Add a missing std:: 15873 15874Mon Jan 28 01:59:55 GMT 2008 Olly Betts <olly@survex.com> 15875 15876 * common/remotetcpserver.h: Fix typo in doxygen comment: `@port' -> 15877 `@param port'. Update comment - socket is no longer closed by 15878 handle_one_connection(). 15879 15880Mon Jan 28 01:28:00 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15881 15882 * backends/flint/: Add support for recording the changes made to a 15883 database in "changeset" files. These are currently not produced 15884 by default - for now, the "XAPIAN_MAX_CHANGESETS" environment 15885 variable can be set to control production of them. As part of 15886 these changes, the FlintTable constructor now takes the 15887 tablename, so that this can be stored in changesets produced from 15888 the table. 15889 * bin/xapian-check.cc,bin/xapian-compact.cc,bin/xapian-inspect.cc: 15890 Update to match changes in FlintTable constructor. 15891 * docs/Makefile.am,docs/replication.rst,docs/replication_protocol.rst: 15892 Add basic documentation of the replication protocol (though this 15893 isn't yet definitive, since the protocol isn't finished!) 15894 15895Sun Jan 27 21:10:24 GMT 2008 Olly Betts <olly@survex.com> 15896 15897 * net/remotetcpserver.cc,net/tcpserver.cc: The job of closing the 15898 socket connected to the client more naturally belongs to the 15899 framework TcpServer class. 15900 15901Sun Jan 27 20:32:55 GMT 2008 Olly Betts <olly@survex.com> 15902 15903 * backends/flint/flint_table.cc: Call flint_io_sync() in commit() 15904 rather than flush_db(), as that gives more time for written blocks 15905 to get written to disk before we block on waiting for them to be. 15906 This should tend to speed up WritableDatabase::flush() in I/O bound 15907 situations. 15908 15909Sun Jan 27 19:35:08 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15910 15911 * backends/flint/flint_spelling.h,backends/flint/flint_synonym.h: 15912 Merge changes to the spelling and synonym tables just before 15913 calling FlintTable::flush_db(), rather than just before calling 15914 FlintTable::commit(), so that they don't get forgotten. 15915 15916Sun Jan 27 14:29:30 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15917 15918 * backends/flint/flint_database.cc,backends/flint/flint_table.cc, 15919 backends/flint/flint_table.h: Separate step which flushes 15920 modified blocks from cursors to the DB file from the rest of 15921 commit. This will allow me to insert the changeset writing code 15922 between the two steps, so it can assume that the DB file is fully 15923 up-to-date. Also remove an out-of-date FIXME about trying to 15924 avoid updating the value and position tables if they're not used: 15925 these tables are now lazily created anyway. 15926 15927Sun Jan 27 12:53:51 GMT 2008 Olly Betts <olly@survex.com> 15928 15929 * net/tcpserver.cc: Change explicit references to xapian-tcpsrv. 15930 15931Sun Jan 27 12:26:24 GMT 2008 Olly Betts <olly@survex.com> 15932 15933 * common/tcpclient.h,common/tcpserver.h,net/: Make use of TCP_NODELAY 15934 optional at the class level. No user-visible changes. 15935 15936Sat Jan 26 17:18:09 GMT 2008 Olly Betts <olly@survex.com> 15937 15938 * backends/dbfactory_remote.cc,common/Makefile.mk, 15939 common/remotetcpclient.h,common/tcpclient.h,net/Makefile.mk, 15940 net/remotetcpclient.cc,net/tcpclient.cc: Split out the "open 15941 a connection" part of TcpClient and rename the rest to 15942 RemoteTcpClient. 15943 15944Sat Jan 26 14:01:34 GMT 2008 Olly Betts <olly@survex.com> 15945 15946 * bin/xapian-tcpsrv.cc,common/Makefile.mk,common/remotetcpserver.h, 15947 common/tcpserver.h,net/Makefile.mk,net/remotetcpserver.cc, 15948 net/tcpserver.cc: Split TcpServer into a generic TCP server 15949 class (TcpServer) and a subclass of this which implements the 15950 remote backend TCP server (RemoteTcpServer). 15951 15952Sat Jan 26 11:06:30 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15953 15954 * backends/flint/flint_btreebase.cc,backends/quartz/btree_util.h, 15955 common/utils.h: Move fdcloser into utils.h, since it's generally 15956 useful, and it's better not to have multiple copies of it 15957 scattered through the code. 15958 15959Fri Jan 25 15:06:30 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15960 15961 * backends/flint/flint_table.cc,backends/quartz/btree.cc: Use 15962 msvc_posix_unlink() on windows in sys_unlink_if_exists() 15963 functions, so that they will work even if the file is still open. 15964 This probably changes no behaviour, because 15965 sys_unlink_if_exists() is probably never called in such a 15966 situation, but this may not be true in future. 15967 15968Thu Jan 24 13:31:20 GMT 2008 Olly Betts <olly@survex.com> 15969 15970 * docs/overview.html: Remove commented-out comment about OP_XOR. 15971 15972Thu Jan 24 13:30:04 GMT 2008 Olly Betts <olly@survex.com> 15973 15974 * docs/intro_ir.html: Briefly mention how pure boolean retrieval is 15975 supported. 15976 15977Thu Jan 24 13:28:44 GMT 2008 Olly Betts <olly@survex.com> 15978 15979 * HACKING: Move "debian/patch" update earlier in the checklist. 15980 15981Thu Jan 24 13:26:45 GMT 2008 Olly Betts <olly@survex.com> 15982 15983 * NEWS: Partly update from ChangeLog. 15984 15985Thu Jan 17 22:32:08 GMT 2008 Olly Betts <olly@survex.com> 15986 15987 * backends/flint/flint_lock.cc,backends/flint/flint_lock.h, 15988 bin/xapian-check.cc: Apply tweaked version of patch for OS/2 support 15989 by Yuri Dario. 15990 * AUTHORS: Add Yuri Dario. 15991 * PLATFORMS: Mention OS/2. 15992 15993Mon Jan 14 11:03:05 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15994 15995 * backends/flint/flint_table.cc,backends/quartz/btree.cc: Fix more 15996 assertions to avoid overflowing int. 15997 15998Mon Jan 14 09:29:51 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15999 16000 * backends/flint/flint_btreeutil.h: Fix assertions to not overflow 16001 int. 16002 16003Mon Jan 14 09:23:54 GMT 2008 Olly Betts <olly@survex.com> 16004 16005 * backends/quartz/btree_util.h: Fix assertions to not overflow int. 16006 16007Mon Jan 14 08:47:33 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 16008 16009 * configure.ac: Fix test for gcc being 4.0.x or 4.1.x, so we don't 16010 use -Wstrict-overflow with them. 16011 16012Sun Jan 13 23:28:04 GMT 2008 Olly Betts <olly@survex.com> 16013 16014 * configure.ac: GCC warning flag overhaul. Stop passing 16015 "-Wno-multichar" since any multi-character character literal is 16016 bound to be a typo (I believe we were only passing it after 16017 misinterpreting its sense!) Pass "-Wformat-security", 16018 "-Wconversion", and "-pedantic" for all GCC versions. Add 16019 "-Winit-self" and "-Wstrict-overflow=5" for GCC >= 4.2. The 16020 latter may be too aggressive, but it's hard to know without 16021 trying it more widely. 16022 16023Sun Jan 13 00:25:25 GMT 2008 Olly Betts <olly@survex.com> 16024 16025 * backends/flint/flint_check.h,backends/flint/flint_table.h, 16026 backends/quartz/btree.h,net/tcpserver.cc,tests/harness/testsuite.cc: 16027 Add XAPIAN_NORETURN() annotations to functions and non-virtual 16028 methods which don't return. 16029 * net/remoteserver.cc: Assign bool variable using a comparison rather 16030 than subtraction, so the intent is clearer. 16031 16032Sun Jan 13 00:23:41 GMT 2008 Olly Betts <olly@survex.com> 16033 16034 * backends/flint/flint_check.cc: Tweak a comparison so all the 16035 constants are on the same side (micro-optimisation). 16036 * backends/quartz/btreecheck.cc: Equivalent change for quartz. 16037 16038Sun Jan 13 00:20:08 GMT 2008 Olly Betts <olly@survex.com> 16039 16040 * tests/queryparsertest.cc: Add a couple of testcases I wrote for a 16041 reported problem which turned out to work correctly already. Still, 16042 they add to our test coverage. 16043 16044Thu Jan 10 02:04:55 GMT 2008 Olly Betts <olly@survex.com> 16045 16046 * tests/runtest.in: Cope with "@EXEEXT" extension on test programs. 16047 16048Wed Jan 09 21:57:59 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 16049 16050 * api/omquery.cc,api/omqueryinternal.cc,common/remoteprotocol.h, 16051 include/xapian/query.h,matcher/queryoptimiser.cc,tests/api_anydb.cc: 16052 Add OP_VALUE_LE operator, for symmetry with OP_VALUE_GE. 16053 Currently implemented internally using a ValueRangePostList with 16054 an empty string as the start of the range. 16055 16056Wed Jan 09 19:36:37 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 16057 16058 * api/omquery.cc,api/omqueryinternal.cc,include/xapian/query.h: Add 16059 new query operator OP_VALUE_GE, for performing "return documents 16060 with a value greater than this" searches. Also add a new 16061 constructor to go with this which takes a value number and a 16062 single string argument. 16063 * matcher/: Add ValueGePostList class, as a subclass of 16064 ValueRangePostList. Change internal members of 16065 ValueRangePostList to be protected instead of private. Add 16066 support for making ValueGePostLists from OP_VALUE_GE queries. 16067 * tests/api_anydb.cc: Add valuege1 testcase of OP_VALUE_GE queries. 16068 * common/remoteprotocol.h: Bump minor protocol number, due to 16069 additional operator being possible in serialised queries. 16070 16071Wed Jan 09 15:18:16 GMT 2008 Olly Betts <olly@survex.com> 16072 16073 * PLATFORMS: Update from Debian buildd logs. 16074 16075Wed Jan 09 13:53:34 GMT 2008 Olly Betts <olly@survex.com> 16076 16077 * tests/harness/backendmanager_remotetcp.cc: Fix XAPIAN_NORETURN() to 16078 wrap a declaration, not the definition, to fix compile failure on 16079 mingw "make check". Correct file documentation comment to refer 16080 to "remotetcp" not "remoteprog". 16081 16082Mon Jan 07 01:28:14 GMT 2008 Olly Betts <olly@survex.com> 16083 16084 * PLATFORMS: Remove reports for 0.8.x as they're too old to be 16085 interesting. Separate out 0.9.x reports. 16086 16087Mon Jan 07 00:23:10 GMT 2008 Olly Betts <olly@survex.com> 16088 16089 * PLATFORMS: Add Solaris 9 and 10 success reports from James Aylett. 16090 16091Sat Jan 05 19:13:12 GMT 2008 Olly Betts <olly@survex.com> 16092 16093 * languages/compiler/generator.c: In generate_call(), if the failure 16094 case would just be "if (ret == 0) return 0;" then combine it with 16095 the test for the called method returning signal `f'. 16096 16097Sat Jan 05 18:28:31 GMT 2008 Olly Betts <olly@survex.com> 16098 16099 * languages/compiler/generator.c: Generate more readable code for the 16100 inlined single ASCII character literal string check. 16101 16102Sat Jan 05 18:27:07 GMT 2008 Olly Betts <olly@survex.com> 16103 16104 * languages/steminternal.cc: Tweak skip_utf8() to save ~0.5% on 16105 stemtest. 16106 16107Sat Jan 05 02:20:57 GMT 2008 Olly Betts <olly@survex.com> 16108 16109 * languages/compiler/generator.c: Optimise a single ASCII character 16110 literalstring check by inlining the check. This makes stemtest run 16111 about 2% faster. 16112 16113Fri Dec 21 21:57:11 GMT 2007 Olly Betts <olly@survex.com> 16114 16115 * docs/valueranges.rst: Fix example of using multiple VRPs to come out 16116 as a "program listing". 16117 16118Fri Dec 21 15:31:35 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 16119 16120 * common/stringutils.h,common/utils.h: Move declaration of 16121 within_DBL_EPSILON back into utils.h to fix builds with 16122 --enable-assertions, and since it's not string-related. 16123 16124Fri Dec 21 02:12:49 GMT 2007 Olly Betts <olly@survex.com> 16125 16126 * NEWS: Note that one change was "(bug#45)". Bump release date. 16127 16128Thu Dec 20 22:00:41 GMT 2007 Olly Betts <olly@survex.com> 16129 16130 * NEWS: Update again for 1.0.5. 16131 16132Thu Dec 20 17:50:26 GMT 2007 Olly Betts <olly@survex.com> 16133 16134 * common/stringutils.cc: Add new file I failed to commit. 16135 16136Thu Dec 20 17:17:28 GMT 2007 Olly Betts <olly@survex.com> 16137 16138 * tests/queryparsertest.cc: Add feature tests to ensure that ':' is 16139 inserted between prefix and term when it should be. 16140 16141Thu Dec 20 13:58:18 GMT 2007 Olly Betts <olly@survex.com> 16142 16143 * common/,queryparser/queryparser.lemony, 16144 queryparser/termgenerator_internal.cc,tests/harness/index_utils.cc, 16145 tests/harness/unixcmds.cc: Move C_isupper(), C_toupper(), etc from 16146 utils.cc/utils.h to stringutils.cc/stringutils.h, since they are 16147 string-related. 16148 16149Thu Dec 20 03:00:08 GMT 2007 Olly Betts <olly@survex.com> 16150 16151 * HACKING: Remove details of issues with autoconf < 2.57 and 16152 automake < 1.5 as these versions are antiques compared to our 16153 current requirements of autoconf >= 2.59 and automake >= 1.8.3. 16154 16155Wed Dec 19 03:41:42 GMT 2007 Olly Betts <olly@survex.com> 16156 16157 * AUTHORS,NEWS,configure.ac: Update for 1.0.5. 16158 16159Wed Dec 19 03:36:30 GMT 2007 Olly Betts <olly@survex.com> 16160 16161 * api/omdatabase.cc: Calling WritableDatabase methods when we don't 16162 have exactly one subdatabase now throws InvalidOperationError. 16163 * tests/termgentest.cc: Add regression test to check that we now get 16164 InvalidOperationError (previously this case gave a segmentation 16165 fault). 16166 16167Wed Dec 19 01:39:01 GMT 2007 Olly Betts <olly@survex.com> 16168 16169 * PLATFORMS: Update from tinderbox. 16170 16171Tue Dec 18 23:17:37 GMT 2007 Olly Betts <olly@survex.com> 16172 16173 * backends/flint/flint_lock.cc,backends/flint/flint_lock.h: Move lots 16174 of headers included by flint_lock.h to flint_lock.cc since 16175 flint_lock.h doesn't need them. Add a "FIXME:1.1:" comment about 16176 an odd special-case for newlib. 16177 16178Thu Dec 13 17:34:19 GMT 2007 Olly Betts <olly@survex.com> 16179 16180 * tests/stemtest.cc: Mark undocumented OM_STEMTEST_* environmental 16181 variables for removal in 1.1. 16182 16183Thu Dec 13 01:27:15 GMT 2007 Olly Betts <olly@survex.com> 16184 16185 * HACKING: Need to check RPM packaging with Tim Brody too. 16186 16187Thu Dec 13 01:26:16 GMT 2007 Olly Betts <olly@survex.com> 16188 16189 * configure.ac: Note that we check for <streambuf> because GCC 2.95 16190 only has <streambuf.h>. 16191 16192Thu Dec 13 01:23:27 GMT 2007 Olly Betts <olly@survex.com> 16193 16194 * AUTHORS: Add Ralf Wildenhues for suggesting a way to factor out 16195 the boilerplate in multitarget rules. 16196 16197Wed Dec 12 02:02:51 GMT 2007 Olly Betts <olly@survex.com> 16198 16199 * NEWS: Update for ChangeLog in preparation for 1.0.5. 16200 16201Wed Dec 12 01:02:29 GMT 2007 Olly Betts <olly@survex.com> 16202 16203 * docs/admin_notes.rst: Mark as up to date for Xapian 1.0.5. Minor 16204 wording improvements. 16205 16206Sun Dec 09 01:09:19 GMT 2007 Olly Betts <olly@survex.com> 16207 16208 * tests/collate-apitest: Check for sources in the build directory 16209 first, and only if not there prepend "$srcdir/". The recently 16210 added api_generated.cc will be in the build directory when using an 16211 SVN checkout. 16212 16213Fri Dec 07 12:37:08 GMT 2007 Olly Betts <olly@survex.com> 16214 16215 * docs/sorting.rst,docs/valueranges.rst: State explicitly that 16216 Xapian::sortable_serialise() is used to encode values at index time 16217 and give an example of how it is called. 16218 16219Thu Dec 06 15:55:31 GMT 2007 Olly Betts <olly@survex.com> 16220 16221 * tests/Makefile.am,tests/collate-apitest, 16222 tests/generate-api_generated: Add automatically generated tests to 16223 ensure that API classes generally have copy ctors and assignment 16224 operators, and also generally have a default ctor. 16225 16226Thu Dec 06 15:32:23 GMT 2007 Olly Betts <olly@survex.com> 16227 16228 * docs/sorting.rst: Fill in the remaining items in the outline. 16229 16230Thu Dec 06 12:50:46 GMT 2007 Olly Betts <olly@survex.com> 16231 16232 * tests/valgrind.supp: Another variant of the zlib suppression. 16233 16234Wed Dec 05 18:31:12 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 16235 16236 * Makefile.am,docs/Makefile.am,tests/Makefile.am: Add dir_contents, 16237 docs/dir_contents and tests/dir_contents to distribution 16238 tarballs. 16239 16240Wed Dec 05 18:28:12 GMT 2007 Olly Betts <olly@survex.com> 16241 16242 * preautoreconf: Really fix handling of version.h. 16243 16244Wed Dec 05 18:20:54 GMT 2007 Olly Betts <olly@survex.com> 16245 16246 * preautoreconf: Handle make pattern substitutions. 16247 16248Wed Dec 05 18:11:31 GMT 2007 Olly Betts <olly@survex.com> 16249 16250 * preautoreconf: Fix special-case handling of include/xapian/version.h. 16251 16252Wed Dec 05 18:01:34 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 16253 16254 * matcher/multiandpostlist.cc,matcher/multiandpostlist.h: Implement 16255 get_wdf() method for MultiAndPostList (by adding together the 16256 wdfs of the subpostlists). Not currently used (but will be by 16257 SynonymPostList). 16258 16259Wed Dec 05 17:43:24 GMT 2007 Olly Betts <olly@survex.com> 16260 16261 * preautoreconf: Special-case version.h. 16262 16263Wed Dec 05 17:31:47 GMT 2007 Olly Betts <olly@survex.com> 16264 16265 * preautoreconf: Fix errors in previous check-in. 16266 16267Wed Dec 05 17:18:26 GMT 2007 Olly Betts <olly@survex.com> 16268 16269 * preautoreconf: Parse BUILT_SOURCES to determine which files are 16270 generated and so need looking for in the build directory - this 16271 won't need updating when new files are generated, or existing 16272 ones stop being. 16273 16274Wed Dec 05 16:55:26 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 16275 16276 * preautoreconf: Fix "make doxygen_docs" with VPATH build: look for 16277 generated code files in build dir, and make rule which re-runs 16278 preautoreconf change to srcdir first. 16279 16280Wed Dec 05 14:59:52 GMT 2007 Olly Betts <olly@survex.com> 16281 16282 * docs/sorting.rst: Document set_sort_by_value() and friends. 16283 16284Wed Dec 05 11:31:27 GMT 2007 Olly Betts <olly@survex.com> 16285 16286 * docs/sorting.rst: More work. 16287 16288Tue Dec 04 14:42:57 GMT 2007 Olly Betts <olly@survex.com> 16289 16290 * docs/bm25.html: Improve wording. 16291 16292Mon Dec 03 17:11:01 GMT 2007 Olly Betts <olly@survex.com> 16293 16294 * docs/Makefile.am,docs/index.html,docs/sorting.rst: Add the start of 16295 a topic document on sorting. 16296 16297Mon Dec 03 17:10:04 GMT 2007 Olly Betts <olly@survex.com> 16298 16299 * common/stats.h: Fix comment typos. 16300 16301Sun Dec 02 14:36:47 GMT 2007 Olly Betts <olly@survex.com> 16302 16303 * docs/synonyms.rst: Minor wording clarification. 16304 16305Sun Dec 02 14:23:37 GMT 2007 Olly Betts <olly@survex.com> 16306 16307 * tests/collate-apitest: Fix reversed conditional for deciding 16308 which generated headers to update. 16309 16310Sun Dec 02 03:47:44 GMT 2007 Olly Betts <olly@survex.com> 16311 16312 * tests/apitest.cc: Include api_all.h instead of the individual 16313 generated headers. 16314 16315Sun Dec 02 03:44:56 GMT 2007 Olly Betts <olly@survex.com> 16316 16317 * tests/collate-apitest: Add licence and (C). Only update .h files 16318 which may have changed. Generate api_all.h which just includes 16319 the generated headers corresponding to all the sources processed. 16320 Strip spaces from conditions. 16321 * tests/Makefile.am: Update for api_all.h. 16322 16323Sun Dec 02 03:21:59 GMT 2007 Olly Betts <olly@survex.com> 16324 16325 * matcher/weight.cc: Wrap comment. 16326 16327Sun Dec 02 03:21:25 GMT 2007 Olly Betts <olly@survex.com> 16328 16329 * AUTHORS: Thank Petr Ročkai. 16330 16331Sun Dec 02 02:40:58 GMT 2007 Olly Betts <olly@survex.com> 16332 16333 * api/omenquire.cc: Oops, this file also part of previous change. 16334 16335Sun Dec 02 02:14:27 GMT 2007 Olly Betts <olly@survex.com> 16336 16337 * include/xapian/enquire.h: Implement copy ctor and assignment 16338 operator for Xapian::Enquire (bug#219). 16339 * configure.ac: Note what this means in terms of library versioning. 16340 16341Sat Dec 01 02:54:51 GMT 2007 Olly Betts <olly@survex.com> 16342 16343 * include/xapian/: Stop describing get_description() as an 16344 "Introspection method", as this doesn't help to explain what it 16345 does, and get_description() doesn't actually fall under any of the 16346 formal definitions of "introspection" I can find. 16347 16348Sat Dec 01 02:45:16 GMT 2007 Olly Betts <olly@survex.com> 16349 16350 * tests/harness/index_utils.h: Overlooked (C) update. 16351 16352Sat Dec 01 02:34:59 GMT 2007 Olly Betts <olly@survex.com> 16353 16354 * HACKING,INSTALL,common/,configure.ac,tests/api_anydb.cc, 16355 tests/api_db.cc,tests/btreetest.cc,tests/harness/testsuite.cc, 16356 tests/harness/testsuite.h,tests/harness/testutils.cc, 16357 tests/internaltest.cc: Raise the minimum supported GCC version 16358 to 2.95.3 and strip out om_ostringstream which is no longer 16359 required. 16360 16361Sat Dec 01 01:10:04 GMT 2007 Olly Betts <olly@survex.com> 16362 16363 * tests/api_sorting.cc,tests/api_wrdb.cc: Move sortfunctor2 from 16364 api_wrdb.cc to api_sorting.cc. 16365 16366Sat Dec 01 00:43:31 GMT 2007 Olly Betts <olly@survex.com> 16367 16368 * tests/valgrind.supp: Add version of the valgrind zlib suppression 16369 for 64 bit hosts. 16370 16371Fri Nov 30 18:06:49 GMT 2007 Olly Betts <olly@survex.com> 16372 16373 * tests/harness/index_utils.cc: Workaround MSVC which doesn't clear 16374 the fail bit when a stream is reopened. 16375 16376Fri Nov 30 00:44:21 GMT 2007 Olly Betts <olly@survex.com> 16377 16378 * matcher/queryoptimiser.cc: Make delete_ptr<> a functor rather than 16379 a function. This fixes the build with SGI's compiler, and 16380 apparently a functor allows more compilers to inline the call. 16381 16382Thu Nov 29 19:24:22 GMT 2007 Olly Betts <olly@survex.com> 16383 16384 * configure.ac: Fix previous change to work. 16385 16386Thu Nov 29 18:53:09 GMT 2007 Olly Betts <olly@survex.com> 16387 16388 * configure.ac: Assume we have <sstream> and hardwire HAVE_SSTREAM to 16389 be 1. If this assumption proves correct for all platforms we care 16390 about, we can rip out the old om_ostringstream code. 16391 16392Thu Nov 29 17:51:11 GMT 2007 Olly Betts <olly@survex.com> 16393 16394 * tests/harness/index_utils.cc: Work around MSVC. 16395 16396Wed Nov 28 03:17:06 GMT 2007 Olly Betts <olly@survex.com> 16397 16398 * api/sorter.cc: Fix reverse sorting of value strings with different 16399 lengths. 16400 * tests/api_wrdb.cc: Add test sortfunctor2 to check this actually 16401 works. 16402 16403Wed Nov 28 02:27:37 GMT 2007 Olly Betts <olly@survex.com> 16404 16405 * tests/api_wrdb.cc,tests/apitest.cc,tests/apitest.h,tests/harness/: 16406 Add get_named_writable_database() and use it to fix spell3 on 16407 Microsoft Windows. 16408 16409Tue Nov 27 16:56:12 GMT 2007 Olly Betts <olly@survex.com> 16410 16411 * xapian-config.in: Factor out the code to check if we need explicit 16412 dependencies into a function. On platforms we know don't need 16413 explicit dependencies, --ltlibs now gives the same output as --libs. 16414 16415Tue Nov 27 00:24:18 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 16416 16417 * tests/Makefile.am: Remove api_regressions.cc from list - didn't 16418 mean to commit that (yet). 16419 16420Tue Nov 27 00:17:40 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 16421 16422 * tests/Makefile.am: Use $(collated_apitest_sources) in list of 16423 apitest_SOURCES; now a new test file can be added just by adding 16424 it to this variable. 16425 16426Mon Nov 26 23:04:00 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 16427 16428 * tests/Makefile.am: Add generated apitest .h files to targets of 16429 rule which calls collate-apitest, since they're also generated by 16430 it. Change the rule to use a .stamp and a .lock file as 16431 described in HACKING, to fix parallel builds. 16432 16433Mon Nov 26 18:48:20 GMT 2007 Olly Betts <olly@survex.com> 16434 16435 * Makefile.am: Distribute preautoreconf. 16436 16437Mon Nov 26 17:24:15 GMT 2007 Olly Betts <olly@survex.com> 16438 16439 * HACKING,configure.ac,docs/Makefile.am: Use pngcrush to reduce the 16440 size of PNG files in the doxygen-generated HTML docs. 16441 16442Mon Nov 26 15:39:58 GMT 2007 Olly Betts <olly@survex.com> 16443 16444 * docs/Makefile.am: Don't package or install various intermediate 16445 files which doxygen generates. 16446 16447Mon Nov 26 13:14:19 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 16448 16449 * tests/api_db.cc: Ensure that the database needed for stubdb1 is 16450 present, by creating it first (with get_database()). This 16451 requires that the database type is flint, but the test doesn't 16452 depend on any particular database type anyway, so this doesn't 16453 lose us anything. 16454 16455Mon Nov 26 13:08:08 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 16456 16457 * tests/collate-apitest: Display the name of the backend which a 16458 set of tests is for. 16459 16460Mon Nov 26 09:45:39 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 16461 16462 * tests/Makefile.am,tests/collate-apitest: Fix with VPATH builds - 16463 pass srcdir as the first argument to collate-apitest, so it can 16464 find the sources. Also, use srcdir to form the path to 16465 collate-apitest when calling it from the make rule. 16466 16467Mon Nov 26 02:22:08 GMT 2007 Olly Betts <olly@survex.com> 16468 16469 * tests/api_db.cc,tests/apitest.cc,tests/apitest.h: Convert the 16470 remaining tests to be collated. 16471 16472Mon Nov 26 02:08:18 GMT 2007 Olly Betts <olly@survex.com> 16473 16474 * tests/api_db.cc,tests/apitest.cc,tests/apitest.h: Collate the 16475 localdb and remotedb tests. 16476 16477Mon Nov 26 01:40:59 GMT 2007 Olly Betts <olly@survex.com> 16478 16479 * tests/: Collate the specchar, doclendb, collfreq, allterms, and 16480 multivalue tests. 16481 16482Mon Nov 26 01:21:35 GMT 2007 Olly Betts <olly@survex.com> 16483 16484 * tests/: Collate the anydb tests. Remove the generated files upon 16485 "make clean" in maintainer-mode. 16486 16487Mon Nov 26 00:34:03 GMT 2007 Olly Betts <olly@survex.com> 16488 16489 * tests/: Collate the wrdb tests. 16490 16491Mon Nov 26 00:18:18 GMT 2007 Olly Betts <olly@survex.com> 16492 16493 * tests/api_posdb.cc,tests/apitest.cc: Add "writable" flag and use it 16494 for poslist2 and poslist3. 16495 16496Mon Nov 26 00:13:43 GMT 2007 Olly Betts <olly@survex.com> 16497 16498 * tests/: Collate the posdb tests. 16499 16500Mon Nov 26 00:03:29 GMT 2007 Olly Betts <olly@survex.com> 16501 16502 * tests/: Collate the nodb tests. 16503 16504Sun Nov 25 23:55:02 GMT 2007 Olly Betts <olly@survex.com> 16505 16506 * tests/: Collate the transaction tests. 16507 16508Sun Nov 25 23:49:26 GMT 2007 Olly Betts <olly@survex.com> 16509 16510 * tests/: Collate the unicode tests. 16511 16512Sun Nov 25 23:35:40 GMT 2007 Olly Betts <olly@survex.com> 16513 16514 * tests/: Make a start on automatically collating test cases. 16515 16516Sun Nov 25 22:41:52 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 16517 16518 * api/weightinternal.cc: Initialise all members of 16519 Xapian::Weight::Internal, and use initialisers rather than 16520 assignment to do so. Fixes an error reported by valgrind. 16521 16522Sun Nov 25 16:48:21 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 16523 16524 * matcher/weight.cc: Add another note of a FIXME needed for 1.1 16525 16526Sun Nov 25 16:40:28 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 16527 16528 * matcher/bm25weight.cc,matcher/tradweight.cc: Add some missing 16529 "using namespace std;" lines which are needed due to earlier 16530 changes in header file inclusions. Also, remove some unnecessary 16531 std:: prefixes. 16532 16533Sun Nov 25 16:35:30 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 16534 16535 * common/stats.h,include/xapian/enquire.h,matcher/localmatch.cc, 16536 matcher/weight.cc: Undo ABI change introduced in previous commit 16537 with a nasty workaround; we can't initialise Weight::internal 16538 reliably, because applications complied with earlier versions of 16539 the library may have inlined the constructor of the Weight class. 16540 Therefore, we can't delete Weight::internal in the destructor, 16541 because we don't know if it was initialised. Instead, we 16542 add factory methods for making Weight::Internal objects to Stats, 16543 register all the Weight::Internal objects made by these factory 16544 methods in a list is the Stats object, and delete them when Stats 16545 is deleted (which conveniently happens after the match has 16546 finished). Mark all this with FIXME:1.1: so that we can easily 16547 convert it to nicer code once we branch for 1.1. 16548 16549Sun Nov 25 15:14:04 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 16550 16551 * api/Makefile.mk,api/weightinternal.cc,common/, 16552 include/xapian/enquire.h,matcher/: Split Stats and 16553 Xapian::Weight::Internal into different classes: Stats remains 16554 with the same members (but becomes a concrete class, rather than 16555 a typedef of another class), and Xapian::Weight::Internal becomes 16556 a simple container for exactly those statistics which are 16557 relevant for a weight object (ie, it holds just one termfreq and 16558 reltermfreq, rather than a map of all of them). This is 16559 dynamically allocated, so Xapian::Weight now owns the object 16560 pointed to by its "internal" member, and deletes it in its 16561 destructor. Add a new header file "weightinternal.h" so that the 16562 full "stats.h" stuff doesn't need to be included for definitions 16563 of weighting schemes. Replace #include "stats.h" lines with 16564 forward declarations of Stats, where possible. 16565 16566Sun Nov 25 15:09:29 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 16567 16568 * api/omenquire.cc: Add missing include of stats.h 16569 * matcher/queryoptimiser.cc,net/tcpserver.cc: Remove unnecessary 16570 include of stats.h 16571 * net/remoteserver.cc: Include missing includes of omassert.h and 16572 stats.h, and change an Assert to AssertEq. 16573 * matcher/multimatch.cc: Output the contents of the stats object in 16574 debugging code. 16575 16576Sun Nov 25 04:22:05 GMT 2007 Olly Betts <olly@survex.com> 16577 16578 * common/multimatch.h: No longer need "autoptr.h" here. 16579 16580Sun Nov 25 04:07:04 GMT 2007 Olly Betts <olly@survex.com> 16581 16582 * common/multimatch.h: Fix typo in documentation comment. 16583 16584Sun Nov 25 03:58:21 GMT 2007 Olly Betts <olly@survex.com> 16585 16586 * common/remoteserver.h,matcher/localmatch.cc,matcher/multimatch.cc: 16587 Remove lingering traces of StatsGatherer. 16588 16589Sat Nov 24 20:44:03 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 16590 16591 * common/stats.h,matcher/Makefile.mk,matcher/stats.cc: Add 16592 get_description() method for Xapian::Weight::Internal, and add 16593 stats.cc back to hold it's implementation. 16594 * common/output.h: Add an output function for Stats (aka 16595 Xapian::Weight::Internal) to fix the build when debug logging is 16596 enabled. 16597 16598Sat Nov 24 01:21:56 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 16599 16600 * api/omenquire.cc,common/,matcher/,net/remoteserver.cc: Remove 16601 StatsGatherer and its subclasses completely. Instead of a 16602 StatsGatherer subclass, MultiMatch is now simply passed a Stats 16603 object, and passes this to the prepare_match() methods of the sub 16604 matchers to be populated with statistics. OmEnquire then passes 16605 the same Stats object to MultiMatch::get_mset(), whereas a remote 16606 submatch sends the Stats object to the parent match, to be 16607 combined with the global statistics, and then passes the returned 16608 global statistics to MultiMatch::get_mset(). Remove stats.cc 16609 since it only contained implementations of StatsGatherer methods, 16610 and networkstats.h which only contained the definition of the 16611 NetworkStatsGatherer. 16612 * matcher/rset.cc: Add the rset size to the database - we now 16613 compute the global rset size the same way as we compute the 16614 global collection size: by adding the sizes in the sub 16615 collections together. We have the total rset size easily 16616 available in the code, but building the total rset size up from 16617 the sub-databases makes the code simpler. 16618 16619Sat Nov 24 01:21:18 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 16620 16621 * matcher/andnotpostlist.cc: Add a missing #include "omdebug.h". 16622 16623Fri Nov 23 23:13:12 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 16624 16625 * common/stats.h,matcher/: Remove the StatsSource class entirely. 16626 LocalSubMatch and RemoteSubMatch now contribute their stats 16627 directly to the gatherer in the prepare_match() method, so the 16628 gatherer doesn't need to worry about keeping track of the sources 16629 of statistics. 16630 16631Fri Nov 23 21:46:32 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 16632 16633 * common/submatch.h,matcher/: Change SubMatch::start_match() (and 16634 all start_match() methods in subclasses) to take the statistics 16635 for the whole collection as an additional parameter. MultiMatch 16636 now gets the statistics from the gatherer and passes it to 16637 start_match(). 16638 16639Fri Nov 23 17:38:28 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 16640 16641 * common/stats.h: Add set_termfreq() and set_reltermfreq() 16642 convenience methods to Stats; and remote the take_my_stats(), 16643 my_termfreq_is() and my_reltermfreq_is() methods from 16644 StatsSource. 16645 * common/rset.h,matcher/rset.cc: Rename give_stats_to_statssource() 16646 to contribute_stats(), and give it take a Stats object instead of 16647 a StatsSource object. Can't forward declare Stats, so we need to 16648 #include "stats.h" in rset.h now, unfortunately. 16649 * matcher/localmatch.cc,matcher/localmatch.h: Move register_term() 16650 implementation inline into prepare_match(). Build up the 16651 statistics in a local Stats object, rather than passing them 16652 piecemeal to the StatsSource object, and then use 16653 StatsSource::get_my_stats() to set them, just like 16654 RemoteSubMatcher. 16655 16656Fri Nov 23 14:35:49 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 16657 16658 * matcher/localmatch.cc,matcher/localmatch.h: Get the total 16659 statistics from the gatherer directly and store them in a new 16660 member of LocalSubMatch, rather than getting them via the 16661 StatsSource when we need them. This bypasses the 16662 get_total_stats() and set_total_stats() methods of StatsSource. 16663 * common/stats.h,matcher/stats.cc: Remove the (newly) unused 16664 methods StatsSource::set_total_stats() and 16665 StatsSource::get_total_stats(). 16666 16667Fri Nov 23 11:40:54 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 16668 16669 * common/,include/xapian/enquire.h,matcher/: Rename 16670 Xapian::Weight::Internal to StatsSource (which I hope to be able 16671 to remove shortly), and rename the Stats class to 16672 Xapian::Weight::Internal. Requires minimal plumbing changes - 16673 TradWeight and BM25Weight classes now query the internals 16674 directly for the statistics, LocalSubMatch now gets the 16675 statistics from StatsSource and passes them to wt_factory. 16676 common/remote-database.h and common/serialise.h now need to 16677 #include stats.h unfortunately, because a forward declaration 16678 can't be used for Xapian::Weight::Internal (unless I'm missing 16679 something). 16680 16681Fri Nov 23 10:15:43 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 16682 16683 * common/stats.h,matcher/bm25weight.cc,matcher/localmatch.cc, 16684 matcher/tradweight.cc: Remove the Xapian::Weight::Internal 16685 get_total_* methods: instead, add a get_total_stats() method 16686 which returns a Stats object representing the whole collection. 16687 Add get_termfreq() and get_reltermfreq() convenience methods to 16688 Stats for looking up individual term's statistics. Also, change 16689 protected members of Xapian::Weight::Internal to private members, 16690 since we're no longer subclassed. Also, in tradweight.cc, avoid 16691 division by zero in the (rare) situation of the average length 16692 being zero; in the same way as this is handled by bm25weight.cc. 16693 16694Thu Nov 22 12:58:02 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 16695 16696 * common/stats.h,matcher/localmatch.cc,matcher/localmatch.h, 16697 matcher/stats.cc: Replay Xapian::Weight::Internal's 16698 perform_request() method with set_total_stats(). The replacement 16699 takes the stats as a parameter, rather than magically getting 16700 them from the gatherer. The LocalSubMatch now needs to call the 16701 gatherer to get the stats, and then pass it to set_total_stats(), 16702 so needs to keep a reference to the gatherer. However, we are 16703 now one step closer to decoupling the gatherer from the stats. 16704 16705Thu Nov 22 11:47:56 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 16706 16707 * common/stats.h,matcher/localmatch.cc: Remove automatic 16708 just-in-time calls to statssource.perform_request() - instead, 16709 make it public, and call it explicitly before the postlist tree 16710 is constructed. Also, make Xapian::Weight::Internal's destructor 16711 non-virtual, since it's no longer subclassed anywhere. 16712 16713Thu Nov 22 11:02:39 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 16714 16715 * common/networkstats.h,matcher/stats.cc: Remove 16716 fetch_local_stats() method, and use of have_gathered flag for 16717 caching result of gathering the stats - instead, simply Assert 16718 that have_gathered is false before gathering; we currently only 16719 call get_local_stats() once for a given gatherer. 16720 16721Thu Nov 22 10:04:40 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 16722 16723 * common/rset.h: Change multiline "///" comments to use "/**", 16724 style. 16725 16726Thu Nov 22 09:27:42 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 16727 16728 * matcher/localmatch.cc,matcher/queryoptimiser.h: Update a couple 16729 of comments. 16730 16731Thu Nov 22 08:29:19 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 16732 16733 * common/networkstats.h,common/stats.h,matcher/: Remove the 16734 LocalStatsSource and NetworkStatsSource classes - just use the 16735 base class (Xapian::Weight::Internal) instead. LocalStatsSource 16736 had no extra members whatsoever, whereas NetworkStatsSource had 16737 various members which weren't used, and a single method 16738 "take_remote_stats" which simply sets the statistics held - I've 16739 renamed this method "set_my_stats" and added it to the base 16740 class. 16741 16742Thu Nov 22 00:05:06 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 16743 16744 * common/networkstats.h,common/stats.h,matcher/stats.cc: Replace 16745 StatsGatherer::contrib_my_stats() and 16746 StatsSource::contrib_stats() methods; instead add a 16747 get_my_stats() method to StatsSource and simply call this. 16748 16749Wed Nov 21 16:37:10 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 16750 16751 * common/networkstats.h,common/remoteserver.h,matcher/stats.cc, 16752 net/remoteserver.cc: Rework NetworkStatsGatherer - it no longer 16753 needs to have the RemoteServer passed into it; instead, the 16754 RemoteServer calls NetworkStatsGatherer::set_global_stats() with 16755 the global statistics as soon as it gets them. This new method 16756 replaces fetch_global_stats(). As a result, the RemoteServer no 16757 longer needs to remember the global_stats received from the 16758 network - it just passes them straight to the gatherer - so 16759 remove the global_stats and get_global_stats() methods from 16760 RemoteServer. 16761 16762Wed Nov 21 15:42:40 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 16763 16764 * common/rset.h,matcher/rset.cc: Document the member functions of 16765 RSetI, and remove the totally unused "get_reltermfreq()" member. 16766 Also remove an ancient, commented out, implementation of an 16767 "add_document()" member, and add copyright lines. 16768 16769Wed Nov 21 15:26:11 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 16770 16771 * common/rset.h,matcher/localmatch.cc,matcher/rset.cc: Make 16772 RSet::calculate_stats() private, and call it only from 16773 RSet::give_stats_to_statssource(). Was previously called 16774 directly from localmatch.cc, but this way it's clear that it's 16775 only called once. 16776 16777Wed Nov 21 14:30:17 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 16778 16779 * matcher/remotesubmatch.h: Move implementation of constructor into 16780 .cc file (accidentally missed this file from the last-but-one 16781 commit, which did the necessary changes to the .cc file). 16782 16783Wed Nov 21 14:28:48 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 16784 16785 * matcher/rset.cc: Improve debugging messages. 16786 16787Wed Nov 21 14:26:44 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 16788 16789 * matcher/remotesubmatch.cc: Add some debugging, and reorder the 16790 header includes. 16791 16792Wed Nov 21 13:21:35 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 16793 16794 * matcher/multimatch.cc: Add DEBUGCALL_STATIC macros to the new 16795 functions, and tidy some code in the constructor slightly. 16796 16797Wed Nov 21 10:00:48 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 16798 16799 * matcher/multimatch.cc: Split the loop which calls prepare_match() 16800 out of the constructor into a separate static function. 16801 16802Tue Nov 20 18:23:53 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 16803 16804 * matcher/multimatch.cc: Refactor code which splits the RSet into 16805 sub RSets (one for each sub database) into a separate function. 16806 No functional change. 16807 16808Tue Nov 20 17:56:47 GMT 2007 Olly Betts <olly@survex.com> 16809 16810 * common/remoteserver.h: Remove unused '#include "omassert.h"'. 16811 16812Tue Nov 20 12:53:06 GMT 2007 Olly Betts <olly@survex.com> 16813 16814 * AUTHORS: Thank Marcus Rueckert for GCC 4.3 fixes. 16815 16816Tue Nov 20 10:22:28 GMT 2007 Olly Betts <olly@survex.com> 16817 16818 * bin/quartzcompact.cc: Recent GCC 4.3 snapshots thinks cf and tf 16819 might be used uninitialised. They won't be, but we only need to 16820 initialise them once per run to silence the warning, so just do 16821 that. 16822 16823Tue Nov 20 10:20:13 GMT 2007 Olly Betts <olly@survex.com> 16824 16825 * bin/quartzcompact.cc: Fix equality testing of C strings to use 16826 strcmp() rather than '=='. In practice, using '==' often gives 16827 the desired effect due to pooling of constant strings, but this may 16828 have resulted in bugs on some platforms. 16829 16830Tue Nov 20 01:47:16 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 16831 16832 * tests/harness/backendmanager_remotetcp.cc: Add missing "#include 16833 <cstring>". 16834 16835Tue Nov 20 01:26:40 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 16836 16837 * tests/harness/unixcmds.cc: Add #include of cstring, to get 16838 strchr, needed for gcc 4.3 snapshot. 16839 16840Tue Nov 20 01:25:22 GMT 2007 Olly Betts <olly@survex.com> 16841 16842 * api/maptermlist.h,api/termlist.cc,backends/alltermslist.cc, 16843 backends/flint/flint_spelling.cc,backends/flint/flint_spelling.h, 16844 common/alltermslist.h,common/termlist.h,common/vectortermlist.h: 16845 Provide a default implementation of accumulate_stats() in the 16846 virtual base class TermIterator::Internal instead of repeating it 16847 in each subclass which doesn't get used for generating an ESet, and 16848 don't call abort() in the default implementation - an Assert(false) 16849 is sufficient, and more consistent with how we handle other similar 16850 cases. 16851 16852Tue Nov 20 01:24:17 GMT 2007 Olly Betts <olly@survex.com> 16853 16854 * bin/xapian-progsrv.cc: Add missing '#include <cstdlib>'. 16855 16856Mon Nov 19 23:54:53 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 16857 16858 * backends/flint/flint_postlist.cc,backends/quartz/quartz_postlist.cc: 16859 Add NORETURN macro to report_read_error(); fixes warnings from 16860 GCC 4.3 about possibly uninitialised values. Reorder header 16861 includes to follow proposed policy. 16862 * backends/flint/flint_postlist.h: Add include of omdebug.h which 16863 previously needed to be done before including this. Tidy up 16864 order of includes. 16865 16866Mon Nov 12 14:06:38 GMT 2007 Olly Betts <olly@survex.com> 16867 16868 * api/Makefile.mk,api/omenquire.cc,api/sorter.cc,common/multimatch.h, 16869 common/omenquireinternal.h,include/Makefile.mk,include/xapian.h, 16870 include/xapian/enquire.h,include/xapian/sorter.h, 16871 matcher/multimatch.cc,net/remoteserver.cc,tests/: Add new functor 16872 class to allow more sophisticated sorting options. 16873 16874Mon Nov 12 14:03:06 GMT 2007 Olly Betts <olly@survex.com> 16875 16876 * HACKING: Improved wording. 16877 16878Sun Nov 11 07:51:57 GMT 2007 Olly Betts <olly@survex.com> 16879 16880 * include/xapian/queryparser.h: Hide the v102 namespace from Doxygen 16881 as it isn't user visible. 16882 16883Sat Nov 10 21:53:21 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 16884 16885 * tests/Makefile.am: Remove .multi in clean-local rule; should fix 16886 distcheck. 16887 16888Sat Nov 10 15:34:25 GMT 2007 Olly Betts <olly@survex.com> 16889 16890 * tests/harness/testutils.cc,tests/harness/testutils.h: 16891 mset_expect_order_begins() is never used, so remove it. 16892 * tests/harness/testutils.cc: Don't need <iostream>, only <fstream>. 16893 16894Sat Nov 10 11:09:22 GMT 2007 Olly Betts <olly@survex.com> 16895 16896 * docs/index.html: Add a list of documents on particular features and 16897 include links to previously unlinked-to documents. Weed down the 16898 top navigation bar which had grown to unwieldy length. 16899 16900Sat Nov 10 10:17:42 GMT 2007 Olly Betts <olly@survex.com> 16901 16902 * PLATFORMS: Update for Debian buildds. 16903 16904Sat Nov 10 02:13:07 GMT 2007 Olly Betts <olly@survex.com> 16905 16906 * matcher/multimatch.cc: If "first" is non-zero, then use nth_element 16907 with vector::reverse_iterator to partition items such that the 16908 unwanted ones are at the end not the start. This means the call 16909 to vector::erase() no longer needs to copy all the wanted items. 16910 16911Fri Nov 09 19:01:38 GMT 2007 Olly Betts <olly@survex.com> 16912 16913 * tests/api_db.cc: collapsekey3 is too strict - even if the value 16914 never occurs, lower_bound may drop as we may reject potential 16915 matches before applying the collapse test. 16916 16917Fri Nov 09 16:36:39 GMT 2007 Olly Betts <olly@survex.com> 16918 16919 * include/xapian/termiterator.h: Clarify get_wdf() versus 16920 get_termfreq() in documentation comments. 16921 16922Fri Nov 09 00:07:02 GMT 2007 Olly Betts <olly@survex.com> 16923 16924 * tests/api_db.cc: Fix comment typo. 16925 16926Fri Nov 09 00:04:45 GMT 2007 Olly Betts <olly@survex.com> 16927 16928 * HACKING,Makefile.am,tests/Makefile.am: New make target 16929 'check-multi'. 16930 16931Thu Nov 08 23:54:47 GMT 2007 Olly Betts <olly@survex.com> 16932 16933 * tests/api_anydb.cc: Re-enable test case allpostlist1 for multi 16934 since it works fine (presumably thanks to the multi_postlist.cc 16935 fix). 16936 16937Thu Nov 08 23:44:29 GMT 2007 Olly Betts <olly@survex.com> 16938 16939 * tests/,tests/harness/: Add new "multi" test backend which indexes 16940 the specified text file(s) to two databases which will look just 16941 like the equivalent single database when searched together. Since 16942 writing isn't supported, a number of tests which require this are 16943 disabled, as are any tests which explicitly use a multi-database 16944 since a multi-of-multis isn't equivalent to a multi of equivalent 16945 individual databases. A handful of testcases are also currently 16946 disabled because they fail for reasons not yet fully explored. 16947 Existing tests run with the new backend provide regression tests 16948 for the two recent fixes. 16949 16950Thu Nov 08 23:42:33 GMT 2007 Olly Betts <olly@survex.com> 16951 16952 * backends/multi/multi_postlist.cc: Fix PostingIterator::skip_to() 16953 when running over multiple databases. Regression test to follow. 16954 16955Thu Nov 08 23:37:51 GMT 2007 Olly Betts <olly@survex.com> 16956 16957 * docs/overview.html: Mention the "auto" backend. 16958 16959Thu Nov 08 23:28:30 GMT 2007 Olly Betts <olly@survex.com> 16960 16961 * matcher/multimatch.cc: Fix bug in handling a pure boolen match over 16962 more than one database under set_docid_order(ASCENDING) - we can't 16963 shortcut in this case because MergePostList generally doesn't return 16964 docids in order. Regression test to follow. 16965 16966Thu Nov 08 21:07:09 GMT 2007 Olly Betts <olly@survex.com> 16967 16968 * matcher/queryoptimiser.cc: Fix comment typo. 16969 16970Thu Nov 08 07:40:48 GMT 2007 Olly Betts <olly@survex.com> 16971 16972 * api/omdatabase.cc: Don't use MultiPostList when there's only one 16973 subdatabase. 16974 16975Thu Nov 08 05:40:17 GMT 2007 Olly Betts <olly@survex.com> 16976 16977 * tests/api_db.cc: Run sortrel1 for inmemory too. 16978 16979Thu Nov 08 03:43:50 GMT 2007 Olly Betts <olly@survex.com> 16980 16981 * tests/harness/backendmanager.cc,tests/harness/index_utils.cc, 16982 tests/harness/index_utils.h: New class FileIndexer which acts like 16983 an iterator returning a Xapian::Document object for each paragraph 16984 in some specified files. 16985 16986Wed Nov 07 16:30:49 GMT 2007 Olly Betts <olly@survex.com> 16987 16988 * common/,docs/remote_protocol.html,matcher/,net/remoteserver.cc, 16989 net/serialise.cc: If we're doing a match with only one database 16990 which is remote then just return the unserialised MSet from the 16991 remote match. This requires that we include 16992 internal->percent_factor in the MSet serialisation, which requires 16993 a minor remote protocol version bump. 16994 16995Wed Nov 07 09:47:28 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 16996 16997 * matcher/multimatch.cc: Fix logging build (a change to the logging 16998 code introduced in r9644 didn't compile) 16999 17000Tue Nov 06 17:10:51 GMT 2007 Olly Betts <olly@survex.com> 17001 17002 * include/xapian/document.h: Better documentation comment for 17003 Document::termlist_count(). 17004 17005Tue Nov 06 12:32:16 GMT 2007 Olly Betts <olly@survex.com> 17006 17007 * Makefile.am,docs/Makefile.am,languages/Makefile.mk: No need to set 17008 SUFFIXES manually for suffixes used in implicit rules. 17009 17010Tue Nov 06 10:41:14 GMT 2007 Olly Betts <olly@survex.com> 17011 17012 * matcher/multimatch.cc: If we're collapsing on a value, keep track of 17013 the number of empty collapse values seen, since that allows us to 17014 give a better lower bound on the number of matches. 17015 * tests/api_db.cc: This change breaks an (incorrect) assumption in 17016 collapsekey3, so change that test case to be a regression test for 17017 the improved estimate. Add a new test as (the previously missing) 17018 collapsekey2, but disable it for now as we don't seem to have a 17019 suitable existing database. 17020 17021Tue Nov 06 07:58:34 GMT 2007 Olly Betts <olly@survex.com> 17022 17023 * matcher/tradweight.cc: Make sure lenpart has been calculated in 17024 TradWeight::get_sumpart_needs_doclength() (this doesn't appear to 17025 actually be a problem in current use, but it might become an issue 17026 if the code which uses TradWeight changes. 17027 17028Tue Nov 06 07:49:18 GMT 2007 Olly Betts <olly@survex.com> 17029 17030 * tests/api_anydb.cc: Add simple feature test for TradWeight being 17031 used to run a query. 17032 17033Tue Nov 06 07:26:28 GMT 2007 Olly Betts <olly@survex.com> 17034 17035 * common/stats.h,matcher/bm25weight.cc,tests/api_anydb.cc: Fix bug in 17036 BM25Weight - in the case where k2 is non-zero, a non-initialised 17037 value influenced the weight calculations. By default k2 is zero, so 17038 this bug probably won't affect most users. 17039 17040Tue Nov 06 07:22:27 GMT 2007 Olly Betts <olly@survex.com> 17041 17042 * api/omenquire.cc,common/multimatch.h,matcher/multimatch.cc, 17043 net/remoteserver.cc: Modify MultiMatch::MultiMatch() to take a const 17044 pointer to Xapian::RSet rather than a const reference. This makes 17045 the code simpler for the case where we don't have an RSet. 17046 17047Tue Nov 06 05:47:38 GMT 2007 Olly Betts <olly@survex.com> 17048 17049 * api/omenquire.cc: Use ".empty()" not ".size() == 0". 17050 17051Mon Nov 05 21:05:45 GMT 2007 Olly Betts <olly@survex.com> 17052 17053 * m4/xapian.m4: Hook LT_INIT as well as AC_PROG_LIBTOOL and 17054 AM_PROG_LIBTOOL. 17055 17056Mon Nov 05 11:17:23 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 17057 17058 * docs/termgenerator.rst: Change a couple of instances of "terms" 17059 to "words" for clarity; the item from the input text is a word, 17060 and the result of processing is a term. 17061 17062Mon Nov 05 09:46:53 GMT 2007 Olly Betts <olly@survex.com> 17063 17064 * docs/admin_notes.rst: Note that this document is up-to-date for 17065 1.0.4. Improve the formatting a bit and fix a the odd typo. 17066 17067Mon Nov 05 06:24:01 GMT 2007 Olly Betts <olly@survex.com> 17068 17069 * tests/api_wrdb.cc: Fix MSVC warning. 17070 17071Mon Nov 05 06:21:09 GMT 2007 Olly Betts <olly@survex.com> 17072 17073 * matcher/queryoptimiser.h: Forward declare PosFilter as "struct" 17074 rather than "class", since it's defined as "struct". 17075 17076Mon Nov 05 05:41:01 GMT 2007 Olly Betts <olly@survex.com> 17077 17078 * api/sortable-serialise.cc: Suppress MSVC warning. 17079 17080Mon Nov 05 04:55:48 GMT 2007 Olly Betts <olly@survex.com> 17081 17082 * docs/quickstart.html: Improved. 17083 17084Mon Nov 05 04:43:13 GMT 2007 Olly Betts <olly@survex.com> 17085 17086 * docs/overview.html: More improvements from Jenny Black. 17087 17088Sun Nov 04 22:59:28 GMT 2007 Olly Betts <olly@survex.com> 17089 17090 * docs/overview.html: Assorted improvements to the start of this 17091 document. 17092 17093Sun Nov 04 22:54:13 GMT 2007 Olly Betts <olly@survex.com> 17094 17095 * api/omdocument.cc,tests/api_wrdb.cc: values_begin() didn't ensure 17096 that values had been read. However, values_end() did (and so did 17097 values_count()) so this wasn't generally an issue, but it shouldn't 17098 happen anyway. 17099 * tests/api_wrdb.cc: Extend adddoc5 to include a regression test for 17100 this bug. 17101 17102Sun Nov 04 22:44:39 GMT 2007 Olly Betts <olly@survex.com> 17103 17104 * tests/quartztest.cc: Remove 'FIXME' suggesting more value tests. 17105 * tests/api_nodb.cc: Add the suggested tests we don't already have. 17106 17107Sun Nov 04 19:23:52 GMT 2007 Olly Betts <olly@survex.com> 17108 17109 * tests/api_posdb.cc,tests/api_wrdb.cc: Use get_writable_database() 17110 instead of get_writable_database(""). 17111 * tests/api_wrdb.cc: Rework test_spell3 so it works under __WIN32__ 17112 (bug#177). 17113 17114Sun Nov 04 07:31:04 GMT 2007 Olly Betts <olly@survex.com> 17115 17116 * tests/harness/backendmanager.h: Make BackendManager dtor virtual as 17117 intended. 17118 17119Sun Nov 04 07:05:12 GMT 2007 Olly Betts <olly@survex.com> 17120 17121 * tests/api_wrdb.cc,tests/apitest.cc,tests/apitest.h,tests/harness/, 17122 tests/quartztest.cc: Extend BackendManager to allow opening a 17123 WritableDatabase as a Database as well, and to allow reopening a 17124 closed WritableDatabase as a WritableDatabase. With these new 17125 features, rework quartztest's adddoc2 and adddoc3 as apitest 17126 testcases adddoc5 and adddoc6. 17127 17128Sun Nov 04 06:08:42 GMT 2007 Olly Betts <olly@survex.com> 17129 17130 * tests/api_wrdb.cc,tests/apitest.cc,tests/apitest.h,tests/harness/: 17131 Add BackendManager::get_writable_database_as_database() and use it 17132 instead of assuming what the WritableDatabase path will be. 17133 17134Sun Nov 04 05:31:30 GMT 2007 Olly Betts <olly@survex.com> 17135 17136 * tests/,tests/harness/: Subclass BackendManager for each database 17137 backend supported, which should provide a better foundation on 17138 which we can rebuild to fix the nastier bits of the test harness. 17139 17140Fri Nov 02 17:39:58 GMT 2007 Olly Betts <olly@survex.com> 17141 17142 * INSTALL: zlib 1.2.0 apparently fixes a memory leak in deflateInit2, 17143 which we use, so that's another reason to prefer 1.2.x. 17144 17145Fri Nov 02 06:34:36 GMT 2007 Olly Betts <olly@survex.com> 17146 17147 * tests/harness/testsuite.cc: Fix extracting of valgrind error 17148 messages. 17149 17150Fri Nov 02 05:09:05 GMT 2007 Olly Betts <olly@survex.com> 17151 17152 * docs/bm25.html,docs/scalability.html: Remove references to Muscat 17153 3.6. 17154 17155Thu Nov 01 18:51:20 GMT 2007 Olly Betts <olly@survex.com> 17156 17157 * NEWS: Fix to talk about OP_VALUE_RANGE rather than 17158 ValueRangePostList since the later isn't user-visible. 17159 17160Thu Nov 01 18:16:20 GMT 2007 Olly Betts <olly@survex.com> 17161 17162 * matcher/exactphrasepostlist.cc: Fix memory leak if second memory 17163 allocation fails. 17164 17165Thu Nov 01 17:54:09 GMT 2007 Olly Betts <olly@survex.com> 17166 17167 * docs/intro_ir.html: Move the section on stemming to a better 17168 location. 17169 17170Thu Nov 01 17:37:40 GMT 2007 Jenny Black 17171 17172 * docs/glossary.rst: Fix typo. 17173 17174Thu Nov 01 06:34:58 GMT 2007 Olly Betts <olly@survex.com> 17175 17176 * matcher/multimatch.cc: Minor code simplification. 17177 17178Wed Oct 31 16:17:08 GMT 2007 Olly Betts <olly@survex.com> 17179 17180 * bin/xapian-check.cc: Fix to handle the special case of a term which 17181 is 48 characters long. Fix not to go into an infinite loop if 17182 certain checks fail. 17183 17184Wed Oct 31 15:56:45 GMT 2007 Olly Betts <olly@survex.com> 17185 17186 * matcher/multiandpostlist.cc: If the subpostlists are ORs and pruning 17187 or operator decay happens within them, then get_termfreq_est() can 17188 change such that the first postlist returns a higher value than 17189 the second, so remove a bogus assertion which assumed this didn't 17190 happen (bug#209). 17191 17192Wed Oct 31 15:43:58 GMT 2007 Olly Betts <olly@survex.com> 17193 17194 * backends/flint/flint_version.cc: I documented an increase in 17195 FLINT_VERSION but didn't increase it - luckily the previous version 17196 wasn't in a released version, so just adjust the comment to match 17197 what actually happened. 17198 17199Wed Oct 31 15:24:48 GMT 2007 Olly Betts <olly@survex.com> 17200 17201 * net/remoteconnection.cc: Add '#include <safeunistd.h>' (bug#208). 17202 17203Wed Oct 31 15:01:53 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 17204 17205 * bin/xapian-check.cc: Update the checking of the termlist table to 17206 stop checking for the "has_termfreqs" flag, which is no longer 17207 stored in termlists. 17208 17209Wed Oct 31 14:31:38 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 17210 17211 * backends/quartz/quartz_positionlist.cc: Add missing #include, 17212 which is needed only when configured with --enable-log and with 17213 --disable-assertions. 17214 17215Tue Oct 30 04:52:53 GMT 2007 Olly Betts <olly@survex.com> 17216 17217 * NEWS,configure.ac: Update for 1.0.4. 17218 17219Tue Oct 30 04:10:32 GMT 2007 Olly Betts <olly@survex.com> 17220 17221 * queryparser/queryparser.lemony: Code tweak. 17222 17223Tue Oct 30 03:04:04 GMT 2007 Olly Betts <olly@survex.com> 17224 17225 * tests/queryparsertest.cc: Add two more test cases to improve 17226 coverage. 17227 17228Tue Oct 30 00:13:42 GMT 2007 Olly Betts <olly@survex.com> 17229 17230 * tests/harness/testsuite.cc: abi::__cxa_demangle() requires GCC 3.1 17231 it seems. 17232 17233Mon Oct 29 23:14:41 GMT 2007 Olly Betts <olly@survex.com> 17234 17235 * docs/scalability.html: Update size of gmane. 17236 17237Mon Oct 29 23:13:00 GMT 2007 Olly Betts <olly@survex.com> 17238 17239 * docs/quartzdesign.html: Note that Quartz is now deprecated. 17240 17241Mon Oct 29 21:09:12 GMT 2007 Olly Betts <olly@survex.com> 17242 17243 * configure.ac,tests/harness/testsuite.cc: Demangle the name of 17244 the std::exception subclass for GCC, and handle compilation with 17245 -fno-rtti. 17246 17247Mon Oct 29 19:50:05 GMT 2007 Olly Betts <olly@survex.com> 17248 17249 * tests/harness/testsuite.cc: Catch std::exception subclasses 17250 explicitly and report e.what() (which gives the method name which 17251 threw, at least under GCC). 17252 17253Mon Oct 29 18:46:57 GMT 2007 Olly Betts <olly@survex.com> 17254 17255 * NEWS: Updated. 17256 17257Mon Oct 29 18:36:12 GMT 2007 Olly Betts <olly@survex.com> 17258 17259 * matcher/multimatch.cc: Pull out old_item.wt into a variable. 17260 17261Mon Oct 29 18:24:46 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 17262 17263 * queryparser/queryparser.lemony: Fix problem with spelling 17264 correction of hyphenated terms (or other terms joined with phrase 17265 generators): the position of the start of the term wasn't being 17266 reset for the second term in the generated phrase, resulting in 17267 out of bounds errors when substituting the new value in the 17268 corrected query string. 17269 * tests/queryparsertest.cc: Test the fix. 17270 17271Mon Oct 29 17:34:17 GMT 2007 Olly Betts <olly@survex.com> 17272 17273 * docs/deprecation.rst: Move "Stem::stem_word(word)" in the bindings 17274 to the right section (it was done in 1.0.0, as already indicated). 17275 Deprecate the non-pythonic iterators in favour of the pythonic ones. 17276 17277Mon Oct 29 02:54:09 GMT 2007 Olly Betts <olly@survex.com> 17278 17279 * NEWS,api/Makefile.mk,docs/Makefile.am,include/Makefile.mk, 17280 include/xapian.h,tests/api_db.cc,tests/api_nodb.cc, 17281 tests/api_wrdb.cc: Back out match spy changes in preparation for 17282 creating a branch for them. 17283 17284Mon Oct 29 02:37:31 GMT 2007 Olly Betts <olly@survex.com> 17285 17286 * matcher/valuerangepostlist.cc: Fix 17287 ValueRangeProcessor::get_termfreq_est() and get_termfreq_max() to 17288 work when at_end() when paranoid assertions are enabled. 17289 17290Mon Oct 29 01:51:07 GMT 2007 Olly Betts <olly@survex.com> 17291 17292 * common/omenquireinternal.h: Add ESetItem::swap() and 17293 MSetItem::swap(). 17294 17295Sun Oct 28 16:33:34 GMT 2007 Olly Betts <olly@survex.com> 17296 17297 * PLATFORMS: Update from tinderbox and buildbot. 17298 17299Sun Oct 28 06:00:23 GMT 2007 Olly Betts <olly@survex.com> 17300 17301 * matcher/queryoptimiser.cc: Remove unused variable. 17302 17303Sun Oct 28 05:46:28 GMT 2007 Olly Betts <olly@survex.com> 17304 17305 * docs/remote.html: xapian-tcpsrv can handle concurrent read access 17306 so update the out-of-date information here. Also, some new features 17307 aren't supported by the remote backend yet. 17308 17309Sun Oct 28 05:20:02 GMT 2007 Olly Betts <olly@survex.com> 17310 17311 * include/xapian/queryparser.h: Update documentation comment for 17312 QueryParser::set_stemming_strategy(). 17313 17314Sun Oct 28 05:03:03 GMT 2007 Olly Betts <olly@survex.com> 17315 17316 * queryparser/queryparser.lemony: Fix handling of STEM_ALL. 17317 * tests/queryparsertest.cc: Update tests. Move tables of queries to 17318 before the test functions which use them. 17319 17320Sat Oct 27 20:50:57 BST 2007 Olly Betts <olly@survex.com> 17321 17322 * api/omqueryinternal.cc,include/xapian/query.h, 17323 matcher/queryoptimiser.cc: Eliminate Query::Internal::dbl_parameter 17324 to avoid any risk of ABI breakage. 17325 17326Sat Oct 27 17:08:46 BST 2007 Olly Betts <olly@survex.com> 17327 17328 * include/xapian/query.h: Pull in <xapian/deprecated.h> explicitly. 17329 Add @deprecated note to Query::Query(Query::op, Query) explaining 17330 why it is deprecated. 17331 * include/xapian/queryparser.h: Wrap comment better. 17332 17333Sat Oct 27 05:37:33 BST 2007 Olly Betts <olly@survex.com> 17334 17335 * NEWS: Merge two "testsuite" sections in draft 1.0.4 entry. 17336 17337Sat Oct 27 02:34:10 BST 2007 Olly Betts <olly@survex.com> 17338 17339 * HACKING: Note specifically that std::list::size() is O(n) for GCC. 17340 Update the debian packaging checklist. 17341 17342Sat Oct 27 02:33:14 BST 2007 Olly Betts <olly@survex.com> 17343 17344 * docs/intro_ir.html: Add link to the forthcoming book 17345 "Introduction to Information Retrieval", which can be read online. 17346 17347Sat Oct 27 02:22:36 BST 2007 Olly Betts <olly@survex.com> 17348 17349 * docs/Makefile.am: We no longer build sourcedoc.pdf so remove it from 17350 MAINTAINERCLEANFILES. 17351 17352Sat Oct 27 02:20:31 BST 2007 Olly Betts <olly@survex.com> 17353 17354 * NEWS: Mostly updated for 1.0.4. 17355 17356Fri Oct 26 04:57:31 BST 2007 Olly Betts <olly@survex.com> 17357 17358 * api/omqueryinternal.cc: OP_SCALE_WEIGHT applied to MatchNothing is 17359 now handled by the Query ctor, so replace the code to handle 17360 OP_SCALE_WEIGHT in Query::Internal::simplify_matchnothing() by an 17361 assertion that the subquery isn't MatchNothing. 17362 17363Fri Oct 26 04:50:37 BST 2007 Olly Betts <olly@survex.com> 17364 17365 * include/xapian/query.h: Deprecate the essentially useless 17366 constructor Query(Query::op, Query). 17367 * docs/deprecation.rst: Note this deprecation, and since the feature 17368 doesn't actually have a use, schedule it for 1.1.0. Also schedule 17369 Enquire::register_match_decider() for 1.1.0 for the same reason. 17370 17371Fri Oct 26 01:00:08 BST 2007 Olly Betts <olly@survex.com> 17372 17373 * api/omquery.cc,include/xapian/query.h: OP_SCALE_WEIGHT applied to 17374 OP_VALUE_RANGE can have no effect so ignore it. 17375 * tests/queryparsertest.cc: Update expected query descriptions. 17376 17377Fri Oct 26 00:23:55 BST 2007 Olly Betts <olly@survex.com> 17378 17379 * matcher/multimatch.cc: When checkatleast is set, and we're sorting 17380 by relevance with forward ordering by docid, and the query is pure 17381 boolean, we were exiting before the checkatleast requirement was 17382 satisfied. Then the adjustments made to the estimated and max 17383 statistics based on checkatleast meant we claimed there were 17384 exactly msize results. 17385 17386Thu Oct 25 00:34:14 BST 2007 Olly Betts <olly@survex.com> 17387 17388 * matcher/localmatch.cc,matcher/multiandpostlist.cc, 17389 matcher/queryoptimiser.cc,queryparser/queryparser.cc: Fix build 17390 with --enable-assertions and --enable-log. 17391 17392Wed Oct 24 06:29:03 BST 2007 Olly Betts <olly@survex.com> 17393 17394 * queryparser/queryparser.lemony: Drop out of IN_GROUP mode when we 17395 generate a BOOLEAN_FILTER token. 17396 * tests/queryparsertest.cc: Add regression test. 17397 17398Wed Oct 24 06:08:29 BST 2007 Olly Betts <olly@survex.com> 17399 17400 * queryparser/queryparser.lemony: Drop special treatment for unmatched 17401 ')' at the start of the query, as it seems rather arbitrary and not 17402 particularly useful. Reparsing seems a better approach here. 17403 * tests/queryparsertest.cc: Add regression test case for bug which 17404 dropping this special case fixes. 17405 17406Wed Oct 24 05:25:40 BST 2007 Olly Betts <olly@survex.com> 17407 17408 * AUTHORS: Add Ron Kass for several bug reports. 17409 17410Wed Oct 24 05:13:01 BST 2007 Olly Betts <olly@survex.com> 17411 17412 * queryparser/queryparser.lemony: Fix parsing of queries which consist 17413 only of boolean filter terms and HATE-d terms. 17414 * tests/queryparsertest.cc: Add regression tests, and a few more cases 17415 which passed before too. Fix descriptions of queries which now give 17416 different (but equivalent) Xapian::Query object hierarchies. 17417 17418Wed Oct 24 04:51:56 BST 2007 Olly Betts <olly@survex.com> 17419 17420 * queryparser/queryparser.lt: Fix warning in debug log build. 17421 17422Wed Oct 24 04:41:08 BST 2007 Olly Betts <olly@survex.com> 17423 17424 * backends/flint/flint_table.cc,backends/flint/flint_table.h: Don't 17425 use class member function pointers to implement FlintTable::next() 17426 and FlintTable::prev() as we can just call the methods directly 17427 based on the sequential flag. Profiling suggests this speeds up 17428 searches a little, the two pointers take up 16 bytes each (on 17429 x86_64) so it reduces the class size by up to 32 bytes, and the code 17430 is simpler because we no longer need to update prev_ptr and 17431 next_ptr. 17432 17433Wed Oct 24 00:16:06 BST 2007 Olly Betts <olly@survex.com> 17434 17435 * api/omqueryinternal.cc: Tweak Query::get_description() to describe 17436 OP_SCALE_WEIGHT queries as '<factor> * <subquery>' rather than 17437 '<subquery> * <factor>' as the former results in more readable 17438 descriptions. 17439 * queryparser/queryparser.lemony: Use OP_SCALE_WEIGHT with factor 0.0 17440 for queries which should be purely boolean which resolves a FIXME 17441 comment in the code. 17442 * tests/queryparsertest.cc: Fix expected results for this change. 17443 17444Tue Oct 23 19:13:08 BST 2007 Olly Betts <olly@survex.com> 17445 17446 * queryparser/queryparser.lemony: Some as_XXX() methods delete the 17447 object they are called on, while others don't, so rename the ones 17448 which don't to get_XXX() to make the code clearer, and make them 17449 all return Query rather than Query *. Eliminate Term::as_query() 17450 completely - when we actually want a new object we can just call 17451 new in the caller. op_window_query() now takes the difference 17452 between the number of terms and the total window size, and we now 17453 use a std::vector to store the generated Query objects rather than 17454 a std::list, since we know how many there will be and can reserve 17455 the required size in advance. 17456 17457Tue Oct 23 18:33:49 BST 2007 Olly Betts <olly@survex.com> 17458 17459 * queryparser/queryparser.lemony: Improve comment. 17460 17461Mon Oct 22 21:00:05 BST 2007 Olly Betts <olly@survex.com> 17462 17463 * queryparser/queryparser.lemony: Fix handling of LOVE and HATE 17464 following a quoted phrase. 17465 * tests/queryparsertest.cc: Add regression test. 17466 17467Mon Oct 22 05:23:23 BST 2007 Olly Betts <olly@survex.com> 17468 17469 * queryparser/queryparser.lemony: Refactor so Term::as_query() calls 17470 Term::as_query_object() instead of vice versa, as this avoids 17471 calling 'new Query' quite a bit and makes a measurable difference 17472 to the speed of the QueryParser. Fix a call to as_query() which 17473 can be as_query_object(). 17474 17475Mon Oct 22 04:10:17 BST 2007 Olly Betts <olly@survex.com> 17476 17477 * queryparser/queryparser.lemony: FLAG_PARTIAL with multi-prefixes 17478 would result in inflated wqf for the "normal" version of the term 17479 treated as partial. 17480 * tests/queryparsertest.cc: Add regression test. 17481 17482Mon Oct 22 02:34:58 BST 2007 Olly Betts <olly@survex.com> 17483 17484 * queryparser/queryparser.lemony,queryparser/queryparser_internal.h: 17485 Rename QueryParser::Internal::prefixes to prefixmap to avoid 17486 confusion with all the other variables which are now called 17487 "prefixes" in queryparser.lemony. Eliminate have_prefix and 17488 instead just set prefixinfo to NULL by default. 17489 17490Sun Oct 21 23:56:57 BST 2007 Olly Betts <olly@survex.com> 17491 17492 * common/omenquireinternal.h,include/xapian/enquire.h, 17493 include/xapian/query.h,matcher/: Implement a new QueryOptimiser 17494 class which can hoist the positional filters of OP_PHRASE and 17495 OP_NEAR higher up the tree and merge the "AND" inside them into 17496 any neighbouring OP_AND or OP_FILTER (bug#23). This shaves 10% of 17497 the execution time of real world queries on real world data. On 17498 particularly slow cases, the saving can be more dramatic - it 17499 saves 50% when tested on a log of slow cases. OP_SCALE_WEIGHT 17500 scaling factors are now pushed down to the leaves and any leaf 17501 we a factor other than 0.0 (boolean) or 1.0 (unscaled) has 17502 its weights scaled using a ScaleWeight wrapper around the normal 17503 weighting object (bug#203). 17504 17505Sun Oct 21 23:46:11 BST 2007 Olly Betts <olly@survex.com> 17506 17507 * include/xapian/query.h: Fix documentation of OP_SCALE_WEIGHT. 17508 Negative scaling factors aren't now clipped to 0, instead we 17509 throw Xapian::InvalidArgumentError. Remove the explicit setting of 17510 OP_ELITE_SET to 10 which is no longer required. Wrap a long comment 17511 line. 17512 17513Sun Oct 21 23:20:23 BST 2007 Olly Betts <olly@survex.com> 17514 17515 * tests/api_anydb.cc: Tweak code and wrap comment. 17516 17517Sun Oct 21 04:53:40 BST 2007 Olly Betts <olly@survex.com> 17518 17519 * matcher/extraweightpostlist.h: Add missing '#include "multimatch.h"' 17520 which is pulled in implicitly by some other header which always 17521 happens to be included before this one. 17522 17523Fri Oct 19 03:52:17 BST 2007 Olly Betts <olly@survex.com> 17524 17525 * docs/deprecation.rst: Remove deprecation of 17526 QueryParser::add_prefix() and QueryParser::add_boolean_prefix(). 17527 Reformat the tables to use the "simple table" style, and to all be 17528 126 columns wide, since that fits in a maximised terminal window 17529 without wrapping (at least on my machine!) 17530 17531Fri Oct 19 03:44:33 BST 2007 Olly Betts <olly@survex.com> 17532 17533 * include/xapian/queryparser.h,queryparser/queryparser.cc, 17534 queryparser/queryparser.lemony,queryparser/queryparser_internal.h, 17535 tests/queryparsertest.cc: Since calling QueryParser::add_prefix() 17536 or QueryParser::add_boolean_prefix() a second time with the same 17537 field name was ignored before (rather than overriding as we had 17538 thought) it seems reasonable to change this behaviour. This 17539 also avoids the need to deprecate these methods which will force all 17540 users to update their code. Change the semantics of default_prefix 17541 - it's more useful if this overrides any default prefixes set with 17542 add_prefix(), since this allows the same QueryParser object to 17543 parse both a "general" search input which searches several fields 17544 and also a "title" search input. Trying to set the same field 17545 as probabilistic and boolean now throws InvalidOperationError 17546 rather than UnimplementedError. 17547 17548Fri Oct 19 03:29:53 BST 2007 Olly Betts <olly@survex.com> 17549 17550 * queryparser/queryparser.lt: Fix compilation. 17551 17552Fri Oct 19 03:28:37 BST 2007 Olly Betts <olly@survex.com> 17553 17554 * docs/Makefile.am: We're still getting "info" messages in the 17555 generated HTML. It seems to be impossible to get rst2html to 17556 report "info" messages to stdout without adding them to the 17557 generated document, so just drop "--verbose" to disable them 17558 completely. 17559 17560Thu Oct 18 18:27:28 BST 2007 Olly Betts <olly@survex.com> 17561 17562 * queryparser/queryparser.lt: Use std::vector<> for the stack in the 17563 lemon-generated parser. This means that the stack is no longer a 17564 fixed size, so we needn't worry about overflow, and that in typical 17565 use it'll actually use less memory (lemon defaults to a 100 entry 17566 stack). 17567 17568Thu Oct 18 17:23:45 BST 2007 Olly Betts <olly@survex.com> 17569 17570 * languages/turkish.sbl: Minimise differences with Snowball SVN HEAD 17571 by stripping trailing whitespace. 17572 17573Mon Oct 15 15:39:26 BST 2007 Olly Betts <olly@survex.com> 17574 17575 * backends/quartz/btree_util.h: Need "safeunistd.h" for close(). 17576 Fixes build errors on mingw and with SGI's CC on IRIX. 17577 17578Mon Oct 15 05:30:23 BST 2007 Olly Betts <olly@survex.com> 17579 17580 * matcher/localmatch.cc: Fix typo in comment. 17581 17582Mon Oct 15 05:26:35 BST 2007 Olly Betts <olly@survex.com> 17583 17584 * common/omassert.h: Rewritten from scratch. The new version only 17585 includes headers if assertions are enabled, which should help 17586 to speed up non-assertion builds by reducing unnecessary header 17587 inclusion. Also, float.h and math.h are never now pulled in - 17588 instead we use the new within_DBL_EPSILON() function. AssertNe() 17589 and AssertNeParanoid() are never actually used, so replace them with 17590 AssertRel() and AssertRelParanoid which allow the user to assert any 17591 binary relation, not just inequality. Also, we now use rare() to 17592 give branch prediction hints for assertion tests (since the failure 17593 branch should never be taken). 17594 * common/omdebug.h,common/stringutils.h,tests/harness/testsuite.h: 17595 Replace several definitions of the STRINGIZE macro with a single 17596 version in common/stringutils.h. 17597 * backends/flint/,backends/inmemory/inmemory_database.cc, 17598 backends/multi/multi_postlist.cc,backends/quartz/, 17599 backends/remote/remote-database.cc,bin/quartzcheck.cc, 17600 bin/xapian-compact.cc,common/stringutils.h,expand/expandweight.cc, 17601 expand/ortermlist.cc,matcher/phrasepostlist.cc, 17602 matcher/scaleweightpostlist.cc,net/remoteconnection.cc, 17603 net/tcpserver.cc: Explicitly include headers which were previously 17604 being pulled in implicitly by omassert.h. 17605 * HACKING: Update the documentation for assertion calls, and document 17606 CompileTimeAssert() (which previously wasn't documented here). 17607 17608Mon Oct 15 05:09:15 BST 2007 Olly Betts <olly@survex.com> 17609 17610 * common/utils.cc,common/utils.h: Add within_DBL_EPSILON() function 17611 which returns true if its two double arguments differ by less 17612 than DBL_EPSILON (currently not used anywhere). 17613 17614Mon Oct 15 05:03:50 BST 2007 Olly Betts <olly@survex.com> 17615 17616 * matcher/multiandpostlist.cc: If check sets valid to true, we can't 17617 be at_end(), so check valid first as at_end() is a rare event. 17618 17619Mon Oct 15 05:00:18 BST 2007 Olly Betts <olly@survex.com> 17620 17621 * matcher/: Remove code for FilterPostList, which has been unused for 17622 ages. 17623 17624Sun Oct 14 02:13:57 BST 2007 Olly Betts <olly@survex.com> 17625 17626 * matcher/andpostlist.cc: AndPostList now ensures that its left is 17627 less frequent than its right (it can still be produced as an 17628 operator decay product, and sometimes left is more frequent when 17629 this happens). 17630 17631Sun Oct 14 00:58:20 BST 2007 Olly Betts <olly@survex.com> 17632 17633 * matcher/multimatch.cc: Use rare() to mark rarely taken branches. 17634 17635Sun Oct 14 00:30:46 BST 2007 Olly Betts <olly@survex.com> 17636 17637 * configure.ac: Add rare() and usual() macros to config.h which allow 17638 branch prediction hints to be given for compilers which support this 17639 (currently GCC and Intel C++). 17640 * HACKING: Document rare() and usual(). 17641 17642Sat Oct 13 22:37:32 BST 2007 Olly Betts <olly@survex.com> 17643 17644 * HACKING: Improve wording. 17645 17646Sat Oct 13 16:42:26 BST 2007 Olly Betts <olly@survex.com> 17647 17648 * api/postlist.cc,common/postlist.h,matcher/: Implement a variant of 17649 PostList::skip_to() called PostList::check() which isn't required 17650 to leave the PostList on a particular docid. This allows queries 17651 filtered by a ValueRangePostList to run around 3.5 times faster. 17652 Fixes buf#164, though there's probably scope for at least some 17653 further improvement. 17654 17655Sat Oct 13 16:08:07 BST 2007 Olly Betts <olly@survex.com> 17656 17657 * matcher/multiandpostlist.cc: Fix typo bug (get_termfreq_min 17658 should be get_termfreq_max!) 17659 17660Sat Oct 13 15:53:52 BST 2007 Olly Betts <olly@survex.com> 17661 17662 * matcher/multiandpostlist.cc: Fix assertion (should be <= not <). 17663 17664Fri Oct 12 01:20:05 BST 2007 Olly Betts <olly@survex.com> 17665 17666 * HACKING: Note that rst2html may be installed as rst2html.py. 17667 17668Fri Oct 12 01:10:11 BST 2007 Olly Betts <olly@survex.com> 17669 17670 * matcher/localmatch.cc: Tweak formatting. 17671 17672Thu Oct 11 22:58:36 BST 2007 Olly Betts <olly@survex.com> 17673 17674 * tests/: svn:ignore: Add termgentest and termgentest.exe. 17675 17676Thu Oct 11 16:18:03 BST 2007 Olly Betts <olly@survex.com> 17677 17678 * configure.ac: If rst2html isn't found, also look for rst2html.py, 17679 which archlinux reportedly installs it as. 17680 17681Thu Oct 11 16:09:20 BST 2007 Olly Betts <olly@survex.com> 17682 17683 * matcher/: Round the result of all get_termfreq_est() calculations to 17684 the nearest integer instead of rounding down. 17685 17686Thu Oct 11 15:40:48 BST 2007 Olly Betts <olly@survex.com> 17687 17688 * matcher/: Add new PostList subclass MultiAndPostList which handles 17689 a multi-way AND operation in a single class. This allows us to 17690 optimise some cases of 3 or more way AND operations much better 17691 and gives a 16-17% performance improvement in tests using real-world 17692 query logs. 17693 * tests/api_anydb.cc: MultiAndPostList rounds get_termfreq_est() 17694 calculations to the nearest integer (rather than always rounding 17695 down) so adjust the expected answers in test_matches. 17696 17697Thu Oct 11 15:14:27 BST 2007 Olly Betts <olly@survex.com> 17698 17699 * matcher/selectpostlist.cc: Explicitly qualify next() as 17700 SelectPostList::next(). 17701 17702Thu Oct 11 13:04:40 BST 2007 Olly Betts <olly@survex.com> 17703 17704 * README: Remove the ancient history lesson - this material is better 17705 left to the history page on the website. 17706 17707Thu Oct 11 00:33:34 BST 2007 Olly Betts <olly@survex.com> 17708 17709 * matcher/branchpostlist.h: Fix comment typo. 17710 17711Thu Oct 11 00:28:29 BST 2007 Olly Betts <olly@survex.com> 17712 17713 * api/postlist.cc,backends/flint/flint_alldocspostlist.cc, 17714 backends/flint/flint_alldocspostlist.h,common/postlist.h,matcher/: 17715 Eliminate several implementations of open_position_list and 17716 read_position_list in favour of default ones in the PostList base 17717 class which throw InvalidOperationError. Change the default 17718 get_wdf implementation to also throw InvalidOperationError. 17719 17720Wed Oct 10 22:27:44 BST 2007 Olly Betts <olly@survex.com> 17721 17722 * docs/install.html: Improve the remainder. This documents now just 17723 gives a brief overview of building, suitable for most common cases, 17724 and defers to the INSTALL document in each tarball for more details. 17725 17726Wed Oct 10 21:51:39 BST 2007 Olly Betts <olly@survex.com> 17727 17728 * common/leafpostlist.h: Rewrite header. 17729 * api/Makefile.mk,api/leafpostlist.cc: Add new source file for 17730 virtual, and non-trivial, non-virtual, methods of LeafPostList. 17731 * api/omdatabase.cc,backends/inmemory/inmemory_database.h, 17732 backends/multi/multi_postlist.cc,backends/multi/multi_postlist.h, 17733 backends/remote/net_postlist.h,common/emptypostlist.h: Add missing 17734 '#include "omassert.h"' which was previously pulled in implicitly 17735 via '#include "leafpostlist.h"'. 17736 * backends/inmemory/inmemory_database.h: Remove unused '#include 17737 <stdlib.h>'. 17738 * backends/multi/multi_postlist.cc,backends/multi/multi_postlist.h: 17739 MultiPostList::set_termweight() is never used, so eliminate it. 17740 * backends/remote/net_postlist.cc: Rename parameter "weight" to 17741 "min_weight" to avoid clash with new member variable of 17742 LeafPostList. 17743 * matcher/emptysubmatch.cc,matcher/localmatch.cc: Don't call 17744 LeafPostList::set_termweight() with a BoolWeight object - the 17745 default behaviour is now equivalent. 17746 17747Wed Oct 10 18:18:09 BST 2007 Olly Betts <olly@survex.com> 17748 17749 * docs/install.html: Improve the first half. 17750 17751Wed Oct 10 16:32:57 BST 2007 Olly Betts <olly@survex.com> 17752 17753 * common/postlist.h: Rewrite header. 17754 * api/Makefile.mk,api/postlist.cc: Add new source file for virtual 17755 methods of Xapian::PostingIterator::Internal. 17756 * api/omdatabase.cc,backends/flint/flint_postlist.h, 17757 backends/quartz/quartz_alldocspostlist.cc, 17758 backends/quartz/quartz_postlist.h,matcher/valuerangepostlist.cc: 17759 Add missing '#include "autoptr.h"' which was previously pulled in 17760 implicitly via '#include "postlist.h"'. 17761 17762Wed Oct 10 16:25:08 BST 2007 Olly Betts <olly@survex.com> 17763 17764 * tests/quartztest.cc: Remove quartztest's test_postlist1 and 17765 test_postlist2. 17766 * tests/api_db.cc: Enhance test_termstats to cover part of the removed 17767 tests. Enhance test_postlist1 to check more long terms. Eliminate 17768 the helper function from test_postlist3. 17769 * tests/api_wrdb.cc: Add test_postlist7 to cover the rest of what the 17770 removed tests checked which isn't already checked elsewhere. 17771 17772Wed Oct 10 02:29:44 BST 2007 Olly Betts <olly@survex.com> 17773 17774 * HACKING: Update the release checklist. 17775 17776Wed Oct 10 02:01:03 BST 2007 Olly Betts <olly@survex.com> 17777 17778 * matcher/scaleweightpostlist.cc,matcher/scaleweightpostlist.h: Move 17779 virtual dtor definition out of header. 17780 17781Wed Oct 10 01:41:05 BST 2007 Olly Betts <olly@survex.com> 17782 17783 * matcher/msetpostlist.cc: Avoid virtual method overhead in 17784 MSetPostList::recalc_maxweight(). 17785 17786Wed Oct 10 00:16:00 BST 2007 Olly Betts <olly@survex.com> 17787 17788 * common/expandweight.h,expand/expand.cc,expand/expandweight.cc: We 17789 never actually use ExpandWeight::get_maxweight(), so remove it. 17790 17791Tue Oct 09 16:27:54 BST 2007 Olly Betts <olly@survex.com> 17792 17793 * backends/flint/flint_database.cc,backends/flint/flint_version.cc, 17794 backends/flint/flint_version.h: Don't try to upgrade a flint 17795 database if we're only reading it, or it's already the latest 17796 version. 17797 17798Mon Oct 08 10:14:57 BST 2007 Richard Boulton <richard@lemurconsulting.com> 17799 17800 * tests/api_nodb.cc: Rename test_scaleweightmatchnothing1 to 17801 test_scaleweight3 so all the scaleweight tests can be run 17802 together more easily. Add test_scaleweight4 to test that scaling 17803 by a weight close to 1 is optimised away. 17804 17805Sun Oct 07 12:20:14 BST 2007 Olly Betts <olly@survex.com> 17806 17807 * include/xapian/database.h: Add explicit note that 17808 Database::get_metadata() returns an empty string when the backend 17809 doesn't support user-specified metadata, and that 17810 WritableDatabase::set_metadata() throws UnimplementedError in this 17811 case. Add note about current behaviour with multidatabases. 17812 17813Sun Oct 07 10:58:24 BST 2007 Olly Betts <olly@survex.com> 17814 17815 * api/omqueryinternal.cc: No need to use AutoPtr<> here now. 17816 17817Sun Oct 07 10:54:05 BST 2007 Richard Boulton <richard@lemurconsulting.com> 17818 17819 * common/remoteprotocol.h: Bump the network protocol minor 17820 revision, since we've added a query operator (OP_SCALE_WEIGHT) 17821 and the server will need to be updated to understand serialised 17822 queries containing it. 17823 17824Sun Oct 07 01:54:43 BST 2007 Richard Boulton <richard@lemurconsulting.com> 17825 17826 * api/omqueryinternal.cc,include/xapian/query.h,matcher/, 17827 tests/api_anydb.cc,tests/api_nodb.cc,tests/internaltest.cc: 17828 Rename OP_MULT_WEIGHT to OP_SCALE_WEIGHT and MultWeight to 17829 ScaleWeight, and move it to before OP_MULT_WEIGHT (to remove the 17830 gap in the enum). 17831 Don't do an epsilon test to compare the weight to zero (when 17832 checking if it's effectively a boolean query) - do an exact 17833 comparison instead. Raise an exception if the parameter for 17834 OP_SCALE_WEIGHT is < 0 (instead of clipping it to 0). Adjust 17835 weights accordingly. 17836 Add test_scaleweight2() to test a query with some weights 17837 multiplied by 0, and some by a different factor. 17838 17839Wed Oct 03 17:23:02 BST 2007 Richard Boulton <richard@lemurconsulting.com> 17840 17841 * api/omqueryinternal.cc,tests/api_nodb.cc: Fix (and test) for a 17842 double delete if OP_MULT_WEIGHT was applied to an empty query. 17843 17844Mon Oct 01 13:20:39 BST 2007 Richard Boulton <richard@lemurconsulting.com> 17845 17846 * NEWS: Update 17847 * net/remoteconnection.cc: Back out previous change - I was 17848 confused, the code was previously fine, and the change broke it. 17849 17850Mon Oct 01 13:13:48 BST 2007 Richard Boulton <richard@lemurconsulting.com> 17851 17852 * api/omqueryinternal.cc: Fix access of uninitialised member when 17853 unserialising a mult-weight query. 17854 * tests/internaltest.cc: Add a regression test for unserialisationg 17855 of mult-weight queries. 17856 17857Mon Oct 01 13:11:24 BST 2007 Richard Boulton <richard@lemurconsulting.com> 17858 17859 * net/remoteconnection.cc: After calling read(), check for received 17860 == 0 after checking for errors, so that if an EINTR occurs in 17861 read, we don't report EOF instead of retrying. 17862 17863Sun Sep 30 23:20:34 BST 2007 Richard Boulton <richard@lemurconsulting.com> 17864 17865 * api/omquery.cc,api/omqueryinternal.cc,include/xapian/query.h: Add 17866 OP_MULT_WEIGHT operator, and a new Query constructor which takes 17867 a single subquery and a "double" parameter - currently only 17868 useful for OP_MULT_WEIGHT. Add dbl_parameter to Query::Internal, 17869 to hold this parameter. Add serialisation of OP_MULT_WEIGHT 17870 using "." to represent the operator. Drop OP_MULT_WEIGHT 17871 operators which have a parameter of 1 (or very close) when 17872 simplifying, since these have no effect. 17873 * matcher/multweightpostlist.cc,matcher/multweightpostlist.h: New 17874 files, implementing a postlist which multiplies the weights from 17875 its single sub-postlist by a parameter. 17876 * matcher/Makefile.mk: Add new files. 17877 * matcher/localmatch.cc: Add support for the OP_MULT_WEIGHT query 17878 operator, which produces a MultWeightPostList if the associated 17879 parameter is greater than DBL_EPSILON, and produces a boolean query 17880 otherwise. 17881 * tests/api_anydb.cc: Add tests for OP_MULT_WEIGHT operator with 17882 various queries, and various multipliers. 17883 * NEWS: Update 17884 17885Sun Sep 30 23:13:29 BST 2007 Richard Boulton <richard@lemurconsulting.com> 17886 17887 * tests/harness/testsuite.h: Add TEST_NOT_EQUAL_DOUBLE() macro. 17888 * tests/harness/testsuite.cc: Add special 17889 case to TEST_EQUAL_DOUBLE_() for exact equality of the supplied 17890 arguments. This is tidier in general, because it avoids "inf" 17891 being produces by the calculation, but is only actually necessary 17892 in the case where the arguments are both exactly 0; it all works 17893 out nicely for other values of the arguments. 17894 17895Sun Sep 30 21:12:40 BST 2007 Richard Boulton <richard@lemurconsulting.com> 17896 17897 * tests/queryparsertest.cc: #define XAPIAN_DEPRECATED to disable 17898 compiler warnings about the deprecated forms of add_prefix() and 17899 add_boolean_prefix(). 17900 17901Sun Sep 30 21:07:25 BST 2007 Richard Boulton <richard@lemurconsulting.com> 17902 17903 * api/Makefile.mk,docs/Makefile.am,docs/deprecation.rst, 17904 include/Makefile.mk,include/xapian.h,include/xapian/queryparser.h, 17905 queryparser/queryparser.cc,queryparser/queryparser.lemony, 17906 queryparser/queryparser_internal.h,tests/: Re-apply changes which 17907 needed more thought or more work before being included in a 17908 release. 17909 * NEWS: Update with current descriptions of these changes. 17910 17911Sun Sep 30 20:22:25 BST 2007 Richard Boulton <richard@lemurconsulting.com> 17912 17913 * tests/valgrind.supp: Add further suppressions needed for the 17914 version of zlib on ubuntu gutsy. 17915 17916Fri Sep 28 15:38:18 BST 2007 Olly Betts <olly@survex.com> 17917 17918 * NEWS: Final (?) update for 1.0.3. 17919 17920Fri Sep 28 15:37:22 BST 2007 Olly Betts <olly@survex.com> 17921 17922 * PLATFORMS: Another small update. 17923 17924Fri Sep 28 15:30:17 BST 2007 Olly Betts <olly@survex.com> 17925 17926 * HACKING: Add link to the 1.0.N tracker bug. 17927 17928Fri Sep 28 14:04:06 BST 2007 Olly Betts <olly@survex.com> 17929 17930 * PLATFORMS: More updates. 17931 17932Fri Sep 28 13:45:51 BST 2007 Richard Boulton <richard@lemurconsulting.com> 17933 17934 * include/xapian/database.h: Document that empty metadata keys will 17935 cause an exception from get_metadata() and set_metadata(). 17936 * api/omdatabase.cc: Cause empty metadata keys to raise an 17937 InvalidArgumentError if they're passed to set_metadata() or 17938 get_metadata(). 17939 * tests/api_wrdb.cc: Add test_metadata3, to check behaviour with an 17940 empty metadata key. 17941 17942Fri Sep 28 13:30:49 BST 2007 Olly Betts <olly@survex.com> 17943 17944 * PLATFORMS: Updates from tinderbox. 17945 17946Fri Sep 28 13:22:16 BST 2007 Olly Betts <olly@survex.com> 17947 17948 * include/xapian/database.h: Clarify support for empty metadata keys. 17949 17950Fri Sep 28 11:00:08 BST 2007 Richard Boulton <richard@lemurconsulting.com> 17951 17952 * tests/valgrind.supp: Add second version of the zlib end condition 17953 check which works for the version of zlib in Ubuntu gutsy; ie, 17954 version 1.2.3.3, where the error occurs in the function called 17955 directly by deflate, rather than two levels below it. 17956 17957Fri Sep 28 03:11:11 BST 2007 Olly Betts <olly@survex.com> 17958 17959 * configure.ac: Update for 1.0.3. 17960 17961Fri Sep 28 03:05:10 BST 2007 Olly Betts <olly@survex.com> 17962 17963 * api/Makefile.mk,docs/Makefile.am,docs/deprecation.rst, 17964 include/Makefile.mk,include/xapian.h,include/xapian/queryparser.h, 17965 queryparser/queryparser.cc,queryparser/queryparser.lemony, 17966 queryparser/queryparser_internal.h,tests/: Back out changes which 17967 need more thought or more work in the interests of getting 1.0.3 17968 out this month. 17969 17970Fri Sep 28 03:04:19 BST 2007 Olly Betts <olly@survex.com> 17971 17972 * NEWS: Update with recent changes. 17973 17974Fri Sep 28 01:55:42 BST 2007 Olly Betts <olly@survex.com> 17975 17976 * docs/deprecation.rst: Revert to the previous deprecation policy. 17977 17978Fri Sep 28 01:20:34 BST 2007 Olly Betts <olly@survex.com> 17979 17980 * include/xapian/enquire.h: Rephrase since "should be in the MSet" 17981 might be misunderstood. 17982 17983Fri Sep 28 01:12:47 BST 2007 Olly Betts <olly@survex.com> 17984 17985 * AUTHORS,docs/Makefile.am,docs/glossary.rst,docs/index.html: Add 17986 glossary put together by Jenny Black, also incorporating entries 17987 from Deron Meranda's glossary on the wiki. 17988 17989Thu Sep 27 23:06:30 BST 2007 Olly Betts <olly@survex.com> 17990 17991 * docs/stemming.html: Reorder the initial paragraphs so we actually 17992 answer the question "What is a stemming algorithm?" up front. 17993 17994Thu Sep 27 22:15:36 BST 2007 Olly Betts <olly@survex.com> 17995 17996 * matcher/valuerangepostlist.cc: Call ValueRangePostList::next() 17997 explicitly to avoid the overhead of virtual method dispatch. 17998 17999Thu Sep 27 14:43:25 BST 2007 Olly Betts <olly@survex.com> 18000 18001 * common/termlist.h: Don't need to forward declare 18002 Xapian::Internal::ExpandWeight here. 18003 18004Thu Sep 27 14:36:00 BST 2007 Olly Betts <olly@survex.com> 18005 18006 * common/termlist.h: Add missing (but indirectly included) '#include 18007 <xapian/base.h>'. 18008 18009Fri Sep 21 18:00:34 BST 2007 Richard Boulton <richard@lemurconsulting.com> 18010 18011 * docs/deprecation.rst: Add deprecation for 18012 Database::positionlist_begin() throwing DocNotFoundError , for 18013 same reason as deprecating it throwing RangeError. Also, add 18014 deprecation for QueryParser::add_prefix(f, p) and 18015 add_boolean_prefix() - replaced by three argument form of 18016 add_prefix. Also, add a policy that we don't add 18017 XAPIAN_DEPRECATED when there's no replacement for the deprecated 18018 feature in the last x.x.0 release. 18019 * include/xapian/queryparser.h: Add @deprecated to documentation 18020 comments for add_prefix(f, p) and add_boolean_prefix() (but don't 18021 add XAPIAN_DEPRECATED() macro for now). 18022 18023Fri Sep 21 16:13:25 BST 2007 Richard Boulton <richard@lemurconsulting.com> 18024 18025 * include/xapian/queryparser.h: Fix copy and paste errors in 18026 documentation comment, and hopefully clarify it somewhat. 18027 18028Fri Sep 21 15:50:40 BST 2007 Richard Boulton <richard@lemurconsulting.com> 18029 18030 * tests/queryparsertest.cc: Initialise the default prefix from 18031 prefixes.find(""), allowing multiple default prefixes to be set 18032 by calling add_prefix() with an empty field name. 18033 * queryparser/queryparser.lemony: Several more tests; mainly for 18034 the new default_prefix functionality, but also a bit more 18035 coverage for multiple prefixes in general. 18036 18037Fri Sep 21 15:04:02 BST 2007 Richard Boulton <richard@lemurconsulting.com> 18038 18039 * include/xapian/queryparser.h,queryparser/queryparser.cc: API 18040 addition: Revert previous change to behaviour of 18041 QueryParser::add_prefix and QueryParser::add_boolean_prefix 18042 methods, to avoid API change within a release series. Add new 18043 QueryParser::add_prefix() form which takes three parameters; the 18044 third parameter is a value from a new "prefix_type" enum. 18045 * queryparser/queryparser.lemony,queryparser/queryparser_internal.h: 18046 Internal changes to allow multiple filters to be set for a single 18047 field: 18048 - Remove the PrefixInfoList object again - instead add a list of 18049 prefixes to PrefixInfo. We only aim to support one type of 18050 prefix for a given field, so the extra flexibility given by 18051 PrefixInfoList is a districation. 18052 - Change filter_group_id to be based on a list of prefixes, 18053 instead of a single prefix. 18054 - Change Term objects to store a list of prefixes instead of a 18055 single prefix. make_term() now takes a prefix argument and 18056 makes a single term. Term::as_... methods iterate through the 18057 prefix list and OR together the resulting terms. 18058 - Change TermList object to store a list of Terms instead of 18059 Queries, and also to keep track of whether the prefix lists 18060 for those Terms are all the same. When they are the same, 18061 generate separate phrases for each prefix, and OR them 18062 togeher, instead of generating phrases of "OR" groups of 18063 terms. Remove the unused "TermList::add_term()" method. 18064 * tests/queryparsertest.cc: Add simple tests of repeated inline 18065 fields, phrases with multiple prefixed fields, tests of backwards 18066 compatible behaviour of add_prefix(field, prefix), and 18067 add_boolean_prefix(), and of the new add_prefix() form with 18068 incompatible types. 18069 18070Thu Sep 20 02:13:36 BST 2007 Olly Betts <olly@survex.com> 18071 18072 * NEWS: Update with changes since 1.0.2. 18073 18074Wed Sep 19 20:00:43 BST 2007 Olly Betts <olly@survex.com> 18075 18076 * backends/flint/flint_table.cc: Fix "Key_" in exception message to 18077 say "Key" (the result of overzealous search-and-replace). 18078 18079Wed Sep 19 17:08:16 BST 2007 Richard Boulton <richard@lemurconsulting.com> 18080 18081 * include/xapian/queryparser.h,queryparser/queryparser.cc, 18082 queryparser/queryparser.lemony,queryparser/queryparser_internal.h: 18083 Handle repeated calls to QueryParser::add_boolean_prefix() with 18084 the same field - this will generate multiple terms for each 18085 occurrence of the field in the query. Involves reorganising the 18086 internal representation of prefixes, to hold a list of PrefixInfo 18087 objects for each field, instead of a single object. This also 18088 paves the way towards handling for multiple calls to 18089 QueryParser:add_prefix() with the same field, and allowing 18090 add_{boolean_}prefix() with an empty field to set the default 18091 prefix handling, but the behaviour of this are currently 18092 unchanged. Technically, this could be considered an API change, 18093 but the previous behaviour (of using only the most recent value 18094 set by add_boolean_prefix) was unintentional and undocumented, 18095 and seems unlikely to have been deliberately used. 18096 * tests/queryparsertest.cc: Add a very simple test for repeated 18097 boolean_prefix fields; several more are needed. Also, a 18098 commented out test of repeated non-boolean prefix fields. 18099 18100Tue Sep 18 23:28:48 BST 2007 Richard Boulton <richard@lemurconsulting.com> 18101 18102 * queryparser/queryparser.lemony: Remove unused variable 18103 "term_group". 18104 18105Tue Sep 18 16:56:37 BST 2007 Olly Betts <olly@survex.com> 18106 18107 * api/matchspy.cc,include/xapian/matchspy.h: Use a set rather than a 18108 map to store the "multivalues" flags. 18109 18110Mon Sep 17 14:10:47 BST 2007 Olly Betts <olly@survex.com> 18111 18112 * include/xapian/matchspy.h: Fix documentation comment typo. 18113 18114Sun Sep 16 04:13:20 BST 2007 Olly Betts <olly@survex.com> 18115 18116 * net/remoteconnection.cc: Fix compiler warning in mingw build. 18117 18118Sun Sep 16 02:59:54 BST 2007 Olly Betts <olly@survex.com> 18119 18120 * backends/flint/flint_database.cc,tests/api_wrdb.cc: Check length of 18121 new terms is at most 245 bytes for flint in add_document() and 18122 replace_document() so that the API user gets an error there rather 18123 than when flush() is called (explicitly or implicitly). Fixes 18124 bug#44. 18125 18126Sat Sep 15 20:11:36 BST 2007 Olly Betts <olly@survex.com> 18127 18128 * backends/flint/flint_version.cc: Add missing include of 18129 msvc_posix_wrapper.h. 18130 18131Sat Sep 15 17:58:35 BST 2007 Olly Betts <olly@survex.com> 18132 18133 * api/omdatabase.cc,backends/database.cc, 18134 backends/flint/flint_database.cc,backends/flint/flint_database.h, 18135 backends/flint/flint_version.cc, 18136 backends/inmemory/inmemory_database.cc, 18137 backends/inmemory/inmemory_database.h,common/database.h, 18138 include/xapian/database.h,tests/api_wrdb.cc: Add support for user 18139 specified metadata (bug#143). 18140 18141Sat Sep 15 02:26:40 BST 2007 Olly Betts <olly@survex.com> 18142 18143 * backends/flint/flint_cursor.cc,backends/flint/flint_cursor.h: 18144 Implement FlintCursor::find_entry_ge() a little more efficiently 18145 (we could do better still by modifying FlintTable too). 18146 18147Sat Sep 15 00:56:54 BST 2007 Olly Betts <olly@survex.com> 18148 18149 * backends/flint/flint_cursor.cc: If we found the exact key, just copy 18150 it to current_key. 18151 18152Fri Sep 14 21:52:45 BST 2007 Olly Betts <olly@survex.com> 18153 18154 * backends/flint/: Overhaul FlintAllDocsPostList. 18155 18156Fri Sep 14 19:20:56 BST 2007 Olly Betts <olly@survex.com> 18157 18158 * backends/flint/flint_alltermslist.cc: Rework 18159 FlintAllTermsList::skip_to() to use FlintCursor::find_entry_ge(). 18160 18161Fri Sep 14 17:45:06 BST 2007 Olly Betts <olly@survex.com> 18162 18163 * backends/flint/flint_cursor.h: Improve documentation comment. 18164 18165Fri Sep 14 17:28:17 BST 2007 Olly Betts <olly@survex.com> 18166 18167 * backends/flint/flint_spellingwordslist.cc, 18168 backends/flint/flint_synonym.cc: Use FlintCursor::find_entry_ge(). 18169 * backends/flint/flint_synonym.h: Use FlintCursor::find_entry_lt(). 18170 * backends/flint/flint_alltermslist.h: Use FlintCursor::find_entry_lt() 18171 and skip any keys before "\x00\xff" to allow for extra metadata 18172 keys. 18173 18174Fri Sep 14 15:26:04 BST 2007 Olly Betts <olly@survex.com> 18175 18176 * backends/flint/flint_cursor.cc,backends/flint/flint_cursor.h: The 18177 reason why a deleted key is still visible to the cursor is that it 18178 is running over the previous revision of the tree. So we don't 18179 need to call find_entry() at all - we can just call next(). Also 18180 extend FlintCursor::del() to return whether the cursor is positioned 18181 (like FlintCursor::next() does). 18182 * backends/flint/flint_postlist.cc: Use the return value of 18183 FlintCursor::del(). 18184 18185Fri Sep 14 15:10:39 BST 2007 Olly Betts <olly@survex.com> 18186 18187 * tests/Makefile.am: Reorder the testdata/flint-x.y.z files 18188 consistently. 18189 18190Fri Sep 14 12:48:04 BST 2007 Richard Boulton <richard@lemurconsulting.com> 18191 18192 * configure.ac: Add "tar-ustar" option to AM_INIT_AUTOMAKE. This 18193 is needed to avoid a failure of make dist due to filepaths of 18194 more than 99 characters (in the generated documentation: the 18195 relevant filepaths are for the NumberValueRangeProcessor class, 18196 and extend to 103 characters). Automake documentation implies 18197 that tar-v7 is the default format, which doesn't support 18198 filepaths longer than 99 characters portably; ustar allows 256 18199 characters. The automake documentation says that the ustar 18200 format "is believed to be old enough to be portable"; if we come 18201 across problems due to the format change we could consider 18202 renaming files to reduce the filepath length. 18203 * tests/Makefile.am: Remove 18204 testdata/flint-1.0.2/{value,position}.{baseA,DB} from 18205 distribution, since they don't actually exist. Fixes make dist. 18206 18207Fri Sep 14 10:45:35 BST 2007 Richard Boulton <richard@lemurconsulting.com> 18208 18209 * backends/flint/flint_cursor.cc,backends/flint/flint_cursor.h: Add 18210 FlintCursor::find_entry_gt(), and use it instead of 18211 flint_entry_ge() in FlintCuror::del(). This fixes failure of 18212 deldoc4 test. I'm not sure why find_entry() can return true 18213 immediately after the key it's searching for was deleted with 18214 B->del(), though: that merits further investigation. 18215 18216Fri Sep 14 04:57:14 BST 2007 Olly Betts <olly@survex.com> 18217 18218 * bin/xapian-inspect.cc: Avoid comparing char with 0 - on platforms 18219 where char is unsigned by default this can give a compiler warning. 18220 18221Fri Sep 14 03:40:18 BST 2007 Olly Betts <olly@survex.com> 18222 18223 * bin/xapian-compact.cc: Removed unused variable. 18224 18225Fri Sep 14 01:56:36 BST 2007 Olly Betts <olly@survex.com> 18226 18227 * backends/flint/flint_alltermslist.cc: Fix comment typo. 18228 18229Fri Sep 14 01:51:52 BST 2007 Olly Betts <olly@survex.com> 18230 18231 * backends/flint/flint_cursor.cc,backends/flint/flint_cursor.h: Add 18232 FlintCursor::find_entry_lt() and FlintCursor::find_entry_ge() 18233 which we can implement more efficiently (in the future) than 18234 user code calling FlintCursor::find_entry() and then having to 18235 adjust the cursor position in some cases. 18236 18237Thu Sep 13 14:52:34 BST 2007 Olly Betts <olly@survex.com> 18238 18239 * backends/flint/flint_alltermslist.cc: FlintCursor::after_end() is 18240 never true after FlintCursor::find_entry() so remove check for this 18241 case! 18242 18243Thu Sep 13 03:11:19 BST 2007 Olly Betts <olly@survex.com> 18244 18245 * backends/flint/flint_alltermslist.h,backends/flint/flint_database.cc, 18246 backends/flint/flint_database.h: Don't pass FlintPostListTable 18247 pointer to FlintAllTermsList - it can find this via the database 18248 if we make it FlintDatabase instead of Database::Internal. 18249 18250Thu Sep 13 02:07:19 BST 2007 Olly Betts <olly@survex.com> 18251 18252 * backends/flint/: Read/write the metainfo key from FlintDatabase to 18253 avoid having to pass a huge long list of values across once we start 18254 to store more statistics. 18255 18256Thu Sep 13 02:03:46 BST 2007 Olly Betts <olly@survex.com> 18257 18258 * backends/database.cc,common/database.h: Move definitions of virtual 18259 methods out of the header file. 18260 18261Thu Sep 13 01:33:49 BST 2007 Olly Betts <olly@survex.com> 18262 18263 * backends/flint/flint_database.cc,backends/flint/flint_database.h: 18264 Store the total_length and lastdocid values in FlintDatabase object. 18265 18266Wed Sep 12 20:27:49 BST 2007 Olly Betts <olly@survex.com> 18267 18268 * matcher/multimatch.cc: Eliminate a block which used to scope some 18269 variables which have now moved. Unify debug output from different 18270 cases after the match. Remove half-finished comment which doesn't 18271 seem to be trying to say anything useful. 18272 18273Wed Sep 12 20:20:18 BST 2007 Olly Betts <olly@survex.com> 18274 18275 * tests/api_anydb.cc: In checkatleast2, the total number of matching 18276 documents in the database is 5, so use TEST_EQUAL instead of 18277 TEST_GREATER_OR_EQUAL to compare get_matches_lower_bound() with 5. 18278 18279Wed Sep 12 17:55:00 BST 2007 Olly Betts <olly@survex.com> 18280 18281 * backends/flint/flint_database.h: Fix some comment typos and 18282 outdated information. Remove some superfluous uses of "virtual". 18283 18284Wed Sep 12 17:15:58 BST 2007 Olly Betts <olly@survex.com> 18285 18286 * backends/flint/flint_database.cc,backends/quartz/quartz_database.cc: 18287 Failing to create a flint or quartz database because we couldn't 18288 create the directory for it now throws DatabaseCreateError not 18289 DatabaseOpeningError. 18290 * tests/api_db.cc: Update test cases. 18291 18292Wed Sep 12 15:40:16 BST 2007 Olly Betts <olly@survex.com> 18293 18294 * backends/flint/flint_database.cc,backends/flint/flint_database.h: 18295 If we reach the flush threshold during a transaction, flush the 18296 postlist changes, but don't actually commit them. 18297 18298Wed Sep 12 14:12:52 BST 2007 Olly Betts <olly@survex.com> 18299 18300 * common/msvc_posix_wrapper.cc,common/msvc_posix_wrapper.h: Add 18301 msvc_posix_rename() which can rename a file on top of another file. 18302 * common/stringutils.h: Add common_prefix_length() function. 18303 * backends/flint/: Clean up FlintWritableDatabase - it now just 18304 inherits from FlintDatabase which allows several virtual methods 18305 which just forwarded to FlintDatabase to be dropped. Also, we 18306 now no longer need to pass FlintTable objects to other classes 18307 - they can just find the tables they want via the database pointer. 18308 The never-used "store_termfreqs" flag has been dropped from the 18309 termlist table entries - existing 1.0.x flint databases will be 18310 automatically upgraded to the new version. Opening a database 18311 now calls stat() less, so should be slightly more efficient. 18312 And TermIterator::positionlist_count() now works for the flint 18313 backend. 18314 * tests/Makefile.am,tests/api_db.cc,tests/testdata/flint-1.0.2/: New 18315 test flintbackwardcompat2 which tests that we can open a flint 18316 database from 1.0.2. 18317 * tests/api_wrdb.cc: New test adddoc4 which checks that termlists 18318 handle an initial term of any valid length correctly. 18319 * tests/testdata/flint-1.0.1/postlist.DB: Mark as a binary file in 18320 SVN. 18321 18322Tue Sep 11 23:02:56 BST 2007 Olly Betts <olly@survex.com> 18323 18324 * backends/inmemory/inmemory_database.cc, 18325 backends/inmemory/inmemory_database.h: Implement 18326 TermIterator::positionlist_count() for the inmemory backend. 18327 * tests/api_posdb.cc: Add feature test for 18328 TermIterator::positionlist_count() (which currently skips for all 18329 backends except inmemory). 18330 18331Tue Sep 11 03:43:30 BST 2007 Olly Betts <olly@survex.com> 18332 18333 * backends/flint/flint_database.cc: Make sure flush_threshold gets 18334 initialised. 18335 * backends/flint/flint_database.h: Change type of flush_threshold from 18336 `size_t' to `Xapian::doccount' for consistency with the type of 18337 changes_made. 18338 18339Tue Sep 11 03:19:37 BST 2007 Richard Boulton <richard@lemurconsulting.com> 18340 18341 * backends/flint/flint_database.cc,backends/flint/flint_database.h: 18342 Change flush_threshold from static to non-static, and set it for 18343 each FlintWritableDatabase based on the value of the 18344 XAPIAN_FLUSH_THRESHOLD environment variable at the time the 18345 database was opened, instead of caching the value for each future 18346 database which is opened. 18347 18348Tue Sep 11 02:59:45 BST 2007 Olly Betts <olly@survex.com> 18349 18350 * docs/Makefile.am: When running rst2html, use "--exit-status=warning" 18351 rather than "--strict". The former actually gives a non-zero exit 18352 status for a warning or worse, while the former doesn't, but does 18353 include any "info" messages in the output HTML. 18354 18355Tue Sep 11 02:38:30 BST 2007 Olly Betts <olly@survex.com> 18356 18357 * docs/deprecation.rst: Add "Database::positionlist_begin() throwing 18358 RangeError". 18359 18360Tue Sep 11 00:52:27 BST 2007 Olly Betts <olly@survex.com> 18361 18362 * HACKING: Document a few more "coding standards". 18363 18364Mon Sep 10 21:34:23 BST 2007 Olly Betts <olly@survex.com> 18365 18366 * examples/delve.cc,examples/simpleexpand.cc,net/tcpserver.cc, 18367 queryparser/queryparser.cc,queryparser/queryparser.lemony: Add more 18368 missing "#include <string.h>" instances. 18369 18370Mon Sep 10 20:24:25 BST 2007 Olly Betts <olly@survex.com> 18371 18372 * net/serialise.cc: Add missing "#include <string.h>". 18373 18374Sun Sep 09 15:38:11 BST 2007 Olly Betts <olly@survex.com> 18375 18376 * backends/flint/flint_spelling.h,backends/flint/flint_synonym.h, 18377 backends/flint/flint_table.h: Fix typo (Z_DEFAULT_COMPRESSION 18378 where it should be Z_DEFAULT_STRATEGY) which meant that zlib 18379 compression wasn't enabled for the spelling or synonym tables. 18380 18381Fri Sep 07 19:31:44 BST 2007 Olly Betts <olly@survex.com> 18382 18383 * docs/spelling.rst: Fix typo. 18384 18385Thu Sep 06 15:02:43 BST 2007 Richard Boulton <richard@lemurconsulting.com> 18386 18387 * api/editdistance.cc: Fix off-by-one error in loop bounds when 18388 setting up fkp array initially. Fixes bug #194. 18389 * tests/api_wrdb.cc: Add regression test for #194, spell5. 18390 18391Thu Sep 06 14:31:15 BST 2007 Olly Betts <olly@survex.com> 18392 18393 * tests/harness/testsuite.cc: More localised fix for preserving the 18394 start of the valgrind report when in verbose mode. Rework the code 18395 which pulls out the start of the report to summarise why the test 18396 failed. 18397 18398Thu Sep 06 14:17:44 BST 2007 Richard Boulton <richard@lemurconsulting.com> 18399 18400 * tests/harness/testsuite.cc: When displaying valgrind output, seek 18401 back to the start of the valgrind output for the current test 18402 before dumping it to stdout: previously, the earlier check for the 18403 valgrind error message to display (when not using -v) caused the 18404 first 1024 bytes of the valgrind output to get dropped. 18405 18406Tue Sep 04 20:13:29 BST 2007 Richard Boulton <richard@lemurconsulting.com> 18407 18408 * matcher/multimatch.cc: For remote submatches, keep a count of 18409 matches which we know exist, but we don't get passed from the 18410 submatch. These can be detected by checking for the lowerbound 18411 on the matches in the submatch being greater than the index of 18412 the last item in the returned submset. When the match is over, 18413 use this count, together with docs_matched, to adjust the lower 18414 bound and estimate (and upper bound, if we've not seen as many 18415 documents as we were asked to check for). Fixes checkatleast2 18416 and checkatleast3 in the remote database case. 18417 * tests/harness/testsuite.h: Add TEST_GREATER_OR_EQUAL, 18418 TEST_GREATER, TEST_LESSER_OR_EQUAL and TEST_LESSER macros, which 18419 display the values of the arguments if they fail. 18420 * tests/api_anydb.cc: Use TEST_GREATER_OR_EQUAL and TEST_EQUAL in 18421 checkatleast2 and checkatleast3, to make failures easier to 18422 debug. 18423 18424Tue Sep 04 18:16:49 BST 2007 Olly Betts <olly@survex.com> 18425 18426 * matcher/multimatch.cc: Restructure to make the control flow clearer. 18427 Rewrap some comments which got wrapped to ~82 columns somehow. 18428 18429Tue Sep 04 17:21:49 BST 2007 Olly Betts <olly@survex.com> 18430 18431 * docs/overview.html: Restore the HTML header I accidentally deleted 18432 in November 2006. 18433 18434Tue Sep 04 17:15:30 BST 2007 Olly Betts <olly@survex.com> 18435 18436 * docs/overview.html: Fix typo. 18437 18438Tue Sep 04 13:47:27 BST 2007 Richard Boulton <richard@lemurconsulting.com> 18439 18440 * tests/api_anydb.cc: Tighten test_checkatleast3 to check for 18441 previous bug (now fixed). 18442 18443Tue Sep 04 13:37:01 BST 2007 Richard Boulton <richard@lemurconsulting.com> 18444 18445 * matcher/multimatch.cc: If check_at_least is greater than 18446 maxitems, but there are fewer results than check_at_least, the 18447 lower and upper bounds reported should be equal (and exact). Fix 18448 a bug which caused this not to be the case, by checking if 18449 docs_matched < check_at_least, and forcing the bounds (and 18450 estimate) to be docs_matched in this case. 18451 18452 Also, fix a bug when sorting by anything other than relevance, 18453 which was causing potential matches which are too low in the 18454 ranking to make the mset not to be added to the count of 18455 docs_matched, even when docs_matched < check_at_least. 18456 18457 Also, add a few extra explanatory comments and debug log messages 18458 in get_mset(). 18459 18460Tue Sep 04 12:43:03 BST 2007 Olly Betts <olly@survex.com> 18461 18462 * PLATFORMS: Update from debian buildd logs. 18463 18464Tue Sep 04 09:57:25 BST 2007 Richard Boulton <richard@lemurconsulting.com> 18465 18466 * Makefile.am,configure.ac,msvc/genversion.pl,msvc/version.h.in: 18467 Move msvc/genversion.pl and msvc/version.h.in to win32msvc in 18468 xapian-maintainer-tools. Remove generation of msvc/version.h 18469 from configure.in, and AC_SUBST() of MAJOR_VERSION, 18470 MINOR_VERSION and REVISION, which were only in place for this 18471 generation. Remove msvc/version.h from distribution tarballs. 18472 18473Tue Sep 04 02:56:00 BST 2007 Olly Betts <olly@survex.com> 18474 18475 * matcher/andpostlist.cc: If the database has > 2G documents then the 18476 sum of termfreq_min can overflow, so handle this case correctly. 18477 18478Tue Sep 04 00:05:47 BST 2007 Olly Betts <olly@survex.com> 18479 18480 * xapian-config.in: We always need to include dependency_libs in the 18481 output of `xapian-config --libs` if shared libraries are disabled. 18482 18483Mon Sep 03 16:28:33 BST 2007 Olly Betts <olly@survex.com> 18484 18485 * bin/xapian-check.cc: Allow "xapian-check db/record." and 18486 "xapian-check db/record.DB". 18487 18488Mon Sep 03 02:16:43 BST 2007 Olly Betts <olly@survex.com> 18489 18490 * docs/deprecation.rst,include/xapian/enquire.h: Deprecate 18491 Enquire::register_match_decider(). 18492 * api/omenquire.cc,common/omenquireinternal.h: Remove mdecider_map 18493 since the set values are never used anywhere. 18494 18495Sun Sep 02 20:54:33 BST 2007 Olly Betts <olly@survex.com> 18496 18497 * HACKING: Add "update the 1.0.N tracker bug" to the release 18498 checklist. 18499 18500Fri Aug 31 10:44:19 BST 2007 Richard Boulton <richard@lemurconsulting.com> 18501 18502 * tests/api_db.cc,tests/api_wrdb.cc: Fix compilation of apitest, 18503 which was broken on 64 bit platforms due to size_t instead of 18504 doccount bug. 18505 18506Fri Aug 24 11:56:18 BST 2007 Richard Boulton <richard@lemurconsulting.com> 18507 18508 * api/matchspy.cc,include/xapian/matchspy.h: Fix uses of size_t 18509 which should have been Xapian::doccount. Was causing compile 18510 errors on platforms where size_t and Xapian::doccount were 18511 different sizes. 18512 18513Fri Aug 03 20:10:15 BST 2007 Richard Boulton <richard@lemurconsulting.com> 18514 18515 * tests/api_nodb.cc: Add test_stringlistserialise1() to test the 18516 StringListSerialiser and StringListUnserialiser. Change the list 18517 of testcases to use the TESTCASE and END_OF_TESTCASES macros. 18518 18519Fri Aug 03 19:53:26 BST 2007 Richard Boulton <richard@lemurconsulting.com> 18520 18521 * api/matchspy.cc,include/xapian/matchspy.h: Add StringListSerialiser 18522 and StringListUnserialiser classes which can be used to serialise 18523 a list of strings into a single string. Add flag to 18524 ValueCountMatchSpy to use this to unserialise the values read 18525 from the database into multiple strings, allowing several values 18526 to be stored for a particular slot in a database: this allows 18527 multiple values of a particular facet to be stored. 18528 18529Thu Jul 26 16:55:18 BST 2007 Richard Boulton <richard@lemurconsulting.com> 18530 18531 * backends/flint/flint_table.cc: Change STRINGIZE to om_tostring() 18532 in error message about a key which is too long; STRINGIZE doesn't 18533 work since FLINT_BTREE_MAX_KEY_LEN is no longer a preprocessor 18534 constant - it's a C++ constant; before this change, the error 18535 message contained the literal text "FLINT_BTREE_MAX_KEY_LEN". 18536 18537Tue Jul 17 12:20:55 BST 2007 Richard Boulton <richard@lemurconsulting.com> 18538 18539 * api/matchspy.cc,include/xapian/matchspy.h: Add a 18540 MultipleMatchDecider, which calls a list of deciders in order, 18541 until one returns false. 18542 * include/xapian/enquire.h: Expand comment to say which way round 18543 the return values of the MatchDecider operator are. 18544 * tests/api_db.cc: Add test_matchfunctor3() to test the 18545 MultipleMatchDecider - also tests the ValueCountMatchSpy, 18546 incidentally. 18547 18548Tue Jul 17 11:10:42 BST 2007 Richard Boulton <richard@lemurconsulting.com> 18549 18550 * api/matchspy.cc,include/xapian/matchspy.h: Make 18551 get_most_frequent_items() private, since I'm not convinced it's 18552 useful to make it available externally. We can always make it 18553 public again if it's useful to do so. 18554 * test/api_wrdb.cc: Update tests accordingly. 18555 18556Sat Jul 14 00:17:06 BST 2007 Richard Boulton <richard@lemurconsulting.com> 18557 18558 * api/matchspy.cc,include/xapian/matchspy.h: Get rid of the 18559 TopValueMatchSpy in favour of a new function 18560 "get_most_frequent_items", which processes the output of a 18561 ValueCountMatchSpy. Add a TermCountMatchSpy which counts the 18562 occurrences of terms with a given prefix, and gives output in 18563 the same form as ValueCountMatchSpy. Add convenience methods 18564 ValueCountMatchSpy::get_top_values() and 18565 TermCountMatchSpy::get_top_terms() which use this to return the 18566 most frequent items seen by the matchspy. 18567 * tests/api_wrdb.cc: Test the ValueCountMatchSpy, and the 18568 get_most_frequent_items() function. 18569 18570Fri Jul 13 18:57:30 BST 2007 Richard Boulton <richard@lemurconsulting.com> 18571 18572 * matcher/andpostlist.cc,tests/api_anydb.cc: Improve the lower 18573 bound on the number of matching documents for an AND query - if 18574 the sum of the lower bounds for the two sides is greater than the 18575 number of documents in the database, then some of them must have 18576 both terms. This greatly improves the lower bound for queries of 18577 the form "<alldocuments> FILTER foo" (since FILTER is a subclass 18578 of AND, and uses the same method), but is probably a useful 18579 improvement elsewhere. 18580 18581Fri Jul 13 17:53:46 BST 2007 Richard Boulton <richard@lemurconsulting.com> 18582 18583 * docs/valueranges.rst: Correct out-of-date reference to 18584 float_to_string, spotted by Enrico Zini. 18585 18586Wed Jul 11 22:54:43 BST 2007 Richard Boulton <richard@lemurconsulting.com> 18587 18588 * api/matchspy.cc,include/xapian/matchspy.h,tests/api_wrdb.cc: 18589 Move ValueAndFrequency out of the TopValueMatchSpy class - it 18590 doesn't seem to be possible to wrap it with swig without doing 18591 this, and it doesn't seem much less tidy. 18592 18593Wed Jul 11 18:03:18 BST 2007 Richard Boulton <richard@lemurconsulting.com> 18594 18595 * api/matchspy.cc,include/xapian/matchspy.h: Split MatchSpy into a 18596 base class (ValueCountMatchSpy), which just counts the values in 18597 the documents it sees, and a subclass (CategorySelectMatchSpy) 18598 which does the grouping into categories, and scores the 18599 categories. Add another subclass (TopValueMatchSpy) which 18600 calculates a sorted vector holding the most frequent values. 18601 * tests/api_wrdb.cc: Update matchspy1 and matchspy2 to use 18602 CategorySelectMatchSpy instead of MatchSpy, and corresponding 18603 changes to the methods. Add matchspy3 to test the 18604 TopValueMatchSpy. 18605 18606Mon Jul 09 15:40:58 BST 2007 Richard Boulton <richard@lemurconsulting.com> 18607 18608 * tests/termgentest.cc: Fix copyright: everything I've done in 2007 18609 has been for Lemur. 18610 18611Mon Jul 09 15:40:38 BST 2007 Richard Boulton <richard@lemurconsulting.com> 18612 18613 * include/xapian/version_h.cc: Fix type in comment. 18614 18615Fri Jul 06 12:14:48 BST 2007 Richard Boulton <richard@lemurconsulting.com> 18616 18617 * include/xapian/enquire.h: Add note to register_match_decider() 18618 documentation comment of what this function is for, and also that 18619 it doesn't currently do anything (other than store the values 18620 passed to it in the enquire internals). 18621 18622Thu Jul 05 20:52:52 BST 2007 Richard Boulton <richard@lemurconsulting.com> 18623 18624 * docs/categorisation.rst: Fix typo. 18625 18626Thu Jul 05 20:41:49 BST 2007 Richard Boulton <richard@lemurconsulting.com> 18627 18628 * tests/api_wrdb.cc: Rework matchspy2 to use approximate values to 18629 avoid failing on some platform due to differing precision. 18630 18631Thu Jul 05 12:21:48 BST 2007 Olly Betts <olly@survex.com> 18632 18633 * docs/categorisation.rst: Complete half sentence. 18634 18635Thu Jul 05 12:17:20 BST 2007 Olly Betts <olly@survex.com> 18636 18637 * docs/categorisation.rst: Add section on restricting by category 18638 values. 18639 18640Thu Jul 05 04:47:18 BST 2007 Olly Betts <olly@survex.com> 18641 18642 * docs/Makefile.am,docs/categorisation.rst: Add topic document 18643 discussing use of Xapian::MatchSpy. 18644 18645Thu Jul 05 02:08:13 BST 2007 Olly Betts <olly@survex.com> 18646 18647 * include/xapian.h,tests/api_wrdb.cc: Restore MatchSpy stuff. 18648 18649Thu Jul 05 01:38:38 BST 2007 Olly Betts <olly@survex.com> 18650 18651 * HACKING: Note that RoadMap on the wiki needs updating for each 18652 release. 18653 18654Thu Jul 05 01:03:05 BST 2007 Olly Betts <olly@survex.com> 18655 18656 * AUTHORS: Update. 18657 18658Thu Jul 05 00:31:00 BST 2007 Olly Betts <olly@survex.com> 18659 18660 * NEWS: Minor tweaks and clarifications. 18661 18662Thu Jul 05 00:29:53 BST 2007 Olly Betts <olly@survex.com> 18663 18664 * include/xapian.h,tests/api_wrdb.cc: Disable MatchSpy class for 1.0.2 18665 as it's not ready for release yet. 18666 18667Wed Jul 04 21:20:59 BST 2007 Richard Boulton <richard@lemurconsulting.com> 18668 18669 * NEWS: Update with release date for release 1.0.2 18670 18671Wed Jul 04 21:09:18 BST 2007 Richard Boulton <richard@lemurconsulting.com> 18672 18673 * AUTHORS: Add Tomek Jackowiak, for reporting bug #166 (missing 18674 Xapian::Query documentation). 18675 18676Wed Jul 04 20:45:56 BST 2007 Olly Betts <olly@survex.com> 18677 18678 * configure.ac: Updated version and library version for 1.0.2. 18679 18680Wed Jul 04 20:36:07 BST 2007 Olly Betts <olly@survex.com> 18681 18682 * api/matchspy.cc,include/xapian/matchspy.h,tests/api_wrdb.cc: 18683 Tidy up API for MatchSpy::build_numeric_ranges() and add tests. 18684 18685Wed Jul 04 19:40:31 BST 2007 Richard Boulton <richard@lemurconsulting.com> 18686 18687 * NEWS: Fully updated. 18688 18689Wed Jul 04 18:33:59 BST 2007 Richard Boulton <richard@lemurconsulting.com> 18690 18691 * NEWS: Move some of the changelog entries into news-style comments. 18692 18693Wed Jul 04 17:50:19 BST 2007 Richard Boulton <richard@lemurconsulting.com> 18694 18695 * tests/api_wrdb.cc: SKIP_TEST() spell3 on windows - it doesn't 18696 work there due to trying to delete (and then overwrite) an open 18697 database. We shouldn't be doing this, so add a long FIXME 18698 explaining what we should be doing instead. 18699 18700Wed Jul 04 17:27:22 BST 2007 Olly Betts <olly@survex.com> 18701 18702 * NEWS: Partly update. 18703 18704Wed Jul 04 17:19:51 BST 2007 Olly Betts <olly@survex.com> 18705 18706 * AUTHORS: Add Simon Tatham for spotting the -INFINITY issue, and for 18707 a lot of useful advice during the CVS to SVN transition. 18708 18709Wed Jul 04 17:16:59 BST 2007 Olly Betts <olly@survex.com> 18710 18711 * api/,include/xapian/queryparser.h,tests/queryparsertest.cc: Rename 18712 Xapian::NumberValueRangeProcessor::float_to_string() to 18713 Xapian::sortable_serialise() and 18714 Xapian::NumberValueRangeProcessor::string_to_float() to 18715 Xapian::sortable_unserialise(). 18716 18717Wed Jul 04 17:16:16 BST 2007 Olly Betts <olly@survex.com> 18718 18719 * HACKING: Add rationale for 2 space indents for "public", etc. 18720 18721Wed Jul 04 14:09:57 BST 2007 Olly Betts <olly@survex.com> 18722 18723 * tests/queryparsertest.cc: Loops on integers and scale to doubles 18724 rather than looping on doubles and scaling to get integers. 18725 18726Wed Jul 04 13:01:11 BST 2007 Olly Betts <olly@survex.com> 18727 18728 * tests/queryparsertest.cc: If the NumberValueRangeProcessor 18729 string encodings don't sort the same way, there's no need to report 18730 the string encodings in the error message as they are written to 18731 "tout" just before, along with the respective numbers they came 18732 from. The string encodings can contain control characters, so are 18733 liable to corrupt the test failure message. 18734 18735Wed Jul 04 12:25:15 BST 2007 Richard Boulton <richard@lemurconsulting.com> 18736 18737 * api/valuerangeproc.cc: Fix encoding of extremely large, negative, 18738 non-IEEE representation to be -INFINITY, not +INFINITY. Thanks 18739 to Simon Tatham for pointing this out. 18740 * include/xapian/queryparser.h: Add a documentation comment note 18741 that zero and -zero will be transformed to the same value. 18742 18743Wed Jul 04 10:09:33 BST 2007 Richard Boulton <richard@lemurconsulting.com> 18744 18745 * api/valuerangeproc.cc: Change encoding used for doubles to a much 18746 more compact scheme, and add support for +-INFINITY. Also, some 18747 other tweaks to avoid unneccessary computation. 18748 * tests/queryparsertest.cc: Update test cases to expect new 18749 encoding of doubles, and add values for INFINITY and DBL_MAX and 18750 some other special numbers to the list of numbers that are 18751 specifically checked. 18752 18753Wed Jul 04 03:29:10 BST 2007 Olly Betts <olly@survex.com> 18754 18755 * api/matchspy.cc,include/xapian/matchspy.h,tests/api_wrdb.cc: 18756 Category score now explicitly weights for having nearer the 18757 requested number of categories. Category score is now normalised 18758 so values should be roughly comparable between different sized 18759 collections. Add untested code to build ranges. 18760 18761Wed Jul 04 00:48:07 BST 2007 Olly Betts <olly@survex.com> 18762 18763 * bin/xapian-compact.cc: Add new "--no-renumber" option to preserve 18764 document ids from source databases. Fix bug in change to add 18765 support for spelling and synonym tables which was preventing any 18766 renumbering from happening! 18767 18768Wed Jul 04 00:25:52 BST 2007 Olly Betts <olly@survex.com> 18769 18770 * backends/inmemory/inmemory_database.cc, 18771 backends/inmemory/inmemory_database.h,tests/api_wrdb.cc: Fix bug in 18772 inmemory backend - using replace_document() to add a document with a 18773 specific document id above the highest currently used would create 18774 empty documents for all document ids in between. 18775 18776Tue Jul 03 09:27:36 BST 2007 Richard Boulton <richard@lemurconsulting.com> 18777 18778 * HACKING: Add note that protection level declarations in classes 18779 and structs should only be indented by 2 spaces. 18780 18781Tue Jul 03 03:53:11 BST 2007 Olly Betts <olly@survex.com> 18782 18783 * api/Makefile.mk,api/matchspy.cc,include/xapian/matchspy.h, 18784 tests/api_wrdb.cc: Add MatchSpy method to score how good a 18785 categorisation is. 18786 18787Tue Jul 03 01:24:19 BST 2007 Olly Betts <olly@survex.com> 18788 18789 * include/xapian/queryparser.h: Replace `#include <xapian/stem.h>' 18790 with forward declaration of Stem. 18791 18792Tue Jul 03 01:14:12 BST 2007 Olly Betts <olly@survex.com> 18793 18794 * include/xapian/errorhandler.h: Replace `#include <xapian/error.h>' 18795 with forward declaration of Error. 18796 * api/errorhandler.cc: Now needs to explicitly `#include 18797 <xapian/error.h>'. 18798 18799Tue Jul 03 01:08:30 BST 2007 Olly Betts <olly@survex.com> 18800 18801 * include/xapian/dbfactory.h: Replace `#include <xapian/database.h>' 18802 with forward declarations of Database and WritableDatabase. 18803 18804Tue Jul 03 00:59:57 BST 2007 Olly Betts <olly@survex.com> 18805 18806 * include/xapian/enquire.h: Remove `#include <xapian/error.h>'. 18807 18808Mon Jul 02 23:25:55 BST 2007 Olly Betts <olly@survex.com> 18809 18810 * include/Makefile.mk,include/xapian.h,include/xapian/matchspy.h, 18811 tests/api_wrdb.cc: Implement "MatchSpy" class to tally values 18812 in matching documents. 18813 18814Mon Jul 02 18:15:18 BST 2007 Olly Betts <olly@survex.com> 18815 18816 * api/omenquire.cc,include/xapian/enquire.h: Fix last change to 18817 preserve ABI compatibility. 18818 18819Mon Jul 02 17:52:10 BST 2007 Olly Betts <olly@survex.com> 18820 18821 * api/omenquire.cc,common/multimatch.h,common/omenquireinternal.h, 18822 include/xapian/enquire.h,matcher/multimatch.cc,net/remoteserver.cc, 18823 tests/api_db.cc: Add support for a "matchspy" - a MatchDecider which 18824 is documented to be tested on ever candidate document. We plan to 18825 optimise the current matchdecider to be used as little as possible. 18826 18827Mon Jul 02 17:35:12 BST 2007 Olly Betts <olly@survex.com> 18828 18829 * tests/api_db.cc: Enhance matchfunctor1 to test that the functor 18830 returns ALL matching documents, not just that all documents returned 18831 match. 18832 18833Mon Jul 02 16:36:57 BST 2007 Richard Boulton <richard@lemurconsulting.com> 18834 18835 * common/omassert.h: Fix to avoid warning in gcc-snapshot; use 18836 do{}while(0) to protect assertions, and remove the old "if (a) {} 18837 else {fail}" constructions which tried to do the same job. 18838 18839Mon Jul 02 14:56:58 BST 2007 Richard Boulton <richard@lemurconsulting.com> 18840 18841 * bin/xapian-inspect.cc: Add missing #include of <stdio.h> - fixes 18842 gcc-2.95 compilation. 18843 18844Mon Jul 02 14:54:50 BST 2007 Richard Boulton <richard@lemurconsulting.com> 18845 18846 * queryparser/termgenerator_internal.h: Fix for gcc-2.95 18847 compilation. 18848 18849Mon Jul 02 14:09:22 BST 2007 Olly Betts <olly@survex.com> 18850 18851 * api/Makefile.mk,api/valuerangeproccompat.cc, 18852 include/xapian/queryparser.h: Put the new NumberValueRangeProcessor 18853 in a sub-namespace which we then import it from. Restore the old 18854 NumberValueRangeProcessor implementation inside the library so that 18855 it is available to code linked against 1.0.0 or 1.0.1 to keep ABI 18856 compatibility. 18857 18858Sun Jul 01 15:32:30 BST 2007 Olly Betts <olly@survex.com> 18859 18860 * include/xapian/queryparser.h: Clearer description of 18861 NumberValueRangeProcessor. Don't document the number format in 18862 terms of strtod() - that's a bug, not a feature we want to be tied 18863 to. 18864 * include/xapian/query.h,include/xapian/queryparser.h: Use "@a" not 18865 "\a" for consistency with existing usage. 18866 18867Sun Jul 01 10:09:42 BST 2007 Richard Boulton <richard@lemurconsulting.com> 18868 18869 * matcher/localmatch.cc: When registering a term, check if it's 18870 empty, and if so use the document count as the term frequency, 18871 rather than calling the database to get the term frequency of an 18872 empty term (most database backends have an assertion that the 18873 term is not empty, and an empty term isn't a valid parameter to 18874 pass to get_termfreq() anyway). 18875 * matcher/multimatch.cc: For MatchAll queries, the "" term will not 18876 be found in the termlist of the top document, so check if a "" 18877 term is present in the query, and use it to increase the 18878 percent_scale if so. This fixes an Assertion which checked that 18879 percent_scale was not 0. 18880 * tests/api_db.cc: Add test_matchall1() which tests running a query 18881 with a MatchAll query. 18882 * tests/api_nodb.cc: Rename test_emptyquery1 and test_emptyquery2 18883 to test_emptyquery2 and test_emptyquery3, respectively. There 18884 was already a (different) test_emptyquery1 in api_anydb.cc. 18885 18886Sat Jun 30 18:04:06 BST 2007 Olly Betts <olly@survex.com> 18887 18888 * tests/queryparsertest.cc: Write `2.0' rather than `(double)2'. 18889 18890Sat Jun 30 16:12:49 BST 2007 Olly Betts <olly@survex.com> 18891 18892 * docs/valueranges.rst: Fix typo. Fix ".. note:" to ".. note::" so 18893 it appears visibly in the HTML output rather than in an HTML 18894 comment! 18895 18896Sat Jun 30 15:14:33 BST 2007 Olly Betts <olly@survex.com> 18897 18898 * api/omdocument.cc,common/document.h,include/xapian/document.h: 18899 Add Xapian::Document::get_docid() method. 18900 18901Sat Jun 30 04:00:57 BST 2007 Olly Betts <olly@survex.com> 18902 18903 * matcher/multimatch.cc: If there's only one term in the query (a 18904 pretty common case) we don't need to look at the top document's 18905 termlist to determine that it matches all the query terms. 18906 18907Sat Jun 30 00:37:09 BST 2007 Olly Betts <olly@survex.com> 18908 18909 * INSTALL: Add note that zlib must be installed before you can build 18910 Xapian. 18911 18912Fri Jun 29 22:40:58 BST 2007 Olly Betts <olly@survex.com> 18913 18914 * backends/flint/: If doccount == lastdocid, all document ids up to 18915 lastdocid are used, so we provide a special really efficient version 18916 implementation of iterating all documents for this common case for 18917 flint. 18918 18919Fri Jun 29 00:39:04 BST 2007 Olly Betts <olly@survex.com> 18920 18921 * common/stringutils.h: Add startswith() and endswith() overloads 18922 which take a single character. 18923 * backends/flint/flint_spellingwordslist.cc,bin/xapian-inspect.cc: 18924 Use new forms. 18925 * backends/flint/flint_spellingwordslist.cc: Fix comment typo. 18926 18927Thu Jun 28 21:43:49 BST 2007 Olly Betts <olly@survex.com> 18928 18929 * backends/flint/flint_spellingwordslist.cc: Another begins_with() 18930 which I somehow missed. 18931 18932Thu Jun 28 19:51:03 BST 2007 Olly Betts <olly@survex.com> 18933 18934 * api/valuerangeproc.cc,backends/flint/flint_alltermslist.cc, 18935 backends/flint/flint_synonym.cc, 18936 backends/inmemory/inmemory_alltermslist.cc, 18937 backends/quartz/quartz_alltermslist.cc, 18938 backends/quartz/quartz_metafile.cc,bin/xapian-inspect.cc, 18939 common/stringutils.h,tests/harness/testsuite.cc: Rename 18940 begins_with() to startswith() and ends_with() to endswith() for 18941 consistency with Python string operations. 18942 18943Thu Jun 28 18:49:50 BST 2007 Olly Betts <olly@survex.com> 18944 18945 * queryparser/queryparser.lemony: Don't put a Z prefix on terms if the 18946 stemmer is "none", which matches what TermGenerator generates. 18947 18948Thu Jun 28 02:22:04 BST 2007 Olly Betts <olly@survex.com> 18949 18950 * api/omqueryinternal.cc: Don't SEGV when Query::MatchNothing is used 18951 with OP_AND_NOT (fixes bug#176). 18952 * tests/api_nodb.cc: Add regression test emptyquery2. 18953 * AUTHORS: Thank bug reporter (Krzysztof Klemm). 18954 18955Wed Jun 27 13:05:55 BST 2007 Richard Boulton <richard@lemurconsulting.com> 18956 18957 * NEWS: Updated. 18958 18959Wed Jun 27 13:04:19 BST 2007 Richard Boulton <richard@lemurconsulting.com> 18960 18961 * examples/copydatabase.cc: Add support for copying the spelling 18962 data. 18963 18964Wed Jun 27 12:46:54 BST 2007 Richard Boulton <richard@lemurconsulting.com> 18965 18966 * NEWS: Updated. 18967 18968Wed Jun 27 12:13:50 BST 2007 Olly Betts <olly@survex.com> 18969 18970 * bin/xapian-check.cc: Check spelling and synonym Btrees. 18971 18972Wed Jun 27 12:10:47 BST 2007 Olly Betts <olly@survex.com> 18973 18974 * bin/xapian-compact.cc: Add merging for spelling and synonym tables. 18975 18976Wed Jun 27 12:09:34 BST 2007 Olly Betts <olly@survex.com> 18977 18978 * backends/flint/flint_spelling.cc: Fix PrefixCompressedStringItor to 18979 not ignore the last entry. 18980 * tests/api_wrdb.cc: Regression test (spell4). 18981 18982Wed Jun 27 11:51:10 BST 2007 Olly Betts <olly@survex.com> 18983 18984 * tests/api_wrdb.cc: Remove bogus comment. 18985 18986Wed Jun 27 04:12:56 BST 2007 Olly Betts <olly@survex.com> 18987 18988 * backends/flint/flint_cursor.h: Make FlintCursor::after_end() const. 18989 18990Tue Jun 26 22:31:24 BST 2007 Richard Boulton <richard@lemurconsulting.com> 18991 18992 * tests/api_wrdb.cc: Add test_spell3(), which tests spelling 18993 correction with multi databases, and the results of the iterator 18994 from Database::spellings_begin() with single and multi databases. 18995 18996Tue Jun 26 20:51:13 BST 2007 Richard Boulton <richard@lemurconsulting.com> 18997 18998 * api/omtermlistiterator.cc: Handle pruning, so that multi-database 18999 spelling word iterators work. Pruning should arguably always 19000 have been handled, but it's never been possible for the TermList 19001 passed to TermIterator to prune before, so it's not been an 19002 issue. 19003 19004Tue Jun 26 20:50:06 BST 2007 Richard Boulton <richard@lemurconsulting.com> 19005 19006 * backends/flint/flint_spellingwordslist.h: Don't bother testing 19007 whether we found an entry which was exactly "W" - if we do, the 19008 database is corrupt, but the best recovery strategy would just be 19009 to continue at the next matching entry. 19010 19011Tue Jun 26 20:26:03 BST 2007 Richard Boulton <richard@lemurconsulting.com> 19012 19013 * api/omdatabase.cc: Remove mistaken skip_to("W") - should be done 19014 by open_spelling_wordlist() rather than here. 19015 * backends/flint/flint_spellingwordslist.h: Only call 19016 cursor->prev() if find_entry("W") finds an entry. 19017 19018Tue Jun 26 17:46:27 BST 2007 Richard Boulton <richard@lemurconsulting.com> 19019 19020 * backends/flint/flint_alltermslist.cc, 19021 backends/flint/flint_spellingwordslist.cc, 19022 backends/flint/flint_synonym.cc: Remove calls to abort() which 19023 are followed immediately by an Assert() which checks the same 19024 condition. 19025 19026Tue Jun 26 17:26:02 BST 2007 Richard Boulton <richard@lemurconsulting.com> 19027 19028 * include/xapian/database.h: Add spellings_begin() and 19029 spellings_end(), to iterate through the spelling correction 19030 target words. 19031 * api/omdatabase.cc: Implement spellings_begin(), using the newly 19032 added FreqAdderOrTermList to join the spellings lists. 19033 * common/database.h,backends/database.cc: Add 19034 open_spelling_wordlist() to get iterator of spelling targets, if 19035 any, with default implementation which returns NULL. 19036 * backends/flint/flint_database.h,backends/flint/flint_database.cc: 19037 Implement open_spelling_wordlist() for flint. 19038 * backends/flint/flint_spelling.h: Make merge_changes() public, so 19039 it can be called when a writable database needs to open a 19040 spelling wordlist. 19041 * backends/flint/flint_spellingwordslist.h, 19042 backends/flint/flint_spellingwordslist.cc: New files, 19043 implementing an iterator over the spelling targets. 19044 19045Tue Jun 26 17:25:09 BST 2007 Richard Boulton <richard@lemurconsulting.com> 19046 19047 * common/ortermlist.h,expand/ortermlist.cc: Add a 19048 "FreqAdderOrTermList", which adds the term frequencies of the 19049 sublists, rather than requiring that they're equal for terms 19050 which are in both. 19051 19052Tue Jun 26 17:22:03 BST 2007 Olly Betts <olly@survex.com> 19053 19054 * docs/admin_notes.rst: Update to mention spelling and synonym tables, 19055 and to document optional tables more clearly. 19056 19057Tue Jun 26 16:23:25 BST 2007 Olly Betts <olly@survex.com> 19058 19059 * tests/termgentest.cc: Add feature test for TermGenerator spelling 19060 integration. 19061 19062Tue Jun 26 16:14:56 BST 2007 Olly Betts <olly@survex.com> 19063 19064 * tests/termgentest.cc: Fix comment paste-o. 19065 19066Tue Jun 26 16:11:11 BST 2007 Olly Betts <olly@survex.com> 19067 19068 * include/xapian/termgenerator.h,queryparser/termgenerator.cc, 19069 queryparser/termgenerator_internal.cc, 19070 queryparser/termgenerator_internal.h: Add support for generating 19071 spelling data to TermGenerator class. 19072 19073Tue Jun 26 15:22:12 BST 2007 Olly Betts <olly@survex.com> 19074 19075 * bin/xapian-compact.cc: Don't skip "empty" source databases, as they 19076 may have spelling and/or synonym data. Warn if more than one source 19077 database has spelling data and ignore all but the first. Similarly 19078 warn and ignore for synonym data. 19079 19080Tue Jun 26 13:52:15 BST 2007 Olly Betts <olly@survex.com> 19081 19082 * examples/copydatabase.cc: Fix code which extracts the leafname to 19083 handle a trailing directory separator. 19084 * examples/copydatabase.cc: Copy synonym data across. Print warning 19085 that spelling data isn't copied (as there's no API to access it 19086 currently). 19087 19088Tue Jun 26 13:21:13 BST 2007 Olly Betts <olly@survex.com> 19089 19090 * bin/xapian-compact.cc: Fix to compact spelling and synonym tables. 19091 19092Tue Jun 26 02:20:50 BST 2007 Olly Betts <olly@survex.com> 19093 19094 * tests/api_wrdb.cc: Fix randomly indented line. 19095 19096Tue Jun 26 02:20:01 BST 2007 Olly Betts <olly@survex.com> 19097 19098 * include/xapian/document.h: Change parameter name for 19099 Document::get_value() to match other parameter names in the class. 19100 19101Tue Jun 26 02:19:16 BST 2007 Olly Betts <olly@survex.com> 19102 19103 * include/xapian/queryparser.h: FLAG_AUTO_MULTIWORD_SYNONYMS now 19104 implies FLAG_AUTO_SYNONYMS. 19105 19106Tue Jun 26 02:18:02 BST 2007 Olly Betts <olly@survex.com> 19107 19108 * tests/queryparsertest.cc: Add test for a single word synonym in 19109 multi-synonym mode. 19110 19111Tue Jun 26 02:08:47 BST 2007 Olly Betts <olly@survex.com> 19112 19113 * common/ortermlist.h,queryparser/termgenerator_internal.h: Fix 19114 warnings from Intel's C++ compiler. 19115 19116Tue Jun 26 01:45:09 BST 2007 Olly Betts <olly@survex.com> 19117 19118 * HACKING: Snapshots and releases are now bootstrapped with libtool 19119 1.5.24, which includes all the patches we were applying on top of 19120 1.5.22. 19121 * HACKING: Expand note about preferring pre-increment to 19122 post-increment to mention preferring it to adding one, and to cover 19123 decrementing too. 19124 19125Tue Jun 26 01:34:41 BST 2007 Olly Betts <olly@survex.com> 19126 19127 * backends/flint/flint_spelling.cc: Fix bug appending spelling data to 19128 an existing trigram. 19129 19130Tue Jun 26 01:34:07 BST 2007 Olly Betts <olly@survex.com> 19131 19132 * backends/flint/flint_database.cc: Fix handling of exceptions during 19133 commit. 19134 19135Mon Jun 25 17:01:40 BST 2007 Olly Betts <olly@survex.com> 19136 19137 * docs/spelling.rst: Update for Unicode spelling correction. 19138 19139Mon Jun 25 15:41:43 BST 2007 Olly Betts <olly@survex.com> 19140 19141 * api/editdistance.cc,api/editdistance.h,api/omdatabase.cc: 19142 Convert to UTF-32 before calculating edit distances. 19143 * tests/api_wrdb.cc: Add test coverage for Unicode spelling 19144 correction. 19145 19146Mon Jun 25 14:03:34 BST 2007 Olly Betts <olly@survex.com> 19147 19148 * tests/quartztest.cc: Remove tests for removed method 19149 QuartzPostList::get_collection_freq(). 19150 19151Mon Jun 25 12:32:07 BST 2007 Olly Betts <olly@survex.com> 19152 19153 * backends/flint/flint_spelling.cc: Replace abort() with exception 19154 throwing. 19155 19156Mon Jun 25 03:01:20 BST 2007 Olly Betts <olly@survex.com> 19157 19158 * tests/harness/backendmanager.cc: Track the fd used to communicate 19159 with a xapian-tcpsrv child process so we can close it when we reap 19160 the child pid. 19161 19162Mon Jun 25 02:44:04 BST 2007 Olly Betts <olly@survex.com> 19163 19164 * docs/valueranges.rst: Fix bad RST markup. 19165 19166Sun Jun 24 23:24:26 BST 2007 Olly Betts <olly@survex.com> 19167 19168 * tests/harness/backendmanager.cc: Fix memory leak in test harness 19169 launching of xapian-tcpsrv so that "apitest -b remotetcp" now passes 19170 under valgrind. 19171 19172Sun Jun 24 19:39:59 BST 2007 Richard Boulton <richard@lemurconsulting.com> 19173 19174 * docs/valueranges.rst: Add documentation for the 19175 NumberValueRangeProcessor, now that it is fixed. 19176 19177Sun Jun 24 14:29:06 BST 2007 Olly Betts <olly@survex.com> 19178 19179 * backends/remote/net_postlist.cc,backends/remote/net_postlist.h: 19180 Move NetworkPostList virtual methods out of the header. Move the 19181 constructor into the header, since that can be inlined. 19182 19183Sun Jun 24 14:15:43 BST 2007 Olly Betts <olly@survex.com> 19184 19185 * backends/flint/,backends/multi/multi_postlist.cc, 19186 backends/multi/multi_postlist.h,backends/quartz/, 19187 backends/remote/net_postlist.cc,backends/remote/net_postlist.h, 19188 backends/remote/remote-database.cc,common/emptypostlist.h, 19189 common/postlist.h,common/remote-database.h: For Flint and Quartz, 19190 refactor so we no longer create a postlist just to find the termfreq 19191 or collection frequency. These were the only places which used 19192 PostList::get_collection_freq(), so eliminate it (bug#124). 19193 19194Sun Jun 24 09:40:51 BST 2007 Richard Boulton <richard@lemurconsulting.com> 19195 19196 * msvc/genversion.pl: Add a script to generate the version.h file 19197 for MSVC builds by parsing configure.ac to extract the version 19198 number, and then performing the appropriate substitutions on 19199 msvc/version.h.in. Shouldn't be used for tarball builds (because 19200 version.h already exists) or for builds which use configure. 19201 19202Sun Jun 24 02:25:38 BST 2007 Olly Betts <olly@survex.com> 19203 19204 * matcher/multimatch.cc: The check_at_least parameter to 19205 Enquire::get_mset() is now handled in a more efficient way - no 19206 extra memory is now required, and CPU overhead should be reduced 19207 (bug#174). 19208 19209Sun Jun 24 02:00:07 BST 2007 Olly Betts <olly@survex.com> 19210 19211 * docs/synonyms.rst,docs/Makefile.am: New "topic" document describing 19212 synonym support. 19213 * docs/Makefile.am: HTML documentation generated from RST files wasn't 19214 being installed. 19215 19216Sun Jun 24 00:45:46 BST 2007 Olly Betts <olly@survex.com> 19217 19218 * backends/remote/remote-database.cc,common/remote-database.h, 19219 common/remoteprotocol.h,common/submatch.h,docs/remote_protocol.html, 19220 matcher/,net/remoteserver.cc: Pass check_at_least to the remote 19221 server to reduce the amount of work required to produce the match 19222 on the remote server, and also reduce the serialised size of the 19223 returned MSet. 19224 19225Sun Jun 24 00:17:18 BST 2007 Olly Betts <olly@survex.com> 19226 19227 * tests/api_anydb.cc: More check_at_least tests. 19228 19229Sat Jun 23 20:02:48 BST 2007 Olly Betts <olly@survex.com> 19230 19231 * api/omdatabase.cc,tests/api_wrdb.cc: Add multi-database support 19232 for synonyms. 19233 19234Sat Jun 23 18:50:59 BST 2007 Richard Boulton <richard@lemurconsulting.com> 19235 19236 * include/xapian/database.h: Tiny fix to a documentation comment. 19237 19238Sat Jun 23 17:35:37 BST 2007 Olly Betts <olly@survex.com> 19239 19240 * common/ortermlist.h,expand/ortermlist.cc: Comment out unused method 19241 OrTermList::get_collection_freq(). The same dummy implementation 19242 is provided by the parent class (TermList). 19243 19244Sat Jun 23 17:07:40 BST 2007 Olly Betts <olly@survex.com> 19245 19246 * api/omdatabase.cc,backends/database.cc,backends/flint/, 19247 common/database.h,include/xapian/database.h,tests/api_wrdb.cc: 19248 Implement Database::synonym_keys_begin() to allow iteration over all 19249 the terms for which synonyms have been added. 19250 19251Sat Jun 23 04:19:54 BST 2007 Olly Betts <olly@survex.com> 19252 19253 * matcher/multimatch.cc: Fix handling of check_at_least parameter - 19254 we weren't discarding matches above the requested MSet size 19255 correctly. 19256 * tests/api_anydb.cc: Add regression test checkatleast2. 19257 19258Sat Jun 23 03:00:45 BST 2007 Olly Betts <olly@survex.com> 19259 19260 * docs/queryparser.html: Document synonyms. 19261 19262Sat Jun 23 02:50:55 BST 2007 Olly Betts <olly@survex.com> 19263 19264 * queryparser/queryparser.lemony: Unapply commented out fragments 19265 towards supporting '~' on phrases, which I didn't mean to apply. 19266 19267Sat Jun 23 02:25:32 BST 2007 Olly Betts <olly@survex.com> 19268 19269 * include/xapian/queryparser.h,queryparser/queryparser.lemony, 19270 tests/queryparsertest.cc: Add support for synonym operator ('~') 19271 to the QueryParser. 19272 19273Sat Jun 23 01:52:51 BST 2007 Olly Betts <olly@survex.com> 19274 19275 * queryparser/queryparser.lemony: Fix two bugs in the query parser - 19276 now '+' and '-' work on bracketed subexpressions as documented. 19277 * tests/queryparsertest.cc: Add regression tests. 19278 19279Sat Jun 23 01:47:30 BST 2007 Olly Betts <olly@survex.com> 19280 19281 * queryparser/queryparser.cc: Use "using namespace std;". 19282 19283Fri Jun 22 18:48:21 BST 2007 Olly Betts <olly@survex.com> 19284 19285 * backends/flint/flint_synonym.cc: Fix iteration of unflushed 19286 synonyms. 19287 19288Fri Jun 22 18:21:39 BST 2007 Richard Boulton <richard@lemurconsulting.com> 19289 19290 * docs/deprecation.rst: Fix typo. 19291 19292Fri Jun 22 18:02:21 BST 2007 Olly Betts <olly@survex.com> 19293 19294 * api/omdatabase.cc,backends/database.cc,backends/flint/, 19295 common/database.h,include/xapian/database.h, 19296 include/xapian/queryparser.h,queryparser/queryparser.lemony: 19297 Add support for storing synonyms for terms in a new optional Btree 19298 table in flint databases, and using them in the QueryParser. 19299 * tests/queryparsertest.cc: Feature tests for synonyms. 19300 19301Fri Jun 22 17:58:37 BST 2007 Olly Betts <olly@survex.com> 19302 19303 * queryparser/queryparser.lemony: Removed superfluous "private:" in 19304 class State. Make State::get_database() const. 19305 19306Fri Jun 22 17:58:15 BST 2007 Olly Betts <olly@survex.com> 19307 19308 * tests/queryparsertest.cc: Make sure .flint subdirectory exists. 19309 19310Fri Jun 22 17:52:53 BST 2007 Olly Betts <olly@survex.com> 19311 19312 * bin/xapian-inspect.cc: Don't die with an error if the user tries to 19313 move forward twice from the end. Also, make "prev" from the end 19314 work. 19315 19316Fri Jun 22 17:47:36 BST 2007 Olly Betts <olly@survex.com> 19317 19318 * queryparser/queryparser.lt: If an input token has a yyminor, report 19319 its name in the debug output. 19320 19321Fri Jun 22 14:47:17 BST 2007 Olly Betts <olly@survex.com> 19322 19323 * NEWS: Updated with changes since 1.0.1. 19324 19325Thu Jun 21 21:12:49 BST 2007 Olly Betts <olly@survex.com> 19326 19327 * backends/remote/remote-database.cc,common/remoteprotocol.h, 19328 common/remoteserver.h,net/remoteserver.cc: Protocol version 19329 increased to 30.2. This difference from 30.1 is that 19330 MSG_DELETEDOCUMENT now send REPLY_DONE to allow DocNotFoundError 19331 to be propagated. MSG_DELETEDOCUMENT now has a new number and 19332 the old number for MSG_DELETEDOCUMENT is now 19333 MSG_DELETEDOCUMENT_PRE_30_2 which is handled by the server so 19334 that older clients will continue to work. 19335 * docs/remote_protocol.html: Update. 19336 * tests/api_wrdb.cc: Add regression test for DocNotFoundError bug. 19337 19338Thu Jun 21 17:22:53 BST 2007 Olly Betts <olly@survex.com> 19339 19340 * api/omdatabase.cc,tests/queryparsertest.cc,docs/spelling.rst: Add 19341 support for spelling correction when using multiple databases. 19342 19343Thu Jun 21 16:15:22 BST 2007 Olly Betts <olly@survex.com> 19344 19345 * tests/queryparsertest.cc: Add feature tests for correcting spelling 19346 errors in the QueryParser. 19347 19348Thu Jun 21 15:01:00 BST 2007 Olly Betts <olly@survex.com> 19349 19350 * tests/api_wrdb.cc: Check the edit distance 3 words are found if 19351 asked for. 19352 19353Thu Jun 21 14:59:15 BST 2007 Olly Betts <olly@survex.com> 19354 19355 * api/omdatabase.cc,common/omdebug.h: Add some debug tracing for the 19356 spelling correction. 19357 19358Thu Jun 21 13:45:12 BST 2007 Olly Betts <olly@survex.com> 19359 19360 * backends/flint/flint_spelling.cc,docs/spelling.rst: Generate 19361 "bookends" for four character words too, so that we suggest 19362 "fuor" -> "four". 19363 * tests/api_wrdb.cc: More testcases. 19364 19365Thu Jun 21 13:08:07 BST 2007 Olly Betts <olly@survex.com> 19366 19367 * docs/spelling.rst: Assorted minor improvements. Add note about not 19368 detecting single character substitutions in two character words. 19369 19370Thu Jun 21 13:02:57 BST 2007 Olly Betts <olly@survex.com> 19371 19372 * tests/api_wrdb.cc: Check cases for single edits to a two character 19373 word work as expected. 19374 19375Thu Jun 21 04:13:46 BST 2007 Olly Betts <olly@survex.com> 19376 19377 * tests/api_wrdb.cc: Add test cases to check we find all single edit 19378 errors for a three letter word. 19379 19380Thu Jun 21 04:08:11 BST 2007 Olly Betts <olly@survex.com> 19381 19382 * backends/flint/flint_spelling.h: Now that 19383 FlintSpellingTable::merge_changes() is only called from within the 19384 class, make it a private method. discard_changes() is only used 19385 once, and from within the class, so just inline it as that's 19386 clearer. Make the comment about the overridden methods a doxygen 19387 grouping comment, 19388 19389Thu Jun 21 04:02:51 BST 2007 Olly Betts <olly@survex.com> 19390 19391 * docs/spelling.rst: Update to mention "bookend" bigrams. 19392 19393Thu Jun 21 03:56:52 BST 2007 Olly Betts <olly@survex.com> 19394 19395 * backends/flint/flint_spelling.cc: Generate "bookend" spelling 19396 entries for two and three letter terms, consisting of the prefix 'B' 19397 followed by the first and last letters. This allows us to handle 19398 substitution or deletion of the middle character of a three letter 19399 word, or insertion in the middle of a two letter word. 19400 19401Thu Jun 21 03:18:28 BST 2007 Olly Betts <olly@survex.com> 19402 19403 * tests/queryparsertest.cc: Some doubles in the list which 19404 value_range_serialise1 tests have the same values on some platforms, 19405 so test that adjacent numbers and their string counterparts compare 19406 the same way rather than that both are "<". 19407 19408Thu Jun 21 02:46:01 BST 2007 Olly Betts <olly@survex.com> 19409 19410 * tests/api_wrdb.cc: Add "spell1" - a simple feature test for spelling 19411 based on Richard's python test. Use TESTCASE() and END_OF_TESTCASES 19412 macros. 19413 19414Wed Jun 20 21:57:01 BST 2007 Olly Betts <olly@survex.com> 19415 19416 * backends/flint/flint_database.cc: WritableDatabase::delete_document() 19417 no longer cancels pending changes if the document doesn't exist. 19418 * backends/quartz/quartz_database.cc: Same fix. 19419 19420Wed Jun 20 20:53:52 BST 2007 Olly Betts <olly@survex.com> 19421 19422 * backends/flint/flint_database.cc: We may now need to flush even if 19423 there have been no documents added/replaced/deleted, as there may be 19424 changes to the spelling table. 19425 19426Wed Jun 20 20:46:30 BST 2007 Olly Betts <olly@survex.com> 19427 19428 * backends/flint/flint_table.cc: Fix a function name in the debug 19429 loggging. 19430 19431Wed Jun 20 20:39:43 BST 2007 Olly Betts <olly@survex.com> 19432 19433 * backends/flint/flint_spelling.cc: Fix FlintSpellingTermList not to 19434 report at_end() one entry too early. 19435 19436Wed Jun 20 19:21:45 BST 2007 Olly Betts <olly@survex.com> 19437 19438 * tests/harness/backendmanager.cc: Don't touch <dbdir>/log for flint 19439 as flint doesn't create a log like quartz does. 19440 19441Wed Jun 20 17:10:29 BST 2007 Olly Betts <olly@survex.com> 19442 19443 * backends/flint/flint_database.cc,backends/flint/flint_spelling.h: 19444 Push special handling for spelling_table into the FlintSpellingTable 19445 class. This fixes "is_modified()" to take into account unflushed 19446 changes held in memory. 19447 19448Wed Jun 20 13:59:01 BST 2007 Olly Betts <olly@survex.com> 19449 19450 * api/omdatabase.cc: Don't use RETURN() in methods which return void. 19451 19452Wed Jun 20 11:56:30 BST 2007 Richard Boulton <richard@lemurconsulting.com> 19453 19454 * api/editdistance.cc: Change an Assert in is_transposed() (which 19455 fails in some cases) to a test, since it seems legitimate that 19456 a value of pos2 <= 0 might be supplied to the function (though 19457 the answer will always be "false" in that case). 19458 19459Wed Jun 20 02:38:51 BST 2007 Olly Betts <olly@survex.com> 19460 19461 * api/omdatabase.cc: Fix two incorrect return types in debug logging. 19462 19463Wed Jun 20 02:14:40 BST 2007 Olly Betts <olly@survex.com> 19464 19465 * api/omdatabase.cc: Add missing implementations of 19466 WritableDatabase::add_spelling() and 19467 WritableDatabase::remove_spelling(). 19468 19469Wed Jun 20 00:58:46 BST 2007 Olly Betts <olly@survex.com> 19470 19471 * backends/flint/flint_spelling.h: Make the maps private. 19472 19473Wed Jun 20 00:05:15 BST 2007 Olly Betts <olly@survex.com> 19474 19475 * HACKING: Snapshots now bootstrapped with automake 1.10. 19476 19477Wed Jun 20 00:03:42 BST 2007 Olly Betts <olly@survex.com> 19478 19479 * backends/flint/flint_spelling.cc,common/Makefile.mk, 19480 expand/Makefile.mk,expand/ortermlist.h: Move ortermlist.h from 19481 "expand/" to "common/" so we can included it from flint_spelling.cc 19482 without a relative path. 19483 19484Tue Jun 19 22:41:08 BST 2007 Olly Betts <olly@survex.com> 19485 19486 * api/,backends/database.cc,backends/flint/,common/database.h, 19487 docs/Makefile.am,docs/spelling.rst,include/xapian/database.h, 19488 include/xapian/queryparser.h,queryparser/queryparser.cc, 19489 queryparser/queryparser.lemony,queryparser/queryparser_internal.h: 19490 Add support for spelling correction. 19491 19492Tue Jun 19 19:18:40 BST 2007 Olly Betts <olly@survex.com> 19493 19494 * backends/flint/flint_database.cc,backends/flint/flint_table.cc, 19495 backends/flint/flint_table.h: Add new method 19496 FlintTable::key_exists() so we don't need to create a cursor to 19497 check if a key exists in FlintDatabase::term_exists() (the other 19498 alternative previously was to read the key and tag and ignore the 19499 tag, but that could involve reading more blocks if the tag is 19500 long, and it could involve uncompressing the tag too). 19501 19502Tue Jun 19 17:49:09 BST 2007 Richard Boulton <richard@lemurconsulting.com> 19503 19504 * tests/queryparsertest.cc: Cast the input to pow() to a double, to 19505 fix a problem on windows (which has several versions of pow(), 19506 and the version taking a float was being used by default, 19507 resulting in some of the tests overflowing the range of float). 19508 19509Tue Jun 19 17:48:42 BST 2007 Richard Boulton <richard@lemurconsulting.com> 19510 19511 * api/valuerangeproc.cc: Fix assertions, so that the code works 19512 with assertions turned on. 19513 19514Tue Jun 19 12:35:46 BST 2007 Olly Betts <olly@survex.com> 19515 19516 * matcher/branchpostlist.cc: Add missing #include <config.h>. 19517 * matcher/branchpostlist.cc,matcher/branchpostlist.h: Move other 19518 virtual method definitions out of the header. 19519 19520Mon Jun 18 21:41:15 BST 2007 Richard Boulton <richard@lemurconsulting.com> 19521 19522 * matcher/branchpostlist.h: Add missed copyright statement. 19523 19524Mon Jun 18 21:36:31 BST 2007 Richard Boulton <richard@lemurconsulting.com> 19525 19526 * matcher/branchpostlist.cc,matcher/branchpostlist.h: Add get_wdf() 19527 method to BranchPostList (which just sums the wdf, which is 19528 useful for a synonym postlist, which is the only situation in 19529 which this will be called). Add the method definition in a 19530 separate file, as per the comment I just added to HACKING. 19531 * matcher/Makefile.mk: Add branchpostlist.cc 19532 19533Mon Jun 18 21:33:56 BST 2007 Richard Boulton <richard@lemurconsulting.com> 19534 19535 * HACKING: Add note about virtual methods (saying that the 19536 shouldn't be defined in header files). 19537 19538Mon Jun 18 20:15:18 BST 2007 Richard Boulton <richard@lemurconsulting.com> 19539 19540 * matcher/phrasepostlist.cc,matcher/phrasepostlist.h, 19541 matcher/exactphrasepostlist.cc,matcher/exactphrasepostlist.cc: 19542 Add get_wdf() methods to NearPostList, PhrasePostList and 19543 ExactPhrasePostList - these use a very rough approximation (but 19544 there's a big long comment justifying it). 19545 19546Mon Jun 18 18:38:43 BST 2007 Richard Boulton <richard@lemurconsulting.com> 19547 19548 * matcher/mergepostlist.cc,matcher/mergepostlist.h: Add copyright 19549 statements for previous commit (and update license while I'm at 19550 it). 19551 19552Mon Jun 18 18:24:43 BST 2007 Richard Boulton <richard@lemurconsulting.com> 19553 19554 * matcher/mergepostlist.cc,matcher/mergepostlist.h: Add get_wdf() 19555 method to MergePostList (just passes through the value from the 19556 current postlist). Not currently needed, but the expected 19557 behaviour is obvious, and this will be needed if there's a 19558 synonym postlist higher in the query tree (when synonym postlists 19559 are implemented). Also, correct a documentation comment typo. 19560 19561Mon Jun 18 13:09:36 BST 2007 Richard Boulton <richard@lemurconsulting.com> 19562 19563 * api/valuerangeproc.cc: Cast the first parameter to ldexp() to 19564 double to fix compilation on some platforms, and add a few more 19565 explanatory code comments to 19566 NumberValueRangeProcessor::string_to_float() 19567 19568Mon Jun 18 11:33:49 BST 2007 Richard Boulton <richard@lemurconsulting.com> 19569 19570 * api/valuerangeproc.cc: Add static methods to 19571 NumberValueRangeProcessor to serialise and unserialise doubles. 19572 Change the code which tests a term for being a number to use 19573 strtod, and accept any string which strtod thinks is a number. 19574 If NumberValueRangeProcessor accepts a range, it now converts the 19575 begin and end values to strings using the serialise method. 19576 Also, expand some of the code comments. 19577 * include/xapian/queryparser.h: Add documentation comments to 19578 NumberValueRangeProcessor. 19579 * tests/queryparsertest.cc: Update value_range2_queries to expect 19580 new serialised forms in its output. Update test_qp_value_range3 19581 to test a wider range of values (including negative, fractional, 19582 and more-than-single-digit). 19583 19584Mon Jun 18 03:36:38 BST 2007 Olly Betts <olly@survex.com> 19585 19586 * queryparser/queryparser.lemony: Fix comment typo, and add brackets 19587 to make intended precedence clearer. 19588 19589Mon Jun 18 03:36:04 BST 2007 Olly Betts <olly@survex.com> 19590 19591 * include/xapian/queryparser.h: Tweak wording of a couple of 19592 documentation comments. 19593 19594Mon Jun 18 02:00:31 BST 2007 Olly Betts <olly@survex.com> 19595 19596 * docs/queryparser.html: Mention "AND NOT" as an alternative way to 19597 write "NOT". 19598 19599Mon Jun 18 01:43:00 BST 2007 Olly Betts <olly@survex.com> 19600 19601 * queryparser/queryparser.lemony: Adjust precedence of boolean 19602 operators to match those in maths and programming languages. 19603 "NOT" now binds as tightly as "AND" (previously "AND NOT" would 19604 bind like "AND", but just "NOT" would bind like "OR"!) Also 19605 "XOR" now binds more tightly than "OR", but less tightly than 19606 "AND" (previously it bound just like "OR"). 19607 * tests/queryparsertest.cc: Add testcases for the new behaviour. 19608 19609Mon Jun 18 01:16:18 BST 2007 Olly Betts <olly@survex.com> 19610 19611 * tests/queryparsertest.cc: Better test coverage of handling of random 19612 double quotes in queries. 19613 19614Sun Jun 17 16:17:34 BST 2007 Olly Betts <olly@survex.com> 19615 19616 * include/xapian/unicode.h: Don't call operator++(0) from operator() 19617 as it does more work than we need. 19618 19619Sun Jun 17 14:14:16 BST 2007 Olly Betts <olly@survex.com> 19620 19621 * bin/xapian-inspect.cc: Fix so that Ctrl+D doesn't cause an infinite 19622 loop! 19623 19624Sat Jun 16 22:19:11 BST 2007 Olly Betts <olly@survex.com> 19625 19626 * bin/Makefile.mk,bin/xapian-inspect.cc,xapian-core.spec.in: 19627 New utility 'xapian-inspect' allowing interactive inspection of 19628 key/tag pairs in a flint Btree. Useful for developement and 19629 debugging, and an approximate replacement for quartzdump. 19630 19631Sat Jun 16 17:03:57 BST 2007 Olly Betts <olly@survex.com> 19632 19633 * docs/doxygen_api_conf.in,docs/doxygen_full_conf.in: Update for 19634 doxygen 1.5.2 (using "doxygen -u"). 19635 19636Sat Jun 16 10:17:32 BST 2007 Richard Boulton <richard@lemurconsulting.com> 19637 19638 * tests/Makefile.am: The "check-none" target should run all the 19639 tests which don't need a database, not just those in apitest: add 19640 internaltest, stemtest, queryparsertest and termgentest to the 19641 list of tests it runs. 19642 19643Sat Jun 16 09:36:10 BST 2007 Richard Boulton <richard@lemurconsulting.com> 19644 19645 * Makefile.am,bin/Makefile.mk,examples/Makefile.mk: Work around an 19646 apparent bug in automake which causes the entries in .libs 19647 subdirectories generated for targets of bin_PROGRAMS not to be 19648 removed on make clean. (This was causing make distcheck to 19649 fail.) 19650 19651Sat Jun 16 04:42:16 BST 2007 Olly Betts <olly@survex.com> 19652 19653 * HACKING,Makefile.am,tests/Makefile.am,tests/apitest.cc, 19654 tests/harness/backendmanager.cc,tests/harness/backendmanager.h: In 19655 the testsuite, rename the "void" pseudo-backend to "none" to more 19656 clearly reflect what it is. And rename the "remote" backend to 19657 "remoteprog", to better differentiate it from "remotetcp". 19658 * HACKING: Fix error - "apitest -b=flint" doesn't work - it must be 19659 "apitest -bflint". 19660 19661Sat Jun 16 04:40:28 BST 2007 Olly Betts <olly@survex.com> 19662 19663 * HACKING: Now using doxygen 1.5.2. 19664 19665Sat Jun 16 02:08:20 BST 2007 Olly Betts <olly@survex.com> 19666 19667 * backends/flint/flint_table.cc: Fix to build with older zlib. Not 19668 hugely important as zlib security fixes mean any well maintained 19669 box will be running a recent zlib, but the fix is trivial. 19670 19671Fri Jun 15 19:39:03 BST 2007 Richard Boulton <richard@lemurconsulting.com> 19672 19673 * HACKING: Document the new check-void, check-inmemory, 19674 check-remoteprog and check-remotetcp targets. 19675 19676Fri Jun 15 19:34:13 BST 2007 Richard Boulton <richard@lemurconsulting.com> 19677 19678 * Makefile.am,tests/Makefile.am: Add check-void, check-inmemory, 19679 check-remoteprog and check-remotetcp targets, to allow the tests 19680 for any of the backends to be performed in isolation. 19681 19682Fri Jun 15 19:29:19 BST 2007 Olly Betts <olly@survex.com> 19683 19684 * Makefile.am,configure.ac,xapian-core.spec.in,xapian.spec.in: 19685 Rename xapian.spec to xapian-core.spec to match tarball name. 19686 Append the user name to BuildRoot. 19687 19688Fri Jun 15 14:51:13 BST 2007 Richard Boulton <richard@lemurconsulting.com> 19689 19690 * net/progclient.cc: Open the file handle pointing to /dev/null as 19691 O_WRONLY instead of O_RDONLY: doesn't affect whether the test 19692 passes (since nothing gets written to stderr in theory anyway), 19693 but makes more sense. 19694 19695Fri Jun 15 13:21:56 BST 2007 Richard Boulton <richard@lemurconsulting.com> 19696 19697 * net/progclient.cc: Better fix - rather than leaving stderr open, 19698 we close it, and then reopen it pointing to /dev/null. 19699 19700Fri Jun 15 12:55:07 BST 2007 Richard Boulton <richard@lemurconsulting.com> 19701 19702 * net/progclient.cc: Don't close stderr in the child before we call 19703 execve() - with this change, apitest passes under valgrind with 19704 the remote database backend: before it, the child seemed to be 19705 exiting without writing anything to the socket, causing the test 19706 to fail with a NetworkError (due to an unexpected EOF). 19707 19708Thu Jun 14 23:47:52 BST 2007 Olly Betts <olly@survex.com> 19709 19710 * backends/flint/flint_database.cc: Replace duplicated code with calls 19711 to existing method set_revision_number(new_revision). 19712 19713Thu Jun 14 18:51:03 BST 2007 Olly Betts <olly@survex.com> 19714 19715 * backends/flint/flint_database.cc: Stop including <sys/utsname.h> 19716 which we don't use here. 19717 19718Thu Jun 14 18:22:24 BST 2007 Olly Betts <olly@survex.com> 19719 19720 * tests/Makefile.am: Fix typo from copy&paste. 19721 19722Thu Jun 14 16:46:45 BST 2007 Olly Betts <olly@survex.com> 19723 19724 * docs/admin_notes.rst: Update for the "lazy table" changes. Correct 19725 the description of xapian-compact --multipass (only the postlist 19726 tables are merged in multiple passes), correct description of how 19727 to use xapian-check on a single table (no trailing '.' should be 19728 specified). Change the "how to upgrade 0.9.x flint databases" to 19729 talk about 1.0.y rather than 1.0.0. 19730 19731Thu Jun 14 16:25:55 BST 2007 Olly Betts <olly@survex.com> 19732 19733 * backends/flint/: The value and position tables are now only created 19734 if there is anything to add to them. So if you never use document 19735 values, there's no value_DB, value.baseA, or value.baseB. This 19736 means the table doesn't need to be opened for searching (saving a 19737 file handle) and when flushing changes, we don't need to update 19738 baseA/baseB just to keep the revisions in step. The flint database 19739 version has been increased, but the new code will happily open and 19740 read/update flint databases from Xapian 1.0.0 and 1.0.1. 19741 * bin/xapian-check.cc,bin/xapian-compact.cc: Update to handle 19742 databases without value and/or position tables. 19743 * tests/testdata/flint-1.0.1/: Empty example of a flint 1.0.1 format 19744 database. 19745 * tests/Makefile.am,tests/api_db.cc: Add check that a flint 1.0.1 19746 format database can be opened. 19747 19748Wed Jun 13 22:40:15 BST 2007 Richard Boulton <richard@lemurconsulting.com> 19749 19750 * include/xapian/queryparser.h: Document set_stemmer() and 19751 set_stemming_strategy() better - in particular, make it clear 19752 that the default value for the stemming strategy is STEM_NONE. 19753 19754Wed Jun 13 17:16:52 BST 2007 Olly Betts <olly@survex.com> 19755 19756 * HACKING: Wrap overlong line. 19757 19758Wed Jun 13 16:47:07 BST 2007 Olly Betts <olly@survex.com> 19759 19760 * msvc/version.h.in: Remote backend is now supported in the MSVC 19761 build. 19762 19763Wed Jun 13 04:18:51 BST 2007 Olly Betts <olly@survex.com> 19764 19765 * backends/flint/flint_table.cc,backends/flint/flint_table.h: 19766 Eliminate dont_close_handle as it's always false. 19767 19768Wed Jun 13 02:53:28 BST 2007 Olly Betts <olly@survex.com> 19769 19770 * backends/flint/flint_btreebase.cc,backends/flint/flint_btreebase.h: 19771 Remove unused FlintTable_base constructor. 19772 19773Tue Jun 12 18:27:54 BST 2007 Olly Betts <olly@survex.com> 19774 19775 * backends/flint/flint_table.cc: Add fix to allow compilation on 19776 OpenBSD, which uses off_t instead of uLong for total_out in 19777 zlib.h. Remove Assert() which is followed by a better check of 19778 the same condition. 19779 * AUTHORS: Add Julien Touche for help with this fix. 19780 19781Tue Jun 12 13:34:59 BST 2007 Richard Boulton <richard@lemurconsulting.com> 19782 19783 * tests/harness/unixcmds.cc: On unix builds, set access permissions 19784 on copied directories to allow writes. This fixes make 19785 distcheck, which was failing on tests because the copied 19786 directory was set to read-only, causing the later "rm -rf" 19787 command to fail. 19788 19789Mon Jun 11 20:10:26 BST 2007 Olly Betts <olly@survex.com> 19790 19791 * docs/overview.html: Fix typo. 19792 19793Mon Jun 11 20:08:42 BST 2007 Olly Betts <olly@survex.com> 19794 19795 * docs/Makefile.am: Ship and install internals.html. 19796 19797Mon Jun 11 17:46:04 BST 2007 Olly Betts <olly@survex.com> 19798 19799 * docs/Makefile.am,docs/doxygen_full_conf.in: Disable generation of 19800 PDF version of doxygen-collated documentation of internals. It 19801 keeps overflowing TeX limits and it seems likely that most people 19802 would prefer the HTML version of this anyway. 19803 19804Mon Jun 11 17:45:12 BST 2007 Olly Betts <olly@survex.com> 19805 19806 * tests/internaltest.cc: Remove duplicated code. 19807 19808Mon Jun 11 03:55:53 BST 2007 Olly Betts <olly@survex.com> 19809 19810 * NEWS: Probably the final update for 1.0.1. 19811 19812Mon Jun 11 03:47:37 BST 2007 Olly Betts <olly@survex.com> 19813 19814 * examples/simpleindex.cc: Tweak the logic to be clearer. 19815 19816Sun Jun 10 21:59:21 BST 2007 Olly Betts <olly@survex.com> 19817 19818 * HACKING,configure.ac: Drop automake requirement to 1.8.3 to allow 19819 RPM spec file to work on SLES 9. 19820 19821Sun Jun 10 21:48:51 BST 2007 Olly Betts <olly@survex.com> 19822 19823 * configure.ac: Bump version to 1.0.1 and LIBRARY_VERSION_INFO to 19824 15:0:0. 19825 19826Sun Jun 10 21:46:57 BST 2007 Olly Betts <olly@survex.com> 19827 19828 * xapian.spec.in: Add "# norootforbuild" comment which SuSE's build 19829 scripts look for. Rename "Source0:" to "Source:" as there's only 19830 one tarball now. Add gcc-c++ and zlib-devel to "Build-Requires:". 19831 19832Sun Jun 10 21:43:45 BST 2007 Olly Betts <olly@survex.com> 19833 19834 * PLATFORMS: More updates. 19835 19836Sun Jun 10 18:01:19 BST 2007 Olly Betts <olly@survex.com> 19837 19838 * api/error.cc,generate-exceptions.in: Make Error::error_string member 19839 std::string rather than char * to avoid problems with double free() 19840 with copied Error objects. Also, Error::get_description() now 19841 converts my_errno to error_string if it hasn't been already. 19842 * tests/internaltest.cc: Add regression tests for both bugs. 19843 19844Sun Jun 10 13:33:21 BST 2007 Olly Betts <olly@survex.com> 19845 19846 * tests/api_db.cc: New testcase in allterms6. 19847 19848Sun Jun 10 13:20:37 BST 2007 Olly Betts <olly@survex.com> 19849 19850 * xapian-config.in: Add special case check for host_os matching linux* 19851 or k*bsd-gnu since vanilla libtool doesn't identify them as needing 19852 link_all_deplibs_CXX=no. 19853 19854Sun Jun 10 03:32:54 BST 2007 Olly Betts <olly@survex.com> 19855 19856 * PLATFORMS: Updated from tinderbox. 19857 19858Sun Jun 10 02:14:58 BST 2007 Olly Betts <olly@survex.com> 19859 19860 * NEWS: Updated. 19861 19862Sat Jun 09 17:28:32 BST 2007 Olly Betts <olly@survex.com> 19863 19864 * queryparser/queryparser.lemony: Add the unstem entry for boolean 19865 prefixed terms in Term::make_term() as we do for other terms. 19866 19867Sat Jun 09 17:27:55 BST 2007 Olly Betts <olly@survex.com> 19868 19869 * tests/queryparsertest.cc: Replace reference to Xapian "1.0" with 19870 "1.0.0". 19871 19872Sat Jun 09 17:12:44 BST 2007 Olly Betts <olly@survex.com> 19873 19874 * queryparser/queryparser.lemony,queryparser/queryparser_internal.h: 19875 Factor out the code which actually parses a term into a separate 19876 method. 19877 19878Fri Jun 08 23:31:23 BST 2007 Olly Betts <olly@survex.com> 19879 19880 * tests/Makefile.am: Distribute tests/testdata/flint-0.9.9/. 19881 19882Fri Jun 08 19:20:36 BST 2007 Olly Betts <olly@survex.com> 19883 19884 * NEWS: Updated. 19885 19886Fri Jun 08 18:55:43 BST 2007 Olly Betts <olly@survex.com> 19887 19888 * examples/simplesearch.cc: Report "Matches 1-<N>:". 19889 19890Fri Jun 08 18:46:02 BST 2007 Richard Boulton <richard@lemurconsulting.com> 19891 19892 * api/omenquire.cc: Fix issue brought to my attention by Enrico 19893 Zini: if an uninitialised database is supplied to Enquire, 19894 performing a search will cause a segfualt. It isn't completely 19895 clear whether using an uninitialised database should cause an 19896 error, or whether the search should return an empty result list, 19897 but for ease of implementation, and to avoid application errors 19898 going unnoticed, I've made Enquire's constructor report an 19899 InvalidArgumentError if the supplied database is uninitialised. 19900 * include/xapian/enquire.h: Document new exception case, and 19901 workaround if you want a search in this situation to return an 19902 empty result set, instead of getting an error. 19903 * tests/api_nodb.cc: Regression test for this fix. 19904 * AUTHORS: Mention Enrico Zini. 19905 19906Fri Jun 08 18:33:19 BST 2007 Olly Betts <olly@survex.com> 19907 19908 * NEWS: Updated. 19909 19910Fri Jun 08 17:09:22 BST 2007 Olly Betts <olly@survex.com> 19911 19912 * common/Makefile.mk: Distribute common/stringutils.h. 19913 19914Thu Jun 07 20:44:36 BST 2007 Olly Betts <olly@survex.com> 19915 19916 * tests/harness/unixcmds.cc: It appears we need to create the target 19917 directory for xcopy to behave as we want. 19918 19919Thu Jun 07 19:34:18 BST 2007 Olly Betts <olly@survex.com> 19920 19921 * tests/harness/unixcmds.cc: Fix typo to unbreak testsuite on Windows 19922 NT derivatives. 19923 19924Thu Jun 07 19:02:36 BST 2007 Olly Betts <olly@survex.com> 19925 19926 * backends/inmemory/inmemory_alltermslist.cc: Another tweak - don't 19927 call map::lower_bound() in the ctor at all. Also, prevent skip_to() 19928 from moving backwards, since that behaviour is user-visible. 19929 19930Thu Jun 07 18:36:49 BST 2007 Olly Betts <olly@survex.com> 19931 19932 * common/stringutils.h: New header, providing inline functions 19933 begins_with() and ends_with() to check if a std::string has 19934 a given prefix or suffix. 19935 * api/valuerangeproc.cc,backends/flint/flint_alltermslist.cc, 19936 backends/inmemory/inmemory_alltermslist.cc, 19937 backends/quartz/quartz_alltermslist.cc, 19938 backends/quartz/quartz_metafile.cc,tests/harness/testsuite.cc: 19939 Make use of begins_with() and ends_with(). 19940 * tests/harness/testsuite.cc: Tidy up guessing of srcdir. In 19941 particular, fix comments to reflect that libtool won't create a 19942 wrapper script for the test programs on most platforms (because 19943 we now use --no-install when linking). 19944 * backends/inmemory/inmemory_alltermslist.cc: In the ctor, use 19945 std::map::lower_bound() to find the first term matching the 19946 given prefix, rather than iterating through from the start of 19947 the map. Also, don't skip deleted terms here, but instead do 19948 that in next() - this avoids duplicating code, and the first 19949 operation might be skip_to() in which case we can avoid wasting 19950 effort. 19951 19952Thu Jun 07 17:16:12 BST 2007 Olly Betts <olly@survex.com> 19953 19954 * queryparser/queryparser.lemony: Eliminate the QpQuery class and 19955 simplify various bits of the code. 19956 19957Thu Jun 07 14:32:22 BST 2007 Olly Betts <olly@survex.com> 19958 19959 * tests/queryparsertest.cc: Enhance qp_value_customrange1. 19960 19961Thu Jun 07 14:31:40 BST 2007 Olly Betts <olly@survex.com> 19962 19963 * docs/Makefile.am,docs/index.html,docs/valueranges.rst: Add document 19964 describing how to use Xapian::ValueRangeProcessor. 19965 19966Thu Jun 07 14:16:01 BST 2007 Olly Betts <olly@survex.com> 19967 19968 * tests/queryparsertest.cc: Add test of custom ValueRangeProcessor 19969 subclass (qp_value_customrange1). 19970 19971Thu Jun 07 10:01:46 BST 2007 Olly Betts <olly@survex.com> 19972 19973 * common/serialise.h,tests/harness/testsuite.h: Use XAPIAN_NORETURN() 19974 to mark functions which never return. 19975 19976Thu Jun 07 01:28:00 BST 2007 Olly Betts <olly@survex.com> 19977 19978 * NEWS: Update. 19979 19980Thu Jun 07 01:02:22 BST 2007 Olly Betts <olly@survex.com> 19981 19982 * examples/simpleexpand.cc: Fix off-by-one error when creating the 19983 fake RSet (picked up to 4 documents, not up to 5). 19984 19985Wed Jun 06 17:17:05 BST 2007 Olly Betts <olly@survex.com> 19986 19987 * include/xapian/queryparser.h: Add documentation comments for 19988 ValueRangeProcessor and subclasses (mostly fixes bug#155, but 19989 I'd like to add an overview document too). 19990 19991Wed Jun 06 16:04:08 BST 2007 Olly Betts <olly@survex.com> 19992 19993 * tests/testdata/flint-0.9.9/: Minimal example of a Flint database 19994 from Xapian 0.9.9. 19995 * tests/api_db.cc: Use a real 0.9.9 flint database instead of faking 19996 it by fudging with the "iamflint" file in a current one. 19997 flintdatabaseformaterror1 now also checks for opening with the 19998 Database ctor as well as with Flint::open(). The writing test from 19999 flintdatabaseformaterror1 is now flintdatabaseformaterror2 which 20000 additionally tests opening with the WritableDatabase ctor as well as 20001 with Flint::open(). The old flintdatabaseformaterror2 is now 20002 flintdatabaseformaterror3. 20003 20004Wed Jun 06 15:44:08 BST 2007 Olly Betts <olly@survex.com> 20005 20006 * backends/flint/flint_database.cc: Don't check for pre-0.6 databases 20007 here (since they'll be quartz format anyway - the check is just an 20008 overenthusiastic cut-and-paste from quartz). 20009 20010Wed Jun 06 12:35:16 BST 2007 Richard Boulton <richard@lemurconsulting.com> 20011 20012 * matcher/valuerangepostlist.cc: Avoid calling db->get_lastdocid() 20013 repeatedly in ValueRangePostList::next() - was taking 25% of the 20014 time for a particular test case. 20015 20016Wed Jun 06 12:17:51 BST 2007 Olly Betts <olly@survex.com> 20017 20018 * tests/harness/unixcmds.cc,tests/harness/unixcmds.h: Add "cp_R()" 20019 which does much the same as "cp -R" on Unix. 20020 20021Wed Jun 06 12:12:50 BST 2007 Olly Betts <olly@survex.com> 20022 20023 * include/xapian/Makefile: New stub makefile for include/xapian. 20024 * bin/Makefile.mk,examples/Makefile.mk,include/Makefile.mk: Distribute 20025 missing stub Makefile and dir_contents files. 20026 20027Tue Jun 05 16:44:51 BST 2007 Olly Betts <olly@survex.com> 20028 20029 * tests/harness/index_utils.cc: Back out linger line from r7758. 20030 Fix undefined behaviour in cases where a paragraph has <= 2 20031 characters. 20032 20033Mon Jun 04 15:31:08 BST 2007 Richard Boulton <richard@lemurconsulting.com> 20034 20035 * tests/harness/backendmanager.cc,tests/harness/index_utils.cc: 20036 Revert the recent changes to the indexing code, and also the 20037 change from revision r7758 which was intended to fix a problem 20038 with eof handling on windows (which is what broke the indexing of 20039 etext.txt). Then, change backendmanager.cc to test "!from.eof()" 20040 instead of "from" to check for eof - hopefully this will work on 20041 windows - if not, we can investigate further. 20042 20043Mon Jun 04 13:13:29 BST 2007 Richard Boulton <richard@lemurconsulting.com> 20044 20045 * tests/harness/backendmanager.cc: Undo previous patch - only the 20046 patch to index_utils.cc was necessary; I mistakenly committed 20047 both files I'd been modifying. 20048 20049Mon Jun 04 09:06:24 BST 2007 Richard Boulton <richard@lemurconsulting.com> 20050 20051 * tests/api_db.cc: Add a check to consistency1 that the full mset 20052 size is as big as it should be, to make sure that we notice in 20053 future if the indexing goes wrong again. 20054 20055Mon Jun 04 08:59:22 BST 2007 Richard Boulton <richard@lemurconsulting.com> 20056 20057 * tests/harness/backendmanager.cc,tests/harness/index_utils.cc: 20058 Fix the indexing of the testdata, so that the "etext" example is 20059 properly indexed (previously, only the first line was being 20060 indexed, due to faulty end-of-file handling). This only affects 20061 the "consistency1" test, which now runs a lot slower (but still 20062 passes, fortunately). 20063 20064Fri Jun 01 23:47:42 BST 2007 Olly Betts <olly@survex.com> 20065 20066 * examples/simpleexpand.cc: Rewrite based on new simplesearch.cc. 20067 20068Fri Jun 01 00:50:00 BST 2007 Olly Betts <olly@survex.com> 20069 20070 * examples/simpleindex.cc: Replacement "simpleindex" example which 20071 uses the TermGenerator class, which makes for a much smaller and 20072 simpler example. It's also much more typical of what most users 20073 will want to do. 20074 20075Thu May 31 23:01:47 BST 2007 Olly Betts <olly@survex.com> 20076 20077 * examples/simplesearch.cc: Replacement "simplesearch" example which 20078 uses the QueryParser. That makes for a simpler example, and it's 20079 much more typical of what most users will want to do. 20080 20081Thu May 31 19:31:40 BST 2007 Olly Betts <olly@survex.com> 20082 20083 * NEWS: Update. 20084 20085Thu May 31 19:18:41 BST 2007 Olly Betts <olly@survex.com> 20086 20087 * HACKING,configure.ac: Relax automake requirement to 1.9.2 to allow 20088 RPM building on RHEL 4. 20089 * HACKING: automake 1.10 seems to work fine with Xapian. 20090 20091Thu May 31 03:04:42 BST 2007 Olly Betts <olly@survex.com> 20092 20093 * backends/flint/flint_database.cc,backends/quartz/quartz_database.cc: 20094 Check if the docid counter wraps and if it does throw DatabaseError 20095 (fixes bug#152). 20096 * tests/api_wrdb.cc: Add regression test (nomoredocids1). 20097 20098Thu May 31 02:01:31 BST 2007 Olly Betts <olly@survex.com> 20099 20100 * backends/dbfactory_remote.cc,backends/remote/remote-database.cc, 20101 common/progclient.h,common/remote-database.h,common/tcpclient.h, 20102 net/progclient.cc: Stop a non-writable remote database from calling 20103 dtor_called() when it is destroyed, since that causes MSG_FLUSH to 20104 be sent to the server (fixes bug#149). 20105 20106Wed May 30 19:47:43 BST 2007 Richard Boulton <richard@lemurconsulting.com> 20107 20108 * include/xapian/query.h: New accessor method 20109 Xapian::Query::Internal::get_parameter(). 20110 * queryparser/queryparser.lemony: Multiple boolean prefixed terms 20111 with the same term prefix are now combined with OR before such 20112 groups are combined with AND. Similarly for multiple value ranges 20113 on the same value (fixes bug#157). 20114 * include/xapian/queryparser.h: Document new handling of multiple 20115 boolean prefixed terms. 20116 * tests/queryparsertest.cc: Testcases for new handling of multiple 20117 boolean prefixed terms and value ranges. 20118 20119Wed May 30 14:45:19 BST 2007 Richard Boulton <richard@lemurconsulting.com> 20120 20121 * docs/deprecation.rst: Update comment about QueryParserError to 20122 point out that you'll need to compile conditionally to work with 20123 0.9.x 20124 20125Wed May 30 14:33:29 BST 2007 Olly Betts <olly@survex.com> 20126 20127 * NEWS: Update. Put all the subheadings in the standard order used 20128 for previous releases. 20129 20130Wed May 30 12:58:01 BST 2007 Richard Boulton <richard@lemurconsulting.com> 20131 20132 * include/xapian/database.h,api/omdatabase.cc,backends/flint/, 20133 backends/inmemory/,backends/quartz/, 20134 backends/remote/remote-database.cc, 20135 common/database.h,common/remote-database.h,common/remoteprotocol.h, 20136 net/remoteserver.cc: Add a prefixed form of allterms_begin() and 20137 allterms_end(), which allows efficient iteration over only those 20138 terms which begin with the given prefix. Requires bumping the 20139 remote protocol minor version number, but doesn't change any 20140 database formats. 20141 * queryparser/queryparser.lemony: Update the wildcard and partial 20142 query routines to use the prefixed form of allterms_begin(). 20143 This fixes the performance problems noted in bug #153. 20144 * tests/api_db.cc: Add test_allterms6() to test the prefixed form 20145 of allterms iterators. 20146 20147Wed May 30 12:23:25 BST 2007 Richard Boulton <richard@lemurconsulting.com> 20148 20149 * backends/remote/remote-database.cc,common/remoteprotocol.h, 20150 docs/remote_protocol.html,net/remoteserver.cc: Apply patch from 20151 Olly (from bug #153) which implements minor version numbers for 20152 the remove protocol. This will allow us to add new features to 20153 the protocol in future without forcing all clients to upgrade to 20154 exactly the same version as the servers. Bump the major version 20155 to 30, since this is an incompatible change itself, though. 20156 20157Wed May 30 12:12:14 BST 2007 Richard Boulton <richard@lemurconsulting.com> 20158 20159 * include/xapian/query.h: Expand documentation of value range 20160 query constructor. 20161 20162Wed May 30 10:28:39 BST 2007 Olly Betts <olly@survex.com> 20163 20164 * docs/deprecation.rst: Improve entry for QueryParserError. 20165 20166Wed May 30 01:30:35 BST 2007 Olly Betts <olly@survex.com> 20167 20168 * backends/flint/,bin/xapian-compact.cc: Don't uncompress and 20169 recompress tags when compacting a database. This speeds up 20170 xapian-compact rather a lot (by more than 50% in my quick test). 20171 20172Tue May 29 20:58:13 BST 2007 Richard Boulton <richard@lemurconsulting.com> 20173 20174 * queryparser/Makefile.mk: Fix multiple target rule for generating 20175 the queryparser source files in parallel builds, as described in 20176 HACKING, and as done for the SWIG rules in xapian-bindings. 20177 * queryparser/: Add queryparser_internal.lock and 20178 queryparser_internal.stamp to SVN ignores. 20179 20180Tue May 29 18:30:25 BST 2007 Richard Boulton <richard@lemurconsulting.com> 20181 20182 * tests/queryparsertest.cc: Use TEST_STRINGS_EQUAL when comparing 20183 queries against their expected output, since this makes it much 20184 easier to see the differences. 20185 20186Tue May 29 18:13:26 BST 2007 Richard Boulton <richard@lemurconsulting.com> 20187 20188 * NEWS: Bring up-to-date. 20189 20190Mon May 28 09:27:43 BST 2007 Olly Betts <olly@survex.com> 20191 20192 * examples/copydatabase.cc: Fix to compile with GCC 2.95. 20193 20194Mon May 28 01:28:23 BST 2007 Olly Betts <olly@survex.com> 20195 20196 * examples/copydatabase.cc: Rewrite to take advantage of 20197 being able to iterate over all the documents in a database. 20198 20199Sun May 27 12:20:03 BST 2007 Olly Betts <olly@survex.com> 20200 20201 * include/xapian/termgenerator.h: Improve documentation comments 20202 for TermGenerator class. 20203 20204Sun May 27 12:15:02 BST 2007 Olly Betts <olly@survex.com> 20205 20206 * backends/quartz/quartz_database.cc,bin/,examples/,net/tcpserver.cc, 20207 tests/api_db.cc,tests/harness/testsuite.cc,tests/harness/testutils.h, 20208 tests/queryparsertest.cc,tests/termgentest.cc: Make use of 20209 Xapian::Error::get_description(), which improves error reporting 20210 in a number of places. 20211 * tests/harness/testsuite.cc: If we get an exception with a long 20212 message in verbose mode, just report the whole message rather than 20213 reporting the truncated message followed by the whole message. 20214 * tests/queryparsertest.cc: Handle Xapian::QueryParserError specially 20215 (as we previously handled all Xapian::Error exceptions). Other 20216 Xapian::Error exceptions now report the description not just the 20217 message. 20218 20219Sun May 27 11:33:11 BST 2007 Olly Betts <olly@survex.com> 20220 20221 * api/error.cc,generate-exceptions.in: Add new API method 20222 Xapian::Error::get_description() to allow removal of 20223 essentially duplicated code in many places. Also useful for 20224 users for the same reason. 20225 20226Sun May 27 09:56:21 BST 2007 Olly Betts <olly@survex.com> 20227 20228 * generate-exceptions.in: Add vim modeline to force perl syntax 20229 highlighting. 20230 20231Sat May 26 22:53:52 BST 2007 Richard Boulton <richard@lemurconsulting.com> 20232 20233 * NEWS: Bring up-to-date. 20234 20235Sat May 26 22:49:20 BST 2007 Richard Boulton <richard@lemurconsulting.com> 20236 20237 * docs/deprecation.rst: Fix typo in deprecation list for the 20238 bindings pointed out by Thomas Waldmann. 20239 20240Sat May 26 09:39:36 BST 2007 Olly Betts <olly@survex.com> 20241 20242 * HACKING: Add note about reasons for avoiding std::pair<> with an STL 20243 class as one or both members. 20244 20245Thu May 24 17:28:20 BST 2007 Richard Boulton <richard@lemurconsulting.com> 20246 20247 * queryparser/Makefile.mk: $(top_builddir)/queryparser is only 20248 required in include path for maintainer mode, so make it so for 20249 neatness. 20250 20251Tue May 22 11:04:04 BST 2007 Richard Boulton <richard@lemurconsulting.com> 20252 20253 * queryparser/Makefile.mk: Add $(top_builddir)/queryparser to include 20254 path for VPATH builds, to fix a problem with depcomp (triggered 20255 when compiling with gcc-2.95). 20256 * NEWS: Keep up to date. 20257 20258Mon May 21 13:38:58 BST 2007 Richard Boulton <richard@lemurconsulting.com> 20259 20260 * tests/queryparsertest.cc: Reduce the range of the test, so that 20261 it passes again, to let the autobuilders work and unbreak HEAD. 20262 20263Mon May 21 10:26:01 BST 2007 Richard Boulton <richard@lemurconsulting.com> 20264 20265 * tests/queryparsertest.cc: Remove FIXME from test_qp_flag_partial1: 20266 I've checked that the results look correct. New test 20267 test_qp_value_range3, to test the NumberValueRangeProcessors - 20268 currently fails because "10" is considered to be between "1" and 20269 "2". 20270 * include/xapian/query.h: Fix typo in documentation comment. 20271 20272Mon May 21 10:09:34 BST 2007 Olly Betts <olly@survex.com> 20273 20274 * tests/harness/testsuite.h: Put quotes around strings when reporting 20275 a failure in TEST_STRINGS_EQUAL(). 20276 20277Mon May 21 10:08:18 BST 2007 Olly Betts <olly@survex.com> 20278 20279 * tests/internaltest.cc: New tests serialiseerror1 which checks that 20280 the handling of errno/error_string. 20281 * common/serialise.h: Make unserialise_error externally visible for 20282 new test. 20283 20284Mon May 21 08:40:06 BST 2007 Olly Betts <olly@survex.com> 20285 20286 * HACKING: Update release checklist. 20287 20288Fri May 18 02:10:39 BST 2007 Olly Betts <olly@survex.com> 20289 20290 * generate-exceptions.in: Fix grammatical errors in Error::get_errno() 20291 deprecation explanation. 20292 20293Thu May 17 23:51:17 BST 2007 Olly Betts <olly@survex.com> 20294 20295 * api/error.cc: Need <stdlib.h> for free() to build with GCC 4.3 20296 snapshot. 20297 20298Thu May 17 23:11:53 BST 2007 Olly Betts <olly@survex.com> 20299 20300 * NEWS: Fix line wrapping (ok, isn't wasn't final!) 20301 20302Thu May 17 22:28:44 BST 2007 Olly Betts <olly@survex.com> 20303 20304 * NEWS: Final update before release. 20305 20306Thu May 17 19:10:27 BST 2007 Olly Betts <olly@survex.com> 20307 20308 * configure.ac: Bump version to 1.0.0 and update LIBRARY_VERSION_INFO. 20309 20310Thu May 17 19:10:11 BST 2007 Olly Betts <olly@survex.com> 20311 20312 * NEWS: Minor wording tweak. 20313 20314Thu May 17 19:06:34 BST 2007 Olly Betts <olly@survex.com> 20315 20316 * docs/Makefile.am: Run rst2html with --strict --verbose options to 20317 reject .rst files with problems. 20318 * docs/deprecation.rst: Add more entries gleaned from the NEWS file. 20319 20320Thu May 17 18:30:01 BST 2007 Olly Betts <olly@survex.com> 20321 20322 * NEWS: Update with fixes from Jenny's proof-reading and a few other 20323 tweaks. 20324 20325Thu May 17 18:27:53 BST 2007 Olly Betts <olly@survex.com> 20326 20327 * AUTHORS: Update. 20328 20329Thu May 17 18:25:39 BST 2007 Olly Betts <olly@survex.com> 20330 20331 * PLATFORMS: Updates from the tinderbox. 20332 20333Thu May 17 18:08:13 BST 2007 Olly Betts <olly@survex.com> 20334 20335 * common/safesysstat.h: Need the 2 argument mkdir() wrapper for Mingw 20336 too. Define S_ISDIR() and S_ISREG() if they aren't already defined 20337 rather than conditional on _MSC_VER. 20338 20339Thu May 17 17:58:43 BST 2007 Olly Betts <olly@survex.com> 20340 20341 * docs/admin_notes.rst: "flint-check" -> "xapian-check". 20342 20343Thu May 17 17:46:36 BST 2007 Olly Betts <olly@survex.com> 20344 20345 * NEWS: Update for Xapian 1.0.0. 20346 20347Thu May 17 17:41:15 BST 2007 Olly Betts <olly@survex.com> 20348 20349 * docs/: Update documentation for 1.0.0; add new document describing 20350 new term generation strategy as implemented by TermGenerator class; 20351 link in "lost" documents to the index page. 20352 20353Thu May 17 03:54:36 BST 2007 Olly Betts <olly@survex.com> 20354 20355 * exception_data.pm: Fix to work with Perl 5.6. 20356 20357Thu May 17 01:20:16 BST 2007 Richard Boulton <richard@lemurconsulting.com> 20358 20359 * backends/multi/multi_alltermslist.cc: Check that iterators are 20360 not at_end() before calling skip_to() on them. 20361 20362Thu May 17 00:49:03 BST 2007 Olly Betts <olly@survex.com> 20363 20364 * backends/flint/flint_btreebase.cc,backends/flint/flint_table.cc, 20365 backends/quartz/btree.cc,common/Makefile.mk, 20366 common/msvc_posix_wrapper.cc,common/msvc_posix_wrapper.h: Use 20367 msvc_posix_wrapper.h functions for all __WIN32__ builds, not just 20368 for MSVC. 20369 20370Wed May 16 23:55:46 BST 2007 Richard Boulton <richard@lemurconsulting.com> 20371 20372 * api/omdatabase.cc: Fix return type in debug macro in 20373 replace_document(). 20374 20375Wed May 16 23:45:20 BST 2007 Richard Boulton <richard@lemurconsulting.com> 20376 20377 * tests/apitest.cc: Add collfreq and allterms tests to the tests 20378 for the remote and remotetcp backends. They all pass. 20379 20380Wed May 16 15:11:00 BST 2007 Olly Betts <olly@survex.com> 20381 20382 * configure.ac: Need to try -zdll for mingw as well. 20383 20384Wed May 16 14:45:23 BST 2007 Olly Betts <olly@survex.com> 20385 20386 * tests/queryparsertest.cc: Add two more testcases. 20387 20388Wed May 16 14:32:46 BST 2007 Olly Betts <olly@survex.com> 20389 20390 * queryparser/queryparser.lemony,tests/queryparsertest.cc: Fix 20391 double-free on invalid range query. 20392 20393Wed May 16 10:08:02 BST 2007 Richard Boulton <richard@lemurconsulting.com> 20394 20395 * tests/queryparsertest.cc: Add some more test cases to the value 20396 range processor. These currently fail with a SIGSEGV message. 20397 20398Wed May 16 02:22:17 BST 2007 Olly Betts <olly@survex.com> 20399 20400 * queryparser/termgenerator_internal.cc: Fix handling of stemming of 20401 prefixed terms. 20402 * tests/termgentest.cc: Fix testcases. 20403 20404Wed May 16 01:54:25 BST 2007 Richard Boulton <richard@lemurconsulting.com> 20405 20406 * tests/termgentest.cc: Add a test for parsing of capitalised words 20407 with a prefix, which currently fails. 20408 20409Wed May 16 01:09:39 BST 2007 Richard Boulton <richard@lemurconsulting.com> 20410 20411 * include/xapian/termgenerator.h,queryparser/termgenerator.cc: Add 20412 a method to get the current document from the term generator. 20413 Helps avoid users having to pass around a structure encapsulating 20414 the generator and the document assigned to it. 20415 20416Wed May 16 00:50:07 BST 2007 Olly Betts <olly@survex.com> 20417 20418 * docs/deprecation.rst: Add <xapian/output.h>. 20419 20420Tue May 15 22:46:39 BST 2007 Richard Boulton <richard@lemurconsulting.com> 20421 20422 * tests/termgentest.cc: Use resize(0) instead of clear(), for g++2.95 20423 20424Tue May 15 20:25:07 BST 2007 Richard Boulton <richard@lemurconsulting.com> 20425 20426 * net/remoteconnection.cc: Add a comment noting why we test 20427 __STDC_SECURE_LIB__ even though its an undocumented macro. 20428 20429Tue May 15 20:14:51 BST 2007 Richard Boulton <richard@lemurconsulting.com> 20430 20431 * tests/termgentest.cc: Add several more tests - some converted 20432 from the query tests, some more initial tests, and some number 20433 tests. 20434 20435Tue May 15 18:31:21 BST 2007 Olly Betts <olly@survex.com> 20436 20437 * queryparser/termgenerator_internal.cc: Revert previous change - we 20438 need to generate Zibm and Zpc from text `I.B.M. P.C.' or else a 20439 search for `ibm pc' won't match. 20440 20441Tue May 15 18:22:44 BST 2007 Olly Betts <olly@survex.com> 20442 20443 * queryparser/termgenerator_internal.cc: Sort out stemming of 20444 initials. 20445 20446Tue May 15 18:04:17 BST 2007 Richard Boulton <richard@lemurconsulting.com> 20447 20448 * tests/termgentest.cc: Add some more tests, and rework the array 20449 of tests so that there's just a single string holding any options 20450 we want to set for the following tests. 20451 20452Tue May 15 16:49:17 BST 2007 Richard Boulton <richard@lemurconsulting.com> 20453 20454 * tests/Makefile.am,tests/termgentest.cc: Add new test file, for 20455 testing the term generator. Only has a single test so far. 20456 20457Tue May 15 16:20:20 BST 2007 Olly Betts <olly@survex.com> 20458 20459 * include/xapian/unicode.h: Make single parameter ctor explicit. 20460 20461Tue May 15 16:00:24 BST 2007 Olly Betts <olly@survex.com> 20462 20463 * queryparser/termgenerator_internal.cc: Add special handling for 20464 acronyms/initialisms, so I.B.M -> term ibm, etc. 20465 20466Tue May 15 14:07:27 BST 2007 Richard Boulton <richard@lemurconsulting.com> 20467 20468 * include/xapian/termgenerator.h,queryparser/termgenerator.cc: Add 20469 a set_termpos() method, too. 20470 20471Tue May 15 13:54:34 BST 2007 Olly Betts <olly@survex.com> 20472 20473 * include/xapian/database.h: Document the issue of the monotonic 20474 docid counter wrapping around. 20475 20476Tue May 15 10:58:37 BST 2007 Richard Boulton <richard@lemurconsulting.com> 20477 20478 * include/xapian/termgenerator.h,queryparser/termgenerator.cc: Add 20479 get_termpos() method to get the current value of the termpos. 20480 Makes it easier to integrate with different term generators. 20481 20482Tue May 15 03:44:50 BST 2007 Olly Betts <olly@survex.com> 20483 20484 * queryparser/queryparser.lemony,queryparser/termgenerator_internal.cc: 20485 Include '.', ',', and a few other characters in terms if they are 20486 between two decimal digits. 20487 * queryparser/termgenerator_internal.cc: Don't stem terms which start 20488 with a number. 20489 * tests/queryparsertest.cc: Update results for real world queries to 20490 match new results (better in every case but one!) 20491 20492Tue May 15 01:24:08 BST 2007 Olly Betts <olly@survex.com> 20493 20494 * HACKING: Fix a few typos. Add "feisty" to the list of debs to 20495 build. 20496 20497Tue May 15 00:51:35 BST 2007 Richard Boulton <richard@lemurconsulting.com> 20498 20499 * HACKING: Document that the bootstrap script should be run from 20500 srcdir, and that the generated configure can be run from a 20501 different builddir. Tidy up a few other lines. 20502 20503Mon May 14 23:52:33 BST 2007 Olly Betts <olly@survex.com> 20504 20505 * queryparser/queryparser.lemony,queryparser/termgenerator_internal.cc: 20506 Expand check_infix to include some of characters Unicode does. 20507 * tests/queryparsertest.cc: Update the single test query which now 20508 parses differently. 20509 20510Mon May 14 23:42:53 BST 2007 Olly Betts <olly@survex.com> 20511 20512 * tests/harness/testsuite.h: New macro TEST_STRINGS_EQUAL() which 20513 displays the strings on separate lines so the differences can 20514 be clearly seen. 20515 * tests/queryparsertest.cc: Use TEST_STRINGS_EQUAL(). 20516 20517Mon May 14 20:14:17 BST 2007 Olly Betts <olly@survex.com> 20518 20519 * include/xapian/enquire.h: Make the "uses string sort" warning in 20520 the documentation for the methods which enable sorting by value 20521 more prominent, and fix several miscellaneous typos. 20522 20523Mon May 14 19:28:21 BST 2007 Olly Betts <olly@survex.com> 20524 20525 * queryparser/dir_contents: Update to mention TermGenerator. 20526 20527Mon May 14 19:12:12 BST 2007 Olly Betts <olly@survex.com> 20528 20529 * queryparser/queryparser.lemony: Fix handling of WILDCARD_TERM and 20530 PARTIAL_TERM for prefixed terms. 20531 * tests/queryparsertest.cc: Add test coverage for this. 20532 20533Mon May 14 18:02:22 BST 2007 Olly Betts <olly@survex.com> 20534 20535 * tests/queryparsertest.cc: Add more testcases for wildcarded queries. 20536 20537Mon May 14 17:39:30 BST 2007 Olly Betts <olly@survex.com> 20538 20539 * queryparser/queryparser.lemony: Fix handling of partial queries. 20540 20541Mon May 14 16:49:46 BST 2007 Olly Betts <olly@survex.com> 20542 20543 * net/remoteconnection.cc: closesocket() seems to work equally as 20544 well as CloseHandle() but it's what we use elsewhere and Charlie 20545 thinks it's a better choice here too so use that instead. Rename 20546 the wrapper call from close_fd_or_handle() to close_fd_or_socket(). 20547 And mark close_fd_or_socket() as "inline" under UNIX, since it 20548 should always be inlined. 20549 20550Mon May 14 15:30:13 BST 2007 Olly Betts <olly@survex.com> 20551 20552 * tests/api_anydb.cc: Add FIXME about moving wildquery1. 20553 20554Mon May 14 15:21:59 BST 2007 Olly Betts <olly@survex.com> 20555 20556 * bin/xapian-progsrv.cc: Improve comments. 20557 20558Mon May 14 11:29:14 BST 2007 Richard Boulton <richard@lemurconsulting.com> 20559 20560 * net/remoteconnection.cc: Deal with invalid parameter exceptions 20561 on windows when closing file descriptors or handles. 20562 20563Mon May 14 05:04:16 BST 2007 Olly Betts <olly@survex.com> 20564 20565 * tests/api_anydb.cc: Fix wildquery1 to work with the new term 20566 stemming scheme. 20567 20568Sun May 13 19:15:17 BST 2007 Olly Betts <olly@survex.com> 20569 20570 * include/xapian/unicode.h: Count control characters as whitespace 20571 (which is certainly what we want for TAB, CR, LF, and FF). 20572 20573Sun May 13 17:50:19 BST 2007 Olly Betts <olly@survex.com> 20574 20575 * include/xapian/unicode.h: Add CONNECTOR_PUNCTUATION to is_wordchar() 20576 - this category includes '_' and characters which fulfil similar 20577 roles. 20578 * queryparser/queryparser.lemony,queryparser/termgenerator_internal.cc: 20579 No longer need to special case '_'. 20580 * queryparser/queryparser.lemony: Test for Unicode "whitespace" rather 20581 than just ASCII. 20582 20583Sun May 13 04:43:37 BST 2007 Olly Betts <olly@survex.com> 20584 20585 * queryparser/queryparser.lemony: Normalise Unicode characters used 20586 for apostrophe to ASCII apostrophe. 20587 20588Sun May 13 03:56:17 BST 2007 Olly Betts <olly@survex.com> 20589 20590 * include/xapian/unicode.h,unicode/tclUniData.cc: Update Unicode 20591 routines to use Unicode 5.0.0 and support characters outside the BMP 20592 (so we now support all Unicode characters in the latest version of 20593 the standard). 20594 * tests/api_unicode.cc: Add test unicode1 which performs some simple 20595 tests of the categorisation function, include one which tests for a 20596 character added in Unicode 5.0.0. 20597 20598Sat May 12 06:01:50 BST 2007 Olly Betts <olly@survex.com> 20599 20600 * queryparser/queryparser.lemony: Update comment. 20601 20602Sat May 12 04:23:01 BST 2007 Olly Betts <olly@survex.com> 20603 20604 * queryparser/queryparser.lemony: Improve description of Term class. 20605 20606Sat May 12 04:16:47 BST 2007 Olly Betts <olly@survex.com> 20607 20608 * queryparser/queryparser.lemony: Update to implement the new stemming 20609 scheme. 20610 * tests/queryparsertest.cc: Update testcases, and check that the new 20611 parses are all reasonable. 20612 20613Sat May 12 04:03:55 BST 2007 Olly Betts <olly@survex.com> 20614 20615 * include/xapian/unicode.h: Xapian::Unicode::get_category() now checks 20616 for characters outside the BMP, and assumes they're of category 20617 OTHER_LETTER. Remove BMP check from all functions which use 20618 Xapian::Unicode::get_category(). 20619 20620Sat May 12 04:02:52 BST 2007 Olly Betts <olly@survex.com> 20621 20622 * include/xapian/queryparser.h: Fix typo in comment. 20623 20624Fri May 11 05:45:38 BST 2007 Olly Betts <olly@survex.com> 20625 20626 * net/remoteserver.cc: Make "Server is read-only" be of type 20627 InvalidOperationError not NetworkError. This is arguably more 20628 appropriate anyway, but in particular it avoids a worrying looking 20629 (but harmless) warning when a read-only connection is closed, due 20630 dtor_called() calling flush() on a read-only database. 20631 20632Fri May 11 01:35:31 BST 2007 Olly Betts <olly@survex.com> 20633 20634 * docs/Makefile.am: Disable more documentation rules if 20635 MAINTAINER_NO_DOCS is true. 20636 20637Thu May 10 23:01:13 BST 2007 Richard Boulton <richard@lemurconsulting.com> 20638 20639 * net/remoteconnection.cc: Remove definition of unused macro 20640 XAPIAN_MSVC_INVALID_PARAMETER_HANDLER. 20641 20642Thu May 10 19:24:23 BST 2007 Olly Betts <olly@survex.com> 20643 20644 * include/xapian/enquire.h: Try quoting qualified identifiers in 20645 #pragma deprecated. 20646 20647Thu May 10 15:58:37 BST 2007 Olly Betts <olly@survex.com> 20648 20649 * include/xapian/enquire.h: Give full scope in '#pragma deprecated' 20650 to try to avoid false positives. 20651 20652Thu May 10 14:53:08 BST 2007 Olly Betts <olly@survex.com> 20653 20654 * include/xapian/enquire.h: Use '#pragma deprecated' to work around 20655 MSVC stupidity (you get a warning for deprecating a declaration). 20656 20657Thu May 10 13:42:49 BST 2007 Olly Betts <olly@survex.com> 20658 20659 * configure.ac: Some GCC 3.x versions produce bogus warnings, so only 20660 automatically enable -Werror on --enable-maintainer-mode under GCC 20661 if we're using GCC >= 4.0. Most developers will be using GCC 4.x 20662 soon if they aren't already anyway. 20663 * HACKING: Update documentation in line with the above. Mention that 20664 we also enable -Werror for Intel's C++ compiler. 20665 20666Thu May 10 05:06:22 BST 2007 Olly Betts <olly@survex.com> 20667 20668 * configure.ac: Detect __WIN32__ by running the preprocessor so we 20669 don't get confused by building mingw in a cygwin environment. 20670 20671Thu May 10 04:52:21 BST 2007 Olly Betts <olly@survex.com> 20672 20673 * net/tcpserver.cc: Exit with EX_UNAVAILABLE if the mutex tells us 20674 xapian-tcpsrv is already running on this port. 20675 20676Thu May 10 04:44:10 BST 2007 Olly Betts <olly@survex.com> 20677 20678 * common/Makefile.mk,common/safe.cc,common/safeunistd.h: Pulling 20679 in safewindows.h from safeunistd.h causes clashes with NEAR 20680 in the QueryParser, so use a helper function to call Sleep 20681 and just call that from the header. 20682 20683Thu May 10 04:36:19 BST 2007 Olly Betts <olly@survex.com> 20684 20685 * net/tcpserver.cc: Fix compilation error. 20686 20687Thu May 10 04:26:31 BST 2007 Olly Betts <olly@survex.com> 20688 20689 * common/tcpserver.h,net/tcpserver.cc: Just pass the mutex to 20690 get_listening_socket() by reference to avoid MSVC warnings. 20691 20692Thu May 10 04:19:13 BST 2007 Olly Betts <olly@survex.com> 20693 20694 * common/safeunistd.h: Use Sleep() instead of _sleep() as the latter 20695 gives deprecation warnings. Sadly that means that safeunistd.h 20696 now has to pull in safewindows.h. 20697 20698Thu May 10 04:07:53 BST 2007 Olly Betts <olly@survex.com> 20699 20700 * common/tcpserver.h,net/tcpserver.cc: Keep track of the mutex so 20701 we can release it right after we close the listening socket. 20702 Throw an error if we fail to get the mutex to avoid a possible 20703 race condition (we might end up with the socket listening but 20704 without the mutex locked). Always call closesocket() on the 20705 listening socket under __WIN32__ to ensure resources are released. 20706 20707Thu May 10 02:48:31 BST 2007 Olly Betts <olly@survex.com> 20708 20709 * net/tcpserver.cc: Use a mutex under Cygwin and WIN32 to allow use to 20710 use Microsoft's broken SO_REUSEADDR on our listening socket, but 20711 avoid being able to run two copies of xapian-tcpsrv on the same port 20712 at once (tweaked patch from MarkH). 20713 * net/tcpserver.cc: Don't try to set SO_EXCLUSIVEADDRUSE if a previous 20714 setsockopt() call failed as we might stomp on the error code. 20715 20716Thu May 10 02:15:20 BST 2007 Olly Betts <olly@survex.com> 20717 20718 * Makefile.am,bin/Makefile.mk,configure.ac,docs/Makefile.am, 20719 examples/Makefile.mk: Add new Automake conditional 20720 "MAINTAINER_NO_DOCS" to allow use to disable references to built 20721 documentation in maintainer builds if --disable-documentation is 20722 specified. This allows Mark's buildbot to work without installing 20723 so many tools, some of which aren't packaged for Cygwin. 20724 20725Thu May 10 02:03:44 BST 2007 Olly Betts <olly@survex.com> 20726 20727 * Makefile.am: Build rules for running generate-exceptions should be 20728 controlled by MAINTAINER_MODE not DOCUMENTATION_RULES, part II. 20729 20730Thu May 10 01:49:42 BST 2007 Olly Betts <olly@survex.com> 20731 20732 * docs/deprecation.rst: Add Error::get_type(). 20733 20734Thu May 10 01:25:37 BST 2007 Olly Betts <olly@survex.com> 20735 20736 * api/error.cc,generate-exceptions.in: Add new constructors which 20737 allow error_string to be set directly, for use by the Xapian::Error 20738 unserialising code. 20739 * generate-exceptions.in: Xapian::Error::get_type() now returns 20740 const char * not std::string. 20741 * backends/quartz/quartz_database.cc: Fix code to handle changed 20742 return type of Xapian::Error::get_type(). 20743 * net/serialise.cc: Include error_string in the serialisation. 20744 * common/remoteprotocol.h,docs/remote_protocol.html: Bump protocol 20745 version to 29 because of change in Xapian::Error serialisation. 20746 20747Wed May 09 14:42:33 BST 2007 Olly Betts <olly@survex.com> 20748 20749 * queryparser/queryparser.lemony: Renaming match_nothing_ 20750 member of QpQuery to match_nothing. Comment out unused 20751 QpQuery::get_description(). Add FIXME comment about 20752 apparently redundant logic (now's not really the time 20753 to be fiddling with such things). 20754 20755Wed May 09 14:27:02 BST 2007 Olly Betts <olly@survex.com> 20756 20757 * queryparser/queryparser.lemony: Update to match new TermGenerator 20758 class. '_' is now a term character, not a phrase generator. We 20759 only keep a suffix which has 3 or fewer characters, and we no longer 20760 count '-' as a suffix character. 20761 * tests/queryparsertest.cc: Update test cases to match new behaviour. 20762 In almost every case the new rules give a better result. 20763 20764Wed May 09 14:15:38 BST 2007 Olly Betts <olly@survex.com> 20765 20766 * languages/compiler/space.c: Add sanity check to b_to_s(), 20767 highlighted by MSVC warning. 20768 20769Wed May 09 14:06:24 BST 2007 Olly Betts <olly@survex.com> 20770 20771 * tests/btreetest.cc: Return filesize as off_t to avoid MSVC warning 20772 about truncating from 64 to 32 bits (the filesize will never be 20773 more than a few K here, so this is essentially a cosmetic issue). 20774 20775Wed May 09 04:04:03 BST 2007 Olly Betts <olly@survex.com> 20776 20777 * common/tcpserver.h,net/tcpserver.cc: Always starting the server in a 20778 new thread in "one-shot" mode is trickier than it looked, so revert 20779 that change for now. Always call closesocket() on our sockets under 20780 __WIN32__. 20781 20782Wed May 09 01:53:43 BST 2007 Olly Betts <olly@survex.com> 20783 20784 * common/tcpserver.h,net/tcpserver.cc: Make UNIX signal handling 20785 functions and WIN32 CrtlHandler static. TcpServer::run() is now 20786 generic, calling an OS-specific TcpServer::run_once(). Now we 20787 always run the server in a new thread in "one-shot" mode, which 20788 gives better code coverage in apitest as it runs more like a normal 20789 xapian-tcpsrv would. CtrlHandler now lets the OS handle the event 20790 if it doesn't have a socket to close, or if closesocket() fails. 20791 20792Wed May 09 01:42:33 BST 2007 Olly Betts <olly@survex.com> 20793 20794 * net/remoteconnection.cc: DWORD is unsigned, so received can't be 20795 negative - tidy up the ReadFile() loop taking this into account. 20796 20797Wed May 09 01:28:48 BST 2007 Olly Betts <olly@survex.com> 20798 20799 * net/remoteconnection.cc: ReadFile() doesn't set errno, so remove 20800 test for EINTR which is just a hangover from the UNIX code. 20801 20802Tue May 08 23:50:33 BST 2007 Olly Betts <olly@survex.com> 20803 20804 * queryparser/termgenerator_internal.cc: Treat '_' as a word character 20805 which seems to be the correct thing to do in general. Generate 20806 unstemmed terms with positional information for all words without a 20807 prefix, and stemmed terms without positional information for 20808 non-stopwords with a 'Z' prefix. This means we can implement exact 20809 phrase search, and prefixing stemmed forms (rather than unstemmed 20810 as Omega < 1.0 does) means fewer terms with the prefix. Only 20811 stemming non-stopwords cuts a significant amount of the database 20812 size in my tests. 20813 20814Tue May 08 18:22:30 BST 2007 Olly Betts <olly@survex.com> 20815 20816 * net/tcpserver.cc: Fix remaining use of handle_one_request in 20817 __WIN32__-specific code. 20818 20819Tue May 08 18:10:12 BST 2007 Olly Betts <olly@survex.com> 20820 20821 * api/error.cc: Really fix it... 20822 20823Tue May 08 17:38:04 BST 2007 Olly Betts <olly@survex.com> 20824 20825 * api/error.cc: Fix another paste-o! 20826 20827Tue May 08 17:28:29 BST 2007 Olly Betts <olly@survex.com> 20828 20829 * api/error.cc: Remove bogus statement in __WIN32__ case left over 20830 from cut-and-paste. 20831 20832Tue May 08 17:10:53 BST 2007 Olly Betts <olly@survex.com> 20833 20834 * common/tcpserver.h,net/tcpserver.cc: Rename 20835 TcpServer::handle_one_request() to 20836 TcpServer::handle_one_connection() (to make it clearer that it 20837 handles a connection rather than a single MSG/REPLY exchange), and 20838 use it in UNIX builds too to avoid duplicating its code. Catch 20839 NetworkTimeoutError here and report it if we're in verbose mode. 20840 * net/remoteserver.cc: If we catch NetworkTimeoutError then try to 20841 propagate it only if we can send it right away, then rethrow it 20842 to close the connection and let the caller log it. If we catch 20843 any other NetworkError then just rethrow it. 20844 20845Tue May 08 16:52:50 BST 2007 Olly Betts <olly@survex.com> 20846 20847 * common/noreturn.h: Add missing '#endif'. 20848 20849Tue May 08 16:19:05 BST 2007 Olly Betts <olly@survex.com> 20850 20851 * common/Makefile.mk,common/noreturn.h: New header which defines 20852 XAPIAN_NORETURN() to allow functions which don't return to be 20853 marked as such so the compiler can take this into account when 20854 generating code. 20855 * api/error.cc,tests/harness/backendmanager.cc: Remove any trailing 20856 "\r\n" from the output of FormatMessage(). 20857 20858Tue May 08 16:16:55 BST 2007 Olly Betts <olly@survex.com> 20859 20860 * include/xapian/deprecated.h: Use `__attribute__((__deprecated__))' 20861 instead of `__attribute__((deprecated))' so we're even robust 20862 against some clown doing `#define deprecated foo'. 20863 20864Tue May 08 16:15:30 BST 2007 Olly Betts <olly@survex.com> 20865 20866 * bin/quartzcheck.cc,tests/harness/backendmanager.cc: In these files 20867 we have to disable XAPIAN_DEPRECATED() since we need to be able to 20868 use Quartz::open() - move this to the start of the #include block 20869 to avoid problems with any intermediate header implicitly including 20870 <xapian.h>. 20871 20872Tue May 08 14:51:37 BST 2007 Olly Betts <olly@survex.com> 20873 20874 * HACKING: Move section on "Configure Options" to a more logical spot 20875 just before "Makefile Portability". Add section on how to use 20876 XAPIAN_DEPRECATED() noting the issue with GCC 3.3.5 not allowing 20877 it to be used on an inline method definition. 20878 * include/xapian/deprecated.h: Add pointers to HACKING and 20879 docs/deprecated.rst. 20880 20881Tue May 08 13:57:17 BST 2007 Olly Betts <olly@survex.com> 20882 20883 * generate-exceptions.in: We can't use XAPIAN_DEPRECATED() on 20884 a function definition with GCC 3.3.5, so use it on a declaration 20885 and then define inline but out of the class. 20886 20887Tue May 08 13:45:48 BST 2007 Olly Betts <olly@survex.com> 20888 20889 * net/tcpserver.cc: We must call closesocket() (instead of just 20890 close()) under __WIN32__ or else the socket remains in the 20891 CLOSE_WAIT state. 20892 20893Tue May 08 12:17:19 BST 2007 Richard Boulton <richard@lemurconsulting.com> 20894 20895 * docs/deprecation.rst: Add Error::get_errno() to the deprecation 20896 list for the bindings, too. 20897 20898Tue May 08 10:09:27 BST 2007 Richard Boulton <richard@lemurconsulting.com> 20899 20900 * docs/deprecation.rst: Change the xapian_version functions to be 20901 marked for removal in 1.1.0, and also note them in the bindings 20902 section. 20903 20904Tue May 08 04:27:37 BST 2007 Olly Betts <olly@survex.com> 20905 20906 * backends/remote/remote-database.cc,common/remote-database.h: The 20907 timeout parameter to RemoteDatabase wasn't being used, instead the 20908 client would wait indefinitely for the server to respond. 20909 20910Tue May 08 04:16:45 BST 2007 Olly Betts <olly@survex.com> 20911 20912 * generate-exceptions.in: Initialise error_string in Xapian::Error 20913 ctor. 20914 20915Tue May 08 03:48:47 BST 2007 Olly Betts <olly@survex.com> 20916 20917 * api/error.cc: Fix compilation when HAVE_HSTRERROR isn't defined. 20918 20919Tue May 08 02:35:04 BST 2007 Olly Betts <olly@survex.com> 20920 20921 * api/error.cc,bin/xapian-tcpsrv.cc,examples/delve.cc, 20922 generate-exceptions.in,tests/harness/testsuite.cc: Error subclasses 20923 now store the error_string in the class, converting it from the 20924 error code in my_errno lazily. Also, get_error_string() now returns 20925 const char *. 20926 20927Tue May 08 01:34:56 BST 2007 Olly Betts <olly@survex.com> 20928 20929 * Makefile.am: Build rules for running generate-exceptions should be 20930 controlled by MAINTAINER_MODE not DOCUMENTATION_RULES. 20931 20932Tue May 08 01:23:22 BST 2007 Olly Betts <olly@survex.com> 20933 20934 * bin/xapian-tcpsrv.cc,docs/deprecation.rst,generate-exceptions.in, 20935 net/tcpserver.cc,tests/harness/testsuite.cc: Deprecate 20936 Error::get_errno() in favour of Error::get_error_string(). We can't 20937 pass errno values from remote server to client as they aren't 20938 portable and the server and client may be running on entirely 20939 different platforms! 20940 * generate-exceptions.in: Mark as generated with @configure_input@. 20941 20942Tue May 08 01:20:43 BST 2007 Olly Betts <olly@survex.com> 20943 20944 * backends/flint/flint_database.cc,backends/flint/flint_lock.h: Make 20945 FlintLock's dtor release the lock (if held) which avoids the need 20946 for any special handling in FlintDatabase. 20947 20948Mon May 07 21:15:33 BST 2007 Olly Betts <olly@survex.com> 20949 20950 * tests/harness/unixcmds.cc: Use O_BINARY when opening a file to 20951 "touch" it. 20952 20953Mon May 07 17:28:43 BST 2007 Richard Boulton <richard@lemurconsulting.com> 20954 20955 * backends/flint/flint_database.cc: Add try{}catch(...){} block to 20956 ensure that lock is released if an exception occurs in the 20957 FlintDatabase() constructor. 20958 * tests/api_db.cc: Add regression test for releasing lock on error 20959 in constructor. 20960 20961Mon May 07 11:10:33 BST 2007 Richard Boulton <richard@lemurconsulting.com> 20962 20963 * HACKING: Update section on multiple output rules to detail the 20964 workaround described in the automake manual. 20965 20966Mon May 07 10:03:50 BST 2007 Richard Boulton <richard@lemurconsulting.com> 20967 20968 * backends/flint/flint_database.cc,backends/flint/flint_database.h, 20969 backends/flint/flint_version.cc,backends/quartz/,exception_data.pm, 20970 include/xapian/database.h,tests/api_db.cc: Throw 20971 DatabaseVersionError instead of DatabaseOpeningError when database 20972 version is unsupported. This is a new error class, which is a 20973 subclass of DatabaseOpeningError, so most existing scripts 20974 shouldn't need changing, but makes it easy for application 20975 writers to determine whether a database needs upgrading or 20976 whether the problem is something else. Should fix #144. 20977 20978Mon May 07 09:22:01 BST 2007 Olly Betts <olly@survex.com> 20979 20980 * net/progclient.cc: Under __WIN32__, use byte mode on pipes because 20981 message mode fails for message > 256 bytes, and use "overlapped" 20982 mode so we don't block waiting for a reply so that timeouts work. 20983 (Patch from Mark Hammond). 20984 20985Mon May 07 03:03:10 BST 2007 Olly Betts <olly@survex.com> 20986 20987 * tests/api_anydb.cc,tests/apitest.cc,tests/harness/: Now 20988 TEST_EQUAL_DOUBLE() should work everywhere. Move the helper 20989 function out of the header. Use TEST_EQUAL_DOUBLE() instead 20990 of doubles_are_equal_enough() and weights_are_equal_enough() 20991 which do much the same job. 20992 20993Mon May 07 01:13:29 BST 2007 Olly Betts <olly@survex.com> 20994 20995 * tests/harness/testsuite.h: Report extra info to try to work out why 20996 MSVC build is failing expandweights1. 20997 20998Mon May 07 00:26:59 BST 2007 Olly Betts <olly@survex.com> 20999 21000 * tests/harness/testsuite.h: Another tweak to TEST_EQUAL_DOUBLE(). 21001 21002Sun May 06 22:30:26 BST 2007 Olly Betts <olly@survex.com> 21003 21004 * docs/quickstart.html: Remove reference to DA databases since the 21005 muscat36 backend has been removed. Update to recommend GCC 3.3 21006 or later, as we do elsewhere. Change references to "quartz" to 21007 say "flint", or remove them. 21008 21009Sun May 06 16:02:28 BST 2007 Olly Betts <olly@survex.com> 21010 21011 * configure.ac: Set version to mythical 0.9.99. 21012 21013Sun May 06 15:06:01 BST 2007 Richard Boulton <richard@lemurconsulting.com> 21014 21015 * tests/api_db.cc: Add test_flintdatabaseformaterror1() which 21016 checks what happens when an old-format flint database is opened. 21017 It generates the old-format database by making a fake "iamflint" 21018 file containing an old version number. 21019 21020Sun May 06 04:00:39 BST 2007 Olly Betts <olly@survex.com> 21021 21022 * expand/ortermlist.cc: Remove incorrect assertion check in 21023 OrTermList::next(), replacing it with anexplanatory comment. 21024 21025Sun May 06 02:42:30 BST 2007 Olly Betts <olly@survex.com> 21026 21027 * net/remoteconnection.cc: Fix typo. 21028 21029Sun May 06 02:39:23 BST 2007 Olly Betts <olly@survex.com> 21030 21031 * net/remoteconnection.cc: Aha! Richard's patch failed to compile 21032 because stdlib.h was in "#ifndef __WIN32__" not "#ifdef __WIN32__". 21033 21034Sun May 06 02:27:18 BST 2007 Olly Betts <olly@survex.com> 21035 21036 * net/remoteconnection.cc: Protect _set_invalid_parameter_handler, etc 21037 by _MSC_VER >= 1400 (MSVC 2005) and __STDC_SECURE_LIB__ (undocumented 21038 but cribbed from the Python sources). Refactor into a handy class 21039 (MSVCIgnoreInvalidParameter) which just needs to be instantiated in 21040 the scope where you want to allow invalid parameters to be passed. 21041 21042Sun May 06 01:42:06 BST 2007 Olly Betts <olly@survex.com> 21043 21044 * net/remoteconnection.cc: Rework use of _invalid_parameter_handler to 21045 only apply when _MSC_VER is defined, to fix the mingw build. 21046 21047Sat May 05 22:30:01 BST 2007 Richard Boulton <richard@lemurconsulting.com> 21048 21049 * net/remoteconnection.cc: Under __WIN32__, add an invalid 21050 parameter handler which ignores the error and use it for the 21051 calls to _get_osfhandle() which are sometimes expected to fail. 21052 Requires stdlib.h according to msdn, so also #include that. 21053 21054Sat May 05 20:43:29 BST 2007 Olly Betts <olly@survex.com> 21055 21056 * bin/xapian-progsrv.cc,bin/xapian-tcpsrv.cc,common/remoteconnection.h, 21057 common/remoteserver.h,common/tcpserver.h,net/remoteserver.cc, 21058 net/tcpserver.cc: Open a fresh copy of the database(s) on each 21059 connection to a xapian-tcpsrv rather than relying on being able to 21060 share a database across fork() or between threads (which we don't 21061 promise will work). Largely based on patch from Mark Hammond. 21062 Fixes some of bug#141 and all of bug#142. 21063 21064Sat May 05 02:19:39 BST 2007 Olly Betts <olly@survex.com> 21065 21066 * api/omdatabase.cc: Use RETURN() not return in methods with debug 21067 logging. 21068 21069Sat May 05 02:19:11 BST 2007 Olly Betts <olly@survex.com> 21070 21071 * bin/xapian-compact.cc: Fix typo in comment. 21072 21073Fri May 04 23:59:54 BST 2007 Olly Betts <olly@survex.com> 21074 21075 * backends/flint/flint_version.cc: Remove the "u" suffix from 21076 FLINT_VERSION as it's confusing in the "wrong format version" 21077 error message and doesn't seem needed in the code. 21078 21079Fri May 04 23:56:32 BST 2007 Richard Boulton <richard@lemurconsulting.com> 21080 21081 * backends/flint/: Revert patch from revision 8426 (except for the 21082 bit which removed the unused prototypes), to avoid the 21083 possibility that it introduces bugs into the code just before 21084 1.0.0. The patch is attached to bug #143 for later reference. 21085 21086Fri May 04 23:50:39 BST 2007 Olly Betts <olly@survex.com> 21087 21088 * examples/delve.cc: Report the error string if we catch Xapian::Error 21089 while trying to open a database. 21090 21091Fri May 04 22:50:54 BST 2007 Olly Betts <olly@survex.com> 21092 21093 * docs/intro_ir.html: Fix a few typos; elaborate on a few points. 21094 21095Fri May 04 20:07:44 BST 2007 Richard Boulton <richard@lemurconsulting.com> 21096 21097 * queryparser/termgenerator_internal.cc: Fix bug in termgenerator - 21098 arguments to add_posting were the wrong way round. 21099 21100Fri May 04 20:00:40 BST 2007 Olly Betts <olly@survex.com> 21101 21102 * queryparser/termgenerator_internal.cc: Limit term length, handle 21103 infix and suffix characters, and convert apostrophes to ASCII 21104 representation. 21105 21106Fri May 04 19:47:43 BST 2007 Olly Betts <olly@survex.com> 21107 21108 * include/xapian/unicode.h: Fill in remaining missing documentation 21109 comments. 21110 21111Fri May 04 19:30:56 BST 2007 Olly Betts <olly@survex.com> 21112 21113 * include/xapian/termgenerator.h: Add convenience version of 21114 index_text() and index_text_without_positions() which take a 21115 std::string instead of a Utf8Iterator. 21116 21117Fri May 04 17:11:11 BST 2007 Richard Boulton <richard@lemurconsulting.com> 21118 21119 * unicode/utf8itor.cc: Fix segfault bug in Utf8Iterator::operator*(). 21120 If this was called when the iterator had reached end, invalid 21121 memory was accessed because p was compared to end, p will always 21122 be set to NULL when the iterator reaches the end. No regression 21123 test, but the smoketest tests I'm implementing in the bindings 21124 will excercise this code. 21125 21126Fri May 04 16:29:51 BST 2007 Richard Boulton <richard@lemurconsulting.com> 21127 21128 * include/xapian/unicode.h: Add documentation comments to 21129 Utf8Iterator, so I don't have to work out how it works again. 21130 21131Fri May 04 14:55:32 BST 2007 Richard Boulton <richard@lemurconsulting.com> 21132 21133 * include/xapian/unicode.h: Add assign() function which takes a 21134 string, for symmetry with the constructors. Also makes 21135 implementing the bindings easier. 21136 21137Fri May 04 13:04:52 BST 2007 Richard Boulton <richard@lemurconsulting.com> 21138 21139 * include/Makefile.mk: Add termgenerator.h to distribution 21140 tarballs. 21141 21142Fri May 04 03:41:56 BST 2007 Olly Betts <olly@survex.com> 21143 21144 * tests/harness/testsuite.h: Test against pow(10, -DBL_DIG) rather 21145 than DBL_EPSILON. DBL_EPSILON is a little bit smaller, but we use 21146 DBL_DIG for displaying the numbers and it looks stupid to say two 21147 numbers which are displayed identically should be nearly the same! 21148 21149Fri May 04 03:33:51 BST 2007 Olly Betts <olly@survex.com> 21150 21151 * HACKING: Fix reference to --enable-maitainer-mode and documentation 21152 rebuilding. 21153 21154Fri May 04 03:32:57 BST 2007 Olly Betts <olly@survex.com> 21155 21156 * configure.ac: Fix now erroneous references to tools "required in 21157 maintainer mode" to "required to build documentation". 21158 21159Fri May 04 01:49:05 BST 2007 Olly Betts <olly@survex.com> 21160 21161 * HACKING: Document --enable-documentation. 21162 21163Fri May 04 01:38:44 BST 2007 Olly Betts <olly@survex.com> 21164 21165 * Makefile.am,bin/Makefile.mk,configure.ac,docs/Makefile.am, 21166 examples/Makefile.mk: Add new configure option 21167 "--enable-documentation" which enables the make rules to rebuild the 21168 documentation. By default this follows the setting of 21169 "--enable-maintainer-mode" (so giving much the same behaviour as 21170 currently), but the documentation rules can now be controlled 21171 independently. Also, if documentation isn't being built, the 21172 configure probes for tools required to rebuild it are no longer run 21173 which should shorten configure time a bit for end-users building 21174 releases. 21175 21176Thu May 03 22:07:39 BST 2007 Olly Betts <olly@survex.com> 21177 21178 * common/remoteserver.h: Remove unused default values for 21179 active_timeout_ and idle_timeout_ parameters. Fix repeated typo 21180 in documentation comments ('millisrconds' -> 'milliseconds'). 21181 21182Thu May 03 15:05:24 BST 2007 Olly Betts <olly@survex.com> 21183 21184 * include/xapian.h,include/xapian/termgenerator.h,queryparser/: 21185 Initial cut of TermGenerator class. 21186 21187Thu May 03 15:04:09 BST 2007 Olly Betts <olly@survex.com> 21188 21189 * generate-exceptions.in: Hide the internal constructors of generated 21190 error classes in the doxygen-generated API docs. 21191 21192Thu May 03 04:37:51 BST 2007 Olly Betts <olly@survex.com> 21193 21194 * expand/ortermlist.cc,expand/ortermlist.h: Fix compilation error when 21195 --enable-assertions is used. 21196 21197Thu May 03 03:57:42 BST 2007 Olly Betts <olly@survex.com> 21198 21199 * common/safeunistd.h: Provide a POSIX-compatible sleep() function. 21200 * common/utils.h: Remove inferior POSIX-compatible sleep() function. 21201 21202Thu May 03 03:17:02 BST 2007 Olly Betts <olly@survex.com> 21203 21204 * include/xapian/: Mark all @internal member variables and functions 21205 which aren't private with @private so doxygen doesn't document them. 21206 21207Thu May 03 02:33:09 BST 2007 Olly Betts <olly@survex.com> 21208 21209 * include/xapian/: Mark DocIDWrapper, RefCntBase, RefCntPtr, 21210 TermNameWrapper, and TermPosWrapper as "@internal" so that they don't 21211 show up in the doxygen-generated API documentation. In particular, 21212 this makes the class collaboration diagrams much more useful. 21213 * include/xapian/errorhandler.h: Declare the class in namespace Xapian 21214 rather than with namespace Xapian:: since the latter seems to 21215 confuse doxygen. 21216 21217Thu May 03 02:31:33 BST 2007 Olly Betts <olly@survex.com> 21218 21219 * include/xapian/unicode.h: Fix wrapping of comment. 21220 21221Thu May 03 00:05:23 BST 2007 Richard Boulton <richard@lemurconsulting.com> 21222 21223 * backends/flint/: Remove unused (and unimplemented) declarations 21224 of begin_transaction_(), commit_transaction_() and 21225 cancel_transaction_() from FlintWritableDatabase class. Tidy up 21226 handling of metainfo (total_length and lastdocid) to avoid 21227 repeatedly parsing the special record, and make it easier to 21228 store additional metainfo in future. 21229 Also, remove code which ensures that there is always a special 21230 record - this was added in revision 5459 when the special record 21231 was stored in the record table, so that the number of documents 21232 in the database could always be calculated by subtracting 1 from 21233 the number of entries in the record table. Now that the special 21234 record is stored in the postlist table, this is no longer 21235 necessary. 21236 21237Wed May 02 17:56:39 BST 2007 Olly Betts <olly@survex.com> 21238 21239 * backends/dbfactory_remote.cc,include/xapian/dbfactory.h: 21240 Remote::open_writable() now defaults to no (active) timeout. The 21241 connection timeouts for Remote::open() and Remote::open_writable() 21242 now default to 10 seconds rather than defaulting to the same as 21243 the active timeout (which defaults to 10 seconds). 21244 21245Wed May 02 16:00:22 BST 2007 Richard Boulton <richard@lemurconsulting.com> 21246 21247 * common/safeunistd.h,tests/harness/backendmanager.cc: Fix 21248 compilation on windows - safeunistd.h was undefining ssize_t 21249 and thus overriding the definition in config.h, and include 21250 safewindows.h for backendmanager.cc 21251 21252Wed May 02 15:34:33 BST 2007 Olly Betts <olly@survex.com> 21253 21254 * common/safeunistd.h: Don't define ssize_t here for MSVC - do it in 21255 config.h instead. This avoids pulling in <windows.h> which will 21256 hopefully fix another macro redefinition warning under MSVC. 21257 21258Wed May 02 15:20:56 BST 2007 Olly Betts <olly@survex.com> 21259 21260 * common/safewindows.h: Define NOGDI before including windows.h to 21261 prevent it from defining a macro called "ERROR" which collides with 21262 the generated queryparser sources, causing a warning in the MSVC 21263 build. 21264 21265Wed May 02 14:38:33 BST 2007 Olly Betts <olly@survex.com> 21266 21267 * common/termlist.h: Forward declare ExpandStats as "class" not 21268 "struct" for consistency with the actual declaration. 21269 21270Wed May 02 14:30:41 BST 2007 Olly Betts <olly@survex.com> 21271 21272 * configure.ac: Try '-lzlib' for zlib, which mingw reportedly needs. 21273 21274Wed May 02 14:21:40 BST 2007 Olly Betts <olly@survex.com> 21275 21276 * common/remoteconnection.h,include/xapian/dbfactory.h, 21277 net/remoteserver.cc: A timeout of `0' in the remote backend now 21278 means "no timeout" (code patch from Mark Hammond). 21279 21280Wed May 02 04:17:28 BST 2007 Olly Betts <olly@survex.com> 21281 21282 * Makefile.am,api/,backends/alltermslist.cc,backends/flint/, 21283 backends/inmemory/inmemory_database.cc, 21284 backends/inmemory/inmemory_database.h, 21285 backends/multi/multi_termlist.cc,backends/multi/multi_termlist.h, 21286 backends/quartz/,backends/remote/net_termlist.cc, 21287 backends/remote/net_termlist.h,backends/remote/remote-database.cc, 21288 common/,expand/,matcher/: Split expand functionality out of 21289 "matcher" subdirectory into new "expand" subdirectory since it's 21290 not really connected to query matching and the matcher subdirectory 21291 is one of the largest. Rewrite OrTermList, eliminating 21292 BranchTermList entirely. Alter expand to pass in an object (of 21293 class Xapian::Internal::ExpandWeight) which accumulates statistics 21294 instead of returning OmExpandBits objects which we then have to 21295 merge (and eliminating the need for LeafTermList entirely). Query 21296 expansion for multiple databases should now give results more like 21297 that for a single database with the same documents (if 21298 USE_EXACT_TERMFREQ is used, the results should be the same). Debug 21299 logging from expand is now all of type EXPAND (some was of types 21300 MATCHER and WTCALC before). 21301 21302Wed May 02 03:35:17 BST 2007 Olly Betts <olly@survex.com> 21303 21304 * docs/deprecation.rst: Add deprecation info for Omega too. 21305 21306Wed May 02 00:24:13 BST 2007 Olly Betts <olly@survex.com> 21307 21308 * tests/api_anydb.cc: Add test expandweights1 as a regression test for 21309 the previous commit. 21310 * tests/harness/testsuite.h: Set the precision for TEST_EQUAL_DOUBLE 21311 so we don't claim two numbers to be different yet display them the 21312 same! 21313 21314Tue May 01 23:27:10 BST 2007 Olly Betts <olly@survex.com> 21315 21316 * backends/remote/net_termlist.cc,backends/remote/remote-database.cc, 21317 common/remoteprotocol.h,docs/remote_protocol.html, 21318 net/remoteserver.cc: Fix handling of the document length in the 21319 termlist for the remote backend. 21320 21321Tue May 01 23:17:28 BST 2007 Olly Betts <olly@survex.com> 21322 21323 * tests/api_db.cc: Several tests were marked as "local db only" for 21324 historical reasons. Enable them for remote backends too. 21325 * backends/remote/net_postlist.cc,tests/api_db.cc: Fix a bug in 21326 NetworkPostList::skip_to() which apitest's postlist4 reveals. 21327 21328Tue May 01 21:00:26 BST 2007 Olly Betts <olly@survex.com> 21329 21330 * api/omtermlistiterator.cc,api/omvalueiterator.cc, 21331 backends/multi/multi_alltermslist.cc: Add explicit 21332 `#include "omassert.h"'. 21333 * backends/multi/multi_alltermslist.cc: Remove all explicit 21334 std:: qualifiers and add `using namespace std;'. 21335 21336Tue May 01 20:56:10 BST 2007 Olly Betts <olly@survex.com> 21337 21338 * common/multialltermslist.h: Add explicit std:: qualifiers for 21339 string, for consistency with std::vector in this header. 21340 21341Tue May 01 15:19:53 BST 2007 Olly Betts <olly@survex.com> 21342 21343 * matcher/branchpostlist.h: Don't check for NULL pointer before 21344 calling delete. 21345 21346Tue May 01 02:29:10 BST 2007 Olly Betts <olly@survex.com> 21347 21348 * common/document.h,common/documentterm.h,common/multialltermslist.h, 21349 matcher/rset.cc,queryparser/queryparser.cc: Add some explicit 21350 includes for headers which were previously only implicitly included 21351 (in preparation for a forthcoming change which removes some of the 21352 implicit inclusions). 21353 21354Tue May 01 01:20:53 BST 2007 Olly Betts <olly@survex.com> 21355 21356 * backends/database.cc,bin/quartzcheck.cc,docs/deprecation.rst, 21357 include/xapian/dbfactory.h,tests/api_db.cc, 21358 tests/harness/backendmanager.cc,tests/quartztest.cc: Deprecate 21359 the Quartz backend and related functions and utilities. 21360 21361Fri Apr 27 12:56:13 BST 2007 Olly Betts <olly@survex.com> 21362 21363 * tests/Makefile.am: Pass '-no-install' when linking test programs, 21364 since we don't ever install them. This means libtool doesn't need 21365 to generate shell script wrappers on most platforms. Also prefer 21366 '$(ldflags)' to '@ldflags' as the former allows the user to override 21367 when they run 'make' which is sometimes useful. 21368 21369Fri Apr 27 03:44:15 BST 2007 Olly Betts <olly@survex.com> 21370 21371 * docs/intro_ir.html: Add links for the various researchers mentioned 21372 by name. 21373 21374Thu Apr 26 17:57:10 BST 2007 Olly Betts <olly@survex.com> 21375 21376 * docs/bm25.html,docs/intro_ir.html: Assorted documentation 21377 improvements. 21378 21379Thu Apr 26 15:43:24 BST 2007 Richard Boulton <richard@lemurconsulting.com> 21380 21381 * docs/deprecation.rst: Update with changes to Python bindings. 21382 21383Thu Apr 26 06:01:45 BST 2007 Olly Betts <olly@survex.com> 21384 21385 * common/expandweight.h,matcher/expandweight.cc: Better handling of 21386 expand with multiple databases. 21387 21388Wed Apr 25 18:35:13 BST 2007 Olly Betts <olly@survex.com> 21389 21390 * api/omenquire.cc: Delete nonsensical comment. 21391 21392Wed Apr 25 17:41:58 BST 2007 Olly Betts <olly@survex.com> 21393 21394 * docs/deprecation.rst: Use the collective term "features" rather than 21395 overloading the term "functions". Casual readers may miss the 21396 definition altogether, and even dedicated readers will probably 21397 already have a strong mental image of what a "function" is in the 21398 context of an API. 21399 21400Wed Apr 25 14:52:11 BST 2007 Olly Betts <olly@survex.com> 21401 21402 * docs/intro_ir.html: Improve the look of the formulae. 21403 21404Wed Apr 25 03:56:18 BST 2007 Olly Betts <olly@survex.com> 21405 21406 * common/omqueryinternal.h,languages/generate-allsnowballheaders.in, 21407 matcher/msetcmp.h,queryparser/queryparser_internal.h: Add missing 21408 multiple inclusion guards. 21409 21410Wed Apr 25 03:12:50 BST 2007 Olly Betts <olly@survex.com> 21411 21412 * queryparser/queryparser_internal.h: Don't include <config.h> in 21413 a header file. 21414 21415Wed Apr 25 03:05:09 BST 2007 Olly Betts <olly@survex.com> 21416 21417 * queryparser/queryparser.cc: Initialise `internal' member inline 21418 for consistency with other classes. 21419 21420Tue Apr 24 04:55:45 BST 2007 Olly Betts <olly@survex.com> 21421 21422 * configure.ac: Add missing ')' to the error messages when zlib stuff 21423 isn't found. 21424 21425Tue Apr 24 02:56:57 BST 2007 Olly Betts <olly@survex.com> 21426 21427 * backends/flint/flint_database.h, 21428 backends/inmemory/inmemory_database.h, 21429 backends/quartz/quartz_database.h: MSVC doesn't handle using 21430 properly. 21431 21432Tue Apr 24 01:25:34 BST 2007 Olly Betts <olly@survex.com> 21433 21434 * matcher/bm25weight.cc,matcher/expandweight.cc: Fix typo in comments: 21435 'releveant' -> 'relevant'. 21436 21437Mon Apr 23 23:00:23 BST 2007 Olly Betts <olly@survex.com> 21438 21439 * api/omenquire.cc,docs/deprecation.rst,include/xapian/enquire.h, 21440 tests/api_anydb.cc,tests/api_db.cc: Deprecate 21441 Enquire::include_query_terms and Enquire::use_exact_termfreq in 21442 favour of capitalised versions Enquire::INCLUDE_QUERY_TERMS and 21443 Enquire::USE_EXACT_TERMFREQ (for consistency with our other 21444 manifest constants, and general C/C++ conventions). 21445 21446Mon Apr 23 18:14:20 BST 2007 Olly Betts <olly@survex.com> 21447 21448 * backends/flint/flint_table.cc,backends/quartz/btree.cc: Support for 21449 VLAs in C++ is a GCC extension, so eliminate the need for them. 21450 21451Mon Apr 23 16:32:07 BST 2007 Olly Betts <olly@survex.com> 21452 21453 * docs/: svn:ignore deprecation.html. svn:ignore apidoc.pdf and 21454 sourcedoc.pdf rather than *.pdf. 21455 21456Mon Apr 23 16:08:53 BST 2007 Olly Betts <olly@survex.com> 21457 21458 * tests/quartztest.cc: Resolve FIXME about MapTermList. 21459 21460Mon Apr 23 16:06:38 BST 2007 Olly Betts <olly@survex.com> 21461 21462 * api/valuerangeproc.cc,backends/flint/flint_check.cc, 21463 backends/flint/flint_table.cc,backends/quartz/btree.cc, 21464 backends/quartz/btreecheck.cc,bin/xapian-tcpsrv.cc,examples/, 21465 languages/steminternal.h,tests/harness/testsuite.cc, 21466 tests/harness/testsuite.h,tests/stemtest.cc: Fix compilation with 21467 GCC 4.3 snapshot. 21468 21469Mon Apr 23 15:20:55 BST 2007 Olly Betts <olly@survex.com> 21470 21471 * common/safeunistd.h: Comment tweaks. 21472 21473Mon Apr 23 11:54:14 BST 2007 Richard Boulton <richard@lemurconsulting.com> 21474 21475 * common/safeunistd.h: Include <process.h> on windows to get 21476 getpid() instead of using a #define. 21477 21478Mon Apr 23 11:30:56 BST 2007 Richard Boulton <richard@lemurconsulting.com> 21479 21480 * api/maptermlist.h: Fix typo in error message. 21481 21482Mon Apr 23 11:08:01 BST 2007 Richard Boulton <richard@lemurconsulting.com> 21483 21484 * api/maptermlist.h: Throw an InvalidOperationError() if 21485 MapTermList::get_termfreq() is called, instead of simply having 21486 Assert(false): this gets called if a term iterator is accessed 21487 for a freshly created Document, and the get_termfreq() method is 21488 called on it. The error message is specific to this situation, 21489 since this is the only place in which MapTermList is used. 21490 21491Mon Apr 23 03:22:54 BST 2007 Olly Betts <olly@survex.com> 21492 21493 * backends/flint/flint_database.cc,backends/flint/flint_lock.cc, 21494 backends/flint/flint_lock.h: Report why we failed to get a write 21495 lock on a flint database. 21496 21497Mon Apr 23 01:44:13 BST 2007 Olly Betts <olly@survex.com> 21498 21499 * backends/flint/flint_version.cc: Update the flint format version 21500 since older flint versions can't read compressed tags. 21501 21502Mon Apr 23 01:25:25 BST 2007 Olly Betts <olly@survex.com> 21503 21504 * configure.ac: Probe for zlib.h and -lz. 21505 * backends/flint/,bin/xapian-compact.cc: Use zlib to compress tags 21506 in the record and termlist tables. 21507 * tests/Makefile.am,tests/runtest.in,tests/valgrind.supp: Add a 21508 valgrind suppression for zlib (a known issue - for speed zlib 21509 deliberately reads past the end of the buffer in some cases). 21510 21511Sun Apr 22 04:24:06 BST 2007 Olly Betts <olly@survex.com> 21512 21513 * backends/flint/: Remove documentation for blocksize_ parameters 21514 which were removed some time ago. 21515 21516Sun Apr 22 00:02:13 BST 2007 Olly Betts <olly@survex.com> 21517 21518 * matcher/multimatch.cc: Track the minimum weight required to be 21519 considered for the MSet separately from the minimum item which 21520 could be considered. Trying to combine the two is causing subtle 21521 bugs (fixed bug#86). 21522 21523Sun Apr 22 00:00:39 BST 2007 Olly Betts <olly@survex.com> 21524 21525 * HACKING: Add notes about the files Omega uses from xapian-core. 21526 21527Sat Apr 21 23:49:58 BST 2007 Olly Betts <olly@survex.com> 21528 21529 * queryparser/queryparser.cc: Clear the stoplist when we parse a new 21530 query. 21531 * tests/queryparsertest.cc: Add regression test. 21532 21533Sat Apr 21 23:27:33 BST 2007 Olly Betts <olly@survex.com> 21534 21535 * Makefile.am,common/Makefile.mk,getopt/: Move getopt.cc from getopt/ 21536 to common/. Having a whole directory for a single source file 21537 is a bit extravagent, and putting it in common/ allows us to share a 21538 copy with omega easily. 21539 21540Sat Apr 21 21:38:20 BST 2007 Olly Betts <olly@survex.com> 21541 21542 * backends/flint/flint_database.cc,backends/quartz/quartz_database.cc, 21543 backends/quartz/quartz_log.cc,common/omdebug.h,common/safeunistd.h, 21544 tests/harness/testsuite.cc: safeunistd.h now defines getpid() to 21545 GetCurrentProcessId() for MSVC, and we now include this where we 21546 want to use getpid() rather than conditionally defining getpid(). 21547 21548Sat Apr 21 04:13:12 BST 2007 Olly Betts <olly@survex.com> 21549 21550 * configure.ac: Explicitly set AM_CXXFLAGS to an empty value to start 21551 with to avoid issues if it's set in the environment. Cache the 21552 results of the test to see if the C++ compiler actually works, and 21553 in the XAPIAN_TEST_LINKER_FLAG macro. 21554 * configure.ac, include/xapian/visibility.h: Add --disable-visibility 21555 option to configure to completely disable use of -fvisibility. 21556 * INSTALL: Document all --enable-backend-* options explicitly. 21557 Document how to disable use of -fvisibility and 21558 -Bsymbolic-functions should you want/need to. Improve wording in 21559 a few places. 21560 21561Fri Apr 20 19:20:23 BST 2007 Olly Betts <olly@survex.com> 21562 21563 * HACKING,configure.ac: Revert to requiring autoconf 2.59 so that the 21564 .spec file for building RPMs can run `autoreconf' to work around a 21565 libtool bug. 21566 21567Fri Apr 20 18:12:51 BST 2007 Olly Betts <olly@survex.com> 21568 21569 * docs/deprecation.rst: Document return type of ExpandDecider::Apply() 21570 and MatchDecider::Apply() in C# is now bool instead of int. 21571 21572Fri Apr 20 18:01:18 BST 2007 Olly Betts <olly@survex.com> 21573 21574 * xapian.spec.in: Package xapian-check and its man page. 21575 21576Fri Apr 20 14:38:00 BST 2007 Olly Betts <olly@survex.com> 21577 21578 * docs/deprecation.rst: Note changed return type of 21579 ExpandDecider::operator() and MatchDecider::operator(). 21580 21581Fri Apr 20 14:28:39 BST 2007 Olly Betts <olly@survex.com> 21582 21583 * include/xapian/enquire.h: MatchDecider::operator() now returns 21584 `bool' not `int'. Remove declaraction of ExpandDecider. 21585 * include/xapian/expanddecider.h: Move declaration of ExpandDecider 21586 to here. ExpandDecider::operator() now returns `bool' not `int'. 21587 ExpandDeciderAnd now names parameters `first' and `second' and 21588 documents the order in which they are applied (useful if you have 21589 an expensive and a cheap test). ExpandDeciderAnd can now take 21590 parameters by reference instead of pointer. 21591 * api/Makefile.mk,include/xapian/enquire.h,api/omenquire.cc, 21592 api/expanddecider.cc: New home for definitions of virtual methods of 21593 ExpandDecider and subclasses. 21594 * api/omenquire.cc,common/expand.h,matcher/expand.cc: Eliminate 21595 internal class ExpandDeciderAlways - just test pointer against NULL 21596 instead. 21597 * tests/api_anydb.cc,tests/api_db.cc: Update for change in return 21598 type from MatchDecider::operator() and ExpandDecider::operator(). 21599 21600Fri Apr 20 10:35:09 BST 2007 Richard Boulton <richard@lemurconsulting.com> 21601 21602 * HACKING: Add note on rules with multiple targets. 21603 21604Thu Apr 19 19:02:42 BST 2007 Olly Betts <olly@survex.com> 21605 21606 * PLATFORMS: Remove reports for 0.7.* and demote reports for 0.8.* to 21607 "older reports" status. All SF compilefarm machines are now "no 21608 longer available", so update the symbols and key to reflect this. 21609 21610Thu Apr 19 13:27:59 BST 2007 Olly Betts <olly@survex.com> 21611 21612 * HACKING: Fix vim magic comment. Add space after URL to stop 21613 '::' getting glued to it. 21614 21615Thu Apr 19 11:36:19 BST 2007 Richard Boulton <richard@lemurconsulting.com> 21616 21617 * HACKING: Turn syntax highlighting off, since it's broken for the 21618 restructured text in this file anyway. 21619 21620Thu Apr 19 03:26:28 BST 2007 Olly Betts <olly@survex.com> 21621 21622 * backends/flint/flint_database.h, 21623 backends/inmemory/inmemory_database.h, 21624 backends/quartz/quartz_database.h: 21625 The trick of importing base class methods with 'using' breaks 21626 compilation with GCC 2.95 which doesn't issue the warning we're 21627 trying to avoid, so add a preprocessor check, 21628 21629Thu Apr 19 03:20:31 BST 2007 Olly Betts <olly@survex.com> 21630 21631 * common/progclient.h,net/progclient.cc: Always use pid_t not int for 21632 holding a process id. 21633 21634Thu Apr 19 01:08:57 BST 2007 Olly Betts <olly@survex.com> 21635 21636 * docs/deprecation.rst: Update '#callable' footnote. 21637 21638Thu Apr 19 00:07:02 BST 2007 Olly Betts <olly@survex.com> 21639 21640 * backends/flint/flint_database.h, 21641 backends/inmemory/inmemory_database.h, 21642 backends/quartz/quartz_database.h: Add using declarations to 21643 subclasses of Xapian::Database::Internal which don't override the 21644 term forms of delete_document() and replace_document() to prevent 21645 compiler warnings about these methods being hidden. 21646 21647Wed Apr 18 23:22:29 BST 2007 Olly Betts <olly@survex.com> 21648 21649 * net/remoteconnection.cc: Remove code which can't actually be 21650 reached, which fixes a warning in the mingw build. 21651 21652Wed Apr 18 23:07:45 BST 2007 Olly Betts <olly@survex.com> 21653 21654 * api/omenquire.cc,common/multimatch.h,common/omenquireinternal.h, 21655 include/xapian/enquire.h,matcher/Makefile.mk, 21656 matcher/biaspostlist.h,matcher/multimatch.cc,net/remoteserver.cc: 21657 Remove Enquire::set_bias(). 21658 * docs/deprecation.rst: Update wrt Enquire::set_bias(). Fix typo. 21659 21660Wed Apr 18 18:51:42 BST 2007 Olly Betts <olly@survex.com> 21661 21662 * configure.ac: Require autoconf 2.60 or newer. Drop docdir 21663 compatibility hack which is no longer required. 21664 * HACKING: Document requirement. Fix typo (or out-of-date info) for 21665 automake requirement (we require 1.9.5 not 1.8.5). 21666 21667Wed Apr 18 18:27:35 BST 2007 Richard Boulton <richard@lemurconsulting.com> 21668 21669 * docs/deprecation.rst: Note the deprecation of get_description() 21670 methods for Python. 21671 21672Wed Apr 18 14:57:03 BST 2007 Richard Boulton <richard@lemurconsulting.com> 21673 21674 * HACKING: Minimal changes to make this into valid restructured 21675 text. 21676 21677Wed Apr 18 11:27:57 BST 2007 Richard Boulton <richard@lemurconsulting.com> 21678 21679 * configure.ac: Require autoconf version 2.59c or later: 21680 AC_TYPE_SSIZE_T isn't present in earlier versions. 21681 21682Wed Apr 18 11:08:13 BST 2007 Richard Boulton <richard@lemurconsulting.com> 21683 21684 * docs/deprecation.rst: Fix table formatting error 21685 21686Wed Apr 18 01:32:48 BST 2007 Richard Boulton <richard@lemurconsulting.com> 21687 21688 * docs/deprecation.rst: Update with methods which have been removed 21689 from the bindings. 21690 21691Wed Apr 18 00:24:00 BST 2007 Richard Boulton <richard@lemurconsulting.com> 21692 21693 * docs/deprecation.rst: Move methods which have just been removed 21694 from the list of deprecated methods to the list of removed 21695 methods. 21696 21697Tue Apr 17 23:58:53 BST 2007 Olly Betts <olly@survex.com> 21698 21699 * api/omdocument.cc,api/omenquire.cc,api/omquery.cc,include/xapian/, 21700 languages/stem.cc,tests/api_db.cc: Remove methods we're deprecating 21701 for 1.0. 21702 21703Tue Apr 17 23:50:06 BST 2007 Richard Boulton <richard@lemurconsulting.com> 21704 21705 * docs/deprecation.rst: Note that is_empty() is not deprecated for 21706 PHP after all! 21707 21708Tue Apr 17 22:17:41 BST 2007 Olly Betts <olly@survex.com> 21709 21710 * queryparser/queryparser.lemony: GCC 2.95 doesn't support 21711 std::string::clear(), so use resize(0) instead. 21712 * HACKING: Document the above issue in a reworked section on C++ 21713 STL features. Update the section on safeXXX.h headers. 21714 21715Tue Apr 17 22:07:39 BST 2007 Olly Betts <olly@survex.com> 21716 21717 * common/safesysselect.h: Correct typo in #error message. 21718 21719Tue Apr 17 19:18:00 BST 2007 Olly Betts <olly@survex.com> 21720 21721 * configure.ac: Factor out code to test for a linker flag into macro 21722 XAPIAN_TEST_LINKER_FLAG. With g++, use XAPIAN_TEST_LINKER_FLAG to 21723 see if -Bsymbolic-functions is supported (it requires a very recent 21724 version of ld currently). This option reduces the size and load 21725 time of the shared library by resolving references within the 21726 library when it's created. Currently untested on a box which 21727 supports -Bsymbolic-functions. 21728 21729Tue Apr 17 12:01:46 BST 2007 Olly Betts <olly@survex.com> 21730 21731 * unicode/utf8itor.cc: Tidy up code layout. 21732 21733Tue Apr 17 02:06:39 BST 2007 Olly Betts <olly@survex.com> 21734 21735 * include/xapian/unicode.h,unicode/utf8itor.cc: Make nonascii_to_utf8 21736 a public method. Make get_case_type(), get_category(), and 21737 get_delta() internal, but provide a public get_category() function 21738 which takes a Unicode character value. 21739 21740Tue Apr 17 02:05:32 BST 2007 Olly Betts <olly@survex.com> 21741 21742 * backends/flint/Makefile.mk: Distribute flint_check.h. 21743 21744Tue Apr 17 01:47:05 BST 2007 Olly Betts <olly@survex.com> 21745 21746 * tests/api_posdb.cc: The remote backend now supports all database 21747 operations, so merge localpositionaldb_tests into 21748 positionaldb_tests. 21749 * tests/: Remove the trivial separate api_XXXdb.h headers, some of 21750 which were out-of-step with their respective .cc sources. Instead 21751 just keep the array external declarations in apitest.h. 21752 * tests/apitest.h,tests/api_transdb.cc: Move TESTCASE and 21753 END_OF_TESTCASES macros into header. 21754 * tests/api_db.cc: Remove test collapsekey2 - it's only relevant for 21755 the Muscat 3.6 backend, so it's unused now that has been removed. 21756 * tests/: Add unicode tests, adapted from Omega's utftest. 21757 21758Tue Apr 17 00:14:16 BST 2007 Olly Betts <olly@survex.com> 21759 21760 * Makefile.am,include/Makefile.mk,include/xapian.h, 21761 include/xapian/unicode.h,queryparser/,unicode/: Expose Unicode and 21762 UTF-8 related classes and functions as a public API. 21763 21764Mon Apr 16 16:06:22 BST 2007 Richard Boulton <richard@lemurconsulting.com> 21765 21766 * docs/deprecation.rst: Bring document fully up-to-date, listing 21767 all the planned deprecations for the bindings. Also, include the 21768 full upgrade notes in the listings, so they can be preserved 21769 accessibly for posterity. I even retrieved the notes for the 21770 already-removed QueryParser::set_stemming_options from 0.9.10. 21771 21772Mon Apr 16 11:36:18 BST 2007 Olly Betts <olly@survex.com> 21773 21774 * net/tcpclient.cc: Call WSAGetLastError() instead of socket_errno() 21775 when we want to compare the result against WSAEWOULDBLOCK. 21776 21777Mon Apr 16 11:19:21 BST 2007 Olly Betts <olly@survex.com> 21778 21779 * common/remoteconnection.h,common/safewinsock2.h: Need to negate the 21780 POSIX error codes we define in terms of winsock ones. 21781 21782Fri Apr 13 16:24:29 BST 2007 Richard Boulton <richard@lemurconsulting.com> 21783 21784 * docs/doxygen_api_conf.in: Turn on XML output, so that we can use 21785 it to populate docstrings for the python bindings. 21786 21787Fri Apr 13 11:38:39 BST 2007 Olly Betts <olly@survex.com> 21788 21789 * backends/Makefile.mk,backends/alltermslist.cc,common/alltermslist.h: 21790 Split AllTermsList into header and code. AllTermsList::get_wdf() 21791 now throws InvalidOperationError() rather than asserting in a 21792 debug build and returning 0 in a non-debug build. 21793 * backends/Makefile.mk: Correct list for "how to add a new backend". 21794 21795Fri Apr 13 10:17:46 BST 2007 Olly Betts <olly@survex.com> 21796 21797 * api/version.cc: Simpler and cleaner fix - the prototypes for the 21798 version functions had moved from xapian/version.h to xapian.h so we 21799 were including the wrong header and not seeing the prototypes with 21800 visibility markup! 21801 21802Fri Apr 13 09:29:17 BST 2007 Richard Boulton <richard@lemurconsulting.com> 21803 21804 * api/version.cc: Add visibility annotations to definitions of 21805 version functions: the annotation apparently needs to be applied 21806 to the definition as well as the declaration or it is ignored: 21807 possibly the annotation on the declaration is ignored anyway, 21808 but it should be kept there for documentation purposes in any 21809 case. Fixes link error with bindings under gcc 4.1. 21810 21811Fri Apr 13 01:39:57 BST 2007 Olly Betts <olly@survex.com> 21812 21813 * common/remoteconnection.h,net/progclient.cc,net/remoteconnection.cc: 21814 GetLastError() has an unsigned return type, so need to cast to int 21815 before negating. 21816 21817Fri Apr 13 01:39:20 BST 2007 Olly Betts <olly@survex.com> 21818 21819 * docs/deprecation.rst: Add xapian_version_string() and friends. 21820 21821Fri Apr 13 01:24:53 BST 2007 Olly Betts <olly@survex.com> 21822 21823 * tests/api_nodb.cc: More 'tout' output. 21824 21825Fri Apr 13 01:19:20 BST 2007 Olly Betts <olly@survex.com> 21826 21827 * api/Makefile.mk,api/error.cc,bin/xapian-tcpsrv.cc, 21828 common/remoteconnection.h,common/safeerrno.h,configure.ac, 21829 generate-exceptions.in,net/,tests/harness/testsuite.cc: On 21830 MS Windows, if Xapian::Error::my_errno is the result of 21831 GetLastError() or WSAGetLastError(), negate it (the error codes can 21832 overlap with errno codes). On UNIX, put h_errno negated in my_errno 21833 if a call to gethostbyname() fails. Add 21834 Xapian::Error::get_error_string() method which decodes my_errno 21835 in the appropriate way to give a string, and use this instead of 21836 strerror(error.get_errno()). 21837 21838Fri Apr 13 01:17:08 BST 2007 Olly Betts <olly@survex.com> 21839 21840 * languages/generate-allsnowballheaders.in: win32 makefiles don't keep 21841 the snowball header list in sorted order like we do, so fix that 21842 here. Also allow for '\' as path separator. 21843 21844Fri Apr 13 00:58:09 BST 2007 Olly Betts <olly@survex.com> 21845 21846 * tests/api_nodb.cc: Add "tout" debug output to stemlangs1. 21847 21848Thu Apr 12 21:37:04 BST 2007 Olly Betts <olly@survex.com> 21849 21850 * tests/Makefile.am: Add support for QUIET= and QUIET=y arguments to 21851 "make". 21852 21853Thu Apr 12 21:35:50 BST 2007 Olly Betts <olly@survex.com> 21854 21855 * docs/Makefile.am: Use a substitution for RSTHTML (like we do for the 21856 snowball generated sources). 21857 21858Thu Apr 12 20:41:18 BST 2007 Olly Betts <olly@survex.com> 21859 21860 * api/omqueryinternal.cc: Add validate_query() calls to the "term" and 21861 "value range" constructors. 21862 21863Thu Apr 12 20:00:14 BST 2007 Olly Betts <olly@survex.com> 21864 21865 * api/omqueryinternal.cc,include/xapian/query.h: Only validate a 21866 Query object when it's either constructed or changed to avoid O(n^2) 21867 behaviour in some cases. 21868 21869Thu Apr 12 19:59:13 BST 2007 Olly Betts <olly@survex.com> 21870 21871 * queryparser/lemon.c: Fix nasty function casting for argument to 21872 qsort - it's (at least technically) not portable. 21873 21874Thu Apr 12 17:47:47 BST 2007 Olly Betts <olly@survex.com> 21875 21876 * configure.ac: Fix GCC version test to only turn on 21877 -fvisibility=hidden for GCC >= 4. 21878 21879Thu Apr 12 16:47:56 BST 2007 Olly Betts <olly@survex.com> 21880 21881 * backends/flint/flint_btreebase.h,backends/flint/flint_cursor.h, 21882 backends/flint/flint_table.h,backends/quartz/,common/,configure.ac, 21883 generate-exceptions.in,include/Makefile.mk,include/xapian.h, 21884 include/xapian/: Add visibility annotations to the library, which 21885 when using GCC >= 4 reduces the size and load time of the library 21886 and increase the runtime speed a little. Under x86_64, the stripped 21887 library is 6.4% smaller (1.5% smaller with debug information). 21888 21889Thu Apr 12 16:45:57 BST 2007 Olly Betts <olly@survex.com> 21890 21891 * api/version.cc: Add missing "#include <config.h>". 21892 21893Thu Apr 12 13:41:52 BST 2007 Richard Boulton <richard@lemurconsulting.com> 21894 21895 * tests/quartztest.cc: Put removedir() function back for now to fix 21896 build. 21897 21898Thu Apr 12 13:02:30 BST 2007 Richard Boulton <richard@lemurconsulting.com> 21899 21900 * net/progclient.cc: Some (but not all) versions of MSVC need 21901 "#include <io.h>" to get the _open_osfhandle identifier. Add it. 21902 21903Thu Apr 12 12:00:34 BST 2007 Richard Boulton <richard@lemurconsulting.com> 21904 21905 * backends/remote/net_postlist.cc: Include config.h 21906 21907Thu Apr 12 11:54:50 BST 2007 Richard Boulton <richard@lemurconsulting.com> 21908 21909 * backends/multi/multi_termlist.cc: Include config.h to get system 21910 specific defines. 21911 * common/safesysstat.h: Change signature of mkdir to take mode_t 21912 instead of int, to match unixy definition. 21913 21914Thu Apr 12 10:19:49 BST 2007 Olly Betts <olly@survex.com> 21915 21916 * configure.ac: Probe for mode_t. 21917 21918Thu Apr 12 01:10:18 BST 2007 Olly Betts <olly@survex.com> 21919 21920 * backends/flint/flint_positionlist.cc: Move BitReader class inside 21921 Xapian namespace to avoid namespace pollution. 21922 * bin/xapian-check.cc: Include BitReader::decode_interpolative() 21923 - previously we were relying on using the copy from the library. 21924 21925Thu Apr 12 01:02:53 BST 2007 Olly Betts <olly@survex.com> 21926 21927 * common/safesysstat.h: Under __WIN32__, provide a POSIX-like mkdir() 21928 wrapper which takes 2 arguments, but ignores the file mode, so we 21929 can just call mkdir with a mode argument everywhere. 21930 * common/utils.h: Remove special case handling of mkdir. 21931 * bin/xapian-compact.cc: Replace uses of om_tostring() with a call 21932 to sprintf. No longer need to `#include "utils.h"'. 21933 21934Thu Apr 12 00:44:18 BST 2007 Olly Betts <olly@survex.com> 21935 21936 * api/,backends/inmemory/inmemory_positionlist.cc,common/,matcher/, 21937 net/remoteconnection.cc,net/serialise.cc: omdebug.h only includes 21938 omassert.h for the trivial "STRINGIZE" macro, so just duplicate 21939 that rather than pulling in an extra header everywhere. Then fix 21940 up the two dozen files which were relying on this implicit 21941 inclusion! 21942 21943Thu Apr 12 00:10:48 BST 2007 Olly Betts <olly@survex.com> 21944 21945 * tests/harness/testsuite.cc: Tweak #ifdef XAPIAN_DEBUG_VERBOSE to 21946 include DEBUGLINE() for clarity (no change in behaviour). 21947 21948Wed Apr 11 23:36:10 BST 2007 Olly Betts <olly@survex.com> 21949 21950 * queryparser/queryparser.lemony: Fix regression introduced by 21951 Richard's change, and restructure to make the handling for each case 21952 more obvious. 21953 * tests/queryparsertest.cc: Add a couple of testcases for the 21954 regression. 21955 * queryparser/queryparser_internal.h: Remove reference to "bool" in 21956 comment which no longer applies. 21957 21958Wed Apr 11 21:25:36 BST 2007 Richard Boulton <richard@lemurconsulting.com> 21959 21960 * queryparser/queryparser_internal.h: Refactor boolean "flag" 21961 member in BoolAndString class into an enum of possible prefix 21962 types. Rename "flag" to "type". Rename BoolAndString to 21963 PrefixInfo. 21964 * queryparser/queryparser.cc: Change add_prefix() and 21965 add_boolean_prefix() to match changes to queryparser_internal.h 21966 * queryparser/queryparser.lemony: Refactor handling of prefixed 21967 terms to match queryparser_internal, and to use a switch() 21968 structure: no functional changes, but code is considerably more 21969 readable (I hope). 21970 21971Wed Apr 11 21:13:31 BST 2007 Olly Betts <olly@survex.com> 21972 21973 * tests/api_db.cc,tests/quartztest.cc: Rework quartztest's "open1" 21974 into API level tests for quartz and flint in apitest. 21975 21976Wed Apr 11 14:01:31 BST 2007 Richard Boulton <richard@lemurconsulting.com> 21977 21978 * docs/deprecation.rst: Remove documentation of the "#define 21979 XAPIAN_DEPRECATED(D) D" hack, and clarify documentation on how 21980 long we support deprecated functions. 21981 21982Wed Apr 11 09:25:55 BST 2007 Richard Boulton <richard@lemurconsulting.com> 21983 21984 * docs/Makefile.am,docs/deprecation.rst: Add initial draft of 21985 deprecation policy document, with list of all API items currently 21986 marked for deprecation. 21987 * HACKING: Add note about keeping deprecation.rst up-to-date when 21988 making a release. 21989 21990Tue Apr 10 19:07:24 BST 2007 Olly Betts <olly@survex.com> 21991 21992 * configure.ac: --enable-quiet now uses AS_HELP_STRING. 21993 21994Tue Apr 10 18:53:32 BST 2007 Olly Betts <olly@survex.com> 21995 21996 * tests/harness/index_utils.cc: Return the empty document we already 21997 have rather than constructing another. 21998 21999Tue Apr 10 17:45:11 BST 2007 Olly Betts <olly@survex.com> 22000 22001 * net/remoteconnection.cc: Fix typo in comment. 22002 22003Tue Apr 10 17:35:57 BST 2007 Olly Betts <olly@survex.com> 22004 22005 * tests/harness/backendmanager.cc: Fix "if" to "is" typo in 3 22006 comments. 22007 22008Tue Apr 10 16:46:09 BST 2007 Olly Betts <olly@survex.com> 22009 22010 * tests/harness/backendmanager.cc: Define XAPIAN_TCPSRV and 22011 XAPIAN_PROGSRV under UNIX too, and use them everywhere. 22012 22013Tue Apr 10 16:33:48 BST 2007 Olly Betts <olly@survex.com> 22014 22015 * tests/harness/backendmanager.h: Remove "BackendManager::" from 22016 method declaration. 22017 22018Tue Apr 10 15:35:50 BST 2007 Olly Betts <olly@survex.com> 22019 22020 * configure.ac: Define HAVE_SOCKETPAIR if we have socketpair(). 22021 22022Tue Apr 10 15:29:49 BST 2007 Olly Betts <olly@survex.com> 22023 22024 * net/progclient.cc: Fix #endif placement so it compiles on UNIX. 22025 22026Tue Apr 10 14:18:06 BST 2007 Olly Betts <olly@survex.com> 22027 22028 * net/remoteconnection.cc: Remove debugging code. 22029 22030Tue Apr 10 12:57:51 BST 2007 Olly Betts <olly@survex.com> 22031 22032 * backends/dbfactory_remote.cc,common/progclient.h,net/progclient.cc, 22033 net/remoteconnection.cc,tests/api_db.cc,tests/apitest.cc, 22034 tests/harness/backendmanager.cc,tests/harness/backendmanager.h: 22035 Add support for the "prog" variant of the remote backend (patch 22036 started by me, finished by Mark Hammond). 22037 22038Tue Apr 10 12:23:46 BST 2007 Olly Betts <olly@survex.com> 22039 22040 * api/omqueryinternal.cc,backends/inmemory/inmemory_database.cc, 22041 backends/quartz/quartz_alldocspostlist.cc,matcher/localmatch.cc, 22042 matcher/multimatch.cc,tests/harness/testutils.cc: Prefer 22043 `CONTAINER.empty()' to `CONTAINER.size() == 0'. 22044 22045Tue Apr 10 12:09:45 BST 2007 Olly Betts <olly@survex.com> 22046 22047 * api/omqueryinternal.cc: Tighten up an assertion. 22048 22049Mon Apr 09 20:56:23 BST 2007 Olly Betts <olly@survex.com> 22050 22051 * configure.ac,tests/harness/backendmanager.cc,tests/runsrv.in, 22052 tests/runtest.in: Run the remote backend server using new "runsrv" 22053 script instead of "runtest". This doesn't echo anything to stdout, 22054 and if valgrind is in use, runs the remote server under 22055 "--tool=none" which is much quicker than using valgrind's default 22056 memcheck tool (we need to run the remote server under valgrind 22057 because valgrind's emulation of excess FP precision isn't exact and 22058 otherwise we get tests failing because of these differences). 22059 22060Mon Apr 09 20:24:30 BST 2007 Olly Betts <olly@survex.com> 22061 22062 * tests/api_anydb.cc,tests/api_nodb.cc: Move test poscollapse2 to the 22063 "no database" category, since it doesn't require a database! 22064 22065Mon Apr 09 18:04:40 BST 2007 Olly Betts <olly@survex.com> 22066 22067 * docs/remote_protocol.html: Correct documentation - MSG_REOPEN gives 22068 a response of REPLY_UPDATE. 22069 22070Mon Apr 09 15:08:44 BST 2007 Olly Betts <olly@survex.com> 22071 22072 * ./: svn:eol-style not svn:eolstyle. 22073 22074Mon Apr 09 15:00:30 BST 2007 Olly Betts <olly@survex.com> 22075 22076 * ./: Set svn:eolstyle to native for most text files. 22077 22078Mon Apr 09 14:50:40 BST 2007 Olly Betts <olly@survex.com> 22079 22080 * backends/flint/flint_database.cc: Delete the corresponding entry 22081 (if any) from doclens in delete_document(). Add assertion to 22082 add_document_() that the corresponding entry in doclens isn't 22083 already set, but in a non-debug build overwrite any existing 22084 entry as that's more likely to be correct. 22085 * backends/quartz/quartz_database.cc: Ditto. 22086 22087Mon Apr 09 14:08:55 BST 2007 Olly Betts <olly@survex.com> 22088 22089 * backends/quartz/quartz_database.cc: Just assign to doclens[did]. 22090 22091Mon Apr 09 14:06:58 BST 2007 Olly Betts <olly@survex.com> 22092 22093 * backends/flint/flint_database.cc: Just assign to doclens[did]. 22094 22095Mon Apr 09 11:29:22 BST 2007 Richard Boulton <richard@lemurconsulting.com> 22096 22097 * backends/quartz/quartz_database.cc: Apply same change to quartz. 22098 22099Mon Apr 09 11:24:31 BST 2007 Richard Boulton <richard@lemurconsulting.com> 22100 22101 * backends/flint/flint_database.cc: Fix bug with document lengths 22102 in replace document. Was using doclens.insert() to set the new 22103 document length, but this has no effect if the entry already 22104 exists. This fixes replacedoc3 for flint (and thus for remote 22105 databases), but the same change is needed for quartz. 22106 * backends/flint/flint_postlist.cc: Add some debugging lines. 22107 22108Mon Apr 09 01:43:02 BST 2007 Richard Boulton <richard@lemurconsulting.com> 22109 22110 * backends/flint/: Add some more debugging messages to help track 22111 down the problem with document lengths shown up by previous 22112 change. 22113 22114Mon Apr 09 01:40:34 BST 2007 Richard Boulton <richard@lemurconsulting.com> 22115 22116 * tests/api_wrdb.cc: Add asserts to check that the value of 22117 get_doclength() on the database and on the posting list are 22118 correct. Currently fails with the value from the posting list 22119 for the document which has been replaced (or sooner if assertions 22120 are turned on). 22121 22122Sun Apr 08 23:24:20 BST 2007 Olly Betts <olly@survex.com> 22123 22124 * Makefile.am,configure.ac: `./configure --enable-quiet' allows you to 22125 specify at configure time to pass `--quiet' to libtool. Now you can 22126 override this at make-time by using `make QUIET=' (to turn off 22127 `--quiet') or `make QUIET=y' (to turn on `--quiet'). 22128 22129Sun Apr 08 23:23:50 BST 2007 Olly Betts <olly@survex.com> 22130 22131 * HACKING: Mention AssertEqParanoid and AssertNeParanoid. 22132 22133Sun Apr 08 22:45:45 BST 2007 Olly Betts <olly@survex.com> 22134 22135 * common/omassert.h: Add AssertEqParanoid and AssertNeParanoid macros. 22136 * backends/flint/flint_table.cc,backends/inmemory/inmemory_database.cc, 22137 backends/multi/multi_postlist.cc,backends/quartz/btree.cc: Use them. 22138 * backends/multi/multi_postlist.cc: Add extra assertions to 22139 MultiPostList::get_doclength(). 22140 22141Sun Apr 08 22:16:11 BST 2007 Olly Betts <olly@survex.com> 22142 22143 * configure.ac: Fix typos: `AC_CHECK_SSIZE_T' -> `AC_TYPE_SSIZE_T'; 22144 `AC_CHECK_PID_T' -> `AC_TYPE_PID_T'. 22145 22146Sun Apr 08 22:04:54 BST 2007 Olly Betts <olly@survex.com> 22147 22148 * HACKING: Snapshots and releases are now generated with autoconf 2.61. 22149 22150Sun Apr 08 21:42:03 BST 2007 Olly Betts <olly@survex.com> 22151 22152 * configure.ac: Use AC_CHECK_SSIZE_T instead of our own test. Add 22153 AC_CHECK_PID_T for any platforms which don't have `pid_t'. 22154 * net/tcpserver.cc: Use `pid_t' instead of `int'. 22155 * common/progclient.h,net/progclient.cc: Cleaner rewritten version of 22156 progclient.h. 22157 22158Sun Apr 08 19:59:43 BST 2007 Olly Betts <olly@survex.com> 22159 22160 * backends/flint/flint_lock.cc: If kill() fails, don't bother calling 22161 waitpid(). 22162 22163Sun Apr 08 19:41:11 BST 2007 Olly Betts <olly@survex.com> 22164 22165 * net/remoteconnection.cc: Don't explicitly pass "0" for errno. 22166 22167Sun Apr 08 16:58:58 BST 2007 Richard Boulton <richard@lemurconsulting.com> 22168 22169 * queryparser/queryparser.lt: Fix warnings in debugging builds on 22170 gcc 4.1 due to comparison of signed and unsigned types. Also, 22171 use the ParseTokenName function instead of explicitly doing a 22172 range check each time an entry is looked up in yyTokenName, and 22173 add a ParseRuleName function for looking up things in yyRuleName, 22174 and use it similarly. 22175 22176Sun Apr 08 15:55:42 BST 2007 Olly Betts <olly@survex.com> 22177 22178 * configure.ac: Fix lingering references to enable_debug. 22179 22180Sun Apr 08 15:48:13 BST 2007 Olly Betts <olly@survex.com> 22181 22182 * tests/api_anydb.cc,tests/api_wrdb.cc: Remove hacks to automatically 22183 SKIP tests which failed because of lack of support for some features 22184 by the remote backend. 22185 22186Sun Apr 08 15:14:11 BST 2007 Olly Betts <olly@survex.com> 22187 22188 * queryparser/queryparser.lemony,queryparser/queryparser.lt: More 22189 tweaks. 22190 22191Sun Apr 08 15:04:49 BST 2007 Richard Boulton <richard@lemurconsulting.com> 22192 22193 * queryparser/queryparser.lt: Always include "omdebug.h", and put 22194 one of the pieces of debugging code in #ifdef 22195 XAPIAN_DEBUG_VERBOSE, to fix non-logging message builds. 22196 22197Sun Apr 08 14:23:06 BST 2007 Richard Boulton <richard@lemurconsulting.com> 22198 22199 * docs/remote_protocol.html: Update for protocol version 27 by 22200 adding documentation for MSG_POSTLIST and replies. Also, fix a 22201 typo. 22202 22203Sun Apr 08 13:50:20 BST 2007 Olly Betts <olly@survex.com> 22204 22205 * common/omdebug.h,queryparser/queryparser.lemony, 22206 queryparser/queryparser.lt: Hook the debug tracing in the lemon 22207 generated parser into Xapian's debug logging framework. 22208 22209Sun Apr 08 12:35:29 BST 2007 Richard Boulton <richard@lemurconsulting.com> 22210 22211 * backends/remote/,common/remote-database.h,common/remoteprotocol.h, 22212 common/remoteserver.h,net/remoteserver.cc: Implement postlists 22213 for the remote database. Increases 22214 XAPIAN_REMOTE_PROTOCOL_VERSION to 27. 22215 22216Sun Apr 08 12:33:02 BST 2007 Olly Betts <olly@survex.com> 22217 22218 * HACKING,INSTALL,configure.ac: Rename --enable-debug* - conflating the 22219 options to "turn on assertions" and "turn on logging" still confuses 22220 me to the extent I need to read the documentation every time I use 22221 them. `--enable-debug[=partial]' become `--enable-assertions'; 22222 `--enable-debug-verbose' becomes `--enable-log' and 22223 `--enable-debug=full' becomes `--enable-assertions --enable-log'. 22224 For now the old options give an error telling you the new 22225 equivalent. 22226 22227Sun Apr 08 10:45:40 BST 2007 Olly Betts <olly@survex.com> 22228 22229 * configure.ac: Eliminate use_quiet - just use enable_quiet instead. 22230 22231Fri Apr 06 19:06:07 BST 2007 Olly Betts <olly@survex.com> 22232 22233 * net/progclient.cc: Close stderr of the spawned backend program. 22234 22235Fri Apr 06 18:59:24 BST 2007 Olly Betts <olly@survex.com> 22236 22237 * net/progclient.cc: msecs_timeout_ -> msecs_timeout. 22238 22239Fri Apr 06 18:12:36 BST 2007 Olly Betts <olly@survex.com> 22240 22241 * net/remoteconnection.cc: Fix comment grammar. 22242 22243Fri Apr 06 18:10:31 BST 2007 Olly Betts <olly@survex.com> 22244 22245 * net/remoteconnection.cc: Deal with the exceptional case first. 22246 22247Fri Apr 06 17:51:20 BST 2007 Olly Betts <olly@survex.com> 22248 22249 * net/remoteconnection.cc: Use string::append(ptr, size) in preference 22250 to string::append(ptr, ptr + size). 22251 22252Fri Apr 06 11:45:39 BST 2007 Olly Betts <olly@survex.com> 22253 22254 * api/omqueryinternal.cc,backends/flint/flint_database.cc, 22255 backends/flint/flint_database.h,backends/flint/flint_postlist.cc, 22256 backends/inmemory/inmemory_database.cc, 22257 backends/inmemory/inmemory_database.h, 22258 backends/quartz/quartz_database.cc,backends/quartz/quartz_database.h, 22259 backends/quartz/quartz_postlist.cc, 22260 backends/remote/remote-database.cc,common/database.h, 22261 common/remote-database.h: Refactor to eliminate do_open_post_list 22262 and any unnecessary call to term_exists(). 22263 22264Fri Apr 06 11:44:25 BST 2007 Olly Betts <olly@survex.com> 22265 22266 * tests/api_wrdb.cc: Just use TEST on a boolean value rather than 22267 TEST_EQUAL against true/false. 22268 22269Fri Apr 06 08:53:46 BST 2007 Olly Betts <olly@survex.com> 22270 22271 * net/remoteserver.cc: Remove "N" which we calculate but never use! 22272 22273Fri Apr 06 08:17:00 BST 2007 Olly Betts <olly@survex.com> 22274 22275 * backends/flint/Makefile.mk,backends/flint/flint_check.cc, 22276 backends/flint/flint_check.h,bin/Makefile.mk,bin/xapian-check.cc: 22277 Fix xapian-check not to use libquartzcheck.la. 22278 22279Fri Apr 06 07:20:47 BST 2007 Olly Betts <olly@survex.com> 22280 22281 * bin/Makefile.mk,bin/xapian-check.cc: Add new "xapian-check" program 22282 which performs consistency checks on a flint database. 22283 22284Fri Apr 06 06:25:36 BST 2007 Olly Betts <olly@survex.com> 22285 22286 * bin/quartzcheck.cc: Test if this is a quartz database by looking at 22287 "meta" not "record_DB". If "record_DB" is >= 2GB and we don't have 22288 a LFS aware stat function then stat can fail even though the file is 22289 there. Also open the database explicitly as a Quartz database for 22290 extra robustness. 22291 22292Fri Apr 06 06:23:33 BST 2007 Olly Betts <olly@survex.com> 22293 22294 * AUTHORS: Thank Daniel Ménard. 22295 22296Thu Apr 05 18:20:53 BST 2007 Olly Betts <olly@survex.com> 22297 22298 * tests/harness/testsuite.cc: No need to explicitly initialise 22299 std::string to ""; not doing so results in a smaller object 22300 file. 22301 22302Thu Apr 05 18:20:12 BST 2007 Olly Betts <olly@survex.com> 22303 22304 * common/remoteprotocol.h: Note other changes in protocol version 26. 22305 22306Thu Apr 05 17:34:10 BST 2007 Olly Betts <olly@survex.com> 22307 22308 * tests/runtest.in: Pass "--leak-resolution=high" to valgrind to 22309 prevent unrelated leak reports related to STL classes from being 22310 combined. 22311 22312Thu Apr 05 17:26:39 BST 2007 Olly Betts <olly@survex.com> 22313 22314 * tests/api_wrdb.cc: Remove stray line left over from debugging. 22315 22316Thu Apr 05 16:47:36 BST 2007 Richard Boulton <richard@lemurconsulting.com> 22317 22318 * tests/internaltest.cc: Fix test_serialiselength2: implementation 22319 was correct, but test was failing. Needed special casing for n=0 22320 and 1, and was using arguments to string::append(size_type, 22321 charT) the wrong way round (stupid C++ API). Also, make it check 22322 the return value of decode_length(), since we know what the 22323 answer ought to be. 22324 22325Thu Apr 05 14:26:30 BST 2007 Olly Betts <olly@survex.com> 22326 22327 * api/omqueryinternal.cc,backends/remote/remote-database.cc, 22328 common/serialise.h,net/remoteserver.cc,net/serialise.cc, 22329 tests/internaltest.cc: Add a flag parameter to decode_length() 22330 to indicate if the decoded value indicates the length of a 22331 string in the protocol stream, and if it does, check it against 22332 p_end - p after the length has been decoded (fixes bug#117). 22333 22334Thu Apr 05 14:08:02 BST 2007 Olly Betts <olly@survex.com> 22335 22336 * tests/api_wrdb.cc: In test uniqueterm1, check the document length 22337 after every delete or replace for better coverage. 22338 22339Thu Apr 05 12:41:04 BST 2007 Olly Betts <olly@survex.com> 22340 22341 * net/serialise.cc: Encode deltas between docids (rather than the 22342 docids themselves) in the RSet serialisation which reduces the 22343 size of the encoding if a lot of large docids with small gaps 22344 between them are present. 22345 * backends/remote/remote-database.cc,net/remoteserver.cc: Encode 22346 deltas between termpositions in REPLY_POSITIONLIST, for similar 22347 reasons. No need to encode the term length for 22348 MSG_DELETEDOCUMENTTERM as it's the last (indeed only) item, and more 22349 consistent not to. 22350 * common/remoteprotocol.h: Bump protocol version to 26. 22351 * docs/remote_protocol.html: Document the new messages 22352 MSG_DELETEDOCUMENTTERM and MSG_REPLACEDOCUMENTTERM. Correct 22353 reference to REPLY_DOCUMENT to REPLY_DOCDATA. Fix documentation for 22354 MSG_QUERY to include the serialised Weight and RSet objects. Fix 22355 "copy and paste" error in the description of Flush (should of course 22356 be MSG_FLUSH not MSG_CANCEL). Update for changes above. 22357 22358Thu Apr 05 12:18:19 BST 2007 Richard Boulton <richard@lemurconsulting.com> 22359 22360 * backends/database.cc: Keep a RefCntPtr to the LeafPostList used 22361 in implementations of delete_document and replace_document with a 22362 unique term, so that the postlist isn't leaked. 22363 22364Thu Apr 05 11:56:57 BST 2007 Olly Betts <olly@survex.com> 22365 22366 * backends/database.cc: Database::Internal can't call the 22367 PostingIterator(PostingIterator::Internal*) ctor (at least under 22368 g++ 3.3.5) because it isn't a friend (only class Database is). 22369 Can't seem to forward define Database::Internal to make 22370 Database::Internal a friend so just use LeafPostList directly 22371 as that seems less bad than pulling in the whole of database.h 22372 or making PostingIterator::internal public. 22373 22374Thu Apr 05 08:27:26 BST 2007 Olly Betts <olly@survex.com> 22375 22376 * HACKING: Need to run svn-tag-release on ixion. 22377 22378Thu Apr 05 01:50:10 BST 2007 Richard Boulton <richard@lemurconsulting.com> 22379 22380 * backends/remote/remote-database.cc,common/remote-database.h, 22381 common/remoteprotocol.h,common/remoteserver.h,net/remoteserver.cc: 22382 Implement unique term variants of delete and replace document for 22383 the remote database. Involves adding two new message types to the 22384 protocol (and therefore bumping the protocol version to 25), and 22385 overriding the standard implementations of delete_document(term) 22386 and replace_document(term) in RemoteDatabase. 22387 * tests/api_wrdb.cc: Correct text in SKIP_TEST() message. 22388 22389Thu Apr 05 01:04:19 BST 2007 Richard Boulton <richard@lemurconsulting.com> 22390 22391 * api/omdatabase.cc,backends/database.cc,common/database.h: Move 22392 implementation of delete_document and replace_document with a 22393 unique_term from WritableDatabase to Xapian::Database::Internal. 22394 This will allow it to be overridden for databases which need a 22395 special implementation (such as the remote database). 22396 22397Tue Apr 03 14:30:45 BST 2007 Olly Betts <olly@survex.com> 22398 22399 * common/remote-database.h: Remove unused and undefined method 22400 RemoteDatabase::get_spawned_socket(). 22401 22402Tue Apr 03 09:18:51 BST 2007 Olly Betts <olly@survex.com> 22403 22404 * tests/harness/backendmanager.cc: Under __WIN32__, launch 22405 xapian-tcpsrv as a child process communicating via a pipe and handle 22406 the port being already in use by trying the next port up (as we do 22407 under UNIX). 22408 22409Tue Apr 03 06:50:48 BST 2007 Olly Betts <olly@survex.com> 22410 22411 * net/tcpserver.cc: For __WIN32__ and __CYGWIN__, use 22412 SO_EXCLUSIVEADDRUSE (if available) on on listening sockets for 22413 xapian-tcpsrv. 22414 22415Tue Apr 03 04:37:02 BST 2007 Olly Betts <olly@survex.com> 22416 22417 * include/xapian/positioniterator.h,include/xapian/postingiterator.h: 22418 Fix mangled comment start in (C) headers. 22419 22420Tue Apr 03 03:27:12 BST 2007 Olly Betts <olly@survex.com> 22421 22422 * include/xapian/,generate-exceptions.in: Mark the following 22423 constructors 'explicit': DocIDWrapper(docid), TermPosWrapper(const 22424 std::string &), Query::Internal(const std::string &), Database(const 22425 std::string &), all Error subclass constructors taking const 22426 std::string &. Only the Database and Error subclass changes should 22427 be able to affect user code at all. 22428 * include/xapian/,api/omenquire.cc: Make the following methods 22429 'const': RSet::contains(MSetIterator), Enquire::get_query(). This 22430 shouldn't affect the validity of any user code. 22431 22432Mon Apr 02 11:44:26 BST 2007 Richard Boulton <richard@lemurconsulting.com> 22433 22434 * HACKING: Add note on "Building from SVN on Windows with MSVC" 22435 22436Mon Apr 02 11:32:51 BST 2007 Olly Betts <olly@survex.com> 22437 22438 * api/omqueryinternal.cc: Fix assertion to allow for OP_VALUE_RANGE. 22439 22440Mon Apr 02 11:14:10 BST 2007 Olly Betts <olly@survex.com> 22441 22442 * autoconf/rjb_find_stlport.m4: Fix check that the user didn't say 22443 `./configure --with-stlport-compiler' (without `=gcc' or similar 22444 after it). 22445 22446Mon Apr 02 10:38:35 BST 2007 Olly Betts <olly@survex.com> 22447 22448 * tests/api_db.cc,tests/apitest.cc: Under __WIN32__ disable tests 22449 which require the prog variant of the remote backend. 22450 22451Mon Apr 02 09:44:13 BST 2007 Olly Betts <olly@survex.com> 22452 22453 * net/tcpserver.cc: Don't use SO_REUSEADDR under __CYGWIN__ or 22454 __WIN32__ as it has incorrect semantics. 22455 22456Mon Apr 02 09:37:14 BST 2007 Olly Betts <olly@survex.com> 22457 22458 * tests/harness/backendmanager.cc: Pull `1239' out as `DEFAULT_PORT'. 22459 On Windows, cycle through 10 ports starting at DEFAULT_PORT so that 22460 we can have multiple databases open at once. Add a monotonic count 22461 to the name of the log file created from the output of each 22462 xapian-tcpsrv to avoid failures because the log file is already 22463 open. 22464 22465Mon Apr 02 07:41:57 BST 2007 Olly Betts <olly@survex.com> 22466 22467 * tests/api_anydb.cc: Avoid having the same database open twice at 22468 once. Xapian itself copes, but the BackendManager class in the test 22469 harness struggles in the remotetcp case under mingw. 22470 22471Mon Apr 02 07:14:13 BST 2007 Olly Betts <olly@survex.com> 22472 22473 * include/xapian/enquire.h: Make Enquire constructor explicit since 22474 it can take a single parameter (of type Database). 22475 22476Mon Apr 02 02:32:23 BST 2007 Olly Betts <olly@survex.com> 22477 22478 * net/tcpserver.cc: Add "#error" if neither HAVE_FORK nor __WIN32__ 22479 is defined (otherwise we'd failed with a rather obscure link error 22480 much later!) 22481 22482Mon Apr 02 01:54:20 BST 2007 Olly Betts <olly@survex.com> 22483 22484 * matcher/multimatch.cc: Remove unused variable left over from 22485 recent change. 22486 22487Mon Apr 02 01:22:56 BST 2007 Olly Betts <olly@survex.com> 22488 22489 * net/tcpserver.cc: Actually remove SOCKOPT_OPTIONS_TYPE. 22490 22491Mon Apr 02 01:16:03 BST 2007 Olly Betts <olly@survex.com> 22492 22493 * net/tcpclient.cc,net/tcpserver.cc: Pass the 4th parameter of 22494 setsockopt() as char* which works whether the function actually 22495 takes char* or void* (since C++ allows implicit conversion from 22496 char* to void*). Only call socket_errno() after gethostbyname() 22497 under __WIN32__ - on UNIX the error code is in h_errno (with 22498 incompatible values to errno) and we don't want to confuse things by 22499 reporting some random value of errno. 22500 22501Mon Apr 02 00:44:56 BST 2007 Olly Betts <olly@survex.com> 22502 22503 * tests/harness/backendmanager.cc: Factor out localhost address into 22504 LOCALHOST. Use new xapian-tcpsrv --interface option to only listen 22505 for connections on localhost. Run xapian-tcpsrv with "start /B" on 22506 MS Windows (this stops the "flickbook of console windows" effect). 22507 22508Mon Apr 02 00:41:31 BST 2007 Olly Betts <olly@survex.com> 22509 22510 * common/Makefile.mk,common/safesyssocket.h: Oops, I checked 22511 in safesysselect.h as safesyssocket.h! 22512 22513Mon Apr 02 00:30:54 BST 2007 Olly Betts <olly@survex.com> 22514 22515 * include/xapian/queryparser.h: Fix SimpleStopper::add to take 22516 `const std::string &' not `const std::string'. 22517 22518Mon Apr 02 00:20:45 BST 2007 Olly Betts <olly@survex.com> 22519 22520 * bin/xapian-tcpsrv.cc,net/tcpserver.cc: Add "--interface" option to 22521 allow the hostname or address of the interface to listen on to be 22522 specified (default is the previous behaviour of listening on all 22523 interfaces). 22524 * net/remoteconnection.cc,net/tcpclient.cc,common/safesysselect.h: 22525 Factor out portability code for sys/select.h. 22526 * common/Makefile.mk: Ship common/safesysselect.h. 22527 * net/tcpserver.cc: Rename parameter of run_thread from "_param" to 22528 "param_" (identifiers with leading underscores are reserved for the 22529 compiler). 22530 * common/tcpclient.h,net/tcpclient.cc,common/tcpserver.h: Rewrite 22531 headers with comments which are actually accurate and up-to-date! 22532 TcpClient ctor is small so put inline in the header. Pass 22533 std::string by const reference. 22534 * common/tcpclient.h,common/tcpserver.h: TcpClient and TcpServer 22535 classes now inherit from WinsockInitializer under __WIN32__ (as 22536 a mixin class) instead of having a member of type WinsockInitializer 22537 (the member is initialised too late, at least under mingw). 22538 22539Sun Apr 01 19:14:11 BST 2007 Olly Betts <olly@survex.com> 22540 22541 * common/omdebug.cc: Fix retrying of write to retry the part of 22542 the string not already written! 22543 22544Sun Apr 01 18:37:15 BST 2007 Olly Betts <olly@survex.com> 22545 22546 * common/remoteconnection.h: Note in comments about use as a "mixin" 22547 class. 22548 22549Sun Apr 01 17:42:19 BST 2007 Olly Betts <olly@survex.com> 22550 22551 * tests,examples,bin: Add .exe versions of built executables to 22552 svn:ignore. 22553 22554Sun Apr 01 16:28:26 BST 2007 Olly Betts <olly@survex.com> 22555 22556 * common/omdebug.cc: Remove unused '#include <stdio.h>' - we switched 22557 to using unbuffered I/O for logging long ago! 22558 22559Sun Apr 01 15:21:04 BST 2007 Olly Betts <olly@survex.com> 22560 22561 * common/safewinsock2.h: No, don't typedef socklen_t here - we use 22562 SOCKLEN_T everywhere and have `#define SOCKLEN_T int' in 22563 config.h.win32. 22564 22565Sun Apr 01 13:32:21 BST 2007 Richard Boulton <richard@lemurconsulting.com> 22566 22567 * common/omdebug.cc: Include necessary headers to get O_CREAT and 22568 friends defined (according to documentation in linux manpage), 22569 to fix compile error. Also, don't ignore the return value of 22570 write() to fix compile warning (and to ensure that the whole 22571 output gets written if possible). 22572 22573Sun Apr 01 13:19:52 BST 2007 Richard Boulton <richard@lemurconsulting.com> 22574 22575 * queryparser/queryparser.cc: Fix Assert() on a RefCountPtr to 22576 check the value of the pointer, to fix compile with asserts 22577 turned on. 22578 22579Sun Apr 01 12:57:06 BST 2007 Richard Boulton <richard@lemurconsulting.com> 22580 22581 * common/safewinsock2.h: Define socklen_t under MS compiler (since 22582 Olly reported build success with mingw, presumably it's not 22583 needed there). 22584 22585Sun Apr 01 06:42:14 BST 2007 Olly Betts <olly@survex.com> 22586 22587 * languages/Makefile.mk: $(snowball_algorithms:.sbl=.cc) is portable 22588 according to the automake list so use that so we only need to list 22589 the .sbl sources. 22590 22591Sun Apr 01 05:53:29 BST 2007 Olly Betts <olly@survex.com> 22592 22593 * common/tcpserver.h,net/tcpserver.cc: TcpServer's port member 22594 variable is set but never used so remove it. 22595 22596Sun Apr 01 03:27:30 BST 2007 Olly Betts <olly@survex.com> 22597 22598 * bin/Makefile.mk,examples/Makefile.mk: Add $(EXEEXT) to dependency on 22599 binaries in man page generation rules so they work on Windows. 22600 22601Sat Mar 31 22:17:55 BST 2007 Olly Betts <olly@survex.com> 22602 22603 * common/multimatch.h,matcher/multimatch.cc: When using a MatchDecider 22604 with remote database(s), don't rerun the MatchDecider on documents 22605 which a remote server has already checked. 22606 22607Sat Mar 31 10:44:26 BST 2007 Olly Betts <olly@survex.com> 22608 22609 * tests/harness/backendmanager.cc: Sort out path to xapian-tcpsrv 22610 under mingw. If neither HAVE_FORK nor __WIN32__ is defined, 22611 make compilation fail with a suitable #error. 22612 22613Sat Mar 31 10:17:06 BST 2007 Olly Betts <olly@survex.com> 22614 22615 * api/Makefile,backends/Makefile,backends/flint/Makefile, 22616 backends/inmemory/Makefile,backends/multi/Makefile, 22617 backends/quartz/Makefile,backends/remote/Makefile,bin/Makefile, 22618 common/Makefile,examples/Makefile,getopt/Makefile,include/Makefile, 22619 languages/Makefile,matcher/Makefile,net/Makefile, 22620 queryparser/Makefile,tests/harness/Makefile: Don't pass $(MAKEFLAGS) 22621 on the command line to $(MAKE) when invoking the top level Makefile 22622 from a static Makefile. It's passed automatically anyway, and also 22623 $(MAKEFLAGS) doesn't have a leading '-' so "make -s" tries to do 22624 "make s" at the top level. 22625 22626Sat Mar 31 09:28:06 BST 2007 Olly Betts <olly@survex.com> 22627 22628 * tests/api_nodb.cc: Fix end of loop handling. 22629 22630Sat Mar 31 09:03:26 BST 2007 Olly Betts <olly@survex.com> 22631 22632 * tests/api_nodb.cc: Fix to compile. 22633 22634Sat Mar 31 07:53:25 BST 2007 Olly Betts <olly@survex.com> 22635 22636 * common/safewindows.h,common/safewinsock2.h: safewindows.h is 22637 included by a lot of files so we want to keep it lightweight 22638 so split winsock2.h related stuff into safewinsock2.h. 22639 * common/remoteconnection.h: Move WinsockInitializer here. 22640 * common/safeerrno.h: #include "safewinsock2.h" not <winsock2.h>. 22641 22642Sat Mar 31 07:19:06 BST 2007 Olly Betts <olly@survex.com> 22643 22644 * common/remoteserver.h: Stop trying to include "remoteserver.h" 22645 because that's the SAME HEADER! 22646 22647Sat Mar 31 07:16:23 BST 2007 Olly Betts <olly@survex.com> 22648 22649 * common/tcpclient.h,common/tcpserver.h: Fix comments - the class is 22650 called WinsockInitializer not WinsockInitialiser. 22651 22652Sat Mar 31 06:54:22 BST 2007 Olly Betts <olly@survex.com> 22653 22654 * net/progclient.cc: Don't compile any code from this file if 22655 __WIN32__ is defined (for mingw). 22656 22657Sat Mar 31 06:52:27 BST 2007 Olly Betts <olly@survex.com> 22658 22659 * tests/api_nodb.cc: Simplify code in test_stemlangs1(). 22660 22661Sat Mar 31 06:22:26 BST 2007 Olly Betts <olly@survex.com> 22662 22663 * net/remoteconnection.cc: Use const_cast to avoid GCC warning 22664 about casting away const. Use string::data() rather than 22665 string::c_str() since we don't need a terminating zero byte. 22666 22667Sat Mar 31 06:20:07 BST 2007 Olly Betts <olly@survex.com> 22668 22669 * backends/dbfactory_remote.cc: Suppress "unused parameter" warnings. 22670 22671Sat Mar 31 06:17:35 BST 2007 Olly Betts <olly@survex.com> 22672 22673 * net/tcpserver.cc: Make global variable and function used only in 22674 this file static. Don't call delete on a void* (that's undefined 22675 behaviour) - delete the cast version of the pointer instead. 22676 22677Sat Mar 31 06:17:20 BST 2007 Olly Betts <olly@survex.com> 22678 22679 * AUTHORS: Add a number of bug reporters I missed before. 22680 22681Sat Mar 31 04:49:27 BST 2007 Olly Betts <olly@survex.com> 22682 22683 * configure.ac: Clean up handling of --enable-backend-* options. Let 22684 mingw try to build the remote backend. 22685 22686Sat Mar 31 03:47:49 BST 2007 Olly Betts <olly@survex.com> 22687 22688 * tests/internaltest.cc: Don't compile test_serialisequery1 22689 if the remote backend is disabled to avoid an "unused 22690 function" warning (we were already disabling the use of 22691 it). 22692 22693Fri Mar 30 22:43:27 BST 2007 Olly Betts <olly@survex.com> 22694 22695 * HACKING: Correct several inaccuracies: --enable-debug and 22696 --enable-debug=partial don't cause the build system to compile in 22697 debugging symbols (configure defaults to adding "-g" for GCC, while 22698 for other compilers you must enable them by hand). Also, 22699 --enable-debug doesn't "produce warnings", but causes 22700 Xapian::AssertionError to be thrown. Add explanation for why 22701 --enable-debug=partial" exists. CC_FOR_BUILD is now needed for 22702 snowball as well as lemon. 22703 22704Fri Mar 30 19:53:05 BST 2007 Olly Betts <olly@survex.com> 22705 22706 * common/utils.cc: Avoid GCC warning on format string "%I64d". 22707 22708Fri Mar 30 16:48:46 BST 2007 Richard Boulton <richard@lemurconsulting.com> 22709 22710 * common/tcpserver.h,net/tcpserver.cc: Patch from Mark Hammond: 22711 implement for windows. 22712 22713Fri Mar 30 16:21:03 BST 2007 Richard Boulton <richard@lemurconsulting.com> 22714 22715 * common/tcpclient.h,net/tcpclient.cc: Patch from Mark Hammond: 22716 implement for windows. 22717 22718Fri Mar 30 15:52:57 BST 2007 Richard Boulton <richard@lemurconsulting.com> 22719 22720 * tests/harness/backendmanager.cc: Patch from Mark Hammond: 22721 implement launcher for tcpserver, so that remotetcp tests can run 22722 on windows. 22723 22724Fri Mar 30 15:42:49 BST 2007 Richard Boulton <richard@lemurconsulting.com> 22725 22726 * common/safewindows.h: Include xapian/error.h so 22727 WinsockInitialiser can throw an exception. 22728 22729Fri Mar 30 14:59:40 BST 2007 Richard Boulton <richard@lemurconsulting.com> 22730 22731 * More code from Mark Hammond's patch 22732 * common/remoteconnection.h: Add explicit destructor and (for 22733 windows compiles) a declare a helper method to calculate the 22734 number of milliseconds until a timeout. 22735 * net/remoteconnection.cc: Implement windows versions for functions 22736 which need it: constructor and destructor now do create and close 22737 the overlapped IO stuff, read_at_least() and send_message() have 22738 windows specific implementations. 22739 22740Fri Mar 30 13:05:27 BST 2007 Richard Boulton <richard@lemurconsulting.com> 22741 22742 * More code adapted from Mark Hammond's patch 22743 * common/safewindows.h: When remote databases are compiled in, 22744 include the winsock stuff, and define some useful bits and pieces 22745 for using it. 22746 * common/remoteconnection.h: Add a member to RemoteConnection on 22747 windows to hold an overlapped IO structure. 22748 * net/progclient.cc: Don't include winsock stuff directly (it's now 22749 brought in by "safewindows.h"), and don't include <sys/wait.h> on 22750 windows. 22751 * net/remoteserver.cc: Ignore more SIGPIPE stuff on windows. 22752 22753Fri Mar 30 12:37:15 BST 2007 Richard Boulton <richard@lemurconsulting.com> 22754 22755 * Patch from Mark Hammond 22756 * backends/dbfactory_remote.cc: Ignore code to handle SIGPIPE on 22757 windows, where it doesn't exist. 22758 * backends/remote/remote-database.cc: Raise UnimplementedError on 22759 windows if a progclient backend is requested. 22760 22761Fri Mar 30 12:11:50 BST 2007 Richard Boulton <richard@lemurconsulting.com> 22762 22763 * tests/harness/testsuite.cc: Fix srcdir guessing on windows - 22764 search for windows style directory separators, and remove .exe 22765 suffix from executable name. Adapted from Mark Hammond's patch. 22766 22767Thu Mar 29 18:32:18 BST 2007 Richard Boulton <richard@lemurconsulting.com> 22768 22769 * Changes related to Mark Hammond's patch: 22770 * common/safeerrno.h: Define a new inline function "socket_errno()" 22771 which returns an error number relating to the last error caused 22772 by a socket function on platforms which make such a distinction, 22773 and the value of errno on other platforms. 22774 * net/tcpclient.cc,net/tcpserver.cc: Use the socket_errno() 22775 function instead of checking the value of errno. Also, check for 22776 WSAEWOULDBLOCK instead of EINPROGRESS on windows. 22777 22778Thu Mar 29 15:36:45 BST 2007 Richard Boulton <richard@lemurconsulting.com> 22779 22780 * bin/xapian-tcpsrv.cc,tests/harness/testsuite.cc: First of many 22781 parts of a large patch from Mark Hammond working towards enabling 22782 remote databases on windows. When displaying errors which might 22783 be socket errors, display the error number as well as the output 22784 of strerror - on windows, strerror doesn't display useful 22785 information for socket errors. 22786 * AUTHORS: Add Mark Hammond 22787 22788Thu Mar 29 06:07:35 BST 2007 Olly Betts <olly@survex.com> 22789 22790 * api/omqueryinternal.cc: Unserialisation shouldn't reject a 22791 serialised query which ends after a termname. 22792 * tests/internaltest.cc: Add regression test. 22793 22794Wed Mar 28 17:17:42 BST 2007 Olly Betts <olly@survex.com> 22795 22796 * tests/queryparsertest.cc: Add feature tests for "prefer_mdy" and 22797 "epoch" arguments of DateValueRangeProcessor. 22798 22799Wed Mar 28 04:52:34 BST 2007 Olly Betts <olly@survex.com> 22800 22801 * tests/queryparsertest.cc: Add more test cases for parsing of value 22802 ranges. 22803 22804Wed Mar 28 04:18:14 BST 2007 Olly Betts <olly@survex.com> 22805 22806 * languages/compiler/generator.c,languages/compiler/header.h, 22807 languages/steminternal.cc,languages/steminternal.h: For among with 22808 functions (only used by finnish and lovins stemmers currently), 22809 change to generating an array of unsigned byte offsets into an array 22810 of function pointers rather than just an array of function pointers 22811 - this generally requires a lot less space. 22812 22813Wed Mar 28 03:28:37 BST 2007 Olly Betts <olly@survex.com> 22814 22815 * queryparser/queryparser.lemony: Fix parsing of `hello a..b'. 22816 * tests/queryparsertest.cc: Add regression test for above. Refactor 22817 qp_value_range1 to use a table of queries. 22818 22819Wed Mar 28 00:35:50 BST 2007 Olly Betts <olly@survex.com> 22820 22821 * languages: Update svn:ignore for recent romanian changes. 22822 22823Wed Mar 28 00:08:11 BST 2007 Olly Betts <olly@survex.com> 22824 22825 * api/valuerangeproc.cc: Need #include <stdio.h> for snprintf or 22826 sprintf. 22827 22828Tue Mar 27 23:53:18 BST 2007 Olly Betts <olly@survex.com> 22829 22830 * queryparser/queryparser.lemony: Fix infinite loop in value range 22831 processing. Fix value range to work as a filter when used with a 22832 probabilistic query. 22833 * tests/queryparsertest.cc: Add regression tests for the above two 22834 issues. Refactor qp_value_range2 to use a table of queries. 22835 22836Tue Mar 27 22:09:57 BST 2007 Olly Betts <olly@survex.com> 22837 22838 * api/valuerangeproc.cc: Assume that the start date is before the 22839 end date to help decide ambiguous cases. 22840 22841Tue Mar 27 21:49:15 BST 2007 Olly Betts <olly@survex.com> 22842 22843 * api/valuerangeproc.cc: Refactor to simplify and reduce duplication. 22844 22845Tue Mar 27 21:41:38 BST 2007 Olly Betts <olly@survex.com> 22846 22847 * configure.ac: datarootdir is new in 2.60 too, so use datadir when 22848 setting docdir for 2.59. 22849 22850Tue Mar 27 18:39:11 BST 2007 Olly Betts <olly@survex.com> 22851 22852 * api/Makefile.mk,api/valuerangeproc.cc,include/xapian/queryparser.h: 22853 Move NumberValueRangeProcessor::operator()() out of the header as 22854 it's too complex for sane inlining. Implement handling of dmy and 22855 mdy dates and epochs for 2 digit years. 22856 * tests/queryparsertest.cc: Add tests. 22857 22858Tue Mar 27 11:57:53 BST 2007 Richard Boulton <richard@lemurconsulting.com> 22859 22860 * languages/romanian.sbl: Add Martin Porter's new romanian stemming 22861 algorithm. 22862 * languages/romanian1.sbl,langauges/romanian2.sbl: Remove old 22863 romanian stemming algorithms. 22864 * languages/Makefile.mk: Replace romanian1 and romanian2 by 22865 romanian. 22866 * languages/stem.cc: Use romanian stemmer when asked for "ro" or 22867 "romanian". No longer give a stemmer for "romanian1" or 22868 "romanian2". 22869 22870Tue Mar 27 04:50:36 BST 2007 Olly Betts <olly@survex.com> 22871 22872 * languages/german2.sbl: Copy over "hop 3" in utf-8 case from 22873 snowball's latest version. 22874 22875Tue Mar 27 04:44:52 BST 2007 Olly Betts <olly@survex.com> 22876 22877 * tests/stemtest.cc: Remove lower casing of dictionary words before 22878 stemming - instead we'll make sure the dictionary is already the 22879 right case. 22880 22881Tue Mar 27 04:28:10 BST 2007 Olly Betts <olly@survex.com> 22882 22883 * languages/compiler/analyser.c,languages/compiler/generator.c, 22884 languages/compiler/header.h,languages/steminternal.cc, 22885 languages/steminternal.h: Add handling of among with functions. 22886 We use a "shim" functions for each method we want to call in 22887 this way. The shim function is passed the "this" pointer and 22888 calls a particular method on this. Split the functions into 22889 an optional separate array, since they're not used by most of 22890 the stemming algorithms. 22891 * languages/Makefile.mk,languages/stem.cc: Enable the finnish 22892 and lovins stemmers. 22893 22894Tue Mar 27 04:24:37 BST 2007 Olly Betts <olly@survex.com> 22895 22896 * languages/steminternal.cc: Fix typo bug in slice_to - if we needed 22897 to increase the capacity of a snowball string variable, we trashed 22898 the variable with p (bug discovered while trying to enable the 22899 finnish stemmer). 22900 22901Tue Mar 27 02:55:51 BST 2007 Olly Betts <olly@survex.com> 22902 22903 * include/xapian/queryparser.h: Implement handling of ISO format dates 22904 in DateValueRangeProcessor. 22905 * tests/queryparsertest.cc: Add feature tests. 22906 22907Tue Mar 27 01:47:36 BST 2007 Olly Betts <olly@survex.com> 22908 22909 * include/xapian/queryparser.h: Implement prefix and suffix handling 22910 for NumberValueRangeProcessor. 22911 * tests/queryparsertest.cc: Add feature tests. 22912 22913Mon Mar 26 22:26:48 BST 2007 Olly Betts <olly@survex.com> 22914 22915 * queryparser/utf8itor.h: Add is_currency() predicate function. 22916 * queryparser/queryparser.lemony: Rejig parsing of RANGE_START to 22917 allow all characters which are likely to be required. 22918 * tests/queryparsertest.cc: Test RANGE_START can contain "/". 22919 * queryparser/queryparser.lemony: Set "syntax=yacc" for vim, which 22920 give fairly decent syntax highlighting. 22921 22922Mon Mar 26 15:43:50 BST 2007 Olly Betts <olly@survex.com> 22923 22924 * configure.ac: Use m4 comments not shell (dnl not #). 22925 22926Mon Mar 26 15:41:41 BST 2007 Olly Betts <olly@survex.com> 22927 22928 * configure.ac: Add code to ensure that docdir is set for autoconf 22929 2.59 (starting from 2.60, it is defined as standard). 22930 * docs/Makefile.am: Use docdir for installing docs. 22931 22932Sun Mar 25 15:41:16 BST 2007 Olly Betts <olly@survex.com> 22933 22934 * bin/xapian-compact.cc: Prune unused docids off the start of each 22935 source database's range of docid. 22936 22937Sat Mar 24 23:07:42 GMT 2007 Olly Betts <olly@survex.com> 22938 22939 * include/xapian/base.h: Add a note explaining why it's OK that 22940 RefCntBase doesn't have a virtual destructor. 22941 22942Sat Mar 24 01:30:17 GMT 2007 Olly Betts <olly@survex.com> 22943 22944 * HACKING,configure.ac: Bump the automake required version to 1.9.5. 22945 It was in Debian sarge, so any modern Linux distro should include 22946 packages, and we've actually been bootstrapping with 1.9.6 for ages. 22947 22948Thu Mar 22 00:53:35 GMT 2007 Olly Betts <olly@survex.com> 22949 22950 * configure.ac: Disable probes for f77 more completely by preventing 22951 the probe code from even appearing in configure. Similarly 22952 eliminate the code for gcj and rc probes - in total these changes 22953 reduce the size of configure by 209KB (~25%). 22954 22955Fri Mar 09 14:28:01 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 22956 22957 * Makefile.am: Add include/xapian/error.h to list of headers to 22958 install. 22959 22960Thu Mar 08 17:16:08 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 22961 22962 * generate-exceptions.in,exception_data.pm: Split definitions of 22963 the exception hierarchy into a separate file, so it can be reused 22964 elsewhere. 22965 * Makefile.am: Add exception_data.pm as a dependency for generating 22966 error.h, and add it to EXTRA_DIST. 22967 22968Fri Mar 09 06:42:40 GMT 2007 Olly Betts <olly@survex.com> 22969 22970 * backends/flint/flint_cursor.cc,backends/flint/flint_cursor.h: We 22971 always ignore the return value from FlintCursor::get_key() because 22972 we only call it when it shouldn't fail, so restructure the code so 22973 it can't fail and change the return value to void. 22974 22975Fri Mar 09 06:33:09 GMT 2007 Olly Betts <olly@survex.com> 22976 22977 * configure.ac: Suppress another aCC warning. 22978 22979Thu Mar 08 20:39:46 GMT 2007 Olly Betts <olly@survex.com> 22980 22981 * queryparser/queryparser.lemony,tests/queryparsertest.cc: Allow 22982 arbitrary characters in a range end (anything except whitespace 22983 and ')'). 22984 22985Thu Mar 08 19:46:46 GMT 2007 Olly Betts <olly@survex.com> 22986 22987 * Makefile.am,languages/Makefile.mk: Depend on the autoconf 22988 substituted version of a script, not the template version. The 22989 only thing we substitute is @PERL@, but configure won't update 22990 a substituted file which hasn't changed so it's better to put 22991 the dependency on the script itself where it belongs. 22992 22993Thu Mar 08 17:09:21 GMT 2007 Olly Betts <olly@survex.com> 22994 22995 * queryparser/queryparser.lemony,tests/queryparsertest.cc: Keep any 22996 non-whitespace, non-term prefix for a term in case it turns out 22997 to be the start of a range, so "$50..100" works. 22998 22999Thu Mar 08 16:21:14 GMT 2007 Olly Betts <olly@survex.com> 23000 23001 * HACKING: Add my "create docs/GNUmakefile" trick to avoid doxygen 23002 delays. 23003 23004Thu Mar 08 16:13:39 GMT 2007 Olly Betts <olly@survex.com> 23005 23006 * HACKING: A few more coding guidelines. 23007 23008Thu Mar 08 14:26:21 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 23009 23010 * HACKING: Adjust wording to indicate that the build system is 23011 indended not to break after SVN updates. 23012 23013Thu Mar 08 07:34:22 GMT 2007 Olly Betts <olly@survex.com> 23014 23015 * include/xapian/queryparser.h,tests/queryparsertest.cc: Add simple 23016 implementations of DateValueRangeProcessor and 23017 NumberValueRangeProcessor and add qp_value_range2 to check that 23018 chaining ValueRangeProcessor subclasses works as intended. 23019 23020Thu Mar 08 06:06:15 GMT 2007 Olly Betts <olly@survex.com> 23021 23022 * docs/overview.html: Fix links to error classes in generated API 23023 documentation. 23024 23025Thu Mar 08 05:37:13 GMT 2007 Olly Betts <olly@survex.com> 23026 23027 * include/xapian/queryparser.h,queryparser/queryparser.cc, 23028 queryparser/queryparser.lemony,queryparser/queryparser_internal.h, 23029 tests/queryparsertest.cc: Add the ability to parse "value ranges" 23030 to the QueryParser (e.g. "10..50") which translate into a Query 23031 with operator OP_VALUE_RANGE. 23032 23033Thu Mar 08 04:27:54 GMT 2007 Olly Betts <olly@survex.com> 23034 23035 * include/xapian/queryparser.h,queryparser/queryparser.cc: Remove 23036 QueryParser::set_stemming_options() which has been deprecated 23037 since 0.9.0. 23038 23039Thu Mar 08 03:37:07 GMT 2007 Olly Betts <olly@survex.com> 23040 23041 * backends/flint/flint_lock.cc: Handle write failing to send a single 23042 byte down down the pipe to tell the parent we've got the lock (a 23043 potential bug noticed by _FORTIFY_SOURCE!) Handle read() failing 23044 with an unexpected error on the parent side by failing the lock 23045 attempt rather than risking an infinite loop. 23046 23047Thu Mar 08 02:52:26 GMT 2007 Olly Betts <olly@survex.com> 23048 23049 * include/xapian/types.h: Rewritten, with more accurate documentation 23050 comments. Add constant Xapian::BAD_VALUENO which is -1 cast to 23051 Xapian::valueno. 23052 * api/omenquire.cc,include/xapian/enquire.h,matcher/multimatch.cc: Use 23053 Xapian::BAD_VALUENO instead of Xapian::valueno(-1). 23054 23055Thu Mar 08 01:47:08 GMT 2007 Olly Betts <olly@survex.com> 23056 23057 * docs/Makefile.am: Try putting apidoc/html in EXTRA_DIST instead of 23058 using dist-hook. 23059 23060Wed Mar 07 23:16:52 GMT 2007 Olly Betts <olly@survex.com> 23061 23062 * docs/Makefile.am: Stop shipping docs/apidoc/latex/* in the 23063 xapian-core tarballs since it's just useless bloat. Removing it 23064 more than halves the size of the tarball (55% reduction!) 23065 23066Wed Mar 07 22:07:31 GMT 2007 Olly Betts <olly@survex.com> 23067 23068 * tests/runtest.in: If we aren't using valgrind, turn on 23069 MALLOC_CHECK_ and MALLOC_PERTURB_ for glibc. 23070 23071Wed Mar 07 20:02:31 GMT 2007 Olly Betts <olly@survex.com> 23072 23073 * INSTALL: CVS -> SVN. 23074 23075Wed Mar 07 20:00:37 GMT 2007 Olly Betts <olly@survex.com> 23076 23077 * configure.ac: Define _FORTIFY_SOURCE in config.h if GCC is in use 23078 and it's not already set. That way the user can easily override. 23079 * INSTALL: Document this. 23080 23081Wed Mar 07 19:53:15 GMT 2007 Olly Betts <olly@survex.com> 23082 23083 * INSTALL: Remove reference to muscat36 backend. 23084 23085Wed Mar 07 17:37:07 GMT 2007 Olly Betts <olly@survex.com> 23086 23087 * configure.ac: Note GCC and glibc versions needed for _FORTIFY_SOURCE 23088 support. 23089 23090Wed Mar 07 16:29:02 GMT 2007 Olly Betts <olly@survex.com> 23091 23092 * queryparser/lemon.c: Increase the length allowed for the filename 23093 in an error message, as it was being truncated which makes for a 23094 confusing error message and stops editors jumping to the line with 23095 the error in. 23096 23097Wed Mar 07 15:57:15 GMT 2007 Olly Betts <olly@survex.com> 23098 23099 * common/Makefile.mk: Ship common/msvc_posix_wrapper.h and 23100 common/msvc_posix_wrapper.cc. 23101 23102Wed Mar 07 10:01:31 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 23103 23104 * configure.ac: Add -D_FORTIFY_SOURCE to AM_CXXFLAGS for GCC 23105 builds. According to glibc CVS support for this was added in 23106 October 2004, but it doesn't seem to be documented very well, 23107 other than in features.h. This adds some extra checking for 23108 array bounds, partially at compile time, but doesn't currently 23109 find any problems (or cause any noticeable slowdown). 23110 23111Wed Mar 07 04:49:01 GMT 2007 Olly Betts <olly@survex.com> 23112 23113 * api/omqueryinternal.cc: Include str_parameter in swap() and the copy 23114 constructor. 23115 * tests/api_anydb.cc: get_mset(0, 20) not get_mset(1, 20)! Also check 23116 that we didn't miss any documents which should match the filter, not 23117 just that we didn't get any documents which shouldn't. 23118 23119Wed Mar 07 03:07:49 GMT 2007 Olly Betts <olly@survex.com> 23120 23121 * tests/harness/unixcmds.h: Fixed reverse sense include guard test. 23122 * tests/api_db.cc: Still need #include "utils.h". 23123 * tests/harness/backendmanager.cc: Update for rmdir.h -> unixcmds.h 23124 and rmdir() -> rm_rf(). 23125 23126Wed Mar 07 02:22:30 GMT 2007 Olly Betts <olly@survex.com> 23127 23128 * backends/quartz/btree.cc,backends/quartz/quartz_database.cc, 23129 backends/quartz/quartz_log.cc,common/utils.h,net/remoteconnection.cc, 23130 net/tcpclient.cc,tests/api_db.cc,tests/btreetest.cc,tests/harness/, 23131 tests/quartztest.cc: Rename rmdir() to rm_rf() since it does the 23132 same as "rm -rf" not "rmdir". The "touch()" function is only used 23133 in the testsuite so move it from common/utils.h into 23134 tests/harness/rmdir.cc and rename rmdir.cc to unixcmds.cc. 23135 common/utils.h no longer include safefcntl.h, so add explicit 23136 includes to the files which were previous relying on utils.h pulling 23137 it in. 23138 23139Wed Mar 07 02:21:18 GMT 2007 Olly Betts <olly@survex.com> 23140 23141 * xapian.spec.in: Include ChangeLog.examples. 23142 23143Wed Mar 07 02:17:59 GMT 2007 Olly Betts <olly@survex.com> 23144 23145 * docs/index.html,docs/internals.html: Create a separate index page 23146 for the "internal" documentation. 23147 23148Tue Mar 06 23:47:58 GMT 2007 Olly Betts <olly@survex.com> 23149 23150 * common/utils.cc,common/utils.h: Remove map_string_to_value() which 23151 is no longer used. 23152 * common/utils.h: Remove prototype for rmdir() which I failed to 23153 remove with the earlier commit. 23154 23155Tue Mar 06 22:51:51 GMT 2007 Olly Betts <olly@survex.com> 23156 23157 * tests/harness/rmdir.cc: Fix rmdir() on Unix to not be O(n^2) in the 23158 worst case. 23159 23160Tue Mar 06 22:46:30 GMT 2007 Olly Betts <olly@survex.com> 23161 23162 * docs/Makefile.am: Use the "inline test || echo" idiom to merge the 23163 VPATH and non-VPATH cases for distributing and installing the HTML 23164 apidocs. 23165 23166Tue Mar 06 22:13:03 GMT 2007 Olly Betts <olly@survex.com> 23167 23168 * api/omqueryinternal.cc: Fix Query::get_description() on an 23169 OP_VALUE_RANGE query. 23170 23171Tue Mar 06 09:03:33 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 23172 23173 * HACKING: Note on running preautoreconf and autoreconf to keep SVN 23174 builds working. 23175 * PLATFORMS: Update with success reports for windows builds. 23176 23177Tue Mar 06 01:57:23 GMT 2007 Olly Betts <olly@survex.com> 23178 23179 * tests/internaltest.cc: Comment out the "unsigned long long" testcase 23180 in tostring1 since the library doesn't currently have (or need) the 23181 utility function for that case. 23182 23183Tue Mar 06 01:49:55 GMT 2007 Olly Betts <olly@survex.com> 23184 23185 * common/utils.cc,tests/btreetest.cc,tests/harness/, 23186 tests/quartztest.cc: rmdir() is only used in the test suite, and not 23187 in the library code, so move it into the testsuite. Also, bow out 23188 early if the pathname passed is empty, and on Unix protect against 23189 filenames which start with "-". 23190 23191Mon Mar 05 02:52:49 GMT 2007 Olly Betts <olly@survex.com> 23192 23193 * configure.ac: Suppress more unhelpful aCC warnings. 23194 23195Mon Mar 05 02:15:29 GMT 2007 Olly Betts <olly@survex.com> 23196 23197 * tests/internaltest.cc: Add testcase autoptr1 which tests that an 23198 autoptr correctly handles self-assignment. 23199 23200Mon Mar 05 02:05:53 GMT 2007 Olly Betts <olly@survex.com> 23201 23202 * tests/internaltest.cc: Rename "omtostring1" to "tostring1" (we don't 23203 want to perpetuate references to "om"!) Add more test cases to this 23204 test. 23205 23206Mon Mar 05 01:18:17 GMT 2007 Olly Betts <olly@survex.com> 23207 23208 * configure.ac: Update in line with 0.9.10. 23209 23210Sun Mar 04 23:58:29 GMT 2007 Olly Betts <olly@survex.com> 23211 23212 * AUTHORS: Add reporters of bugs fixed in 0.9.10 to the "thanks" list. 23213 23214Sun Mar 04 00:44:17 GMT 2007 Olly Betts <olly@survex.com> 23215 23216 * api/errorhandler.cc,include/xapian/errorhandler.h: Move virtual 23217 dtor for ErrorHandler out of the header. Same reasons as previous 23218 commit. 23219 23220Sun Mar 04 00:40:44 GMT 2007 Olly Betts <olly@survex.com> 23221 23222 * api/omenquire.cc,include/xapian/enquire.h,matcher/Makefile.mk, 23223 matcher/weight.cc: Move virtual method definitions out of headers 23224 for MatchDecider, ExpandDecider, Weight, BoolWeight. This fixes 23225 warnings from aCC, and it's rare that the compiler would be able 23226 to inline a virtual method anyway. 23227 23228Sat Mar 03 21:40:43 GMT 2007 Olly Betts <olly@survex.com> 23229 23230 * configure.ac: For HP's aCC, we no longer need to suppress warning 23231 #336 (empty translation unit) since dummy.cc is history. But we 23232 do want to suppress a couple of frequently reported "remarks" which 23233 are unavoidable and don't indicate a problem. Experimentally, add 23234 "+wlint" for "link-like" warnings. 23235 23236Sat Mar 03 21:38:52 GMT 2007 Olly Betts <olly@survex.com> 23237 23238 * include/xapian.h,include/xapian/version_h.cc: Move function 23239 prototypes into a non-generated header. 23240 * configure.ac,msvc/version.h.in: Generate version.h suitable for use 23241 with MSVC. 23242 * Makefile.am: Distribute msvc/version.h. 23243 23244Sat Mar 03 19:49:11 GMT 2007 Olly Betts <olly@survex.com> 23245 23246 * tests/harness/backendmanager.cc: Rework how we start and handle 23247 xapian-tcpsrv - it's now started by exec from a child process. 23248 This means that the mechanism to try higher port numbers works 23249 reliably, and we no longer leak file descriptors (which was causing 23250 tests to fail on some platforms). 23251 23252Sat Mar 03 19:46:03 GMT 2007 Olly Betts <olly@survex.com> 23253 23254 * bin/xapian-tcpsrv.cc: Put "e.get_errno()" in a variable for clearer 23255 code. 23256 23257Sat Mar 03 16:01:17 GMT 2007 Olly Betts <olly@survex.com> 23258 23259 * common/msvc_posix_wrapper.cc: Change `#include <fcntl.h>' to 23260 `#include "safefcntl.h"' (currently makes no difference on 23261 Windows, but it's more consistent to always use the safeXXX 23262 headers). 23263 * common/msvc_posix_wrapper.cc: Merge two ECHILD cases. 23264 * common/msvc_posix_wrapper.cc: Make sure dwCreationDisposition 23265 is initialised even if flags has a bogus value. 23266 * common/msvc_posix_wrapper.cc: Be consistent and always use O_CREAT, 23267 etc, instead of sometimes using the MS alternative forms _O_CREAT, 23268 etc. 23269 23270Sat Mar 03 03:25:05 GMT 2007 Olly Betts <olly@survex.com> 23271 23272 * generate-exceptions.in: The GCC visibility docs aren't clear whether 23273 you need to make *thrown* exception types visible, or also *caught* 23274 exception types. But I've just been having odd problems catching 23275 Xapian::DocNotFoundError with "const Xapian::Error &", so let's mark 23276 the exception virtual baseclass Xapian::Error as visible too. 23277 23278Fri Mar 02 22:34:04 GMT 2007 Olly Betts <olly@survex.com> 23279 23280 * languages/Makefile.mk,languages/generate-allsnowballheaders.in: 23281 Convert unreadable make rule for generating allsnowballheaders.h 23282 to a perl script. 23283 * configure.ac: Substitute languages/allsnowballheaders. 23284 23285Fri Mar 02 14:31:11 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 23286 23287 * tests/internaltest.cc: Add a test for om_tostring(), mainly 23288 aimed at 64 bit types on windows platforms. Mingw builds report 23289 a warning in this code, which merits further investigation - see 23290 Bug #112 for details. 23291 23292Fri Mar 02 14:15:44 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 23293 23294 * common/msvc_posix_wrapper.cc: Improve accuracy of emulation of 23295 posix open, and fix a bug which caused it to misinterpret the 23296 "flags" argument - files were always being opened for writing: 23297 O_RDONLY is 0, so the old test (flags & O_RDONLY) always 23298 failed. 23299 23300Fri Mar 02 12:44:33 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 23301 23302 * common/msvc_posix_wrapper.cc: Fix whitespace issues. 23303 23304Fri Mar 02 12:18:42 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 23305 23306 * HACKING: Add note about how to generate ChangeLog timestamps 23307 using the unix date command - and I've started generating them in 23308 the same format as Olly is. (I hope.) 23309 23310Fri Mar 2 11:49:11 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 23311 23312 * common/msvc_posix_wrapper.h,common/safeerrno.h, 23313 common/msvc_posix_wrapper.cc,backends/quartz/btree.cc, 23314 backends/flint/flint_table.cc,backends/flint/flint_btreebase.cc: 23315 Move MSVC specific code for opening files into 23316 msvc_posix_wrapper.cc, and just leave a few conditional includes 23317 and function calls elsewhere. 23318 23319Thu Mar 01 22:51:42 GMT 2007 Olly Betts <olly@survex.com> 23320 23321 * queryparser/queryparser.lemony: Add casts to U_isupper(), etc to 23322 suppress warnings from aCC. 23323 * queryparser/queryparser.lemony: Use U_isdigit() instead of 23324 C_isdigit(), etc - the truncation to a char can cause false 23325 positives. 23326 * tests/queryparsertest.cc: Add a (rather contrived) regression test 23327 for the above change. 23328 23329Thu Mar 01 21:49:37 GMT 2007 Olly Betts <olly@survex.com> 23330 23331 * queryparser/utf8itor.h: Add cast to suppress warning from aCC. 23332 23333Thu Mar 1 15:27:09 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 23334 23335 * common/utils.c,common/utils.h: For windows, add an om_tostring() 23336 function for 64 bit integers: time() and GetProcessId() return 23337 these, and without this, backends/quartz/quartz_log.cc reports 23338 an error. 23339 23340Thu Mar 1 13:48:46 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 23341 23342 * queryparser/queryparser.lemony: Fix handling of hated wildcards 23343 which don't expand to any terms. 23344 23345Thu Mar 1 13:45:04 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 23346 23347 * tests/queryparsertest.cc: Fix last two test cases for hated 23348 wildcards to check for exactly what should be returned. 23349 23350Thu Mar 1 12:02:04 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 23351 23352 * common/safeerrno.h: Some of Microsoft's C++ compiler versions 23353 earlier than 2005 do not have _set_errno, so #define it in this 23354 case. 23355 23356Thu Mar 01 04:28:23 GMT 2007 Olly Betts <olly@survex.com> 23357 23358 * backends/quartz/btree.h: Correct comment ("read" -> "write"). 23359 23360Thu Mar 01 04:21:52 GMT 2007 Olly Betts <olly@survex.com> 23361 23362 * backends/flint/flint_table.h: Correct comment ("read" -> "write"). 23363 23364Thu Mar 01 01:30:02 GMT 2007 Olly Betts <olly@survex.com> 23365 23366 * tests/queryparsertest.cc: Add some test cases for hated wildcards 23367 which don't expand to any terms. 23368 23369Thu Mar 01 01:21:42 GMT 2007 Olly Betts <olly@survex.com> 23370 23371 * api/omqueryinternal.cc: Complete truncated comment. Prefer 23372 preincrement to postincrement. 23373 23374Wed Feb 28 20:13:35 GMT 2007 Olly Betts <olly@survex.com> 23375 23376 * api/omdocument.cc: Really tweak OmDocumentTerm::add_position() so 23377 that adding position 0 to an empty termlist takes the shortcut. 23378 23379Wed Feb 28 15:04:25 GMT 2007 Olly Betts <olly@survex.com> 23380 23381 * common/safeerrno.h: Correct <safeerrno.h> to "safeerrno.h" in 23382 message in #error directive. 23383 23384Wed Feb 28 14:59:29 GMT 2007 Olly Betts <olly@survex.com> 23385 23386 * include/xapian/query.h: Removed documentation comment for 23387 Xapian::Query::Internal which is no longer relevant (Query objects 23388 are now immutable once constructed, so parameters can no longer be 23389 set separately). 23390 23391Wed Feb 28 02:42:31 GMT 2007 Olly Betts <olly@survex.com> 23392 23393 * api/omqueryinternal.cc: Add support for serialising OP_VALUE_RANGE 23394 queries. Add support for OP_VALUE_RANGE queries to 23395 Query::get_description(). If an OP_VALUE_RANGE query has a start 23396 bound strictly greater than its end bound, simplify it by knowing 23397 that it can't match anything. 23398 * common/remoteprotocol.h,docs/remote_protocol.html: Bump remote 23399 protocol version to 24. 23400 23401Wed Feb 28 01:15:00 GMT 2007 Olly Betts <olly@survex.com> 23402 23403 * api/omquery.cc,api/omqueryinternal.cc,include/xapian/query.h, 23404 matcher/: Add new Query operator OP_VALUE_RANGE which allows 23405 a query to be filtered by checking if a value lies between 23406 two limits. 23407 * tests/api_anydb.cc: Add feature test valuerange1. 23408 23409Wed Feb 28 01:07:53 GMT 2007 Olly Betts <olly@survex.com> 23410 23411 * tests/harness/testsuite.cc: Only hook the testsuite into valgrind if 23412 env var XAPIAN_TESTSUITE_VALGRIND is set, to make it simple to run a 23413 test program under valgrind normally. 23414 * tests/runtest.in: Set XAPIAN_TESTSUITE_VALGRIND if automatically 23415 running a test program under valgrind. 23416 23417Tue Feb 27 23:51:34 GMT 2007 Olly Betts <olly@survex.com> 23418 23419 * tests/Makefile.am: Turn subdir-objects back on here so that the 23420 harness objects end up in the harness subdirectory. 23421 23422Tue Feb 27 22:45:04 GMT 2007 Olly Betts <olly@survex.com> 23423 23424 * examples/delve.cc: Rename "-k" to "-V" since "keys" were renamed to 23425 "values" long ago. Keep "-k" as an alias for now, but don't 23426 advertise it. Add handling so "-V3" shows value #3 for every 23427 document in the database. 23428 23429Tue Feb 27 21:35:35 GMT 2007 Olly Betts <olly@survex.com> 23430 23431 * tests/Makefile.am,tests/remotetest.cc: Get rid of remotetest since 23432 it no longer does anything. 23433 23434Tue Feb 27 21:28:28 GMT 2007 Olly Betts <olly@survex.com> 23435 23436 * tests/api_db.cc,tests/remotetest.cc: Move netstats1 from remotetest 23437 to apitest. It will now run for "remotetcp" as well as "remote". 23438 23439Tue Feb 27 21:27:17 GMT 2007 Olly Betts <olly@survex.com> 23440 23441 * tests/harness/backendmanager.cc,tests/harness/backendmanager.h: 23442 Inline trivial getter and setter methods in the header. Make 23443 getter method const. 23444 23445Tue Feb 27 20:22:58 GMT 2007 Olly Betts <olly@survex.com> 23446 23447 * examples/delve.cc: Change to not stem terms by default. Add 23448 "-s/--stemmer" option to allow a stemmer to be specified. 23449 23450Tue Feb 27 17:50:13 GMT 2007 Olly Betts <olly@survex.com> 23451 23452 * backends/flint/flint_table.cc: Test revision_supplied rather than 23453 revision_ so that behaviour matches comments. 23454 23455Tue Feb 27 16:58:56 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 23456 23457 * tests/api_wrdb.cc: Enhance crashrecovery1 to check that the 23458 readers reference a database with the expected number of 23459 documents. This checks that the base files which were removed 23460 were the correct ones to leave the current database valid. 23461 23462Tue Feb 27 16:54:31 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 23463 23464 * backends/quartz/btree.cc,backends/quartz/btree.h, 23465 backends/quartz/quartz_database.cc: Apply fix for opening 23466 databases while under heavy modification to quartz, using Olly's 23467 attachment to bug #108: 23468 http://www.xapian.org/cgi-bin/bugzilla/attachment.cgi?id=43 23469 Verified with loadtest that this resolves the issue. 23470 23471Tue Feb 27 13:12:31 GMT 2007 Olly Betts <olly@survex.com> 23472 23473 * tests/harness/backendmanager.h: Add get_dbtype() method to allow the 23474 current backend type to be read. 23475 * tests/apitest.cc,tests/apitest.h: Add get_dbtype() function to allow 23476 BackendManager::get_dbtype() to be called by tests. 23477 * tests/api_wrdb.cc: Add new test crashrecovery1 to verify that the 23478 backend can recover from the latest revision missing some of the 23479 base files. 23480 23481Tue Feb 27 12:45:00 GMT 2007 Olly Betts <olly@survex.com> 23482 23483 * tests/harness/backendmanager.cc: Fix how we start xapian-progsrv 23484 when running under valgrind. 23485 23486Tue Feb 27 11:34:22 GMT 2007 Olly Betts <olly@survex.com> 23487 23488 * backends/flint/flint_database.cc: Remove the old throw for 23489 DatabaseOpeningError so the new throw for DatabaseModifiedError will 23490 actually be used. 23491 23492Tue Feb 27 09:22:52 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 23493 23494 * flint_table.cc,flint_table.h,flint_database.cc: If a database is 23495 being frequently modified (ie, transactions committed extremely 23496 frequently), flint can fail open all the tables at a consistent 23497 revision on the first attempt. The code to handle this in 23498 flint_database.cc was not firing because flint_table.cc was 23499 reporting all failures to open a table for reading by throwing an 23500 exception. This commit changes flint_table.cc to report failure 23501 to open at a specific revision by returning false. 23502 23503 In addition, there was a bug in flint_database.cc which caused 23504 the attempts to re-try opening a database in this situation to 23505 fail. This is now fixed. 23506 23507 Finally, flint_database.cc now throws a DatabaseModified error if 23508 100 attempts to reopen the database fail because of continual 23509 modifications - previously, it would have thrown a 23510 DatabaseOpening error. 23511 23512 There is no easy regression test - but my "loadtest.cc" program 23513 attached to bug #108 shows the problem (if you comment out the 23514 code which ignores DatabaseOpeningErrors). 23515 23516Tue Feb 27 01:25:00 GMT 2007 Olly Betts <olly@survex.com> 23517 23518 * docs/doxygen_api_conf.in,docs/doxygen_full_conf.in: Need to 23519 define DOXYGEN so that the previous change to the generated 23520 errordispatch.h works. Remove obsolete macros from 23521 EXPAND_AS_DEFINED and PREDEFINED. 23522 * docs/doxygen_full_conf.in: Increase MAX_DOT_GRAPH_WIDTH from 23523 800 to 1024 to match doxygen_api_conf.in. 23524 23525Tue Feb 27 00:41:47 GMT 2007 Olly Betts <olly@survex.com> 23526 23527 * matcher/multimatch.cc: Fix warning with SGI's CC. 23528 23529Tue Feb 27 00:35:06 GMT 2007 Olly Betts <olly@survex.com> 23530 23531 * generate-exceptions.in: Wrap errordispatch.h in "#ifndef DOXYGEN" 23532 and "#endif" because doxygen gets confused by a header full of 23533 code. 23534 23535Mon Feb 26 21:53:41 GMT 2007 Olly Betts <olly@survex.com> 23536 23537 * tests/findheaders.pl: Remove long unused perl script. 23538 23539Mon Feb 26 19:23:50 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 23540 23541 * tests/api_wrdb.c: test_emptyterm2 used to delete a writable 23542 database whilst the database was open. Unfortunately, this 23543 doesn't work on windows (and it doesn't seem to be easy to make 23544 it work), so this patch changes the test to close each database 23545 before opening the next writable database at the same path. 23546 Fortunately, this seems to be the only test which behaves like 23547 this. Also, added a note to the win32 README file to document 23548 this restriction. 23549 23550Mon Feb 26 19:19:34 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 23551 23552 * docs/Makefile.am: touch apidoc/html/index.html after apidoc.pdf 23553 is created so that make doesn't attempt to regenerate it due to 23554 the dependency of apidoc/html/index.html on apidoc.pdf. 23555 Similarly for sourcedoc/html/index.html. 23556 23557Mon Feb 26 18:36:22 GMT 2007 Olly Betts <olly@survex.com> 23558 23559 * tests/harness/backendmanager.cc: Indent with tabs not spaces. 23560 * tests/harness/index_utils.cc: Add missing space after "if"; 23561 prefer "X.empty()" to "X.size() == 0". 23562 23563Mon Feb 26 16:10:31 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 23564 23565 * tests/harness/index_utils.cc,tests/harness/backendmanager.cc: 23566 Fix for windows: windows file handling seems to have a bug 23567 causing end of file conditions in ifstream to be missed. As a 23568 result, an empty string was being returned from the get_paragraph 23569 function in the test harness, resulting in an out-of-bounds error 23570 when generating a value from the paragraph. Add a check that the 23571 paragraph returned isn't empty, and return an empty document if 23572 it is. Then, check for empty documents (ie, contain some terms) 23573 before adding them to the test database. 23574 23575Mon Feb 26 16:05:07 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 23576 23577 * backends/quartz/btree_base.cc,backends/flint/flint_btreebase.cc: 23578 Fix for windows: string append method with a pointer and length 23579 causes a segfault-type error on windows if the pointer is NULL, 23580 even if the length is also 0. Check for this case when appending 23581 the bitmap to the base block, since a NULL pointer is passed for 23582 an empty bitmap when a new database is being created. 23583 23584 Also, initialise the bit_map0 and bitmap members to 0 in the 23585 FlintTable_base constructor which takes a string and a char 23586 argument - they had been omitted from this and were only being 23587 initialised by the constructor which takes no argument. This 23588 didn't seem to be having any negative effect, but doing it makes 23589 the code neater. 23590 23591Sun Feb 25 23:21:11 GMT 2007 Olly Betts <olly@survex.com> 23592 23593 * backends/inmemory/inmemory_database.cc: Create the RefCntPtr to this 23594 as an explicit variable to make the code more readable. 23595 23596Sun Feb 25 19:20:33 GMT 2007 Olly Betts <olly@survex.com> 23597 23598 * matcher/multimatch.cc: Fix inconsistent ordering between pages with 23599 set_sort_by_value_then_relevance (fixes bug#110). 23600 * tests/api_wrdb.cc: Enabled test consistency2. 23601 23602Sun Feb 25 17:28:09 GMT 2007 Olly Betts <olly@survex.com> 23603 23604 * matcher/: Also apply the "decreasing weights with remote database" 23605 optimisations which we use in the sort_by_relevance case in the 23606 sort_by_relevance_then_value case. 23607 23608Sat Feb 24 19:35:41 GMT 2007 Olly Betts <olly@survex.com> 23609 23610 * backends/inmemory/inmemory_database.cc: If replace_document is used 23611 to set the docid of a newly added document which has previously 23612 existed, then we need to mark that document as valid (caught by 23613 existing test replacedoc4 in a debug build). 23614 23615Sat Feb 24 17:11:22 GMT 2007 Olly Betts <olly@survex.com> 23616 23617 * tests/api_wrdb.cc: Add regression test consistency2 for bug#110 23618 (currently skipped since the bug isn't fixed yet). 23619 23620Thu Feb 22 15:18:53 GMT 2007 Olly Betts <olly@survex.com> 23621 23622 * configure.ac: Add proper detection for SGI's C++ (check stderr 23623 output of "CC -v"). Automatically pass -ptused in CXXFLAGS for 23624 xapian-core and any applications using xapian-config --cxxflags 23625 since it seems to be required to avoid template linking errors. 23626 23627Thu Feb 22 09:04:30 GMT 2007 Olly Betts <olly@survex.com> 23628 23629 * docs/Makefile.am: Ship generated RSTHTML files. 23630 23631Wed Feb 21 19:01:06 GMT 2007 Olly Betts <olly@survex.com> 23632 23633 * languages/turkish.sbl: Make some simplifications to the code of the 23634 turkish stemmer. 23635 23636Wed Feb 21 19:00:11 GMT 2007 Olly Betts <olly@survex.com> 23637 23638 * languages/Makefile.mk,languages/stem.cc,languages/turkish.sbl: 23639 Add turkish stemmer. 23640 23641Wed Feb 21 18:55:03 GMT 2007 Olly Betts <olly@survex.com> 23642 23643 * languages/compiler/generator.c: Number m_test and c_test variables 23644 to avoid variable shadowing warnings. 23645 23646Wed Feb 21 18:07:50 GMT 2007 Olly Betts <olly@survex.com> 23647 23648 * languages/compiler/generator.c: Remove duplicate copy of function 23649 resulting from ham-fisted reverting and applying of patches. 23650 23651Wed Feb 21 18:03:12 GMT 2007 Olly Betts <olly@survex.com> 23652 23653 * languages/compiler/generator.c,languages/compiler/header.h: Number 23654 mlimit variables to avoid variable shadowing warnings. 23655 * languages/compiler/generator.c: Use "if (foo() == -1) return -1;" 23656 which avoids a temporary variable (improving readability of 23657 generated code) and producing very slightly faster code. 23658 * languages/compiler/header.h: Use "#ifdef DISABLE_JAVA" around Java 23659 generator specific struct members and prototypes. 23660 23661Wed Feb 21 17:47:13 GMT 2007 Olly Betts <olly@survex.com> 23662 23663 * languages/compiler/generator.c: Add "~C" comments to generated 23664 source for more operations. 23665 23666Tue Feb 20 20:24:30 GMT 2007 Olly Betts <olly@survex.com> 23667 23668 * backends/flint/flint_table.cc,backends/quartz/btree.cc: Ensure 23669 both_bases is set to false if we don't have both bases when 23670 opening a table using an existing object. 23671 23672Tue Feb 20 15:57:05 GMT 2007 Olly Betts <olly@survex.com> 23673 23674 * preautoreconf: Fix to handle generating dependencies on generated 23675 objects, at least for the "checked out tree from SVN" case. Fixing 23676 this fully is trickier, but currently this is stopped snapshots 23677 from bootstrapping. 23678 23679Tue Feb 20 14:28:02 GMT 2007 Charlie Hull 23680 23681 * backends/flint/flint_btreebase.cc,backends/flint/flint_table.cc, 23682 backends/quartz/btree.cc: Use MS Windows API calls to delete 23683 files and open files we might want to delete while they are 23684 still open (i.e. the flint and quartz btree base files). This 23685 fixes a problem when a writer can't discard an old revision at the 23686 exact moment a reader is opening it (bug #108). 23687 23688Tue Feb 20 14:13:43 GMT 2007 Richard Boulton <richard@tartarus.org> 23689 23690 * .: Add generate-exceptions to svn:ignore property. 23691 23692Tue Feb 20 13:36:27 GMT 2007 Olly Betts <olly@survex.com> 23693 23694 * generate-exceptions.in: Add missing '}' to close 'namespace Xapian' 23695 in generated header 'xapian/error.h'. 23696 23697Tue Feb 20 13:26:19 GMT 2007 Olly Betts <olly@survex.com> 23698 23699 * Makefile.am: Put generated exception headers in BUILT_SOURCES. 23700 23701Tue Feb 20 12:10:18 GMT 2007 Olly Betts <olly@survex.com> 23702 23703 * Makefile.am,configure.ac,generate-exceptions.in,include/Makefile.mk, 23704 include/xapian/error.h,include/xapian/errortypes.h,net/serialise.cc: 23705 Replace macro gymnastics with errortypes.h by a perl script which 23706 generates the headers we require. It's more flexible, and easier to 23707 get doxygen to generate documentation from. 23708 * queryparser/queryparser.cc,tests/queryparsertest.cc: Throw new 23709 Error subclass QueryParserError instead of throwing const char * 23710 (fixes bug#101). 23711 23712Tue Feb 20 10:37:54 GMT 2007 Olly Betts <olly@survex.com> 23713 23714 * languages/steminternal.cc: p is never NULL once the class is 23715 successfully constructed, so just use Assert() to confirm this. 23716 23717Tue Feb 20 10:29:25 GMT 2007 Olly Betts <olly@survex.com> 23718 23719 * queryparser/lemon.c: Fix compiler warnings. 23720 23721Mon Feb 19 18:50:12 GMT 2007 Olly Betts <olly@survex.com> 23722 23723 * common/serialise-double.cc,net/remoteconnection.cc: Throw 23724 NetworkError rather than InternalError for invalid data received 23725 over the remote protocol. 23726 23727Mon Feb 19 18:12:21 GMT 2007 Olly Betts <olly@survex.com> 23728 23729 * tests/internaltest.cc: Just disable serialisequery1 if the remote 23730 backend is disabled, like we do for serialiselength1 and 23731 serialisedoc1 rather than assuming InternalError is due to the 23732 code being disabled. 23733 23734Mon Feb 19 09:48:02 GMT 2007 Olly Betts <olly@survex.com> 23735 23736 * docs/Makefile.am,docs/XapianAdminNotes.txt,docs/admin_notes.rst: 23737 Generated file "XapianAdminNotes.html" doesn't fit the naming 23738 conventions of other files at all, so renamed to "admin_notes.html". 23739 Rename the source to ".rst" so we can use an implicit rule for 23740 the conversion, in anticipation of other documentation in ReST 23741 format. 23742 23743Mon Feb 19 09:10:48 GMT 2007 Olly Betts <olly@survex.com> 23744 23745 * docs/Makefile.am: Fix typos which stopped parallel make from working 23746 correctly in "docs" subdirectory. 23747 23748Sun Feb 18 22:36:46 GMT 2007 Olly Betts <olly@survex.com> 23749 23750 * common/Makefile.mk,common/omstringstream.h,common/output.h, 23751 include/Makefile.mk,include/xapian/output.h: Move 23752 "<xapian/output.h>" to being an internal header in "common/" since 23753 it hasn't been included by "<xapian.h>" since 0.7.0. 23754 23755Sun Feb 18 22:18:33 GMT 2007 Olly Betts <olly@survex.com> 23756 23757 * include/xapian/dbfactory.h: Add documentation comment for the "prog" 23758 form of Remote::open_writable(). 23759 23760Sun Feb 18 19:31:20 GMT 2007 Olly Betts <olly@survex.com> 23761 23762 * tests/queryparsertest.cc: Add test for "associative NEAR". 23763 23764Sun Feb 18 18:27:40 GMT 2007 Olly Betts <olly@survex.com> 23765 23766 * tests/harness/backendmanager.cc,tests/harness/backendmanager.h: 23767 Merge BackendManager::change_names_to_paths() into 23768 index_files_to_database() and make the latter a method of 23769 class BackendManager. 23770 * tests/harness/backendmanager.cc: Remove mention of muscat36 backends 23771 from error message listing valid backends. 23772 * tests/harness/backendmanager.h: Comment out prototypes for currently 23773 disabled methods getdb_inmemoryerr, getwritedb_inmemory, etc. 23774 23775Sat Feb 17 15:38:05 GMT 2007 Olly Betts <olly@survex.com> 23776 23777 * backends/flint/flint_table.cc: new throws if allocation fails 23778 so we don't need to check the return value. 23779 23780Sat Feb 17 02:08:22 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 23781 23782 * backends/flint/flint_table.cc: Fix memory double-frees if 23783 FlintTable::close() is called twice on a table (without an open() 23784 being called in between). This was happening after a transaction 23785 failed when the table was next opened. 23786 * backends/quartz/btree.cc: Fix double-frees, similarly. 23787 23788Fri Feb 16 20:11:13 GMT 2007 Olly Betts <olly@survex.com> 23789 23790 * languages/compiler/generator.c: Add missing "~Z" for compatibility 23791 with C code generation (which we don't use for Xapian). 23792 23793Fri Feb 16 19:51:26 GMT 2007 Olly Betts <olly@survex.com> 23794 23795 * queryparser/tclUniData.h,queryparser/utf8itor.h: The tcl unicode 23796 routines only have tables for characters in the BMP. For other 23797 characters, assume they're word characters, but can't be forced to 23798 lowercase. 23799 23800Fri Feb 16 19:26:00 GMT 2007 Olly Betts <olly@survex.com> 23801 23802 * queryparser/utf8itor.cc: Fix bug in decoding of 4 byte utf-8 23803 sequences - the returned value was 0x400000 too large! 23804 23805Thu Feb 15 19:37:26 GMT 2007 Olly Betts <olly@survex.com> 23806 23807 * queryparser/queryparser.lemony,tests/queryparsertest.cc: Keep 23808 embedded apostrophe's in terms rather than generating a phrase 23809 search for them. 23810 23811Thu Feb 15 18:42:49 GMT 2007 Olly Betts <olly@survex.com> 23812 23813 * languages/compiler/generator.c,languages/steminternal.cc, 23814 languages/steminternal.h: Tweak the "grouping" functions to allow 23815 skipping past multiple occurences and use this to implement "goto" 23816 or "gopast" followed by a grouping or "non" grouping more 23817 efficiently. 23818 23819Thu Feb 15 17:57:43 GMT 2007 Olly Betts <olly@survex.com> 23820 23821 * languages/compiler/generator.c,languages/steminternal.cc, 23822 languages/steminternal.h: Inline lose_s(). Since lose_s() 23823 checks if p is NULL, remove checks prior to calling lose_s(). 23824 * languages/steminternal.h: Cast from symbol * to int * via 23825 void * to try to suppress over-eager warnings about alignment. 23826 23827Thu Feb 15 12:43:04 GMT 2007 Olly Betts <olly@survex.com> 23828 23829 * languages/stem.cc: Add support for two letter ISO 639 codes. 23830 23831Thu Feb 15 10:40:40 GMT 2007 Olly Betts <olly@survex.com> 23832 23833 * docs/Makefile.am: Don't try to ship mkdoc.pl. 23834 23835Thu Feb 15 09:58:48 GMT 2007 Olly Betts <olly@survex.com> 23836 23837 * docs/gen_codestructure_doc.in: Fix to work in a VPATH build. 23838 23839Thu Feb 15 09:54:55 GMT 2007 Olly Betts <olly@survex.com> 23840 23841 * languages/compiler/generator.c: Fix Stem::get_description() to 23842 return the right string. 23843 23844Thu Feb 15 09:44:54 GMT 2007 Olly Betts <olly@survex.com> 23845 23846 * docs/gen_codestructure_doc.in: Add links to viewvcs on 23847 svn.xapian.org. 23848 23849Thu Feb 15 09:26:07 GMT 2007 Olly Betts <olly@survex.com> 23850 23851 * configure.ac,docs/Makefile.am,docs/gen_codestructure_doc.in, 23852 docs/mkdoc.pl,preautoreconf: Rework how code_structure.html 23853 is generated. Nicer output, and the html document is now 23854 regenerated if any of the dir_contents files change. 23855 23856Thu Feb 15 07:43:39 GMT 2007 Olly Betts <olly@survex.com> 23857 23858 * Makefile.am,bin/Makefile.mk,configure.ac,examples/Makefile.mk, 23859 makemanpage.in: Add "makemanpage" script which takes care of all 23860 the magic needed to generate a man page using help2man. This 23861 script is written in perl, but so is help2man, and they're both 23862 only used in maintainer-mode. 23863 23864Thu Feb 15 06:33:41 GMT 2007 Olly Betts <olly@survex.com> 23865 23866 * bin/Makefile.mk: Fix typos in man page generation rules. 23867 23868Thu Feb 15 06:30:54 GMT 2007 Olly Betts <olly@survex.com> 23869 23870 * examples/Makefile.mk: Fix typos in previous commit. 23871 23872Thu Feb 15 06:03:35 GMT 2007 Olly Betts <olly@survex.com> 23873 23874 * Makefile.am,configure.ac,examples/Makefile,examples/Makefile.am, 23875 examples/Makefile.mk: Convert examples subdirectory to use 23876 non-recursive make. Fixes wishlist bug#97. 23877 23878Thu Feb 15 05:48:38 GMT 2007 Olly Betts <olly@survex.com> 23879 23880 * Makefile.am,bin/Makefile,bin/Makefile.am,bin/Makefile.mk, 23881 configure.ac: Convert bin subdirectory to use non-recursive make. 23882 23883Wed Feb 14 19:08:49 GMT 2007 Olly Betts <olly@survex.com> 23884 23885 * tests/Makefile.am: There's no longer a need to remove the temporary 23886 directories for muscat36 backend tests, since we've removed the 23887 muscat36 backend code. 23888 23889Wed Feb 14 18:58:31 GMT 2007 Olly Betts <olly@survex.com> 23890 23891 * languages/Makefile.mk: Move adjusting of INCLUDES to the top of the 23892 file. 23893 * queryparser/Makefile.mk: Adjust INCLUDES for a VPATH build. 23894 23895Wed Feb 14 18:38:16 GMT 2007 Olly Betts <olly@survex.com> 23896 23897 * languages/Makefile.mk: Need -Ilanguages for VPATH builds from SVN. 23898 23899Wed Feb 14 18:37:54 GMT 2007 Olly Betts <olly@survex.com> 23900 23901 * languages/steminternal.cc,languages/steminternal.h: Add 23902 SET_CAPACITY() macro. 23903 23904Wed Feb 14 17:39:50 GMT 2007 Olly Betts <olly@survex.com> 23905 23906 * languages/steminternal.h: Don't cast away const. 23907 23908Wed Feb 14 17:14:14 GMT 2007 Olly Betts <olly@survex.com> 23909 23910 * include/Makefile: Add stub makefile. 23911 23912Wed Feb 14 17:12:41 GMT 2007 Olly Betts <olly@survex.com> 23913 23914 * configure.ac: ac_abs_srcdir, etc aren't available in configure 23915 itself, so we have to do the work ourselves. 23916 23917Wed Feb 14 12:54:26 GMT 2007 Olly Betts <olly@survex.com> 23918 23919 * configure.ac: Fix typo in last commit. 23920 23921Wed Feb 14 12:19:18 GMT 2007 Olly Betts <olly@survex.com> 23922 23923 * Makefile.am,configure.ac,languages/Makefile.mk: Define automake 23924 conditional VPATH_BUILD so we can only add extra entries to 23925 INCLUDES in VPATH builds. 23926 23927Wed Feb 14 11:59:02 GMT 2007 Olly Betts <olly@survex.com> 23928 23929 * languages/Makefile.mk: Ick, we need $(top_srcdir)/languages in 23930 INCLUDES as the generated sources need to find non-generated 23931 headers. 23932 23933Wed Feb 14 11:46:43 GMT 2007 Olly Betts <olly@survex.com> 23934 23935 * backends/database.cc,backends/remote/remote-database.cc, 23936 common/database.h,common/remote-database.h,common/remoteprotocol.h, 23937 docs/remote_protocol.html,net/remoteserver.cc: Support 23938 get_lastdocid() on remote databases. 23939 23940Wed Feb 14 11:20:33 GMT 2007 Olly Betts <olly@survex.com> 23941 23942 * Makefile.am,configure.ac,include/Makefile.am,include/Makefile.mk: 23943 Convert include subdirectory to use non-recursive make. 23944 23945Wed Feb 14 11:05:00 GMT 2007 Olly Betts <olly@survex.com> 23946 23947 * Makefile.am,bin/Makefile.am,configure.ac,examples/Makefile.am, 23948 getopt/Makefile,getopt/Makefile.am,getopt/Makefile.mk, 23949 tests/Makefile.am: Convert getopt subdirectory to use non-recursive 23950 make. 23951 23952Wed Feb 14 10:56:15 GMT 2007 Olly Betts <olly@survex.com> 23953 23954 * tests/harness/Makefile.am: Remove as no longer used. 23955 23956Wed Feb 14 10:38:27 GMT 2007 Olly Betts <olly@survex.com> 23957 23958 * backends/quartz/Makefile.mk,bin/Makefile.am,tests/Makefile.am: Move 23959 backends/quartz/libbtreecheck.la to libquartzcheck.la. 23960 * getopt/Makefile.am: Distribute getopt/dir_contents. 23961 23962Wed Feb 14 10:20:14 GMT 2007 Olly Betts <olly@survex.com> 23963 23964 * preautoreconf: Handle variables set with "+=" and ":=". 23965 23966Wed Feb 14 10:16:29 GMT 2007 Olly Betts <olly@survex.com> 23967 23968 * include/xapian/database.h: Add documentation comments for DB_* 23969 constants. 23970 23971Wed Feb 14 10:11:37 GMT 2007 Olly Betts <olly@survex.com> 23972 23973 * examples/.cvsignore: Remove lingering relic of CVS days. 23974 23975Wed Feb 14 10:07:14 GMT 2007 Olly Betts <olly@survex.com> 23976 23977 * Makefile.am,configure.ac,net/Makefile,net/Makefile.am, 23978 net/Makefile.mk: Convert net subdirectory to use non-recursive make. 23979 Now libxapian.la is built completely non-recursively. 23980 * docs/Makefile.am,docs/mkdoc.pl: Fix mkdoc.pl to handle directories 23981 which use non-recursive make. 23982 23983Wed Feb 14 09:10:27 GMT 2007 Olly Betts <olly@survex.com> 23984 23985 * Makefile.am,backends/Makefile,backends/Makefile.am, 23986 backends/Makefile.mk,backends/flint/Makefile, 23987 backends/flint/Makefile.am,backends/flint/Makefile.mk, 23988 backends/inmemory/Makefile,backends/inmemory/Makefile.am, 23989 backends/inmemory/Makefile.mk,backends/multi/Makefile, 23990 backends/multi/Makefile.am,backends/multi/Makefile.mk, 23991 backends/quartz/Makefile,backends/quartz/Makefile.am, 23992 backends/quartz/Makefile.mk,backends/remote/Makefile, 23993 backends/remote/Makefile.am,backends/remote/Makefile.mk, 23994 configure.ac: Convert backends subdirectory (and subdirectories 23995 thereof) to non-recursive make. 23996 23997Wed Feb 14 08:49:02 GMT 2007 Olly Betts <olly@survex.com> 23998 23999 * preautoreconf: Fix handling of backslash at the end of a line in 24000 included files. 24001 * preautoreconf: Our handling of which directory a nested include is 24002 sought from is consistent with automake, so remove the FIXME comment 24003 about it. 24004 24005Wed Feb 14 08:07:07 GMT 2007 Olly Betts <olly@survex.com> 24006 24007 * Makefile.am,configure.ac,matcher/Makefile,matcher/Makefile.am, 24008 matcher/Makefile.mk: Convert matcher subdirectory to non-recursive 24009 make. 24010 24011Wed Feb 14 07:50:19 GMT 2007 Olly Betts <olly@survex.com> 24012 24013 * Makefile.am,api/Makefile,api/Makefile.am,api/Makefile.mk, 24014 configure.ac: Convert api subdirectory to non-recursive make. 24015 24016Wed Feb 14 07:48:45 GMT 2007 Olly Betts <olly@survex.com> 24017 24018 * preautoreconf: No need to `chdir' to the current directory. 24019 * preautoreconf: Don't bother looking at the file we generate 24020 when considering included files. 24021 * preautoreconf: Add included files to the dependency list. 24022 24023Wed Feb 14 07:38:19 GMT 2007 Olly Betts <olly@survex.com> 24024 24025 * preautoreconf: Generate dummy rules for the files which 24026 preautoreconf depends on, so that "make" still works if one 24027 of them is removed (by build system restructuring). 24028 24029Wed Feb 14 07:24:07 GMT 2007 Olly Betts <olly@survex.com> 24030 24031 * common,languages,tests/harness: svn:ignore: We do need to ignore 24032 .dirstamp files after all. 24033 24034Wed Feb 14 07:22:29 GMT 2007 Olly Betts <olly@survex.com> 24035 24036 * Makefile.am,common/Makefile,common/Makefile.am,common/Makefile.mk, 24037 configure.ac: Convert common subdirectory to non-recursive make. 24038 24039Wed Feb 14 07:03:27 GMT 2007 Olly Betts <olly@survex.com> 24040 24041 * .: svn:ignore: Ignore all vim swapfiles. No need to ignore .deps 24042 now that dummy.cc is history. 24043 24044Wed Feb 14 06:34:44 GMT 2007 Olly Betts <olly@survex.com> 24045 24046 * tests/stemtest.cc: Force ASCII capitals in sample vocabulary to 24047 lower case before stemming. 24048 24049Wed Feb 14 06:14:42 GMT 2007 Olly Betts <olly@survex.com> 24050 24051 * Makefile.am,configure.ac,queryparser/Makefile, 24052 queryparser/Makefile.am,queryparser/Makefile.mk: 24053 Convert queryparser subdirectory to non-recursive make. 24054 * Makefile.am: Enable automake option "subdir-objects" so 24055 that built objects for a non-recursively made directory 24056 go into that directory. 24057 24058Wed Feb 14 06:12:29 GMT 2007 Olly Betts <olly@survex.com> 24059 24060 * tests/harness: svn:ignore: remove .dirstamp and depcomp. 24061 24062Wed Feb 14 06:10:44 GMT 2007 Olly Betts <olly@survex.com> 24063 24064 * languages/Makefile.mk: In maintainer-mode, remove snowball and 24065 generated allsnowballheaders.h on "make clean". When not in 24066 maintainer-mode, remove them on "make maintainer-clean". 24067 * languages/: svn:ignore all vim swap files. 24068 24069Wed Feb 14 05:54:32 GMT 2007 Olly Betts <olly@survex.com> 24070 24071 * languages/Makefile.mk: Distribute the stub languages/Makefile. 24072 * tests/harness/Makefile.mk: No need to explicitly distribute 24073 harness/Makefile.mk. 24074 24075Wed Feb 14 05:52:08 GMT 2007 Olly Betts <olly@survex.com> 24076 24077 * languages/Makefile.mk: Distribute languages/dir_contents. 24078 24079Wed Feb 14 05:44:10 GMT 2007 Olly Betts <olly@survex.com> 24080 24081 * api/Makefile.am,api/vectortermlist.h,common/Makefile.am, 24082 queryparser/Makefile.am: We use vectortermlist.h from the 24083 queryparser directory, so move it from api to common. 24084 24085Wed Feb 14 05:27:13 GMT 2007 Olly Betts <olly@survex.com> 24086 24087 * languages/Makefile.mk,languages/stem.cc: Disable finnish and lovins 24088 temporarily, until I sort out merging the support for among with 24089 functions properly. 24090 24091Wed Feb 14 05:24:36 GMT 2007 Olly Betts <olly@survex.com> 24092 24093 * languages/steminternal.cc,languages/steminternal.h: Temporarily 24094 back out the changes to handling of among with functions. 24095 24096Tue Feb 13 19:11:57 GMT 2007 Olly Betts <olly@survex.com> 24097 24098 * tests/harness/testsuite.cc: If a test throws an unknwon exception, 24099 say so in the test failure message. If it throws std::string, 24100 report the first 40 character (or first line) of the string. 24101 24102Tue Feb 13 17:48:11 GMT 2007 Olly Betts <olly@survex.com> 24103 24104 * languages/steminternal.cc: Fix decoding of 3 byte utf-8 sequences. 24105 24106Tue Feb 13 17:47:22 GMT 2007 Olly Betts <olly@survex.com> 24107 24108 * languages/Makefile.mk: Fix dependency of generated 24109 languages/allsnowballheaders.h to be on languages/Makefile.mk. 24110 24111Tue Feb 13 17:46:42 GMT 2007 Olly Betts <olly@survex.com> 24112 24113 * languages/compiler/generator.c: Fix missing ";" in generated 24114 code. 24115 24116Tue Feb 13 15:40:15 GMT 2007 Olly Betts <olly@survex.com> 24117 24118 * languages/Makefile.mk,languages/compiler/driver.c, 24119 languages/compiler/generator.c,languages/compiler/header.h: 24120 Changes towards getting C++ generation working. 24121 24122Tue Feb 13 15:39:23 GMT 2007 Olly Betts <olly@survex.com> 24123 24124 * languages/steminternal.cc,languages/steminternal.h: Revert to match 24125 currently generated code. 24126 24127Tue Feb 13 14:09:31 GMT 2007 Olly Betts <olly@survex.com> 24128 24129 * languages/compiler/: Sync with current snowball SVN + submitted 24130 patches. 24131 24132Tue Feb 13 10:53:34 GMT 2007 Olly Betts <olly@survex.com> 24133 24134 * tests/harness/backendmanager.cc: If we fail to start 24135 xapian-tcpsrv, report why (give errno or the error output). 24136 24137Tue Feb 13 10:28:43 GMT 2007 Olly Betts <olly@survex.com> 24138 24139 * tests/remotetest.cc: Prune test cases which are redundant now that 24140 apitest tests remote and remotetcp: apitest's simplequery1 performs 24141 a superset of what netmatch1 and tcpmatch1 do; apitest's multidb1 24142 performs a superset of what netmatch2 does; and the coverage given 24143 by our netexpand1 is provided by various apitest tests. 24144 24145Mon Feb 12 06:36:58 GMT 2007 Olly Betts <olly@survex.com> 24146 24147 * languages/compiler/generator.c: In backward mode, among 24148 can't match if there are fewer characters before the current 24149 position than the minimum length string in the among. 24150 24151Mon Feb 12 05:56:31 GMT 2007 Olly Betts <olly@survex.com> 24152 24153 * configure.ac: Make sure that the languages subdirectory exists in 24154 case this is a fresh SVN checkout and srcdir != builddir. 24155 24156Mon Feb 12 05:46:49 GMT 2007 Olly Betts <olly@survex.com> 24157 24158 * languages/Makefile.mk,languages/compiler/driver.c: -DDISABLE_JAVA 24159 to not compile in Java support (inline with Richard's patch to 24160 the upstream snowball sources). 24161 * languages/Makefile.mk: Remove inaccurate comment about processing 24162 with automake. Fix -n option we pass (remove directory name). 24163 Use "" instead of <> in generated file allsnowballheaders.h. Remove 24164 snowball compiler and generated files on "make maintainer-clean". 24165 24166Mon Feb 12 01:08:50 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 24167 24168 * languages/compiler/header.h: Remove commented out header for 24169 sort() prototype, to match snowball sources. 24170 24171Sun Feb 11 19:28:50 GMT 2007 Olly Betts <olly@survex.com> 24172 24173 * languages/api.h,languages/header.h: Remove headers which are no 24174 longer used. 24175 24176Sun Feb 11 19:26:50 GMT 2007 Olly Betts <olly@survex.com> 24177 24178 * languages/api.cc,languages/utilities.cc: Remove sources which are 24179 no longer used. 24180 24181Sun Feb 11 16:22:16 GMT 2007 Olly Betts <olly@survex.com> 24182 24183 * languages/compiler/driver.c: Use #ifdef instead of #if. 24184 24185Sun Feb 11 16:20:44 GMT 2007 Olly Betts <olly@survex.com> 24186 24187 * languages/compiler/driver.c: Disable java support, since we don't 24188 use it and it means one less source file. 24189 24190Sun Feb 11 16:08:49 GMT 2007 Olly Betts <olly@survex.com> 24191 24192 * languages/compiler/analyser.c,languages/compiler/header.h: Use qsort 24193 instead the snowball's own sort implementation to reduce the number 24194 of source files we need for the snowball compiler. 24195 24196Sun Feb 11 16:04:19 GMT 2007 Olly Betts <olly@survex.com> 24197 24198 * languages/Makefile: Add stub Makefile to allow "make", "make check", 24199 and "make clean" from the languages subdirectory. 24200 24201Sun Feb 11 16:00:51 GMT 2007 Olly Betts <olly@survex.com> 24202 24203 * languages/compiler/analyser.c: Cast the arguments, not the function 24204 pointer as ISO C allows `void*' and `struct amongvec*' to have 24205 different representations. 24206 24207Sun Feb 11 15:43:49 GMT 2007 Olly Betts <olly@survex.com> 24208 24209 * languages/compiler/space.c: Fix a typo of a function name in a 24210 comment. 24211 24212Sun Feb 11 15:23:51 GMT 2007 Olly Betts <olly@survex.com> 24213 24214 * languages/compiler/header.h,languages/compiler/tokeniser.c: Give 24215 syswords and syswords2 .h extensions for clarity. 24216 24217Sun Feb 11 15:17:28 GMT 2007 Olly Betts <olly@survex.com> 24218 24219 * Makefile.am,api/Makefile.am,api/omstem.cc,configure.ac,dummy.cc, 24220 languages/Makefile.am,languages/Makefile.mk,languages/compiler/, 24221 languages/: Update the stemmers to use utf-8 and the latest snowball 24222 version (based on r421 from snowball SVN). Further patches are 24223 required to generate C++ classes from snowball, I'm checking in the 24224 vanilla compiler first to help us track the patches. 24225 24226Sun Feb 11 14:16:35 GMT 2007 Olly Betts <olly@survex.com> 24227 24228 * api/omstem.cc: Add definition for Xapian::Stem::stem_word(). 24229 24230Sun Feb 11 13:15:11 GMT 2007 Olly Betts <olly@survex.com> 24231 24232 * tests/api_anydb.cc,tests/api_db.cc,tests/api_posdb.cc: Prefer 24233 Xapian::Stem::operator() to Xapian::Stem::stem_word(). 24234 24235Sat Feb 10 19:10:31 GMT 2007 Olly Betts <olly@survex.com> 24236 24237 * queryparser/queryparser.lemony: Prefer Xapian::Stem::operator() to 24238 Xapian::Stem::stem_word(). 24239 24240Sat Feb 10 18:34:41 GMT 2007 Olly Betts <olly@survex.com> 24241 24242 * include/xapian/stem.h: Make Xapian::Stem::Internal as @internal for 24243 doxygen. Mark Xapian::Stem::stem_word() as deprecated. 24244 24245Sat Feb 10 18:34:05 GMT 2007 Olly Betts <olly@survex.com> 24246 24247 * HACKING: Add brief note about coding style. 24248 24249Sat Feb 10 18:24:28 GMT 2007 Olly Betts <olly@survex.com> 24250 24251 * preautoreconf: Add licence and copyright notice. Add support for 24252 automake include directives. Warn about unknown variables. 24253 24254Sat Feb 10 18:19:26 GMT 2007 Olly Betts <olly@survex.com> 24255 24256 * tests/harness/testsuite.cc: Conditionalise all the valgrind specific 24257 code on RUNNING_ON_VALGRIND to minimise the overhead if valgrind 24258 is installed but we aren't running tests under it. 24259 24260Sat Feb 10 17:42:05 GMT 2007 Olly Betts <olly@survex.com> 24261 24262 * tests/harness/index_utils.cc,tests/stemtest.cc: Prefer 24263 Xapian::Stem::operator() to Xapian::Stem::stem_word(). 24264 24265Sat Feb 10 17:27:27 GMT 2007 Olly Betts <olly@survex.com> 24266 24267 * examples/delve.cc,examples/simpleindex.cc,examples/simplesearch.cc: 24268 Prefer Xapian::Stem::operator() to Xapian::Stem::stem_word(). 24269 24270Wed Feb 07 04:23:09 GMT 2007 Olly Betts <olly@survex.com> 24271 24272 * queryparser/queryparser.lemony,queryparser/queryparser.lt: Use 24273 new/delete instead of malloc/free to allocate struct yyParser 24274 and pass it around as "yyParser *" instead of "void *". 24275 24276Wed Feb 07 03:44:16 GMT 2007 Olly Betts <olly@survex.com> 24277 24278 * include/xapian/queryparser.h,queryparser/queryparser.cc, 24279 queryparser/queryparser.lemony,queryparser/queryparser_internal.h, 24280 tests/queryparsertest.cc: Allow the default prefix to be specified 24281 so you can use QueryParser to parse a text entry box for "author" 24282 etc. 24283 * configure.ac: Note API change for LIBRARY_VERSION_INFO updating. 24284 24285Wed Feb 07 01:14:37 GMT 2007 Olly Betts <olly@survex.com> 24286 24287 * common/safeunistd.h: Add '#include <sys/types.h>' so that we've seen 24288 a typedef for off_t before we hide it behind a #define to avoid a 24289 compilation error if <sys/types.h> or <wchar.h> is included after 24290 we are. 24291 24292Tue Feb 06 06:26:24 GMT 2007 Olly Betts <olly@survex.com> 24293 24294 * INSTALL: Mention MSVC makefiles. Note that we still test build with 24295 GCC 2.95.4 even though we recommend using a newer version. 24296 24297Tue Feb 06 06:13:48 GMT 2007 Olly Betts <olly@survex.com> 24298 24299 * AUTHORS,HACKING,backends/flint/,backends/quartz/btree.cc, 24300 backends/quartz/quartz_database.cc,bin/quartzcompact.cc, 24301 bin/xapian-compact.cc,common/,tests/btreetest.cc, 24302 tests/harness/backendmanager.cc,tests/harness/testsuite.cc, 24303 tests/quartztest.cc: Support large files in stat() and fstat() 24304 when building with MSVC. Factor MSVC specific header magic 24305 into new replacement headers "safeunistd.h" and "safesysstat.h". 24306 * AUTHORS: Thanks to Charlie Hull for the original patch to support 24307 stat() on large files with MSVC (and past MSVC related stuff!) 24308 24309Sat Jan 13 02:06:15 GMT 2007 Olly Betts <olly@survex.com> 24310 24311 * include/xapian/database.h: Add pointer from 24312 WritableDatabase::add_document() to replace_document() in case the 24313 user wants to specify the docid themselves. Also improve the 24314 wording of the warning about changes not being committed to disk 24315 right away. 24316 24317Tue Jan 2 15:49:43 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 24318 24319 * backends/quartz/btree.cc,backends/flint/flint_io.h: Patches from 24320 Charlie Hull to allow 2GB+ index files work when compiled using 24321 Visual C++. 24322 24323Sat Dec 30 13:48:54 GMT 2006 Richard Boulton <richard@lemurconsulting.com> 24324 24325 * queryparser/queryparser.lemony,include/xapian/queryparser.h: 24326 Add support for partially entered queries, to better support 24327 incremental searching. Also fix a typo in a comment. 24328 * docs/queryparser.html: Document the new partial query option, and 24329 what it's useful for. 24330 * tests/queryparsertest.cc: Test partial queries. 24331 24332Wed Dec 20 16:42:24 GMT 2006 Olly Betts <olly@survex.com> 24333 24334 * PLATFORMS: Updated with success reports from debian buildds. 24335 24336Wed Dec 20 00:53:19 GMT 2006 Olly Betts <olly@survex.com> 24337 24338 * api/omqueryinternal.cc: Fix "unused parameter" warning when building 24339 with the remote backend disabled. Also update a comment - the query 24340 serialisation isn't really one line of text since we now store term 24341 names with the length prefixed, and they can contain arbitrary 24342 characters including linefeeds. 24343 24344Tue Dec 19 20:40:27 GMT 2006 Olly Betts <olly@survex.com> 24345 24346 * tests/Makefile.am: Need libgetopt.la for test programs which 24347 use the test harness for platforms where GNU getopt isn't in 24348 the standard C library. 24349 24350Tue Dec 19 20:34:16 GMT 2006 Olly Betts <olly@survex.com> 24351 24352 * queryparser/utf8itor.h: Need <string.h> for strlen. 24353 24354Tue Dec 19 16:35:58 GMT 2006 Olly Betts <olly@survex.com> 24355 24356 * common/omstringstream.h: Fix "warning: comparison between signed and 24357 unsigned". 24358 24359Tue Dec 19 15:33:19 GMT 2006 Olly Betts <olly@survex.com> 24360 24361 * backends/flint/flint_positionlist.cc: Turn the second (and 24362 potentially slightly deeper) recursion in encode_interpolative 24363 and decode_interpolative into explicit iteration in case the 24364 compiler fails to optimise the tail recursion. 24365 24366Mon Dec 18 03:39:41 GMT 2006 Olly Betts <olly@survex.com> 24367 24368 * matcher/: Add ExactPhrasePostList to handle the common special case 24369 where the window size of OP_PHRASE is equal to the number of terms 24370 in the phrase. 24371 24372Mon Dec 18 02:21:32 GMT 2006 Olly Betts <olly@survex.com> 24373 24374 * tests/harness/testsuite.cc: Remove accidentally committed "NO 24375 PROBLEM" message when running under valgrind. 24376 24377Wed Dec 13 21:15:57 GMT 2006 Richard Boulton <richard@lemurconsulting.com> 24378 24379 * include/xapian/document.h: Another tweak to the documentation 24380 comment. 24381 24382Wed Dec 13 18:07:51 GMT 2006 Richard Boulton <richard@lemurconsulting.com> 24383 24384 * include/xapian/document.h: Improve documentation comment for 24385 Document::get_value(). 24386 24387Wed Dec 13 03:38:37 GMT 2006 Olly Betts <olly@survex.com> 24388 24389 * include/xapian/enquire.h: In the description of the TradWeight 24390 class, replace reference to "Muscat 3.6" (meaningless to most 24391 people) with a generally useful explanation. 24392 24393Wed Dec 13 03:27:14 GMT 2006 Olly Betts <olly@survex.com> 24394 24395 * docs/: svn:ignore XapianAdminNotes.html. 24396 24397Wed Dec 13 03:16:44 GMT 2006 Olly Betts <olly@survex.com> 24398 24399 * configure.ac: Yet more valgrind test improvements! Give up testing 24400 valgrind features if VALGRIND_COUNT_LEAKS isn't supported. Fix the 24401 common shortcut case to not try logging to /dev/null.<pid> so it 24402 can actually get used. Also don't use /dev/null in the --logfile 24403 case either as it will probably cause problems there too (though I 24404 don't have an old enough valgrind handy to verify this). Also report 24405 results of valgrind tests in a couple more places. 24406 24407Wed Dec 13 00:31:04 GMT 2006 Richard Boulton <richard@lemurconsulting.com> 24408 24409 * docs/Makefile.am: New rules for generating XapianAdminNotes.html 24410 from XapianAdminNotes.txt 24411 * configure.ac: Check for rst2html, and require it in maintainer 24412 mode. 24413 * HACKING: document rst2html as a requirement. 24414 24415Tue Dec 12 23:58:13 GMT 2006 Richard Boulton <richard@lemurconsulting.com> 24416 24417 * docs/XapianAdminNotes.txt: Add new document giving an 24418 introduction to Xapian concepts for system administrators. 24419 24420Tue Dec 12 21:33:38 GMT 2006 Richard Boulton <richard@lemurconsulting.com> 24421 24422 * docs/quartzdesign.html: Fix an unmatched bracket. 24423 24424Tue Dec 12 21:18:54 GMT 2006 Richard Boulton <richard@lemurconsulting.com> 24425 24426 * backends/quartz/quartz_alldocspostlist.cc: Fix memory leak 24427 discovered by valgrind in QuartzAllDocsPostList constructor: was 24428 failing to delete the Bcursor. 24429 24430Tue Dec 12 21:05:47 GMT 2006 Richard Boulton <richard@lemurconsulting.com> 24431 24432 * queryparser/queryparser.lemony: Fix parsing of queries of the 24433 form "+foo* bar", where no terms in the database match the 24434 wildcard "foo*", but bar does exist in the database. Previously, 24435 such queries would be equivalent to "bar". Now, they will match 24436 no documents. This required using a new "QpQuery" object 24437 internally so we can distinguish between deliberately "match 24438 nothing" queries, and empty lists of queries. 24439 * tests/api_anydb.cc,tests/queryparsertest.cc: Test above fix, and 24440 general parsing of wildcard queries with +terms, and test 24441 performing a match with a query resulting from a wildcard query 24442 which matches nothing. 24443 24444Tue Dec 12 21:05:15 GMT 2006 Richard Boulton <richard@lemurconsulting.com> 24445 24446 * tests/api_nodb.cc,api/omqueryinternal.cc,api/omquery.cc: Fix some 24447 copyright assertions I missed. 24448 24449Tue Dec 12 19:38:39 GMT 2006 Richard Boulton <richard@lemurconsulting.com> 24450 24451 * include/xapian/query.h,api/omqueryinternal.cc,api/omquery.cc: Add 24452 two static Query objects: Xapian::Query::MatchAll and 24453 Xapian::Query::MatchNothing, which match all documents and no 24454 documents in the database, respectively. (Equivalent to 24455 Query("") and Query()). Allow empty queries such as MatchNothing 24456 to be combined with other queries. Change methods of 24457 Xapian::Query::Internal to use pointers to query internals 24458 instead of references, so they can handle the NULL pointer 24459 internals of an empty query. 24460 * tests/api_nodb.cc: Test combining of MatchNothing queries with 24461 other queries with OP_AND and OP_OR. 24462 24463Tue Dec 12 20:01:58 GMT 2006 Richard Boulton <richard@lemurconsulting.com> 24464 24465 * configure.ac: Fix valgrind better: --log-file-exactly isn't what 24466 is wanted, because it messes up if multiple processes are traced. 24467 Instead, use a temporary file instead of /dev/null, so we don't 24468 get the permission denied error. 24469 24470Tue Dec 12 19:15:20 GMT 2006 Richard Boulton <richard@lemurconsulting.com> 24471 24472 * configure.ac: Fix detection of valgrind for newer valgrind. My 24473 version of valgrind (valgrind-3.2.1-Debian, from ubuntu feisty) 24474 treats the parameter supplied to --log-file as a base path, and 24475 appends a process ID. This caused the test for the log-file 24476 option to fail with permission denied errors due to trying to 24477 write to files of the form '/dev/null.16098'. Solution - test 24478 for the --log-file-exactly option, and use that. Also, change 24479 configure.ac to display the result of the tests for valgrind; was 24480 displaying that it had found it, but not mentioning that it 24481 couldn't make it work. 24482 24483Tue Dec 05 21:12:12 GMT 2006 Richard Boulton <richard@lemurconsulting.com> 24484 24485 * include/xapian/query.h,api/omqueryinternal.cc: Fix query 24486 serialisation bug. Was failing to propagate "curpos" parameter 24487 across subqueries, resulting in incorrect serialisation of 24488 termpositions. 24489 * tests/internaltest.cc: Regression test for this bug. 24490 24491Tue Dec 05 01:34:07 GMT 2006 Olly Betts <olly@survex.com> 24492 24493 * HACKING: Clarify how XAPIAN_DEBUG_FLAGS works. 24494 24495Tue Dec 05 01:23:12 GMT 2006 Olly Betts <olly@survex.com> 24496 24497 * examples/quest.cc: Add "--stemmer" option to allow stemming language 24498 to be set, or stemming to be disabled. 24499 24500Sun Dec 03 00:34:27 GMT 2006 Olly Betts <olly@survex.com> 24501 24502 * queryparser/queryparser.lemony,tests/queryparsertest.cc: Add entries 24503 to the "unstem" map for prefixed boolean filters (e.g. type:html). 24504 Also don't corrupt non-ASCII characters in a prefixed boolean 24505 filter. 24506 24507Sat Nov 25 04:17:23 GMT 2006 Olly Betts <olly@survex.com> 24508 24509 * backends/flint/flint_database.cc,backends/flint/flint_version.cc: 24510 The "my_fls()" change actually results in a different interpolative 24511 encoding in a few cases - the old encoding could vary between 24512 architectures so we have to change it. So bump the FLINT_VERSION 24513 and change the "flicklock" file to be "flintlock" as it should have 24514 been all along! 24515 24516Wed Nov 22 18:55:42 GMT 2006 Olly Betts <olly@survex.com> 24517 24518 * xapian-config.in: Improve --version output so that help2man produces 24519 a better man page. 24520 24521Mon Nov 20 07:21:07 GMT 2006 Olly Betts <olly@survex.com> 24522 24523 * backends/flint/flint_positionlist.cc: Fix another off-by-one 24524 error (> should be >=). 24525 24526Mon Nov 20 07:12:11 GMT 2006 Olly Betts <olly@survex.com> 24527 24528 * backends/flint/flint_positionlist.cc: Fix off-by-one error in code 24529 which calls my_fls(). 24530 24531Sat Nov 18 08:32:08 GMT 2006 Olly Betts <olly@survex.com> 24532 24533 * backends/flint/flint_positionlist.cc: "const static" -> "static 24534 const". 24535 24536Sat Nov 18 08:05:17 GMT 2006 Olly Betts <olly@survex.com> 24537 24538 * backends/flint/flint_positionlist.cc: Make decode_interpolative 24539 a member function of BitReader. 24540 24541Sat Nov 18 07:45:19 GMT 2006 Olly Betts <olly@survex.com> 24542 24543 * backends/flint/flint_positionlist.cc: Add highly optimised fls() 24544 implementation and make use of it. 24545 24546Thu Nov 16 04:22:36 GMT 2006 Olly Betts <olly@survex.com> 24547 24548 * m4/xapian.m4: If XAPIAN_CONFIG wasn't specified and xapian-config 24549 wasn't found, see if the library seems to be present - if so give 24550 a different error message which suggests the user needs to install 24551 a -dev or -devel package. 24552 24553Thu Nov 16 02:11:34 GMT 2006 Olly Betts <olly@survex.com> 24554 24555 * docs/install.html: omega tarball is now xapian-omega. 24556 24557Tue Nov 14 22:42:05 GMT 2006 Olly Betts <olly@survex.com> 24558 24559 * tests/harness/Makefile: Add static Makefile so you can make all, 24560 check, and clean from the subdirectory. 24561 * tests/harness/Makefile.mk: Ship Makefile.mk and Makefile. 24562 24563Tue Nov 14 21:53:45 GMT 2006 Olly Betts <olly@survex.com> 24564 24565 * tests/: Remove muscat36 temporary directories from svn:ignore 24566 property. 24567 24568Tue Nov 14 19:47:30 GMT 2006 Olly Betts <olly@survex.com> 24569 24570 * configure.ac,tests/Makefile.am,tests/harness/Makefile.mk: Use 24571 non-recursive make to build the test harness, so it only gets 24572 built if "make check" is run. 24573 24574Tue Nov 14 19:43:48 GMT 2006 Olly Betts <olly@survex.com> 24575 24576 * tests/quartztest.cc: Removed unused static function unlink_table. 24577 24578Tue Nov 14 17:41:26 GMT 2006 Olly Betts <olly@survex.com> 24579 24580 * include/xapian/queryparser.h,queryparser/queryparser.lemony, 24581 tests/queryparsertest.cc: Add QueryParser::FLAG_PURE_NOT to allow 24582 pure NOT queries to be enabled (they are now disabled by default). 24583 24584Tue Nov 14 04:19:40 GMT 2006 Olly Betts <olly@survex.com> 24585 24586 * backends/database.cc,backends/flint/dir_contents, 24587 backends/quartz/dir_contents,docs/overview.html, 24588 docs/quartzdesign.html,docs/scalability.html: Make flint the default 24589 backend. 24590 24591Tue Nov 14 03:25:19 GMT 2006 Olly Betts <olly@survex.com> 24592 24593 * tests/api_nodb.cc: Xapian::Query("") now builds a query which 24594 matches all documents rather than throwing InvalidArgumentError 24595 so fix emptyquery1 test. 24596 24597Tue Nov 14 02:03:29 GMT 2006 Olly Betts <olly@survex.com> 24598 24599 * api/omdocument.cc: Tweak OmDocumentTerm::add_position() so that 24600 adding position 0 to an empty termlist takes the shortcut. 24601 24602Mon Nov 13 05:46:15 GMT 2006 Olly Betts <olly@survex.com> 24603 24604 * docs/queryparser.html: Document the new pure NOT feature. 24605 24606Mon Nov 13 05:24:30 GMT 2006 Olly Betts <olly@survex.com> 24607 24608 * api/omqueryinternal.cc,queryparser/queryparser.lemony, 24609 tests/queryparsertest.cc: Allow "pure NOT" queries - e.g. 24610 "NOT apples". Fixes bug #99. 24611 24612Mon Nov 13 04:54:04 GMT 2006 Olly Betts <olly@survex.com> 24613 24614 * api/omqueryinternal.cc: Undo changes accidentally committed in last 24615 check-in. 24616 24617Mon Nov 13 04:47:57 GMT 2006 Olly Betts <olly@survex.com> 24618 24619 * api/omqueryinternal.cc,backends/Makefile.am,backends/database.cc, 24620 backends/muscat36/,configure.ac,docs/overview.html, 24621 docs/quartzdesign.html,docs/tests.html,include/xapian/dbfactory.h, 24622 include/xapian/version_h.cc,tests/api_anydb.cc,tests/apitest.cc, 24623 tests/harness/backendmanager.cc,tests/harness/backendmanager.h, 24624 tests/harness/index_utils.cc: Remove support for the old Muscat 3.6 24625 backends. 24626 24627Mon Nov 13 04:02:27 GMT 2006 Richard Boulton <richard@lemurconsulting.com> 24628 24629 * common/database.h,api/omdatabase.cc, 24630 backends/inmemory/inmemory_database.cc, 24631 backends/inmemory/inmemory_database.h, 24632 backends/quartz/Makefile.am,backends/quartz/quartz_database.cc, 24633 backends/quartz/quartz_alldocspostlist.h, 24634 backends/quartz/quartz_alldocspostlist.cc, 24635 backends/flint/Makefile.am,backends/flint/flint_database.cc, 24636 backends/flint/flint_alldocspostlist.cc, 24637 backends/flint/flint_alldocspostlist.h: 24638 Implement posting lists which return a list of all documents in 24639 the database. Such a posting list is obtained by calling 24640 Xapian::Database::postlist_begin() with an empty term (ie, ""). 24641 Also, all Xapian::Database methods which take a termname now 24642 accept an empty term, and return appropriate values (ie, 24643 get_termfreq("") and get_collection_freq("") return the number of 24644 documents in the database, and term_exists("") returns true 24645 unless the database is empty). Fixes Bug #47. 24646 * docs/quartzdesign.html: Document the inefficiency of all-document 24647 postlists for Quartz. 24648 * tests/api_anydb.cc,tests/api_db.cc,tests/api_wrdb.cc: Add tests for 24649 all-document postlists, and for passing an empty term to all the 24650 applicable database methods. This defines the new tests 24651 allpostlist1, allpostlist2, emptyterm1, and emptyterm2. These 24652 tests currently skip for the remote backend where postlist_begin() 24653 isn't yet implemented. 24654 24655Mon Nov 13 02:06:03 GMT 2006 Olly Betts <olly@survex.com> 24656 24657 * Merge in utf8 branch: 24658 24659 Thu Sep 14 23:49:48 BST 2006 Olly Betts <olly@survex.com> 24660 24661 * queryparser/,tests/queryparsertest.cc: Update to work with 24662 UTF-8. Stop normalising accents - the general sentiment 24663 seems to be firmly against it, and where it is still 24664 appropriate we should get the stemmers to do it. 24665 24666Sun Nov 12 22:38:56 GMT 2006 Olly Betts <olly@survex.com> 24667 24668 * NEWS: Update from ChangeLog file in preparation for branching and 24669 merging. 24670 24671Sun Nov 12 19:32:01 GMT 2006 Olly Betts <olly@survex.com> 24672 24673 * backends/flint/flint_database.cc, 24674 backends/inmemory/inmemory_database.cc, 24675 backends/inmemory/inmemory_database.h, 24676 backends/quartz/quartz_database.cc: Fix replace_document() not to 24677 lose positional information for a document if it is replaced with 24678 itself with unmodified postings. 24679 * tests/api_wrdb.cc: Add testcase replace_document5 as regression test 24680 for the replace_document bug. 24681 * backends/remote/remote-database.cc: Fix 24682 RemoteDatabase::has_positions() to refetch the cached value if it 24683 might be out of date. 24684 24685Sun Nov 12 17:07:00 GMT 2006 Olly Betts <olly@survex.com> 24686 24687 * docs/Makefile.am: Need to increase pool_size further still to build 24688 sourcedoc.pdf (2000000 now). 24689 24690Sun Nov 12 16:24:15 GMT 2006 Olly Betts <olly@survex.com> 24691 24692 * HACKING: Add "update ReleaseNotes on wiki" to release checklist. 24693 24694Sun Nov 12 16:23:19 GMT 2006 Olly Betts <olly@survex.com> 24695 24696 * xapian.spec.in: Remove "." from end of "Summary:". Package 24697 new man page for xapian-progsrv. 24698 24699Sun Nov 12 00:43:36 GMT 2006 Olly Betts <olly@survex.com> 24700 24701 * docs/stemming.html: Update another "CVS" reference to say "SVN". 24702 24703Sun Nov 12 00:42:22 GMT 2006 Olly Betts <olly@survex.com> 24704 24705 * docs/install.html: Update reference to "CVS" to say "SVN". 24706 24707Thu Nov 09 01:11:52 GMT 2006 Olly Betts <olly@survex.com> 24708 24709 * HACKING: Reorder the release checklist a little. I've fixed 24710 update_website.sh to get the latest version from version.php, so 24711 now only version.php needs updating. 24712 24713Thu Nov 09 00:17:35 GMT 2006 Olly Betts <olly@survex.com> 24714 24715 * NEWS,PLATFORMS,configure.ac: Update for 0.9.9. 24716 24717Wed Nov 08 20:54:31 GMT 2006 Olly Betts <olly@survex.com> 24718 24719 * xapian.spec.in: Apply changes from Neal Becker to run "autoreconf 24720 --force" so that we don't set rpath for /usr/lib64, and add "libs" 24721 to %post and %postun. 24722 * AUTHORS: Thank Neal Becker. 24723 24724Wed Nov 08 04:27:17 GMT 2006 Olly Betts <olly@survex.com> 24725 24726 * docs/tests.html: Update for "testsuite" -> "tests/harness". Mark 24727 paths and programs with <code>...</code>. Improve wording in a few 24728 places. 24729 24730Wed Nov 08 03:10:37 GMT 2006 Olly Betts <olly@survex.com> 24731 24732 * bin/xapian-tcpsrv.cc: Need '#include "safeerrno.h"' for EADDRINUSE. 24733 24734Wed Nov 08 02:36:59 GMT 2006 Olly Betts <olly@survex.com> 24735 24736 * bin/Makefile.am,bin/xapian-progsrv.cc,bin/xapian-tcpsrv.cc: 24737 xapian-progsrv now uses getopt for option processing, and we can 24738 now generate a man page using help2man. Fixes Bug #98. 24739 24740Wed Nov 08 01:47:19 GMT 2006 Olly Betts <olly@survex.com> 24741 24742 * bin/xapian-tcpsrv.cc: If the port requested is in use, exit with 24743 code 69 (EX_UNAVAILABLE) which is useful if you're trying to 24744 automate launching of xapian-tcpsrv instances. 24745 * tests/harness/backendmanager.cc: If we can't start xapian-tcpsrv 24746 because the port is in use, try higher numbered ports. 24747 * tests/harness/testsuite.cc: Catch and report std::string exceptions. 24748 24749Tue Nov 07 22:40:58 GMT 2006 Olly Betts <olly@survex.com> 24750 24751 * net/tcpclient.cc: Turn on TCP_NODELAY for the client too. 24752 24753Tue Nov 07 21:46:39 GMT 2006 Olly Betts <olly@survex.com> 24754 24755 * net/tcpserver.cc: Turn on TCP_NODELAY for xapian-tcpsrv which 24756 increases throughput for the remote backend over tcp. 24757 24758Tue Nov 07 21:08:57 GMT 2006 Olly Betts <olly@survex.com> 24759 24760 * backends/flint/flint_btreebase.cc: Add missing '#include'-s. 24761 24762Tue Nov 07 17:57:22 GMT 2006 Olly Betts <olly@survex.com> 24763 24764 * backends/quartz/btree_base.cc: Add missing '#include'-s. 24765 24766Tue Nov 07 05:12:40 GMT 2006 Olly Betts <olly@survex.com> 24767 24768 * backends/flint/flint_positionlist.h,backends/flint/flint_table.cc, 24769 backends/quartz/btree.cc: Add missing '#include <vector>' which 24770 "utils.h" was implicitly pulling in. 24771 * common/utils.h: Move '#include "safefcntl.h"' to more logical place. 24772 24773Tue Nov 07 04:18:27 GMT 2006 Olly Betts <olly@survex.com> 24774 24775 * common/safefcntl.h: Actually add the new file to SVN. 24776 24777Tue Nov 07 03:36:59 GMT 2006 Olly Betts <olly@survex.com> 24778 24779 * HACKING,backends/flint/flint_io.h,backends/flint/flint_lock.cc, 24780 backends/flint/flint_lock.h,backends/muscat36/io_system.cc,common/, 24781 net/tcpserver.cc,tests/harness/backendmanager.cc, 24782 tests/harness/testsuite.cc: Create "safefcntl.h" as a replacement 24783 for <fcntl.h> instead of using "utils.h" for this purpose, since 24784 "utils.h" pulls in many other things we often don't want. 24785 * common/utils.cc,common/utils.h,net/progclient.cc: Move split_words 24786 to progclient.cc which is the only user of it. Rewrite it to not 24787 modified the string being split which risks being O(n^2). 24788 * net/progclient.cc,common/progclient.h: Pass std::string by const 24789 reference. 24790 * configure.ac: Fix DJGPP build (fork is present but always fails). 24791 24792Tue Nov 07 03:21:24 GMT 2006 Olly Betts <olly@survex.com> 24793 24794 * matcher/biaspostlist.h: Don't need '#include "utils.h"'. 24795 24796Tue Nov 07 01:15:14 GMT 2006 Olly Betts <olly@survex.com> 24797 24798 * common/c_strtod.cc: Remove file which was checked in but is unused! 24799 24800Mon Nov 06 15:24:02 GMT 2006 Olly Betts <olly@survex.com> 24801 24802 * tests/internaltest.cc: Disable serialiselength1 and serialisedoc1 24803 when the remote backend is disabled. 24804 24805Mon Nov 06 15:23:40 GMT 2006 Olly Betts <olly@survex.com> 24806 24807 * tests/Makefile.am: Fix typo in recent check-in. 24808 24809Mon Nov 06 01:43:37 GMT 2006 Olly Betts <olly@survex.com> 24810 24811 * tests/Makefile.am: Need "harness" in "$(srcdir)" for VPATH builds to 24812 work. 24813 24814Sun Nov 05 19:55:26 GMT 2006 Olly Betts <olly@survex.com> 24815 24816 * backends/quartz/Makefile.am: Remove explicit dependency of 24817 libbtreecheck.la on libxapian.la. We always link in libxapian.la 24818 and the explicit dependency makes it hard to build things in a 24819 sane order. 24820 24821Sun Nov 05 19:29:17 GMT 2006 Olly Betts <olly@survex.com> 24822 24823 * net/tcpserver.cc: Don't define on_SIGCHLD() unless we'll use it. 24824 * tests/harness/backendmanager.cc: Use a proper signal handler for 24825 SIGCHLD if we have waitpid() - POSIX leaves the semantics of 24826 SIG_IGN on SIGCHLD unspecified. 24827 24828Sun Nov 05 19:11:36 GMT 2006 Olly Betts <olly@survex.com> 24829 24830 * backends/quartz/Makefile.am,backends/quartz/btreecheck.cc, 24831 backends/quartz/btreecheck.h,bin/Makefile.am,tests/Makefile.am, 24832 tests/harness/: Use _exit(0) instead of exit(0) in the child 24833 process which closes the pipe to xapian-tcpsrv in BackendManager 24834 since we don't want to call atexit functions from the child. Move 24835 btreecheck stuff into backends/quartz. 24836 24837Sun Nov 05 17:12:05 GMT 2006 Olly Betts <olly@survex.com> 24838 24839 * Makefile.am,bin/Makefile.am,configure.ac,tests/Makefile.am, 24840 tests/harness/Makefile.am,tests/harness/dir_contents,testsuite/: 24841 Move the testsuite harness from "testsuite/" to "tests/harness/". 24842 24843Sun Nov 05 16:36:56 GMT 2006 Olly Betts <olly@survex.com> 24844 24845 * testsuite/backendmanager.cc,testsuite/backendmanager.h: Now needs 24846 <stdio.h>. Set SIG_IGN for SIG_CHLD so we don't get zombie child 24847 processes. 24848 24849Sun Nov 05 03:53:24 GMT 2006 Olly Betts <olly@survex.com> 24850 24851 * tests/apitest.cc: Make backendmanager static. 24852 24853Sun Nov 05 03:51:36 GMT 2006 Olly Betts <olly@survex.com> 24854 24855 * bin/xapian-tcpsrv.cc: Output "Listening..." once the socket is 24856 open and read for connections. 24857 * testsuite/backendmanager.cc: Use popen() to run xapian-tcpsrv 24858 and wait for "Listening..." before returning rather than just 24859 sleeping for 1 second and hoping that's enough. 24860 24861Sun Nov 05 02:54:23 GMT 2006 Olly Betts <olly@survex.com> 24862 24863 * tests/api_db.cc: Remove unnecessary inclusion of backendmanager.h. 24864 24865Fri Nov 03 02:09:26 GMT 2006 Olly Betts <olly@survex.com> 24866 24867 * HACKING: Update debian packaging checklist. 24868 24869Fri Nov 03 00:57:35 GMT 2006 Olly Betts <olly@survex.com> 24870 24871 * docs/Makefile.am: Building sourcedoc.pdf needs a larger pool_size 24872 now. 24873 24874Thu Nov 02 19:12:34 GMT 2006 Olly Betts <olly@survex.com> 24875 24876 * AUTHORS: Updated. 24877 24878Thu Nov 02 15:41:46 GMT 2006 Olly Betts <olly@survex.com> 24879 24880 * HACKING,NEWS,configure.ac: Update for 0.9.8. 24881 24882Thu Nov 02 15:20:05 GMT 2006 Olly Betts <olly@survex.com> 24883 24884 * PLATFORMS: Update from tinderbox. 24885 24886Thu Nov 02 11:53:53 GMT 2006 Olly Betts <olly@survex.com> 24887 24888 * configure.ac: GCC's -Wendif-labels is enabled by default on versions 24889 which support it, which simplifies our tests. 24890 24891Thu Nov 02 00:22:44 GMT 2006 Olly Betts <olly@survex.com> 24892 24893 * backends/remote/dir_contents: Update. 24894 24895Wed Nov 01 15:33:12 GMT 2006 Olly Betts <olly@survex.com> 24896 24897 * common/omstringstream.h: Fix our implementation of om_ostringstream 24898 to work with OmTime. 24899 24900Wed Nov 01 03:27:36 GMT 2006 Olly Betts <olly@survex.com> 24901 24902 * queryparser/queryparser.lemony,tests/queryparsertest.cc: Don't 24903 require a prefixed boolean term to start with an alphanumeric 24904 - allow the same set of characters as we do for the second and 24905 subsequent characters. 24906 24907Sat Oct 28 04:12:13 BST 2006 Olly Betts <olly@survex.com> 24908 24909 * bin/quartzcheck.cc: Add catch for unknown exceptions. 24910 24911Sat Oct 28 03:49:19 BST 2006 Olly Betts <olly@survex.com> 24912 24913 * HACKING,configure.ac,docs/Makefile.am,docs/doxygen_api_conf.in, 24914 docs/doxygen_full_conf.in: Produce a PDF for apidoc rather than 24915 PostScript, since the PDF is smaller, and easier to view for most 24916 users. Use pdflatex to generate the PDF directly rather than 24917 going via a DVI file. This also avoids problems on some Linux 24918 distros where latex is a symlink to pdfelatex (bug#81, bug#95). 24919 24920Thu Oct 26 22:12:20 BST 2006 Richard Boulton <richard@lemurconsulting.com> 24921 24922 * bin/quartzcheck.cc: Catch (and display) any exceptions which are 24923 of type "const char *error". btreecheck.cc raises an exception 24924 of this type if a btree error is found, and this avoids 24925 quartzcheck dying quite so horribly in this case. 24926 24927Wed Oct 25 23:30:26 BST 2006 Olly Betts <olly@survex.com> 24928 24929 * configure.ac: -Wendif-labels is new in GCC 3.3. 24930 * configure.ac: Revert accidental change which turned on -Werror in 24931 non-maintainer builds. 24932 * configure.ac: Avoid non-portable use of double quotes in 24933 double-quoted backticks. 24934 24935Wed Oct 25 01:19:24 BST 2006 Olly Betts <olly@survex.com> 24936 24937 * configure.ac: Redhat's GCC 2.96 doesn't support -Wundef even 24938 though real GCC version before and after it do! Also, use 24939 -Wshadow and -Wendif-labels even when not in maintainer mode. 24940 24941Tue Oct 24 04:17:58 BST 2006 Olly Betts <olly@survex.com> 24942 24943 * backends/flint/flint_lock.cc,bin/quartzcheck.cc: Eliminate 24944 a couple of variables whose value is never used. 24945 24946Tue Oct 24 00:31:25 BST 2006 Olly Betts <olly@survex.com> 24947 24948 * backends/quartz/quartz_database.cc: Only force a flush on 24949 WritableDatabase::allterms_begin() if there are actually pending 24950 changes. 24951 24952Mon Oct 23 23:49:52 BST 2006 Olly Betts <olly@survex.com> 24953 24954 * backends/flint/flint_database.cc: Only force a flush on 24955 WritableDatabase::allterms_begin() if there are actually pending 24956 changes. 24957 24958Mon Oct 23 02:24:12 BST 2006 Olly Betts <olly@survex.com> 24959 24960 * configure.ac: When checking if we need -lm, don't use a constant 24961 argument to log as the compiler might simply evaluate the whole 24962 expression at compile time. 24963 24964Sat Oct 21 20:42:52 BST 2006 Olly Betts <olly@survex.com> 24965 24966 * HACKING: Mention automake 1.10 is out but we've not tested it yet. 24967 24968Sat Oct 21 20:39:57 BST 2006 Olly Betts <olly@survex.com> 24969 24970 * HACKING: Add entries to release checklist: make sure new API methods 24971 are wrapped by the bindings, and that bug submitters are thanked. 24972 24973Fri Oct 20 13:56:50 BST 2006 Richard Boulton <richard@lemurconsulting.com> 24974 24975 * backends/flint/flint_io.cc: Fix compilation on windows (needs to 24976 #include "safewindows.h" to get definition of SSIZE_T). 24977 24978Tue Oct 17 02:16:37 BST 2006 Olly Betts <olly@survex.com> 24979 24980 * testsuite/backendmanager.cc: Fix compilation when valgrind is 24981 detected by configure. 24982 24983Thu Oct 12 13:30:05 BST 2006 Olly Betts <olly@survex.com> 24984 24985 * xapian.spec.in: Package xapian-progsrv. 24986 24987Thu Oct 12 00:49:47 BST 2006 Olly Betts <olly@survex.com> 24988 24989 * HACKING: Note that on Debian, tetex-extra is needed for 24990 fancyhdr.sty. 24991 * HACKING: Note that dch can be used to update debian/changelog. 24992 24993Wed Oct 11 23:35:08 BST 2006 Olly Betts <olly@survex.com> 24994 24995 * docs/Makefile.am: If running latex on refman.ps fails, cat 24996 refman.log since that is likely to show what failed. 24997 24998Tue Oct 10 17:24:00 BST 2006 Olly Betts <olly@survex.com> 24999 25000 * NEWS: Bump release date. 25001 25002Sun Oct 08 21:41:04 BST 2006 Olly Betts <olly@survex.com> 25003 25004 * NEWS,PLATFORMS,configure.ac: Update for 0.9.7. 25005 25006Sun Oct 08 10:06:51 BST 2006 Olly Betts <olly@survex.com> 25007 25008 * testsuite/testsuite.cc: Use lseek() to skip existing valgrind output 25009 instead of repeated calls to read. Handle the old valgrind naming 25010 convention for log files. 25011 25012Sun Oct 08 09:35:59 BST 2006 Olly Betts <olly@survex.com> 25013 25014 * matcher/multimatch.cc: Fix a couple of typos in comments. 25015 25016Sun Oct 08 05:36:36 BST 2006 Olly Betts <olly@survex.com> 25017 25018 * configure.ac: Disable probing and short-cut tests for a FORTRAN 25019 compiler. We don't use one, but current libtool versions always 25020 check for it regardless. 25021 25022Sat Oct 07 21:19:35 BST 2006 Olly Betts <olly@survex.com> 25023 25024 * configure.ac,tests/runtest.in,testsuite/backendmanager.cc, 25025 testsuite/testsuite.cc: Fix testsuite harness to show valgrind 25026 output when a test fails (when running under valgrind in verbose 25027 mode). This probably stopped working due to changes in valgrind 3. 25028 * testsuite/backendmanager.cc: Run xapian-tcpsrv under valgrind if 25029 apitest is. 25030 25031Fri Oct 6 18:27:13 BST 2006 Richard Boulton <richard@lemurconsulting.com> 25032 25033 * tests/runtest.in: export $LIBTOOL, $VALGRIND and $VG_LOG_FD. 25034 * testsuite/backendmanager.cc: If $LIBTOOL, $VALGRIND and 25035 $VG_LOG_FD are set, run progsrv under valgrind. Fixes 25036 Bug #94. 25037 * net/remoteserver.cc: Use an AutoPtr to hold the unserialised 25038 query, so it gets deleted if an exception is thrown. 25039 * api/omqueryinternal.cc: Use AutoPtr in one place, and a try-catch 25040 in another, to ensure that partially unserialised queries get 25041 deleted if exceptions are thrown. 25042 * tests/internaltest.cc: Add copyright notices to file for recent 25043 change. 25044 * AUTHORS: Add myself as a current developer, now that I've started 25045 committing to the core again. 25046 25047Fri Oct 06 17:44:21 BST 2006 Olly Betts <olly@survex.com> 25048 25049 * api/omqueryinternal.cc: Fix memory leak in query unserialisation. 25050 25051Fri Oct 6 17:34:59 BST 2006 Richard Boulton <richard@lemurconsulting.com> 25052 25053 * tests/runtest.in: Cache result of test for $VG_LOG_FD if we 25054 find the new option. Saves 2 seconds for each invocation on my 25055 machine, which is half the time when running just a single simple 25056 test. 25057 25058Fri Oct 6 16:35:46 BST 2006 Richard Boulton <richard@lemurconsulting.com> 25059 25060 * tests/internaltest.cc: Check serialisation and unserialisation of 25061 Query objects. Currently fails under valgrind due to a memory 25062 leak somewhere in the unserialisation code. 25063 25064Thu Oct 05 14:13:55 BST 2006 Olly Betts <olly@survex.com> 25065 25066 * include/xapian/error.h: Only enable the SWIG visibility hook when 25067 using GCC 4 or later. 25068 25069Wed Oct 04 20:32:43 BST 2006 Olly Betts <olly@survex.com> 25070 25071 * m4/xapian.m4: Remove overquoting. 25072 25073Wed Oct 4 13:28:09 BST 2006 Richard Boulton <richard@lemurconsulting.com> 25074 25075 * common/utils.h: MSVC seems to #define open. However, the 25076 workaround for this problem implemented for old versions of 25077 solaris doesn't work for windows, so avoid applying the fix for 25078 windows, and just #undef open. (Windows seems to define some 25079 open() functions, as well as #defining open!) 25080 25081Wed Oct 4 13:26:18 BST 2006 Richard Boulton <richard@lemurconsulting.com> 25082 25083 * net/serialise.cc: Use "unsigned char" instead of "char" when 25084 serialising lengths, to avoid problems on platforms where char is 25085 signed (eg, windows). 25086 25087Wed Oct 04 12:25:51 BST 2006 Olly Betts <olly@survex.com> 25088 25089 * backends/flint/flint_version.cc: Remove "100" from start of file so 25090 it actually compiles. 25091 25092Mon Oct 02 13:57:56 BST 2006 Olly Betts <olly@survex.com> 25093 25094 * xapian-config.in: Fix typo - "@libdir" should be "@libdir@". 25095 This would lead to -L/usr/lib not being pruned, which is really 25096 just a cosmetic problem (the typo was introduced in 0.9.3). 25097 25098Thu Sep 28 02:00:05 BST 2006 Olly Betts <olly@survex.com> 25099 25100 * matcher/multimatch.cc: Reserve the right number of entries in the 25101 subrsets vector. 25102 25103Fri Sep 22 07:48:32 BST 2006 Olly Betts <olly@survex.com> 25104 25105 * common/serialise-double.cc: Fix warning with aCC. 25106 25107Fri Sep 22 04:43:06 BST 2006 Olly Betts <olly@survex.com> 25108 25109 * HACKING: Expand note on _GLIBCXX_DEBUG; Now using autoconf 2.60 for 25110 snapshots and releases; Now using a libtool patch which improves 25111 support for -library=stlport4 with Sun's C++; Give URL to Alexandre 25112 Duret-Lutz's autotools tutorial, which is much more up-to-date than 25113 the "goat book". 25114 25115Fri Sep 22 04:42:08 BST 2006 Olly Betts <olly@survex.com> 25116 25117 * common/serialise-double.cc: Fix a few compiler warnings. 25118 25119Fri Sep 22 04:29:18 BST 2006 Olly Betts <olly@survex.com> 25120 25121 * backends/flint/flint_lock.cc: Retry on EINTR from fcntl or waitpid. 25122 25123Fri Sep 22 03:39:12 BST 2006 Olly Betts <olly@survex.com> 25124 25125 * include/xapian/version_h.cc: Only check _GLIBCXX_DEBUG for GCC 3.4 25126 and later (which are the versions which support it). 25127 25128Fri Sep 22 03:37:02 BST 2006 Olly Betts <olly@survex.com> 25129 25130 * bin/xapian-tcpsrv.cc: Report errno if we catch a Xapian::Error which 25131 has it set. 25132 25133Fri Sep 22 03:30:25 BST 2006 Olly Betts <olly@survex.com> 25134 25135 * configure.ac: Turn on -Wportability to help ensure our Makefile.am's 25136 are written in a portable way. 25137 25138Fri Sep 22 03:29:25 BST 2006 Olly Betts <olly@survex.com> 25139 25140 * tests/runtest.in: Turn on GLIBCXX_FORCE_NEW when running tests under 25141 valgrind. 25142 25143Tue Sep 19 06:28:47 BST 2006 Olly Betts <olly@survex.com> 25144 25145 * tests/internaltest.cc: Check that the the destructor on a temporary 25146 object gets called at the correct time (Sun C++ deliberately gets 25147 this wrong by default). 25148 25149Tue Sep 19 04:32:04 BST 2006 Olly Betts <olly@survex.com> 25150 25151 * include/xapian/enquire.h: Revert change to Xapian::Weight's copy 25152 constructor because it prevents Omega from compiling. 25153 25154Tue Sep 19 04:01:14 BST 2006 Olly Betts <olly@survex.com> 25155 25156 * configure.ac: Make the argument of log() a double to avoid 25157 potential compiler warnings. 25158 25159Mon Sep 18 22:58:19 BST 2006 Olly Betts <olly@survex.com> 25160 25161 * include/xapian/enquire.h: Xapian::Weight's copy constructor should 25162 be private not protected (direct copying isn't allowed). 25163 25164Mon Sep 18 07:03:51 BST 2006 Olly Betts <olly@survex.com> 25165 25166 * configure.ac: We reportedly need "-lm" to get maths functions on 25167 some versions of Sun's C++ compiler. 25168 25169Sat Sep 16 12:08:25 BST 2006 Olly Betts <olly@survex.com> 25170 25171 * configure.ac: Sun's C++ compiler implements non-standards-conforming 25172 lifetimes for temporary objects (for "backwards compatibility" with 25173 old Sun C++ specific code). We don't care about such code, so 25174 always pass "-features=tmplife" for Sun C++. 25175 25176Sat Sep 16 03:04:57 BST 2006 Olly Betts <olly@survex.com> 25177 25178 * bin/xapian-progsrv.cc: Oops, fix compilation error. 25179 25180Sat Sep 16 02:13:22 BST 2006 Olly Betts <olly@survex.com> 25181 25182 * bin/xapian-progsrv.cc: Fix messages send by xapian-progsrv if an 25183 exception is thrown while opening the database. 25184 25185Fri Sep 15 06:29:55 BST 2006 Olly Betts <olly@survex.com> 25186 25187 * tests/internaltest.cc: 1/DBL_MAX may be less than DBL_MIN but on 25188 platforms like x86 which hold results in registers with extra 25189 precision, this is still representable, but not reliably so 25190 the test sometimes fails. 25191 25192Fri Sep 15 02:40:52 BST 2006 Olly Betts <olly@survex.com> 25193 25194 * backends/flint/flint_btreebase.cc: Avoid copying beyond the end of 25195 the bitmap block. 25196 25197Thu Sep 14 02:01:58 BST 2006 Olly Betts <olly@survex.com> 25198 25199 * backends/flint/flint_version.cc: Fix warning from GCC 4.1.0. 25200 25201Wed Sep 13 18:12:43 BST 2006 Olly Betts <olly@survex.com> 25202 25203 * backends/flint/flint_io.cc,backends/flint/flint_io.h, 25204 backends/flint/flint_version.cc: Fix compiler warnings. 25205 25206Wed Sep 13 06:09:40 BST 2006 Olly Betts <olly@survex.com> 25207 25208 * backends/flint/flint_version.cc,backends/flint/flint_version.h: 25209 Actually commit the new files! 25210 25211Wed Sep 13 05:21:04 BST 2006 Olly Betts <olly@survex.com> 25212 25213 * backends/flint/,common/utils.h: Rewrite some of flint's low level IO 25214 functions, and the "iamflint" handling class. 25215 25216Tue Sep 12 20:22:57 BST 2006 Olly Betts <olly@survex.com> 25217 25218 * backends/remote/remote-database.cc: Fix to compile. 25219 25220Tue Sep 12 18:56:16 BST 2006 Olly Betts <olly@survex.com> 25221 25222 * backends/remote/remote-database.cc,common/remote-database.h: 25223 Fix bug in remote backend which incorrectly returned an empty MSet 25224 under certain circumstances! 25225 25226Tue Sep 12 11:51:31 BST 2006 Olly Betts <olly@survex.com> 25227 25228 * matcher/msetcmp.cc: "static inline" -> "inline" since the static is 25229 superfluous and Sun's C++ warns. 25230 25231Mon Sep 11 23:42:28 BST 2006 Olly Betts <olly@survex.com> 25232 25233 * configure.ac: Check $CXX not $CC to identify which C++ compiler we 25234 have. 25235 25236Mon Sep 11 16:32:37 BST 2006 Olly Betts <olly@survex.com> 25237 25238 * api/omenquire.cc,api/vectortermlist.h, 25239 backends/flint/flint_positionlist.cc,configure.ac, 25240 net/remoteconnection.cc,net/tcpclient.cc, 25241 queryparser/queryparser.lemony,tests/api_anydb.cc,tests/api_db.cc, 25242 tests/api_nodb.cc: I've discovered that -library=stlport4 puts 25243 Sun's compiler into an "ANSI C++ compliant" mode, so do that 25244 automatically in configure and throw away all the annoying special 25245 bits of alternative code we'd accumulated just for this one 25246 compiler. 25247 25248Mon Sep 11 16:01:20 BST 2006 Olly Betts <olly@survex.com> 25249 25250 * tests/api_wrdb.cc: Speed up deldoc4 when run in verbose mode 25251 - some stringstream implementations are very inefficient when 25252 the string grows long. 25253 25254Mon Sep 11 05:30:29 BST 2006 Olly Betts <olly@survex.com> 25255 25256 * HACKING: Add some advice regarding debugging using -D_GLIBCXX_DEBUG, 25257 valgrind, and gdb. 25258 25259Sun Sep 10 02:24:47 BST 2006 Olly Betts <olly@survex.com> 25260 25261 * configure.ac: Fix last check-in to actually work. 25262 25263Sat Sep 09 04:19:44 BST 2006 Olly Betts <olly@survex.com> 25264 25265 * configure.ac: Ensure that if _GLIBCXX_DEBUG has been specified that 25266 it also passed when generating version.h. 25267 25268Sat Sep 09 04:01:40 BST 2006 Olly Betts <olly@survex.com> 25269 25270 * tests/internaltest.cc: Give more useful output should the double 25271 serialisation test fail. 25272 25273Sat Sep 09 03:19:20 BST 2006 Olly Betts <olly@survex.com> 25274 25275 * include/xapian/version_h.cc: Add a check that _GLIBCXX_DEBUG is 25276 set compatibly if we're compiling with GNU C++. 25277 25278Sat Sep 09 02:55:38 BST 2006 Olly Betts <olly@survex.com> 25279 25280 * backends/flint/flint_modifiedpostlist.cc: Fix potential access to 25281 iterator which has already reached its end. 25282 25283Fri Sep 08 04:05:28 BST 2006 Olly Betts <olly@survex.com> 25284 25285 * backends/remote/remote-database.cc,common/,matcher/bm25weight.cc, 25286 matcher/tradweight.cc,net/,tests/internaltest.cc: Split the double 25287 serialisation code off into its own file - it is used by BM25Weight 25288 and TradWeight, so it needs to be compiled in even when the remote 25289 backend is disabled. 25290 25291Thu Sep 07 00:09:41 BST 2006 Olly Betts <olly@survex.com> 25292 25293 * testsuite/backendmanager.cc: Discard stderr from xapian-tcpsrv 25294 so we don't get "write error" messages appearing in the testsuite 25295 output when we've just closed the connection at the client side. 25296 25297Tue Sep 05 21:07:40 BST 2006 Olly Betts <olly@survex.com> 25298 25299 * api/omqueryinternal.cc: Fix warning when remote backend 25300 is disabled. 25301 25302Tue Sep 05 20:58:52 BST 2006 Olly Betts <olly@survex.com> 25303 25304 * docs/Makefile.am: Add extra dependencies so that parallel make 25305 doesn't try to run latex twice simultaneously. 25306 25307Tue Sep 05 20:58:13 BST 2006 Olly Betts <olly@survex.com> 25308 25309 * AUTHORS: Updated. 25310 25311Tue Sep 05 20:56:50 BST 2006 Olly Betts <olly@survex.com> 25312 25313 * Makefile.am: Fix typo. 25314 25315Tue Sep 05 03:23:14 BST 2006 Olly Betts <olly@survex.com> 25316 25317 * docs/queryparser.html,queryparser/queryparser.lemony, 25318 tests/queryparsertest.cc: Implement "ADJ" operator - like 25319 "NEAR" except the terms must appear in matching documents in the 25320 same order as in the query. 25321 25322Tue Sep 05 03:19:12 BST 2006 Olly Betts <olly@survex.com> 25323 25324 * backends/remote/remote-database.cc,common/,docs/remote_protocol.html, 25325 matcher/bm25weight.cc,matcher/tradweight.cc,net/remoteserver.cc, 25326 net/serialise.cc,tests/internaltest.cc: Change how doubles are 25327 serialised by TradWeight, BM25Weight, and in the remote backend 25328 protocol. The new encoding allows us to transfer any double 25329 value which can be represented by both machines precisely and 25330 compactly. 25331 25332Tue Sep 05 02:27:36 BST 2006 Olly Betts <olly@survex.com> 25333 25334 * docs/queryparser.html,queryparser/queryparser.lemony, 25335 tests/queryparsertest.cc: Allow a distance to be specified 25336 for NEAR - e.g. "cats NEAR/3 dogs" (bug#92). 25337 25338Fri Sep 01 00:29:10 BST 2006 Olly Betts <olly@survex.com> 25339 25340 * backends/remote/remote-database.cc,common/remote-database.h: 25341 Fix RemoteDatabase::reopen() to not be const so it actually 25342 overrides the virtual method it is supposed to. 25343 25344Thu Aug 31 21:40:53 BST 2006 Olly Betts <olly@survex.com> 25345 25346 * testsuite/backendmanager.h: Remove unneeded BackendManager:: 25347 qualifications. 25348 25349Thu Aug 31 17:08:16 BST 2006 Olly Betts <olly@survex.com> 25350 25351 * matcher/msetpostlist.cc,matcher/msetpostlist.h: Move #include 25352 "omenquireinternal.h" into the header to fix compilation error 25353 with older versions of GCC. 25354 25355Thu Aug 31 16:38:33 BST 2006 Olly Betts <olly@survex.com> 25356 25357 * PLATFORMS: Added success report for Nexenta (alpha 5). 25358 25359Wed Aug 30 23:41:08 BST 2006 Olly Betts <olly@survex.com> 25360 25361 * configure.ac: Fix generation of version.h to work with Solaris sed. 25362 25363Sat Aug 26 15:28:22 BST 2006 Olly Betts <olly@survex.com> 25364 25365 * docs/index.html: Add links to the wiki. 25366 25367Sun Jul 16 03:48:26 BST 2006 Olly Betts <olly@survex.com> 25368 25369 * common/Makefile.am: Ship remoteprotocol.h. 25370 25371Sun Jul 16 02:23:54 BST 2006 Olly Betts <olly@survex.com> 25372 25373 * common/remote-database.h: Add new file I missed in the previous 25374 commit. 25375 25376Sun Jul 16 01:58:25 BST 2006 Olly Betts <olly@survex.com> 25377 25378 * Makefile.am,api/,backends/Makefile.am,backends/database.cc, 25379 backends/dbfactory_remote.cc,backends/flint/flint_database.cc, 25380 backends/flint/flint_termlist.cc,backends/flint/flint_termlist.h, 25381 backends/inmemory/inmemory_database.cc, 25382 backends/inmemory/inmemory_database.h, 25383 backends/multi/multi_termlist.cc,backends/multi/multi_termlist.h, 25384 backends/net/,backends/quartz/quartz_termlist.cc, 25385 backends/quartz/quartz_termlist.h,backends/remote/,bin/Makefile.am, 25386 bin/xapian-progsrv.cc,bin/xapian-tcpsrv.cc,common/,configure.ac, 25387 docs/remote_protocol.html,include/xapian/,matcher/,net/,tests/, 25388 testsuite/backendmanager.cc,testsuite/backendmanager.h: Rewrite 25389 most of the remote backend. It now supports most operations 25390 which a local database does (including writing!), the protocol 25391 used is more compact, and a number of layers of classes have 25392 been eliminated and the sequences of method calls simplified, so the 25393 code should be easier to understand and maintain despite doing more. 25394 A number of bugs have been fixed in the process. 25395 25396Sat Jul 15 05:10:38 BST 2006 Olly Betts <olly@survex.com> 25397 25398 * tests/api_nodb.cc: Doesn't need <iostream>. 25399 25400Sat Jul 15 01:06:27 BST 2006 Olly Betts <olly@survex.com> 25401 25402 * README: Add link to the wiki. Tweak wording. 25403 25404Fri Jul 14 15:21:39 BST 2006 Olly Betts <olly@survex.com> 25405 25406 * configure.ac: Note in error message that dot is in graphviz. 25407 25408Fri Jul 14 15:17:36 BST 2006 Olly Betts <olly@survex.com> 25409 25410 * docs/overview.html: Add discussion of uses of terms vs values. 25411 25412Fri Jul 14 15:01:04 BST 2006 Olly Betts <olly@survex.com> 25413 25414 * docs/overview.html: Rewrite the section on Xapian::Document to 25415 remove some very out-of-date information and make it clearer. 25416 25417Tue Jul 11 18:41:07 BST 2006 Olly Betts <olly@survex.com> 25418 25419 * queryparser/queryparser.lemony: Fix problem I believe was introduced 25420 by previous fix. 25421 * tests/queryparsertest.cc: Add regression test and some additional 25422 related test cases. 25423 25424Tue Jul 11 03:32:48 BST 2006 Olly Betts <olly@survex.com> 25425 25426 * queryparser/queryparser.lemony: Fix bug in how we handle prefixed 25427 quoted phrases and prefixed brackets. 25428 * tests/queryparsertest.cc: Add regression tests. 25429 25430Mon Jul 10 23:17:58 BST 2006 Olly Betts <olly@survex.com> 25431 25432 * include/xapian/database.h: Note that automatically allocated 25433 document IDs don't reuse IDs from deleted document. 25434 25435Wed Jul 05 01:06:35 BST 2006 Olly Betts <olly@survex.com> 25436 25437 * tests/api_wrdb.cc: Tweak whitespace. 25438 25439Mon Jun 26 23:56:02 BST 2006 Olly Betts <olly@survex.com> 25440 25441 * PLATFORMS: Added success reports for MSVC and sparc linux. 25442 25443Sat Jun 17 02:01:35 BST 2006 Olly Betts <olly@survex.com> 25444 25445 * Makefile.am,tests/Makefile.am: Tweak new check-* rules to be more 25446 portable and robust. 25447 25448Sun Jun 11 23:29:48 BST 2006 Olly Betts <olly@survex.com> 25449 25450 * queryparser/queryparser.lemony,tests/queryparsertest.cc: Fix parsing 25451 of loved and hated prefixed phrases and bracketted expressions. Fix 25452 handling of stopwords in boolean expressions. Don't ignore a 25453 stopword if it's the only query term. Add regression tests for all 25454 these cases. 25455 25456Fri Jun 09 15:21:07 BST 2006 Olly Betts <olly@survex.com> 25457 25458 * docs/queryparser.html: Add pointer to set_database when describing 25459 FLAG_WILDCARD. 25460 25461Fri Jun 09 13:51:03 BST 2006 Olly Betts <olly@survex.com> 25462 25463 * include/xapian/queryparser.h: Add note that FLAG_WILDCARD requires 25464 you to call set_database. 25465 25466Fri Jun 09 13:49:34 BST 2006 Olly Betts <olly@survex.com> 25467 25468 * api/omqueryinternal.cc: Don't compile query serialisation if the 25469 remote backend is disabled. 25470 25471Fri Jun 09 01:48:25 BST 2006 Olly Betts <olly@survex.com> 25472 25473 * api/omdocument.cc,tests/api_nodb.cc: add_value failed to replace an 25474 existing value with the same number, contrary to what the 25475 documentation says (bug #82). 25476 25477Thu Jun 08 21:36:54 BST 2006 Olly Betts <olly@survex.com> 25478 25479 * matcher/multimatch.cc: Don't fetch the document data when fetching 25480 the value to sort on. Simple benchmarking showed this to speed 25481 up sort by value by a factor of between 3 and 9! 25482 25483Sun Jun 04 17:36:01 BST 2006 Olly Betts <olly@survex.com> 25484 25485 * backends/flint/: Remove forced flush when iterating the posting list 25486 of a term which has modified posting pending. 25487 25488Sat Jun 03 21:38:43 BST 2006 Olly Betts <olly@survex.com> 25489 25490 * backends/flint/flint_database.cc,backends/flint/flint_termlist.cc, 25491 backends/quartz/quartz_database.cc,tests/api_wrdb.cc: We can't flush 25492 during a transaction, which means that we can't use flush to avoid 25493 having to handle corner cases (like deleting a document right after 25494 adding it before it's been flushed) so handle corner cases properly 25495 (except for postlist_begin() and allterms_begin() which are 25496 harder - these now throw UnimplementedError at least...) 25497 * backends/flint/flint_database.cc,backends/quartz/quartz_database.cc: 25498 replace_document(did, doc) was double-incrementing the "changes" 25499 counter when document did didn't exist - fixed. 25500 25501Sat Jun 03 17:53:41 BST 2006 Olly Betts <olly@survex.com> 25502 25503 * HACKING: Document "make check-flint" and "make check-quartz". 25504 25505Sat Jun 03 17:49:25 BST 2006 Olly Betts <olly@survex.com> 25506 25507 * Makefile.am,tests/Makefile.am: Added make targets "check-flint" and 25508 "check-quartz" which run the subset of tests which test the flint 25509 and quartz backends respectively. 25510 25511Sat Jun 03 04:03:00 BST 2006 Olly Betts <olly@survex.com> 25512 25513 * api/omdatabase.cc,backends/database.cc, 25514 backends/flint/flint_database.cc,backends/flint/flint_database.h, 25515 backends/inmemory/inmemory_database.cc, 25516 backends/inmemory/inmemory_database.h,backends/quartz/dir_contents, 25517 backends/quartz/quartz_database.cc,backends/quartz/quartz_database.h, 25518 common/database.h,include/xapian/database.h,tests/apitest.cc: 25519 Rework transactions to support "unflushed" transactions, and so 25520 they work with quartz as well as with flint. 25521 25522Sat Jun 03 03:18:22 BST 2006 Olly Betts <olly@survex.com> 25523 25524 * HACKING: Document "make check-remote". 25525 25526Sat Jun 03 00:23:46 BST 2006 Olly Betts <olly@survex.com> 25527 25528 * backends/database.cc,backends/flint/dir_contents, 25529 backends/flint/flint_database.cc,backends/flint/flint_database.h, 25530 backends/quartz/dir_contents,common/database.h, 25531 include/xapian/database.h,tests/: Implement transactions for 25532 flint. 25533 25534Sat Jun 03 00:14:37 BST 2006 Olly Betts <olly@survex.com> 25535 25536 * tests/apitest.cc: Run tests on flint if flint is enabled, rather 25537 than if quartz is enabled. 25538 25539Sun May 28 23:01:45 BST 2006 Olly Betts <olly@survex.com> 25540 25541 * common/omtime.h: Add operator+ and operator+= with argument of 25542 type Xapian::timeout. 25543 25544Sun May 28 22:02:30 BST 2006 Olly Betts <olly@survex.com> 25545 25546 * include/xapian/errorhandler.h: Fix typos in private assignment 25547 operator and copy ctor (Error -> ErrorHandler!) 25548 25549Sun May 28 21:54:05 BST 2006 Olly Betts <olly@survex.com> 25550 25551 * Makefile.am,tests/Makefile.am: Add "check-remote" target which runs 25552 the subset of tests which test the remote backend. 25553 25554Thu May 25 16:06:06 BST 2006 Olly Betts <olly@survex.com> 25555 25556 * api/omdatabase.cc,backends/database.cc,common/database.h: 25557 Merge Xapian::Internal::open_database() into the Xapian::Database 25558 ctor which calls it; merge Xapian::Internal::open_writable_database() 25559 into the Xapian::WritableDatabase ctor which calls it. 25560 25561Wed May 24 08:28:40 BST 2006 Olly Betts <olly@survex.com> 25562 25563 * net/socketserver.cc: OmLineBuf -> OmSocketLineBuf. 25564 25565Wed May 24 08:27:22 BST 2006 Olly Betts <olly@survex.com> 25566 25567 * common/socketserver.h: OmLineBuf -> OmSocketLineBuf. 25568 25569Wed May 24 07:50:51 BST 2006 Olly Betts <olly@survex.com> 25570 25571 * common/Makefile.am,common/omlinebuf.h,common/socketcommon.h, 25572 net/Makefile.am,net/omlinebuf.cc,net/socketcommon.cc: 25573 Merge OmLineBuf into OmSocketLineBuf. 25574 * common/Makefile.am: Fix netutils.cc to be conditionally included 25575 when the remote backend is enabled, not the quartz backend! 25576 25577Tue May 23 18:59:09 BST 2006 Olly Betts <olly@survex.com> 25578 25579 * api/Makefile.am,api/errorhandler.cc,api/omerror.cc, 25580 include/xapian/error.h,include/xapian/errorhandler.h: 25581 Redo the Xapian::Error and Xapian::ErrorHandler classes. 25582 The new versions have better, clearer documentation comments 25583 and are cleaner internally. 25584 * include/xapian/error.h: Add hook to allow SWIG bindings to 25585 be built using GCC's visibility support. 25586 25587Tue May 23 10:08:02 BST 2006 Olly Betts <olly@survex.com> 25588 25589 * backends/quartz/btree.cc: Remove superfluous '#include <autoptr.h>'. 25590 25591Tue May 23 09:42:52 BST 2006 Olly Betts <olly@survex.com> 25592 25593 * backends/Makefile.am,backends/database.cc, 25594 backends/dbfactory_remote.cc,backends/net/net_database.cc, 25595 backends/net/net_termlist.cc,backends/net/net_termlist.h,common/, 25596 include/xapian/dbfactory.h,matcher/,net/socketclient.cc, 25597 net/socketcommon.cc: Eliminate the NetClient class by merging 25598 it into NetDatabase. 25599 25600Mon May 22 08:51:16 BST 2006 Olly Betts <olly@survex.com> 25601 25602 * common/omtime.h: Fix OmTime::operator> which failed to return false 25603 if the seconds were strictly less but the microsecond fraction was 25604 more. 25605 25606Sun May 21 11:53:29 BST 2006 Olly Betts <olly@survex.com> 25607 25608 * Makefile.am,bin/Makefile.am,docs/Makefile.am,examples/Makefile.am: 25609 Make use of the dist_ prefix to avoid having to list files in 25610 EXTRA_DIST as well as in *_DATA and man_MANS. 25611 25612Sun May 21 05:55:00 BST 2006 Olly Betts <olly@survex.com> 25613 25614 * api/dir_contents,getopt/dir_contents,queryparser/dir_contents: 25615 Add missing dir_contents files. 25616 25617Sun May 21 05:45:44 BST 2006 Olly Betts <olly@survex.com> 25618 25619 * tests/remotetest.cc: Remove unnecessary "#include <sys/wait.h>". 25620 25621Sat May 20 11:02:43 BST 2006 Olly Betts <olly@survex.com> 25622 25623 * docs/Makefile.am: doxygen_api_conf and doxygen_full_conf are 25624 generated, so aren't in srcdir! 25625 25626Sat May 20 10:14:52 BST 2006 Olly Betts <olly@survex.com> 25627 25628 * docs/Makefile.am: automake adds suitable rules for rebuilding 25629 doxygen_api_conf and doxygen_source_conf, so remove our less 25630 accurate versions. 25631 25632Fri May 19 14:43:47 BST 2006 Olly Betts <olly@survex.com> 25633 25634 * docs/Makefile.am,docs/doxygen_api_conf.in,docs/doxygen_full_conf.in: 25635 Remove "XAPIAN_DEPRECATED" from generated documentation. 25636 * docs/Makefile.am: Fix dependencies for regenerating the doxygen 25637 documentation. 25638 25639Fri May 19 08:12:51 BST 2006 Olly Betts <olly@survex.com> 25640 25641 * docs/scalability.html: quartzcompact and xapian-compact now allow 25642 you to set the blocksize, so there's no need to use copydatabase 25643 if you want to migrate a database to a larger blocksize. Mention 25644 gmane. Other minor tweaks. 25645 25646Fri May 19 07:52:23 BST 2006 Olly Betts <olly@survex.com> 25647 25648 * bin/quartzcompact.cc: Add --blocksize option to allow the blocksize 25649 to be set (default is 8K as before.) 25650 25651Fri May 19 07:47:13 BST 2006 Olly Betts <olly@survex.com> 25652 25653 * bin/xapian-compact.cc: Add --blocksize option to allow the blocksize 25654 to be set (default is 8K as before.) 25655 25656Thu May 18 11:24:17 BST 2006 Olly Betts <olly@survex.com> 25657 25658 * api/vectortermlist.h: Whitespace tweak. 25659 25660Tue May 16 10:09:53 BST 2006 Olly Betts <olly@survex.com> 25661 25662 * HACKING: Update details of the debian stable backport version 25663 numbering scheme. 25664 25665Tue May 16 06:55:14 BST 2006 Olly Betts <olly@survex.com> 25666 25667 * configure.ac: Remove unused variable from snprintf testing code. 25668 25669Tue May 16 04:32:34 BST 2006 Olly Betts <olly@survex.com> 25670 25671 * HACKING: Expand on the debian package building checklist. 25672 25673Tue May 16 04:32:07 BST 2006 Olly Betts <olly@survex.com> 25674 25675 * include/xapian/enquire.h: Note that "set_sort_by_relevance" is the 25676 default setting. 25677 25678Mon May 15 06:59:01 BST 2006 Olly Betts <olly@survex.com> 25679 25680 * HACKING: Update debian package building checklist. 25681 25682Mon May 15 03:53:53 BST 2006 Olly Betts <olly@survex.com> 25683 25684 * PLATFORMS: Update one more result before the actual release. 25685 25686Mon May 15 02:15:18 BST 2006 Olly Betts <olly@survex.com> 25687 25688 * NEWS,configure.ac: Updated for 0.9.6. 25689 25690Mon May 15 01:35:33 BST 2006 Olly Betts <olly@survex.com> 25691 25692 * PLATFORMS: Updated in preparation for the next release. 25693 25694Sun May 14 19:05:37 BST 2006 Olly Betts <olly@survex.com> 25695 25696 * backends/flint/flint_lock.h: Added workaround for newlib header bug. 25697 25698Sat May 13 07:04:14 BST 2006 Olly Betts <olly@survex.com> 25699 25700 * configure.ac: Fix snprintf tests. 25701 25702Sat May 13 04:52:53 BST 2006 Olly Betts <olly@survex.com> 25703 25704 * configure.ac: Tweak version.h generation to cope with CXXCPP putting 25705 carriage returns into its output as can happen on cygwin. 25706 25707Fri May 12 21:49:33 BST 2006 Olly Betts <olly@survex.com> 25708 25709 * HACKING: Update with the libtool patches we're now using. 25710 25711Fri May 12 21:43:02 BST 2006 Olly Betts <olly@survex.com> 25712 25713 * include/xapian/version_h.cc: Trim trailing whitespace. 25714 25715Fri May 12 20:43:47 BST 2006 Olly Betts <olly@survex.com> 25716 25717 * configure.ac,include/xapian/version_h.cc: Replace @@ with " instead 25718 of @, so we can write @deprecated. Fix more compilation problems. 25719 25720Fri May 12 19:00:08 BST 2006 Olly Betts <olly@survex.com> 25721 25722 * include/xapian/version_h.cc: Fix compilation problem. 25723 25724Fri May 12 01:19:14 BST 2006 Olly Betts <olly@survex.com> 25725 25726 * api/version.cc,include/xapian/version_h.cc: Rename 25727 Xapian::xapian_version_string() and companions to 25728 Xapian::version_string(). Keep the old functions as aliases 25729 which are marked as deprecated. 25730 25731Wed May 10 18:25:59 BST 2006 Olly Betts <olly@survex.com> 25732 25733 * include/xapian/enquire.h: Remove bogus documentation for a 25734 parameter which doesn't exist. 25735 25736Tue May 09 19:17:23 BST 2006 Olly Betts <olly@survex.com> 25737 25738 * bin/Makefile.am: Remove trailing whitespace. 25739 * bin/xapian-compact.cc: Fix renaming of "iamflint.tmp" for MS Windows 25740 where you can't rename an open file. 25741 25742Tue May 09 15:57:26 BST 2006 Olly Betts <olly@survex.com> 25743 25744 * configure.ac: Fix reversed conditional in test for snprintf (which 25745 affects cygwin). 25746 25747Mon May 01 21:49:46 BST 2006 Olly Betts <olly@survex.com> 25748 25749 * tests/queryparsertest.cc: Add another prefix testcase to improve 25750 coverage. 25751 25752Sat Apr 29 20:16:46 BST 2006 Olly Betts <olly@survex.com> 25753 25754 * docs/remote_protocol.html: Document keep-alive messages. 25755 25756Thu Apr 13 14:49:48 BST 2006 Olly Betts <olly@survex.com> 25757 25758 * queryparser/queryparser.lemony,tests/queryparsertest.cc: Add rules 25759 to handle a boolean filter with a "+" in front (such as 25760 +site:xapian.org). 25761 25762Wed Apr 12 18:42:31 BST 2006 Olly Betts <olly@survex.com> 25763 25764 * PLATFORMS: More updates for 0.9.5. 25765 25766Tue Apr 11 19:56:16 BST 2006 Olly Betts <olly@survex.com> 25767 25768 * matcher/Makefile.am: Need to add "-I${top_builddir}/include" to 25769 INCLUDES so that xapian/version.h is found. 25770 25771Tue Apr 11 19:24:59 BST 2006 Olly Betts <olly@survex.com> 25772 25773 * backends/database.cc,configure.ac,include/xapian/version_h.cc, 25774 matcher/multimatch.cc,matcher/stats.cc,tests/apitest.cc, 25775 testsuite/backendmanager.cc,testsuite/backendmanager.h: 25776 Eliminate XAPIAN_BUILD_BACKEND_* from config.h and just use 25777 XAPIAN_HAS_*_BACKEND from xapian/version.h instead. 25778 25779Tue Apr 11 18:32:52 BST 2006 Olly Betts <olly@survex.com> 25780 25781 * include/Makefile.am: Add xapian/version.h.timestamp as a dependency 25782 on all-local so that xapian/version.h actually gets regenerated 25783 when required. 25784 25785Tue Apr 11 17:52:24 BST 2006 Olly Betts <olly@survex.com> 25786 25787 * api/omenquire.cc,backends/flint/flint_btreebase.cc, 25788 backends/quartz/btree_base.cc,common/utils.h,configure.ac: 25789 Disable MSVC warning 4800 (on int to bool conversions) in config.h 25790 and then we can remove the "fixes" elsewhere. 25791 25792Tue Apr 11 16:28:01 BST 2006 Olly Betts <olly@survex.com> 25793 25794 * configure.ac: Simpler check for VALGRIND being set to empty value. 25795 25796Tue Apr 11 01:04:32 BST 2006 Olly Betts <olly@survex.com> 25797 25798 * PLATFORMS: Add a summary. 25799 25800Tue Apr 11 00:45:55 BST 2006 Olly Betts <olly@survex.com> 25801 25802 * PLATFORMS: Updates from boxes which were down when I did the 25803 release. 25804 25805Mon Apr 10 17:06:46 BST 2006 Olly Betts <olly@survex.com> 25806 25807 * api/omenquire.cc,backends/flint/flint_btreebase.cc, 25808 backends/flint/flint_utils.h,backends/quartz/btree_base.cc, 25809 backends/quartz/quartz_utils.h,common/omassert.h: 25810 Fix more MSVC7 warnings (I spoke too soon). 25811 25812Mon Apr 10 15:56:52 BST 2006 Olly Betts <olly@survex.com> 25813 25814 * include/xapian/query.h: Another MSVC7 warning fix. Should be free 25815 of warnings now. 25816 25817Mon Apr 10 14:46:34 BST 2006 Olly Betts <olly@survex.com> 25818 25819 * backends/flint/flint_database.cc,backends/flint/flint_utils.h, 25820 backends/quartz/quartz_utils.h,bin/quartzcompact.cc, 25821 bin/xapian-compact.cc,common/omdebug.h,common/utils.h, 25822 include/xapian/query.h,languages/header.h,matcher/multimatch.cc: 25823 Fix assorted MSVC7 warnings. 25824 25825Sun Apr 09 04:56:09 BST 2006 Olly Betts <olly@survex.com> 25826 25827 * HACKING: Expand on details of what's required when changing Xapian 25828 (discuss documentation requirements, expand on why feature tests 25829 are vital). 25830 * HACKING: Update section on building debian packages. 25831 25832Sat Apr 08 20:02:19 BST 2006 Olly Betts <olly@survex.com> 25833 25834 * NEWS,PLATFORMS,configure.ac: Updated for 0.9.5. 25835 25836Fri Apr 07 23:53:08 BST 2006 Olly Betts <olly@survex.com> 25837 25838 * tests/api_anydb.cc,tests/api_db.cc,tests/btreetest.cc: Correct 25839 spelling of "existant" to "existent". 25840 25841Fri Apr 07 19:13:24 BST 2006 Olly Betts <olly@survex.com> 25842 25843 * configure.ac: We don't use strcasecmp, so don't probe for it. 25844 25845Fri Apr 07 18:30:40 BST 2006 Olly Betts <olly@survex.com> 25846 25847 * common/utils.h: Fixes for MSVC7 compilation. 25848 25849Fri Apr 07 17:19:43 BST 2006 Olly Betts <olly@survex.com> 25850 25851 * backends/flint/flint_table.cc,backends/quartz/btree.cc: Fixes for 25852 MSVC compilation. 25853 25854Fri Apr 07 16:04:08 BST 2006 Olly Betts <olly@survex.com> 25855 25856 * backends/flint/flint_cursor.h: Fix incorrect example code in 25857 documentation comment. 25858 * backends/flint/flint_table.cc,backends/flint/flint_table.h: 25859 Remove unused method FlintTable::find_key(). 25860 25861Fri Apr 07 16:02:40 BST 2006 Olly Betts <olly@survex.com> 25862 25863 * AUTHORS: Updated. 25864 25865Fri Apr 07 15:58:31 BST 2006 Olly Betts <olly@survex.com> 25866 25867 * debian/control.in: copydatabase and xapian-compact are packaged 25868 in xapian-tools, so add them to the documented list of tools 25869 included. 25870 25871Fri Apr 07 15:12:43 BST 2006 Olly Betts <olly@survex.com> 25872 25873 * net/tcpserver.cc: Set xapian-tcpsrv to allow 5 connections in the 25874 listen queue instead of just one. 25875 25876Fri Apr 07 13:28:15 BST 2006 Olly Betts <olly@survex.com> 25877 25878 * tests/remotetest.cc: Check mset size in tcpmatch1. 25879 25880Fri Apr 07 01:26:03 BST 2006 Olly Betts <olly@survex.com> 25881 25882 * xapian.spec.in: Man pages may be gzipped. 25883 25884Thu Apr 06 14:41:29 BST 2006 Olly Betts <olly@survex.com> 25885 25886 * HACKING: aclocal is part of automake, not autoconf. 25887 25888Thu Apr 06 01:29:21 BST 2006 Olly Betts <olly@survex.com> 25889 25890 * bin/,examples/copydatabase.cc,examples/delve.cc,examples/quest.cc: 25891 In the "--help" output, add "Options:" before the list of options. 25892 25893Thu Apr 06 01:11:31 BST 2006 Olly Betts <olly@survex.com> 25894 25895 * xapian-config.in: Tweak to improve help2man output. 25896 25897Wed Apr 05 16:26:15 BST 2006 Fabrice Colin 25898 25899 * xapian.spec.in: Package man pages. 25900 25901Wed Apr 05 16:23:49 BST 2006 Olly Betts <olly@survex.com> 25902 25903 * Makefile.am,bin/Makefile.am,examples/Makefile.am: Include generated 25904 man pages in the distribution tarball. 25905 25906Wed Apr 05 02:48:27 BST 2006 Olly Betts <olly@survex.com> 25907 25908 * debian/TODO: Updated. 25909 25910Wed Apr 05 02:44:15 BST 2006 Olly Betts <olly@survex.com> 25911 25912 * ./,examples: svn:ignore man pages. 25913 25914Wed Apr 05 02:43:08 BST 2006 Olly Betts <olly@survex.com> 25915 25916 * bin/Makefile.am,examples/Makefile.am: No need to make man pages 25917 depend on config.h, since the binaries will already. 25918 25919Wed Apr 05 02:42:42 BST 2006 Olly Betts <olly@survex.com> 25920 25921 * Makefile.am: Generate man page for xapian-config. 25922 25923Wed Apr 05 00:59:53 BST 2006 Olly Betts <olly@survex.com> 25924 25925 * examples/Makefile.am: Use help2man to generate manpages for the 25926 installed binaries in examples. 25927 25928Wed Apr 05 00:56:11 BST 2006 Olly Betts <olly@survex.com> 25929 25930 * bin/omtcpsrv.cc: Rename to bin/xapian-tcpsrv.cc. 25931 * bin/omprogsrv.cc: Rename to bin/xapian-progsrv.cc. 25932 * HACKING,bin/Makefile.am,configure.ac: Use help2man to generate 25933 manpages for the installed binaries in bin. 25934 25935Tue Apr 04 16:44:54 BST 2006 Olly Betts <olly@survex.com> 25936 25937 * include/xapian/enquire.h: Note example of BM25Weight parameters 25938 which make set_sort_by_relevance_then_value useful. 25939 25940Tue Apr 04 16:35:58 BST 2006 Olly Betts <olly@survex.com> 25941 25942 * api/omenquire.cc,include/xapian/enquire.h,matcher/,tests/api_db.cc: 25943 Implement Enquire::set_sort_by_relevance_then_value(). 25944 25945Tue Apr 04 01:05:41 BST 2006 Olly Betts <olly@survex.com> 25946 25947 * common/omenquireinternal.h: sort_key no longer needs to be mutable 25948 now that MSetSortCmp has been removed. 25949 25950Mon Apr 03 02:03:12 BST 2006 Olly Betts <olly@survex.com> 25951 25952 * matcher/multimatch.cc: Removed dead code (class MSetSortCmp). 25953 25954Sun Apr 02 16:37:38 BST 2006 Olly Betts <olly@survex.com> 25955 25956 * net/tcpserver.cc: Don't perform a name lookup on the IP address 25957 which an incoming connection is from as that could easily slow 25958 down the search response - instead just print the IP address itself 25959 if output is verbose. 25960 25961Sun Apr 02 13:28:31 BST 2006 Olly Betts <olly@survex.com> 25962 25963 * api/omenquire.cc,common/,docs/remote_protocol.html, 25964 matcher/multimatch.cc,matcher/networkmatch.cc,matcher/networkmatch.h, 25965 net/socketclient.cc,net/socketserver.cc: Change bool 25966 sort_by_relevance to enum sort_by in preparation for adding 25967 "sort_by_relevance_then_value". 25968 25969Fri Mar 31 22:32:16 BST 2006 Olly Betts <olly@survex.com> 25970 25971 * examples/copydatabase.cc,examples/quest.cc: Add --help and --version 25972 options. 25973 * examples/delve.cc: Tidy up output from --help and --version options. 25974 25975Fri Mar 31 19:01:25 BST 2006 Olly Betts <olly@survex.com> 25976 25977 * bin/quartzcheck.cc: Fix SEGV when run with no arguments (introduced 25978 by last change). 25979 25980Fri Mar 31 17:57:27 BST 2006 Olly Betts <olly@survex.com> 25981 25982 * bin/quartzcheck.cc: Add --version option. Tidy up output from 25983 --help. 25984 25985Fri Mar 31 17:43:25 BST 2006 Olly Betts <olly@survex.com> 25986 25987 * bin/quartzcompact.cc: Include --help and --version in --help output. 25988 * bin/quartzdump.cc: Add --help and --version options. Terminate list 25989 of long options so that "quartzdump --foo" no longer segfaults. 25990 25991Fri Mar 31 17:27:09 BST 2006 Olly Betts <olly@survex.com> 25992 25993 * bin/quartzcompact.cc: Tweak --help and --version output for 25994 consistency with other binaries. Terminate list of long options so 25995 that "quartzcompact --foo" no longer segfaults. 25996 25997Fri Mar 31 16:47:02 BST 2006 Olly Betts <olly@survex.com> 25998 25999 * bin/omtcpsrv.cc: Make OPT_HELP and OPT_VERSION positive numbers. 26000 Only give synopsis line for --help, not for syntax error. 26001 * bin/xapian-compact.cc: List --help and --version in --help output. 26002 Terminate list of long options so that "xapian-compact --foo" no 26003 longer segfaults. 26004 26005Fri Mar 31 16:20:24 BST 2006 Olly Betts <olly@survex.com> 26006 26007 * bin/omtcpsrv.cc: Added --help and --version options. 26008 26009Thu Mar 30 11:51:21 BST 2006 Philip Neustrom 26010 26011 * docs/remote_protocol.html: Document messages for requesting and 26012 sending a termlist and a document. 26013 26014Wed Mar 29 19:39:05 BST 2006 Olly Betts <olly@survex.com> 26015 26016 * backends/flint/flint_termlist.cc,backends/quartz/quartz_termlist.cc: 26017 Add missing spaces in debug output. 26018 26019Fri Mar 17 09:22:54 GMT 2006 Olly Betts <olly@survex.com> 26020 26021 * api/vectortermlist.h,backends/net/net_termlist.cc, 26022 backends/net/net_termlist.h,common/alltermslist.h,common/termlist.h, 26023 matcher/branchtermlist.h: Make TermList::positionlist_begin() pure 26024 virtual and put dummy implementations in BranchTermList and other 26025 subclasses which can't (or don't) implement it. This makes it 26026 hard to accidentally fail to implement it in a backend's TermList 26027 subclass. 26028 * backends/net/net_termlist.h: positionlist_begin() now throws 26029 UnimplementedError instead of InvalidOperationError. 26030 26031Fri Mar 17 08:46:52 GMT 2006 Olly Betts <olly@survex.com> 26032 26033 * api/omdatabase.cc: There's no need for the MultiTermList wrapper in 26034 the common case where we're only dealing with a single database. 26035 26036Fri Mar 17 07:54:54 GMT 2006 Olly Betts <olly@survex.com> 26037 26038 * backends/net/net_termlist.h: Remove unused "positions" member. 26039 26040Fri Mar 17 07:07:57 GMT 2006 Olly Betts <olly@survex.com> 26041 26042 * backends/multi/multi_termlist.cc,backends/multi/multi_termlist.h, 26043 tests/api_posdb.cc: Fix TermIterator::positionlist_begin() to work 26044 on TermIterator from Database::termlist_begin(). 26045 26046Fri Mar 17 03:47:04 GMT 2006 Olly Betts <olly@survex.com> 26047 26048 * include/xapian/enquire.h: Fix "unused parameter" warning from 26049 previous change. 26050 26051Thu Mar 16 05:20:16 GMT 2006 Olly Betts <olly@survex.com> 26052 26053 * api/omenquire.cc,include/xapian/enquire.h: Move 26054 Enquire::get_matching_terms_end() inline in header. 26055 26056Thu Mar 16 04:28:20 GMT 2006 Olly Betts <olly@survex.com> 26057 26058 * api/omdocument.cc,configure.ac,include/xapian/document.h: Move 26059 Document::termlist_end() inline in header. 26060 26061Fri Mar 10 04:55:57 GMT 2006 Olly Betts <olly@survex.com> 26062 26063 * INSTALL: Improve wording. 26064 26065Fri Mar 10 04:49:09 GMT 2006 Olly Betts <olly@survex.com> 26066 26067 * backends/quartz/bcursor.h: Fix incorrect method name in 26068 documentation comment. 26069 26070Fri Mar 10 04:39:45 GMT 2006 Olly Betts <olly@survex.com> 26071 26072 * backends/quartz/btree.cc,backends/quartz/btree.h: Btree::find_key() 26073 is unused so remove it. 26074 26075Fri Mar 10 04:29:46 GMT 2006 Olly Betts <olly@survex.com> 26076 26077 * HACKING: Note that we now use a lightly patched version of libtool 26078 1.5.22. 26079 26080Fri Mar 10 02:55:48 GMT 2006 Olly Betts <olly@survex.com> 26081 26082 * docs/overview.html: Bring up to date. 26083 26084Wed Mar 08 02:32:49 GMT 2006 Olly Betts <olly@survex.com> 26085 26086 * queryparser/queryparser.lemony: Fix FLAG_BOOLEAN_ANY_CASE to really 26087 allow any case combination - previously it only allowed all 26088 uppercase or all lowercase. 26089 * tests/queryparsertest.cc: Add feature and regression tests for 26090 FLAG_BOOLEAN_ANY_CASE. 26091 * tests/queryparsertest.cc: Rename test cases to more descriptive 26092 names. 26093 26094Tue Mar 07 19:59:54 GMT 2006 Olly Betts <olly@survex.com> 26095 26096 * queryparser/queryparser.lemony,tests/queryparsertest.cc: 26097 Fix QueryParser's handling of terms with trailing "#", "+", 26098 or "-" when set_database has been called and the term doesn't 26099 exist in the database with the suffix. 26100 26101Tue Feb 21 21:14:22 GMT 2006 Olly Betts <olly@survex.com> 26102 26103 * include/xapian/deprecated.h: Allow xapian-bindings to override 26104 deprecation warnings. 26105 26106Tue Feb 21 17:55:17 GMT 2006 Olly Betts <olly@survex.com> 26107 26108 * backends/flint/flint_database.cc: Note that "flicklock" should be 26109 "flintlock"! 26110 26111Tue Feb 21 14:13:08 GMT 2006 Olly Betts <olly@survex.com> 26112 26113 * PLATFORMS: Updated. 26114 26115Tue Feb 21 14:12:47 GMT 2006 Olly Betts <olly@survex.com> 26116 26117 * HACKING: Update the "how to do a release" list. 26118 26119Tue Feb 21 00:17:40 GMT 2006 Olly Betts <olly@survex.com> 26120 26121 * NEWS,PLATFORMS,configure.ac: Updated for 0.9.4. 26122 26123Mon Feb 20 21:15:46 GMT 2006 Olly Betts <olly@survex.com> 26124 26125 * api/omdocument.cc,api/omenquire.cc,api/omquery.cc,include/xapian/, 26126 queryparser/queryparser.cc: GCC 3.2 actually doesn't like 26127 __attribute__((deprecated)) on method definitions, so just 26128 put declarations of deprecated methods in the headers, and 26129 move definitions into the library. 26130 26131Mon Feb 20 16:04:33 GMT 2006 Olly Betts <olly@survex.com> 26132 26133 * tests/api_anydb.cc,tests/api_db.cc,tests/api_nodb.cc: Update uses 26134 of deprecated methods and functions. 26135 26136Mon Feb 20 15:47:31 GMT 2006 Olly Betts <olly@survex.com> 26137 26138 * include/xapian/document.h: __attribute__((deprecated)) doesn't 26139 work on method definitions with default parameters on GCC 3.2 26140 so fix header to overload instead. 26141 26142Mon Feb 20 13:44:14 GMT 2006 Olly Betts <olly@survex.com> 26143 26144 * include/xapian/enquire.h: Add documentation comment for 26145 Enquire::set_sort_by_value_then_relevance(). 26146 26147Sun Feb 19 23:18:09 GMT 2006 Olly Betts <olly@survex.com> 26148 26149 * include/Makefile.am,include/xapian/: Flag deprecated methods such 26150 that the compiler gives a warning, for compilers which support 26151 such a feature. 26152 26153Sun Feb 19 22:58:55 GMT 2006 Olly Betts <olly@survex.com> 26154 26155 * COPYING: Update second occurrence of old FSF address. 26156 26157Sun Feb 19 22:46:49 GMT 2006 Olly Betts <olly@survex.com> 26158 26159 * README: Add pointer to HACKING. Change "CVS access" to "SVN 26160 access". 26161 26162Sun Feb 19 01:46:00 GMT 2006 Olly Betts <olly@survex.com> 26163 26164 * api/version.cc: Correct typo in name of function xapian_revision(). 26165 26166Thu Feb 16 10:23:59 GMT 2006 Olly Betts <olly@survex.com> 26167 26168 * xapian-config.in: Oops, fix previous fix (I'd pasted the substituted 26169 result from testing the patch...) 26170 26171Thu Feb 16 10:16:31 GMT 2006 Olly Betts <olly@survex.com> 26172 26173 * PLATFORMS: Updated from tinderbox. 26174 26175Thu Feb 16 10:15:51 GMT 2006 Olly Betts <olly@survex.com> 26176 26177 * xapian-config.in: Need to set exec_prefix and prefix at top of 26178 script as they're used by various @SUBSTITUTIONS@. 26179 26180Thu Feb 16 00:09:34 GMT 2006 Olly Betts <olly@survex.com> 26181 26182 * NEWS,PLATFORMS,configure.ac: Updated for 0.9.3. 26183 26184Wed Feb 15 21:58:23 GMT 2006 Olly Betts <olly@survex.com> 26185 26186 * xapian-config.in: Fix option loop to work on shells other than bash. 26187 26188Wed Feb 15 21:38:38 GMT 2006 Olly Betts <olly@survex.com> 26189 26190 * include/xapian/database.h: Tweak wording of a documentation comment. 26191 26192Wed Feb 15 21:34:55 GMT 2006 Olly Betts <olly@survex.com> 26193 26194 * include/xapian/queryparser.h: Fix documentation comments for the 26195 values of QueryParser::feature_flag so doxygen actually pulls out 26196 the documentation for them. Add documentation for the parameters 26197 of QueryParser::parse_query(). 26198 26199Wed Feb 15 21:26:48 GMT 2006 Olly Betts <olly@survex.com> 26200 26201 * bin/quartzcheck.cc: If the database is too broken to open, emit a 26202 warning message and bump the error count. 26203 26204Wed Feb 15 21:23:38 GMT 2006 Olly Betts <olly@survex.com> 26205 26206 * docs/queryparser.html: Document right-truncation. 26207 26208Wed Feb 15 21:08:37 GMT 2006 Olly Betts <olly@survex.com> 26209 26210 * xapian-config.in: Fixed to output usage correctly if no arguments 26211 are specified. 26212 26213Mon Feb 13 17:43:08 GMT 2006 Olly Betts <olly@survex.com> 26214 26215 * xapian-config.in: Expand dependency_libs recursively. It's not 26216 *that* hard, and we're just storing up problems for the future 26217 by ignoring the issue. 26218 26219Mon Feb 13 16:57:36 GMT 2006 Olly Betts <olly@survex.com> 26220 26221 * HACKING: Devlopers also need makeindex installed for documentation 26222 building. Note that dvips and makeindex are usually packaged with 26223 TeX. 26224 26225Mon Feb 13 15:16:02 GMT 2006 Olly Betts <olly@survex.com> 26226 26227 * configure.ac,xapian-config.in: Some Linux distros have an 26228 unhelpful policy of not packaging .la files, and on Linux 26229 link_all_deplibs_CXX=no so we don't actually need to link 26230 in the dependency_libs. So use the value of link_all_deplibs_CXX 26231 from configure to control whether we link against dependency_libs. 26232 * xapian-config.in: Factor out common code into shell functions, 26233 and tidy up --help output. 26234 * xapian-config.in: Re entry "Tue May 11 20:55:56 BST 2004": the (C) 26235 dates I mined from CVS included a BrightStation (C), but the few 26236 fragments of that version which survive are actually from 26237 glib-config (or one of the myriad of *-config scripts which look 26238 very like it), and are just standard Bourne shell idioms anyway. 26239 26240Mon Feb 13 13:59:02 GMT 2006 Olly Betts <olly@survex.com> 26241 26242 * PLATFORMS: td174 is gone. 26243 * PLATFORMS: Compaq C++ 7.1 seems to have better template support 26244 (but fails to link binaries). 26245 26246Mon Feb 13 12:22:23 GMT 2006 Olly Betts <olly@survex.com> 26247 26248 * HACKING,testsuite/testsuite.cc: XAPIAN_TESTSUITE_PLAIN_OUTPUT 26249 -> XAPIAN_TESTSUITE_OUTPUT=plain. 26250 26251Sun Feb 12 18:29:55 GMT 2006 Olly Betts <olly@survex.com> 26252 26253 * backends/database.cc,tests/api_nodb.cc: Trying to open a database 26254 for reading which doesn't exist now fails with DatabaseOpeningError 26255 instead of FeatureUnavailableError. Added regression test 26256 nosuchdb1. 26257 26258Thu Feb 09 10:48:10 GMT 2006 Olly Betts <olly@survex.com> 26259 26260 * net/socketserver.cc: Add missing '#include <iostream>' 26261 when TIMING_PATCH is defined. 26262 26263Wed Feb 08 08:22:09 GMT 2006 Olly Betts <olly@survex.com> 26264 26265 * HACKING: Now use libtool 1.5.22 for generating snapshots and 26266 releases (includes a number of bug-fixes). 26267 * HACKING,docs/doxygen_api_header.html_tmpl, 26268 docs/doxygen_full_header.html_tmpl: Now use doxygen 1.4.6 for 26269 generating snapshots and releases (nicer output). 26270 * docs/doxygen_full_header.html_tmpl: Title "Internal Source 26271 Documentation" rather than "Full source documentation". 26272 26273Sun Feb 05 06:19:29 GMT 2006 Olly Betts <olly@survex.com> 26274 26275 * queryparser/queryparser.lemony,tests/queryparsertest.cc: The 26276 QueryParser now recognises "AND NOT" as a synonym for "NOT". 26277 26278Mon Jan 16 18:19:26 GMT 2006 Olly Betts <olly@survex.com> 26279 26280 * backends/quartz/quartz_utils.h: Fix compiler warning. 26281 26282Mon Jan 16 18:17:27 GMT 2006 Olly Betts <olly@survex.com> 26283 26284 * HACKING,backends/flint/,backends/muscat36/,backends/quartz/, 26285 bin/quartzcompact.cc,bin/xapian-compact.cc,common/Makefile.am, 26286 common/safeerrno.h,net/,tests/btreetest.cc,tests/quartztest.cc, 26287 testsuite/backendmanager.cc,testsuite/testsuite.cc: Sorted out 26288 a cleaner workaround for Compaq C++'s <errno.h> oddity. 26289 26290Mon Jan 16 17:18:56 GMT 2006 Olly Betts <olly@survex.com> 26291 26292 * common/safewindows.h: Fix typo in file description. 26293 26294Mon Jan 16 13:29:48 GMT 2006 Olly Betts <olly@survex.com> 26295 26296 * backends/quartz/quartz_database.cc: Reverse order of errno includes 26297 which seems to make Compaq's C++ compiler happier. 26298 26299Sun Jan 15 23:52:01 GMT 2006 Olly Betts <olly@survex.com> 26300 26301 * backends/flint/flint_database.cc,backends/flint/flint_table.cc, 26302 backends/quartz/btree.cc,backends/quartz/quartz_database.cc, 26303 backends/quartz/quartz_log.cc,configure.ac,net/socketcommon.cc, 26304 net/tcpclient.cc,testsuite/backendmanager.cc: Compaq C++ requires 26305 sys/errno.h to get ENOENT and most other EXXX codes defined. 26306 26307Sun Jan 15 23:41:15 GMT 2006 Olly Betts <olly@survex.com> 26308 26309 * bin/xapian-compact.cc: Initialise 2 variables to avoid compiler 26310 warnings. 26311 26312Sun Jan 15 23:38:11 GMT 2006 Olly Betts <olly@survex.com> 26313 26314 * xapian-config.in: If libxapian.la's dependency_libs contains 26315 another .la file, crudely transform to a pair of -L and -l 26316 options. Ideally we should recursively pull in dependency_libs 26317 from that .la file, but that's too hard to do in sh. 26318 26319Sun Jan 15 21:43:26 GMT 2006 Olly Betts <olly@survex.com> 26320 26321 * queryparser/queryparser.lemony,queryparser/queryparser.lt: 26322 Eliminate ParseAlloc's mallocProc parameter and ParseFree's freeProc 26323 parameter - we always pass malloc and free, and get warnings from 26324 some compilers because we're passing a C-linkage function for a 26325 C++-linkage function pointer. 26326 * testsuite/testsuite.cc,testsuite/testsuite.h: Fix functions 26327 registered as signal handlers and pass to atexit to have C linkage. 26328 26329Sun Jan 15 14:49:45 GMT 2006 Olly Betts <olly@survex.com> 26330 26331 * backends/quartz/quartz_log.cc: #include <string.h> for strerror. 26332 26333Sun Jan 15 04:36:49 GMT 2006 Olly Betts <olly@survex.com> 26334 26335 * include/xapian/queryparser.h,queryparser/queryparser.cc: 26336 Add Stopper::get_description() and SimpleStopper::get_description(). 26337 26338Sat Jan 14 21:43:32 GMT 2006 Olly Betts <olly@survex.com> 26339 26340 * configure.ac: Fix backwards logic in snprintf configure test. 26341 Also define SNPRINTF_ISO to be an snprintf with ISO C90 semantics 26342 for the return value (if one exists), with SNPRINTF being defined 26343 to any snprintf which at least performs truncation (which in many 26344 cases is sufficient). 26345 26346Sat Jan 14 04:47:33 GMT 2006 Olly Betts <olly@survex.com> 26347 26348 * queryparser/queryparser.lt: Fix aCC warnings. 26349 26350Sat Jan 14 04:47:00 GMT 2006 Olly Betts <olly@survex.com> 26351 26352 * common/utils.h: Fix aCC warning. 26353 26354Fri Jan 13 18:25:04 GMT 2006 Olly Betts <olly@survex.com> 26355 26356 * configure.ac: Turn on more warnings for aCC; suppress existing 26357 warning ("Entire translation unit was empty") since it's not 26358 useful to us. 26359 26360Fri Jan 13 03:22:26 GMT 2006 Olly Betts <olly@survex.com> 26361 26362 * configure.ac: The configure test for snprintf uses memcmp, so 26363 we need to "#include <string.h>" for it to work reliably. 26364 26365Wed Jan 11 03:14:30 GMT 2006 Olly Betts <olly@survex.com> 26366 26367 * configure.ac: If not cross-compiling, try to actually run a test 26368 program built with the C++ compiler, not just link one. 26369 26370Wed Jan 11 03:06:28 GMT 2006 Olly Betts <olly@survex.com> 26371 26372 * configure.ac: Note the library version info which 0.9.3 will 26373 probably need. 26374 26375Tue Jan 10 22:41:36 GMT 2006 Olly Betts <olly@survex.com> 26376 26377 * configure.ac: Fix to actually skip the check for valgrind if 26378 VALGRIND is set to an empty value. 26379 26380Tue Jan 10 01:08:10 GMT 2006 Olly Betts <olly@survex.com> 26381 26382 * PLATFORMS: Updates from the tinderbox. 26383 26384Mon Jan 09 01:35:57 GMT 2006 Olly Betts <olly@survex.com> 26385 26386 * backends/muscat36/io_system.cc,bin/xapian-compact.cc, 26387 common/omdebug.cc: More sprintf tweaks. 26388 26389Mon Jan 09 00:58:33 GMT 2006 Olly Betts <olly@survex.com> 26390 26391 * bin/xapian-compact.cc: Use snprintf if we have it. 26392 26393Sun Jan 08 03:51:52 GMT 2006 Olly Betts <olly@survex.com> 26394 26395 * testsuite/backendmanager.cc: Fix conditional compilation of 26396 flint backend to use XAPIAN_BUILD_BACKEND_FLINT instead 26397 of XAPIAN_BUILD_BACKEND_QUARTZ. 26398 26399Sun Jan 08 02:11:30 GMT 2006 Olly Betts <olly@survex.com> 26400 26401 * configure.ac: Disable flint backend by default if building for 26402 djgpp or msdos. 26403 26404Sun Jan 08 02:09:48 GMT 2006 Olly Betts <olly@survex.com> 26405 26406 * backends/flint/flint_lock.cc: Cast NULL to (void*) to avoid 26407 "missing sentinel" warning from GCC4. 26408 26409Sat Jan 07 19:09:33 GMT 2006 Olly Betts <olly@survex.com> 26410 26411 * HACKING,docs/tests.html: Merge the "running tests" section of 26412 docs/tests.html into the similar section in HACKING, and make 26413 docs/tests.html refer the reader to HACKING for more information. 26414 * HACKING,tests/apitest.cc: Remove OM_TEST_BACKEND. You can now 26415 use the "-b" switch to apitest to control which backend is used 26416 so it's pretty much redundant. 26417 * HACKING,testsuite/testsuite.cc: Rename XAPIAN_SIG_DFL to 26418 XAPIAN_TESTSUITE_SIG_DFL. 26419 * HACKING,testsuite/testsuite.cc: Add XAPIAN_TESTSUITE_PLAIN_OUTPUT 26420 to disable use of ANSI escape sequences in test output. 26421 26422Sat Jan 07 09:13:06 GMT 2006 Olly Betts <olly@survex.com> 26423 26424 * tests/queryparsertest.cc: Write top-bit set characters using \xXX 26425 notation to avoid warnings from Intel's C++ compiler. 26426 26427Sat Jan 07 07:13:25 GMT 2006 Olly Betts <olly@survex.com> 26428 26429 * configure.ac: TYPE_SOCKLEN_T fails hard, so only run it if we've 26430 successfully run other socket tests. 26431 26432Sat Jan 07 05:29:39 GMT 2006 Olly Betts <olly@survex.com> 26433 26434 * queryparser/accentnormalisingitor.h: #include <limits.h> for 26435 CHAR_BIT. 26436 26437Fri Jan 06 21:24:01 GMT 2006 Olly Betts <olly@survex.com> 26438 26439 * bin/xapian-compact.cc: Fix printf type mismatch on 64 bit platforms. 26440 26441Fri Jan 06 18:05:30 GMT 2006 Olly Betts <olly@survex.com> 26442 26443 * queryparser/queryparser.cc,queryparser/queryparser.lemony, 26444 queryparser/queryparser_internal.h: Replace pair<bool, string> 26445 with a simple class BoolAndString - the pair results in a 26446 4328 byte symbol on HP-UX which gets truncated (to 4000 bytes). 26447 26448Fri Jan 06 12:55:37 GMT 2006 Olly Betts <olly@survex.com> 26449 26450 * PLATFORMS: Updated from tinderbox. 26451 26452Thu Jan 05 16:12:00 GMT 2006 Olly Betts <olly@survex.com> 26453 26454 * configure.ac: Oops, remove hack left over from testing. 26455 26456Thu Jan 05 16:09:06 GMT 2006 Olly Betts <olly@survex.com> 26457 26458 * configure.ac: Add sanity check for MS Windows that "find" is 26459 Unix-like find, not MSDOS-like. 26460 26461Thu Jan 05 04:27:29 GMT 2006 Olly Betts <olly@survex.com> 26462 26463 * INSTALL,PLATFORMS,README: Updated. 26464 26465Mon Dec 19 12:53:38 GMT 2005 Olly Betts <olly@survex.com> 26466 26467 * AUTHORS,PLATFORMS: Add success report for Fedora Core 4. 26468 26469Mon Dec 19 12:52:55 GMT 2005 Olly Betts <olly@survex.com> 26470 26471 * include/xapian/database.h: Improve a couple of documentation 26472 comments. 26473 26474Sun Dec 11 01:33:58 GMT 2005 Olly Betts <olly@survex.com> 26475 26476 * queryparser/queryparser.lemony: Fix handling of "+" terms in a query 26477 when the default query operator is AND. 26478 * tests/queryparsertest.cc: Add regression test. 26479 26480Fri Dec 09 05:54:33 GMT 2005 Olly Betts <olly@survex.com> 26481 26482 * languages/api.cc: Check for malloc and calloc failing to allocate 26483 memory and throw an exception. Richard has fix this upstream in 26484 snowball, so this is a temporary fix until we import a new version 26485 of snowball. 26486 26487Fri Dec 09 02:15:38 GMT 2005 Olly Betts <olly@survex.com> 26488 26489 * api/omenquire.cc: Added assertions that the internal ptr isn't NULL 26490 to ESet::end() and ESet::get_description(). 26491 26492Fri Dec 09 02:14:13 GMT 2005 Olly Betts <olly@survex.com> 26493 26494 * HACKING: Note platforms valgrind now has solid support for; Improve 26495 phrasing in a few places. 26496 26497Thu Dec 08 23:13:09 GMT 2005 Olly Betts <olly@survex.com> 26498 26499 * INSTALL: Update URL for stlport to sourceforge site, which seems to 26500 be where the action is now. 26501 26502Thu Dec 08 04:13:11 GMT 2005 Olly Betts <olly@survex.com> 26503 26504 * testsuite/testsuite.cc: Fix testsuite harness to work with valgrind 26505 on 64 bit platforms (it's not documented, but VALGRIND_COUNT_LEAKS 26506 requires the count parameters to be 64 bit on such platforms - i.e. 26507 long rather than int as we were using). 26508 26509Tue Nov 01 13:22:50 GMT 2005 Olly Betts <olly@survex.com> 26510 26511 * PLATFORMS: Sourceforge have a ppc64 linux box. Xapian builds and 26512 works out of the box, so add success report for this platform. 26513 26514Thu Oct 27 09:32:24 BST 2005 Fabrice Colin 26515 26516 * xapian.spec.in: Invoke %setup correctly. 26517 26518Sat Oct 01 03:25:50 BST 2005 Olly Betts <olly@survex.com> 26519 26520 * bin/xapian-compact.cc: Added "--multipass" option to merge postlists 26521 in pairs or triples until all are merged. Generally this is faster 26522 than an N-way merge, but it does require more disk space for 26523 temporary files so it's not the default. 26524 26525Fri Sep 30 18:02:32 BST 2005 Olly Betts <olly@survex.com> 26526 26527 * include/xapian/enquire.h: Give pointer to replacements for the 26528 deprecated Enquire sorting methods. 26529 26530Wed Sep 28 02:16:03 BST 2005 Olly Betts <olly@survex.com> 26531 26532 * bin/xapian-compact.cc: Use a vector<string> to store the list of 26533 source databases, in preparation for merging multiple postlist 26534 tables in more than one pass. 26535 26536Mon Sep 26 22:22:24 BST 2005 Olly Betts <olly@survex.com> 26537 26538 * .: svn:ignore docsource.mk. 26539 26540Mon Sep 26 19:54:15 BST 2005 Olly Betts <olly@survex.com> 26541 26542 * bin/: svn:ignore xapian-compact. 26543 26544Mon Sep 26 19:50:13 BST 2005 Olly Betts <olly@survex.com> 26545 26546 * backends/flint/flint_positionlist.cc: Remove trailing whitespace. 26547 26548Wed Sep 21 01:31:23 BST 2005 Olly Betts <olly@survex.com> 26549 26550 * api/Makefile.am: Fixed VPATH build which was broken by the addition 26551 of version.cc. 26552 26553Tue Sep 20 23:38:05 BST 2005 Olly Betts <olly@survex.com> 26554 26555 * backends/flint/flint_lock.cc: Don't pass NULL for second parameter 26556 of execl(). 26557 26558Tue Sep 20 21:32:04 BST 2005 Olly Betts <olly@survex.com> 26559 26560 * api/Makefile.am,api/version.cc,include/xapian/version_h.cc: Add 4 26561 functions to report version information for the library version 26562 being used (which may not be the same as that compiled against 26563 if shared libraries are in use): xapian_version_string(), 26564 xapian_major_version(), xapian_minor_version(), xapian_revision(). 26565 26566Sat Sep 17 14:07:32 BST 2005 Richard Boulton <richard@tartarus.org> 26567 26568 * backends/flint/flint_lock.cc: Pass two NULLs to execl() to avoid 26569 getting a warning ("not enough variable arguments to fit a 26570 sentinel", observed on Ubuntu breezy powerpc). Reported by 26571 Sidnei da Silva. 26572 26573Wed Sep 14 23:54:14 BST 2005 Olly Betts <olly@survex.com> 26574 26575 * HACKING: Now generate snapshots and releases with automake 1.9.6 26576 (was 1.9.5) and libtool 1.5.20 (was 1.5.18). 26577 26578Tue Aug 30 14:01:55 BST 2005 Olly Betts <olly@survex.com> 26579 26580 * backends/inmemory/inmemory_database.h: Forward declare class 26581 InMemoryDatabase to fix compilation with GCC 4.0.1. 26582 26583Fri Aug 19 12:13:39 BST 2005 Olly Betts <olly@survex.com> 26584 26585 * backends/quartz/quartz_postlist.cc,backends/flint/flint_postlist.cc: 26586 Correct uses of termcount which should be doccount. 26587 26588Fri Aug 19 11:48:51 BST 2005 Olly Betts <olly@survex.com> 26589 26590 * include/xapian/enquire.h: Fix prototype for ESet::operator[] to 26591 take parameter of type termcount instead of doccount. 26592 26593Wed Aug 17 11:50:54 BST 2005 Olly Betts <olly@survex.com> 26594 26595 * common/safewindows.h: Fix compilation for cygwin. 26596 26597Tue Aug 16 16:01:36 BST 2005 Olly Betts <olly@survex.com> 26598 26599 * backends/flint/flint_types.h,backends/quartz/quartz_types.h: Using 26600 a double to hold the total document length would be a bad idea as 26601 we need to store it exactly so kill FIXME comments that suggest 26602 perhaps we should. 26603 26604Fri Jul 15 11:11:35 BST 2005 Olly Betts <olly@survex.com> 26605 26606 * configure.ac,NEWS,PLATFORMS: Updated for 0.9.2. 26607 26608Fri Jul 15 02:31:11 BST 2005 Olly Betts <olly@survex.com> 26609 26610 * preautoreconf: Change directory to the directory that the 26611 preautoreconf script is in before doing anything else. 26612 26613Fri Jul 15 01:02:29 BST 2005 Olly Betts <olly@survex.com> 26614 26615 * docs/doxygen_api_conf.in,docs/doxygen_full_conf.in,configure.ac: 26616 Eliminate TOP_SRCDIR and TOP_BUILDDIR - it's better to just use 26617 top_srcdir and top_builddir directly. 26618 26619Fri Jul 15 00:48:39 BST 2005 Olly Betts <olly@survex.com> 26620 26621 * configure.ac: Fix superfluous shell quoting. 26622 26623Fri Jul 15 00:28:40 BST 2005 Olly Betts <olly@survex.com> 26624 26625 * configure.ac,docs/Makefile.am,preautoreconf,Makefile.am: Generate 26626 the list of source files to feed to doxygen by inspecting all the 26627 Makefile.am files prior to running autoreconf rather than by using 26628 "find" when the user runs ./configure. This speeds up configure, 26629 avoids generating docs for random .cc and .h files which aren't 26630 part of xapian-core, and avoids problems with picking up FIND.EXE 26631 on MS Windows. 26632 26633Thu Jul 14 12:49:36 BST 2005 Olly Betts <olly@survex.com> 26634 26635 * common/,matcher/multimatch.cc,matcher/networkmatch.cc, 26636 matcher/networkmatch.h,net/socketclient.cc,net/socketserver.cc, 26637 tests/api_db.cc: Implement sorting on a value with the remote 26638 backend. 26639 26640Wed Jul 13 01:25:17 BST 2005 Olly Betts <olly@survex.com> 26641 26642 * include/xapian/database.h,include/xapian/dbfactory.h, 26643 net/socketclient.cc: Regularise horizontal whitespace. 26644 26645Tue Jul 05 03:03:57 BST 2005 Olly Betts <olly@survex.com> 26646 26647 * include/xapian/queryparser.h: Oops, failed to check in header 26648 changes for last change. 26649 26650Mon Jul 04 15:50:55 BST 2005 Olly Betts <olly@survex.com> 26651 26652 * queryparser/queryparser.lemony,queryparser/queryparser.cc: 26653 Add flag FLAG_BOOLEAN_ANY_CASE which tells the QueryParser that 26654 boolean operators such as "AND", "OR", and "NEAR" should be 26655 recognised even if they aren't fully capitalised (so "and", 26656 "And", "aNd", etc will work too). Add flag FLAG_WILDCARD which 26657 tells the QueryParser to allow right truncation e.g. "xap*". 26658 * tests/queryparsertest.cc: Add tests for FLAG_WILDCARD. 26659 26660Sun Jul 03 15:24:12 BST 2005 Olly Betts <olly@survex.com> 26661 26662 * backends/database.cc: Fixed to auto-detect database type when 26663 opening an existing Flint database as a WritableDatabase. 26664 26665Sat Jul 02 18:49:22 BST 2005 Olly Betts <olly@survex.com> 26666 26667 * tests/queryparsertest.cc: Add test case: "-site:xapian.org mail". 26668 26669Sat Jul 02 18:49:03 BST 2005 Olly Betts <olly@survex.com> 26670 26671 * common/Makefile.am: Ship safewindows.h header. 26672 26673Sat Jul 02 18:04:18 BST 2005 Olly Betts <olly@survex.com> 26674 26675 * bin/quartzcompact.cc,bin/xapian-compact.cc, 26676 backends/muscat36/io_system.cc,backends/quartz/btree.cc, 26677 backends/quartz/quartz_log.cc,backends/quartz/quartz_database.cc, 26678 backends/flint/,common/,net/,tests/,testsuite/backendmanager.cc, 26679 testsuite/testsuite.cc: Assorted tweaks towards allowing 26680 compilation with MSVC. 26681 26682Sat Jul 02 05:08:54 BST 2005 Olly Betts <olly@survex.com> 26683 26684 * backends/quartz/: Always define WIN32_LEAN_AND_MEAN before 26685 including windows.h to reduce the amount of stuff it includes 26686 and speed up builds; Eliminate Btree::max_key_len as MSVC 26687 doesn't like the way we define it and it actually seems 26688 simpler to just use BTREE_MAX_KEY_LEN everywhere anyway. 26689 * backends/quartz/btree.cc: Added a few more assertions. 26690 26691Sat Jul 02 04:11:01 BST 2005 Olly Betts <olly@survex.com> 26692 26693 * queryparser/queryparser.lemony,tests/queryparsertest.cc: Fixed to 26694 handle "-site:microsoft.com" where site is a boolean prefix. 26695 * queryparser/Makefile.am: Add dependency to generate 26696 queryparser_token.h. 26697 26698Thu Jun 30 02:14:16 BST 2005 Olly Betts <olly@survex.com> 26699 26700 * testsuite/testsuite.cc: Update URL for valgrind FAQ in comment. 26701 26702Thu Jun 30 00:11:52 BST 2005 Olly Betts <olly@survex.com> 26703 26704 * include/xapian/enquire.h: More explicit explanation of the 26705 "descending docid with boolean weighting" trick for fast 26706 date ordered searching. 26707 26708Wed Jun 29 13:16:13 BST 2005 Olly Betts <olly@survex.com> 26709 26710 * NEWS: Fix typo: "configurec" -> "configure". 26711 26712Mon Jun 27 04:21:34 BST 2005 Olly Betts <olly@survex.com> 26713 26714 * xapian.spec.in: Package xapian-compact. 26715 26716Mon Jun 27 03:41:23 BST 2005 Olly Betts <olly@survex.com> 26717 26718 * backends/flint/flint_positionlist.cc,tests/api_wrdb.cc: Fixed 26719 mispacking of length for Flint positionlists with more than 127 26720 entries, and added regression test longpositionlist1. 26721 26722Sun Jun 26 02:04:33 BST 2005 Olly Betts <olly@survex.com> 26723 26724 * bin/xapian-compact.cc,backends/flint/flint_cursor.h: Let 26725 PostlistCursor take ownership of the FlintTable it's iterating over 26726 which makes clean-up tidier. 26727 * bin/xapian-compact.cc: We were accidentally skipping the first 26728 entry in various tables (which essentially meant the first 26729 document from each database would go missing when merging 26730 databases). 26731 26732Sat Jun 25 23:45:42 BST 2005 Olly Betts <olly@survex.com> 26733 26734 * api/omdatabase.cc: Tweak get_lastdocid() code to be a little 26735 clearer. 26736 26737Wed Jun 22 20:50:43 BST 2005 Olly Betts <olly@survex.com> 26738 26739 * configure.ac,include/xapian/version.h.in,include/xapian/version_h.cc, 26740 include/Makefile.am: Eliminate use of "ln -s" when generating 26741 include/xapian/version.h since it seems to cause problems on Solaris 26742 in some setups and isn't really necessary. Also add dependency 26743 mechanism so version.h gets regenerated when the template is 26744 changed. 26745 26746Wed Jun 22 18:47:05 BST 2005 Olly Betts <olly@survex.com> 26747 26748 * docs/intro_ir.html: Citeseer has moved, so update link. 26749 26750Mon Jun 20 13:33:42 BST 2005 Olly Betts <olly@survex.com> 26751 26752 * configure.ac: -Wshadow causes false positives with GCC 3.0.4, so 26753 only enable it for 3.1 and up. 26754 26755Mon Jun 20 03:09:07 BST 2005 Olly Betts <olly@survex.com> 26756 26757 * queryparser/queryparser.lemony: "utilpy" -> "utility"! 26758 26759Fri Jun 17 19:54:44 BST 2005 Olly Betts <olly@survex.com> 26760 26761 * COPYING: Update FSF address. 26762 26763Thu Jun 16 18:43:33 BST 2005 Olly Betts <olly@survex.com> 26764 26765 * backends/flint/flint_table.cc: Fix warnings from older GCC versions. 26766 * backends/flint/flint_lock.cc: '#include <signal.h>' so that SIGHUP 26767 gets defined reliably. 26768 26769Thu Jun 16 17:54:39 BST 2005 Olly Betts <olly@survex.com> 26770 26771 * bin/Makefile.am,bin/xapian-compact.cc: Added new "xapian-compact" 26772 program which can compact and merge flint databases in a similar 26773 way to how quartzcompact does for quartz databases. 26774 26775Thu Jun 16 01:22:45 BST 2005 Olly Betts <olly@survex.com> 26776 26777 * configure.ac: Check for spaces in build directory, source directory, 26778 or install prefix and die with a helpful message. 26779 26780Wed Jun 15 01:00:11 BST 2005 Olly Betts <olly@survex.com> 26781 26782 * backends/flint/flint_lock.cc: It seems we need to explicitly kill 26783 the child process. Otherwise when we have two databases locked 26784 just closing the connection doesn't cause the child to die. I 26785 don't understand why it's needed, but this fix is at least clean. 26786 26787Mon Jun 13 00:13:33 BST 2005 Olly Betts <olly@survex.com> 26788 26789 * backends/flint/flint_alltermslist.cc, 26790 backends/flint/flint_alltermslist.h, 26791 backends/flint/flint_database.cc: Rewrite of FlintAllTermsList 26792 with several fewer member variables. Also fixes a bug (the old 26793 version wasn't ignoring the metainfo entry so tests were failing). 26794 26795Sun Jun 12 13:08:16 BST 2005 Olly Betts <olly@survex.com> 26796 26797 * backends/quartz/quartz_alltermslist.cc: Disable assertion which is 26798 incorrect in a corner case. 26799 * tests/api_db.cc: Add test_specialterms2 as a regression test. 26800 26801Sun Jun 12 02:03:52 BST 2005 Olly Betts <olly@survex.com> 26802 26803 * backends/flint/flint_positionlist.cc: Encoding and decoding of 26804 position list size, and first and last entries didn't match. 26805 Reworked to match using a slightly smaller encoding. 26806 * backends/flint/flint_metafile.cc: Bumped format version. 26807 26808Sun Jun 12 02:02:35 BST 2005 Olly Betts <olly@survex.com> 26809 26810 * backends/flint/flint_table.cc: We were failing to append "DB" to the 26811 path when opening a table for reading - fixed. 26812 26813Sun Jun 12 02:00:30 BST 2005 Olly Betts <olly@survex.com> 26814 26815 * testsuite/backendmanager.cc: When a flint database was requested, we 26816 were incorrectly creating a quartz database instead - fixed. 26817 26818Sat Jun 11 17:53:12 BST 2005 Olly Betts <olly@survex.com> 26819 26820 * bin/quartzcompact.cc: Fix mis-repacking of keys in positionlist 26821 table when merging several databases. 26822 26823Thu Jun 09 01:06:35 BST 2005 Olly Betts <olly@survex.com> 26824 26825 * Makefile.am,configure.ac: Pass automake options to AM_INIT_AUTOMAKE 26826 rather than specifying them in Makefile.am. This way, the version 26827 requirements for autoconf and automake are stated close together. 26828 26829Mon Jun 06 19:49:36 BST 2005 Olly Betts <olly@survex.com> 26830 26831 * HACKING: Minor updates to release checklist. 26832 26833Mon Jun 06 17:44:19 BST 2005 Olly Betts <olly@survex.com> 26834 26835 * NEWS,configure.ac: Updated for 0.9.1. 26836 26837Mon Jun 06 17:28:34 BST 2005 Olly Betts <olly@survex.com> 26838 26839 * configure.ac: Describe CC_FOR_BUILD in configure --help output. 26840 26841Mon Jun 06 16:00:26 BST 2005 Olly Betts <olly@survex.com> 26842 26843 * PLATFORMS: Updated for 0.9.1. 26844 26845Fri Jun 03 03:49:33 BST 2005 Olly Betts <olly@survex.com> 26846 26847 * backends/flint/flint_lock.cc,backends/flint/flint_lock.h: Fixed 26848 compilation failure on mingw. 26849 26850Fri Jun 03 01:58:08 BST 2005 Olly Betts <olly@survex.com> 26851 26852 * PLATFORMS: Updated from tinderbox. 26853 26854Fri Jun 03 00:46:00 BST 2005 Olly Betts <olly@survex.com> 26855 26856 * HACKING,NEWS: Snapshot and release tarballs are now bootstrapped 26857 using libtool 1.5.18 and automake 1.9.5 (though neither is currently 26858 an enforced requirement for bootstrapping). 26859 26860Thu Jun 02 17:36:36 BST 2005 Olly Betts <olly@survex.com> 26861 26862 * NEWS: First draft of release notes for 0.9.1. 26863 26864Thu Jun 02 02:05:47 BST 2005 Olly Betts <olly@survex.com> 26865 26866 * backends/flint/flint_record.cc: Fix get_doccount() to not return 26867 one too low now that the special entry is no longer in the record 26868 table! 26869 26870Wed Jun 01 12:41:59 BST 2005 Olly Betts <olly@survex.com> 26871 26872 * backends/flint/flint_positionlist.cc: Placate Sun's C++ compiler. 26873 26874Tue May 31 19:31:24 BST 2005 Olly Betts <olly@survex.com> 26875 26876 * backends/flint/flint_positionlist.h, 26877 backends/flint/flint_positionlist.cc, 26878 backends/flint/flint_metafile.cc: positionlist entries are now 26879 stored using interpolative coding (which is significantly more 26880 compact). 26881 26882Mon May 30 01:48:17 BST 2005 Olly Betts <olly@survex.com> 26883 26884 * backends/flint/flint_lock.cc,backends/flint/flint_lock.h: Added 26885 locking code for MS Windows (untested). 26886 26887Sun May 29 01:00:41 BST 2005 Olly Betts <olly@survex.com> 26888 26889 * HACKING,NEWS,testsuite/testsuite.h: Fixed spelling mistakes. 26890 26891Sat May 28 22:51:15 BST 2005 Olly Betts <olly@survex.com> 26892 26893 * tests/: svn:ignore .flint/ subdirectory. 26894 * tests/Makefile.am: Remove .flint subdirectory on 'make clean'. 26895 26896Sat May 28 22:45:24 BST 2005 Olly Betts <olly@survex.com> 26897 26898 * docs/quartzdesign.html: Remove warning that quartz is still in 26899 development. 26900 26901Sat May 28 16:24:43 BST 2005 Olly Betts <olly@survex.com> 26902 26903 * backends/flint/flint_lock.h: Removed unused FlintLock method 26904 'operator int()' which was confusing Sun's C++ compiler. 26905 26906Sat May 28 16:18:11 BST 2005 Olly Betts <olly@survex.com> 26907 26908 * include/xapian/query.h: Removed superfluous "Query::" which was 26909 causing the build to fail with aCC. 26910 26911Sat May 28 14:31:33 BST 2005 Olly Betts <olly@survex.com> 26912 26913 * backends/flint/flint_metafile.cc: Added missing '#include <errno.h>'. 26914 26915Sat May 28 14:15:36 BST 2005 Olly Betts <olly@survex.com> 26916 26917 * backends/flint/flint_positionlist.cc: Simplify code a bit. 26918 26919Sat May 28 02:01:12 BST 2005 Olly Betts <olly@survex.com> 26920 26921 * backends/flint/: Move the special item holding the total document 26922 length and doc id high water mark from the record table to the 26923 postlist table. This means that when appending documents, the 26924 insertion point will now always be at the end of the record table. 26925 We need to jump around the postlist table to merge anyway. 26926 26927Sat May 28 00:42:25 BST 2005 Olly Betts <olly@survex.com> 26928 26929 * backends/flint/flint_metafile.cc: Change metafile magic to be 26930 different from quartz, and make the metafile version a datestamp 26931 which we'll change each time the format changes; check the return 26932 value of close on the metafile. 26933 26934Fri May 27 22:09:45 BST 2005 Olly Betts <olly@survex.com> 26935 26936 * backends/Makefile.am,backends/flint/: Implement new fork+fcntl+exec 26937 based locking; Fix new GCC warnings. 26938 26939Fri May 27 22:06:14 BST 2005 Olly Betts <olly@survex.com> 26940 26941 * api/omquery.cc: Missed a warning fix. 26942 26943Fri May 27 22:04:18 BST 2005 Olly Betts <olly@survex.com> 26944 26945 * backends/quartz/btree.cc,backends/quartz/btree.h, 26946 backends/quartz/quartz_postlist.cc,common/omtime.h,matcher/, 26947 net/socketserver.cc,net/socketcommon.cc,net/socketclient.cc, 26948 testsuite/btreecheck.h,testsuite/testsuite.cc: Fix GCC warnings 26949 from new flags. 26950 26951Fri May 27 20:06:52 BST 2005 Olly Betts <olly@survex.com> 26952 26953 * queryparser/queryparser.lemony: Add missing '#include <config.h>'. 26954 26955Fri May 27 12:20:03 BST 2005 Olly Betts <olly@survex.com> 26956 26957 * common/omdebug.h: Oops, change to static_cast reveals that we were 26958 discarding const (harmlessly). 26959 26960Fri May 27 12:16:03 BST 2005 Olly Betts <olly@survex.com> 26961 26962 * common/omdebug.h: Replace C style cast with static_cast<>. 26963 26964Fri May 27 12:07:48 BST 2005 Olly Betts <olly@survex.com> 26965 26966 * configure.ac: -Wendif should be -Wendif-labels. 26967 26968Wed May 25 20:41:39 BST 2005 Olly Betts <olly@survex.com> 26969 26970 * configure.ac: Pass more -W flags to g++ (including -Wundef which 26971 caught the getopt problem fixed by the previous commit). 26972 26973Wed May 25 20:32:35 BST 2005 Olly Betts <olly@survex.com> 26974 26975 * getopt/getopt.cc: Added accidentally pruned #define so that getopt 26976 code isn't compiled in when the system uses glibc. 26977 26978Wed May 25 18:36:41 BST 2005 Olly Betts <olly@survex.com> 26979 26980 * configure.ac: Add -Wredundant-decls to the default CXXFLAGS for GCC. 26981 26982Wed May 25 03:33:34 BST 2005 Olly Betts <olly@survex.com> 26983 26984 * tests/apitest.cc,tests/api_db.cc,tests/api_db.h, 26985 testsuite/backendmanager.cc,testsuite/backendmanager.h: 26986 apitest now runs tests on flint as well. 26987 26988Wed May 25 03:20:12 BST 2005 Olly Betts <olly@survex.com> 26989 26990 * backends/database.cc: When automatically determining which backend 26991 to use when creating a WritableDatabase, don't try to open it as 26992 both Flint *AND* Quartz (an "else" was missing). 26993 26994Wed May 25 03:19:21 BST 2005 Olly Betts <olly@survex.com> 26995 26996 * backends/flint/flint_btreebase.cc: Fix typo in code which prevented 26997 a flint database from being opened. 26998 26999Wed May 25 01:10:51 BST 2005 Olly Betts <olly@survex.com> 27000 27001 * include/xapian/version.h.in,include/xapian/dbfactory.h, 27002 include/xapian/queryparser.h,backends/quartz/,backends/flint/: 27003 Flint backend hooked in fully, and everything now builds once 27004 more. 27005 27006Tue May 24 02:30:39 BST 2005 Olly Betts <olly@survex.com> 27007 27008 * HACKING: Add "email Fabrice" to the release checklist so that RPM 27009 spec files don't lag behind. The new svn-tag-release script 27010 actually builds the release tarballs rather than just copying 27011 snapshots like cvs-tag-release did, so document that. 27012 27013Tue May 24 01:21:18 BST 2005 Olly Betts <olly@survex.com> 27014 27015 * include/xapian/queryparser.h: Added missing documentation comments. 27016 27017Mon May 23 02:36:06 BST 2005 Olly Betts <olly@survex.com> 27018 27019 * configure.ac,backends/database.cc,backends/Makefile.am, 27020 backends/flint/: Cloned the quartz backend to form the basis of the 27021 new flint backend. Currently it's the same except that the quartz 27022 log feature has been removed. When creating a database without a 27023 specified backend, quartz is still used unless the environmental 27024 variable XAPIAN_PREFER_FLINT is set to a non-empty value. 27025 27026Sat May 21 20:58:48 BST 2005 Olly Betts <olly@survex.com> 27027 27028 * xapian.spec.in: Remove bogus %setup line left over from when we 27029 packaged xapian-core and xapian-examples together from separate 27030 tarballs. 27031 27032Thu May 19 01:12:27 BST 2005 Olly Betts <olly@survex.com> 27033 27034 * bin/quartzcheck.cc: Fixed corner case where you couldn't check a 27035 single Btree table which was just the DB and baseA/baseB files 27036 in a directory (Xapian doesn't produce anything like this, but 27037 btreetest does while unit testing the Btree code). 27038 27039Wed May 18 16:59:23 BST 2005 Olly Betts <olly@survex.com> 27040 27041 * api/omquery.cc,include/xapian/query.h: Put Query::get_terms_end() 27042 inline in header. 27043 27044Wed May 18 16:41:56 BST 2005 Olly Betts <olly@survex.com> 27045 27046 * api/omquery.cc,tests/api_nodb.cc: Fix SEGV on get_terms_begin() 27047 on an empty Query object. 27048 27049Mon May 16 22:58:09 BST 2005 Olly Betts <olly@survex.com> 27050 27051 * api/omqueryinternal.cc: Fixed compilation with --enable-debug. 27052 27053Sat May 14 01:02:33 BST 2005 Olly Betts <olly@survex.com> 27054 27055 * docs/doxygen_full_conf.in: Fix lingering DOXYGEN_HAVE_DOT reference. 27056 27057Sat May 14 00:36:14 BST 2005 Olly Betts <olly@survex.com> 27058 27059 * HACKING: Update information about the SVN tag name to use for 27060 debian files. 27061 27062Fri May 13 23:21:54 BST 2005 Olly Betts <olly@survex.com> 27063 27064 * HACKING: Updated release instructions to refer to SVN. 27065 27066Fri May 13 20:58:15 BST 2005 Olly Betts <olly@survex.com> 27067 27068 * PLATFORMS: Updated for 0.9.0. 27069 27070Fri May 13 02:47:42 BST 2005 Olly Betts <olly@survex.com> 27071 27072 * include/xapian/queryparser.h: Fix for Sun's C++ compiler. 27073 27074Fri May 13 00:09:07 BST 2005 Olly Betts <olly@survex.com> 27075 27076 * NEWS,configure.ac: Updated for 0.9.0. 27077 27078Thu May 12 18:54:11 BST 2005 Olly Betts <olly@survex.com> 27079 27080 * docs/doxygen_api_conf.in,docs/Makefile.am: Fix to generate docs 27081 for all backend factory functions like 0.8.5 did. 27082 27083Thu May 12 16:59:22 BST 2005 Olly Betts <olly@survex.com> 27084 27085 * backends/database.cc,backends/Makefile.am,include/xapian/database.h, 27086 include/xapian/dbfactory.h,include/xapian.h,include/Makefile.am: 27087 Split off database factory methods into xapian/dbfactory.h - this 27088 allows us to fix recent breakage in VPATH builds (caused by the 27089 need to include the generated file xapian/version.h from 27090 xapian/database.h) without modifying almost every Makefile.am. 27091 27092Wed May 11 16:52:41 BST 2005 Olly Betts <olly@survex.com> 27093 27094 * queryparser/queryparser.lemony: Move prefixed, bracketed 27095 subexpression to be an alternative for stop_term which allows 27096 "term prefix:(term2 term3)" to parse correctly. Also move 27097 non-prefixed, bracketed subexpression to be an alternative 27098 for stop_term - this doesn't change how things parse, but 27099 makes the grammar simpler. 27100 * tests/queryparsertest.cc: Added regression test for the above. 27101 * tests/Makefile.am,tests/queryparsertest.cc: Reworked queryparsertest 27102 to use the standard testsuite harness. 27103 27104Wed May 11 16:09:32 BST 2005 Olly Betts <olly@survex.com> 27105 27106 * include/xapian/query.h: Fix OP_ELITE_SET at 10 (the value it had 27107 in 0.8.5). 27108 27109Tue May 10 22:56:45 BST 2005 Olly Betts <olly@survex.com> 27110 27111 * docs/Makefile.am: Removed check for DOXYGEN_HAVE_DOT which I removed 27112 recently. 27113 27114Tue May 10 01:09:01 BST 2005 Olly Betts <olly@survex.com> 27115 27116 * queryparser/queryparser.lemony: Removed state parameter from 27117 TermList::add_term() since it is no longer used. 27118 27119Mon May 09 20:56:40 BST 2005 Olly Betts <olly@survex.com> 27120 27121 * docs/Makefile.am: Explicitly set the pool_size for latex, because we 27122 seem to overflow the default setting on many systems. 27123 * docs/Makefile.am: Use $(MAKE) instead of make. 27124 27125Sun May 08 23:22:37 BST 2005 Olly Betts <olly@survex.com> 27126 27127 * configure.ac: Corrected $CC -> $CXX to fix bogus message "Checking 27128 for option to enable ANSI C++ mode". 27129 * configure.ac: If any tools needed for documentation are missing 27130 and we're in maintainer mode, die with a suitable error in 27131 configure rather than with strange errors when building the 27132 documentation. 27133 27134Sun May 08 01:43:55 BST 2005 Olly Betts <olly@survex.com> 27135 27136 * include/xapian/queryparser.h,queryparser/queryparser.lemony, 27137 queryparser/queryparser_internal.h,queryparser/queryparser.cc: 27138 Remove QueryParser::termlist_begin() and termlist_end() since 27139 you can just use Query::terms_begin() and terms_end() on the 27140 Query object returned by QueryParser::parse_query(). 27141 27142Thu May 05 01:00:26 BST 2005 Olly Betts <olly@survex.com> 27143 27144 * common/utils.cc: On WIN32, don't define NOMINMAX if it is already 27145 defined. 27146 27147Wed May 04 00:52:04 BST 2005 Olly Betts <olly@survex.com> 27148 27149 * matcher/bm25weight.cc: Avoid needing document length if we're simply 27150 going to multiply it by zero! 27151 27152Tue May 03 14:07:20 BST 2005 Olly Betts <olly@survex.com> 27153 27154 * HACKING: CVS -> SVN; Note that tabs should be 8 spaces. 27155 27156Thu Apr 28 21:13:17 BST 2005 Olly Betts <olly@survex.com> 27157 27158 * include/xapian/database.h: Don't declare the backend factory 27159 functions if the corresponding backend has been disabled. This 27160 means that trying to use a disabled backend will be caught at 27161 compile time rather than link time. 27162 27163Thu Apr 28 21:12:43 BST 2005 Olly Betts <olly@survex.com> 27164 27165 * docs/intro_ir.html: Corrected two errors. 27166 27167Wed Apr 27 23:04:53 BST 2005 Olly Betts <olly@survex.com> 27168 27169 * configure.ac,include/xapian/version.h.in: Define 27170 XAPIAN_HAS_xxx_BACKEND for each backend which is enabled. The 27171 bindings need this, and user code might find it useful too. 27172 27173Wed Apr 27 03:31:50 BST 2005 Olly Betts <olly@survex.com> 27174 27175 * api/omdatabase.cc,api/ompostlistiterator.cc, 27176 api/omtermlistiterator.cc,include/xapian/, 27177 queryparser/queryparser.cc: Where end iterator is just 27178 FooIterator(NULL) put it inline in the header for efficiency. 27179 If we ever need to change an implementation, we can easily move 27180 methods back into the library and bump the library version suitably. 27181 27182Wed Apr 27 02:40:43 BST 2005 Olly Betts <olly@survex.com> 27183 27184 * examples/quest.cc,include/xapian/queryparser.h, 27185 queryparser/queryparser.cc,tests/queryparsertest.cc: Rename 27186 QueryParser::set_stemming_options() to set_stemming_strategy() 27187 - it's a better name and avoids confusion with the old deprecated 27188 method called set_stemming_options(). 27189 * examples/quest.cc: Added stopword handling. 27190 27191Wed Apr 27 02:39:33 BST 2005 Olly Betts <olly@survex.com> 27192 27193 * include/xapian/enquire.h: Fixed documentation comment. 27194 27195Sun Apr 24 03:02:47 BST 2005 Olly Betts <olly@survex.com> 27196 27197 * api/omstem.cc: Simplified Xapian::Stem::Internal. 27198 27199Sun Apr 24 02:21:22 BST 2005 Olly Betts <olly@survex.com> 27200 27201 * tests/api_nodb.cc: Extended stemlang1 to check that trying to create 27202 a stemmer for a non-existent language throws InvalidArgumentError. 27203 27204Fri Apr 22 01:20:57 BST 2005 Olly Betts <olly@survex.com> 27205 27206 * include/xapian/document.h: Clearer documentation comments. 27207 27208Thu Apr 21 15:03:42 BST 2005 Olly Betts <olly@survex.com> 27209 27210 * docs/overview.html,include/xapian/query.h: Removed lingering 27211 references to OP_WEIGHT_CUTOFF. 27212 27213Thu Apr 21 01:46:51 BST 2005 Olly Betts <olly@survex.com> 27214 27215 * PLATFORMS: Added success report for Ubuntu 5.04 on x86_64. 27216 27217Mon Apr 18 02:54:10 BST 2005 Olly Betts <olly@survex.com> 27218 27219 * docs/stemming.html: Stemming appears to be applicable to Japanese 27220 so don't say it isn't! 27221 27222Sat Apr 16 01:08:22 BST 2005 Olly Betts <olly@survex.com> 27223 27224 * PLATFORMS: Updated from tinderbox. 27225 27226Fri Apr 15 23:18:58 BST 2005 Olly Betts <olly@survex.com> 27227 27228 * languages/: Remove lingering .c versions of snowball generated 27229 sources. 27230 27231Fri Apr 15 02:05:27 BST 2005 Olly Betts <olly@survex.com> 27232 27233 * include/xapian/queryparser.h,queryparser/queryparser_internal.h, 27234 queryparser/queryparser.cc: Implemented QueryParser::set_database() 27235 method. 27236 * queryparser/queryparser.lemony: Allow searches for C#, etc. If a 27237 database has been set, for this and + and - suffixes, check if the 27238 term actually exists, and if not, ignore the suffix if the 27239 unsuffixed term exists. 27240 * tests/queryparsertest.cc: Added tests for # suffix. 27241 27242Thu Apr 14 23:39:57 BST 2005 Olly Betts <olly@survex.com> 27243 27244 * include/xapian/stem.h: Rewritten with better documentation comments. 27245 * include/xapian/stem.h: Added operator() as preferred alternative 27246 to stem_word(). 27247 * api/omstem.cc,include/xapian/stem.h: Simplified by restructuring 27248 to eliminate a few internal methods. 27249 27250Thu Apr 14 23:35:47 BST 2005 Olly Betts <olly@survex.com> 27251 27252 * queryparser/queryparser.cc: Make get_description() debug tracing 27253 message category INTRO not API. 27254 27255Thu Apr 14 19:57:06 BST 2005 Olly Betts <olly@survex.com> 27256 27257 * include/xapian/queryparser.h,queryparser/queryparser.cc: Added 27258 QueryParser::get_description() method (not very descriptive yet!) 27259 27260Thu Apr 14 03:30:09 BST 2005 Olly Betts <olly@survex.com> 27261 27262 * include/xapian/queryparser.h: Fixed to only include the xapian 27263 headers we actually depend on. 27264 * include/xapian/queryparser.h: Added \file and \brief documentation 27265 comments. 27266 27267Thu Apr 14 02:50:36 BST 2005 Olly Betts <olly@survex.com> 27268 27269 * examples/quest.cc,include/xapian.h,tests/queryparsertest.cc: 27270 Change xapian.h to automatically include xapian/queryparser.h 27271 and fix direct includes of xapian/queryparser.h in tests and 27272 examples. 27273 27274Thu Apr 14 01:48:39 BST 2005 Olly Betts <olly@survex.com> 27275 27276 * include/xapian/queryparser.h: Added Xapian::SimpleStopper which 27277 should be sufficient for the majority of uses. 27278 * include/xapian/queryparser.h,queryparser/queryparser_internal.h, 27279 queryparser/queryparser.cc: Changed QueryParser::set_stopper() to 27280 take a const pointer. 27281 27282Thu Apr 07 15:57:15 BST 2005 Olly Betts <olly@survex.com> 27283 27284 * api/omenquire.cc,common/omenquireinternal.h,common/multimatch.h, 27285 matcher/multimatch.cc,net/socketserver.cc: Tidy up after sort_bands. 27286 27287Thu Apr 07 15:15:27 BST 2005 Olly Betts <olly@survex.com> 27288 27289 * api/omenquire.cc,common/,include/xapian/enquire.h, 27290 matcher/networkmatch.cc,matcher/multimatch.cc,matcher/networkmatch.h, 27291 net/socketserver.cc,net/socketclient.cc,tests/api_db.cc: 27292 Enhanced Enquire sorting API and added ability to reverse sort on 27293 a value. 27294 * api/omenquire.cc: Enquire::get_description() now includes output of 27295 Enquire::Internal::get_description(). 27296 27297Thu Apr 07 13:55:56 BST 2005 Olly Betts <olly@survex.com> 27298 27299 * HACKING: Fixed a typo. 27300 27301Thu Apr 07 13:37:02 BST 2005 Olly Betts <olly@survex.com> 27302 27303 * backends/quartz/btree.cc,backends/quartz/btree.h, 27304 bin/quartzcompact.cc: The "fuller compaction" code needs changes 27305 to btree.h which I'd failed to check in. Also document --fuller 27306 in 'quartzcompact --help'. 27307 27308Thu Apr 07 03:35:36 BST 2005 Olly Betts <olly@survex.com> 27309 27310 * bin/quartzcompact.cc: Added "fuller compaction" mode, which ignores 27311 the usual "at least 4 items per block" rule. 27312 27313Thu Apr 07 03:28:32 BST 2005 Olly Betts <olly@survex.com> 27314 27315 * PLATFORMS: Added success result for GCC 3.2.3 on FreeBSD 4.8; fixed 27316 a typo. 27317 27318Wed Apr 06 23:04:15 BST 2005 Olly Betts <olly@survex.com> 27319 27320 * queryparser/queryparser.lemony: Added FIXME comment. 27321 27322Wed Apr 06 22:52:53 BST 2005 Olly Betts <olly@survex.com> 27323 27324 * ./: Removed ylwrap from svn:ignore. 27325 27326Tue Apr 05 22:34:16 BST 2005 Olly Betts <olly@survex.com> 27327 27328 * queryparser/queryparsertest.cc,queryparser/Makefile.am, 27329 tests/Makefile.am: Moved queryparsertest into tests/. 27330 27331Tue Apr 05 22:15:05 BST 2005 Olly Betts <olly@survex.com> 27332 27333 * examples/: Updated svn:ignore property. 27334 27335Tue Apr 05 21:34:13 BST 2005 Olly Betts <olly@survex.com> 27336 27337 * queryparser/Makefile.am,configure.ac,extra/xapian/queryparser.h, 27338 extra/,include/Makefile.am,Makefile.am: Move extra/ to queryparser/; 27339 Merge extra/xapian/ into include/xapian/. 27340 27341Tue Apr 05 16:37:32 BST 2005 Olly Betts <olly@survex.com> 27342 27343 * m4/xapian.m4: Fix m4 quoting (argh!) 27344 27345Tue Apr 05 16:28:06 BST 2005 Olly Betts <olly@survex.com> 27346 27347 * m4/xapian.m4: Fix XO_LIB_XAPIAN to trim off any _svn6789 from 27348 XAPIAN_VERSION. 27349 27350Tue Apr 05 16:17:31 BST 2005 Olly Betts <olly@survex.com> 27351 27352 * configure.ac: Fix m4 quoting. 27353 27354Tue Apr 05 15:16:38 BST 2005 Olly Betts <olly@survex.com> 27355 27356 * configure.ac: #define VERSION in version.h shouldn't include any 27357 _svn6789 suffix. 27358 27359Tue Apr 05 13:28:23 BST 2005 Olly Betts <olly@survex.com> 27360 27361 * configure.ac: Snapshot generator now appends _svn6789 or similar to 27362 the version string, so take that into account when finding REVISION. 27363 27364Tue Apr 05 12:55:52 BST 2005 Olly Betts <olly@survex.com> 27365 27366 * ChangeLog.examples,Makefile.am,examples/ChangeLog: Move 27367 xapian-examples ChangeLog to ChangeLog.examples in the top-level 27368 and include in the tarball. 27369 27370Tue Apr 05 02:18:08 BST 2005 Olly Betts <olly@survex.com> 27371 27372 * examples/dir_contents,examples/README: Converted xapian-examples 27373 README into a dir_contents file. 27374 27375Tue Apr 05 02:12:31 BST 2005 Olly Betts <olly@survex.com> 27376 27377 * docs/overview.html,docs/install.html,configure.ac,Makefile.am, 27378 xapian.spec.in,examples/Makefile.am: Moved xapian-examples module 27379 to examples subdirectory of xapian-core. 27380 27381Tue Apr 05 00:37:05 BST 2005 Olly Betts <olly@survex.com> 27382 27383 * m4/.cvsignore,debian/.cvsignore,matcher/.cvsignore,docs/.cvsignore, 27384 tests/.cvsignore,bin/.cvsignore,.cvsignore,autoconf/.cvsignore, 27385 extra/.cvsignore,include/xapian/.cvsignore,include/.cvsignore, 27386 net/.cvsignore,common/.cvsignore,testsuite/.cvsignore, 27387 getopt/.cvsignore,languages/.cvsignore,api/.cvsignore, 27388 backends/inmemory/.cvsignore,backends/muscat36/.cvsignore, 27389 backends/net/.cvsignore,backends/quartz/.cvsignore, 27390 backends/multi/.cvsignore,backends/.cvsignore: Remove .cvsignore 27391 files, as they're not used by SVN. 27392 27393Thu Mar 10 01:48:20 GMT 2005 Olly Betts <olly@survex.com> 27394 27395 * testsuite/backendmanager.cc,testsuite/index_utils.cc, 27396 testsuite/index_utils.h: Rewrite of index_utils code, removing 27397 unused and unusual features. 27398 * tests/testdata/: Cleaned up data for apitest now that paragraphs 27399 don't have the odd minimum number of lines! 27400 * tests/testdata/apitest_space.txt: New index_utils code has C-like 27401 \ escapes for control characters rather than ^ escapes. 27402 27403Wed Mar 09 22:04:08 GMT 2005 Olly Betts <olly@survex.com> 27404 27405 * common/utils.h: Added C_isxdigit and C_isnotxdigit. 27406 27407Wed Mar 09 15:22:35 GMT 2005 Olly Betts <olly@survex.com> 27408 27409 * testsuite/index_utils.cc: Fixed ^x to actually decode hex values 27410 correctly. 27411 27412Tue Mar 08 16:57:25 GMT 2005 Olly Betts <olly@survex.com> 27413 27414 * matcher/multimatch.cc: Minor code tidy. 27415 27416Tue Mar 08 15:48:38 GMT 2005 Olly Betts <olly@survex.com> 27417 27418 * api/omenquire.cc,docs/matcherdesign.html,include/xapian/enquire.h, 27419 matcher/multimatch.cc,tests/api_db.cc: Removed sort_bands support. 27420 27421Tue Mar 08 04:13:03 GMT 2005 Olly Betts <olly@survex.com> 27422 27423 * bin/quartzcompact.cc: Fixed to add items for all tables in key order 27424 which produces results around 40% more compact (previously in the 27425 merge case, this was only happening for the postlist table). 27426 27427Tue Mar 08 03:30:06 GMT 2005 Olly Betts <olly@survex.com> 27428 27429 * testsuite/btreecheck.cc: Make default check output fit on a single 27430 line (at least for many databases). 27431 27432Tue Mar 08 02:34:41 GMT 2005 Olly Betts <olly@survex.com> 27433 27434 * matcher/multimatch.cc: Fix warning from newer versions of GCC. 27435 27436Sat Mar 05 00:25:07 GMT 2005 Olly Betts <olly@survex.com> 27437 27438 * api/omenquire.cc,common/omenquireinternal.h,include/xapian/enquire.h, 27439 matcher/multimatch.cc,tests/api_db.cc: Fixed Xapian::RSet to have 27440 the same "it's a handle" copy semantics as most of the other 27441 classes. 27442 27443Sat Mar 05 00:23:47 GMT 2005 Olly Betts <olly@survex.com> 27444 27445 * testsuite/testsuite.h: Fixed TEST_EQUAL_DOUBLE to use DBL_EPSILON 27446 correctly. 27447 27448Fri Mar 04 21:06:38 GMT 2005 Olly Betts <olly@survex.com> 27449 27450 * tests/testdata/etext.txt: Stripped carriage returns. 27451 27452Fri Mar 04 21:04:25 GMT 2005 Olly Betts <olly@survex.com> 27453 27454 * PLATFORMS: Assorted updates. 27455 27456Thu Mar 03 01:17:07 GMT 2005 Olly Betts <olly@survex.com> 27457 27458 * bin/quartzcompact.cc: Fixed to allow compacting a single database. 27459 Fixed handling of very last term when merging postlists. 27460 27461Wed Mar 02 03:18:30 GMT 2005 Olly Betts <olly@survex.com> 27462 27463 * backends/quartz/quartz_values.cc: Values are stored in sorted order 27464 so we can stop unpacking the list once we get to one after the one 27465 we're looking for. 27466 27467Wed Mar 02 02:59:23 GMT 2005 Olly Betts <olly@survex.com> 27468 27469 * bin/quartzcheck.cc: Now checks the structure of all the tables, not 27470 just the postlist table, and cross-checks doclen values between 27471 termlist and postlist tables. Recognises "--help" option. Should 27472 now continue after an error (typically it would crash before), and 27473 counts the number of errors found. Now exits with non-zero status 27474 if any errors were found. 27475 27476Tue Mar 01 18:48:25 GMT 2005 Olly Betts <olly@survex.com> 27477 27478 * xapian.spec.in: '/usr/share' -> '%{_datadir}'. 27479 27480Tue Mar 01 16:21:07 GMT 2005 Olly Betts <olly@survex.com> 27481 27482 * tests/api_db.cc: Fixed warning from Sun's C++ compiler. 27483 27484Tue Mar 01 02:02:15 GMT 2005 Olly Betts <olly@survex.com> 27485 27486 * bin/quartzcompact.cc: Extended to allow merging several quartz 27487 databases to produce a single compact quartz database. This 27488 allows for faster building - simple index in chunks, then merge 27489 the chunks. 27490 27491Tue Mar 01 00:08:12 GMT 2005 Olly Betts <olly@survex.com> 27492 27493 * xapian.spec.in: Put the .so in the -devel package (it's only useful 27494 for linking to - the .so.* files are all that's needed at runtime). 27495 27496Tue Mar 01 00:05:25 GMT 2005 Olly Betts <olly@survex.com> 27497 27498 * Makefile.am,xapian-config.in,xapian.spec.in,extra/.cvsignore, 27499 extra/Makefile.am: Eliminated the extra library for the queryparser 27500 - it's tiny compared to the main library and having it around just 27501 complicates things. 27502 27503Mon Feb 28 23:52:19 GMT 2005 Olly Betts <olly@survex.com> 27504 27505 * tests/api_anydb.cc: More set_length() changes. 27506 27507Mon Feb 28 20:31:13 GMT 2005 Olly Betts <olly@survex.com> 27508 27509 * net/socketclient.cc,net/socketserver.cc,api/omenquire.cc, 27510 api/omquery.cc,api/omqueryinternal.cc,common/, 27511 include/xapian/enquire.h,include/xapian/query.h,matcher/: 27512 Remove Query::set_length() in favour of an optional length 27513 parameter to Enquire::set_query(). 27514 27515Mon Feb 28 15:32:32 GMT 2005 Olly Betts <olly@survex.com> 27516 27517 * api/omqueryinternal.cc,common/Makefile.am,common/deleter_vector.h: 27518 Removed deleter_vector as it's no longer used anywhere. 27519 27520Mon Feb 28 15:27:42 GMT 2005 Olly Betts <olly@survex.com> 27521 27522 * api/omquery.cc,api/omqueryinternal.cc,include/xapian/query.h, 27523 matcher/localmatch.cc,tests/api_anydb.cc,tests/api_nodb.cc: 27524 Eliminated Query::set_elite_set_size(). 27525 27526Mon Feb 28 15:15:45 GMT 2005 Olly Betts <olly@survex.com> 27527 27528 * HACKING: Note how to disable use of VALGRIND on the make check 27529 command line, or when using runtest directly. 27530 27531Mon Feb 28 13:36:07 GMT 2005 Olly Betts <olly@survex.com> 27532 27533 * common/omqueryinternal.h: Removed out-of-date commented out version 27534 of Xapian::Query::Internal. 27535 27536Mon Feb 28 13:07:42 GMT 2005 Olly Betts <olly@survex.com> 27537 27538 * backends/quartz/quartz_alltermslist.cc,tests/api_db.cc: Updated (C) 27539 dates for changes earlier this year. 27540 27541Mon Feb 28 13:04:41 GMT 2005 Olly Betts <olly@survex.com> 27542 27543 * api/omquery.cc,api/omqueryinternal.cc,include/xapian/query.h, 27544 matcher/localmatch.cc,matcher/localmatch.h,tests/api_anydb.cc, 27545 tests/api_nodb.cc,tests/api_posdb.cc: Eliminated Query::set_window 27546 in favour of an optional parameter to the constructor, with the aim 27547 of making Query objects immutable once constructed. 27548 27549Mon Feb 28 12:32:26 GMT 2005 Olly Betts <olly@survex.com> 27550 27551 * extra/queryparser.lemony: Updated 2 uses of Query::set_window(). 27552 27553Mon Feb 28 04:43:20 GMT 2005 Olly Betts <olly@survex.com> 27554 27555 * api/omquery.cc,api/omqueryinternal.cc,common/socketcommon.h, 27556 include/xapian/query.h,matcher/,tests/api_anydb.cc: 27557 Removed OP_WEIGHT_CUTOFF, since it doesn't actually seem to 27558 add useful functionality over using Enquire::set_cutoff(). 27559 27560Mon Feb 28 04:31:58 GMT 2005 Olly Betts <olly@survex.com> 27561 27562 * matcher/weightcutoffpostlist.cc: Fix updating of docid in 27563 WeightCutoffPostList - the current code works, but can end up doing 27564 lots (potentially millions) of pointless loop iterations. 27565 27566Mon Feb 28 02:57:29 GMT 2005 Olly Betts <olly@survex.com> 27567 27568 * docs/queryparser.html: Note that + and - work on phrases and 27569 bracketed expressions. 27570 27571Fri Feb 25 17:06:23 GMT 2005 Olly Betts <olly@survex.com> 27572 27573 * backends/quartz/quartz_alltermslist.cc: Fix skip_to on an allterms 27574 TermIterator to set the current term when the skip_to-ed term is 27575 in the database. 27576 * tests/api_db.cc: Add regression test for this (allterms5). 27577 27578Wed Feb 23 19:07:30 GMT 2005 Olly Betts <olly@survex.com> 27579 27580 * configure.ac: Suppress 2 Intel C++ warnings which we can't easily 27581 code around, and enable -Werror automatically with 27582 --enable-maintainer-mode. 27583 * configure.ac: Check that the C++ compiler can actually link a 27584 program. AC_LANG_CXX doesn't, and if it can't find a C++ compiler 27585 it'll just return "g++" which just leads to a later configure 27586 test failing in a confusing way. 27587 27588Tue Feb 22 13:39:07 GMT 2005 Olly Betts <olly@survex.com> 27589 27590 * include/xapian/enquire.h: Improved documentation comments. 27591 * api/omenquire.cc,include/xapian/enquire.h: MSet::max_size() (which 27592 only exists so that MSet is an STL compiler) now returns 27593 MSet::size() and is inlined from the header. 27594 * include/xapian/enquire.h: Added ESet::max_size() (for STL 27595 compatibility). 27596 27597Tue Feb 22 00:18:33 GMT 2005 Olly Betts <olly@survex.com> 27598 27599 * configure.ac: corrected "none known for yes" or "none known for no" 27600 to "none known for g++-3.2" or similar. 27601 * configure.ac: autoconf identifies Intel's C++ compiler as GCC, so 27602 probe for which it actually is. 27603 27604Mon Feb 21 21:54:29 GMT 2005 Olly Betts <olly@survex.com> 27605 27606 * PLATFORMS: Updated. 27607 27608Mon Feb 21 16:06:32 GMT 2005 Olly Betts <olly@survex.com> 27609 27610 * PLATFORMS: Added success report for Intel C++ 8.1 on ia64 Linux 27611 (and also GCC 3.2.3 on ia64 Linux). 27612 27613Mon Feb 21 05:33:46 GMT 2005 Olly Betts <olly@survex.com> 27614 27615 * backends/multi/: Don't delare methods in headers if they're virtual 27616 or large. 27617 27618Mon Feb 21 04:11:23 GMT 2005 Olly Betts <olly@survex.com> 27619 27620 * backends/inmemory/inmemory_database.cc, 27621 backends/inmemory/inmemory_database.h: Don't delare methods in 27622 headers if they're virtual or large. 27623 27624Sun Feb 20 21:13:40 GMT 2005 Olly Betts <olly@survex.com> 27625 27626 * common/multimatch.h: Removed unused "class SocketServer;". 27627 27628Sun Feb 20 19:47:01 GMT 2005 Olly Betts <olly@survex.com> 27629 27630 * net/socketserver.cc: Fixed typo in debug code. 27631 27632Sat Feb 19 18:44:17 GMT 2005 Olly Betts <olly@survex.com> 27633 27634 * PLATFORMS: Added minimal testcase which fails to compile with 27635 Compaq's C++ compiler (cxx). 27636 27637Sat Feb 19 04:23:51 GMT 2005 Olly Betts <olly@survex.com> 27638 27639 * backends/quartz/btree.cc,backends/quartz/btree.h: Change 27640 Btree::find_in_block to take a bool indicating if this is a leaf 27641 block rather than an offset to subtract when it is. 27642 27643Fri Feb 18 04:27:16 GMT 2005 Olly Betts <olly@survex.com> 27644 27645 * HACKING: Added better description of how reference-counted API 27646 classes are structured. 27647 * include/xapian/postingiterator.h,include/xapian/termiterator.h: 27648 More (and better) documentation comments. 27649 27650Fri Feb 18 03:05:40 GMT 2005 Olly Betts <olly@survex.com> 27651 27652 * backends/quartz/btree.cc: Made full compaction a tiny bit more 27653 compact. Improved compaction by a few % in non-full case. 27654 Tighter bound on amount of memory to reserve to read the tag 27655 into. 27656 27657Fri Feb 18 00:47:41 GMT 2005 Olly Betts <olly@survex.com> 27658 27659 * api/omenquire.cc: Removed duplicate "#include <xapian/enquire.h>". 27660 27661Thu Feb 17 01:33:01 GMT 2005 Olly Betts <olly@survex.com> 27662 27663 * extra/queryparser_internal.h: Further Sun C++ fixes. 27664 27665Wed Feb 16 05:32:40 GMT 2005 Olly Betts <olly@survex.com> 27666 27667 * extra/queryparser.lemony: Attempted fix for Sun's C++ compiler. 27668 27669Tue Feb 15 02:10:35 GMT 2005 Olly Betts <olly@survex.com> 27670 27671 * extra/queryparser.cc,extra/queryparser.lemony, 27672 extra/queryparser_internal.h: Fixed namespace stuff to keep Sun's C++ 27673 compiler happy. 27674 27675Mon Feb 14 21:21:08 GMT 2005 Olly Betts <olly@survex.com> 27676 27677 * api/vectortermlist.h: Workaround a shortcoming in Sun's C++ 27678 compiler. 27679 27680Mon Feb 14 21:16:05 GMT 2005 Olly Betts <olly@survex.com> 27681 27682 * PLATFORMS: Results from upgraded sourceforge x86_64 box. 27683 27684Mon Feb 14 18:36:40 GMT 2005 Olly Betts <olly@survex.com> 27685 27686 * extra/xapian/queryparser.h: Fixed compilation error. 27687 27688Mon Feb 14 18:00:12 GMT 2005 Olly Betts <olly@survex.com> 27689 27690 * extra/xapian/queryparser.h: Added backward compatibility wrapper for 27691 old version of QueryParser::set_stemming_options(). 27692 27693Mon Feb 14 17:50:47 GMT 2005 Olly Betts <olly@survex.com> 27694 27695 * extra/xapian/queryparser.h: Added dummy QueryParser::set_database() 27696 (currently it ignores the parameter). 27697 27698Mon Feb 14 15:34:13 GMT 2005 Olly Betts <olly@survex.com> 27699 27700 * extra/lemon.c: C90, not C99! 27701 27702Mon Feb 14 15:20:11 GMT 2005 Olly Betts <olly@survex.com> 27703 27704 * extra/lemon.c: C, not C++. 27705 27706Mon Feb 14 05:49:50 GMT 2005 Olly Betts <olly@survex.com> 27707 27708 * extra/: Tweak lemon so we can avoid generating files in builddir 27709 in a VPATH build. 27710 27711Mon Feb 14 02:44:17 GMT 2005 Olly Betts <olly@survex.com> 27712 27713 * extra/Makefile.am: Update to reflect lempar.c -> queryparser.lt. 27714 27715Mon Feb 14 02:25:53 GMT 2005 Olly Betts <olly@survex.com> 27716 27717 * extra/lempar.c,extra/queryparser.lt: Rename lemon template to .lt 27718 which is more sensible than calling it lempar.c and should work 27719 with VPATH builds. 27720 27721Mon Feb 14 02:12:51 GMT 2005 Olly Betts <olly@survex.com> 27722 27723 * extra/Makefile.am: Fixes for VPATH builds. 27724 27725Mon Feb 14 01:43:59 GMT 2005 Olly Betts <olly@survex.com> 27726 27727 * configure.ac: Need to AC_SUBST(CC_FOR_BUILD). 27728 27729Mon Feb 14 00:19:45 GMT 2005 Olly Betts <olly@survex.com> 27730 27731 * extra/Makefile.am: Added dependency for building queryparser.h. 27732 27733Sun Feb 13 23:30:02 GMT 2005 Olly Betts <olly@survex.com> 27734 27735 * extra/queryparser.cc,extra/queryparser_internal.h, 27736 extra/xapian/queryparser.h: Fixed to compile with GCC 3.3. 27737 27738Sun Feb 13 23:09:15 GMT 2005 Olly Betts <olly@survex.com> 27739 27740 * configure.ac: Enhanced valgrind test to (a) see if --tool=memcheck 27741 is needed and (b) see if valgrind actually works (we don't want to 27742 try to use an x86 valgrind on an x86_64 box). 27743 27744Mon Jan 17 03:21:29 GMT 2005 Olly Betts <olly@survex.com> 27745 27746 * api/vectortermlist.h,extra/,extra/xapian/queryparser.h: Rewritten 27747 QueryParser class. Uses Lemon instead of Bison to generate the 27748 parser, which enables us to stop using static data, so this class 27749 is at last reentrant. It now uses a PIMPL style with reference 27750 counted internals like most of the other Xapian classes. And 27751 direct access to member variables has gone, which unfortunately 27752 forces an API change (bug #39). The rewrite also supports more 27753 features than the original did. 27754 * HACKING,configure.ac: No longer need Bison. 27755 * configure.ac: Need CC_FOR_BUILD to compile Lemon with. 27756 27757Mon Jan 17 02:40:40 GMT 2005 Olly Betts <olly@survex.com> 27758 27759 * PLATFORMS: IRIX + SGI C++ now compiles with just two warnings - 27760 unused variables in Snowball generated code. 27761 27762Sun Jan 16 03:19:56 GMT 2005 Olly Betts <olly@survex.com> 27763 27764 * xapian.spec.in: Don't say "%makeinstall" in a comment since rpm 27765 tries to expand it and explodes. 27766 27767Sat Jan 15 03:30:33 GMT 2005 Olly Betts <olly@survex.com> 27768 27769 * docs/Makefile.am: Clearer rules for making Postscript doxygen docs. 27770 27771Sat Jan 15 02:45:19 GMT 2005 Olly Betts <olly@survex.com> 27772 27773 * HACKING: Note that '#include <limits>' isn't supported by GCC 2.95, 27774 and other assorted minor tweaks. 27775 27776Sat Jan 08 16:09:10 GMT 2005 Olly Betts <olly@survex.com> 27777 27778 * api/maptermlist.h,backends/inmemory/inmemory_database.h, 27779 backends/quartz/quartz_postlist.h,common/,matcher/localmatch.h, 27780 matcher/mergepostlist.h,matcher/phrasepostlist.h,net/progclient.cc: 27781 Fixes for SGI C++ warnings. 27782 27783Fri Jan 7 13:02:49 GMT 2005 Richard Boulton <richard@tartarus.org> 27784 27785 * common/positionlist.h: Correct out-of-date documentation comment. 27786 27787Tue Jan 04 03:05:26 GMT 2005 Olly Betts <olly@survex.com> 27788 27789 * matcher/multimatch.cc: Removed unnecessary class declaration. 27790 27791Tue Jan 04 03:02:02 GMT 2005 Olly Betts <olly@survex.com> 27792 27793 * configure.ac: Automatically enable ANSI C++ mode for SGI's compiler 27794 with '-LANG:std'; check that any automatically determined flags 27795 for ANSI C++ mode actually allow us to compile a trivial program 27796 - if they don't it probably means the compiler isn't the one we 27797 were expecting, but one installed with the same name, so we now 27798 drop the flags in this case. 27799 27800Thu Dec 30 00:50:58 GMT 2004 Olly Betts <olly@survex.com> 27801 27802 * extra/queryparser.yy: QueryParser::parse_query() was failing to 27803 clear termlist and unstem. 27804 27805Fri Dec 24 00:07:28 GMT 2004 Olly Betts <olly@survex.com> 27806 27807 * PLATFORMS: Updated from tinderbox. 27808 27809Thu Dec 23 21:13:46 GMT 2004 Olly Betts <olly@survex.com> 27810 27811 * backends/quartz/btree.cc: Fixed GCC compilation warning. 27812 27813Thu Dec 23 17:22:15 GMT 2004 Olly Betts <olly@survex.com> 27814 27815 * INSTALL,README: Updated. 27816 * README: Don't quote chunks of the GPL - just refer people to the 27817 full text in COPYING. 27818 27819Thu Dec 23 16:55:03 GMT 2004 Olly Betts <olly@survex.com> 27820 27821 * NEWS,PLATFORMS,configure.ac: Updated for 0.8.5 release. 27822 27823Tue Dec 21 13:26:55 GMT 2004 Olly Betts <olly@survex.com> 27824 27825 * docs/quickstart.html: Improved wording. 27826 27827Tue Dec 21 13:03:06 GMT 2004 Olly Betts <olly@survex.com> 27828 27829 * HACKING: Updated to reflect extra jobs which cvs-tag-release now 27830 does. 27831 27832Mon Dec 20 16:25:21 GMT 2004 Olly Betts <olly@survex.com> 27833 27834 * bin/Makefile.am: quartzcompact now uses getopt, so need to link 27835 it in our version to build on non-glibc platforms. 27836 27837Mon Dec 20 16:23:28 GMT 2004 Olly Betts <olly@survex.com> 27838 27839 * backends/quartz/btree.cc: Added comment noting why we can't 27840 truncate separating keys at higher levels. 27841 27842Thu Dec 16 14:46:28 GMT 2004 Olly Betts <olly@survex.com> 27843 27844 * HACKING: Fixed a typo, and improved wording. 27845 27846Mon Dec 13 02:52:52 GMT 2004 Olly Betts <olly@survex.com> 27847 27848 * backends/multi/multi_postlist.cc: Updated (C) date. 27849 27850Mon Dec 13 02:50:44 GMT 2004 Olly Betts <olly@survex.com> 27851 27852 * languages/: Added missing '#include <config.h>' to .cc files 27853 (probably harmless, but it should be included as the first thing any 27854 source file does). 27855 27856Mon Dec 13 02:21:28 GMT 2004 Olly Betts <olly@survex.com> 27857 27858 * bin/quartzdump.cc: Mark the long options as const. 27859 27860Mon Dec 13 02:20:08 GMT 2004 Olly Betts <olly@survex.com> 27861 27862 * bin/quartzcompact.cc: Tables sizes will always be a whole number of 27863 Kbytes, since the blocksize is, so report the size in K. Also 27864 report the change in size as well as the before and after sizes. 27865 27866Mon Dec 13 02:11:59 GMT 2004 Olly Betts <olly@survex.com> 27867 27868 * common/netutils.cc: Added missing '#include <config.h>' (probably 27869 harmless, but it should be included as the first thing any source 27870 file does). 27871 27872Mon Dec 13 01:39:53 GMT 2004 Olly Betts <olly@survex.com> 27873 27874 * backends/quartz/btree.cc,backends/quartz/btree.h: Renamed 27875 Btree::compress() to Btree::compact() for consistency with 27876 "full_compaction" and "quartzcompact". Also, "compress" is 27877 confusing since use "compact" and we use that term in the zlib 27878 patch. 27879 * backends/quartz/btree.cc: When full_compaction is enabled, don't 27880 fill the last few bytes of a block if that would mean we needed 27881 an extra item and the overhead for that item would use up more 27882 of the next block than we save. This reduces the table size 27883 after full compaction by up to 0.2% in my tests! 27884 27885Mon Dec 13 01:39:02 GMT 2004 Olly Betts <olly@survex.com> 27886 27887 * backends/multi/multi_postlist.cc: Fixed to build with AssertParanoid 27888 enabled. 27889 27890Mon Dec 13 00:41:28 GMT 2004 Olly Betts <olly@survex.com> 27891 27892 * bin/quartzcompact.cc: Added missing '#include <config.h>' so that 27893 largefile support is enabled and we report compression statistics 27894 for tables > 2G. 27895 * bin/quartzcompact.cc: Added --no-full / -n option to disable full 27896 compaction. This may be useful if you want to update the database 27897 after compacting it (need to test to see if this option is actually 27898 useful). 27899 27900Sun Dec 12 21:26:27 GMT 2004 Olly Betts <olly@survex.com> 27901 27902 * xapian-config.in: Previous attempted fix to --libs output was wrong 27903 - made it actually work. 27904 27905Sun Dec 12 21:24:44 GMT 2004 Olly Betts <olly@survex.com> 27906 27907 * xapian.spec.in: %makeinstall puts the wrong paths in the .la files 27908 so use "make DESTDIR=... install" instead. 27909 27910Wed Dec 08 15:59:44 GMT 2004 Olly Betts <olly@survex.com> 27911 27912 * NEWS: Bumped the 0.8.4 release date. 27913 27914Wed Dec 08 15:32:46 GMT 2004 Olly Betts <olly@survex.com> 27915 27916 * xapian-config.in: Make sure that --libs output doesn't include 27917 libxapian.la (from libxapianqueryparser.la's dependencies). 27918 27919Tue Dec 07 18:18:26 GMT 2004 Olly Betts <olly@survex.com> 27920 27921 * backends/quartz/quartz_log.cc: Fixed to compile on mingw. 27922 27923Tue Dec 07 15:57:44 GMT 2004 Olly Betts <olly@survex.com> 27924 27925 * NEWS: Updated. 27926 * api/omdatabase.cc,backends/database.cc,bin/omtcpsrv.cc, 27927 common/database.h,docs/,include/xapian/database.h,tests/api_db.cc: 27928 Added constructors to Database and WritableDatabase which fulfil the 27929 role that the Auto::open() factory functions currently do. 27930 Auto::open() is now deprecated. 27931 * api/,backends/inmemory/inmemory_database.cc, 27932 backends/quartz/quartz_database.cc,backends/quartz/quartz_postlist.h, 27933 common/expandweight.h,common/stats.h,include/xapian.h: 27934 #include <xapian.h> no longer pulls in xapian/output.h - this 27935 removes the external ability to write a Xapian object to an 27936 ostream directly, as it's little used and potentially dangerous 27937 ('cout << mset[i];' will compile, but you almost certainly meant 27938 'cout << *mset[i];'). You can get the old effect by writing 27939 'cout << obj->get_description();' instead of 'cout << obj;'. 27940 Adjusted all the library sources which relied on xapian/output.h 27941 pulling in various other xapian/ headers. 27942 * backends/muscat36/da_database.cc,backends/muscat36/db_database.cc: 27943 Debug output tweaks. 27944 * common/emptypostlist.h,matcher/mergepostlist.cc,matcher/multimatch.cc: 27945 Added EmptyPostList::get_maxweight() which always returns 0, so you 27946 no longer need to explicitly set a weighting scheme on an 27947 EmptyPostList. 27948 * common/omdebug.h: Only include omstringstream.h if 27949 XAPIAN_DEBUG_VERBOSE is in effect. 27950 * extra/Makefile.am: queryparsertest needs to link to libxapian.la 27951 explicitly. 27952 * net/progclient.cc: Whitespace tweak. 27953 * testsuite/: Eliminated barely used sources indexer.h, 27954 textfile_indexer.h, and textfile_indexer.cc. 27955 * testsuite/backendmanager.cc: Removed unused functions 27956 make_strvec() and index_file_to_database(). 27957 27958Wed Dec 01 07:15:46 GMT 2004 Olly Betts <olly@survex.com> 27959 27960 * PLATFORMS: SF CF x86_64 machine no longer needs --disable-shared. 27961 27962Tue Nov 30 21:53:33 GMT 2004 Olly Betts <olly@survex.com> 27963 27964 * NEWS,PLATFORMS,configure.ac: Updated for 0.8.4 release. 27965 27966Tue Nov 30 03:07:43 GMT 2004 Olly Betts <olly@survex.com> 27967 27968 * configure.ac,backends/database.cc,backends/quartz/bcursor.cc, 27969 backends/quartz/quartz_database.cc, 27970 backends/quartz/quartz_postlist.cc,common/omassert.h, 27971 common/omdebug.cc,common/omdebug.h,docs/doxygen_full_conf.in, 27972 matcher/localmatch.cc,matcher/multimatch.cc,matcher/stats.cc, 27973 tests/apitest.cc,tests/btreetest.cc,testsuite/backendmanager.cc, 27974 testsuite/backendmanager.h,testsuite/testsuite.cc: Rename all the 27975 MUS_xxx defines to XAPIAN_xxx. 27976 27977Tue Nov 30 02:36:33 GMT 2004 Olly Betts <olly@survex.com> 27978 27979 * configure.ac,backends/quartz/btree.cc: Get configure to probe for 27980 the prototypes (if any) needed for pread and pwrite. 27981 27982Tue Nov 30 01:09:26 GMT 2004 Olly Betts <olly@survex.com> 27983 27984 * backends/quartz/btree.cc: Instead of trying to coax pread/pwrite 27985 prototypes out of the system headers, let's try just providing our 27986 own! 27987 27988Mon Nov 29 19:51:13 GMT 2004 Olly Betts <olly@survex.com> 27989 27990 * extra/Makefile.am: Moved -no-undefined to the right place, plus we 27991 also need to pass @ldflags@ and ../libxapian.la in 27992 libxapianqueryparser_la_LIBADD. 27993 27994Mon Nov 29 18:28:57 GMT 2004 Olly Betts <olly@survex.com> 27995 27996 * AUTHORS: Updated. 27997 27998Mon Nov 29 18:27:12 GMT 2004 Olly Betts <olly@survex.com> 27999 28000 * extra/Makefile.am: Added -no-undefined to 28001 libxapianqueryparser_la_LDFLAGS so it builds on mingw. 28002 28003Mon Nov 29 17:46:54 GMT 2004 Olly Betts <olly@survex.com> 28004 28005 * tests/Makefile.am: Don't try to run "runtest" as a test - it just 28006 needs to be a dependency of the tests. 28007 28008Sat Nov 27 02:58:28 GMT 2004 Olly Betts <olly@survex.com> 28009 28010 * backends/inmemory/dir_contents: Trimmed whitespace. 28011 28012Sat Nov 27 02:05:51 GMT 2004 Olly Betts <olly@survex.com> 28013 28014 * NEWS: Updated ready for 0.8.4 release. 28015 28016Sat Nov 27 02:03:40 GMT 2004 Olly Betts <olly@survex.com> 28017 28018 * tests/Makefile.am: Added a dependency so "make check" regenerates 28019 runtest if necessary. 28020 28021Sat Nov 27 02:02:58 GMT 2004 Olly Betts <olly@survex.com> 28022 28023 * AUTHORS: Updated. 28024 28025Sat Nov 27 01:59:18 GMT 2004 Olly Betts <olly@survex.com> 28026 28027 * README: Minor tweak. 28028 28029Sat Nov 27 01:58:53 GMT 2004 Olly Betts <olly@survex.com> 28030 28031 * configure.ac: Improved a couple of comments. 28032 28033Sat Nov 27 01:42:32 GMT 2004 Olly Betts <olly@survex.com> 28034 28035 * docs/: Trimmed trailing whitespace. 28036 28037Sat Nov 27 01:41:33 GMT 2004 Olly Betts <olly@survex.com> 28038 28039 * docs/stemming.html: Reworded text from BrightStation times which 28040 talked about "the open source release". 28041 28042Fri Nov 26 17:32:55 GMT 2004 Olly Betts <olly@survex.com> 28043 28044 * docs/indexerquickstart.html: Removed dead documentation. 28045 28046Fri Nov 26 17:11:19 GMT 2004 Olly Betts <olly@survex.com> 28047 28048 * PLATFORMS: Updated with new cygwin report. 28049 28050Fri Nov 26 17:07:21 GMT 2004 Olly Betts <olly@survex.com> 28051 28052 * tests/api_anydb.cc,tests/api_nodb.cc,docs/bm25.html, 28053 include/xapian/enquire.h,matcher/bm25weight.cc: Renamed BM25 28054 parameters to match standard naming in papers and elsewhere 28055 (A->k3, B->k1, C->k2, D->b), eliminated the extra factor of 2 28056 which our C had, and reordered the parameters to k1, k2, k3. 28057 This is an incompatible API change for BM25Weight(), so if 28058 you are using custom parameters for BM25 you'll need to 28059 update your code. 28060 28061Fri Nov 26 15:20:16 GMT 2004 Olly Betts <olly@survex.com> 28062 28063 * tests/runtest.in: Allow VALGRIND environmental variable to override 28064 the value we got from configure. 28065 28066Fri Nov 26 03:50:36 GMT 2004 Olly Betts <olly@survex.com> 28067 28068 * matcher/bm25weight.cc,matcher/tradweight.cc: termfreq is always 28069 exact for matching (we only approximate it for query expansion) 28070 so replace code to work around bad approximations with Assert() to 28071 make sure this never happens. 28072 28073Fri Nov 26 00:19:22 GMT 2004 Olly Betts <olly@survex.com> 28074 28075 * matcher/expandweight.cc,matcher/tradweight.cc: If we estimate the 28076 term frequency, ensure it has a sane value (>= r and <= N - R + r) 28077 rather than bodging around the problem later on. 28078 28079Thu Nov 25 01:29:36 GMT 2004 Olly Betts <olly@survex.com> 28080 28081 * backends/quartz/quartz_database.cc: Fixed recent cygwin change to 28082 actually compile. 28083 28084Thu Nov 25 01:06:03 GMT 2004 Olly Betts <olly@survex.com> 28085 28086 * bin/quartzcompact.cc: Added --help and --version; Check that the 28087 source path and desitination path aren't the same; Report each table 28088 name when we start compacting it, and some simple stats on the 28089 compaction achieved when we finish. 28090 28091Tue Nov 23 16:19:09 GMT 2004 Olly Betts <olly@survex.com> 28092 28093 * configure.ac: Fixed m4 quoting problem. 28094 28095Tue Nov 23 12:47:54 GMT 2004 Olly Betts <olly@survex.com> 28096 28097 * configure.ac: Fix the test for GCC3 used to turn on -Werror with 28098 --enable-maintainer-mode. 28099 28100Mon Nov 22 03:08:10 GMT 2004 Olly Betts <olly@survex.com> 28101 28102 * PLATFORMS: Assorted updates. 28103 28104Mon Nov 22 02:15:22 GMT 2004 Olly Betts <olly@survex.com> 28105 28106 * tests/quartztest.cc: Test with DB_CREATE_OR_OPEN in writelock1. 28107 28108Mon Nov 22 01:37:13 GMT 2004 Olly Betts <olly@survex.com> 28109 28110 * common/utils.cc: define NOMINMAX as a cleaner way to prevent 28111 windows.h from polluting the namespace and colliding with ANSI C++. 28112 28113Sat Nov 20 14:36:43 GMT 2004 Olly Betts <olly@survex.com> 28114 28115 * tests/runtest.in: --logfile-fd was renamed to --log-fd in valgrind 28116 2.1.2 with no support for the old option name, so we must probe 28117 to decide which to use. 28118 28119Fri Nov 19 13:18:43 GMT 2004 Olly Betts <olly@survex.com> 28120 28121 * backends/quartz/bcursor.cc,backends/quartz/bcursor.h: Eliminated 28122 Bcursor::get_tag() - it's an internal method only used from one 28123 other method, and it now just a trivial wrapper around 28124 Btree::read_tag(). 28125 28126Fri Nov 19 04:20:39 GMT 2004 Olly Betts <olly@survex.com> 28127 28128 * backends/quartz/bcursor.cc,backends/quartz/btree.cc, 28129 backends/quartz/btree.h: Factored out near identical code from 28130 Btree::find_tag() and Bcursor::get_tag() into Btree::read_tag(). 28131 28132Thu Nov 18 03:27:52 GMT 2004 Olly Betts <olly@survex.com> 28133 28134 * backends/quartz/btree.cc: Applied the Quartz "DANGEROUS" patch, but 28135 disabled for now. This way it won't keep being broken by changes 28136 to the code. 28137 28138Tue Nov 16 04:29:25 GMT 2004 Olly Betts <olly@survex.com> 28139 28140 * backends/quartz/btree.cc: Ah, it's __sun__/__sun/sun, not 28141 __solaris__ (at least for x86 Solaris 9). 28142 28143Tue Nov 16 02:56:44 GMT 2004 Olly Betts <olly@survex.com> 28144 28145 * backends/quartz/btree.cc: Solaris defines __solaris__ not 28146 __SOLARIS__. 28147 28148Mon Nov 15 12:40:38 GMT 2004 Olly Betts <olly@survex.com> 28149 28150 * tests/api_db.cc: Added new test userweight1 to test user defined 28151 matching schemes. 28152 28153Sun Nov 14 05:20:34 GMT 2004 Olly Betts <olly@survex.com> 28154 28155 * backends/quartz/quartz_metafile.cc, 28156 backends/quartz/quartz_metafile.h: Removed unused 28157 QuartzMetaFile::erase() method. 28158 28159Sun Nov 14 04:55:05 GMT 2004 Olly Betts <olly@survex.com> 28160 28161 * backends/quartz/quartz_database.cc: For cygwin, use the underlying 28162 MoveFile API call for locking, as link() doesn't work on FAT 28163 partitions. And don't rely on HAVE_LINK to control whether we 28164 use link() otherwise - if the configure test somehow misfires, a 28165 compilation error is better than using rename() on Unix as that 28166 would cause a second writer to smash the lock of the first. 28167 28168Thu Nov 11 06:58:41 GMT 2004 Olly Betts <olly@survex.com> 28169 28170 * backends/quartz/btree.cc: Removed superfluous statement. 28171 28172Tue Nov 09 23:50:10 GMT 2004 Olly Betts <olly@survex.com> 28173 28174 * backends/quartz/btree.cc: Need to include sys/types.h to define 28175 ssize_t, size_t, and off_t before we prototype pread and pwrite 28176 for OSF. 28177 28178Tue Nov 09 22:39:00 GMT 2004 Olly Betts <olly@survex.com> 28179 28180 * backends/quartz/btree.cc: Tweaked the pread/pwrite mess to try to 28181 get it to work on OSF and x86 Solaris while not breaking it 28182 elsewhere. 28183 28184Tue Nov 09 19:29:37 GMT 2004 Olly Betts <olly@survex.com> 28185 28186 * backends/quartz/btree.cc,backends/quartz/btree.h: More refactoring. 28187 28188Tue Nov 09 17:13:10 GMT 2004 Olly Betts <olly@survex.com> 28189 28190 * backends/quartz/: More refactoring. Also rearranged the contents 28191 of the quartz and btree headers, eliminating btree_types.h in the 28192 process. 28193 28194Tue Nov 09 16:47:13 GMT 2004 Olly Betts <olly@survex.com> 28195 28196 * backends/quartz/quartz_metafile.cc: Using fdcloser is less clear in 28197 trivial cases. 28198 28199Tue Nov 09 16:38:47 GMT 2004 Olly Betts <olly@survex.com> 28200 28201 * backends/quartz/quartz_database.cc: Close the fd of the lock file 28202 before trying to rename it on Windows. 28203 28204Tue Nov 09 07:58:02 GMT 2004 Olly Betts <olly@survex.com> 28205 28206 * backends/quartz/btree.cc,backends/quartz/btree.h, 28207 backends/quartz/btree_util.h: More refactoring. 28208 28209Tue Nov 09 03:24:59 GMT 2004 Olly Betts <olly@survex.com> 28210 28211 * xapian-config.in: Added --swigflags option for use with SWIG. 28212 28213Mon Nov 08 22:54:55 GMT 2004 Olly Betts <olly@survex.com> 28214 28215 * configure.ac,xapian-config.in: If flags are needed to select ANSI 28216 mode with the current compiler, then make xapian-config --cxxflags 28217 include them so that Xapian users don't have to jump through the 28218 same hoops we do. 28219 28220Mon Nov 08 04:49:21 GMT 2004 Olly Betts <olly@survex.com> 28221 28222 * backends/inmemory/inmemory_database.cc, 28223 backends/inmemory/inmemory_database.h,backends/muscat36/, 28224 backends/net/net_database.cc,backends/quartz/quartz_database.cc, 28225 backends/quartz/quartz_database.h,common/database.h, 28226 common/net_database.h,matcher/localmatch.cc: If a database contains 28227 no positional information, change NEAR and PHRASE queries into AND 28228 queries (as otherwise they'd return no matches at all) (bug#56). 28229 * tests/api_wrdb.cc: Added feature test phraseorneartoand1. 28230 28231Mon Nov 08 04:09:04 GMT 2004 Olly Betts <olly@survex.com> 28232 28233 * configure.ac,backends/quartz/btree.cc: Improved what we do to 28234 turn on pread and pwrite declarations in unistd.h so that it works 28235 on OSF and doesn't need the HAVE_GLIBC test, yet still works on 28236 OpenBSD. 28237 28238Mon Nov 08 03:55:51 GMT 2004 Olly Betts <olly@survex.com> 28239 28240 * backends/quartz/,testsuite/btreecheck.cc: More refactoring. 28241 28242Sun Nov 07 20:42:32 GMT 2004 Olly Betts <olly@survex.com> 28243 28244 * configure.ac: One more tweak. 28245 28246Sun Nov 07 18:18:19 GMT 2004 Olly Betts <olly@survex.com> 28247 28248 * configure.ac,include/xapian/version.h.in: Another tweak to hopefully 28249 get version.h generation to work everywhere. 28250 28251Sun Nov 07 15:01:23 GMT 2004 Olly Betts <olly@survex.com> 28252 28253 * configure.ac,include/xapian/version.h.in: Terminating lines with 'N' 28254 makes Sun's C++ unhappy. Try ',' instead. 28255 28256Sun Nov 07 03:54:42 GMT 2004 Olly Betts <olly@survex.com> 28257 28258 * tests/api_nodb.cc: Added test_weight1 which tests the built-in 28259 Xapian::Weight subclasses (bug#8). 28260 28261Sun Nov 07 03:36:19 GMT 2004 Olly Betts <olly@survex.com> 28262 28263 * backends/quartz/btree.cc,backends/quartz/btree_util.h, 28264 testsuite/btreecheck.cc: More refactoring. 28265 28266Sun Nov 07 03:33:24 GMT 2004 Olly Betts <olly@survex.com> 28267 28268 * matcher/bm25weight.cc,matcher/tradweight.cc: Fixed definitions to 28269 match declarations after recent change. 28270 28271Sun Nov 07 02:33:50 GMT 2004 Olly Betts <olly@survex.com> 28272 28273 * configure.ac: Noted LIBRARY_VERSION_INFO which 0.8.4 will get. 28274 28275Sun Nov 07 02:28:38 GMT 2004 Olly Betts <olly@survex.com> 28276 28277 * include/xapian/enquire.h: BoolWeight::unserialise() returns 28278 BoolWeight*, etc. BoolWeight::clone() returns BoolWeight *. 28279 28280Sun Nov 07 02:24:17 GMT 2004 Olly Betts <olly@survex.com> 28281 28282 * HACKING: Note that C++ style casts are preferable to C style casts; 28283 Improve wording in a few places. 28284 28285Sun Nov 07 01:05:58 GMT 2004 Olly Betts <olly@survex.com> 28286 28287 * backends/quartz/btree.cc,backends/quartz/btree_util.h, 28288 testsuite/btreecheck.cc: Moved set_block_given_by() 28289 and block_given_by() into Item class. 28290 28291Sat Nov 06 21:16:15 GMT 2004 Olly Betts <olly@survex.com> 28292 28293 * configure.ac,include/xapian/version.h.in: Fix generation of 28294 version.h to work with aCC -E which concatenates adjacent literal 28295 strings. 28296 28297Sat Nov 06 20:58:00 GMT 2004 Olly Betts <olly@survex.com> 28298 28299 * backends/quartz/,testsuite/btreecheck.cc: Started to refactor the 28300 Btree manager by introducing Item and Key classes which take care 28301 of handling the on-disk format. 28302 28303Sat Nov 06 15:40:05 GMT 2004 Olly Betts <olly@survex.com> 28304 28305 * xapian-config.in,m4/xapian.m4: Pass across ac_top_srcdir and use it 28306 if provided to say "configure.ac" or "configure.in" rather than 28307 "configure.in (or configure.ac)" in the "Add AC_PROG_LIBTOOL" 28308 error message. 28309 28310Sat Nov 06 14:49:05 GMT 2004 Olly Betts <olly@survex.com> 28311 28312 * configure.ac: Updated comment - we now find SOURCEDOC in 2 goes (as 28313 there are no longer any C sources). 28314 28315Sat Nov 06 14:43:16 GMT 2004 Olly Betts <olly@survex.com> 28316 28317 * configure.ac: Oops, STLPORT_CXXFLAGS *is* used (in xapian-config.in) 28318 so revert the change which removes it. 28319 28320Sat Nov 06 13:37:23 GMT 2004 Olly Betts <olly@survex.com> 28321 28322 * include/xapian/enquire.h,matcher/bm25weight.cc, 28323 matcher/tradweight.cc: Move virtual methods of BM25Weight and 28324 TradWeight out of the header. 28325 28326Sat Nov 06 13:19:32 GMT 2004 Olly Betts <olly@survex.com> 28327 28328 * configure.ac,include/xapian/version.h.in: Another rework of how 28329 include/xapian/version.h is generated - this time to make it work 28330 with Sun's C++ compiler again; XAPIAN_VERSION is now a string; 28331 Define XAPIAN_REVISION (which is 4 for version 0.8.4). 28332 28333Sat Nov 06 04:22:57 GMT 2004 Olly Betts <olly@survex.com> 28334 28335 * configure.ac: Don't AC_SUBST(STLPORT_CXXFLAGS) as it is never used 28336 that way (it's included in AM_CXXFLAGS). 28337 28338Sat Nov 06 01:03:53 GMT 2004 Olly Betts <olly@survex.com> 28339 28340 * testsuite/testsuite.h: Removed incorrect comment about how STRINGIZE 28341 is used. 28342 28343Fri Nov 05 14:41:59 GMT 2004 Olly Betts <olly@survex.com> 28344 28345 * include/xapian/database.h: Removed a default parameter value from one 28346 variant of open_db so that there's only one candidate for 28347 open_db(string). 28348 28349Fri Nov 05 14:40:38 GMT 2004 Olly Betts <olly@survex.com> 28350 28351 * backends/database.cc: Renamed parameter from keys to values to 28352 reflect current external naming. 28353 28354Fri Nov 05 14:38:07 GMT 2004 Olly Betts <olly@survex.com> 28355 28356 * include/xapian/version.h.in,configure.ac: Fixed generation of 28357 include/xapian/version.h to work with aCC. 28358 28359Thu Nov 04 12:17:50 GMT 2004 Olly Betts <olly@survex.com> 28360 28361 * configure.ac: Try "-std strict_ansi" for Compaq C++. 28362 28363Thu Nov 04 11:22:52 GMT 2004 Olly Betts <olly@survex.com> 28364 28365 * configure.ac: Fourth argument to AC_CHECK_HEADERS must be non-empty 28366 to make a difference. 28367 28368Thu Nov 04 10:21:25 GMT 2004 Olly Betts <olly@survex.com> 28369 28370 * configure.ac: Found clean fix for inttypes.h problem (previous bodge 28371 didn't work anyway). 28372 28373Thu Nov 04 01:18:55 GMT 2004 Olly Betts <olly@survex.com> 28374 28375 * configure.ac: Eliminated use of \( \) in sed expression as it 28376 appears to cause problems on HP-UX. 28377 28378Thu Nov 04 00:54:11 GMT 2004 Olly Betts <olly@survex.com> 28379 28380 * configure.ac: Added icky workaround to Compaq C++ oddness - cc can 28381 find inttypes.h but cxx can't. 28382 28383Wed Nov 03 23:58:48 GMT 2004 Olly Betts <olly@survex.com> 28384 28385 * api/omenquire.cc,common/multimatch.h,matcher/multimatch.cc, 28386 net/socketserver.cc: Tweaked to compile with Compaq C++. 28387 28388Wed Nov 03 22:55:04 GMT 2004 Olly Betts <olly@survex.com> 28389 28390 * configure.ac: Need to put flags to select ANSI C++ mode in CXXFLAGS 28391 not AM_CXXFLAGS. 28392 28393Wed Nov 03 22:27:08 GMT 2004 Olly Betts <olly@survex.com> 28394 28395 * api/omenquire.cc: Fixed typo. 28396 28397Wed Nov 03 21:58:53 GMT 2004 Olly Betts <olly@survex.com> 28398 28399 * api/omenquire.cc: Added explicit cast to try to help Compaq C++ 28400 build. 28401 28402Wed Nov 03 21:38:29 GMT 2004 Olly Betts <olly@survex.com> 28403 28404 * configure.ac: Probe for C++ compiler switches for ANSI mode as early 28405 as possible. With Compaq's C++, we need -D__USE_STD_IOSTREAM to 28406 successfully #include <streambuf>. 28407 28408Wed Nov 03 21:07:43 GMT 2004 Olly Betts <olly@survex.com> 28409 28410 * configure.ac: Fixed snprintf configure test. 28411 28412Wed Nov 03 19:37:32 GMT 2004 Olly Betts <olly@survex.com> 28413 28414 * common/utils.cc: Fixed typo. 28415 28416Wed Nov 03 19:27:22 GMT 2004 Olly Betts <olly@survex.com> 28417 28418 * configure.ac,common/utils.cc: Improved snprintf checking. 28419 28420Wed Nov 03 15:43:54 GMT 2004 Olly Betts <olly@survex.com> 28421 28422 * getopt/getopt.cc: Fixed to compile when not using glibc. 28423 28424Wed Nov 03 14:55:29 GMT 2004 Olly Betts <olly@survex.com> 28425 28426 * bin/omtcpsrv.cc,bin/quartzdump.cc,common/Makefile.am,common/getopt.h, 28427 common/gnu_getopt.h,getopt/,testsuite/testsuite.cc: Major overhaul 28428 of getopt use. Move from getopt(), getopt_long(), getopt_long_only() 28429 to gnu_getopt(), etc so we don't need to dance around avoiding 28430 clashes with getopt() stuff in system headers. The new gnu_getopt.h 28431 header is cruft free and hopefully won't trip up assorted compilers 28432 or platforms. 28433 28434Wed Nov 03 14:53:39 GMT 2004 Olly Betts <olly@survex.com> 28435 28436 * tests/Makefile.am: quartztest doesn't use getopt directly, so no 28437 need to link it. 28438 28439Wed Nov 03 12:56:56 GMT 2004 Olly Betts <olly@survex.com> 28440 28441 * tests/stemtest.cc: Prune unused #includes. 28442 28443Wed Nov 03 03:47:46 GMT 2004 Olly Betts <olly@survex.com> 28444 28445 * getopt/getopt.cc: Defining _NO_PROTO is a really bad idea for C++ 28446 code! 28447 28448Wed Nov 03 03:34:06 GMT 2004 Olly Betts <olly@survex.com> 28449 28450 * configure.ac: Removed AC_HEADER_STDC - Compaq's C++ compiler can't 28451 find inttypes.h, but their C compiler can! 28452 28453Wed Nov 03 02:48:04 GMT 2004 Olly Betts <olly@survex.com> 28454 28455 * net/tcpclient.cc,net/tcpserver.cc: Use SOCKLEN_T for the type we 28456 need to pass to various socket calls, since HPUX defines socklen_t 28457 yet wants int in those calls. 28458 28459Wed Nov 03 02:43:26 GMT 2004 Olly Betts <olly@survex.com> 28460 28461 * autoconf/type_socklen_t.m4,matcher/networkmatch.cc,net/: If 28462 __WIN32__ is defined, we want winsock2.h instead of sys/socket.h. 28463 Mingw doesn't seem to even have the latter, so I think previously 28464 we've been compiling by picking one up from somewhere random! 28465 28466Wed Nov 03 01:10:01 GMT 2004 Olly Betts <olly@survex.com> 28467 28468 * autoconf/type_socklen_t.m4: Rewritten to work with HPUX which 28469 helpfully defines socklen_t but doesn't use it! 28470 28471Tue Nov 02 21:29:40 GMT 2004 Olly Betts <olly@survex.com> 28472 28473 * getopt/getopt.cc: Fixes for Compaq C++. 28474 28475Tue Nov 02 18:51:43 GMT 2004 Olly Betts <olly@survex.com> 28476 28477 * getopt/getopt.cc: Protect getopt definition for possible getopt 28478 macro declared in getopt.h. 28479 28480Tue Nov 02 16:52:21 GMT 2004 Olly Betts <olly@survex.com> 28481 28482 * configure.ac: AM_CONFIG_HEADER -> AC_CONFIG_HEADERS; removed 28483 commented out AC_LANG_SAVE and AC_LANG_RESTORE. 28484 28485Tue Nov 02 15:56:02 GMT 2004 Olly Betts <olly@survex.com> 28486 28487 * configure.ac: # comments -> dnl comments. 28488 28489Tue Nov 02 15:54:46 GMT 2004 Olly Betts <olly@survex.com> 28490 28491 * configure.ac: $GCC -> $GXX; $CC -> $CXX. 28492 28493Tue Nov 02 15:38:21 GMT 2004 Olly Betts <olly@survex.com> 28494 28495 * configure.ac,docs/Makefile.am: Removed SOURCEDOC_C_SRC. 28496 28497Tue Nov 02 06:51:39 GMT 2004 Olly Betts <olly@survex.com> 28498 28499 * getopt/getopt.cc,getopt/getopt1.cc: Fixed function declarations to 28500 not use K&R C syntax. 28501 28502Tue Nov 02 05:31:57 GMT 2004 Olly Betts <olly@survex.com> 28503 28504 * getopt/getopt.cc: Make _getopt_internal extern "C" too. 28505 28506Tue Nov 02 04:43:08 GMT 2004 Olly Betts <olly@survex.com> 28507 28508 * Makefile.am,configure.ac,HACKING,PLATFORMS,backends/muscat36/, 28509 getopt/Makefile.am,getopt/getopt.cc,getopt/getopt1.cc,languages/: 28510 Change the few C sources to be C++. This way we don't need to 28511 worry about configure choosing a mismatching pair of compilers, 28512 or about whether configure tests with the C compiler don't apply 28513 to the C++ compiler, or vice versa. 28514 28515Tue Nov 02 04:31:49 GMT 2004 Olly Betts <olly@survex.com> 28516 28517 * backends/muscat36/: More C casts converted to C++ casts. 28518 28519Tue Nov 02 04:28:07 GMT 2004 Olly Betts <olly@survex.com> 28520 28521 * matcher/bm25weight.cc,matcher/tradweight.cc: More C casts converted 28522 to C++ casts. 28523 28524Tue Nov 02 03:22:52 GMT 2004 Olly Betts <olly@survex.com> 28525 28526 * backends/muscat36/: Removed unused test harness sources. 28527 28528Tue Nov 02 02:44:34 GMT 2004 Olly Betts <olly@survex.com> 28529 28530 * languages/pool.c,languages/pool.h: Removed unused sources. 28531 28532Tue Nov 02 01:51:30 GMT 2004 Olly Betts <olly@survex.com> 28533 28534 * configure.ac: AC_TYPE_SIZE_T causes problems with Compaq C++ when it 28535 fails to spot size_t (which is there) and the "#define size_t 28536 unsigned long" it adds to config.h breaks "using std::size_t;". 28537 Also removed AC_C_CONST as I don't believe that's needed either 28538 in a largely C++ library. Both of these have been in configure.in 28539 since the very first version so I suspect autoscan decided we wanted 28540 them. 28541 28542Mon Nov 01 05:44:02 GMT 2004 Olly Betts <olly@survex.com> 28543 28544 * matcher/multimatch.cc: Fixed compilation problem on alpha Linux. 28545 28546Mon Nov 01 03:16:36 GMT 2004 Olly Betts <olly@survex.com> 28547 28548 * api/omqueryinternal.cc,api/omstem.cc, 28549 backends/inmemory/inmemory_database.h, 28550 backends/multi/multi_termlist.h,backends/quartz/, 28551 extra/queryparser.yy,matcher/,net/tcpserver.cc,tests/api_anydb.cc, 28552 tests/api_db.cc,tests/quartztest.cc,testsuite/backendmanager.cc, 28553 testsuite/btreecheck.cc,testsuite/testsuite.cc: Changed C style 28554 casts to C++ style. The syntax is ugly, but they do make the intent 28555 clearer which is a good thing. 28556 28557Mon Nov 01 02:56:31 GMT 2004 Olly Betts <olly@survex.com> 28558 28559 * configure.ac: Select ANSI iostream implementation for Compaq C++. 28560 28561Mon Nov 01 02:41:58 GMT 2004 Olly Betts <olly@survex.com> 28562 28563 * configure.ac: Compaq's C++ compiler doesn't know snprintf, yet their 28564 C compiler does. Let's try running *all* the configure checks with 28565 the C++ compiler, since that's what we compile most code with. 28566 28567Mon Nov 01 01:12:43 GMT 2004 Olly Betts <olly@survex.com> 28568 28569 * common/netutils.cc: Fixed to compile. 28570 28571Mon Nov 01 01:06:13 GMT 2004 Olly Betts <olly@survex.com> 28572 28573 * common/Makefile.am,common/netutils.cc,common/netutils.h: 28574 encode_tname() and decode_tname() aren't really sensible candidates 28575 for inlining so move them out of a header. 28576 28577Sun Oct 31 15:34:18 GMT 2004 Olly Betts <olly@survex.com> 28578 28579 * configure.ac: Turn on -AA when compiling with HP's aCC. 28580 28581Sun Oct 31 15:10:02 GMT 2004 Olly Betts <olly@survex.com> 28582 28583 * testsuite/testutils.cc: Fixed mset_range_is_same() and 28584 mset_range_is_same_weights() which were only comparing the 28585 first items in the range. Luckily the tests still all pass 28586 so this wasn't hiding any bugs. 28587 28588Sat Oct 30 19:15:48 BST 2004 Olly Betts <olly@survex.com> 28589 28590 * configure.ac: Disable pread/pwrite on HP-UX as they don't work when 28591 LFS in enabled, and we definitely want LFS. 28592 28593Sat Oct 30 16:42:24 BST 2004 Olly Betts <olly@survex.com> 28594 28595 * backends/quartz/bcursor.cc: Fix Bcursor::del() which didn't always 28596 leave the cursor on the next item like it should. 28597 * backends/quartz/quartz_postlist.cc: If we're removing a posting 28598 list entirely, often there will only be one chunk, so avoid 28599 creating a Bcursor in this case. 28600 28601Sat Oct 30 16:55:19 BST 2004 Olly Betts <olly@survex.com> 28602 28603 * languages/header.h: Removed unused #define MAXINT and MININT which 28604 were clashing with some header on HP-UX. 28605 28606Sat Oct 30 07:09:33 BST 2004 Olly Betts <olly@survex.com> 28607 28608 * docs/bm25.html,docs/intro_ir.html: Reworked to talk about Xapian 28609 rather than Muscat. Also improved the appearance of the formulae. 28610 28611Sat Oct 30 06:07:14 BST 2004 Olly Betts <olly@survex.com> 28612 28613 * backends/quartz/btree.cc: Btree::read_block - debug log the value 28614 of p, not the irrelevant contents of the block it points to. 28615 28616Fri Oct 29 22:37:31 BST 2004 Olly Betts <olly@survex.com> 28617 28618 * backends/quartz/quartz_postlist.cc: Improved comments. 28619 28620Fri Oct 29 05:10:02 BST 2004 Olly Betts <olly@survex.com> 28621 28622 * backends/quartz/btree.cc: Fixed ultra-obscure bug in the code which 28623 finds a key suitable to discriminating between two blocks in a 28624 B-tree branch (discovered by reading the code). Comparing the keys 28625 didn't consider the length of the second, so it is possible the code 28626 would miscompare. But in reality this is extremely unlikely to 28627 happen, and even then would probably just mean that the 28628 discriminating key wouldn't be as short as it could be. 28629 28630Fri Oct 29 04:12:09 BST 2004 Olly Betts <olly@survex.com> 28631 28632 * backends/quartz/btree.cc: Simplified Btree::compare_keys() by 28633 removing the last case which was dead code as it was covered by 28634 an earlier case. 28635 28636Wed Oct 27 21:17:12 BST 2004 Olly Betts <olly@survex.com> 28637 28638 * HACKING,tests/runtest.in: 28639 Enhanced runtest to allow it to run test programs under valgrind 28640 and other tools (gdb was already supported). 28641 * testsuite/testsuite.cc: Point the user to the runtest script if 28642 srcdir can't be guessed. And no longer look for the test program 28643 in the tests subdirectory of the current directory. 28644 * common/omdebug.cc: Removed compatibility code for checking 28645 OM_DEBUG_FILE and OM_DEBUG_TYPES. 28646 * HACKING: Document that %% in XAPIAN_DEBUG_LOG is substituted with 28647 the process-id, and that setting XAPIAN_DEBUG_FLAGS to -1 enables 28648 all debug messages. 28649 * HACKING: Valgrind now supports x86 FreeBSD and PowerPC Linux. 28650 * HACKING: Removed mentions of long-dead configure options 28651 --enable-profiling, --enable-purify and --enable-insure. 28652 28653Wed Oct 27 21:16:10 BST 2004 Olly Betts <olly@survex.com> 28654 28655 * include/xapian/enquire.h: Document parameters of 28656 Enquire::register_match_decider(). 28657 28658Wed Oct 27 21:14:32 BST 2004 Olly Betts <olly@survex.com> 28659 28660 * PLATFORMS: Updated. 28661 28662Wed Oct 13 20:21:38 BST 2004 Olly Betts <olly@survex.com> 28663 28664 * backends/quartz/btree.cc,backends/quartz/btree.h: Revert the 28665 previous change as runtime sized arrays are a g++ extension. 28666 Calling new and delete on every call to add_item() is probably 28667 unwise. 28668 28669Tue Oct 12 23:40:36 BST 2004 Olly Betts <olly@survex.com> 28670 28671 * backends/quartz/btree.cc,backends/quartz/btree.h: split_p is only 28672 used by Btree::add_item(), so make it a temporary in that method 28673 rather than a class member variable which we need to take care to 28674 allocate and deallocate. 28675 28676Mon Oct 11 16:32:10 BST 2004 Olly Betts <olly@survex.com> 28677 28678 * tests/btreetest.cc: Fix memory leaks in test_cursor1. 28679 28680Mon Oct 11 02:24:50 BST 2004 Olly Betts <olly@survex.com> 28681 28682 * docs/quartzdesign.html: Use 5 tables in the example for how we keep 28683 revisions in step, since we use 5 tables in quartz. 28684 28685Thu Oct 07 22:51:28 BST 2004 Olly Betts <olly@survex.com> 28686 28687 * backends/quartz/btree.cc: An interrupted update could cause any 28688 further updates to fail with "New revision too low" because the 28689 new revision was being calculated incorrectly - fixed. 28690 28691Wed Oct 06 15:42:31 BST 2004 Olly Betts <olly@survex.com> 28692 28693 * backends/quartz/btree.cc,include/xapian/database.h: Check that any 28694 user specified block size is a power of 2. And if the block size 28695 passed is invalid, use the default of 8192 rather than throwing an 28696 exception. 28697 28698Wed Oct 06 12:19:39 BST 2004 Olly Betts <olly@survex.com> 28699 28700 * PLATFORMS: Updated from tinderbox. 28701 28702Wed Oct 06 01:10:46 BST 2004 Olly Betts <olly@survex.com> 28703 28704 * backends/quartz/btree.cc,backends/quartz/quartz_document.cc, 28705 matcher/multimatch.cc,common/multimatch.h: Fix some warnings 28706 from Sun's C++ compiler. 28707 28708Thu Sep 30 22:16:37 BST 2004 Olly Betts <olly@survex.com> 28709 28710 * common/utils.cc,common/utils.h: Fixes for win32 and sun's c++ 28711 compiler. 28712 28713Thu Sep 30 18:24:20 BST 2004 Olly Betts <olly@survex.com> 28714 28715 * common/utils.h,extra/queryparser.yy: Fixed bug which caused 28716 misparsing of certain prefixed queries, introduced by C_isXXXXX 28717 change. 28718 28719Thu Sep 30 11:09:17 BST 2004 Olly Betts <olly@survex.com> 28720 28721 * tests/api_anydb.cc: Modified version of changequery1 fails - the 28722 fix is tricky, so just make it SKIP for now. 28723 28724Wed Sep 29 21:33:29 BST 2004 Olly Betts <olly@survex.com> 28725 28726 * extra/Makefile.am: Fixed to work when srcdir != builddir. 28727 28728Wed Sep 29 18:52:04 BST 2004 Olly Betts <olly@survex.com> 28729 28730 * PLATFORMS,docs/Makefile.am: Workaround odd latex problem. 28731 28732Wed Sep 29 17:10:00 BST 2004 Olly Betts <olly@survex.com> 28733 28734 * configure.ac,docs/doxygen_api_conf.in,docs/doxygen_full_conf.in: 28735 Updated doxygen conf files for doxygen 1.3.8. 28736 28737Wed Sep 29 16:52:53 BST 2004 Olly Betts <olly@survex.com> 28738 28739 * common/utils.cc,common/utils.h,extra/Makefile.am, 28740 extra/queryparser.yy,tests/api_anydb.cc,testsuite/index_utils.cc: 28741 Provide our own C_isalpha(), etc replacements for isalpha(), etc 28742 which always work in the C locale and avoid signed char problems. 28743 28744Tue Sep 28 00:04:11 BST 2004 Olly Betts <olly@survex.com> 28745 28746 * common/utils.cc,common/utils.h: rmdir() isn't a sensible candidate 28747 for inlining so move it out of the header. 28748 28749Mon Sep 27 17:33:23 BST 2004 Olly Betts <olly@survex.com> 28750 28751 * extra/queryparser.yy: Be smarter about when to add a ':' when adding 28752 a term prefix. 28753 28754Mon Sep 27 16:01:37 BST 2004 Olly Betts <olly@survex.com> 28755 28756 * docs/scalability.html: Added note warning about benchmarking from 28757 cold. 28758 28759Mon Sep 27 15:20:13 BST 2004 Olly Betts <olly@survex.com> 28760 28761 * HACKING: Note that we use doxygen 1.3.8 for snapshots and releases; 28762 Note that --enable-maintainer-mode now automatically enables -Werror 28763 with GCC 3.0 or newer. 28764 28765Wed Sep 22 16:49:20 BST 2004 Olly Betts <olly@survex.com> 28766 28767 * matcher/: Pruned unneeded #include-s and other tidying, some 28768 enabled by the previous change. 28769 28770Wed Sep 22 14:04:27 BST 2004 Olly Betts <olly@survex.com> 28771 28772 * common/positionlist.h,matcher/: Moved all of the implementations 28773 of the XXXPostList classes from the .h files into the .cc files. 28774 All the methods are virtual, so we aren't going to gain anything 28775 from being able to inline them. 28776 28777Wed Sep 22 02:58:59 BST 2004 Olly Betts <olly@survex.com> 28778 28779 * configure.ac: Automatically add -Werror to CFLAGS and CXXFLAGS if 28780 maintainer mode is enabled and we're using GCC3 or newer. Don't 28781 do this for older GCCs as GCC 2.95 issues spurious warnings. 28782 28783Wed Sep 22 02:41:41 BST 2004 Olly Betts <olly@survex.com> 28784 28785 * backends/quartz/quartz_record.cc,backends/quartz/quartz_utils.h: 28786 Introduced CASSERT_TYPE_UNSIGNED to replace the common use of 28787 CASSERT to assert at compile time that a type is unsigned. 28788 28789Tue Sep 21 15:58:05 BST 2004 Olly Betts <olly@survex.com> 28790 28791 * PLATFORMS: Removed reports from versions prior to 0.7.0. So much 28792 has changed that these are of little value. 28793 28794Mon Sep 20 15:24:27 BST 2004 Olly Betts <olly@survex.com> 28795 28796 * NEWS,PLATFORMS,configure.ac: Version 0.8.3. 28797 28798Mon Sep 20 15:13:34 BST 2004 Olly Betts <olly@survex.com> 28799 28800 * AUTHORS: Updated. 28801 28802Mon Sep 20 14:26:35 BST 2004 Olly Betts <olly@survex.com> 28803 28804 * xapian.spec.in: Removed reference to xapian-examples' createdatabase 28805 (which is no longer in xapian-examples). 28806 28807Mon Sep 20 13:06:59 BST 2004 Olly Betts <olly@survex.com> 28808 28809 * xapian.spec.in: Updated version from Fabrice Colin (incorporating 28810 changes from Alan Cox's RPM spec files): split off libs into a 28811 separate package to allow 32 and 64 bit versions to be installed 28812 concurrently; include binaries from xapian-examples; updated source 28813 URLs. 28814 28815Mon Sep 20 03:25:44 BST 2004 Olly Betts <olly@survex.com> 28816 28817 * tests/api_anydb.cc: Added regression test for previous bug (test 28818 checkatleast1). 28819 28820Mon Sep 20 03:16:14 BST 2004 Olly Betts <olly@survex.com> 28821 28822 * matcher/multimatch.cc: Fixed segfault with check_at_least when there 28823 were no matches. 28824 28825Sun Sep 19 17:54:52 BST 2004 Olly Betts <olly@survex.com> 28826 28827 * api/omenquire.cc,common/omdebug.cc: Fixed to compile with debug 28828 tracing enabled. 28829 28830Sat Sep 18 19:02:54 BST 2004 Olly Betts <olly@survex.com> 28831 28832 * tests/api_db.cc: Updated missed use of omprogsrv to xapian-progsrv. 28833 28834Tue Sep 14 18:09:19 BST 2004 Olly Betts <olly@survex.com> 28835 28836 * xapian.spec.in,bin/.cvsignore,bin/Makefile.am,debian/control.in, 28837 debian/xapian-tools.install,docs/remote.html,tests/remotetest.cc, 28838 testsuite/backendmanager.cc: Rename omtcpsrv to xapian-tcpsrv and 28839 omprogsrv to xapian-progsrv. 28840 28841Tue Sep 14 16:25:06 BST 2004 Olly Betts <olly@survex.com> 28842 28843 * xapian.spec.in: Fixed mangled URL in last checkin. 28844 28845Tue Sep 14 15:35:00 BST 2004 Olly Betts <olly@survex.com> 28846 28847 * xapian.spec.in: Updated URL for tarball. 28848 28849Tue Sep 14 02:49:34 BST 2004 Olly Betts <olly@survex.com> 28850 28851 * HACKING: Updated the "how to do a release" tasklist. 28852 28853Mon Sep 13 03:19:47 BST 2004 Olly Betts <olly@survex.com> 28854 28855 * NEWS,PLATFORMS,configure.ac: Version 0.8.2. 28856 28857Sat Sep 11 16:39:08 BST 2004 Olly Betts <olly@survex.com> 28858 28859 * include/xapian/version.h.in: GCC 3.1 reported the wrong value for 28860 __GXX_ABI_VERSION (100 not 101) so check 3.0 and 3.1 by version 28861 number, keeping the __GXX_ABI_VERSION check for newer versions. 28862 28863Sat Sep 11 02:57:48 BST 2004 Olly Betts <olly@survex.com> 28864 28865 * backends/quartz/bcursor.cc: Fixed and reenabled Bcursor::prev() 28866 (not currently used, but it will be useful for running posting 28867 lists backwards!) 28868 28869Fri Sep 10 13:13:51 BST 2004 Olly Betts <olly@survex.com> 28870 28871 * tests/Makefile.am: Need to ship test data for new test. 28872 28873Thu Sep 09 21:58:37 BST 2004 Olly Betts <olly@survex.com> 28874 28875 * tests/api_db.cc: Extended feature test sortrel1 to check interaction 28876 with Enquire::set_sort_forward(false). 28877 28878Thu Sep 09 21:46:12 BST 2004 Olly Betts <olly@survex.com> 28879 28880 * api/omenquire.cc,common/multimatch.h,common/omenquireinternal.h, 28881 include/xapian/enquire.h,matcher/multimatch.cc,net/socketserver.cc, 28882 tests/api_db.cc,tests/testdata/apitest_sortrel.txt: You can now 28883 specify to sort by value, then relevance, then docid instead of 28884 by value then docid. 28885 28886Thu Sep 09 19:30:07 BST 2004 Olly Betts <olly@survex.com> 28887 28888 * docs/todo.xml: Removed unused file - todo entries are now in 28889 bugzilla. 28890 28891Thu Sep 09 13:11:52 BST 2004 Olly Betts <olly@survex.com> 28892 28893 * api/omenquire.cc,common/multimatch.h,common/omenquireinternal.h, 28894 include/xapian/enquire.h,matcher/multimatch.cc,net/socketserver.cc: 28895 Added optional "checkatleast" parameter to Enquire::get_mset() 28896 which allows Omega's MIN_HITS functionality to be implemented 28897 in the matcher (a bit more efficient). 28898 28899Thu Sep 09 04:18:32 BST 2004 Olly Betts <olly@survex.com> 28900 28901 * NEWS: Updated. 28902 28903Thu Sep 09 03:39:52 BST 2004 Olly Betts <olly@survex.com> 28904 28905 * PLATFORMS: Updated from the tinderbox. Sun's C++ compiler can 28906 now build Xapian on sparc! 28907 28908Thu Sep 09 02:19:43 BST 2004 Olly Betts <olly@survex.com> 28909 28910 * tests/api_wrdb.cc: Added feature test for 28911 WritableDatabase::replace_document() and delete_document() with 28912 a unique term (apitest:uniqueterm1. 28913 * backends/inmemory/inmemory_alltermslist.cc, 28914 backends/inmemory/inmemory_database.cc, 28915 backends/inmemory/inmemory_database.h: 28916 Fixed bugs thrown up by the new test. 28917 28918Wed Sep 08 19:45:37 BST 2004 Olly Betts <olly@survex.com> 28919 28920 * HACKING: Updated details of Solaris open workaround. 28921 28922Wed Sep 08 19:42:15 BST 2004 Olly Betts <olly@survex.com> 28923 28924 * common/utils.h,backends/quartz/btree.cc, 28925 backends/quartz/quartz_database.cc,backends/quartz/quartz_log.cc: 28926 New version of the Solaris open dance - now we always pass in 28927 const char * for the filename, and we don't need the dance on 28928 new versions, so only dance if open is defined. 28929 28930Wed Sep 08 16:26:15 BST 2004 Olly Betts <olly@survex.com> 28931 28932 * api/omquery.cc,include/xapian/query.h: Renamed Query::is_empty() 28933 to Query::empty() for consistency. Keep Query::is_empty() for 28934 now as a deprecated alias. 28935 28936Wed Sep 08 16:24:44 BST 2004 Olly Betts <olly@survex.com> 28937 28938 * tests/api_wrdb.cc: replace_doc -> replace_doc1; added new test 28939 replace_doc2 to test using replace_doc to add a document with 28940 a specified docid. 28941 28942Wed Sep 08 16:23:50 BST 2004 Olly Betts <olly@survex.com> 28943 28944 * backends/inmemory/inmemory_database.h: Removed unused member 28945 variable "indexing". 28946 28947Wed Sep 08 16:14:47 BST 2004 Olly Betts <olly@survex.com> 28948 28949 * backends/quartz/quartz_database.cc: If replace_document() is used 28950 to add a document with did greater than lastdocid, raise lastdocid 28951 so future calls to add_document() won't clash. 28952 28953Wed Sep 08 16:13:51 BST 2004 Olly Betts <olly@survex.com> 28954 28955 * backends/inmemory/inmemory_database.cc: Fixed bug 28956 Database::replace_document() to work with a document id greater 28957 than lastdocid. 28958 28959Wed Sep 08 05:10:01 BST 2004 Olly Betts <olly@survex.com> 28960 28961 * common/utils.h: The latest fcntl.h dance causes a compile error on 28962 mingw, so don't use it there. 28963 28964Wed Sep 08 03:38:20 BST 2004 Olly Betts <olly@survex.com> 28965 28966 * common/utils.h: Use a namespace as an extra step in the Sun fcntl 28967 open64 dance. 28968 28969Tue Sep 07 02:33:50 BST 2004 Olly Betts <olly@survex.com> 28970 28971 * tests/test.da: Another cruft file removed. 28972 28973Tue Sep 07 02:21:49 BST 2004 Olly Betts <olly@survex.com> 28974 28975 * tests/btreetest.cc,tests/quartztest.cc: Moved overwrite1 from 28976 quartztest to btreetest. Added const in a few places. 28977 28978Tue Sep 07 02:07:43 BST 2004 Olly Betts <olly@survex.com> 28979 28980 * tests/quartztest.cc: Removed overwrite2 test. Digging back in CVS 28981 it's been disabled since the day after it added. After all this 28982 time it's hard to guess exactly what it was intended to test, so 28983 just removing it seems simplest. We already have overwrite1 to test 28984 getting DatabaseModifiedError. 28985 28986Tue Sep 07 01:52:25 BST 2004 Olly Betts <olly@survex.com> 28987 28988 * tests/btreetest.cc: Cleaned up paths to temporary Btrees. 28989 28990Mon Sep 06 17:51:27 BST 2004 Olly Betts <olly@survex.com> 28991 28992 * tests/btreetest.cc,tests/quartztest.cc: Now that QuartzTable, 28993 QuartzDiskTable, QuartzBufferedTable, QuartzCursor, 28994 QuartzDiskCursor, and QuartzBufferedCursor are gone, move 28995 quartztest tests which now just use Btree and Bcursor to btreetest. 28996 This is more logical and should help make quartztest less of a 28997 monster to compile. 28998 28999Mon Sep 06 12:47:47 BST 2004 Olly Betts <olly@survex.com> 29000 29001 * tests/Makefile.am: Ship testdata/apitest_allterms4.txt. 29002 29003Mon Sep 06 02:46:32 BST 2004 Olly Betts <olly@survex.com> 29004 29005 * tests/quartztest.cc: Xapian::Database will create the directory for 29006 the database so there's no need to create it ourselves. 29007 29008Mon Sep 06 02:40:57 BST 2004 Olly Betts <olly@survex.com> 29009 29010 * tests/,tests/testdata/apitest_allterms4.txt: Split off tests which 29011 require a writable database backend and tests which should work with 29012 any database backend from api_db.cc as it was getting rather large. 29013 Fixed simplequery2 to work with backends which don't return the 29014 document length (such as the muscat36 backends). Fixed allterms4 29015 to work with muscat36 backends. 29016 29017Mon Sep 06 02:39:29 BST 2004 Olly Betts <olly@survex.com> 29018 29019 * backends/muscat36/da_database.cc,backends/muscat36/db_database.cc: 29020 Fixed to compile now that internal_end_session() has gone. 29021 29022Mon Sep 06 00:59:36 BST 2004 Olly Betts <olly@survex.com> 29023 29024 * tests/runtest.in: Added support for running gdb on a test program, 29025 automatically sorting out srcdir and libtool. 29026 29027Mon Sep 06 00:49:11 BST 2004 Olly Betts <olly@survex.com> 29028 29029 * tests/apitest_parser.pm: Removed long unused file. 29030 29031Sun Sep 05 22:53:27 BST 2004 Olly Betts <olly@survex.com> 29032 29033 * include/xapian/enquire.h: Tweaked documentation comment to stop 29034 doxygen parsing a hyphen as a single entry bullet point list. 29035 29036Sun Sep 05 20:20:01 BST 2004 Olly Betts <olly@survex.com> 29037 29038 * testsuite/backendmanager.h: Added missing "std::" so code will 29039 compile with GCC >= 3. 29040 29041Sun Sep 05 13:54:58 BST 2004 Olly Betts <olly@survex.com> 29042 29043 * testsuite/backendmanager.h: Removed superfluous "BackendManager::". 29044 29045Sun Sep 05 01:54:49 BST 2004 Olly Betts <olly@survex.com> 29046 29047 * common/utils.cc,common/utils.h: Removed now unused files_exist() 29048 function. 29049 29050Sun Sep 05 01:50:35 BST 2004 Olly Betts <olly@survex.com> 29051 29052 * tests/api_db.cc,tests/apitest.cc,tests/apitest.h, 29053 testsuite/backendmanager.cc,testsuite/backendmanager.h: 29054 Cleaned up BackendManager by removing complications only required 29055 by absentfile1 test, which can be implemented more directly anyway. 29056 29057Sun Sep 05 01:33:16 BST 2004 Olly Betts <olly@survex.com> 29058 29059 * tests/quartztest.cc: Cleaned up rather odd code which is a hangover 29060 from when keys and tags weren't simply C++ strings. 29061 29062Sat Sep 04 12:35:12 BST 2004 Olly Betts <olly@survex.com> 29063 29064 * HACKING: Updated details of which autotools we require. 29065 29066Fri Sep 03 17:51:59 BST 2004 Olly Betts <olly@survex.com> 29067 29068 * configure.ac: Require autoconf 2.59. Noted LIBRARY_VERSION_INFO 29069 which 0.8.2 will probably have. 29070 * Makefile.am: Require automake 1.8.5. 29071 29072Fri Sep 03 16:40:11 BST 2004 Olly Betts <olly@survex.com> 29073 29074 * PLATFORMS: Updated with results from tinderbox. 29075 29076Fri Sep 03 14:34:00 BST 2004 Olly Betts <olly@survex.com> 29077 29078 * autoconf/definedir.m4,autoconf/rjb_find_stlport.m4: Quote macro 29079 names to fix warning from newer aclocal. Removed comments about 29080 future autodetection of stlport, as the user will always need to 29081 decide between the STL supplied with the compiler and stlport. 29082 29083Thu Sep 02 17:55:33 BST 2004 Olly Betts <olly@survex.com> 29084 29085 * matcher/andpostlist.cc: Initialise lmax and rmax to 0. Hopefully 29086 this will fix SIGFPE on apitest's qterminfo2 on alpha linux. 29087 29088Thu Sep 02 14:50:20 BST 2004 Olly Betts <olly@survex.com> 29089 29090 * backends/quartz/quartz_database.cc: Not storing the document length 29091 and last docid on every add means that the magic key won't always 29092 exists when there are records and 29093 QuartzWritableDatabase::get_doccount() is sometimes off by one. Fix 29094 crudely for now by making sure that the magic key does always exist. 29095 Longer term the magic key probably should be in the postlist table 29096 but that's an incompatible change. 29097 29098Wed Sep 01 16:15:23 BST 2004 Olly Betts <olly@survex.com> 29099 29100 * backends/quartz/: Change QuartzWritableDatabase to store the total 29101 document length and the last docid itself rather than tallying added 29102 and removed document length and writing the last docid back every 29103 time a document is added. This gives cleaner code and a small 29104 performance win. Removed XAPIAN_FLUSH_THRESHOLD_LENGTH as we no 29105 longer tally the length changes, and made the default flush 29106 threshold 10000 documents (was 1000). 29107 29108Wed Sep 01 14:21:19 BST 2004 Olly Betts <olly@survex.com> 29109 29110 * backends/quartz/btree.cc: Turn on previously commented-out code to 29111 make the first key null for blocks more than 1 away from the leaves. 29112 It saves disk space for a tiny CPU and RAM cost so is bound to be 29113 a win overall. 29114 29115Tue Aug 31 13:55:58 BST 2004 Olly Betts <olly@survex.com> 29116 29117 * backends/quartz/btree.cc,backends/quartz/btree.h, 29118 backends/quartz/btree_util.h: Merged Btree::make_index_item() into 29119 Btree::enter_key(). 29120 29121Tue Aug 31 01:07:19 BST 2004 Olly Betts <olly@survex.com> 29122 29123 * NEWS: Updated in preparation for a release. 29124 29125Tue Aug 31 00:53:35 BST 2004 Olly Betts <olly@survex.com> 29126 29127 * backends/quartz/btree.cc: Short-cutting Btree::cancel causes 29128 problems so disable that for the time being at least. 29129 29130Fri Aug 27 13:09:56 BST 2004 Olly Betts <olly@survex.com> 29131 29132 * testsuite/btreecheck.cc: Fixed %% to % (presumably a hangover from 29133 converting printf to cout). 29134 29135Thu Aug 26 18:11:50 BST 2004 Olly Betts <olly@survex.com> 29136 29137 * backends/quartz/quartz_postlist.cc: Reduce quartz postlist chunk 29138 threshold from 2048 to 2000 so that chunks won't get split by the 29139 Btree. 29140 29141Thu Aug 26 18:10:27 BST 2004 Olly Betts <olly@survex.com> 29142 29143 * backends/quartz/quartz_record.cc: Throw DocNotFoundError if we 29144 try to delete a record which doesn't exist. 29145 29146Thu Aug 26 17:18:56 BST 2004 Olly Betts <olly@survex.com> 29147 29148 * configure.ac: Don't define DATADIR - we no longer use it and clashes 29149 with more recent mingw headers. 29150 29151Wed Aug 25 22:47:06 BST 2004 Olly Betts <olly@survex.com> 29152 29153 * docs/quartzdesign.html: Started section on quartzcompact. 29154 29155Wed Aug 25 22:45:48 BST 2004 Olly Betts <olly@survex.com> 29156 29157 * api/omdatabase.cc,include/xapian/database.h: Changed new 29158 WritableDatabase::replace_document(term, doc) method to return 29159 the docid which the document was given. 29160 29161Tue Aug 24 13:45:52 BST 2004 Olly Betts <olly@survex.com> 29162 29163 * api/omenquire.cc,include/xapian/enquire.h: Added new ESet methods 29164 swap(), back() and operator[]. 29165 * include/xapian/enquire.h: Added documentation comments for 29166 MSet methods size(), empty(), swap(), begin(), end(), back(). 29167 * include/xapian/enquire.h: Removed bogus documentation saying 29168 that some Enquire methods can throw DatabaseOpeningError. 29169 29170Tue Aug 24 10:24:30 BST 2004 Olly Betts <olly@survex.com> 29171 29172 * HACKING: Noted automake 1.8 may be problematic. Tweaked list of 29173 release tasks. 29174 29175Tue Aug 24 10:16:38 BST 2004 Olly Betts <olly@survex.com> 29176 29177 * matcher/multimatch.cc: If a matchdecider is specified and no matches 29178 are requested, the lower bound on the number of matches must be 0 29179 (since the matchdecider could reject all the matches). 29180 29181Mon Aug 23 23:03:12 BST 2004 Olly Betts <olly@survex.com> 29182 29183 * backends/quartz/btree.cc: Improved the "Db block overwritten" 29184 message. The DatabaseCorruptError version now suggests multiple 29185 writers may be the cause, while the DatabaseModifiedError version 29186 uses less alarming wording and says to call Database::reopen(). 29187 29188Sun Aug 22 14:07:35 BST 2004 Olly Betts <olly@survex.com> 29189 29190 * indexer/: Removed the old XML-based indexer framework. It's not 29191 worked for ages, and nobody seems interested in ressurecting it. 29192 If anyone ever is, they can fetch it back from CVS, but otherwise 29193 it's just bulking up CVS checkouts. 29194 29195Sun Aug 22 13:02:25 BST 2004 Olly Betts <olly@survex.com> 29196 29197 * Makefile.am,configure.ac,extra/Makefile.am: Moved the older library 29198 version information into configure.ac. 29199 29200Sun Aug 22 12:58:21 BST 2004 Olly Betts <olly@survex.com> 29201 29202 * HACKING,configure.in,configure.ac,backends/Makefile.am, 29203 docs/Makefile.am: Renamed configure.in to configure.ac. 29204 29205Sun Aug 22 12:47:43 BST 2004 Olly Betts <olly@survex.com> 29206 29207 * xapian-config.in: Add "(or configure.ac)" in message telling the 29208 user to add a line to their configure.in. 29209 29210Sun Aug 22 11:38:55 BST 2004 Olly Betts <olly@survex.com> 29211 29212 * backends/quartz/btree.cc,backends/quartz/btree_util.h: Adjusted 29213 some Asserts to check c is within blocksize rather than 29214 65536. Added a FIXME for those which can't be trivially changed. 29215 29216Sun Aug 22 10:56:56 BST 2004 Olly Betts <olly@survex.com> 29217 29218 * backends/quartz/quartz_database.cc: No need to force a flush on 29219 QuartzWritableDatabase::open_document() (the document will read 29220 things lazily from the database, and that may trigger a forced 29221 flush). 29222 * backends/quartz/quartz_database.cc, 29223 backends/quartz/quartz_database.h: Eliminated 29224 QuartzDatabase::open_post_list_internal() and 29225 QuartzDatabase::open_term_list_internal(). 29226 29227Sun Aug 22 01:33:05 BST 2004 Olly Betts <olly@survex.com> 29228 29229 * backends/quartz/quartz_database.cc,backends/quartz/quartz_record.cc, 29230 backends/quartz/quartz_record.h: WritableDatabase::get_avlength() 29231 no longer forces pending changes to be flushed. This means you can 29232 now search a modified WritableDatabase without causing a flush 29233 unless the search includes a term whose postlist has pending 29234 modifications. 29235 29236Fri Aug 20 20:03:59 BST 2004 Olly Betts <olly@survex.com> 29237 29238 * backends/quartz/btree_util.h,common/,docs/overview.html, 29239 docs/quickstart.html,include/xapian/enquire.h, 29240 matcher/branchpostlist.h,matcher/multimatch.cc,tests/api_db.cc: 29241 Corrected multiple occurrences of "an Xapian::XXX" to "a Xapian::XXX" 29242 (presumably these all resulted from replacing "Om" with "Xapian::"). 29243 29244Fri Aug 20 17:38:15 BST 2004 Olly Betts <olly@survex.com> 29245 29246 * backends/quartz/,bin/quartzcheck.cc,bin/quartzcompact.cc, 29247 bin/quartzdump.cc,tests/btreetest.cc,tests/quartztest.cc: 29248 Merged QuartzCursor into Bcursor. 29249 29250Fri Aug 20 13:43:04 BST 2004 Olly Betts <olly@survex.com> 29251 29252 * NEWS,backends/quartz/: Fixed the problem with "lazy tag reading" 29253 in QuartzCursor and reenable that code. The problem was with 29254 deleting the current key, so added QuartzCursor::del() which 29255 deletes the current key, leaving the cursor on the next item. 29256 29257Fri Aug 20 13:04:33 BST 2004 Olly Betts <olly@survex.com> 29258 29259 * tests/api_db.cc: Reenabled test allterms2, but with the iterator 29260 copying parts removed - TermIterator is an input_iterator so 29261 that part was invalid. 29262 29263Thu Aug 19 19:19:48 BST 2004 Olly Betts <olly@survex.com> 29264 29265 * NEWS: Updated from recent ChangeLog entries. 29266 29267Thu Aug 19 14:09:28 BST 2004 Olly Betts <olly@survex.com> 29268 29269 * tests/api_db.cc: Added regression test for bug #37. 29270 29271Thu Aug 19 13:31:37 BST 2004 Olly Betts <olly@survex.com> 29272 29273 * matcher/localmatch.cc: Fixed problems handling termweights in 29274 queries with the same term repeated (bug #37). 29275 29276Thu Aug 19 13:22:12 BST 2004 Olly Betts <olly@survex.com> 29277 29278 * backends/quartz/quartz_table.cc: Disable the "lazy tag reading" in 29279 QuartzCursor for the time being - it seems to cause problems. 29280 29281Thu Aug 19 12:58:10 BST 2004 Olly Betts <olly@survex.com> 29282 29283 * bin/quartzcheck.cc,bin/quartzdump.cc: Added calls to 29284 QuartzCursor::read_tag(). 29285 29286Thu Aug 19 12:56:53 BST 2004 Olly Betts <olly@survex.com> 29287 29288 * matcher/multimatch.cc: Removed superfluous clear() of a map. 29289 29290Thu Aug 19 12:56:08 BST 2004 Olly Betts <olly@survex.com> 29291 29292 * tests/api_db.cc: Corrected a comment - a pure boolean query has all 29293 weights set to 0, not 1. 29294 29295Mon Aug 16 15:41:33 BST 2004 Olly Betts <olly@survex.com> 29296 29297 * docs/: Removed unused and very out of date class diagrams in dia 29298 format. Doxygen generates similar but up-to-date diagrams 29299 automatically anyway. 29300 29301Mon Aug 16 15:27:30 BST 2004 Olly Betts <olly@survex.com> 29302 29303 * xapian.spec.in,debian/libxapianVERSION-dev.install, 29304 extra/.cvsignore,extra/Makefile.am,extra/omparsequery.h, 29305 include/Makefile.am,include/om/.cvsignore,include/om/dir_contents, 29306 include/om/om.h,m4/xapian.m4: Removed the compatibility layer which 29307 allowed programs written against the pre-0.7.0 API to be compiled. 29308 29309Mon Aug 16 15:08:08 BST 2004 Olly Betts <olly@survex.com> 29310 29311 * backends/quartz/quartz_table.cc: Fixed QuartzCursor::find() 29312 to work again after the last change. 29313 29314Mon Aug 16 14:43:08 BST 2004 Olly Betts <olly@survex.com> 29315 29316 * backends/quartz/,tests/quartztest.cc: QuartzCursor no longer 29317 automatically reads the tag - you have to call read_tag() to 29318 get it read. This speeds up iterator over all the terms in 29319 a database. Also commented out QuartzCursor::prev as it's 29320 unused and untested (at least in its latest form). 29321 29322Mon Aug 16 12:39:56 BST 2004 Olly Betts <olly@survex.com> 29323 29324 * backends/quartz/btree_types.h: Made Bcursor.rewrite bool rather than 29325 int. 29326 29327Mon Aug 16 12:35:07 BST 2004 Olly Betts <olly@survex.com> 29328 29329 * backends/quartz/btree.cc,backends/quartz/btree.h: Calculate and 29330 store the latest revision number, rather than storing the other 29331 one and working out which is newer every time we're asked. 29332 29333Mon Aug 16 12:32:59 BST 2004 Olly Betts <olly@survex.com> 29334 29335 * docs/install.html: We haven't "only [...] UNIX" for ages, so don't 29336 claim we are. We use libtool as well as autoconf and automake. 29337 Link to the CVS snapshots. And also mention downloading omega. 29338 29339Mon Aug 16 12:20:04 BST 2004 Olly Betts <olly@survex.com> 29340 29341 * docs/index.html: exaplains -> explains. 29342 29343Mon Aug 16 12:18:34 BST 2004 Olly Betts <olly@survex.com> 29344 29345 * docs/overview.html: Removed references to "our company" (meaning 29346 BrightStation) and to the now defunct special parameters which 29347 the inmemory backend accepted to cause deliberate errors for 29348 testing. 29349 29350Sun Aug 15 23:48:20 BST 2004 Olly Betts <olly@survex.com> 29351 29352 * tests/btreetest.cc: item_count -> get_entry_count(); revision_number 29353 -> get_open_revision_number(). 29354 29355Sun Aug 15 23:15:34 BST 2004 Olly Betts <olly@survex.com> 29356 29357 * backends/Makefile.am,backends/inmemory/Makefile.am: Fixed to compile 29358 with --disable-inmemory (bug #33). 29359 29360Sat Aug 14 18:56:06 BST 2004 Olly Betts <olly@survex.com> 29361 29362 * Makefile.am: Improved library versioning comment. 29363 29364Sat Aug 14 18:55:17 BST 2004 Olly Betts <olly@survex.com> 29365 29366 * docs/overview.html: Fixed om_queryop to Xapian::Query::op, and added 29367 missing OP_* codes to the list. 29368 29369Sat Aug 14 17:44:39 BST 2004 Olly Betts <olly@survex.com> 29370 29371 * backends/quartz/bcursor.h,backends/quartz/btree.cc, 29372 backends/quartz/btree.h,bin/quartzcompact.cc,docs/quartzdesign.html: 29373 Updated quartz design docs to reflect recent changes. Also pulled 29374 out the Btree and Bcursor API docs and slotted them in as doxygen 29375 documentation comments - this way they're much more likely to 29376 be kept up-to-date. 29377 29378Sat Aug 14 15:59:07 BST 2004 Olly Betts <olly@survex.com> 29379 29380 * backends/quartz/btree.cc,backends/quartz/btree.h: Removed unused 29381 Btree default ctor. 29382 29383Sat Aug 14 15:45:28 BST 2004 Olly Betts <olly@survex.com> 29384 29385 * backends/quartz/btree.cc,backends/quartz/btree.h: Don't redundantly 29386 store next_revision - it's always just revision_number + 1. 29387 29388Sat Aug 14 15:30:30 BST 2004 Olly Betts <olly@survex.com> 29389 29390 * backends/quartz/btree.cc: Implemented Btree::cancel directly rather 29391 than closing and reopening the Btree. 29392 29393Sat Aug 14 14:46:43 BST 2004 Olly Betts <olly@survex.com> 29394 29395 * backends/quartz/,bin/quartzcheck.cc,bin/quartzcompact.cc, 29396 bin/quartzdump.cc,tests/btreetest.cc,tests/quartztest.cc, 29397 testsuite/btreecheck.cc,testsuite/btreecheck.h: Eliminated 29398 QuartzTable which had become just a thin wrapper around Btree. 29399 29400Fri Aug 13 19:19:02 BST 2004 Olly Betts <olly@survex.com> 29401 29402 * backends/quartz/quartz_postlist.cc: 29403 QuartzPostList::move_to_chunk_containing now calls next_chunk if 29404 required, rather than forcing the caller to do the fix-up. 29405 29406Fri Aug 13 17:54:53 BST 2004 Olly Betts <olly@survex.com> 29407 29408 * backends/quartz/quartz_database.cc, 29409 backends/quartz/quartz_database.h: Added tunable flush thresholds 29410 - set XAPIAN_FLUSH_THRESHOLD=5000 to flush every 5000 documents 29411 or XAPIAN_FLUSH_THRESHOLD_LENGTH=1000000 to flush every 1000000 29412 total change in document length. Set both to flush whichever is 29413 reached first. Set neither and the default is to flush every 29414 1000 documents as before. 29415 29416Fri Aug 13 15:54:21 BST 2004 Olly Betts <olly@survex.com> 29417 29418 * backends/quartz/: Removed no-longer-used Btree::erase and 29419 QuartzTable::erase methods. 29420 29421Fri Aug 13 15:37:15 BST 2004 Olly Betts <olly@survex.com> 29422 29423 * backends/quartz/btree.cc,backends/quartz/quartz_database.cc: 29424 Changed Btree::create() to remove any pre-existing alternate base 29425 file, so we no longer need to call Btree::erase before 29426 Btree::create. 29427 29428Fri Aug 13 15:37:15 BST 2004 Olly Betts <olly@survex.com> 29429 29430 * NEWS: Updated with changes since last release. 29431 29432Fri Aug 13 15:36:04 BST 2004 Olly Betts <olly@survex.com> 29433 29434 * tests/api_posdb.cc,tests/quartztest.cc: Reworked quartztest's 29435 positionlist1 into a generic api test as apitest's poslist3. 29436 29437Thu Aug 12 16:26:42 BST 2004 Olly Betts <olly@survex.com> 29438 29439 * backends/quartz/quartz_table.cc,backends/quartz/quartz_table.h, 29440 bin/quartzcheck.cc,bin/quartzdump.cc: QuartzCursor now has a 29441 Bcursor member, rather than an AutoPtr<Bcursor> member. 29442 29443Thu Aug 12 14:13:37 BST 2004 Olly Betts <olly@survex.com> 29444 29445 * tests/btreetest.cc: Fixed up in line with the recent refactoring. 29446 29447Thu Aug 12 13:23:31 BST 2004 Olly Betts <olly@survex.com> 29448 29449 * m4/xapian.m4: XO_LIB_XAPIAN now AC_SUBSTs XAPIAN_VERSION. 29450 29451Thu Aug 12 13:21:36 BST 2004 Olly Betts <olly@survex.com> 29452 29453 * backends/quartz/,tests/quartztest.cc: Refactored, replacing 29454 Quartz*Manager with Quartz*Table. 29455 29456Thu Aug 12 02:00:58 BST 2004 Olly Betts <olly@survex.com> 29457 29458 * backends/quartz/: Merged QuartzTableManager into QuartzDatabase. 29459 29460Wed Aug 11 23:40:34 BST 2004 Olly Betts <olly@survex.com> 29461 29462 * backends/quartz/quartz_database.cc,backends/quartz/quartz_database.h: 29463 Eliminated buffered_tables member of QuartzWritableDatabase. 29464 29465Wed Aug 11 21:26:35 BST 2004 Olly Betts <olly@survex.com> 29466 29467 * backends/inmemory/inmemory_database.cc, 29468 backends/quartz/quartz_database.cc,backends/quartz/quartz_database.h, 29469 docs/todo.xml: WritableDatabase::replace_document can now be used 29470 to add a document with a specific docid (to allow keeping docids 29471 in sync with numeric UIDs from another system). 29472 29473Wed Aug 11 20:09:15 BST 2004 Olly Betts <olly@survex.com> 29474 29475 * api/omdatabase.cc,include/xapian/database.h: Added replace_document 29476 and delete_document variants which take a unique id term name rather 29477 than a document id. 29478 * include/xapian/database.h: Better documentation for replace_document 29479 and delete_document. 29480 29481Wed Aug 11 16:15:10 BST 2004 Olly Betts <olly@survex.com> 29482 29483 * backends/quartz/,bin/quartzcheck.cc,bin/quartzdump.cc, 29484 tests/quartztest.cc: Eliminated QuartzBufferedTable. 29485 29486Wed Jun 30 20:34:08 BST 2004 Olly Betts <olly@survex.com> 29487 29488 * NEWS: Fixed an unwrapped line. 29489 29490Wed Jun 30 20:32:31 BST 2004 Olly Betts <olly@survex.com> 29491 29492 * HACKING: Added note about the cvs-tag-release script. 29493 29494Wed Jun 30 19:05:45 BST 2004 Olly Betts <olly@survex.com> 29495 29496 * HACKING,NEWS,PLATFORMS,configure.in: Version 0.8.1. 29497 29498Wed Jun 30 14:23:20 BST 2004 Olly Betts <olly@survex.com> 29499 29500 * AUTHORS,PLATFORMS: Updated. 29501 29502Tue Jun 29 23:24:59 BST 2004 Olly Betts <olly@survex.com> 29503 29504 * tests/api_nodb.cc: Make emptyquery1 check that Query("") causes an 29505 InvalidArgumentError exception. 29506 29507Tue Jun 29 17:29:03 BST 2004 Richard Boulton <richard@tartarus.org> 29508 29509 * Makefile.am: Remove Debian files from distribution tarballs, 29510 since there will often be multiple patch releases for each 29511 release. Debian files will be available from an apt repository 29512 in future. 29513 29514Mon Jun 28 01:29:00 BST 2004 Olly Betts <olly@survex.com> 29515 29516 * NEWS: Mostly updated for 0.8.1 release. 29517 29518Sun Jun 27 23:37:01 BST 2004 Olly Betts <olly@survex.com> 29519 29520 * backends/quartz/quartz_postlist.cc: Fixed bug in postlist merging. 29521 29522Sat Jun 26 00:51:04 BST 2004 Olly Betts <olly@survex.com> 29523 29524 * AUTHORS: Add Malcolm Baldridge (helped fix a problem with building 29525 the PHP bindings with newer versions of SWIG and PHP). 29526 29527Fri Jun 26 00:29:10 BST 2004 Olly Betts <olly@survex.com> 29528 29529 * HACKING,api/ompositionlistiterator.cc,api/ompostlistiterator.cc, 29530 api/omtermlistiterator.cc,include/xapian/: MSetIterator and 29531 ESetIterator are now bidirectional iterators (rather than 29532 just input iterators); Fixed post-increment forms of 29533 PostingIterator, TermIterator, PositionIterator, and ValueIterator 29534 so that *i++ works (as it must for them to be true input iterators). 29535 29536Thu Jun 24 18:03:46 BST 2004 Olly Betts <olly@survex.com> 29537 29538 * PLATFORMS: Added success report for Slackware Linux 9.1. 29539 29540Mon Jun 21 16:33:16 BST 2004 Olly Betts <olly@survex.com> 29541 29542 * backends/quartz/quartz_postlist.cc: Corrected -> to . so code 29543 compiles with debug enabled. 29544 29545Mon Jun 21 03:25:24 BST 2004 Olly Betts <olly@survex.com> 29546 29547 * backends/quartz/btree.cc: Eliminated two calls to abort() - throw 29548 exceptions instead. 29549 29550Mon Jun 21 03:21:14 BST 2004 Olly Betts <olly@survex.com> 29551 29552 * backends/quartz/quartz_postlist.cc: Finish backing out incorrect 29553 change from "Fri May 07 03:16:29 BST 2004" - failed to change two 29554 lines back before. 29555 29556Fri Jun 18 16:48:10 BST 2004 Richard Boulton <richard@tartarus.org> 29557 29558 * configure.in: Fix typo (STLPORT_CXXLAGS -> STLPORT_CXXFLAGS) 29559 29560Thu Jun 17 03:46:32 BST 2004 Olly Betts <olly@survex.com> 29561 29562 * backends/quartz/quartz_database.cc: Cleaned up code to track 29563 add vs delete vs modify of a posting list entry since we now 29564 force a flush if an entry is about to be retouched. 29565 29566Thu Jun 17 03:44:21 BST 2004 Olly Betts <olly@survex.com> 29567 29568 * backends/quartz/quartz_postlist.cc: Back out incorrect change from 29569 "Fri May 07 03:16:29 BST 2004". We do need to call get_or_make_tag 29570 in this case because we're modifying the tag. 29571 29572Wed Jun 16 15:40:21 BST 2004 Olly Betts <olly@survex.com> 29573 29574 * backends/inmemory/inmemory_database.h: Implemented get_lastdocid() 29575 for InMemory backend. 29576 29577Wed Jun 16 02:39:41 BST 2004 Olly Betts <olly@survex.com> 29578 29579 * configure.in: Note the value of LIBRARY_VERSION_INFO which 0.8.1 29580 would get if it were released now. 29581 29582Wed Jun 16 02:39:11 BST 2004 Robert Pollak <robert.pollak@fabasoft.com> 29583 29584 * api/omdatabase.cc, include/xapian/database.h, 29585 backends/database.cc, common/database.h, 29586 backends/quartz/quartz_database.cc, backends/quartz/quartz_database.h, 29587 backends/quartz/quartz_record.cc, backends/quartz/quartz_record.h: 29588 New method Database::get_lastdocid for re-synchronizing an old 29589 quartz index. 29590 29591Wed Jun 16 02:05:07 BST 2004 Richard Boulton <richard@tartarus.org> 29592 29593 * matcher/multimatch.cc: When collapsing, keep track of the number 29594 of collapses performed, and use this information to modify the 29595 bounds and estimate of the number of matches. 29596 * tests/api_db.cc: Added tests for this. 29597 * include/xapian/enquire.h: Update documentation comments for 29598 MSet::get_matches_*() functions to make clear that collapsing and 29599 cutoffs are taken into account. (Previously, the most likely 29600 interpretation of the comments was that they wouldn't be taken 29601 into account, but the implementation was that percentage cutoffs 29602 were taken into account.) Due to this ambiguity, I think it is 29603 reasonable to say this isn't an API change. 29604 29605Wed Jun 16 01:55:29 BST 2004 Olly Betts <olly@survex.com> 29606 29607 * matcher/multimatch.cc: Rearranged code so that the behaviour can 29608 be easily seen to be unchanged, but so that it's closer to the 29609 result of applying Richard's patch for bug #31. 29610 29611Wed Jun 16 01:27:09 BST 2004 Olly Betts <olly@survex.com> 29612 29613 * matcher/multimatch.cc: Trimmed extra whitespace. 29614 29615Tue Jun 15 15:40:11 BST 2004 Olly Betts <olly@survex.com> 29616 29617 * backends/quartz/quartz_postlist.cc: Fixed PostlistChunkReader to 29618 take a copy of the postlist data being read to avoid problems with 29619 reading data from a string that's been deleted. 29620 29621Tue Jun 15 15:26:54 BST 2004 Olly Betts <olly@survex.com> 29622 29623 * HACKING: Updated the list of tasks required for a new release. 29624 29625Tue Jun 15 15:24:04 BST 2004 Olly Betts <olly@survex.com> 29626 29627 * Makefile.am,configure.in,extra/Makefile.am: Unify the shlib version 29628 numbers (the small benefit of tracking them individually makes it 29629 hard to justify the extra work required, and having one version 29630 simplifies debian packaging too). 29631 29632Tue Jun 15 14:52:36 BST 2004 Robert Pollak <robert.pollak@fabasoft.com> 29633 29634 * extra/xapian/queryparser.h: Fixed memory leaked upon QueryParser 29635 destruction. 29636 29637Fri Jun 11 02:18:35 BST 2004 Olly Betts <olly@survex.com> 29638 29639 * backends/quartz/quartz_postlist.cc: Refactored a loop. 29640 29641Fri Jun 11 02:17:05 BST 2004 Olly Betts <olly@survex.com> 29642 29643 * backends/quartz/quartz_postlist.cc: Fixed bug which meant we 29644 sometimes failed to remove a posting when deleting or replacing 29645 a document. 29646 29647Fri Jun 11 02:16:16 BST 2004 Olly Betts <olly@survex.com> 29648 29649 * backends/quartz/quartz_postlist.cc, 29650 backends/quartz/quartz_postlist.h: Merged move_to() into skip_to(). 29651 29652Fri Jun 11 02:14:56 BST 2004 Olly Betts <olly@survex.com> 29653 29654 * backends/quartz/quartz_postlist.cc: Fixed typo in comment. 29655 29656Thu May 27 15:41:45 BST 2004 Olly Betts <olly@survex.com> 29657 29658 * backends/quartz/btree.cc,backends/quartz/btree.h: Eliminated the 29659 split cursor - we only actually need a single block buffer to 29660 handle splitting blocks. 29661 29662Wed May 26 04:02:18 BST 2004 Olly Betts <olly@survex.com> 29663 29664 * include/om/om.h,include/xapian/errortypes.h: Removed several unused 29665 Xapian::Error subclasses (these were used by the indexer framework 29666 which we decided was a failed experiment). 29667 29668Wed May 26 01:54:13 BST 2004 Olly Betts <olly@survex.com> 29669 29670 * backends/quartz/btree.cc,backends/quartz/btree.h: More DEBUGCALL 29671 tracing added; split_root now uses level member rather than a 29672 parameter. 29673 29674Sun May 23 00:56:41 BST 2004 Olly Betts <olly@survex.com> 29675 29676 * backends/quartz/btree.cc,backends/quartz/btree.h: Merge split_off() 29677 into add_item(). 29678 29679Sat May 22 01:28:58 BST 2004 Olly Betts <olly@survex.com> 29680 29681 * backends/quartz/btree.cc: Another DEBUGCALL. 29682 * backends/quartz/quartz_table.h: Improved comments. 29683 29684Fri May 21 23:17:01 BST 2004 Olly Betts <olly@survex.com> 29685 29686 * backends/quartz/btree.cc: Removed unnecessary assignment which is 29687 a hangover from the shared level code we removed long ago. 29688 29689Fri May 21 20:31:56 BST 2004 Olly Betts <olly@survex.com> 29690 29691 * backends/quartz/,docs/quartzdesign.html,testsuite/btreecheck.cc: 29692 Removed overwritten flag (unused as we throw an exception anyway). 29693 If Btree is writable, throw DatabaseCorruptError if we detect 29694 overwritten. Make use of bool return types consistent. Removed 29695 documentation of Btree error codes (the error codes themselves 29696 were removed a month ago). 29697 29698Thu May 20 03:50:46 BST 2004 Olly Betts <olly@survex.com> 29699 29700 * include/xapian/database.h: Remove references to sessions in doxygen 29701 comments. 29702 29703Thu May 20 03:44:28 BST 2004 Olly Betts <olly@survex.com> 29704 29705 * api/omdatabase.cc,backends/database.cc, 29706 backends/inmemory/inmemory_database.cc, 29707 backends/inmemory/inmemory_database.h, 29708 backends/muscat36/da_database.h,backends/muscat36/db_database.h, 29709 backends/net/net_database.cc,backends/quartz/quartz_database.cc, 29710 backends/quartz/quartz_database.h,common/database.h, 29711 common/net_database.h: Clean up the backend interface. 29712 29713Thu May 20 03:18:30 BST 2004 Olly Betts <olly@survex.com> 29714 29715 * backends/database.cc,backends/inmemory/inmemory_database.cc, 29716 backends/inmemory/inmemory_database.h,backends/muscat36/, 29717 backends/net/net_database.cc,backends/quartz/quartz_database.cc, 29718 backends/quartz/quartz_database.h,common/database.h: 29719 Stripped out the session machinery - all that is actually required 29720 is to ensure that any unflushed changes are flushed when the dtor 29721 runs. 29722 29723Mon May 17 01:04:17 BST 2004 Olly Betts <olly@survex.com> 29724 29725 * backends/quartz/btree.cc,backends/quartz/btree.h, 29726 backends/quartz/btree_types.h: Reworked split_p and split_n 29727 members of Cursor into a separate C_split cursor. This 29728 reduces the memory overhead of each Bcursor (and hence each 29729 QuartzPostList). 29730 29731Sat May 15 01:29:40 BST 2004 Olly Betts <olly@survex.com> 29732 29733 * docs/quickstart.html: Corrected lingering reference to "om.h" and 29734 note that we need <iostream>. 29735 * docs/quickstartindex.cc.html,docs/quickstartexpand.cc.html, 29736 docs/quickstartsearch.cc.html: Add <iostream>. 29737 * AUTHORS: Add John Ward for pointing out the above problems. 29738 29739Fri May 14 00:59:51 BST 2004 Olly Betts <olly@survex.com> 29740 29741 * HACKING: Added the start of a list of subtasks when doing a release. 29742 Currently it's always me that does this, but it may not always be 29743 and anyhow it'll help me to have a list to run through. 29744 29745Fri May 14 00:59:21 BST 2004 Olly Betts <olly@survex.com> 29746 29747 * docs/todo.xml: Updated. 29748 29749Thu May 13 17:14:18 BST 2004 Olly Betts <olly@survex.com> 29750 29751 * extra/queryparser.yy: When stripping non-alphanums prior to 29752 reparsing, keep dots ('.'). 29753 * extra/queryparsertest.cc: Pruned near-duplicate queryparsertest 29754 testcases. 29755 29756Thu May 13 12:09:19 BST 2004 Olly Betts <olly@survex.com> 29757 29758 * docs/quartzdesign.html: "interger" -> "integer". 29759 29760Thu May 13 11:20:44 BST 2004 Olly Betts <olly@survex.com> 29761 29762 * Makefile.am: Removed bogus extra line added by last change. 29763 29764Thu May 13 11:11:31 BST 2004 Olly Betts <olly@survex.com> 29765 29766 * configure.in,Makefile.am,autoconf/.cvsignore,autoconf/Makefile.am, 29767 m4/.cvsignore,m4/Makefile.am: Removed trivial m4/Makefile.am and 29768 and autoconf/Makefile.am and do the work from the top level 29769 Makefile.am instead. It's easy to see the structure this way, and 29770 it also removes a couple of recursive make invocations. 29771 29772Thu May 13 09:32:22 BST 2004 Olly Betts <olly@survex.com> 29773 29774 * backends/quartz/btree.cc,backends/quartz/btree.h: Added DEBUGCALL 29775 tracing; Stripped out C_ parameters where they are always the 29776 internal cursor C. 29777 29778Thu May 13 00:05:45 BST 2004 Olly Betts <olly@survex.com> 29779 29780 * extra/queryparser.yy,extra/queryparsertest.cc: If we fail to parse 29781 a query, try stripping out non-alphanumerics and reparsing. 29782 29783Wed May 12 14:32:54 BST 2004 Olly Betts <olly@survex.com> 29784 29785 * common/omtime.h: Corrected file description. 29786 29787Wed May 12 02:08:44 BST 2004 Olly Betts <olly@survex.com> 29788 29789 * backends/quartz/btree.cc: Fixed typos in comment. 29790 29791Tue May 11 20:55:56 BST 2004 Olly Betts <olly@survex.com> 29792 29793 * xapian-config.in: Added comment saying why we filter out 29794 -I/usr/include; Removed no longer used "optarg" stuff; Added licence 29795 boilerplate text (with (C) dates mined from CVS). 29796 29797Tue May 11 13:42:38 BST 2004 Olly Betts <olly@survex.com> 29798 29799 * backends/quartz/bcursor.cc,backends/quartz/btree.cc: Added lots 29800 of assertions. 29801 29802Tue May 11 09:29:51 BST 2004 Richard Boulton <richard@tartarus.org> 29803 29804 * debian/: Added basic Debian packaging. 29805 29806Mon May 10 17:17:45 BST 2004 Olly Betts <olly@survex.com> 29807 29808 * docs/quartzdsign.html: Corrected various pieces of out of date 29809 information. 29810 29811Mon May 10 01:30:35 BST 2004 Olly Betts <olly@survex.com> 29812 29813 * backends/quartz/btree.h: Removed unused forward declaration of 29814 class BtreeCheck. 29815 29816Mon May 10 01:30:24 BST 2004 Olly Betts <olly@survex.com> 29817 29818 * backends/quartz/btree.cc: Fixed typo. 29819 29820Sat May 08 20:14:40 BST 2004 Olly Betts <olly@survex.com> 29821 29822 * backends/quartz/: Pruned some #include-s which were unused, or could 29823 be replaced by forward class declarations. 29824 29825Fri May 07 14:38:10 BST 2004 Olly Betts <olly@survex.com> 29826 29827 * backends/quartz/quartz_postlist.cc: Slight efficiency tweak to the 29828 "deleting the whole posting list" case. 29829 29830Fri May 07 03:16:29 BST 2004 Olly Betts <olly@survex.com> 29831 29832 * backends/quartz/quartz_postlist.cc: Removed another unnecessary use 29833 of QuartzBufferedTable::get_or_make_tag(). 29834 29835Fri May 07 02:56:22 BST 2004 Olly Betts <olly@survex.com> 29836 29837 * backends/quartz/btree.cc: Initialise prev_ptr and next_ptr at open 29838 time for a writable Btree. 29839 29840Fri May 07 02:46:53 BST 2004 Olly Betts <olly@survex.com> 29841 29842 * backends/quartz/quartz_postlist.cc: Remove unneeded call to 29843 QuartzBufferedTable::get_or_make_tag() in a case when we're using a 29844 cursor which has already fetched the tag. 29845 29846Thu May 06 23:30:12 BST 2004 Olly Betts <olly@survex.com> 29847 29848 * backends/quartz/btree.cc: Improved a comment. 29849 29850Thu May 06 22:20:43 BST 2004 Olly Betts <olly@survex.com> 29851 29852 * backends/quartz/btree.cc: Added a few more assertions. 29853 29854Thu May 06 02:25:33 BST 2004 Olly Betts <olly@survex.com> 29855 29856 * backends/quartz/quartz_positionlist.cc, 29857 backends/quartz/quartz_utils.h: Added SON_OF_QUARTZ define to 29858 disable incompatible changes to database formats by default, and 29859 use it to control the docid encoding for keys such that we're always 29860 inserting at the end of the table when added new documents. 29861 29862Thu May 06 02:23:02 BST 2004 Olly Betts <olly@survex.com> 29863 29864 * backends/quartz/quartz_postlist.cc: Improved a FIXME comment. 29865 29866Thu May 06 00:32:17 BST 2004 Olly Betts <olly@survex.com> 29867 29868 * extra/queryparsertest.cc: Added test case for `term NOT "a phrase'. 29869 29870Thu May 06 00:28:32 BST 2004 Olly Betts <olly@survex.com> 29871 29872 * common/omdebug.cc,common/omdebug.h: Renamed OmTimer class used 29873 internally by the --enable-debug=profile code to 29874 Xapian::Internal::Timer. 29875 29876Wed May 05 13:59:47 BST 2004 Olly Betts <olly@survex.com> 29877 29878 * docs/scalability.html: Reworded to remove use of first person. 29879 29880Mon May 03 21:42:05 BST 2004 Olly Betts <olly@survex.com> 29881 29882 * Makefile.am: Improved wording of a FIXME comment. 29883 29884Sun May 02 10:18:55 BST 2004 Olly Betts <olly@survex.com> 29885 29886 * backends/quartz/btree.cc: Improved a couple of comments. 29887 29888Sat May 01 04:42:43 BST 2004 Olly Betts <olly@survex.com> 29889 29890 * backends/quartz/btree.cc,backends/quartz/btree.h, 29891 backends/quartz/quartz_table.cc: Reopening the readonly version 29892 of a writable Btree is now more efficient. 29893 29894Sat May 01 01:41:24 BST 2004 Olly Betts <olly@survex.com> 29895 29896 * PLATFORMS: Added up-to-date success reports for x86-openbsd and 29897 x86-solaris. 29898 29899Fri Apr 30 04:05:15 BST 2004 Olly Betts <olly@survex.com> 29900 29901 * backends/quartz/: Don't delete and reload the Btree_base just after 29902 saving it - instead reuse the existing Btree_base object. 29903 29904Fri Apr 30 02:41:50 BST 2004 Olly Betts <olly@survex.com> 29905 29906 * backends/quartz/btree.cc: Clean up new code in Btree::commit() 29907 from last change. 29908 29909Thu Apr 29 22:41:05 BST 2004 Olly Betts <olly@survex.com> 29910 29911 * backends/quartz/btree.cc,backends/quartz/quartz_table.cc: Don't 29912 close and reopen the database table file descriptors every time 29913 we flush changes. 29914 29915Thu Apr 29 22:40:36 BST 2004 Olly Betts <olly@survex.com> 29916 29917 * docs/quartzdesign.html: Improved wording in a couple of places. 29918 29919Thu Apr 29 16:50:45 BST 2004 Olly Betts <olly@survex.com> 29920 29921 * backends/quartz/bcursor.cc: Removed references to Btree::error 29922 from debug code since Btree::error was removed a week ago. 29923 29924Tue Apr 27 20:46:25 BST 2004 Olly Betts <olly@survex.com> 29925 29926 * backends/quartz/btree.cc,configure.in: Added configure test for 29927 glibc, because otherwise we need to include a header before we 29928 can check for glibc in order to define something we should be 29929 defining before we include any headers! 29930 29931Tue Apr 27 17:45:51 BST 2004 Olly Betts <olly@survex.com> 29932 29933 * backends/quartz/btree.cc: Only defined _XOPEN_SOURCE if __GLIBC__ 29934 is defined. OpenBSD seems to do the opposite to Linux and *disable* 29935 pread and pwrite if this is defined! 29936 29937Tue Apr 27 14:35:47 BST 2004 Olly Betts <olly@survex.com> 29938 29939 * api/omenquire.cc,tests/api_db.cc: Need to adjust index by firstitem 29940 when indexing into items (bug#28). 29941 29942Mon Apr 26 23:45:15 BST 2004 Olly Betts <olly@survex.com> 29943 29944 * PLATFORMS: Successfully built with gcc-3.5-20040327 snapshot on x86 29945 linux. 29946 29947Fri Apr 23 11:26:07 BST 2004 Olly Betts <olly@survex.com> 29948 29949 * PLATFORMS: Successfully built and tested on arm linux. 29950 29951Fri Apr 23 11:24:23 BST 2004 Olly Betts <olly@survex.com> 29952 29953 * tests/remotetest.cc: Use 127.0.0.1 instead of localhost so that 29954 tcpmatch1 doesn't fail just because the network setup is broken. 29955 29956Thu Apr 22 00:54:58 BST 2004 Olly Betts <olly@survex.com> 29957 29958 * backends/quartz/: Stripped out Btree_errors as it's almost 29959 totally unused now. Fixed up the last few uses. 29960 * backends/quartz/quartz_table.cc: Fixed another case where read 29961 and write Btrees should share fds. 29962 29963Wed Apr 21 02:51:08 BST 2004 Olly Betts <olly@survex.com> 29964 29965 * backends/quartz/btree.cc: Check the return value of 29966 fdatasync()/fsync()/_commit() and raise an error. They aren't 29967 likely to fail harmlessly. 29968 29969Wed Apr 21 02:45:28 BST 2004 Olly Betts <olly@survex.com> 29970 29971 * backends/quartz/btree.cc,backends/quartz/btree.h, 29972 backends/quartz/quartz_table.cc: Share file descriptors between 29973 the read and write Btree objects so that a quartz WritableDatabase 29974 now uses 5 fds rather than 10. 29975 29976Wed Apr 21 02:37:38 BST 2004 Olly Betts <olly@survex.com> 29977 29978 * docs/scalability.html: Removed the reference to the Quartz update 29979 bottleneck "currently being addressed for Xapian 0.8" as it's now 29980 been addressed! 29981 29982Wed Apr 21 00:24:08 BST 2004 Olly Betts <olly@survex.com> 29983 29984 * backends/quartz/btree.cc: Corrected a comment. 29985 29986Mon Apr 19 14:42:06 BST 2004 Olly Betts <olly@survex.com> 29987 29988 * NEWS: Final update for 0.8.0. 29989 29990Mon Apr 19 14:02:33 BST 2004 Olly Betts <olly@survex.com> 29991 29992 * AUTHORS: Added people who've contributed build reports for the 29993 PLATFORMS file. 29994 29995Mon Apr 19 14:01:38 BST 2004 Olly Betts <olly@survex.com> 29996 29997 * PLATFORMS: More updates from tinderbox and elsewhere. 29998 29999Sat Apr 17 02:24:11 BST 2004 Olly Betts <olly@survex.com> 30000 30001 * PLATFORMS: Lots of updates from tinderbox and mailing list. 30002 30003Sat Apr 17 00:13:26 BST 2004 Olly Betts <olly@survex.com> 30004 30005 * HACKING: Added notes about using "using", and pointers to a couple 30006 of useful C++ web resources. 30007 30008Mon Apr 12 00:56:04 BST 2004 Olly Betts <olly@survex.com> 30009 30010 * Makefile.am,NEWS,configure.in,extra/Makefile.am: Version 0.8.0. 30011 30012Mon Apr 12 00:31:15 BST 2004 Olly Betts <olly@survex.com> 30013 30014 * NEWS: Updated for 0.8.0. 30015 30016Sun Apr 11 21:18:47 BST 2004 Olly Betts <olly@survex.com> 30017 30018 * extra/queryparser.yy,extra/queryparsertest.cc: Don't use a raw term 30019 for a term which starts with a digit. 30020 30021Sat Apr 10 17:20:23 BST 2004 Olly Betts <olly@survex.com> 30022 30023 * AUTHORS: "Open Muscat" not "OmSee"; Updated the list of contributors 30024 (more work needed...) 30025 30026Sat Apr 10 16:41:28 BST 2004 Olly Betts <olly@survex.com> 30027 30028 * m4/xapian.m4: Make XO_LIB_XAPIAN with no arguments do what most 30029 users will want: check for Xapian and fail if it's not found, 30030 or AC_SUBST XAPIAN_CXXFLAGS and XAPIAN_LIBS if it is. Those 30031 will unusual needs can supply one or both arguments as at 30032 present. 30033 30034Sat Apr 10 15:00:28 BST 2004 Olly Betts <olly@survex.com> 30035 30036 * docs/todo.xml: Updated. 30037 30038Sat Apr 10 00:32:07 BST 2004 Olly Betts <olly@survex.com> 30039 30040 * PLATFORMS: Added success report for GCC 3.4 (prerelease). 30041 30042Sat Apr 10 00:27:58 BST 2004 Olly Betts <olly@survex.com> 30043 30044 * extra/xapian/queryparser.h: Added doxygen documentation comments. 30045 30046Sat Apr 10 00:23:13 BST 2004 Olly Betts <olly@survex.com> 30047 30048 * testsuite/testsuite.cc: Removed a now superfluous line. 30049 30050Sat Apr 10 00:21:15 BST 2004 Olly Betts <olly@survex.com> 30051 30052 * testsuite/testsuite.cc: Give a more accurate message if valgrind 30053 spots a test doing something dodgy (e.g. free() of memory allocated 30054 with new). 30055 30056Thu Apr 08 17:22:20 BST 2004 Olly Betts <olly@survex.com> 30057 30058 * net/.cvsignore: No longer need to ignore readquery.cc. 30059 30060Thu Apr 08 17:19:43 BST 2004 Olly Betts <olly@survex.com> 30061 30062 * include/xapian/base.h: Note in doxygen comment why the ref_count 30063 is mutable. 30064 30065Thu Apr 08 15:33:16 BST 2004 Olly Betts <olly@survex.com> 30066 30067 * testsuite/testsuite.cc: valgrinding code needs errno.h too. 30068 30069Thu Apr 08 15:28:44 BST 2004 Olly Betts <olly@survex.com> 30070 30071 * include/xapian/enquire.h: Make Xapian::Weight::Weight() protected 30072 rather than private as we want to be able to call it from derived 30073 classes (GCC 3.4 flags this, other compilers seem to miss it). 30074 30075Tue Apr 06 03:32:39 BST 2004 Olly Betts <olly@survex.com> 30076 30077 * net/omerr_string.cc,include/xapian/error.h, 30078 include/xapian/errortypes.h,include/xapian/output.h: 30079 Fixed some doxygen warnings. 30080 30081Mon Apr 05 17:21:06 BST 2004 Olly Betts <olly@survex.com> 30082 30083 * README: There never was an Omsee release - the last BrightStation 30084 release was "OpenMuscat 0.4.1". 30085 30086Mon Apr 05 17:19:38 BST 2004 Olly Betts <olly@survex.com> 30087 30088 * backends/quartz/quartz_database.cc, 30089 backends/quartz/quartz_database.h: Make the flush criterion 1000 30090 documents changed (added, removed, or replaced) as that seems to 30091 perform much better over a wide variety of document sizes. 30092 30093Thu Apr 01 01:04:17 BST 2004 Olly Betts <olly@survex.com> 30094 30095 * tests/quartztest.cc: Fixed temporary directory used (a slash was 30096 missing). 30097 30098Thu Apr 01 00:39:59 BST 2004 Olly Betts <olly@survex.com> 30099 30100 * docs/todo.xml: Updated. 30101 30102Fri Mar 26 22:33:30 GMT 2004 Olly Betts <olly@survex.com> 30103 30104 * backends/quartz/quartz_database.cc: Fix problems with termfreq and 30105 collfreq in postlist getting out of step when a recently modified 30106 or deleted document is deleted or remodified. 30107 30108Fri Mar 26 12:31:24 GMT 2004 Olly Betts <olly@survex.com> 30109 30110 * configure.in: Fixed check for --enable-runtime-pseudo-reloc. 30111 30112Fri Mar 26 12:31:00 GMT 2004 Olly Betts <olly@survex.com> 30113 30114 * bin/Makefile.am: Removed spurious "-lz" from quartzdump_LDADD. 30115 30116Thu Mar 25 00:22:13 GMT 2004 Olly Betts <olly@survex.com> 30117 30118 * bin/quartzcheck.cc: Check the structure with the postlist Btree 30119 as well as the Btree structures themselves. 30120 30121Sun Mar 21 00:00:59 GMT 2004 Olly Betts <olly@survex.com> 30122 30123 * backends/quartz/quartz_table_manager.cc: Fix for building on mingw. 30124 30125Sat Mar 20 23:04:27 GMT 2004 Olly Betts <olly@survex.com> 30126 30127 * include/xapian/positioniterator.h,include/xapian/postingiterator.h: 30128 Add doxygen comments in front of PostingIterator and 30129 PositionListIterator classes so that doxygen pulls out the 30130 existing documentation for their methods. 30131 30132Sat Mar 20 16:23:13 GMT 2004 Olly Betts <olly@survex.com> 30133 30134 * configure.in,backends/quartz/quartz_table_manager.cc,common/utils.h: 30135 Added configure test for link() to avoid infinite loop on mingw! 30136 30137Thu Mar 18 12:20:18 GMT 2004 Olly Betts <olly@survex.com> 30138 30139 * configure.in: Improved the --enable-runtime-pseudo-reloc check. 30140 30141Thu Mar 18 00:45:15 GMT 2004 Olly Betts <olly@survex.com> 30142 30143 * bin/Makefile.am,tests/Makefile.am: Pass the magic mingw/cygwin flag 30144 when linking the programs in bin and tests. 30145 30146Thu Mar 18 00:33:22 GMT 2004 Olly Betts <olly@survex.com> 30147 30148 * configure.in,xapian-config.in: mingw and cygwin both need 30149 -Wl,--enable-runtime-pseudo-reloc passing when linking. 30150 Arrange for xapian-config to include this, and check that 30151 the ld installed is a new enough version (or at least that 30152 it was at configure time). 30153 30154Tue Mar 16 01:40:43 GMT 2004 Olly Betts <olly@survex.com> 30155 30156 * docs/matcherdesign.html: Merged in more details from a message I 30157 sent to the mailing list. 30158 30159Mon Mar 15 20:39:21 GMT 2004 Olly Betts <olly@survex.com> 30160 30161 * tests/quartztest.cc: Fail the test if there's still a directory after 30162 rmdir(), or there isn't a directory after mkdir(). Close a 30163 QuartzDatabase or QuartzWritableDatabase before trying to overwrite 30164 it - cygwin doesn't allow use to delete open/locked files... 30165 30166Mon Mar 15 20:38:11 GMT 2004 Olly Betts <olly@survex.com> 30167 30168 * backends/database.cc: Database::Internal::Internal::keep_alive() 30169 should be Database::Internal::keep_alive(). 30170 30171Mon Mar 15 17:20:58 GMT 2004 Olly Betts <olly@survex.com> 30172 30173 * include/xapian/base.h: Returning a void result makes SGI's compiler 30174 complain - don't! 30175 30176Mon Mar 15 14:34:44 GMT 2004 Olly Betts <olly@survex.com> 30177 30178 * common/omdebug.cc: Only use O_SYNC (on the debug log) if we have it. 30179 30180Sun Mar 14 17:48:52 GMT 2004 Olly Betts <olly@survex.com> 30181 30182 * tests/runtest.in: Mark with @configure_input@. 30183 30184Thu Mar 11 23:53:43 GMT 2004 Olly Betts <olly@survex.com> 30185 30186 * common/database.h,common/termlist.h,include/xapian/database.h, 30187 include/xapian/enquire.h: Attempted fixes for warnings given by 30188 SGI's MIPSpro C++ compiler. 30189 30190Thu Mar 11 23:51:10 GMT 2004 Olly Betts <olly@survex.com> 30191 30192 * configure.in: GCC 2.95 supported -Wno-long-long and is our minimum 30193 recommended version, so unconditionally use -Wno-long-long with 30194 GCC, and don't test for it on other compilers (the test incorrectly 30195 decided to use it with SGI's compiler leading to a warning for 30196 every file compiled). 30197 30198Thu Mar 11 17:29:24 GMT 2004 Olly Betts <olly@survex.com> 30199 30200 * docs/intro_ir.html: Added a link to "Information Retrieval" 30201 by Keith v.R. which can be read on his website! 30202 30203Thu Mar 11 17:12:35 GMT 2004 Olly Betts <olly@survex.com> 30204 30205 * PLATFORMS: Added IRIX success reports from Jim Lynch. 30206 30207Thu Mar 11 12:17:21 GMT 2004 Olly Betts <olly@survex.com> 30208 30209 * backends/quartz/quartz_database.cc: Fixes for Sun C++'s fussy 30210 template matching. 30211 30212Thu Mar 11 12:12:46 GMT 2004 Olly Betts <olly@survex.com> 30213 30214 * include/xapian/enquire.h: Another friend fix for Sun's C++. 30215 30216Thu Mar 11 01:56:19 GMT 2004 Olly Betts <olly@survex.com> 30217 30218 * include/xapian/query.h: Another fix for Sun's C++. 30219 30220Tue Mar 09 21:02:08 GMT 2004 Olly Betts <olly@survex.com> 30221 30222 * include/xapian/document.h: string -> std::string. 30223 30224Tue Mar 09 19:04:48 GMT 2004 Olly Betts <olly@survex.com> 30225 30226 * api/omdocument.cc,common/document.h,include/xapian/document.h, 30227 tests/api_db.cc,tests/api_posdb.cc: Renamed 30228 Xapian::Document::add_term_nopos to Xapian::Document::add_term 30229 (with forwarding wrapper method for compatibility with existing 30230 code). 30231 30232Sat Mar 06 02:32:58 GMT 2004 Olly Betts <olly@survex.com> 30233 30234 * docs/: Updated the quickstart tutorial and removed the warning 30235 that "this document isn't up to date". 30236 30237Sat Mar 06 01:56:17 GMT 2004 Olly Betts <olly@survex.com> 30238 30239 * api/omenquire.cc: Another tweak for Sun's C++ compiler. 30240 30241Sat Mar 06 01:31:29 GMT 2004 Olly Betts <olly@survex.com> 30242 30243 * common/omenquireinternal.h: Tweaked friend class declarations a 30244 bit so Sun's C++ compiler can cope. 30245 30246Thu Mar 04 23:58:17 GMT 2004 Olly Betts <olly@survex.com> 30247 30248 * PLATFORMS: Updated with results from the tinderbox. 30249 30250Thu Mar 04 23:29:28 GMT 2004 Olly Betts <olly@survex.com> 30251 30252 * tests/btreetest.cc,tests/quartztest.cc: NetBSD mkdir() doesn't cope 30253 with a trailing / on the path - fixed our code to cope with this. 30254 30255Wed Mar 03 19:14:09 GMT 2004 Olly Betts <olly@survex.com> 30256 30257 * docs/todo.xml: Updated. 30258 30259Fri Feb 13 23:56:44 GMT 2004 Olly Betts <olly@survex.com> 30260 30261 * api/omquery.cc,tests/api_nodb.cc: Throw error when an empty query is 30262 used to build in the binary operator Query ctor. Added regression 30263 test. 30264 30265Fri Feb 13 15:08:09 GMT 2004 Olly Betts <olly@survex.com> 30266 30267 * HACKING: XAPIAN_DEBUG_TYPES should be XAPIAN_DEBUG_FLAGS. 30268 30269Sat Feb 07 14:26:54 GMT 2004 Olly Betts <olly@survex.com> 30270 30271 * docs/queryparser.html: Grammar fixes. 30272 30273Fri Jan 16 02:06:53 GMT 2004 Olly Betts <olly@survex.com> 30274 30275 * backends/quartz/quartz_postlist.cc: Fixed bug flagged up by deldoc4. 30276 30277Thu Jan 15 01:00:48 GMT 2004 Olly Betts <olly@survex.com> 30278 30279 * backends/quartz/quartz_termlist.cc: Use Xapian::doccount instead of 30280 unsigned int in set_entries(). 30281 30282Thu Jan 15 00:56:47 GMT 2004 Olly Betts <olly@survex.com> 30283 30284 * backends/quartz/btree.cc,backends/quartz/btree.h, 30285 testsuite/btreecheck.cc: Made some static functions into static 30286 member functions of Btree so we can avoid duplicating code in 30287 btreecheck.cc. Also tweaked compare_keys to use memcmp and 30288 special case when the keys are the same length (each of these 30289 changes gives a very small speed gain). 30290 30291Thu Jan 15 00:54:47 GMT 2004 Olly Betts <olly@survex.com> 30292 30293 * api/maptermlist.h: Removed a FIXME which already had been fixed. 30294 Removed a couple of asserts from a function which should never be 30295 called (and so had `Assert(false)' anyway). 30296 30297Mon Jan 12 00:32:37 GMT 2004 Olly Betts <olly@survex.com> 30298 30299 * bin/quartzdump.cc: Backslash escape space and backslash in output 30300 rather than hex encoding them; renamed start-term and end-term to 30301 start-key and end-key; removed rather pointless "Calling next" 30302 message; if there's an error, write it to stderr not stdout, and 30303 exit with return code 1. 30304 30305Sun Jan 11 03:23:17 GMT 2004 Olly Betts <olly@survex.com> 30306 30307 * backends/quartz/quartz_termlist.cc: When possible, pack the wdf into 30308 the same byte as the reuse length - doing so typically makes the 30309 termlist 14% smaller! This change is backward compatible. 30310 30311Sat Jan 10 03:04:22 GMT 2004 Olly Betts <olly@survex.com> 30312 30313 * backends/quartz/quartz_postlist.cc: Fixed bug in new postlist 30314 chunking code. 30315 30316Sat Jan 10 00:45:04 GMT 2004 Olly Betts <olly@survex.com> 30317 30318 * backends/quartz/quartz_termlist.cc: Removed unused 30319 OLD_TERMLIST_FORMAT code. 30320 30321Fri Jan 09 21:54:34 GMT 2004 Olly Betts <olly@survex.com> 30322 30323 * backends/quartz/quartz_postlist.cc: Fix incorrect code which just 30324 happens to build and work with GCC 2.95. 30325 30326Fri Jan 09 14:40:00 GMT 2004 Olly Betts <olly@survex.com> 30327 30328 * backends/quartz/quartz_postlist.cc: Tidied the initial call to 30329 get_chunk() out of the merge loop (gives ~4% speedup!) 30330 30331Fri Jan 09 01:31:05 GMT 2004 Olly Betts <olly@survex.com> 30332 30333 * backends/quartz/quartz_postlist.cc: Implement chunking of postlists 30334 once again. 30335 30336Thu Jan 08 21:06:37 GMT 2004 Olly Betts <olly@survex.com> 30337 30338 * backends/quartz/quartz_postlist.cc: Shortcut the very common case 30339 of appending to a posting list (which happens when we're just 30340 adding new documents). Declare small helper functions as "inline". 30341 30342Wed Jan 07 23:21:59 GMT 2004 Olly Betts <olly@survex.com> 30343 30344 * backends/quartz/quartz_database.cc: Set threshold for flushing to 30345 a saner value for the value we are now using. 30346 * backends/quartz/: Use freq_deltas to update the stats in the first 30347 chunk of each postlist. 30348 30349Mon Jan 05 16:00:07 GMT 2004 Olly Betts <olly@survex.com> 30350 30351 * include/xapian/enquire.h: Made the TradWeight constructor explicit. 30352 This is technically an API change as before you could pass a 30353 double where a Xapian::Weight was required - now you must pass 30354 Xapian::TradWeight(2.0) instead of 2.0. That seems desirable, and 30355 it's unlikely any existing code will be affected. 30356 30357Mon Jan 05 15:08:26 GMT 2004 Olly Betts <olly@survex.com> 30358 30359 * include/xapian/: Added "explicit" qualifier to internal ctors 30360 which take a single parameter. 30361 30362Mon Jan 05 15:04:12 GMT 2004 Olly Betts <olly@survex.com> 30363 30364 * include/xapian/base.h: Assigning a normal pointer to a RefCntPtr no 30365 longer creates a temporary RefCntPtr from it. 30366 30367Thu Dec 25 05:49:03 GMT 2003 Olly Betts <olly@survex.com> 30368 30369 * backends/quartz/quartz_postlist.cc: Changed to merge a batch of 30370 changes into a posting list in one pass. 30371 30372Thu Dec 25 05:48:09 GMT 2003 Olly Betts <olly@survex.com> 30373 30374 * docs/quartzdesign.html: Some minor improvements. 30375 30376Thu Dec 25 05:39:57 GMT 2003 Olly Betts <olly@survex.com> 30377 30378 * tests/api_db.cc: Check returned docids are the expected values in a 30379 couple more cases. Improved wording of a comment. 30380 30381Thu Dec 25 05:38:43 GMT 2003 Olly Betts <olly@survex.com> 30382 30383 * backends/quartz/quartz_utils.h: Updated explanation of string 30384 encoding. 30385 30386Thu Dec 25 05:37:36 GMT 2003 Olly Betts <olly@survex.com> 30387 30388 * backends/quartz/quartz_values.cc: Fixed problem with dereferencing 30389 a pointer to the end of a string in debug output. 30390 30391Sun Dec 21 23:35:49 GMT 2003 Olly Betts <olly@survex.com> 30392 30393 * backends/quartz/quartz_postlist.cc: Refactor recently relocated code 30394 to reduce duplication. 30395 30396Sun Dec 21 21:44:07 GMT 2003 Olly Betts <olly@survex.com> 30397 30398 * backends/quartz/quartz_postlist.cc: Renamed 30399 skip_and_check_tname_in_key() to check_tname_in_key() as it doesn't 30400 do any sort of skipping! 30401 30402Sun Dec 21 14:54:49 GMT 2003 Olly Betts <olly@survex.com> 30403 30404 * backends/quartz/quartz_postlist.cc,backends/quartz/quartz_postlist.h, 30405 tests/quartztest.cc: Subsumed QuartzPostList::add_entry and 30406 QuartzPostList::delete_entry into QuartzPostList::merge_changes. 30407 30408Sun Dec 21 03:21:42 GMT 2003 Olly Betts <olly@survex.com> 30409 30410 * backends/quartz/quartz_database.cc, 30411 backends/quartz/quartz_postlist.cc, 30412 backends/quartz/quartz_postlist.h: Move merging on postlist changes 30413 into QuartzPostList in preparation for an efficient 30414 reimplementation. 30415 30416Sun Dec 21 01:47:07 GMT 2003 Olly Betts <olly@survex.com> 30417 30418 * backends/quartz/quartz_postlist.h, 30419 backends/quartz/quartz_table_entries.h: Fixed typos and incorrect 30420 comments. 30421 30422Sat Dec 20 22:11:26 GMT 2003 Olly Betts <olly@survex.com> 30423 30424 * backends/quartz/: Removed several needless inclusions of 30425 quartz_table_entries.h. 30426 30427Sat Dec 20 16:31:46 GMT 2003 Olly Betts <olly@survex.com> 30428 30429 * backends/quartz/,docs/quartzdesign.html: Removed all the quartz 30430 lexicon code and docs. It's been disabled for ages, and we've 30431 not missed it. 30432 30433Sat Dec 20 01:21:47 GMT 2003 Olly Betts <olly@survex.com> 30434 30435 * backends/quartz/quartz_database.h: Added doxygen comments for the 30436 QuartzWritableDatabase members we use to buffer changes. 30437 30438Sat Dec 20 01:19:10 GMT 2003 Olly Betts <olly@survex.com> 30439 30440 * backends/quartz/quartz_database.cc: Trigger autoflush on 30441 totlen_added + totlen_removed rather than specially tracking the 30442 number of document add/delete/replace operations. 30443 30444Fri Dec 19 22:51:26 GMT 2003 Olly Betts <olly@survex.com> 30445 30446 * backends/quartz/: Buffer up changes to the postlists and apply them 30447 all at once (at present they're applied inefficiently, but this is 30448 change enables us to apply them with an efficient merge). 30449 * tests/api_db.cc,tests/quartztest.cc: Added a couple of tests, and 30450 commented out some test lines which fail in debug builds. 30451 30452Sun Dec 14 03:38:55 GMT 2003 Olly Betts <olly@survex.com> 30453 30454 * common/omdebug.cc: Open debug log with flag O_WRONLY so that we can 30455 actually write to it! 30456 30457Mon Dec 08 01:53:24 GMT 2003 Olly Betts <olly@survex.com> 30458 30459 * HACKING: Update to mention that building from CVS requires 30460 ./configure --enable-maintainer-mode (or use bootstrap). 30461 30462Mon Dec 01 19:03:00 GMT 2003 Olly Betts <olly@survex.com> 30463 30464 * configure.in: Fixed the "fixed" valgrind test. 30465 30466Sun Nov 30 23:42:52 GMT 2003 Olly Betts <olly@survex.com> 30467 30468 * configure.in,testsuite/testsuite.cc: Fix test for valgrind - it 30469 wasn't working correctly when valgrind was installed but was too 30470 a version to support VALGRIND_COUNT_ERRORS and VALGRIND_COUNT_LEAKS. 30471 30472Wed Nov 26 16:31:19 GMT 2003 Olly Betts <olly@survex.com> 30473 30474 * Makefile.am,extra/Makefile.am: Updated libtool -version-info 30475 parameters for 0.7.5. 30476 30477Wed Nov 26 15:32:45 GMT 2003 Olly Betts <olly@survex.com> 30478 30479 * NEWS,PLATFORMS,configure.in: Version 0.7.5. 30480 30481Wed Nov 26 15:31:56 GMT 2003 Olly Betts <olly@survex.com> 30482 30483 * extra/queryparser.yy: Special case stemming language "none". 30484 30485Tue Nov 25 04:37:50 GMT 2003 Olly Betts <olly@survex.com> 30486 30487 * api/ompositionlistiterator.cc,api/ompostlistiterator.cc, 30488 include/xapian/positioniterator.h,include/xapian/postingiterator.h, 30489 tests/api_db.cc: Added missing default ctors for PostingIterator and 30490 PositionIterator classes; fixed PositionIterator assignment operator. 30491 30492Tue Nov 25 03:40:11 GMT 2003 Olly Betts <olly@survex.com> 30493 30494 * tests/btreetest.cc: Fixed 2 compiler warnings. 30495 30496Tue Nov 25 02:47:16 GMT 2003 Olly Betts <olly@survex.com> 30497 30498 * common/,include/xapian/: Fixed incorrect doxygen comments which 30499 resulted in some missing text in the collated API and internal 30500 classes documentation. 30501 30502Fri Nov 21 03:23:57 GMT 2003 Olly Betts <olly@survex.com> 30503 30504 * Makefile.am,include/xapian/termiterator.h,api/omtermlistiterator.cc: 30505 TermIterator::TermIterator() fix which actually works! 30506 30507Fri Nov 21 01:14:23 GMT 2003 Olly Betts <olly@survex.com> 30508 30509 * HACKING,configure.in,docs/Makefile.am,extra/Makefile.am: Change to 30510 using AM_MAINTAINER_MODE. If you're doing development work on 30511 Xapian, you should configure with "--enable-maintainer-mode" and 30512 ideally use GNU make. 30513 30514Fri Nov 21 01:13:25 GMT 2003 Olly Betts <olly@survex.com> 30515 30516 * include/xapian/termiterator.h,tests/api_nodb.cc: Added TermIterator 30517 default ctor which had disappeared somehow. Added regression test. 30518 30519Thu Nov 20 03:19:37 GMT 2003 Olly Betts <olly@survex.com> 30520 30521 * configure.in: Fixed test for fdatasync to work (I suspect a change 30522 in a recent autoconf broke it as it relied on autoconf internal 30523 naming). 30524 30525Tue Nov 18 17:53:29 GMT 2003 Olly Betts <olly@survex.com> 30526 30527 * extra/Makefile.am: Tweaked workaround for FreeBSD make in VPATH 30528 builds. 30529 30530Tue Nov 18 17:53:01 GMT 2003 Olly Betts <olly@survex.com> 30531 30532 * extra/queryparsertest.cc: Added another testcase. 30533 30534Tue Nov 18 17:37:20 GMT 2003 Olly Betts <olly@survex.com> 30535 30536 * docs/: Added first cut of documentation for Xapian::QueryParser 30537 query syntax. 30538 * docs/scalability.html: Fixed typo. 30539 30540Fri Oct 31 18:17:13 GMT 2003 Olly Betts <olly@survex.com> 30541 30542 * extra/queryparser.yy,extra/queryparsertest.cc: Added support for 30543 term prefixes on phrases and expressions (e.g. author:(twain OR poe) 30544 subject:"space flight"). 30545 30546Tue Oct 28 15:03:01 GMT 2003 Olly Betts <olly@survex.com> 30547 30548 * api/omenquire.cc: Added FIXME comment. 30549 30550Tue Oct 28 15:01:14 GMT 2003 Olly Betts <olly@survex.com> 30551 30552 * docs/todo.xml: Removed Java from list of language bindings we'd 30553 like to support, as we should have up-to-date Java bindings soon. 30554 30555Sun Oct 26 20:18:24 GMT 2003 Olly Betts <olly@survex.com> 30556 30557 * bin/quartzcompact.cc: Fix the name that the meta file gets copied 30558 to (was /path/to/dbdirmeta rather than /path/to/dbdir/meta). 30559 30560Tue Oct 21 22:26:51 BST 2003 Olly Betts <olly@survex.com> 30561 30562 * extra/Makefile.am: Backed out previous change - the original rule 30563 does work, but the build machine had a generated file which stopped 30564 the symlink being generated. 30565 30566Tue Oct 21 22:14:22 BST 2003 Olly Betts <olly@survex.com> 30567 30568 * extra/Makefile.am: Tweaked rule to symlink queryparser.cc. 30569 30570Tue Oct 21 17:31:10 BST 2003 Olly Betts <olly@survex.com> 30571 30572 * extra/Makefile.am: Added rule to symlink queryparser.cc from source 30573 tree to build tree - otherwise FreeBSD's make insists on 30574 regenerating it... 30575 30576Wed Oct 08 14:04:44 BST 2003 Olly Betts <olly@survex.com> 30577 30578 * backends/quartz/.cvsignore,tests/Makefile.am,testsuite/.cvsignore: 30579 Updated to reflect move of libbtreecheck.la from backends/quartz 30580 to testsuite. 30581 30582Wed Oct 08 13:22:08 BST 2003 Olly Betts <olly@survex.com> 30583 30584 * backends/quartz/btree.cc: Don't pass mode argument to open when we 30585 aren't specifying O_CREAT. 30586 30587Thu Oct 02 15:29:38 BST 2003 Olly Betts <olly@survex.com> 30588 30589 * NEWS: Another entry for omega for 0.7.4. 30590 30591Thu Oct 02 14:57:25 BST 2003 Olly Betts <olly@survex.com> 30592 30593 * configure.in,extra/Makefile.am: Version 0.7.4. 30594 30595Thu Oct 02 14:56:36 BST 2003 Olly Betts <olly@survex.com> 30596 30597 * HACKING: Improved wording in a few places. 30598 30599Thu Oct 02 14:39:49 BST 2003 Olly Betts <olly@survex.com> 30600 30601 * NEWS: Updated. 30602 30603Thu Oct 02 13:35:46 BST 2003 Olly Betts <olly@survex.com> 30604 30605 * xapian.spec.in: Don't hardcode the shared library versioning info. 30606 30607Wed Oct 01 13:51:15 BST 2003 Olly Betts <olly@survex.com> 30608 30609 * PLATFORMS: Updated - Solaris 8 + Sun Workshop C++ doesn't actually 30610 pass "make check" (I forgot the tinderbox builds omega before "make 30611 check"). 30612 30613Tue Sep 30 21:39:20 BST 2003 Olly Betts <olly@survex.com> 30614 30615 * configure.in: Another stab at fixing the test for -lsocket. 30616 30617Tue Sep 30 18:29:31 BST 2003 Olly Betts <olly@survex.com> 30618 30619 * configure.in: Quote arguments to test in a couple of places. 30620 30621Tue Sep 30 11:20:09 BST 2003 Olly Betts <olly@survex.com> 30622 30623 * configure.in: Fixed test for -lsocket. 30624 30625Tue Sep 30 10:17:09 BST 2003 Olly Betts <olly@survex.com> 30626 30627 * PLATFORMS: Updated - Solaris 8 + Sun Workshop C++ builds and passes 30628 "make check" (but Omega fails to build). 30629 30630Mon Sep 29 00:41:19 BST 2003 Olly Betts <olly@survex.com> 30631 30632 * configure.in: Fixed dependency libs for libxapian. 30633 30634Sun Sep 28 23:55:49 BST 2003 Olly Betts <olly@survex.com> 30635 30636 * Makefile.am,backends/quartz/Makefile.am, 30637 backends/quartz/btreecheck.cc,backends/quartz/btreecheck.h, 30638 bin/Makefile.am,testsuite/Makefile.am,testsuite/btreecheck.cc, 30639 testsuite/btreecheck.h: libbtreecheck.la now has an explicit 30640 dependency on libxapian.la. 30641 30642Sun Sep 28 17:29:55 BST 2003 Olly Betts <olly@survex.com> 30643 30644 * Makefile.am,configure.in: Tell libtool about any libraries which 30645 libxapian needs to depend on. 30646 30647Fri Sep 26 09:39:29 BST 2003 Olly Betts <olly@survex.com> 30648 30649 * bin/Makefile.am: Swap order of libbtreecheck.la and libxapian.la 30650 when linking quartzcheck to see if that gets it to work with 30651 Sun's CC. 30652 30653Thu Sep 25 17:25:17 BST 2003 Olly Betts <olly@survex.com> 30654 30655 * xapian-config.in: Fixed stupid mistake in previous check-in. 30656 30657Thu Sep 25 16:50:00 BST 2003 Olly Betts <olly@survex.com> 30658 30659 * xapian-config.in: Link with libxapianqueryparser before libxapian, 30660 since that's the dependency order. 30661 30662Thu Sep 25 16:43:20 BST 2003 Olly Betts <olly@survex.com> 30663 30664 * include/om/om.h: Updated comment about why we `#include <iostream>'. 30665 30666Thu Sep 25 13:13:37 BST 2003 Olly Betts <olly@survex.com> 30667 30668 * api/omqueryinternal.cc,backends/database.cc,common/omdebug.cc, 30669 common/omstringstream.h,include/xapian/output.h: Removed or replaced 30670 uses of <iostream> and <iosfwd> - we don't need or want the library 30671 to pull in cin and friends. 30672 30673Thu Sep 25 13:12:31 BST 2003 Olly Betts <olly@survex.com> 30674 30675 * Makefile.am: Improved several comments. 30676 30677Thu Sep 25 11:57:03 BST 2003 Olly Betts <olly@survex.com> 30678 30679 * api/omqueryinternal.cc: Removed `#include <iostream>' left over from 30680 debugging; changed to `using namespace std;'. 30681 30682Mon Sep 15 00:41:10 BST 2003 Olly Betts <olly@survex.com> 30683 30684 * extra/queryparser.yy: Fixed to build with Sun's C++ compiler. 30685 30686Thu Sep 11 03:35:29 BST 2003 Olly Betts <olly@survex.com> 30687 30688 * dummy.c,dummy.cc,Makefile.am: Change the default file to be C++ so 30689 that automake tells libtool that this is a C++ library. 30690 * Makefile.am: Pass -no-undefined to libtool so that it will build 30691 a DLL on MS Windows. 30692 30693Wed Sep 10 02:53:46 BST 2003 Olly Betts <olly@survex.com> 30694 30695 * docs/scalability.html: Fixed oops (32GB should be 32TB); Added 30696 note about Linux 2.4 and ext2 filesize limits. 30697 30698Tue Sep 09 03:36:05 BST 2003 Olly Betts <olly@survex.com> 30699 30700 * backends/quartz/quartz_database.cc: don't start the document's 30701 TermIterator from scratch on every iteration in replace_document(). 30702 Should be a small performance win. 30703 30704Sun Sep 07 22:17:27 BST 2003 Olly Betts <olly@survex.com> 30705 30706 * configure.in: Fixed check for socketpair - we were automatically 30707 disabling the remote backend on platforms where socketpair is 30708 in libsocket (such as Solaris). 30709 30710Sun Sep 07 19:56:57 BST 2003 Olly Betts <olly@survex.com> 30711 30712 * PLATFORMS: Added success report for cygwin from Eric B. Ridge. 30713 30714Sun Sep 07 03:53:48 BST 2003 Olly Betts <olly@survex.com> 30715 30716 * testsuite/testsuite.cc: Also need to rerun test if it "probably 30717 leaked". 30718 30719Sun Sep 07 03:51:37 BST 2003 Olly Betts <olly@survex.com> 30720 30721 * tests/api_db.cc: Use x & (x - 1) trick to check for x being a power 30722 of 2, rather than an elaborate loop with shifting; use Xapian::docid 30723 rather than "int" and "unsigned int". 30724 30725Sun Sep 07 02:24:06 BST 2003 Olly Betts <olly@survex.com> 30726 30727 * api/omenquire.cc: Fixed small memory leak if 30728 Xapian::Enquire::set_query() is called more than once. 30729 30730Sun Sep 07 02:12:47 BST 2003 Olly Betts <olly@survex.com> 30731 30732 * common/omenquireinternal.h,include/xapian/enquire.h: Fixed 30733 Xapian::ESet to have reference counted internals 30734 * Makefile.am: bumped libxapian version-info to 1:0:0 because of this. 30735 30736Sun Sep 07 02:09:50 BST 2003 Olly Betts <olly@survex.com> 30737 30738 * testsuite/testsuite.cc: Delete any buffered test output before 30739 asking valgrind to check for leaks, as otherwise the buffered 30740 output may be reported as a leak; also fixed |= to != in several 30741 places - a cosmetic bug which lead to extra newlines after test 30742 output. 30743 30744Sun Sep 07 00:09:32 BST 2003 Olly Betts <olly@survex.com> 30745 30746 * testsuite/testsuite.cc: Actually open temporary file for valgrind 30747 to log to. 30748 30749Sat Sep 06 20:50:58 BST 2003 Olly Betts <olly@survex.com> 30750 30751 * configure.in,testsuite/testsuite.cc: Fixed up detection of valgrind 30752 and testsuite code to use it. 30753 30754Sat Sep 06 20:48:17 BST 2003 Olly Betts <olly@survex.com> 30755 30756 * tests/btreetest.cc: Reinstated non-superfluous `/'s which I had 30757 overeagerly removed! 30758 30759Sat Sep 06 17:28:00 BST 2003 Olly Betts <olly@survex.com> 30760 30761 * matcher/Makefile.am: Ship networkmatch.cc even if "make dist" is run 30762 from a tree with the remote backend disabled. 30763 30764Thu Aug 28 00:01:22 BST 2003 Olly Betts <olly@survex.com> 30765 30766 * tests/btreetest.cc: Removed superfluous `/'s from constructed paths. 30767 30768Fri Aug 15 15:12:24 BST 2003 Olly Betts <olly@survex.com> 30769 30770 * PLATFORMS: Updated with current testsuite results for mingw build. 30771 30772Fri Aug 15 15:10:59 BST 2003 Olly Betts <olly@survex.com> 30773 30774 * backends/quartz/btree.cc: Use O_BINARY for database I/O if it 30775 exists. 30776 30777Fri Aug 15 15:10:30 BST 2003 Olly Betts <olly@survex.com> 30778 30779 * common/utils.h: mkdir() only takes one argument on mingw. 30780 30781Fri Aug 15 01:26:22 BST 2003 Olly Betts <olly@survex.com> 30782 30783 * common/utils.h,testsuite/backendmanager.cc: Touch file using 30784 open() rather than system(). 30785 30786Fri Aug 15 01:06:06 BST 2003 Olly Betts <olly@survex.com> 30787 30788 * common/utils.h: Fixed parameter name of system from "filename" to 30789 "command" (cosmetic change). 30790 30791Thu Aug 14 22:31:23 BST 2003 Olly Betts <olly@survex.com> 30792 30793 * net/progclient.cc: Tidied a little. 30794 30795Tue Aug 12 12:50:19 BST 2003 Olly Betts <olly@survex.com> 30796 30797 * backends/quartz/quartz_database.cc: Pass 0 for the lexicon/postlist 30798 table when creating a termlist just to find the doc length. 30799 30800Tue Aug 12 02:08:50 BST 2003 Olly Betts <olly@survex.com> 30801 30802 * api/maptermlist.h,api/omdocument.cc,common/documentterm.h: 30803 Removed unused OmDocumentTerm::termfreq member variable. 30804 30805Tue Aug 12 00:53:02 BST 2003 Olly Betts <olly@survex.com> 30806 30807 * api/omdocument.cc,common/documentterm.h: OmDocumentTerm ctor now 30808 takes wdf, and replaced set_wdf() with inc_wdf() and dec_wdf(). 30809 30810Mon Aug 11 16:11:26 BST 2003 Olly Betts <olly@survex.com> 30811 30812 * backends/quartz/quartz_table_entries.cc: Removed rather unnecessary 30813 use of const_cast. 30814 30815Mon Aug 11 16:11:05 BST 2003 Olly Betts <olly@survex.com> 30816 30817 * backends/quartz/quartz_table.cc: Removed unused variable. 30818 30819Mon Aug 11 16:09:57 BST 2003 Olly Betts <olly@survex.com> 30820 30821 * backends/quartz/quartz_postlist.cc: Fixed typo in comment. 30822 30823Mon Aug 11 15:51:20 BST 2003 Olly Betts <olly@survex.com> 30824 30825 * tests/quartztest.cc: adddoc2 now checks that there weren't any extra 30826 values created. 30827 30828Mon Aug 11 12:55:49 BST 2003 Olly Betts <olly@survex.com> 30829 30830 * configure.in: Sorted out tests for gethostbyname and gethostbyaddr 30831 using standard autoconf macros. 30832 30833Mon Aug 11 12:05:13 BST 2003 Olly Betts <olly@survex.com> 30834 30835 * common/match.h,matcher/: Removed unused open_document() method from 30836 SubMatch and derived classes; calls made by the matcher to 30837 Document::Internal::open_document() now use the lazy flag provided 30838 for precisely this purpose, but apparently never used - this should 30839 give quite a speed boost to any matcher options which use values 30840 (e.g. sort, collapse). 30841 30842Sun Aug 10 02:25:59 BST 2003 Olly Betts <olly@survex.com> 30843 30844 * PLATFORMS: Out of curiosity, I tried to build with a Linux->DJGPP 30845 cross-compiler I had to hand. It built (just had to disable the 30846 remote backend if socketpair isn't found and add the workaround for 30847 not having snprintf). 30848 30849Sun Aug 10 01:38:17 BST 2003 Olly Betts <olly@survex.com> 30850 30851 * common/utils.cc: Fixed to compile if snprintf isn't available. 30852 30853Sun Aug 10 01:37:44 BST 2003 Olly Betts <olly@survex.com> 30854 30855 * backends/quartz/btree.cc: Fixed "initialisation reordered" warning. 30856 30857Sun Aug 10 01:26:58 BST 2003 Olly Betts <olly@survex.com> 30858 30859 * acinclude.m4: Updated in line with previous change. 30860 30861Sun Aug 10 01:00:08 BST 2003 Olly Betts <olly@survex.com> 30862 30863 * configure.in: If fork is found, but socketpair isn't, automatically 30864 disable the remote backend rather than configure dying with an 30865 error. 30866 * autoconf/: Removed various unused autoconf macros. 30867 30868Sat Aug 09 23:57:44 BST 2003 Olly Betts <olly@survex.com> 30869 30870 * backends/quartz/btree.h: Made "overwritten" protected. 30871 30872Sat Aug 09 23:45:26 BST 2003 Olly Betts <olly@survex.com> 30873 30874 * docs/quartzdesign.html: Wrapped an overlong line. 30875 30876Sat Aug 09 23:31:30 BST 2003 Olly Betts <olly@survex.com> 30877 30878 * backends/quartz/btree.cc,backends/quartz/btree.h, 30879 backends/quartz/quartz_table.cc,docs/quartzdesign.html: 30880 Improved class Btree's encapsulation. 30881 30882Sat Aug 09 22:30:13 BST 2003 Olly Betts <olly@survex.com> 30883 30884 * NEWS: Fixed a few typos. 30885 30886Sat Aug 09 22:29:52 BST 2003 Olly Betts <olly@survex.com> 30887 30888 * PLATFORMS: Updated with results from the Tinderbox. 30889 30890Sat Aug 09 22:19:12 BST 2003 Fabrice Colin 30891 30892 * xapian.spec.in: Updated RPM packaging to reflect changes in 0.7.3. 30893 30894Fri Aug 08 01:38:40 BST 2003 Olly Betts <olly@survex.com> 30895 30896 * Makefile.am,configure.in,extra/Makefile.am: Version 0.7.3. 30897 30898Fri Aug 08 01:35:04 BST 2003 Olly Betts <olly@survex.com> 30899 30900 * NEWS: Updated. 30901 30902Fri Aug 08 01:34:29 BST 2003 Olly Betts <olly@survex.com> 30903 30904 * PLATFORMS: Updated with more tinderbox results. 30905 30906Wed Aug 06 16:27:34 BST 2003 Olly Betts <olly@survex.com> 30907 30908 * HACKING: Noted that libtool 1.5 is the first version to actually 30909 support linking C++ libraries properly. 30910 30911Wed Aug 06 16:25:15 BST 2003 Olly Betts <olly@survex.com> 30912 30913 * api/omenquire.cc,net/socketcommon.cc,common/omenquireinternal.h: 30914 Moved rset serialisation into a method of RSet::Internal, so 30915 omrset_to_string() is now just glue code. This eliminates the 30916 need for it to be a friend of RSet::Internal which Sun's C++ 30917 compiler didn't seem to be able to cope with. 30918 30919Wed Aug 06 01:57:11 BST 2003 Olly Betts <olly@survex.com> 30920 30921 * api/omenquire.cc: Applied patch from Olivier Galibert to fix 30922 MSetIterator::get_document() when get_mset() was called with 30923 first != 0. 30924 * tests/api_db.cc: Added regression test (msetiterator3). 30925 30926Mon Aug 04 12:40:25 BST 2003 Olly Betts <olly@survex.com> 30927 30928 * languages/Makefile.am: Fixed compilation for compilers other than 30929 GCC. 30930 30931Wed Jul 30 17:03:14 BST 2003 Olly Betts <olly@survex.com> 30932 30933 * common/getopt.h: Another try - the previous one failed on FreeBSD. 30934 30935Wed Jul 30 15:07:58 BST 2003 Olly Betts <olly@survex.com> 30936 30937 * common/getopt.h: Another iteration of the getopt C++ prototype fix 30938 as the previous one failed on Solaris. 30939 30940Wed Jul 30 02:38:47 BST 2003 Olly Betts <olly@survex.com> 30941 30942 * testsuite/backendmanager.cc: Fixed breakage caused by remotetest 30943 cleanup. 30944 30945Tue Jul 29 13:22:20 BST 2003 Olly Betts <olly@survex.com> 30946 30947 * tests/remotetest.cc: Cleaned up uses of 30948 BackendManager::get_database() to pass a string rather than a vector 30949 with one string in. 30950 30951Tue Jul 29 11:58:21 BST 2003 Olly Betts <olly@survex.com> 30952 30953 * testsuite/testutils.cc: Added output of const vector<unsigned int> 30954 for platforms which use our internal stringstream implementation. 30955 30956Tue Jul 29 11:42:54 BST 2003 Olly Betts <olly@survex.com> 30957 30958 * PLATFORMS: Updated with results from the tinderbox. 30959 30960Tue Jul 29 01:21:53 BST 2003 Olly Betts <olly@survex.com> 30961 30962 * testsuite/testsuite.cc,testsuite/testsuite.h: Only use \r in test 30963 output if the output is a tty. 30964 30965Mon Jul 28 23:56:10 BST 2003 Olly Betts <olly@survex.com> 30966 30967 * xapian-config.in: Fixed fix of --cxxflags for uninstalled VPATH 30968 builds. 30969 30970Mon Jul 28 23:37:15 BST 2003 Olly Betts <olly@survex.com> 30971 30972 * testsuite/backendmanager.cc: Increased default timeout used by 30973 tests running on the remote backend from 10 seconds to 5 minutes 30974 to avoid tests failing just because the machine running them is 30975 slow and/or busy. 30976 30977Mon Jul 28 15:41:12 BST 2003 Olly Betts <olly@survex.com> 30978 30979 * testsuite/testutils.h: Fixed check for broken exception handling 30980 - we were getting "Xapian::" prefixed to one version and not on the 30981 other. 30982 30983Mon Jul 28 15:34:54 BST 2003 Olly Betts <olly@survex.com> 30984 30985 * tests/runtest.in: Set srcdir if it isn't already to make it easy 30986 to manually run test programs from a VPATH build. 30987 30988Mon Jul 28 10:38:04 BST 2003 Olly Betts <olly@survex.com> 30989 30990 * xapian-config.in: Fixed --cxxflags for uninstalled VPATH builds. 30991 30992Mon Jul 28 10:37:17 BST 2003 Olly Betts <olly@survex.com> 30993 30994 * PLATFORMS: Updated FreeBSD success report. 30995 30996Sun Jul 27 16:01:25 BST 2003 Olly Betts <olly@survex.com> 30997 30998 * configure.in: Explicitly remove include/xapian/version.h from 30999 APIDOC_SRC to avoid us trying to run doxygen unnecessarily. 31000 31001Sun Jul 27 14:31:36 BST 2003 Olly Betts <olly@survex.com> 31002 31003 * docs/todo.xml: Assorted updates. 31004 31005Sun Jul 27 13:02:36 BST 2003 Olly Betts <olly@survex.com> 31006 31007 * extra/.cvsignore: We still create libomqueryparser.la for backward 31008 compatibility. 31009 31010Sun Jul 27 04:56:40 BST 2003 Olly Betts <olly@survex.com> 31011 31012 * xapian-config.in,m4/xapian.m4: Added --from-xo-lib-xapian option 31013 to xapian-config for use by XO_LIB_XAPIAN to allow us to give a 31014 more helpful error message if asked to link an uninstalled 31015 libxapian. 31016 31017Sun Jul 27 04:46:48 BST 2003 Olly Betts <olly@survex.com> 31018 31019 * xapian-config.in: Fixed --cxxflags in non-installed case. 31020 Tidied up --help output and error messages. 31021 31022Sun Jul 27 01:40:39 BST 2003 Olly Betts <olly@survex.com> 31023 31024 * tests/api_db.cc: Check termfreq in allterms4. 31025 31026Sun Jul 27 01:39:57 BST 2003 Olly Betts <olly@survex.com> 31027 31028 * extra/queryparsertest.cc: Fixed for relocated queryparser.h. 31029 31030Sun Jul 27 00:59:56 BST 2003 Olly Betts <olly@survex.com> 31031 31032 * .cvsignore,backends/quartz/.cvsignore,extra/.cvsignore: Updated. 31033 31034Sun Jul 27 00:19:11 BST 2003 Olly Betts <olly@survex.com> 31035 31036 * tests/Makefile.am: Oops, failed to remove btreecheck.cc reference 31037 in previous check-in. 31038 31039Sat Jul 26 23:36:01 BST 2003 Olly Betts <olly@survex.com> 31040 31041 * backends/quartz/Makefile.am,bin/Makefile.am,tests/Makefile.am: 31042 Hopefully fixed "make dist" in VPATH builds. 31043 31044Sat Jul 26 22:58:27 BST 2003 Olly Betts <olly@survex.com> 31045 31046 * backends/quartz/Makefile.am: Need to distribute btreecheck.cc. 31047 31048Sat Jul 26 20:05:47 BST 2003 Olly Betts <olly@survex.com> 31049 31050 * xapian-config.in,extra/Makefile.am,extra/queryparser.h, 31051 extra/queryparser.yy,extra/xapian/queryparser.h: Sorted out 31052 xapian-config so it handles using QueryParser too. 31053 31054Sat Jul 26 19:03:04 BST 2003 Olly Betts <olly@survex.com> 31055 31056 * xapian-config.in: Updated logic in --libs and --cxxflags in line 31057 with recent change in --ltlibs. 31058 31059Sat Jul 26 18:31:11 BST 2003 Olly Betts <olly@survex.com> 31060 31061 * xapian-config.in: Reworked logic for finding libxapian.la in 31062 --ltlibs - it may not yet exist in the non-installed case. 31063 * m4/xapian.m4: Don't pass --libs when checking if xapian-config 31064 works as it will fail in the non-installed case. 31065 31066Sat Jul 26 01:25:46 BST 2003 Olly Betts <olly@survex.com> 31067 31068 * NEWS: Updated. 31069 31070Fri Jul 25 10:20:18 BST 2003 Olly Betts <olly@survex.com> 31071 31072 * NEWS: Updated in preparation for 0.7.3 release. 31073 31074Thu Jul 24 23:20:14 BST 2003 Olly Betts <olly@survex.com> 31075 31076 * backends/quartz/quartz_alltermslist.cc, 31077 backends/quartz/quartz_alltermslist.h,tests/api_db.cc: 31078 Fixed allterms TermIterator to not give duplicate terms with a 31079 quartz database when a posting list is chunked; added regression 31080 test (allterms4). 31081 31082Mon Jul 21 15:06:59 BST 2003 Richard Boulton <richard@tartarus.org> 31083 31084 * include/xapian/enquire.h: Fix incorrect documentation comment 31085 for Enquire::set_set_forward(). (Looked like a cut&paste error) 31086 31087Mon Jul 21 01:10:55 BST 2003 Olly Betts <olly@survex.com> 31088 31089 * docs/install.html,m4/xapian.m4: Added XO_LIB_XAPIAN to replace 31090 OM_PATH_XAPIAN. XO_LIB_XAPIAN will automagically enable use of 31091 "xapian-config --ltlibs" if A[CM]_PROG_LIBTOOL is used in 31092 configure.in. 31093 31094Sun Jul 20 16:00:43 BST 2003 Olly Betts <olly@survex.com> 31095 31096 * .cvsignore,Makefile.am,configure.in,xapian-config.in, 31097 xapian-config.nodep.in: Reworked xapian-config so that it 31098 now supports linking with libtool - using libtool means that the 31099 run-time library path is set and that you can now link with an 31100 uninstalled libxapian. Also xapian-config will now work 31101 once configure is run, rather than only after "make all". 31102 31103Thu Jul 17 01:42:47 BST 2003 Olly Betts <olly@survex.com> 31104 31105 * backends/quartz/bcursor.cc,backends/quartz/btree.cc: Check for 31106 EINTR when reading or writing blocks and retry the operation. 31107 31108Thu Jul 17 00:56:35 BST 2003 Olly Betts <olly@survex.com> 31109 31110 * COPYING: Updated FSF address, and reinstated missing section: "How 31111 to Apply These Terms to Your New Programs" 31112 31113Thu Jul 17 00:48:40 BST 2003 Olly Betts <olly@survex.com> 31114 31115 * HACKING,bootstrap: Removed bootstrap in favour of top-level 31116 bootstrap. 31117 31118Mon Jul 14 23:36:14 BST 2003 Olly Betts <olly@survex.com> 31119 31120 * PLATFORMS: Updated some linux results: RH7.3 on x86, and Debian on 31121 alpha and arm. 31122 31123Mon Jul 14 23:33:17 BST 2003 Olly Betts <olly@survex.com> 31124 31125 * configure.in,Makefile.am,extra/Makefile.am: Added versioning 31126 information to libxapian and libomqueryparser. 31127 31128Mon Jul 14 23:32:15 BST 2003 Olly Betts <olly@survex.com> 31129 31130 * bin/quartzdump.cc,testsuite/testsuite.cc: Added long option support 31131 to quartzdump, and to the testsuite programs. 31132 31133Mon Jul 14 22:45:53 BST 2003 Olly Betts <olly@survex.com> 31134 31135 * tests/internaltest.cc: Changed test exception1 to actually test 31136 something (hopefully what was originally intended!) 31137 31138Mon Jul 14 17:15:28 BST 2003 Olly Betts <olly@survex.com> 31139 31140 * common/getopt.h: #include <stdlib.h> before defining getopt as a 31141 macro - hopefully that'll avoid problems with clobbering prototypes 31142 of getopt() in system headers. 31143 31144Sat Jul 12 09:15:26 BST 2003 Olly Betts <olly@survex.com> 31145 31146 * bin/quartzcompact.cc: Need stdio.h for rename(). 31147 31148Sat Jul 12 01:11:54 BST 2003 Olly Betts <olly@survex.com> 31149 31150 * HACKING: Noted another reason why libtool 1.5 is needed. 31151 31152Sat Jul 12 01:11:08 BST 2003 Olly Betts <olly@survex.com> 31153 31154 * docs/mkdoc.pl: Don't choke on a comment at the end of the 31155 DIST_SUBDIRS line in a Makefile.am. 31156 31157Fri Jul 11 22:00:36 BST 2003 Olly Betts <olly@survex.com> 31158 31159 * HACKING: Added note about additional tools needed for building a 31160 distribution. 31161 31162Fri Jul 11 15:13:08 BST 2003 Olly Betts <olly@survex.com> 31163 31164 * NEWS,PLATFORMS,configure.in: Version 0.7.2. 31165 31166Fri Jul 11 12:36:18 BST 2003 Olly Betts <olly@survex.com> 31167 31168 * NEWS: Updated in preparation for 0.7.2. 31169 31170Fri Jul 11 12:12:40 BST 2003 Olly Betts <olly@survex.com> 31171 31172 * configure.in: Fixed test for snprintf. 31173 31174Fri Jul 11 09:37:14 BST 2003 Olly Betts <olly@survex.com> 31175 31176 * testsuite/testsuite.cc: Fixed dereference of a NULL pointer which 31177 was happening when a test threw an unexpected exception. 31178 31179Fri Jul 11 09:31:40 BST 2003 Olly Betts <olly@survex.com> 31180 31181 * testsuite/backendmanager.cc: Backed out incorrect hunk of previous 31182 patch which was causing test failures. 31183 31184Fri Jul 11 01:48:21 BST 2003 Olly Betts <olly@survex.com> 31185 31186 * backends/quartz/quartz_table_manager.cc,tests/quartztest.cc, 31187 testsuite/backendmanager.cc: Tidying up around directory creation. 31188 31189Fri Jul 11 00:57:12 BST 2003 Olly Betts <olly@survex.com> 31190 31191 * include/xapian/database.h: Document that the directory is created. 31192 31193Fri Jul 11 00:53:59 BST 2003 Olly Betts <olly@survex.com> 31194 31195 * backends/quartz/quartz_table_manager.cc: When asked to create a 31196 quartz database, try to create the directory if it doesn't already 31197 exist. Then we don't have to do it in every single Xapian program 31198 which wants to create a database... 31199 31200Fri Jul 11 00:36:00 BST 2003 Olly Betts <olly@survex.com> 31201 31202 * common/getopt.h: Removed space between \ and newline. 31203 31204Fri Jul 11 00:32:40 BST 2003 Olly Betts <olly@survex.com> 31205 31206 * PLATFORMS: Added MacOS X 10.2 success report. 31207 31208Thu Jul 10 20:05:58 BST 2003 Olly Betts <olly@survex.com> 31209 31210 * common/getopt.h: Fixed to work better with C++ compilers on 31211 non-glibc platforms. 31212 31213Thu Jul 10 19:21:00 BST 2003 Olly Betts <olly@survex.com> 31214 31215 * backends/quartz/btree.cc: Modified setting of _XOPEN_SOURCE to 31216 actually work! 31217 31218Thu Jul 10 19:19:30 BST 2003 Olly Betts <olly@survex.com> 31219 31220 * backends/quartz/btree.cc: Defined _XOPEN_SOURCE=500 for GLIBC 31221 so we get pread() and pwrite(). 31222 31223Thu Jul 10 00:28:25 BST 2003 Olly Betts <olly@survex.com> 31224 31225 * HACKING,Makefile.am,configure.in,bindings/.cvsignore, 31226 bindings/Makefile.am,bindings/dir_contents,bindings/guile/.cvsignore, 31227 bindings/guile/Makefile.am,bindings/php4/.cvsignore, 31228 bindings/php4/ABOUT,bindings/php4/Makefile.am,bindings/python/, 31229 bindings/swig/,bindings/tcl8/.cvsignore,bindings/tcl8/Makefile.am, 31230 docs/todo.xml: Removed bindings - they'll shortly reappear in a 31231 separate module named xapian-bindings. 31232 31233Thu Jul 10 00:03:04 BST 2003 Olly Betts <olly@survex.com> 31234 31235 * bindings/swig/om_util_perl5.i: Removed. 31236 31237Wed Jul 09 15:35:56 BST 2003 Olly Betts <olly@survex.com> 31238 31239 * bindings/guile/Makefile.am,bindings/php4/Makefile.am, 31240 bindings/python/Makefile.am,bindings/swig/, 31241 bindings/tcl8/Makefile.am: Removed omtypes.i and merged omstem.i 31242 into xapian.i; added forward declaration for upwrapped classes 31243 to xapian.i. 31244 31245Wed Jul 09 15:34:11 BST 2003 Olly Betts <olly@survex.com> 31246 31247 * bindings/java/,bindings/java/com/muscat/om/,bindings/java/native/: 31248 Removed old Java bindings - we'll do them using SWIG instead. 31249 31250Wed Jul 09 14:51:51 BST 2003 Olly Betts <olly@survex.com> 31251 31252 * bindings/php4/Makefile.am,bindings/php4/xapian/.cvsignore: More 31253 work on the php4 bindings. 31254 31255Wed Jul 09 03:00:17 BST 2003 Olly Betts <olly@survex.com> 31256 31257 * bindings/guile/Makefile.am,bindings/python/Makefile.am, 31258 bindings/tcl8/Makefile.am: Worked towards getting guile and tcl8 31259 bindings up-to-date. 31260 * bindings/php4/.cvsignore: Ignore the whole xapian subdirectory. 31261 31262Wed Jul 09 02:37:12 BST 2003 Olly Betts <olly@survex.com> 31263 31264 * bindings/perl5/: Removed remaining files. 31265 31266Wed Jul 09 02:30:55 BST 2003 Olly Betts <olly@survex.com> 31267 31268 * configure.in,bindings/Makefile.am,bindings/php4/Makefile.am: 31269 Working towards getting the php4 bindings functional again. 31270 31271Wed Jul 09 01:27:39 BST 2003 Olly Betts <olly@survex.com> 31272 31273 * bindings/swig/om_util_php4.i: om_termname -> std::string. 31274 31275Wed Jul 09 01:25:11 BST 2003 Olly Betts <olly@survex.com> 31276 31277 * docs/overview.html,include/xapian/base.h,include/xapian/database.h: 31278 Improvements to doxygen-generated documentation. 31279 31280Wed Jul 09 01:23:55 BST 2003 Olly Betts <olly@survex.com> 31281 31282 * configure.in,docs/todo.xml: Added check for SWIG version (require 31283 at least 1.3.14). 31284 31285Tue Jul 8 20:59:08 2003 James Aylett <james@tartarus.org> 31286 31287 * common/utils.h: missing #include <ctype.h> 31288 31289Tue Jul 8 18:06:23 2003 James Aylett <james@tartarus.org> 31290 31291 * bindings/swig/xapian.i: over-enthusiastic automatic 31292 conversion of termname to std::string 31293 31294Tue Jul 08 17:45:16 BST 2003 Olly Betts <olly@survex.com> 31295 31296 * common/utils.h: Improved mingw implementation of rmdir(). 31297 31298Tue Jul 08 17:43:21 BST 2003 Olly Betts <olly@survex.com> 31299 31300 * NEWS,PLATFORMS,configure.in: Version 0.7.1. 31301 31302Sun Jul 06 21:35:08 BST 2003 Olly Betts <olly@survex.com> 31303 31304 * backends/quartz/btree.cc: Minor tweak. 31305 31306Sun Jul 06 21:34:30 BST 2003 Olly Betts <olly@survex.com> 31307 31308 * common/utils.h: Compile fixes for mingw. 31309 31310Sun Jul 06 17:59:26 BST 2003 Olly Betts <olly@survex.com> 31311 31312 * docs/scalability.html: Fixed typo. 31313 31314Sun Jul 06 13:02:09 BST 2003 Olly Betts <olly@survex.com> 31315 31316 * docs/scalability.html: Fixed typo. 31317 31318Sun Jul 06 12:56:08 BST 2003 Olly Betts <olly@survex.com> 31319 31320 * docs/Makefile.am,docs/index.html,docs/scalability.html: Added new 31321 document on Xapian's scalability. 31322 31323Sun Jul 06 12:15:34 BST 2003 Olly Betts <olly@survex.com> 31324 31325 * backends/quartz/: Made quartz block count unsigned, which should 31326 nearly double the size of database for a given block size. 31327 31328Sun Jul 06 11:47:46 BST 2003 Olly Betts <olly@survex.com> 31329 31330 * backends/quartz/: Use BLK_UNUSED rather than literal -1. 31331 31332Sun Jul 06 11:47:14 BST 2003 Olly Betts <olly@survex.com> 31333 31334 * common/utils.h: Fixed last check-in to compile. 31335 31336Sun Jul 06 11:01:03 BST 2003 Olly Betts <olly@survex.com> 31337 31338 * common/utils.h,tests/btreetest.cc,tests/quartztest.cc, 31339 testsuite/backendmanager.cc: Replaced system("rm -rf ...") with 31340 rmdir() function and added two ms windows implementations for 31341 Sam to try. 31342 31343Sat Jul 05 10:37:35 BST 2003 Olly Betts <olly@survex.com> 31344 31345 * getopt/getopt.c: Suppress "unused variable" warnings from getopt.c. 31346 31347Sat Jul 05 02:21:11 BST 2003 Olly Betts <olly@survex.com> 31348 31349 * docs/todo.xml: Updated. 31350 31351Sat Jul 05 02:09:06 BST 2003 Olly Betts <olly@survex.com> 31352 31353 * configure.in,backends/quartz/btree.cc: Use pread() and pwrite() if 31354 available - this avoids one syscall per block read/write. 31355 31356Fri Jul 04 22:05:14 BST 2003 Olly Betts <olly@survex.com> 31357 31358 * PLATFORMS: Added results from building 0.7.0 on my Linux dev box. 31359 31360Fri Jul 04 18:52:07 BST 2003 Olly Betts <olly@survex.com> 31361 31362 * extra/Makefile.am: Distribute symboltab.h. 31363 31364Fri Jul 04 18:04:53 BST 2003 Olly Betts <olly@survex.com> 31365 31366 * common/Makefile.am: Distribute documentterm.h. 31367 31368Fri Jul 04 15:30:28 BST 2003 Olly Betts <olly@survex.com> 31369 31370 * configure.in: Disabled guile, tcl8, and php4 here as well as in 31371 bindings/Makefile.am. 31372 31373Fri Jul 4 11:27:53 2003 James Aylett <james@tartarus.org> 31374 31375 * bindings/Makefile.am: change commenting so mkdoc.pl doesn't 31376 choke 31377 31378Fri Jul 4 10:51:04 2003 James Aylett <james@tartarus.org> 31379 31380 * bootstrap: add missing ';;' as case pattern delimiter 31381 31382Thu Jul 03 23:46:14 BST 2003 Olly Betts <olly@survex.com> 31383 31384 * bindings/Makefile.am,bindings/python/Makefile.am: Fixed to work with 31385 "make dist". 31386 31387Thu Jul 03 23:29:06 BST 2003 Olly Betts <olly@survex.com> 31388 31389 * NEWS,PLATFORMS,configure.in: Version 0.7.0. 31390 31391Thu Jul 03 22:57:22 BST 2003 Olly Betts <olly@survex.com> 31392 31393 * PLATFORMS: Updated (Linux GCC 2.95 and Linux to mingw cross). 31394 31395Thu Jul 03 22:55:54 BST 2003 Olly Betts <olly@survex.com> 31396 31397 * extra/queryparser.yy,extra/queryparsertest.cc: Allow more than one 31398 adjacent phrase generating character. 31399 31400Thu Jul 03 22:12:18 BST 2003 Olly Betts <olly@survex.com> 31401 31402 * extra/queryparser.yy,extra/queryparsertest.cc: Always ignore phrase 31403 generating characters at start and end of query. 31404 31405Thu Jul 03 21:02:10 BST 2003 Olly Betts <olly@survex.com> 31406 31407 * extra/Makefile.am: Fixed for mingw compile. 31408 31409Thu Jul 03 19:24:50 BST 2003 Olly Betts <olly@survex.com> 31410 31411 * buildall,docs/OMAims: Removed unwanted old files. 31412 31413Thu Jul 03 19:18:41 BST 2003 Olly Betts <olly@survex.com> 31414 31415 * backends/quartz/runquartztest: Obsolete, so removed. 31416 31417Thu Jul 03 01:26:03 BST 2003 Olly Betts <olly@survex.com> 31418 31419 * common/omenquireinternal.h: Fix for building with GCC 3.3. 31420 31421Thu Jul 03 01:02:54 BST 2003 Olly Betts <olly@survex.com> 31422 31423 * NEWS: Updated. 31424 31425Wed Jul 02 22:18:07 BST 2003 Olly Betts <olly@survex.com> 31426 31427 * backends/quartz/bcursor.cc,backends/quartz/bcursor.h: 31428 Made Bcursor::get_key(string * key) const. 31429 31430Wed Jul 02 21:51:43 BST 2003 Olly Betts <olly@survex.com> 31431 31432 * backends/quartz/: Workaround for shared_level problem turns out to 31433 be arguably the better approach, so made it permanent and tidied up 31434 code. 31435 31436Mon Jun 23 21:39:50 BST 2003 Olly Betts <olly@survex.com> 31437 31438 * NEWS: Updated in preparation for 0.7.0 release. 31439 31440Mon Jun 23 21:18:23 BST 2003 Olly Betts <olly@survex.com> 31441 31442 * extra/omparsequery.h: Corrected include protection token comment on 31443 #endif to match that used in the #ifdef. 31444 31445Mon Jun 23 21:10:33 BST 2003 Olly Betts <olly@survex.com> 31446 31447 * bootstrap: Check for Bison 1.875 which doesn't work with Xapian. 31448 31449Mon Jun 23 21:08:35 BST 2003 Olly Betts <olly@survex.com> 31450 31451 * HACKING: Automake 1.7 works reliably with Xapian; CFLAGS=-Werror can 31452 now be used as we suppress the warnings from the Snowball generated 31453 C code. 31454 31455Mon Jun 23 16:55:54 BST 2003 Olly Betts <olly@survex.com> 31456 31457 * api/,backends/inmemory/inmemory_database.cc, 31458 backends/inmemory/inmemory_database.h,backends/quartz/, 31459 bindings/swig/om_util_python.i,bindings/swig/xapian.i,common/, 31460 include/Makefile.am,include/xapian.h,include/om/om.h,include/xapian/, 31461 matcher/localmatch.h,matcher/phrasepostlist.h,tests/api_db.cc, 31462 tests/api_posdb.cc,tests/quartztest.cc: 31463 Xapian::Xapian::PostListIterator -> Xapian::PostingIterator; 31464 Xapian::PositionListIterator -> Xapian::PositionIterator; 31465 xapian/postlistiterator.h -> xapian/postingiterator.h; 31466 xapian/positionlistiterator.h -> xapian/positioniterator.h. 31467 31468Mon Jun 23 15:31:30 BST 2003 Olly Betts <olly@survex.com> 31469 31470 * backends/database.cc,backends/inmemory/inmemory_database.h, 31471 backends/muscat36/,backends/quartz/,bindings/python/Makefile.am, 31472 bindings/swig/om_util.i,bindings/swig/omstem.i,docs/quickstart.html, 31473 docs/todo.xml,include/xapian/database.h,include/xapian/enquire.h, 31474 include/xapian/errortypes.h,tests/api_db.cc,tests/quartztest.cc, 31475 testsuite/backendmanager.cc,testsuite/textfile_indexer.cc: 31476 Xapian::OpeningError renamed to Xapian::DatabaseOpeningError. 31477 * include/om/om.h: OmOpeningError now maps to 31478 Xapian::DatabaseOpeningError. 31479 31480Mon Jun 23 01:44:45 BST 2003 Olly Betts <olly@survex.com> 31481 31482 * api/,backends/inmemory/inmemory_database.cc, 31483 backends/muscat36/da_database.cc,backends/muscat36/db_database.cc, 31484 backends/net/net_database.cc,backends/net/net_termlist.cc, 31485 backends/net/net_termlist.h,backends/quartz/,bin/omprogsrv.cc, 31486 bin/quartzdump.cc,common/,include/xapian/error.h, 31487 include/xapian/errorhandler.h,matcher/emptymatch.h,net/, 31488 tests/quartztest.cc,tests/stemtest.cc,testsuite/testsuite.cc, 31489 testsuite/textfile_indexer.cc: Use '#include <...>' for headers 31490 in include/. 31491 31492Thu Jun 19 17:55:07 BST 2003 Olly Betts <olly@survex.com> 31493 31494 * common/netserver.h,common/socketserver.h,matcher/localmatch.cc, 31495 matcher/multimatch.cc,net/socketserver.cc: Removed unused header 31496 inclusion; pass Stats and Xapian::Database by const reference, not 31497 value. 31498 31499Thu Jun 19 14:50:49 BST 2003 Olly Betts <olly@survex.com> 31500 31501 * extra/queryparser.yy,extra/symboltab.h: Force control characters to 31502 spaces; Added note that accent normalisation is perhaps done at the 31503 wrong time... 31504 31505Thu Jun 19 14:40:36 BST 2003 Olly Betts <olly@survex.com> 31506 31507 * extra/queryparsertest.cc: Added test for control characters. 31508 31509Thu Jun 19 14:31:12 BST 2003 Olly Betts <olly@survex.com> 31510 31511 * extra/queryparsertest.cc: Added checks for weird whitespace in 31512 queries. 31513 31514Wed Jun 18 19:02:14 BST 2003 Olly Betts <olly@survex.com> 31515 31516 * extra/queryparser.yy: Reworked parsing of boolean operators to 31517 improve error reporting. 31518 * extra/queryparsertest.cc: Added 2 more testcases and fixed to better 31519 handle tests for expected errors. 31520 31521Wed Jun 18 19:00:55 BST 2003 Olly Betts <olly@survex.com> 31522 31523 * extra/queryparser.yy: Trim leading and trailing whitespace before 31524 attempting to parse the query. 31525 31526Wed Jun 18 17:58:56 BST 2003 Olly Betts <olly@survex.com> 31527 31528 * extra/queryparser.yy: `using namespace Xapian;' 31529 31530Fri Jun 06 01:33:33 BST 2003 Olly Betts <olly@survex.com> 31531 31532 * docs/quartzdesign.html: Commented out the section on the Lexicon, 31533 which we no longer use. 31534 31535Thu Jun 05 22:40:21 BST 2003 Olly Betts <olly@survex.com> 31536 31537 * bindings/python/.cvsignore,bindings/python/Makefile.am, 31538 bindings/python/dothemake.txt,bindings/swig/om_util_python.i: 31539 Cleaned up building of python bindings by making better use of 31540 automake. 31541 31542Thu Jun 05 22:17:40 BST 2003 Olly Betts <olly@survex.com> 31543 31544 * languages/Makefile.am: Reenable standard warnings apart from the 31545 -Wunused. 31546 31547Thu Jun 05 20:21:08 BST 2003 Olly Betts <olly@survex.com> 31548 31549 * api/omqueryinternal.cc: Fixed a couple of problems with the new 31550 query serialisation. 31551 31552Thu Jun 05 17:55:21 BST 2003 Olly Betts <olly@survex.com> 31553 31554 * HACKING,configure.in: Flex is no longer used, so removed configure 31555 tests and note in HACKING. 31556 31557Thu Jun 05 17:53:30 BST 2003 Olly Betts <olly@survex.com> 31558 31559 * tests/remotetest.cc: In test netexpand1, use TEST() rather than 31560 Assert() so that the check is made in non-debug builds too. 31561 31562Thu Jun 05 17:52:17 BST 2003 Olly Betts <olly@survex.com> 31563 31564 * api/omqueryinternal.cc,common/socketcommon.h,docs/todo.xml, 31565 include/xapian/query.h,net/: Reworked query serialisation so that 31566 the code is now all in api/omqueryinternal.cc. Serialisation is 31567 now rather more compact and no longer relies on flex for parsing. 31568 31569Thu Jun 05 17:45:00 BST 2003 Olly Betts <olly@survex.com> 31570 31571 * bin/Makefile.am: omprogsrv depends on libtest.la, so it need to be 31572 in check_PROGRAMS. 31573 31574Thu Jun 05 17:09:10 BST 2003 Olly Betts <olly@survex.com> 31575 31576 * Makefile.am: Moved bindings after extra in SUBDIRS - the bindings 31577 wrap Xapian::QueryParser so they need to be built after it. 31578 31579Thu Jun 05 01:28:01 BST 2003 Olly Betts <olly@survex.com> 31580 31581 * bindings/python/Makefile.am: Use $(SWIG) (as detected by configure). 31582 31583Thu Jun 05 00:46:16 BST 2003 Olly Betts <olly@survex.com> 31584 31585 * configure.in,bindings/Makefile.am,bindings/python/Makefile.am: 31586 Check for python and find the correct paths for building python 31587 bindings; Added dependencies for building _xapian.so. 31588 31589Wed Jun 4 17:19:37 2003 James Aylett <james@tartarus.org> 31590 31591 * configure.in, Makefile.am, bindings: build system will build 31592 bindings as part of normal build process. No longer build 31593 Perl or Java bindings; for Perl, use Search::Xapian; Java will 31594 be replaced with SWIG-based bindings. 31595 31596 * bindings: bindings now use Xapian:: namespace names rather than 31597 the old Om* ones. Almost all of the API should now be wrapped. 31598 31599Wed Jun 04 02:52:38 BST 2003 Olly Betts <olly@survex.com> 31600 31601 * docs/overview.html: Added start of "Design Principles" section. 31602 * docs/todo.xml: Added a couple more items. 31603 31604Wed Jun 04 02:51:56 BST 2003 Olly Betts <olly@survex.com> 31605 31606 * Makefile.am: Build testsuite later - it now doesn't need to be built 31607 until just before tests. 31608 31609Wed Jun 04 02:43:08 BST 2003 Olly Betts <olly@survex.com> 31610 31611 * backends/muscat36/: Split up spec into comments in the appropriate 31612 header files; fixed to build after recent Om -> Xapian changes. 31613 31614Wed Jun 04 01:56:46 BST 2003 Olly Betts <olly@survex.com> 31615 31616 * HACKING: Bison 1.75 and 1.875a both checked with parsequery.yy 31617 - no problems found. 31618 31619Mon Jun 02 20:14:22 BST 2003 Olly Betts <olly@survex.com> 31620 31621 * ChangeLog.0: Fixed 2 typos. 31622 31623Mon Jun 02 20:09:01 BST 2003 Olly Betts <olly@survex.com> 31624 31625 * NEWS: Updated in preparation for 0.7.0 release. 31626 31627Mon Jun 02 16:25:18 BST 2003 Olly Betts <olly@survex.com> 31628 31629 * configure.in: Fix m4 quoting so that MINOR_VERSION is set correctly. 31630 31631Mon Jun 2 15:22:30 2003 James Aylett <james@tartarus.org> 31632 31633 * bindings/swig/xapian.i: move QueryParser wrapping to use 31634 the new namespace location, and fix include so it can work 31635 out of the build directory rather than just the installed 31636 library 31637 31638Mon Jun 02 14:15:14 BST 2003 Olly Betts <olly@survex.com> 31639 31640 * Makefile.am,configure.in,bindings/Makefile.am,docs/todo.xml: 31641 Added --enable-bindings to configure - if this is specified and 31642 swig is detected, try to build the language bindings. 31643 31644Mon Jun 02 12:46:18 BST 2003 Olly Betts <olly@survex.com> 31645 31646 * backends/database.cc: Fixed parsing of port number in remote stub 31647 databases. 31648 31649Sat May 31 15:03:47 BST 2003 James Aylett <james@tartarus.org> 31650 31651 * bindings/swig: update so can build Python bindings against 31652 latest Xapian; untested, and other languages are likely to 31653 fail 31654 31655Fri May 30 02:59:48 BST 2003 Olly Betts <olly@survex.com> 31656 31657 * extra/queryparser.yy,extra/queryparsertest.cc: Embedded '.' is 31658 now a phrase maker; Ignore `""' in query; Ignore ')' at start 31659 of query. 31660 31661Fri May 30 01:22:49 BST 2003 Olly Betts <olly@survex.com> 31662 31663 * extra/queryparsertest.cc: Added another 405 queries which fail to 31664 parse (courtesy of Arjen van der Meijden). 31665 31666Thu May 29 19:08:28 BST 2003 Olly Betts <olly@survex.com> 31667 31668 * docs/todo.xml,extra/queryparsertest.cc: Extracted two more 31669 queryparser testcases which need fixing from the old todo list. 31670 31671Thu May 29 17:14:04 BST 2003 Olly Betts <olly@survex.com> 31672 31673 * extra/queryparser.yy,extra/queryparsertest.cc: A phrasemaker isn't 31674 a phrasemaker unless it's preceded by an alphanumeric, "+", or "-"; 31675 If a single term is in (), ignore the (). 31676 31677Thu May 29 16:45:39 BST 2003 Olly Betts <olly@survex.com> 31678 31679 * extra/queryparser.yy,extra/queryparsertest.cc: Improved handling 31680 of various odd queries encountered in real life applications. 31681 31682Thu May 29 01:50:51 BST 2003 Olly Betts <olly@survex.com> 31683 31684 * docs/todo.xml: Updated more. 31685 31686Thu May 29 01:26:50 BST 2003 Olly Betts <olly@survex.com> 31687 31688 * api/,backends/database.cc,backends/inmemory/,backends/multi/, 31689 backends/muscat36/,backends/net/,backends/quartz/,common/, 31690 docs/overview.html,docs/quickstart.html, 31691 docs/quickstartexpand.cc.html,extra/queryparser.yy,include/om/om.h, 31692 include/xapian/,matcher/,net/,tests/api_db.cc,tests/api_posdb.cc, 31693 tests/quartztest.cc,testsuite/: Converted remaining om_xxx types 31694 to Xapian::xxx. 31695 31696Wed May 28 23:06:18 BST 2003 Olly Betts <olly@survex.com> 31697 31698 * docs/todo.xml: Updated. 31699 31700Wed May 28 22:59:17 BST 2003 Olly Betts <olly@survex.com> 31701 31702 * tests/api_db.cc: Spelling correction: accross -> across. 31703 31704Wed May 28 20:24:32 BST 2003 Olly Betts <olly@survex.com> 31705 31706 * extra/: OmQueryParser -> Xapian::QueryParser, etc. 31707 31708Wed May 28 20:03:48 BST 2003 Olly Betts <olly@survex.com> 31709 31710 * api/omdocument.cc: Removed include of defunct header 31711 modifieddocument.h. 31712 31713Wed May 28 20:00:56 BST 2003 Olly Betts <olly@survex.com> 31714 31715 * api/maptermlist.h,api/omdocument.cc,api/omvalueiterator.cc, 31716 backends/inmemory/inmemory_document.cc, 31717 backends/inmemory/inmemory_document.h,backends/muscat36/, 31718 backends/net/net_document.cc,backends/net/net_document.h, 31719 backends/quartz/quartz_document.cc,backends/quartz/quartz_document.h, 31720 common/Makefile.am,common/document.h,common/modifieddocument.h, 31721 include/xapian/document.h,tests/api_db.cc: Fixed bug in refactored 31722 Xapian::Document when modifying a copy. Added regression test. 31723 31724Wed May 28 19:23:26 BST 2003 Olly Betts <olly@survex.com> 31725 31726 * common/omenquireinternal.h,include/xapian/database.h, 31727 include/xapian/enquire.h,include/xapian/query.h: Where possible, 31728 declare classes rather than including headers (in public headers). 31729 31730Wed May 28 17:32:14 BST 2003 Olly Betts <olly@survex.com> 31731 31732 * include/xapian/document.h: Just declare "class TermIterator;" rather 31733 than including <xapian/termiterator.h>. 31734 31735Tue May 27 16:59:34 BST 2003 Olly Betts <olly@survex.com> 31736 31737 * common/progserver.h,common/socketserver.h,net/socketserver.cc: 31738 Reduced needless header inclusion. 31739 31740Tue May 27 16:53:40 BST 2003 Olly Betts <olly@survex.com> 31741 31742 * bin/omprogsrv.cc,tests/api_db.cc: Use variable name "dbs" in 31743 preference to "dbgrp". OmDatabaseGroup hasn't existed for 31744 years! 31745 31746Tue May 27 16:51:30 BST 2003 Olly Betts <olly@survex.com> 31747 31748 * Makefile.am: Fixed typo: "bin" should be "net" in remote_subdirs. 31749 31750Tue May 27 02:43:32 BST 2003 Olly Betts <olly@survex.com> 31751 31752 * backends/quartz/Makefile.am: Removed -I referencing testsuite 31753 directory. 31754 31755Tue May 27 02:39:43 BST 2003 Olly Betts <olly@survex.com> 31756 31757 * backends/quartz/,docs/tests.html,tests/: Moved quartztest and 31758 btreetest to tests/ directory. 31759 31760Tue May 27 02:03:07 BST 2003 Olly Betts <olly@survex.com> 31761 31762 * Makefile.am,configure.in,xapian.spec.in,backends/quartz/,bin/, 31763 docs/remote.html,netprogs/,tests/api_db.cc,tests/remotetest.cc, 31764 testsuite/backendmanager.cc,testsuite/testsuite.cc: Sorted out 31765 the source tree structure so that programs which aren't tests which 31766 were previously built by "make check" are now be built by "make". 31767 31768Tue May 27 01:01:40 BST 2003 Olly Betts <olly@survex.com> 31769 31770 * autoconf/dir_contents,backends/dir_contents, 31771 backends/inmemory/dir_contents,backends/multi/dir_contents, 31772 backends/muscat36/dir_contents,backends/net/dir_contents, 31773 backends/quartz/dir_contents,bindings/dir_contents, 31774 common/dir_contents,docs/dir_contents,include/om/dir_contents, 31775 include/xapian/dir_contents,include/dir_contents, 31776 indexer/dir_contents,indexer/indexgraph/dir_contents, 31777 languages/dir_contents,m4/dir_contents,tests/dir_contents: 31778 Updated all the dir_contents files - many were out-of-date. 31779 31780Tue May 27 00:42:54 BST 2003 Olly Betts <olly@survex.com> 31781 31782 * Makefile.am: Filter any .la files out of dependency_libs. 31783 31784Tue May 27 00:11:18 BST 2003 Olly Betts <olly@survex.com> 31785 31786 * netprogs/.cvsignore,netprogs/Makefile.am,netprogs/nettest.cc, 31787 tests/.cvsignore,tests/Makefile.am,tests/remotetest.cc: 31788 netprogs/nettest -> tests/remotetest. 31789 31790Mon May 26 23:49:49 BST 2003 Olly Betts <olly@survex.com> 31791 31792 * netprogs/nettest.cc: Removed test tcpclient1 - the functionality it 31793 tests is also tested by tcpmatch1, and it introduces dependencies on 31794 internal headers. 31795 31796Mon May 26 22:00:01 BST 2003 Olly Betts <olly@survex.com> 31797 31798 * backends/quartz/quartz_table_manager.cc: Give a better error message 31799 if asked to open a pre-0.6 Quartz database. 31800 31801Mon May 26 20:43:21 BST 2003 Olly Betts <olly@survex.com> 31802 31803 * HACKING,Makefile.am,backends/Makefile.am,docs/mkdoc.pl, 31804 net/Makefile.am: Fixed to never leave partial files in place of the 31805 expected output if a build is interrupted. 31806 31807Mon May 26 16:50:59 BST 2003 Olly Betts <olly@survex.com> 31808 31809 * HACKING: Added note adapted from an old email noting why compile-time 31810 options are generally best avoided. 31811 31812Mon May 26 12:03:29 BST 2003 Olly Betts <olly@survex.com> 31813 31814 * testsuite/backendmanager.cc,testsuite/textfile_indexer.cc: Corrected 31815 odd uses of std::string::erase() (instead of `str = str.erase(n, m)' 31816 just use `str.erase(n,m)'). 31817 31818Sun May 25 22:59:44 BST 2003 Olly Betts <olly@survex.com> 31819 31820 * PLATFORMS: Updated. 31821 31822Sun May 25 22:58:28 BST 2003 Olly Betts <olly@survex.com> 31823 31824 * languages/Makefile.am: Suppress "unused" warnings in Snowball 31825 generated C code. 31826 31827Sun May 25 21:43:34 BST 2003 Olly Betts <olly@survex.com> 31828 31829 * api/omtermlistiterator.cc: Removed iostream.h include left over from 31830 debugging. 31831 31832Sun May 25 12:27:11 BST 2003 Olly Betts <olly@survex.com> 31833 31834 * docs/,extra/omparsequery.h,extra/parsequery.yy,include/Makefile.am, 31835 include/xapian.h,include/om/om.h,tests/,testsuite/backendmanager.cc, 31836 testsuite/backendmanager.h,testsuite/testutils.h: Created xapian.h 31837 header and changed everything to use it. 31838 31839Sat May 24 23:35:46 BST 2003 Olly Betts <olly@survex.com> 31840 31841 * api/,backends/inmemory/inmemory_database.cc, 31842 backends/inmemory/inmemory_document.h, 31843 backends/quartz/quartz_database.cc,backends/quartz/quartztest.cc, 31844 common/,include/Makefile.am,include/om/om.h, 31845 include/om/omvalueiterator.h,include/xapian/, 31846 testsuite/backendmanager.cc: OmValueIterator -> Xapian::ValueIterator 31847 etc. 31848 31849Fri May 23 15:32:29 BST 2003 Olly Betts <olly@survex.com> 31850 31851 * api/,backends/database.cc,backends/inmemory/,backends/muscat36/, 31852 backends/net/net_database.cc,backends/net/net_document.cc, 31853 backends/net/net_document.h,backends/quartz/,common/,docs/, 31854 include/Makefile.am,include/om/om.h,include/om/omdocument.h, 31855 include/om/omvalueiterator.h,include/xapian/,indexer/omindexer.h, 31856 matcher/,net/,netprogs/nettest.cc,tests/api_db.cc,tests/api_posdb.cc, 31857 tests/internaltest.cc,testsuite/: OmDocument -> Xapian::Document, etc. 31858 * include/Makefile.am: Fixed library headers to install in xapian and 31859 om subdirectories as they should. 31860 31861Fri May 23 15:31:05 BST 2003 Olly Betts <olly@survex.com> 31862 31863 * backends/quartz/btree.cc: Consistently use int4 for block number - 31864 it really should be unsigned and this is a first step. 31865 31866Mon May 19 13:20:46 BST 2003 Olly Betts <olly@survex.com> 31867 31868 * configure.in: Create include/xapian if it doesn't exist so that 31869 VPATH builds work. 31870 31871Mon May 19 13:17:16 BST 2003 Olly Betts <olly@survex.com> 31872 31873 * Makefile.am: Disabled exported symbol regex for now. 31874 31875Tue May 13 05:08:54 BST 2003 Olly Betts <olly@survex.com> 31876 31877 * api/,backends/database.cc,backends/dir_contents,backends/inmemory/, 31878 backends/multi/,backends/muscat36/,backends/net/,backends/quartz/, 31879 common/,docs/,extra/omparsequery.h,include/,matcher/,net/,netprogs/, 31880 tests/: OmDatabase -> Xapian::Database, etc. 31881 31882Tue May 13 05:07:41 BST 2003 Olly Betts <olly@survex.com> 31883 31884 * NEWS: Corrected spelling: "maintainance" to "maintenance". 31885 31886Tue May 13 00:40:47 BST 2003 Olly Betts <olly@survex.com> 31887 31888 * ChangeLog.0,NEWS,backends/inmemory/inmemory_database.h, 31889 backends/muscat36/da_database.h,backends/muscat36/db_database.h, 31890 backends/quartz/quartz_postlist.h, 31891 indexer/indexgraph/omstopwordnode.cc: Spelling correction: 31892 "occurence" should be "occurrence". 31893 31894Mon May 12 22:39:27 BST 2003 Olly Betts <olly@survex.com> 31895 31896 * api/ompositionlistiteratorinternal.h, 31897 include/om/ompositionlistiterator.h: Removed unused files. 31898 31899Mon May 12 20:51:03 BST 2003 Olly Betts <olly@survex.com> 31900 31901 * api/omdatabaseinternal.cc,backends/database.cc: Moved database 31902 factory functions from api to backends. 31903 31904Fri May 09 04:02:29 BST 2003 Olly Betts <olly@survex.com> 31905 31906 * common/expandweight.h: Removed cruft. 31907 31908Fri May 09 03:50:36 BST 2003 Olly Betts <olly@survex.com> 31909 31910 * common/rset.h: Removed unused RSetI ctor variant. 31911 31912Fri May 09 02:00:03 BST 2003 Olly Betts <olly@survex.com> 31913 31914 * api/omenquire.cc,common/,docs/overview.html,include/om/om.h, 31915 include/xapian/enquire.h,include/xapian/output.h,matcher/, 31916 net/socketclient.cc,net/socketcommon.cc,net/socketserver.cc, 31917 netprogs/nettest.cc,tests/api_db.cc: OmRSet -> Xapian::RSet. 31918 31919Fri May 09 01:06:32 BST 2003 Olly Betts <olly@survex.com> 31920 31921 * api/omenquire.cc: Fixed MSet::Internal::get_description() to include 31922 class name. 31923 31924Fri May 09 01:04:12 BST 2003 Olly Betts <olly@survex.com> 31925 31926 * common/rset.h,matcher/expand.cc,matcher/rset.cc: RSetI now uses 31927 set<Xapian::docid> (as OmRSet::Internal) rather than 31928 vector<RSetItem>. 31929 31930Fri May 09 00:41:20 BST 2003 Olly Betts <olly@survex.com> 31931 31932 * api/omenquire.cc,common/,docs/quickstartexpand.cc.html,matcher/: 31933 RSet internal class renamed to RSetI to aid upcoming OmRSet -> 31934 Xapian::RSet change. RSetI looks like it can be eliminated 31935 later. 31936 31937Thu May 08 23:54:44 BST 2003 Olly Betts <olly@survex.com> 31938 31939 * tests/: Removed make_dbgrp() helper function from apitest as it 31940 makes the test code less clear without making it easier to write. 31941 31942Thu May 08 01:24:53 BST 2003 Olly Betts <olly@survex.com> 31943 31944 * api/ompostlistiterator.cc,docs/overview.html,tests/api_db.cc: 31945 Fixed OmWeight and OmMatchDecider in comments, docs, and 31946 testsuite. 31947 31948Thu May 08 01:16:30 BST 2003 Olly Betts <olly@survex.com> 31949 31950 * api/omenquire.cc,backends/multi/multi_postlist.h,common/, 31951 include/om/om.h,include/xapian/enquire.h,matcher/, 31952 net/socketclient.cc,net/socketserver.cc: OmMatchDecider -> 31953 Xapian::MatchDecider; OmWeight -> Xapian::Weight; BoolWeight, 31954 TradWeight, BM25Weight -> Xapian::. 31955 31956Wed May 07 23:06:47 BST 2003 Olly Betts <olly@survex.com> 31957 31958 * backends/quartz/btreetest.cc,backends/quartz/quartztest.cc, 31959 configure.in,netprogs/nettest.cc,tests/,testsuite/: Minor overhaul 31960 of testsuite. 31961 31962Wed May 07 17:54:34 BST 2003 Olly Betts <olly@survex.com> 31963 31964 * backends/,common/document.h,matcher/Makefile.am,matcher/document.cc: 31965 Removed do_ wrappers for Document methods get_value(), 31966 get_all_values() and get_data(). The wrappers used to perform 31967 thread locking, but now they're just pointless overhead. 31968 31969Wed May 07 17:24:00 BST 2003 Olly Betts <olly@survex.com> 31970 31971 * HACKING: Started section of API structure. 31972 31973Wed May 07 02:16:03 BST 2003 Olly Betts <olly@survex.com> 31974 31975 * api/omenquire.cc,common/expand.h,common/omenquireinternal.h, 31976 common/omstringstream.h,docs/quickstart.html,include/om/om.h, 31977 include/xapian/enquire.h,include/xapian/output.h,matcher/expand.cc, 31978 matcher/multimatch.cc,net/socketcommon.cc,netprogs/nettest.cc, 31979 tests/api_db.cc,testsuite/testutils.cc: OmMSet -> Xapian::MSet, 31980 similarly for OmMSetIterator, OmESet, and OmESetIterator. 31981 31982Tue May 06 19:31:42 BST 2003 Olly Betts <olly@survex.com> 31983 31984 * include/xapian/query.h: New file I failed to checkin on Friday. 31985 31986Tue May 06 14:16:41 BST 2003 Olly Betts <olly@survex.com> 31987 31988 * HACKING,configure.in,tests/.cvsignore,tests/Makefile.am, 31989 tests/runtest.in,testsuite/testsuite.cc: Sorted out autodetection 31990 of valgrind for running testsuite. 31991 * HACKING: Added note about how to run gdb on dynamically linked 31992 binaries built using libtool. 31993 * HACKING: Recommend libtool 1.5 as in 1.4.2 libtool --mode=execute 31994 doesn't seem to handle programs with arguments. 31995 31996Tue May 06 00:25:03 BST 2003 Olly Betts <olly@survex.com> 31997 31998 * PLATFORMS: Updated. 31999 32000Fri May 02 16:58:15 BST 2003 Olly Betts <olly@survex.com> 32001 32002 * configure.in: Improved check that LEX is flex - it will now accept 32003 "flex" with a path and/or prefix. 32004 32005Fri May 02 16:12:46 BST 2003 Olly Betts <olly@survex.com> 32006 32007 * api/,common/,include/,matcher/,net/,netprogs/nettest.cc, 32008 netprogs/omtcpsrv.cc,tests/api_db.cc,tests/api_posdb.cc, 32009 testsuite/testutils.cc,testsuite/testutils.h: OmEnquire -> 32010 Xapian::Enquire, OmQuery -> Xapian::Query, etc. 32011 32012Fri May 02 03:14:28 BST 2003 Olly Betts <olly@survex.com> 32013 32014 * tests/internaltest.cc: Reenabled tests for leak checking and fixed 32015 them up to work with valgrind. 32016 32017Fri May 02 02:14:28 BST 2003 Olly Betts <olly@survex.com> 32018 32019 * testsuite/testsuite.cc,testsuite/testsuite.h: If a testsuite program 32020 is run using "valgrind --logfile-fd=255 ./footest" then the harness 32021 will show valgrind's output for tests which fail because valgrind 32022 spotted errors or leaks (untested under valgrind). 32023 32024Thu May 01 21:25:01 BST 2003 Olly Betts <olly@survex.com> 32025 32026 * api/omenquire.cc,api/omquery.cc,api/omqueryinternal.cc,common/, 32027 docs/overview.html,docs/quickstart.html,extra/omparsequery.h, 32028 extra/parsequery.yy,extra/parsequerytest.cc,include/,matcher/, 32029 net/,netprogs/nettest.cc,tests/api_db.cc,tests/api_nodb.cc, 32030 tests/api_posdb.cc: OmQuery -> Xapian::Query, etc. For now 32031 I've had to expose Xapian::Query::Internal in xapian/query.h 32032 which isn't ideal. 32033 32034Wed Apr 30 20:37:27 BST 2003 Olly Betts <olly@survex.com> 32035 32036 * api/omenquire.cc,common/omenquireinternal.h,include/: 32037 typedefs om_* -> Xapian::*, but not changed all internal uses yet. 32038 32039Wed Apr 30 03:51:52 BST 2003 Olly Betts <olly@survex.com> 32040 32041 * api/,backends/,common/,extra/omparsequery.h,extra/parsequery.yy, 32042 include/,matcher/localmatch.h,matcher/orpostlist.h,tests/api_db.cc: 32043 OmPostListIterator -> Xapian::PostListIterator, etc. 32044 32045Wed Apr 30 02:13:31 BST 2003 Olly Betts <olly@survex.com> 32046 32047 * docs/matcherdesign.html,include/om/omenquire.h: Merged docs 32048 discussing OmMSetIterator::get_collapse_count() into the doxygen 32049 documentation comments - they're docs aimed at the API user so 32050 really don't belong in the internal matcher design docs. 32051 32052Wed Apr 30 01:08:39 BST 2003 Olly Betts <olly@survex.com> 32053 32054 * .cvsignore: Added config.guess. 32055 32056Tue Apr 29 21:08:40 BST 2003 Olly Betts <olly@survex.com> 32057 32058 * include/om/om.h,include/xapian/base.h,include/xapian/error.h, 32059 include/xapian/errorhandler.h,include/xapian/expanddecider.h, 32060 include/xapian/positionlistiterator.h,include/xapian/stem.h, 32061 include/xapian/termiterator.h: OM_HGUARD_* -> XAPIAN_INCLUDED_*. 32062 32063Tue Apr 29 20:37:01 BST 2003 Olly Betts <olly@survex.com> 32064 32065 * api/,backends/,common/,include/,indexer/omnodeinstanceiterator.h, 32066 indexer/ompaditerator.h,net/readquery.h,testsuite/indexer.h: 32067 om/omoutput.h -> xapian/output.h; om/omtypes.h -> xapian/types.h. 32068 32069Tue Apr 29 18:28:27 BST 2003 Olly Betts <olly@survex.com> 32070 32071 * api/,backends/,common/,include/,matcher/,net/socketserver.cc,tests/, 32072 testsuite/backendmanager.cc,testsuite/testsuite.cc: OmTermIterator 32073 -> Xapian::TermIterator, etc. 32074 32075Tue Apr 29 17:39:34 BST 2003 Olly Betts <olly@survex.com> 32076 32077 * common/omdebug.cc: Setting XAPIAN_DEBUG_LOG caused an exception 32078 (with GCC 3.0 at least) unless the value contained %% - fixed. 32079 32080Tue Apr 29 14:29:36 BST 2003 Olly Betts <olly@survex.com> 32081 32082 * api/ompositionlistiterator.cc: Fixed to compile in debug mode. 32083 32084Tue Apr 29 01:06:02 BST 2003 Olly Betts <olly@survex.com> 32085 32086 * xapian.spec.in: Removed %changelog - it hasn't been reliably updated 32087 and only really makes sense when the packaging is done by a third 32088 party anyway. 32089 32090Tue Apr 29 01:03:20 BST 2003 Fabrice Colin 32091 32092 * xapian.spec.in: Fixed packaging of docs. 32093 32094Tue Apr 29 00:33:21 BST 2003 Olly Betts <olly@survex.com> 32095 32096 * HACKING,testsuite/testsuite.cc,testsuite/testsuite.h: valgrind is 32097 now mostly hooked into the testsuite. 32098 * HACKING: Bison 1.875 doesn't work but Bison 1.875a probably does; 32099 suggest CXXFLAGS=-Werror, not CFLAGS. 32100 32101Tue Apr 29 00:14:00 BST 2003 Olly Betts <olly@survex.com> 32102 32103 * INSTALL: Updated. 32104 32105Wed Apr 23 14:31:51 BST 2003 Olly Betts <olly@survex.com> 32106 32107 * api/omtermlistiterator.cc,api/omtermlistiteratorinternal.h, 32108 api/omvalueiteratorinternal.h,backends/inmemory/inmemory_database.cc, 32109 backends/inmemory/inmemory_positionlist.cc, 32110 common/inmemory_positionlist.h: Added InMemoryPositionList ctor 32111 which takes the positions data to avoid needing to construct and 32112 immediately call set_data(). 32113 32114Wed Apr 23 14:14:34 BST 2003 Olly Betts <olly@survex.com> 32115 32116 * api/,backends/,common/,include/,matcher/: OmPositionListIterator 32117 -> Xapian::PositionListIterator, etc. 32118 32119Wed Apr 23 13:47:49 BST 2003 Olly Betts <olly@survex.com> 32120 32121 * xapian.spec.in: Minor tweaks. 32122 32123Sun Apr 20 22:55:04 BST 2003 Olly Betts <olly@survex.com> 32124 32125 * extra/omparsequery.h,include/xapian/stem.h,tests/api_db.cc, 32126 tests/api_nodb.cc,tests/api_posdb.cc,testsuite/backendmanager.cc: 32127 OmStem -> Xapian::Stem; OmExpandDecider -> Xapian::ExpandDecider. 32128 32129Sun Apr 20 22:52:42 BST 2003 Olly Betts <olly@survex.com> 32130 32131 * configure.in,api/omenquire.cc,common/expand.h, 32132 common/omenquireinternal.h,docs/overview.html,include/, 32133 matcher/expand.cc,tests/api_db.cc: OmExpandDecider -> 32134 Xapian::ExpandDecider, etc. 32135 32136Sun Apr 20 22:42:32 BST 2003 Olly Betts <olly@survex.com> 32137 32138 * PLATFORMS,api/,backends/,common/,docs/,include/,matcher/,net/, 32139 netprogs/,tests/,testsuite/: OmError -> Xapian::Error, etc. 32140 32141Fri Apr 18 22:40:31 BST 2003 Sam Liddicott <sam@liddicott.com> 32142 32143 * matcher/multimatch.cc: Fixed so that it updates the OmMSetItem in 32144 the MSet with the collapse_count from the OmMSetItem twin in 32145 collapse_tab or we lose collapse_count if newer collapsing hits are 32146 less relevant than the hits they collapse over. I think we need 32147 collapse_tab maybe to keep a reference to the item in the mset? But 32148 this works for now. 32149 * xapian.spec.in: Fixed to also install include/xapian stuff 32150 32151Fri Apr 18 19:17:56 BST 2003 Olly Betts <olly@survex.com> 32152 32153 * configure.in,include/Makefile.am,include/om/.cvsignore, 32154 include/om/Makefile.am,include/om/om.h,include/om/om.h.in, 32155 include/xapian/.cvsignore,include/xapian/Makefile.am, 32156 include/xapian/dir_contents,include/xapian/version.h.in: 32157 C++ ABI version checking is now done by xapian/version.h. 32158 32159Fri Apr 18 17:57:21 BST 2003 Olly Betts <olly@survex.com> 32160 32161 * configure.in,api/omstem.cc,include/Makefile.am,include/om/om.h.in, 32162 include/om/omstem.h,include/xapian/.cvsignore, 32163 include/xapian/Makefile.am,include/xapian/base.h, 32164 include/xapian/stem.h: Reworked OmStem to use reference counted 32165 internals; renamed OmStem to Xapian::Stem and added a #define for 32166 compatibility with existing code. 32167 32168Fri Apr 18 17:02:56 BST 2003 Olly Betts <olly@survex.com> 32169 32170 * api/,backends/,common/,docs/overview.html,docs/quickstart.html, 32171 docs/quickstartexpand.cc.html,extra/,include/om/,matcher/,net/, 32172 tests/,testsuite/: Use std::string instead of typedef-ing it as 32173 om_termname. The typedef doesn't really buy us anything. Keep 32174 a typedef for compatibility with existing code for now. 32175 32176Fri Apr 18 16:12:32 BST 2003 Olly Betts <olly@survex.com> 32177 32178 * PLATFORMS: GCC 3.2.2 on Redhat 7.1 works with CXXFLAGS=-Werror 32179 32180Thu Apr 10 20:05:27 BST 2003 Olly Betts <olly@survex.com> 32181 32182 * common/Makefile.am,common/indexer.h,testsuite/Makefile.am, 32183 testsuite/indexer.h: Moved indexer.h from common to testsuite 32184 and altered it to use iosfwd instead of iostream and to 32185 declare OmDocument as a class instead of include omdocument.h. 32186 32187Thu Apr 10 18:55:55 BST 2003 Olly Betts <olly@survex.com> 32188 32189 * xapian-config.nodep.in: Removed --prefix and --exec-prefix - you 32190 can't reliably install Xapian with a different prefix to the one 32191 it was configured with, yet these options give the impression you 32192 can. 32193 32194Thu Apr 10 18:53:53 BST 2003 Olly Betts <olly@survex.com> 32195 32196 * .cvsignore: Added config.sub. 32197 32198Thu Apr 10 02:41:50 BST 2003 Olly Betts <olly@survex.com> 32199 32200 * NEWS,configure.in: Updated for 0.6.5 release. 32201 32202Thu Apr 10 02:29:12 BST 2003 Olly Betts <olly@survex.com> 32203 32204 * docs/doxygen_api_footer.html_tmpl,docs/doxygen_full_footer.html_tmpl, 32205 docs/overview.html: Use http://www.doxygen.org/ as URL for doxygen. 32206 * docs/overview.html: Fixed bad link to our own website! 32207 32208Thu Apr 10 02:12:00 BST 2003 Olly Betts <olly@survex.com> 32209 32210 * Makefile.am,backends/Makefile.am,backends/net/.cvsignore, 32211 backends/net/Makefile.am,netprogs/.cvsignore: Renamed libnetdb.la 32212 to libremote.la, and LIB_REMOTE1 to LIBNET_LA. 32213 32214Thu Apr 10 02:08:24 BST 2003 Olly Betts <olly@survex.com> 32215 32216 * PLATFORMS: Updated mingw notes to reflect the change to 32217 automatically disable the remote backend when fork() isn't 32218 available. 32219 32220Thu Apr 10 01:56:34 BST 2003 Olly Betts <olly@survex.com> 32221 32222 * docs/mkdoc.pl: Fixed to only look at directories listed in 32223 DIST_SUBDIRS. 32224 32225Thu Apr 10 00:23:28 BST 2003 Olly Betts <olly@survex.com> 32226 32227 * configure.in: Automatically disable the remote backend if we don't 32228 have fork() since the remote backend requires it in several places; 32229 AM_CONDITIONAL ENABLE_SHARED isn't used anywhere so commented it 32230 out. 32231 32232Wed Apr 09 22:48:20 BST 2003 Olly Betts <olly@survex.com> 32233 32234 * NEWS: Updated with recent changes. 32235 32236Wed Apr 09 22:43:31 BST 2003 Olly Betts <olly@survex.com> 32237 32238 * docs/remote_protocol.html: Talk about Server/Client rather than 32239 ProgServer/ProgClient; reworked first paragraph. 32240 32241Wed Apr 09 13:23:05 BST 2003 Olly Betts <olly@survex.com> 32242 32243 * docs/Makefile.am: Install docs in /usr/share/doc/xapian-core to be 32244 FHS compliant. 32245 * xapian.spec.in: Package quartzcheck and quartzcompact too; sorted 32246 out docs so they all install in the right place. 32247 32248Wed Apr 09 01:16:11 BST 2003 Olly Betts <olly@survex.com> 32249 32250 * configure.in,backends/quartz/quartz_log.cc, 32251 backends/quartz/quartz_table_manager.cc,common/omdebug.cc, 32252 common/omdebug.h: Don't use HAVE_GETPID - if it's not set we assume 32253 GetCurrentProcessId() works, so it's cleaner to test with 32254 #ifdef WIN32 instead. 32255 32256Tue Apr 08 19:56:57 BST 2003 Olly Betts <olly@survex.com> 32257 32258 * PLATFORMS: Updated with the results of many test builds. 32259 32260Tue Apr 08 19:55:15 BST 2003 Olly Betts <olly@survex.com> 32261 32262 * configure.in,backends/quartz/Makefile.am,backends/quartz/btree.cc, 32263 netprogs/nettest.cc,common/getopt.h,common/omtime.h,common/utils.cc, 32264 common/utils.h,tests/Makefile.am,tests/api_db.cc: Now builds with 32265 Linux to mingw cross-compiler. 32266 * tests/Makefile.am: don't include findheaders.pl in the tarball - 32267 it's no longer used. 32268 * tests/internaltest.cc: removed "#include <dlfcn.h>" and disabled 32269 code which used to use it. 32270 * testsuite/backendmanager.cc,testsuite/backendmanager.h: fixed to 32271 work if any backends are disabled. 32272 32273Tue Apr 08 16:09:11 BST 2003 Olly Betts <olly@survex.com> 32274 32275 * backends/quartz/btree.cc,backends/quartz/quartz_log.cc, 32276 backends/quartz/quartz_table_manager.cc,testsuite/testsuite.cc: 32277 Some fixes for building with Linux to mingw cross-compiler. 32278 32279Tue Apr 08 02:26:51 BST 2003 Olly Betts <olly@survex.com> 32280 32281 * backends/quartz/btreetest.cc: If we don't have <sstream> and so are 32282 using our own stringstream implementation, we can't pass it as an 32283 ostream reference so BtreeCheck::check() can't be run in btreetest. 32284 This is only an issue on old compilers (for GCC <= 2.95.2 it seems) 32285 so just disable the checking in that case - it's probably not worth 32286 the effort of trying to make our stringstream a subclass of ostream. 32287 32288Tue Apr 08 01:20:36 BST 2003 Olly Betts <olly@survex.com> 32289 32290 * testsuite/testsuite.cc: Updated unfinished hooks to use valgrind in 32291 the test harness. 32292 32293Fri Apr 04 03:12:27 BST 2003 Olly Betts <olly@survex.com> 32294 32295 * api/omenquire.cc,api/omstem.cc,common/omdebug.cc: Fixed to compile 32296 when configure-d with --enable-debug-verbose --enable-debug=full. 32297 32298Fri Apr 04 03:10:53 BST 2003 Olly Betts <olly@survex.com> 32299 32300 * common/omstringstream.h: Removed unused code for writing 32301 vector<string> to our own implementation of om_ostringstream. 32302 32303Fri Apr 04 03:08:35 BST 2003 Olly Betts <olly@survex.com> 32304 32305 * api/ompostlistiterator.cc: Use "using namespace std;"; replaced 32306 gratuitous use of om_ostringstream. 32307 32308Fri Apr 04 03:07:05 BST 2003 Olly Betts <olly@survex.com> 32309 32310 * tests/api_nodb.cc: Use "using namespace std;"; removed stray cout 32311 debug line. 32312 32313Wed Apr 02 16:54:50 BST 2003 Olly Betts <olly@survex.com> 32314 32315 * tests/internaltest.cc: More Sun C++ fixes. 32316 * PLATFORMS: Updated. 32317 32318Wed Apr 02 16:39:48 BST 2003 Olly Betts <olly@survex.com> 32319 32320 * tests/api_db.cc,net/tcpserver.cc,common/tcpserver.h: More Sun C++ 32321 fettling. 32322 32323Wed Apr 02 15:42:54 BST 2003 Olly Betts <olly@survex.com> 32324 32325 * matcher/emptymatch.h,tests/api_db.cc: More fixes for Sun C++. 32326 32327Wed Apr 02 15:13:58 BST 2003 Olly Betts <olly@survex.com> 32328 32329 * api/omenquire.cc,api/omqueryinternal.cc, 32330 backends/inmemory/inmemory_database.h,common/document.h, 32331 common/netclient.h,common/netserver.h,common/networkstats.h, 32332 common/omlinebuf.h,common/stats.h,include/om/omerror.h, 32333 include/om/omerrorhandler.h,indexer/indexgraph/nodetest.cc, 32334 indexer/indexgraph/omindexerbuilder.cc, 32335 indexer/indexgraph/omindexerinternal.h, 32336 indexer/indexgraph/omstopwordnode.cc, 32337 indexer/indexgraph/regexcommon.h,indexer/indexgraph/toposort.h, 32338 tests/api_db.cc,tests/api_nodb.cc,testsuite/backendmanager.h: 32339 More fixes for Sun C++; removed many superfluous ";" after "}". 32340 32341Wed Apr 02 03:45:42 BST 2003 Olly Betts <olly@survex.com> 32342 32343 * api/omdocument.cc,api/omenquire.cc,api/omtermlistiteratorinternal.h, 32344 backends/inmemory/inmemory_database.h,backends/quartz/btree.cc, 32345 backends/quartz/btree.h,common/alltermslist.h,common/expandweight.h, 32346 common/getopt.h,common/utils.h,include/om/omenquire.h, 32347 matcher/expandweight.cc,matcher/multimatch.cc, 32348 testsuite/backendmanager.h: Resolved various issues so that 32349 libxapian now builds with Sun's C++ compiler. However 32350 libomqueryparser and the test programs don't yet. 32351 32352Tue Apr 01 02:52:57 BST 2003 Olly Betts <olly@survex.com> 32353 32354 * backends/quartz/quartz_types.h: use "unsigned int" rather than 32355 "unsigned long int" so that quartz_tablesize_t matches om_doccount 32356 on 64 bit machines. 32357 32358Mon Mar 31 19:34:54 BST 2003 Olly Betts <olly@survex.com> 32359 32360 * AUTHORS,xapian.spec.in: Merged in changes to RPM packaging from 32361 Fabrice Colin and reworked further. 32362 32363Fri Mar 28 20:04:04 GMT 2003 Olly Betts <olly@survex.com> 32364 32365 * NEWS: Updated. 32366 32367Fri Mar 28 19:53:59 GMT 2003 Olly Betts <olly@survex.com> 32368 32369 * README: Removed out-of-date sourceforge references; tidied up 32370 wording in places. 32371 32372Fri Mar 28 19:52:11 GMT 2003 Olly Betts <olly@survex.com> 32373 32374 * HACKING: Removed out-of-date sourceforge references; tidied up 32375 wording in places; docs/tests.txt is now docs/tests.html . 32376 32377Fri Mar 28 17:35:15 GMT 2003 Olly Betts <olly@survex.com> 32378 32379 * NEWS: Wrote most of the entries for the next release. 32380 32381Fri Mar 28 17:34:57 GMT 2003 Olly Betts <olly@survex.com> 32382 32383 * docs/todo.xml: Updated. 32384 32385Thu Mar 27 05:42:41 GMT 2003 Olly Betts <olly@survex.com> 32386 32387 * .cvsignore,Makefile.am,configure.in,docs/.cvsignore,docs/Makefile.am, 32388 docs/index.html,docs/todo2html.pl: removed machinery to generate 32389 TODO, TODO.release, docs/todo.html, and docs/todo-release.html from 32390 docs/todo.xml - bug and todo items will be tracked in bugzilla 32391 instead. 32392 32393Thu Mar 27 05:25:12 GMT 2003 Olly Betts <olly@survex.com> 32394 32395 * docs/todo.xml: Removed completed items and those already fed into 32396 bugzilla. 32397 32398Thu Mar 27 05:17:05 GMT 2003 Olly Betts <olly@survex.com> 32399 32400 * api/omstem.cc,include/om/omstem.h: Added default OmStem ctor, 32401 and "none" language. Both of these give a stemmer object which 32402 leaves terms unchanged which should allow for simpler logic 32403 in programs using Xapian. The default ctor also removes the 32404 need to mess with pointers in some cases. 32405 32406Thu Mar 27 04:52:27 GMT 2003 Olly Betts <olly@survex.com> 32407 32408 * NEWS: Started to prepare for next release. 32409 32410Thu Mar 27 04:49:52 GMT 2003 Olly Betts <olly@survex.com> 32411 32412 * include/om/omenquire.h,include/om/omerror.h: Improved documentation 32413 comments. 32414 32415Thu Mar 27 01:09:04 GMT 2003 Olly Betts <olly@survex.com> 32416 32417 * docs/todo.xml,tests/api_db.cc: Added regression test for Quartz 32418 bug which caused problems with long terms on machines with signed 32419 chars. 32420 32421Wed Mar 26 20:30:18 GMT 2003 Olly Betts <olly@survex.com> 32422 32423 * matcher/multimatch.cc: fixed interaction of collapsing and 32424 sort_bands == 1. 32425 32426Wed Mar 26 01:04:30 GMT 2003 Olly Betts <olly@survex.com> 32427 32428 * matcher/multimatch.cc: Fixed sort_bands == 1 bug which would 32429 incorrectly reject many documents with a low score. 32430 32431Thu Mar 06 13:04:06 GMT 2003 Sam Liddicott <sam.liddicott@orange.co.uk> 32432 32433 * docs/matcherdesign.html: Add writeup about document collapsing. 32434 32435Thu Mar 06 11:32:05 GMT 2003 Sam Liddicott <sam.liddicott@orange.co.uk> 32436 32437 * Add collapse_count threshold checking to ensure that most 32438 relevant collapsed-away hit is more relevant than threshold 32439 (if specified) 32440 32441Mon Mar 03 14:04:56 GMT 2003 Olly Betts <olly@survex.com> 32442 32443 * docs/quartzdesign.html: Corrected 2kB to 2KB. 32444 32445Fri Feb 28 10:11:04 GMT 2003 Sam Liddicott <sam.liddicott@orange.co.uk> 32446 32447 * Add get_collapse_count() to OmMSetIterator 32448 * Add collapse_count to OmMSetItem 32449 * Add collapse_count tracking to get_mset() 32450 32451Thu Feb 27 15:28:08 GMT 2003 Olly Betts <olly@survex.com> 32452 32453 * common/match.h,common/multimatch.h,matcher/multimatch.cc: Optimise 32454 the common sort_bands == 1 case better. 32455 * tests/api_db.cc: sortbands2 now tests 1 sortband as well as 10. 32456 32457Wed Feb 26 09:58:01 GMT 2003 Sam Liddicott <sam.liddicott@orange.co.uk> 32458 32459 * bootstrap: Fix success message when building in non-src dir 32460 as configure is written to the src dir. 32461 32462Mon Feb 24 10:33:52 GMT 2003 Olly Betts <olly@survex.com> 32463 32464 * matcher/multimatch.cc: Disabled (for now) sort_bands 32465 optimisation which is misbehaving. Fixed forward ordered boolean 32466 optimisation broken by last check-in. 32467 * tests/api_db.cc: Added test_sortbands2 based on James' test code. 32468 32469Sun Feb 23 20:28:47 GMT 2003 Olly Betts <olly@survex.com> 32470 32471 * matcher/multimatch.cc: Fixed problem with sort_bands when asking 32472 for an m-set which didn't start with the first match. 32473 32474Sun Jan 05 22:20:33 GMT 2003 Olly Betts <olly@survex.com> 32475 32476 * testsuite/index_utils.cc: Handling of ^x was just downright wrong 32477 due to a typo. 32478 32479Sun Jan 05 22:19:56 GMT 2003 Olly Betts <olly@survex.com> 32480 32481 * backends/quartz/.cvsignore: Ignore quartzcompact binary. 32482 32483Sun Jan 05 22:18:57 GMT 2003 Olly Betts <olly@survex.com> 32484 32485 * extra/parsequerytest.cc: Fixed to build with GCC 2.95. 32486 32487Tue Dec 24 20:21:03 GMT 2002 Olly Betts <olly@survex.com> 32488 32489 * NEWS: Added omega 0.6.4 changes. 32490 32491Tue Dec 24 19:53:10 GMT 2002 Olly Betts <olly@survex.com> 32492 32493 * NEWS,PLATFORMS,configure.in: Version 0.6.4. 32494 32495Tue Dec 24 19:29:27 GMT 2002 Olly Betts <olly@survex.com> 32496 32497 * backends/quartz/quartz_database.cc,backends/quartz/quartz_table.cc: 32498 Don't bother checking is position_list is empty - just delete it and 32499 let the layer below handle not having anything to delete. 32500 * backends/quartz/quartz_termlist.cc,docs/todo.xml: Fixed unpacking 32501 of termlist on platforms where char is signed. 32502 32503Tue Dec 24 05:48:06 GMT 2002 Olly Betts <olly@survex.com> 32504 32505 * backends/quartz/quartz_database.cc: Fixed double setting of position 32506 list when updating a document with term position information. The 32507 behaviour before was correct, just inefficient. 32508 32509Mon Dec 23 04:44:46 GMT 2002 Olly Betts <olly@survex.com> 32510 32511 * docs/todo.xml: Updated. 32512 32513Mon Dec 23 03:22:19 GMT 2002 Olly Betts <olly@survex.com> 32514 32515 * extra/parsequery.yy: If a stemmed form with a "." is in the query, 32516 include the "." on the form in the unstem multimap. 32517 32518Sun Dec 22 21:44:06 GMT 2002 Olly Betts <olly@survex.com> 32519 32520 * extra/omparsequery.h,extra/parsequery.yy,extra/parsequerytest.cc: 32521 Added support for searching probabilistic fields (using 32522 <field>:<term>). 32523 32524Sat Dec 21 01:38:59 GMT 2002 Olly Betts <olly@survex.com> 32525 32526 * configure.in: Don't include "om.h" in APIDOC_SRC, otherwise 32527 people building from source will need to regenerate the source 32528 docs which will require them to have doxygen installed. 32529 32530Fri Dec 20 15:39:51 GMT 2002 James Aylett <james@tartarus.org> 32531 32532 * Bindings build using SWIG 1.3.14u-20020706-1222, with very 32533 basic functionality tested with the Python target. 32534 32535Fri Dec 20 12:38:26 GMT 2002 James Aylett <tartarus@users.sourceforge.net> 32536 32537 * Tidied up some bindings-related issues, including changes to 32538 the Python bindings to work with Python 2.2. This probably won't 32539 compile as it stands, but it's disabled anyway. 32540 32541Sun Dec 15 18:23:42 GMT 2002 Olly Betts <olly@survex.com> 32542 32543 * api/omdatabase.cc,backends/muscat36/da_database.cc, 32544 backends/muscat36/db_database.cc,matcher/phrasepostlist.cc: 32545 Muscat 3.6 DA and DB databases don't have word position information. 32546 Instead of throwing an exception when this information is requested, 32547 return an empty position list (i.e. behave as a quartz database with 32548 no position information would). 32549 32550Sun Dec 15 03:08:28 GMT 2002 Olly Betts <olly@survex.com> 32551 32552 * backends/muscat36/: DADatabase and DBDatabase ctors need to public 32553 so that they can called from the database factory functions. 32554 * api/omenquire.cc,backends/muscat36/,backends/quartz/btree.cc, 32555 tests/api_db.cc: Fixed compilation warnings. 32556 32557Sat Dec 14 23:02:55 GMT 2002 Olly Betts <olly@survex.com> 32558 32559 * docs/quartzdesign.html,docs/todo.xml: Updated. 32560 32561Sat Dec 14 22:57:41 GMT 2002 Olly Betts <olly@survex.com> 32562 32563 * backends/quartz/Makefile.am,backends/quartz/quartzcheck.cc, 32564 backends/quartz/quartzcompact.cc,backends/quartz/quartzdump.cc: 32565 Enhanced quartzcheck to check all the btrees in a quartz database 32566 if passed a directory name. It also default to "v" rather than 32567 "+" which is more appropriate for an end user checking if tables 32568 in a non-trivial sized database are corrupt. Added quartzcompact 32569 utility to make a copy of a quartz database with full compaction 32570 turned on - this results in a smaller database which is faster to 32571 search. The next update will result in a lot of block splitting 32572 though (since all blocks are as full as possible). 32573 32574Sat Dec 14 16:28:11 GMT 2002 Olly Betts <olly@survex.com> 32575 32576 * NEWS: Updated for 0.6.3 release. 32577 32578Sat Dec 14 04:28:16 GMT 2002 Olly Betts <olly@survex.com> 32579 32580 * PLATFORMS,configure.in: Version 0.6.3. 32581 32582Sat Dec 14 03:54:08 GMT 2002 Olly Betts <olly@survex.com> 32583 32584 * extra/omparsequery.h,extra/parsequery.yy: Create an "unstem" multimap 32585 so users can convert the stemmed terms back into their query 32586 representation. 32587 32588Sat Dec 14 03:48:27 GMT 2002 Olly Betts <olly@survex.com> 32589 32590 * docs/todo.xml: Updated. 32591 32592Sat Dec 14 02:37:41 GMT 2002 Olly Betts <olly@survex.com> 32593 32594 * docs/todo.xml: Updated. 32595 32596Sat Dec 14 02:26:29 GMT 2002 Olly Betts <olly@survex.com> 32597 32598 * docs/remote_protocol.html,net/socketclient.cc,net/socketserver.cc: 32599 Updated remote protocol description. 32600 32601Sat Dec 14 02:05:59 GMT 2002 Olly Betts <olly@survex.com> 32602 32603 * docs/: Updated. 32604 32605Fri Dec 13 23:43:23 GMT 2002 Olly Betts <olly@survex.com> 32606 32607 * include/om/om.h.in: Removed bogus // in the middle of a comment. 32608 32609Fri Dec 13 22:17:41 GMT 2002 Olly Betts <olly@survex.com> 32610 32611 * configure.in,testsuite/testsuite.cc: Added hooks for using valgrind 32612 to find leaks in the test suite. Just need to sort out suitable 32613 hooks in valgrind now! 32614 32615Fri Dec 13 19:57:23 GMT 2002 Olly Betts <olly@survex.com> 32616 32617 * docs/: OmSettings removal updates. 32618 32619Fri Dec 13 19:44:23 GMT 2002 Olly Betts <olly@survex.com> 32620 32621 * bindings/: Made a start updating bindings for OmSettings removal. 32622 32623Fri Dec 13 19:13:36 GMT 2002 Olly Betts <olly@survex.com> 32624 32625 * api/omenquire.cc,common/omenquireinternal.h,include/om/omenquire.h, 32626 net/socketclient.cc,tests/api_db.cc: Finished removal of OmSettings 32627 - all tests now pass once more! 32628 32629Fri Dec 13 16:35:12 GMT 2002 Olly Betts <olly@survex.com> 32630 32631 * api/,backends/quartz/quartz_table_manager.h,common/,docs/,include/, 32632 matcher/,net/,tests/internaltest.cc: Removed last use of OmSettings. 32633 Just a check-point check in - the code compiles, but doesn't pass 32634 tests yet. 32635 32636Fri Dec 13 12:53:01 GMT 2002 Olly Betts <olly@survex.com> 32637 32638 * netprogs/nettest.cc: Updated disabled code to use new database 32639 factory functions; Added "using namespace std;". 32640 32641Thu Dec 12 23:52:32 GMT 2002 Olly Betts <olly@survex.com> 32642 32643 * docs/todo.xml: Tidied my desk and converted lots of scraps of paper 32644 to todo entries. 32645 32646Thu Dec 12 16:43:22 GMT 2002 Olly Betts <olly@survex.com> 32647 32648 * backends/quartz/btree.cc: Added workaround for shared_level problem; 32649 Improved error reporting. 32650 32651Thu Dec 12 01:05:00 GMT 2002 Olly Betts <olly@survex.com> 32652 32653 * docs/overview.html: Updated docs on stub databases. 32654 32655Wed Dec 11 20:49:11 GMT 2002 Olly Betts <olly@survex.com> 32656 32657 * api/omdatabaseinternal.cc,include/om/omdatabase.h,tests/api_db.cc: 32658 Reimplemented stub databases in the new scheme of things. 32659 * backends/inmemory/: fully disabled inmemory_errornext and 32660 inmemory_abortnext code. 32661 32662Tue Dec 10 13:47:44 GMT 2002 Olly Betts <olly@survex.com> 32663 32664 * HACKING: Added note that Bison 1.50 seems to work with Xapian's 32665 .yy files. 32666 32667Mon Dec 09 20:13:00 GMT 2002 Olly Betts <olly@survex.com> 32668 32669 * api/omenquire.cc,common/omenquireinternal.h,docs/todo.xml, 32670 include/om/omenquire.h,tests/api_db.cc: OmEnquire::get_eset() 32671 now takes a flags argument of bit constants |-ed together 32672 instead of 2 bools. 32673 32674Mon Dec 09 12:52:38 GMT 2002 Olly Betts <olly@survex.com> 32675 32676 * backends/quartz/btree.cc,backends/quartz/btree.h: Applied patch 32677 from Martin Porter with better fix for sequential addition bug. 32678 32679Mon Dec 09 09:57:42 GMT 2002 Olly Betts <olly@survex.com> 32680 32681 * docs/todo.xml: Updated. 32682 32683Mon Dec 09 07:32:46 GMT 2002 Olly Betts <olly@survex.com> 32684 32685 * backends/quartz/quartztest.cc: Corrected name of database used 32686 by test adddoc2 (was using testdb_adddoc1!) 32687 32688Mon Dec 09 05:10:09 GMT 2002 Olly Betts <olly@survex.com> 32689 32690 * backends/quartz/quartz_postlist.cc,backends/quartz/quartz_table.cc: 32691 More fettling. 32692 32693Mon Dec 09 04:48:39 GMT 2002 Olly Betts <olly@survex.com> 32694 32695 * backends/quartz/: Minor code fettle. 32696 32697Mon Dec 09 03:32:11 GMT 2002 Olly Betts <olly@survex.com> 32698 32699 * backends/quartz/quartz_postlist.cc: Gratuitous layout fettling. 32700 32701Mon Dec 09 03:30:27 GMT 2002 Olly Betts <olly@survex.com> 32702 32703 * docs/quartzdesign.html: Improved wording and punctuation in 3 32704 places. 32705 32706Mon Dec 09 03:25:09 GMT 2002 Olly Betts <olly@survex.com> 32707 32708 * common/,docs/todo.xml,include/om/omenquire.h,matcher/, 32709 net/socketclient.cc,net/socketserver.cc,netprogs/omprogsrv.cc, 32710 netprogs/omtcpsrv.cc: Fixed the remote backend to handle non-default 32711 weighting schemes. You can now even implement your own weighting 32712 scheme and use it with the remote backend provided you register it 32713 with SocketServer at runtime. 32714 32715Sat Dec 07 21:18:39 GMT 2002 Olly Betts <olly@survex.com> 32716 32717 * PLATFORMS: Updated. 32718 32719Sat Dec 07 21:09:52 GMT 2002 Olly Betts <olly@survex.com> 32720 32721 * NEWS,PLATFORMS,configure.in: Version 0.6.2. 32722 32723Sat Dec 07 20:24:46 GMT 2002 Olly Betts <olly@survex.com> 32724 32725 * NEWS: Updated. 32726 32727Sat Dec 07 20:21:41 GMT 2002 Olly Betts <olly@survex.com> 32728 32729 * docs/quickstart.html: Fixed parameters passed to OmQuartz__open(). 32730 32731Sat Dec 07 20:17:42 GMT 2002 Olly Betts <olly@survex.com> 32732 32733 * backends/quartz/quartztest.cc: Fixed parameters passed to 32734 OmQuartz__open(). 32735 32736Sat Dec 07 16:41:25 GMT 2002 Olly Betts <olly@survex.com> 32737 32738 * docs/tests.html,testsuite/testsuite.cc: The testsuite won't install 32739 its signal handler if XAPIAN_SIG_DFL is set. 32740 32741Sat Dec 07 16:39:01 GMT 2002 Olly Betts <olly@survex.com> 32742 32743 * HACKING: OM_DEBUG_XXX -> XAPIAN_DEBUG_YYY. 32744 32745Sat Dec 07 04:48:37 GMT 2002 Olly Betts <olly@survex.com> 32746 32747 * backends/quartz/btree.cc: max_item_size wasn't being set due to 32748 some over-zealous code pruning. It was defaulting to 0, and 32749 was causing the code to write off the end of allocated memory 32750 blocks. 32751 32752Sat Dec 07 03:22:05 GMT 2002 Olly Betts <olly@survex.com> 32753 32754 * backends/inmemory/,matcher/multimatch.cc: Minor code tidying. 32755 * backends/quartz/btree.cc: Added Assert in Btree::add() to detect 32756 running off end of buffer. 32757 32758Sat Dec 07 03:20:52 GMT 2002 Olly Betts <olly@survex.com> 32759 32760 * matcher/localmatch.cc: fixed handling of wtscheme() - we were 32761 trying to use it for the extra weights, and then double 32762 deleting it! 32763 32764Fri Dec 06 23:05:22 GMT 2002 Olly Betts <olly@survex.com> 32765 32766 * api/omstem.cc,backends/quartz/,common/omdebug.cc,common/utils.h, 32767 matcher/tradweight.cc,net/socketcommon.cc,net/tcpclient.cc, 32768 tests/api_db.cc: Fixed to build with configure --enable-debug=full. 32769 32770Fri Dec 06 23:01:08 GMT 2002 Olly Betts <olly@survex.com> 32771 32772 * common/omdebug.cc,common/omdebug.h: Fixed permissions on newly 32773 created log file (was getting 000!); Simplified class internals; 32774 Renamed env vars: OM_DEBUG_FILE is now XAPIAN_DEBUG_LOG, 32775 OM_DEBUG_TYPES is now XAPIAN_DEBUG_FLAGS (old versions still work 32776 for now). 32777 32778Fri Dec 06 22:58:57 GMT 2002 Olly Betts <olly@survex.com> 32779 32780 * testsuite/testsuite.cc: Fixed so running "gdb .libs/apitest" 32781 finds srcdir (for an in-tree build at least). 32782 32783Fri Dec 06 03:51:35 GMT 2002 Olly Betts <olly@survex.com> 32784 32785 * common/,include/om/omenquire.h,matcher/localmatch.h,matcher/rset.cc, 32786 matcher/stats.cc: Fixed to compile with GCC 3.0. 32787 32788Thu Dec 05 23:28:29 GMT 2002 Olly Betts <olly@survex.com> 32789 32790 * include/om/omdatabase.h: Added missing "std::". 32791 32792Thu Dec 05 23:27:57 GMT 2002 Olly Betts <olly@survex.com> 32793 32794 * docs/remote.html: Updated from OmSettings to factory functions. 32795 32796Thu Dec 05 23:26:42 GMT 2002 Olly Betts <olly@survex.com> 32797 32798 * PLATFORMS: ixion is actually Linux 2.2. 32799 32800Thu Dec 05 04:32:40 GMT 2002 Olly Betts <olly@survex.com> 32801 32802 * testsuite/backendmanager.cc: Fixed BackendManager::do_getdb_quartz() 32803 and do_getwritedb_quartz() to work correctly and so resolved some 32804 test failures. 32805 32806Wed Dec 04 03:35:12 GMT 2002 Olly Betts <olly@survex.com> 32807 32808 * api/omdatabaseinternal.cc,backends/quartz/,docs/todo.xml, 32809 include/om/omdatabase.h: Replace create and allow_overwrite 32810 boolean flags with OM_DB_XXX constants. And we now support 32811 OM_DB_CREATE_OR_OPEN which is a common action to want to 32812 perform, but was fiddly to achieve before. 32813 32814Tue Dec 03 23:59:30 GMT 2002 Olly Betts <olly@survex.com> 32815 32816 * docs/todo.xml: Updated. 32817 32818Tue Dec 03 23:26:27 GMT 2002 Olly Betts <olly@survex.com> 32819 32820 * api/omenquire.cc,backends/quartz/quartz_postlist.h,common/, 32821 docs/omsettings,docs/todo.xml,include/om/omenquire.h,matcher/, 32822 net/socketcommon.cc,net/socketserver.cc,tests/api_db.cc, 32823 tests/api_posdb.cc: Weighting schemes are now specified by passing 32824 in a weighting object, rather than via OmSetttings. The weight 32825 class can be sub-classed by the library user to allow them to 32826 specify their own weighting scheme). Everything works apart 32827 from the remote backend where the weighting scheme type and 32828 parameters aren't passed across the link. 32829 32830Mon Dec 02 20:12:31 GMT 2002 Olly Betts <olly@survex.com> 32831 32832 * NEWS: Updated with changes since 0.6.1. 32833 32834Mon Dec 02 19:44:37 GMT 2002 Olly Betts <olly@survex.com> 32835 32836 * api/ompostlistiterator.cc,backends/multi/multi_postlist.h, 32837 common/irweight.h,common/leafpostlist.h,matcher/: IRWeight 32838 renamed to OmWeight in preparation for making it externally 32839 visible. 32840 32841Mon Dec 02 18:10:55 GMT 2002 Olly Betts <olly@survex.com> 32842 32843 * matcher/bm25weight.cc,matcher/irweight.cc,matcher/tradweight.cc, 32844 matcher/tradweight.h: Started to rework weighting scheme code. 32845 32846Mon Dec 02 17:36:21 GMT 2002 Olly Betts <olly@survex.com> 32847 32848 * api/omdatabaseinternal.cc,backends/quartz/quartz_table_manager.cc: 32849 Tidying up after the recent backend reworking. 32850 32851Mon Dec 02 03:59:39 GMT 2002 Olly Betts <olly@survex.com> 32852 32853 * matcher/: Changed BoolWeight ctor not to take an OmSettings 32854 parameter which is simply ignored. 32855 32856Mon Dec 02 01:35:41 GMT 2002 Olly Betts <olly@survex.com> 32857 32858 * include/om/omdatabase.h: Added documentation comments for all of 32859 the database factory functions. 32860 32861Sun Dec 01 21:45:49 GMT 2002 Olly Betts <olly@survex.com> 32862 32863 * include/om: Added \file documentation comments so doxygen 32864 extracts documentation for functions too. 32865 * docs/: Made a start on updating for the new database factory 32866 functions. 32867 32868Sun Dec 01 15:38:10 GMT 2002 Olly Betts <olly@survex.com> 32869 32870 * api/,backends/,common/,docs/omsettings,docs/todo.xml, 32871 include/om/omdatabase.h,netprogs/,tests/,testsuite/backendmanager.cc, 32872 testsuite/backendmanager.h: No longer use OmSettings to specify 32873 parameters for constructing databases. Instead there's a factory 32874 function for each database type - temporary naming scheme is 32875 OmXxx__open(), mostly because it's easy to grep for later. At 32876 present stub databases and the machinery in InMemory to allow 32877 the multierrhandler1 test aren't working. Everything else should 32878 be. 32879 32880Thu Nov 28 20:15:47 GMT 2002 Olly Betts <olly@survex.com> 32881 32882 * api/omenquire.cc,common/omenquireinternal.h,docs/omsettings, 32883 docs/overview.html,include/om/omenquire.h,tests/api_db.cc: 32884 No longer use OmSettings in OmEnquire::get_eset(); fixed 32885 reversed sense of use_query_terms (and fixed reversed sense 32886 test in apitest which meant this wasn't spotted). 32887 32888Thu Nov 28 20:14:54 GMT 2002 Olly Betts <olly@survex.com> 32889 32890 * docs/index.html: Link to annotated class lists in doxygen generated 32891 documentation rather than rather empty index page. 32892 32893Thu Nov 28 02:23:33 GMT 2002 Olly Betts <olly@survex.com> 32894 32895 * configure.in,NEWS: Version 0.6.1. 32896 32897Thu Nov 28 01:38:05 GMT 2002 Olly Betts <olly@survex.com> 32898 32899 * PLATFORMS: Updated. 32900 32901Thu Nov 28 01:33:25 GMT 2002 Olly Betts <olly@survex.com> 32902 32903 * backends/quartz/: Fixed to compile with GCC 3.0. 32904 32905Thu Nov 28 01:32:31 GMT 2002 Olly Betts <olly@survex.com> 32906 32907 * PLATFORMS: Updated with test results from 0.5.4 release. 32908 32909Wed Nov 27 22:11:38 GMT 2002 Olly Betts <olly@survex.com> 32910 32911 * backends/quartz/btree.h: fixed "public:" bodge added during 32912 factoring-out of BtreeCheck. 32913 32914Wed Nov 27 05:01:14 GMT 2002 Olly Betts <olly@survex.com> 32915 32916 * NEWS,PLATFORMS,configure.in: Updated for 0.6.0 release. 32917 32918Wed Nov 27 05:00:39 GMT 2002 Olly Betts <olly@survex.com> 32919 32920 * AUTHORS,HACKING: Removed or replaced sourceforge.net URLs. 32921 32922Wed Nov 27 04:58:29 GMT 2002 Olly Betts <olly@survex.com> 32923 32924 * docs/quartzdesign.html: Reworded "under development" warning; 32925 Updated Btree::check(), which is now BtreeCheck::check(). 32926 32927Wed Nov 27 01:36:26 GMT 2002 Olly Betts <olly@survex.com> 32928 32929 * backends/quartz/btreecheck.cc,backends/quartz/btreecheck.h, 32930 backends/quartz/btreetest.cc: Tidied up BtreeCheck - btreetest now 32931 sends check output to tout so it's only displayed if the check fails 32932 (or btreetest is run with -v). 32933 32934Tue Nov 26 19:47:24 GMT 2002 Olly Betts <olly@survex.com> 32935 32936 * backends/quartz/: Split the btree checking code out into a separate 32937 file, so it's not linked in when we don't need it. 32938 32939Tue Nov 26 05:47:32 GMT 2002 Olly Betts <olly@survex.com> 32940 32941 * backends/quartz/btree.cc: Suppress all output from a successful 32942 Btree::Check() is no options are specified, so that btreetest 32943 generates clean output when all tests pass. 32944 32945Tue Nov 19 02:08:30 GMT 2002 Olly Betts <olly@survex.com> 32946 32947 * NEWS: Updated. 32948 32949Tue Nov 19 01:46:35 GMT 2002 Olly Betts <olly@survex.com> 32950 32951 * backends/quartz/btree.cc,backends/quartz/btree.h, 32952 backends/quartz/btreetest.cc,backends/quartz/quartztest.cc, 32953 docs/quartzdesign.html: Quartz B-tree minimum blocksize is 32954 now 2048 bytes (as was in fact documented already). This 32955 means the max term length is now always 252 bytes. 32956 32957Mon Nov 18 22:16:57 GMT 2002 Olly Betts <olly@survex.com> 32958 32959 * api/omenquire.cc,matcher/expand.cc,matcher/expandweight.cc: 32960 Bit of an expand tidy up. 32961 32962Mon Nov 18 19:49:09 GMT 2002 Olly Betts <olly@survex.com> 32963 32964 * backends/quartz/quartz_termlist.cc: I'd put the new termlist stuff 32965 in the disabled branch of a "#ifdef" so it wasn't being used! Fixed 32966 this and made it actually compile as an encore. 32967 32968Mon Nov 18 02:51:55 GMT 2002 Olly Betts <olly@survex.com> 32969 32970 * docs/todo.xml: Retargetted 0.6 tasks for 0.7 or 0.8; updated a few 32971 entries. 32972 32973Mon Nov 18 02:28:55 GMT 2002 Olly Betts <olly@survex.com> 32974 32975 * docs/quartzdesign.html,backends/quartz/: We can just store the term 32976 name raw in position list key, since we know its length from the key 32977 length; tweaked storing of deltas to store (delta - 1) as 0 is 32978 invalid. 32979 32980Mon Nov 18 00:47:54 GMT 2002 Olly Betts <olly@survex.com> 32981 32982 * backends/quartz/quartz_termlist.cc: First cut of compressed term 32983 lists. 32984 32985Sun Nov 17 20:19:23 GMT 2002 Olly Betts <olly@survex.com> 32986 32987 * backends/quartz/quartz_lexicon.cc,backends/quartz/quartz_values.cc: 32988 Use new pack_uint_last() and unpack_uint_last() where appropriate. 32989 32990Sun Nov 17 20:03:24 GMT 2002 Olly Betts <olly@survex.com> 32991 32992 * backends/quartz/quartz_record.cc,backends/quartz/quartz_utils.h: 32993 Added a more compact integer packing for the last integer in 32994 a key or tag. 32995 32996Sun Nov 17 18:54:05 GMT 2002 Olly Betts <olly@survex.com> 32997 32998 * backends/quartz/btree.cc,backends/quartz/btree.h: more 32999 int -> bool changes. 33000 * backends/quartz/btree_base.cc: Clarified comments. 33001 33002Sun Nov 17 14:19:30 GMT 2002 Olly Betts <olly@survex.com> 33003 33004 * docs/quartzdesign.html: Updated to reflect removal of Btree_item. 33005 33006Sun Nov 17 14:12:12 GMT 2002 Olly Betts <olly@survex.com> 33007 33008 * backends/quartz/: Eliminate Btree_item - wherever it's used we 33009 only actually want the tag or key, so it's cleaner and clearer 33010 to just pass a pointer to a string. 33011 33012Sun Nov 17 13:34:08 GMT 2002 Olly Betts <olly@survex.com> 33013 33014 * backends/quartz/,docs/quartzdesign.html: Quartz mini-overhaul: 33015 Removed Btree::Bcursor_create() and just made Bcursor's ctor 33016 public - now you can just create a Bcursor on the stack rather 33017 than being forced to use AutoPtr; removed valid_handle - the 33018 code is clearer without it; sys_close now inlined from header; 33019 changed int/char to bool where appropriate; changed some methods 33020 which now always throw on error to return void not bool; moved 33021 quartztest's test_btree1 to btreetest as test_simple1; changed 33022 a few remaining uses of "struct Btree" to just plain "Btree"; 33023 brought the btree docs in quartzdesign.html up-to-date, apart 33024 from the error handling section. 33025 33026Sat Nov 16 01:45:28 GMT 2002 Olly Betts <olly@survex.com> 33027 33028 * backends/inmemory/inmemory_database.cc, 33029 backends/inmemory/inmemory_database.h, 33030 backends/quartz/quartz_table.cc: Tidying up odds and ends. 33031 33032Fri Nov 15 17:46:38 GMT 2002 Olly Betts <olly@survex.com> 33033 33034 * NEWS: Updated ready for 0.6.0 with changes made so far. 33035 33036Fri Nov 15 17:06:58 GMT 2002 Olly Betts <olly@survex.com> 33037 33038 * testsuite/testsuite.cc: Avoid double debug output if we get a 33039 signal inside the testsuite code itself. 33040 33041Fri Nov 15 17:00:15 GMT 2002 Olly Betts <olly@survex.com> 33042 33043 * backends/quartz/btree_api.txt,docs/Makefile.am,docs/index.html, 33044 docs/quartzdesign.html,docs/remote_protocol.html, 33045 net/README_progprotocol.txt: Converted Btree API documentation 33046 to HTML and add it to the quartz design document; converted the 33047 (seriously out of date) remote protocol document to HTML, moved it 33048 into docs/, and linked it in. 33049 33050Fri Nov 15 13:05:06 GMT 2002 Olly Betts <olly@survex.com> 33051 33052 * backends/quartz/quartz_record.cc,backends/quartz/quartz_utils.h, 33053 docs/quartzdesign.html: Changed encoding of keys for quartz record 33054 and termlist tables. 33055 33056Fri Nov 15 12:54:39 GMT 2002 Olly Betts <olly@survex.com> 33057 33058 * backends/quartz/quartz_table_entries.cc: Fixed 33059 QuartzTableEntries::empty() which would never return true before. 33060 33061Fri Nov 15 03:08:49 GMT 2002 Olly Betts <olly@survex.com> 33062 33063 * backends/quartz/btree_api.txt: Fixed typos. 33064 33065Fri Nov 15 03:06:41 GMT 2002 Olly Betts <olly@survex.com> 33066 33067 * backends/quartz/quartztest.cc,backends/quartz/btreetest.cc: 33068 added another test (btreetest: emptykey1) and added extra 33069 checks to existing tests. 33070 33071Thu Nov 14 01:59:06 GMT 2002 Olly Betts <olly@survex.com> 33072 33073 * matcher/multimatch.cc,tests/api_db.cc,docs/todo.xml: 33074 match_sort_bands code fettled, and added regression test for the 33075 >100% problem (test_sortbands1). 33076 33077Tue Nov 12 00:00:44 GMT 2002 Olly Betts <olly@survex.com> 33078 33079 * backends/inmemory/inmemory_database.h,backends/quartz/, 33080 include/om/omtypes.h: Pushed average length calc down into 33081 QuartzRecordManager; removed unnecessary types om_totlength 33082 and om_termid. 33083 33084Mon Nov 11 18:10:23 GMT 2002 Olly Betts <olly@survex.com> 33085 33086 * docs/index.html: Fixed broken link. 33087 33088Mon Nov 11 18:07:41 GMT 2002 Olly Betts <olly@survex.com> 33089 33090 * backends/quartz/,docs/quartzdesign.html: Store next free docid 33091 and total doc length in the same tag in QuartzRecord. 33092 33093Wed Nov 06 22:38:40 GMT 2002 Olly Betts <olly@survex.com> 33094 33095 * backends/quartz/quartz_database.cc,backends/quartz/quartz_database.h: 33096 Eliminated QuartzDatabase::get_doccount_internal() and 33097 QuartzDatabase::get_avlength_internal() - now the thread 33098 locking code has gone, the indirection serves no purpose. 33099 33100Wed Nov 06 17:50:12 GMT 2002 Olly Betts <olly@survex.com> 33101 33102 * backends/quartz/: Removed QuartzBufferedTable::write() (unused and 33103 unimplemented), and merged QuartzBufferedTable::write_internal() 33104 into QuartzBufferedTable::write_internal(). 33105 33106Wed Nov 06 01:56:41 GMT 2002 Olly Betts <olly@survex.com> 33107 33108 * backends/quartz/: disable quartz lexicon table unless USE_LEXICON 33109 is defined. 33110 33111Wed Nov 06 01:54:30 GMT 2002 Olly Betts <olly@survex.com> 33112 33113 * docs/overview.html: Corrected link to API docs on website. 33114 33115Mon Nov 04 02:35:22 GMT 2002 Olly Betts <olly@survex.com> 33116 33117 * include/om/omerror.h,net/omerr_string.cc,netprogs/omprogsrv.cc, 33118 netprogs/omtcpsrv.cc,testsuite/testsuite.cc: don't use typeid(). 33119 33120Mon Nov 04 01:31:47 GMT 2002 Olly Betts <olly@survex.com> 33121 33122 * testsuite/testsuite.cc: Catch by const reference. 33123 33124Mon Nov 04 01:18:53 GMT 2002 Olly Betts <olly@survex.com> 33125 33126 * HACKING: Added note about use of various C++ features. Also 33127 tidied up various odds and ends. 33128 33129Sun Nov 03 22:59:34 GMT 2002 Olly Betts <olly@survex.com> 33130 33131 * api/omdatabaseinternal.cc: Eliminated entirely superfluous use of 33132 dynamic_cast. 33133 33134Sun Nov 03 22:46:34 GMT 2002 Olly Betts <olly@survex.com> 33135 33136 * matcher/multimatch.cc,common/database.h,common/net_database.h: 33137 Replace Database::is_network() with Database::as_networkdatabase() 33138 which returns a pointer or NULL. This eliminates the need to use 33139 dynamic_cast in MultiMatch. 33140 33141Wed Oct 23 05:24:14 BST 2002 Olly Betts <olly@survex.com> 33142 33143 * docs/todo.xml: Resolved TODO entry by consulting Stroustrup 33144 (it is safe to throw and catch an exception in a destructor, 33145 even when that destructor is being called during a stack unwind 33146 caused by an exception being thrown). 33147 33148Wed Oct 16 20:05:39 BST 2002 Olly Betts <olly@survex.com> 33149 33150 * backends/quartz/btreetest.cc: Suppress (most) output from 33151 Btree::check unless verbose (-v) is enabled. 33152 33153Mon Oct 14 15:13:18 BST 2002 Olly Betts <olly@survex.com> 33154 33155 * testsuite/testsuite.cc: Fixed compilation problem with std:: on 33156 GCC 3.2. 33157 33158Mon Oct 14 15:07:03 BST 2002 Olly Betts <olly@survex.com> 33159 33160 * api/omstem.cc: French and Finnish stemmers were switched! 33161 33162Mon Oct 14 02:49:12 BST 2002 Olly Betts <olly@survex.com> 33163 33164 * backends/quartz/quartz_utils.h: change sort preserving packing for 33165 strings. This one does better provided the strings being packed 33166 don't contain many zero bytes (which is true of the termnames which 33167 we pack with this). 33168 33169Mon Oct 14 02:45:20 BST 2002 Olly Betts <olly@survex.com> 33170 33171 * tests/stemtest.cc: Updated to reflect new naming of stemming test 33172 data. 33173 33174Sun Oct 13 17:06:26 BST 2002 Olly Betts <olly@survex.com> 33175 33176 * docs/todo.xml: Updated. 33177 33178Sun Oct 13 16:40:24 BST 2002 Olly Betts <olly@survex.com> 33179 33180 * api/omstem.cc,backends/quartz/,common/,extra/omparsequery.h,matcher/, 33181 net/socketclient.cc: Added private copy ctors and assignment 33182 operators to classes with pointer members (which shouldn't be 33183 copied). 33184 33185Sun Oct 13 15:12:40 BST 2002 Olly Betts <olly@survex.com> 33186 33187 * docs/todo.xml: Updated. 33188 33189Sun Oct 13 02:33:57 BST 2002 Olly Betts <olly@survex.com> 33190 33191 * .cvsignore: Added install-sh. 33192 33193Sun Oct 13 02:16:31 BST 2002 Olly Betts <olly@survex.com> 33194 33195 * backends/quartz/{quartz_lexicon.cc,quartz_lexicon.h}: key to lexicon 33196 is now simply the termname - no need to encode the length there too 33197 since the Btree knows how long the key is. 33198 * backends/quartz/{quartz_table_manager.cc,quartz_values.cc}: finished 33199 the terminology change from "attribute" to "value" (including 33200 renaming the btree files, which is why it wasn't done before). 33201 33202Sun Oct 13 02:09:00 BST 2002 Olly Betts <olly@survex.com> 33203 33204 * tests/api_db.cc: Snowball stems "this" to "this" rather than "thi", 33205 so update apitest source to reflect this. 33206 33207Sun Oct 13 01:03:04 BST 2002 Olly Betts <olly@survex.com> 33208 33209 * configure.in: Removed references to languages/*/Makefile. 33210 33211Sun Oct 13 00:50:01 BST 2002 Olly Betts <olly@survex.com> 33212 33213 * docs/indexerquickstart.html,docs/quartzdesign.html: Updated. 33214 33215Sat Oct 12 23:34:52 BST 2002 Olly Betts <olly@survex.com> 33216 33217 * languages/{api.c,api.h,header.h,utilities.c}: 4 new files. 33218 33219Sat Oct 12 23:29:50 BST 2002 Olly Betts <olly@survex.com> 33220 33221 * languages/: removed all the old .cvsignore files. 33222 33223Sat Oct 12 22:34:01 BST 2002 Olly Betts <olly@survex.com> 33224 33225 * api/omstem.cc,docs/stemming.html,docs/todo.xml,languages/: Replaced 33226 our stemmers with those from Snowball. Note that these give better 33227 results, but this also means that existing databases won't work 33228 quite correctly if they contain stemmed terms. 33229 33230Sat Oct 12 17:17:26 BST 2002 Olly Betts <olly@survex.com> 33231 33232 * configure.in,NEWS: Version 0.5.3. 33233 33234Sat Oct 12 16:49:50 BST 2002 Olly Betts <olly@survex.com> 33235 33236 * PLATFORMS,api/omvalueiteratorinternal.h,extra/parsequery.yy, 33237 include/om/omdocument.h: Fixed std:: namespace issues to 33238 allow compilation with GCC 3 once again. 33239 33240Sat Oct 12 15:43:22 BST 2002 Olly Betts <olly@survex.com> 33241 33242 * docs/todo.xml: Updated. 33243 33244Fri Oct 11 02:14:47 BST 2002 Olly Betts <olly@survex.com> 33245 33246 * backends/quartz/Makefile.am: Include test data for btreetest 33247 in distribution tarball. 33248 33249Fri Oct 11 01:43:03 BST 2002 Olly Betts <olly@survex.com> 33250 33251 * backends/quartz/{z_note,z_sequence,z_Cversion/,z_make/,z_test/}: 33252 Removed all the unused old C btree stuff. 33253 33254Thu Oct 10 17:32:10 BST 2002 Olly Betts <olly@survex.com> 33255 33256 * backends/quartz/{btree.cc,btree.h}: More Btree tidying. 33257 33258Thu Oct 10 17:14:28 BST 2002 Olly Betts <olly@survex.com> 33259 33260 * backends/quartz/{bcursor.cc,btree.cc,btree.h}: Btree::prev* and 33261 Btree::next* are no longer static methods. 33262 * backends/quartz/btree.h: Tweaked comments so doxygen will 33263 understand them. 33264 33265Thu Oct 10 16:12:29 BST 2002 Olly Betts <olly@survex.com> 33266 33267 * backends/quartz/quartz_postlist.cc: return docids rather 33268 than passing in a pointer to fill in. 33269 33270Thu Oct 10 16:08:22 BST 2002 Olly Betts <olly@survex.com> 33271 33272 * backends/quartz/quartzcheck.cc: Fixed #include-d files; 33273 Example in usage message now uses the directory where 33274 omega looks for its database by default. 33275 33276Thu Oct 10 15:25:10 BST 2002 Olly Betts <olly@survex.com> 33277 33278 * backends/quartz/btree.cc,backends/quartz/btree.h: More comment 33279 improvments; Removed superfluous Cursor parameter from 33280 Btree::add_kt() - it always gets passed the C member of Btree 33281 which we have available anyway. 33282 33283Thu Oct 10 14:49:11 BST 2002 Olly Betts <olly@survex.com> 33284 33285 * backends/quartz/btree.cc: Removed "struct" from in front of 33286 Btree and Cursor; Updated and reformatted many comments. 33287 33288Thu Oct 10 03:45:56 BST 2002 Olly Betts <olly@survex.com> 33289 33290 * testsuite/backendmanager.cc: Reworded comment to make it clearer. 33291 33292Thu Oct 10 03:29:52 BST 2002 Olly Betts <olly@survex.com> 33293 33294 * docs/todo.xml: Updated. 33295 33296Wed Oct 09 14:05:07 BST 2002 Olly Betts <olly@survex.com> 33297 33298 * backends/quartz/{quartz_alltermslist.cc,quartz_alltermslist.h, 33299 quartz_database.cc}: Implemented 33300 QuartzAllTermsList::get_approx_size(). 33301 33302Wed Oct 09 10:46:42 BST 2002 Olly Betts <olly@survex.com> 33303 33304 * extra/omparsequery.h,include/om/omvalueiterator.h: Don't use 33305 "using std::foo;" in externally visible headers. 33306 33307Wed Oct 09 10:26:05 BST 2002 Olly Betts <olly@survex.com> 33308 33309 * extra/omparsequery.h: fixed unused parameter warning. 33310 33311Tue Oct 08 20:32:46 BST 2002 Olly Betts <olly@survex.com> 33312 33313 * tests/stemtest.cc: Added missing space to output. 33314 33315Tue Oct 08 20:10:35 BST 2002 Olly Betts <olly@survex.com> 33316 33317 * With GCC, add warning flags "-Wall -W" rather than "-Wall -Wunused" 33318 (-Wall implies -Wunused anyway). Fixed all the warnings this throws 33319 up, except in languages/ (that code is to be replaced with Snowball 33320 soon). 33321 33322Tue Oct 08 19:57:03 BST 2002 Olly Betts <olly@survex.com> 33323 33324 * testsuite/: Disable colour test output if stdout isn't a terminal; 33325 reworked check for broken exception handling as the previous 33326 version never seemed to fire; added "using" for all the things 33327 we want from std::; improved how signal handlers are set and 33328 unset; report exception class for exceptions derived from OmError 33329 rather than a blanket "OMEXCEPT"; added private copy ctor and 33330 assignment to test_driver to prevent copying. 33331 33332Tue Oct 08 19:53:02 BST 2002 Olly Betts <olly@survex.com> 33333 33334 * include/om/Makefile.am: remove include/om/om.h on "make distclean", 33335 not "make clean". Otherwise "./configure ; make clean ; make" 33336 fails which is wrong. 33337 33338Sun Oct 06 18:37:39 BST 2002 Olly Betts <olly@survex.com> 33339 33340 * PLATFORMS: Updated. 33341 * docs/: Removed Martin's paper - background information for stemmers 33342 is best left to the Snowball documentation. 33343 33344Sat Oct 05 20:31:55 BST 2002 Olly Betts <olly@survex.com> 33345 33346 * NEWS,configure.in: 0.5.2 release. 33347 33348Sat Oct 05 03:01:49 BST 2002 Olly Betts <olly@survex.com> 33349 33350 * PLATFORMS: Updated. 33351 33352Sat Oct 05 02:09:35 BST 2002 Olly Betts <olly@survex.com> 33353 33354 * docs/todo.xml: Updated. 33355 33356Fri Oct 04 22:34:12 BST 2002 Olly Betts <olly@survex.com> 33357 33358 * PLATFORMS,testsuite/testutils.h: Code to spot mishandled exceptions 33359 doesn't always work - noted this in PLATFORMS, and tweaked the code 33360 a little. 33361 33362Fri Oct 04 19:08:08 BST 2002 Olly Betts <olly@survex.com> 33363 33364 * backends/quartz/.cvsignore: Added quartzcheck. 33365 33366Fri Oct 04 18:24:55 BST 2002 Olly Betts <olly@survex.com> 33367 33368 * docs/: converted all text docs to HTML (except omsettings which will 33369 has odd markup (LaTeX?) and will probably soon be obsolete anyway). 33370 * docs/todo.xml: updated. 33371 33372Fri Oct 04 17:18:33 BST 2002 Olly Betts <olly@survex.com> 33373 33374 * net/socketcommon.cc: Fixed handling of timeouts in the past. 33375 33376Fri Oct 04 13:51:39 BST 2002 Olly Betts <olly@survex.com> 33377 33378 * PLATFORMS,testsuite/testutils.h: Use typeid() to spot when GCC 2.95 33379 mishandles an exception, and don't count this as a test failure. 33380 33381Fri Oct 04 03:59:29 BST 2002 Olly Betts <olly@survex.com> 33382 33383 * api/omdatabaseinternal.cc,backends/multi/multi_termlist.h, 33384 matcher/multimatch.cc,matcher/networkmatch.cc,matcher/networkmatch.h: 33385 pulled uses of dynamic_cast<> to higher up in the code. 33386 33387Fri Oct 04 03:53:44 BST 2002 Olly Betts <olly@survex.com> 33388 33389 * PLATFORMS,backends/quartz/{btree.cc,quartz_metafile.cc}: Fixed quartz 33390 problems on platforms where sizeof(long) != 4. 33391 * PLATFORMS: Updated in the light of investigations into test failures 33392 on x86 Redhat Linux - only multierrhandler1 with the remote backend 33393 is actually a problem. 33394 33395Wed Oct 02 16:32:48 BST 2002 Olly Betts <olly@survex.com> 33396 33397 * NEWS: Updated for 0.5.1 release. 33398 33399Wed Oct 02 16:01:50 BST 2002 Olly Betts <olly@survex.com> 33400 33401 * PLATFORMS,configure.in: 0.5.1 release. 33402 33403Tue Oct 01 13:34:24 BST 2002 Olly Betts <olly@survex.com> 33404 33405 * docs/: tweaked navigation links in index.html; converted bm25 33406 text document to HTML and linked it in; added todo entry to 33407 locate the "illusion of control" paper. 33408 33409Tue Oct 01 12:48:41 BST 2002 Olly Betts <olly@survex.com> 33410 33411 * docs/: renamed intro.html to install.html, and userman.html to 33412 overview.html; changed navbar on index.html. 33413 33414Tue Oct 01 12:37:20 BST 2002 Olly Betts <olly@survex.com> 33415 33416 * bootstrap: fixed adding of directory with xapian.m4 in to 33417 ACLOCAL_FLAGS; added trap to tell user if bootstrapping failed. 33418 33419Tue Oct 01 12:33:38 BST 2002 Olly Betts <olly@survex.com> 33420 33421 * HACKING,Makefile.am,bootstrap,buildall,xapian.spec.in, 33422 autoconf/dir_contents,docs/todo.xml: Added bootstrap script as a 33423 replacement for buildall (buildall left in place for now until 33424 bootstrap receives wider testing). 33425 33426Tue Oct 01 12:19:32 BST 2002 Olly Betts <olly@survex.com> 33427 33428 * HACKING,Makefile.am,configure.in,PLATFORMS: require automake 1.6.3 33429 (and hence autoconf 2.54) to fix problem building tests/internaltest 33430 with Solaris make. 33431 33432Mon Sep 30 20:30:42 BST 2002 Olly Betts <olly@survex.com> 33433 33434 * PLATFORMS: Improved wording about bogus OMEXCEPT failures); 33435 Added results for OpenBSD 3.0 and Solaris 8 on x86 (both work). 33436 33437Mon Sep 30 20:25:03 BST 2002 Olly Betts <olly@survex.com> 33438 33439 * docs/: Pruned .cvsignore; removed cvs.html (link to CVS info 33440 on website directly); removed using_stemmers.html - those 33441 wishing to use the C API to the stemmers ought to look at 33442 Snowball instead; include HTML versions of quickstart*.cc 33443 in tarballs; improved wording in various places. 33444 33445Mon Sep 23 19:33:31 BST 2002 Olly Betts <olly@survex.com> 33446 33447 * net/Makefile.am: Fixed building of readquery.cc from readquery.ll. 33448 33449Sun Sep 22 03:57:20 BST 2002 Olly Betts <olly@survex.com> 33450 33451 * PLATFORMS: Updated. 33452 33453Fri Sep 20 15:09:25 BST 2002 Olly Betts <olly@survex.com> 33454 33455 * PLATFORMS: Added note about bogus OMEXCEPT test failures with 33456 GCC 2.95. 33457 33458Fri Sep 20 01:36:35 BST 2002 Olly Betts <olly@survex.com> 33459 33460 * NEWS,PLATFORMS,configure.in: 0.5.0 release! 33461 33462Fri Sep 20 01:01:52 BST 2002 Olly Betts <olly@survex.com> 33463 33464 * Makefile.am: Perl module we need to process todo.xml is XML::Parser 33465 not XML, so corrected error message. 33466 * configure.in: Commented out MSG_WARN() when Perl modules XML::Parser 33467 or Text::Format aren't found. In a release tarball, this only 33468 matters if you modify docs/todo.xml, and the warning message(s) may 33469 alarm those building the software. 33470 33471Thu Sep 19 00:57:23 BST 2002 Olly Betts <olly@survex.com> 33472 33473 * .cvsignore: Added depcomp, missing, mkinstalldirs. 33474 33475Thu Sep 19 00:49:01 BST 2002 Olly Betts <olly@survex.com> 33476 33477 * HACKING: Added note about safe way to generate files in make rules. 33478 33479Thu Sep 19 00:45:51 BST 2002 Olly Betts <olly@survex.com> 33480 33481 * PLATFORMS: Tested on Solaris 7 with GCC 2.95.3 (works) and Solaris 8 33482 Sun Workshop C++ compiler (fails to compile). 33483 33484Thu Sep 19 00:41:53 BST 2002 Olly Betts <olly@survex.com> 33485 33486 * ar-wrapper-solaris,ltconfig,Makefile.am: libtool 1.4 doesn't use 33487 ltconfig, and that's the only thing that uses ar-wrapper-solaris, 33488 so removed both. Fairly sure the problem they address was fixed 33489 in libtool so time ago. Xapian doesn't build with Sun's C++ 33490 compiler at the moment anyway, so it's moot for the release. 33491 33492Thu Sep 19 00:26:37 BST 2002 Olly Betts <olly@survex.com> 33493 33494 * docs/todo2html.pl: Handle release "*" specially - it indicates 33495 tasks to be done for each release. 33496 33497Thu Sep 19 00:05:40 BST 2002 Olly Betts <olly@survex.com> 33498 33499 * configure.in,include/om/om.h.in: Tweaked how generation of om.h 33500 works to avoid problems with Sun's C++ compiler. 33501 33502Wed Sep 18 19:21:47 BST 2002 Olly Betts <olly@survex.com> 33503 33504 * net/Makefile.am,net/readquery.ll: #include <config.h> 33505 must be included before any other headers, but that seems to be 33506 impossible to arrange in lex/flex so we use echo and cat in the 33507 Makefile to arrange this. 33508 33509Wed Sep 18 17:35:00 BST 2002 Olly Betts <olly@survex.com> 33510 33511 * include/om/Makefile.am: We want to install om/om.h, but not 33512 distribute it or people with a different compiler to whoever 33513 ran "make dist" will get the "ABI mismatch" error. 33514 33515Wed Sep 18 13:16:14 BST 2002 Richard Boulton <richard@tartarus.org> 33516 33517 * docs/.cvsignore: Add docs/doxygen_full_warnings. 33518 * include/om/.cvsignore: Add include/om/om.h. 33519 33520Wed Sep 18 11:06:12 BST 2002 James Aylett <tartarus@users.sourceforge.net> 33521 33522 * include/om/Makefile.am: We really should install om/om.h, or 33523 applications can't build against us. 33524 33525Wed Sep 18 05:10:24 BST 2002 Richard Boulton <richard@tartarus.org> 33526 33527 * docs/doxygen_{api,full}_header.html_tmpl: Remove meta robots tag - 33528 why shouldn't this be indexed? Now the omega I set up pointing 33529 at copies of this should actually index something. 33530 33531Wed Sep 18 04:52:20 BST 2002 Olly Betts <olly@survex.com> 33532 33533 * configure.in: Merged two sed invocations into one - we don't want 33534 configure to run any slower than it has to. 33535 33536Wed Sep 18 04:17:58 BST 2002 Richard Boulton <richard@tartarus.org> 33537 33538 * configure.in: Don't put confdefs.h into SOURCEDOC_H_SRC - this 33539 file only exists during the configure run. Fixes failure of 33540 "make doxygen_docs" in docs/ 33541 33542Tue Sep 17 13:07:39 BST 2002 James Aylett <tartarus@users.sourceforge.net> 33543 33544 * Updated PLATFORMS file. 33545 33546Mon Sep 16 19:40:02 BST 2002 Olly Betts <olly@survex.com> 33547 33548 * docs/todo.xml: Updated. 33549 33550Mon Sep 16 18:09:29 BST 2002 Olly Betts <olly@survex.com> 33551 33552 * tests/api_db.cc: don't run consistency1 test on the remote backend 33553 - it's particularly slow with that, and testing it there doesn't 33554 actually improve the test coverage really. 33555 33556Mon Sep 16 17:15:46 BST 2002 Olly Betts <olly@survex.com> 33557 33558 * configure.in,docs/Makefile.am: Added workaround for pattern length 33559 limits in Solaris sed. 33560 33561Mon Sep 16 17:13:20 BST 2002 Olly Betts <olly@survex.com> 33562 33563 * include/om/om.h.in: Added explanatory comments for developers. 33564 33565Mon Sep 16 14:22:48 BST 2002 James Aylett <tartarus@users.sourceforge.net> 33566 33567 * om/om.h needs to be in CLEANFILES or make distcheck fails 33568 33569Mon Sep 16 13:37:04 BST 2002 James Aylett <tartarus@users.sourceforge.net> 33570 33571 * Now om/om.h is built from om/om.h.in, it may be in the build 33572 directly. Consequently, we need to add that to the include path 33573 for VPATH builds. Plus (also for VPATH), om/om.h needs to be 33574 output after AC_OUTPUT, because otherwise the destination 33575 directory may not exist. 33576 33577Mon Sep 16 04:19:54 BST 2002 Olly Betts <olly@survex.com> 33578 33579 * configure.in,docs/todo.xml,include/om/Makefile.am,include/om/om.h, 33580 include/om/om.h.in: When building the library with GCC, generate 33581 include/om/om.h with preprocessor code to check that any version 33582 of GCC used to build applications has a matching C++ ABI. 33583 33584 This means that users get a nice explanatory error message rather 33585 than a confusing link failure (or worse a program which builds 33586 but crashes). Another benefit is that the check happens near the 33587 start of compilation of the first source file which uses Xapian 33588 in the user's application, rather than during the first attempt 33589 to link with Xapian. 33590 33591Sun Sep 15 01:42:19 BST 2002 Olly Betts <olly@survex.com> 33592 33593 * net/tcpserver.cc: Solved std mystery - "using namespace std;" was 33594 inside a #ifdef which wasn't enabled! 33595 33596Sun Sep 15 01:21:34 BST 2002 Richard Boulton <richard@tartarus.org> 33597 33598 * tests/tcpserver.cc: Hacky fix to compile with gcc-3.2 snapshot in 33599 Debian unstable - add a FIXME to work out why this is needed. 33600 * todo: add entry about checking ABI versions using 33601 __GXX_ABI_VERSION macro. 33602 33603Sat Sep 14 22:39:11 BST 2002 Olly Betts <olly@survex.com> 33604 33605 * configure.in,tests/Makefile.am,tests/internaltest.cc: It turns out 33606 that internaltest *does* need -fno-access-control, so put it back. 33607 Not quite sure how I missed this. Changed to skip refcnt tests 33608 when -fno-access-control isn't available (rather than omitting them 33609 entirely). 33610 33611 * tests/api_db.cc: Fixed compile problem. 33612 33613Sat Sep 14 21:44:34 BST 2002 Olly Betts <olly@survex.com> 33614 33615 * internaltest: doesn't actually need -fno-access-control these 33616 days, so removed it and the configure tests for it. 33617 33618 * stemtest: recoded to be all in C++ and removed use of intermediate 33619 files for random data tests - now runs ~15% faster; no longer need 33620 HAVE_PERL so removed from configure. 33621 33622 * apitest: use C++ streams rather than stdio; stubdb1 now cleans up 33623 the temporary file it creates. 33624 33625Sat Sep 14 12:54:52 BST 2002 Olly Betts <olly@survex.com> 33626 33627 * docs/Makefile.am: fix "mv apidoc/latex/refman.ps avidoc.ps" which 33628 fails after recent change. 33629 33630Sat Sep 14 11:15:33 BST 2002 James Aylett <tartarus@users.sourceforge.net> 33631 33632 * Renamed simple* programs in quickstart docs to quickstart* to 33633 avoid confusion with the simple* programs in xapian-examples. 33634 (Thanks to Alex Bowley for pointing out the confusion.) 33635 33636Sat Sep 14 10:00:35 BST 2002 James Aylett <tartarus@users.sourceforge.net> 33637 33638 * configure.in: returned AC_CONDITIONAL for HAVE_PERL 33639 33640Sat Sep 14 09:29:08 BST 2002 Richard Boulton <richard@tartarus.org> 33641 33642 * buildall: change to srcdir before testing for neccessary tools 33643 so that scripts which guess which autotools version to use have more 33644 information available to guess with: for example, the Debian 33645 autoconf version guessing script looks for "configure.ac" as a sign 33646 that autoconf 2.50+ is required. 33647 33648Sat Sep 14 02:50:23 BST 2002 Olly Betts <olly@survex.com> 33649 33650 * docs/distributed.txt,docs/quartzdesign.html,docs/todo.xml: assorted 33651 documentation updates. 33652 33653Sat Sep 14 02:10:12 BST 2002 Olly Betts <olly@survex.com> 33654 33655 * PLATFORMS: removed note about VPATH problems. 33656 33657Sat Sep 14 02:02:58 BST 2002 Olly Betts <olly@survex.com> 33658 33659 * btree.cc,btree.h: rearranged Btree::del() so control flow is clearer. 33660 33661Sat Sep 14 01:56:44 BST 2002 Olly Betts <olly@survex.com> 33662 33663 * HACKING,docs/Makefile.am: added evil hack to allow VPATH builds to 33664 work with BSD make. 33665 33666Wed Sep 11 11:29:07 BST 2002 Olly Betts <olly@survex.com> 33667 33668 * backends/database_builder.cc: Quartz is fairly mature - change 33669 comment which suggests that the btree names will change. 33670 33671Wed Sep 11 11:13:43 BST 2002 Olly Betts <olly@survex.com> 33672 33673 * configure.in: Don't double quote `$MISSING foo' as autoconf adds them 33674 * docs/Makefile.am: Use `test a = b' rather than `test a == b' 33675 33676Tue Sep 10 14:50:16 BST 2002 Olly Betts <olly@survex.com> 33677 33678 * configure.in: tweaked test for perl modules - stderr is now 33679 fully supressed on sh (which behaves slightly differently to bash). 33680 33681Tue Sep 10 14:27:15 BST 2002 Richard Boulton <richard@tartarus.org> 33682 33683 * backend_manager.cc: Fix stub database code so that it doesn't use 33684 the gnu extension "getline()". 33685 33686Tue Sep 10 13:51:20 BST 2002 Olly Betts <olly@survex.com> 33687 33688 * quartz_table.cc: don't form tag when we just want to check if a 33689 key is present before calling Btree::del(). Working out why 33690 we can't call Btree::del() would still be worthwhile though. 33691 33692Tue Sep 10 13:02:04 BST 2002 Olly Betts <olly@survex.com> 33693 33694 * quartztest.cc: removed unused #include-s; describe valid options 33695 in usage message. 33696 33697Tue Sep 10 02:07:29 BST 2002 Olly Betts <olly@survex.com> 33698 33699 * remote backend: implemented term_exists() and get_termfreq(); 33700 added test to check they work. 33701 33702Mon Sep 9 12:59:15 BST 2002 Richard Boulton <richard@tartarus.org> 33703 33704 * Add stub databases: if backend type is auto, and auto_dir points 33705 to a file, read in settings from the file (overwriting the 33706 existing ones), and then use them to open the database. 33707 This allows, for example, omega to open a remote database by 33708 putting in a stub database file in the omega directory. 33709 Updated documentation for opening databases in userman.html. 33710 * apitest: Added test for stub databases. 33711 33712Mon Sep 09 02:26:36 BST 2002 Olly Betts <olly@survex.com> 33713 33714 * Documentation updates: move suggested books into intro_ir.html 33715 and added URL for citeseer reference Richard posted to mailing 33716 list recently; clarified wording in a couple of places. 33717 33718Sat Sep 7 12:52:12 2002 James Aylett <tartarus@users.sourceforge.net> 33719 33720 * docs: fixed references to OmDocumentContents (now OmDocument) 33721 which had clearly been broken for a while. Also fixed get_data() 33722 and set_data() example usage so it reflects reality (I hope). 33723 33724Wed Sep 04 22:46:17 BST 2002 Olly Betts <olly@survex.com> 33725 33726 * Corrected min_item.wt to min_wt in two assertions. 33727 33728Thu Aug 15 11:42:20 BST 2002 Richard Boulton <richard@tartarus.org> 33729 33730 * buildall: Only add the directory derived from xapian-config 33731 to ACLOCAL_FLAGS if it actually exists. 33732 33733Mon Aug 12 01:13:55 BST 2002 Richard Boulton <richard@tartarus.org> 33734 33735 * quartz_table.cc: Check that a key exists before calling 33736 Btree::del() - there seems to be a bug in the btree code 33737 causing a failure when deleting keys if they don't exist. 33738 This work around appears to make things work correctly, but 33739 won't be terribly efficient. 33740 33741Mon Aug 12 00:09:21 BST 2002 Richard Boulton <richard@tartarus.org> 33742 33743 * quartz_table_manager.cc: When unable to apply modifications, 33744 call cancel on the buffered table after reopening disk table 33745 at old revision - otherwise, the entry count gets messed up. 33746 * quartz_table.cc, quartz_database.cc: Improve debugging and 33747 error reporting: I'm trying to work out why the failure Olly 33748 reported is occurring. 33749 33750Sat Aug 10 15:12:42 2002 James Aylett <tartarus@users.sourceforge.net> 33751 33752 * Fixed missing include in quartzcheck.cc 33753 33754Sat Aug 10 14:57:17 2002 James Aylett <tartarus@users.sourceforge.net> 33755 33756 * Fixed typo in quartzcheck.cc 33757 33758Tue Jul 23 22:12:34 BST 2002 James Aylett <tartarus@users.sourceforge.net> 33759 33760 * Added a note to the effect that the indexgraph stuff isn't 33761 really considered useful to the HTML document introducing it. 33762 33763Tue Jul 23 22:09:39 BST 2002 James Aylett <tartarus@users.sourceforge.net> 33764 33765 * Added some comments in quartztest test_create1(), in case anyone 33766 else who didn't write it needs to understand it. 33767 33768 * Added Olly as an active participant to the AUTHORS file :) 33769 33770Tue Jul 23 21:59:50 BST 2002 James Aylett <tartarus@users.sourceforge.net> 33771 33772 * Reworded quickstart document so it does not refer to the example 33773 code (it was never actually in sync). 33774 33775Mon Jul 22 14:07:18 BST 2002 Sam Liddicott <sam@ananova.com> 33776 33777 * Forgot to actually add the quartzcheck.cc file last time 33778 33779Mon Jul 22 13:28:09 BST 2002 Sam Liddicott <sam@ananova.com> 33780 33781 * Add buildprereq to package 33782 Add quartzcheck which runs btree::check to backends 33783 33784Tue Jul 16 09:44:56 BST 2002 Sam Liddicott <sam@ananova.com> 33785 33786 * Fix banding problem; bands are now based on the percentage 33787 not the weight, and using integer maths to avoid problems 33788 with ceil() rounding up supposed integers which are really 33789 slightly larger due to precision errors 33790 33791Thu Jul 11 00:16:22 BST 2002 Olly Betts <olly@survex.com> 33792 33793 * configure.in, docs/Makefile.am: configure fixes for Solaris - clear 33794 cached result for fdatasync since it may be wrong if we decide we 33795 need to link librt; split SOURCEDOC_SRC into two to avoid hitting 33796 4096 char line length in Solaris sed. 33797 33798Tue Jul 09 17:47:31 BST 2002 Olly Betts <olly@survex.com> 33799 33800 * PLATFORMS, tests/Makefile.am: improved internaltest.cc automake rules 33801 - they should now work in VPATH builds with Solaris make. 33802 33803Tue Jul 09 03:30:41 BST 2002 Olly Betts <olly@survex.com> 33804 33805 * configure.in, docs/Makefile.am: Fixed up apidoc and sourcedoc 33806 dependencies so that they work correctly in VPATH builds. Also 33807 only use portable find arguments to generate SOURCEDOC_SRC. 33808 33809Sat Jul 06 13:53:27 BST 2002 Olly Betts <olly@survex.com> 33810 33811 * xapian.spec.in: Updated in preparation for release. 33812 33813Sat Jul 06 13:04:45 BST 2002 Olly Betts <olly@survex.com> 33814 33815 * docs/Makefile.am: Run latex twice to get forward references resolved. 33816 33817Fri Jul 05 18:23:08 BST 2002 Olly Betts <olly@survex.com> 33818 33819 * matcher/multimatch.cc: better (perhaps even completely correct) fix 33820 for sorting into bands. 33821 33822 * matcer/localmatch.cc: removed entirely bogus comment from over-eager 33823 cut-and-paste. 33824 33825 * tests/api_db.cc: added otherwise pointless statement to deldoc3 33826 which seems to fix occasional miscompilation by GCC 2.95. 33827 33828Fri Jul 05 16:37:12 BST 2002 Olly Betts <olly@survex.com> 33829 33830 * docs/Makefile.am: "make dist" now fails if dot (part of graphviz) 33831 isn't installed. 33832 33833Fri Jul 05 08:54:33 BST 2002 Sam Liddicott <sam@ananova.com> 33834 33835 * bindings/: removed some typemap hacks as swig has better typemaps now 33836 33837Fri Jul 05 08:46:06 BST 2002 Sam Liddicott <sam@ananova.com> 33838 33839 * matcher/multimatch.cc: Quick hack to stop 100% being in a band all on 33840 its own. The real problem is that bands need to include the integer 33841 at the upper end of the range, rather than the lower end. 33842 33843Thu Jul 04 16:23:52 BST 2002 Olly Betts <olly@survex.com> 33844 33845 * docs/mkdoc.pl: Fixed to work in VPATH builds. 33846 33847Thu Jul 04 12:42:06 BST 2002 Olly Betts <olly@survex.com> 33848 33849 * configure.in, docs/Makefile.am: use "missing" to give more helpful 33850 errors when we don't find tools we need. 33851 33852Wed Jul 03 12:39:15 BST 2002 Olly Betts <olly@survex.com> 33853 33854 * NEWS: incorporated recent changes into provisional version. 33855 33856 * docs/: sorted out make rules for running doxygen; don't tell doxygen 33857 to build man pages which we aren't using. 33858 33859Tue Jul 02 16:36:54 BST 2002 Olly Betts <olly@survex.com> 33860 33861 * docs/: run through ispell; fixed OM_MOP to OmQuery::OP; other 33862 corrections. 33863 33864Fri Jun 28 02:59:49 BST 2002 Olly Betts <olly@survex.com> 33865 33866 * Backend "auto" now works when creating an OmWritableDatabase which 33867 doesn't already exist - it'll pick a backend which supports writing 33868 and is compiled in (currently this means quartz). 33869 33870Thu Jun 27 20:31:13 BST 2002 Richard Boulton <richard@tartarus.org> 33871 33872 * backends/quartz/btreetest.cc (sequent1): Add regression test for 33873 recently fixed bug with sequential addition. 33874 * backends/quartz/z_data/ordnum[+-]: Data files for new test. 33875 33876Thu Jun 27 13:13:37 BST 2002 Olly Betts <olly@survex.com> 33877 33878 * Documentation fettling: removed docs/Notes and 33879 docs/coding_policy.txt moving relevant content into HACKING, 33880 common/postlist.h, docs/todo.xml, and include/om/omtypes.h; install 33881 docs as PostScript rather than DVI; include text docs in tarball and 33882 install them; "make dist" will now fail if a tool needed to build 33883 docs is missing; removed last vestiges of Doc++ support; 33884 doc/Makefile no longer uses include (include isn't portable); 33885 improved doc/tests.txt. 33886 33887Thu Jun 27 12:10:37 BST 2002 Olly Betts <olly@survex.com> 33888 33889 * apitest: doesn't directly use anything from utils.h, so don't 33890 #include it. 33891 33892Thu Jun 27 12:05:53 BST 2002 Olly Betts <olly@survex.com> 33893 33894 * Removed includetest - it was useful early in development, but isn't 33895 really now. 33896 33897Wed Jun 26 22:09:57 BST 2002 Olly Betts <olly@survex.com> 33898 33899 * apitest: deldoc2 and deldoc3 now pass when the library is compiled 33900 with --enable-debug. 33901 33902Wed Jun 26 19:35:56 BST 2002 Olly Betts <olly@survex.com> 33903 33904 * Removed code which causes quartztest to fail with an --enable-debug 33905 build. 33906 33907Wed Jun 26 13:55:11 BST 2002 Olly Betts <olly@survex.com> 33908 33909 * todo.xml: added note to fix 100% being in its own sort band. 33910 33911Wed Jun 26 13:46:02 BST 2002 Richard Boulton <richard@tartarus.org> 33912 33913 * btree.cc: Fix splitting of blocks in sequential mode to ensure 33914 that split happens no earlier than the midpoint. 33915 33916Wed Jun 26 12:32:47 BST 2002 Richard Boulton <richard@tartarus.org> 33917 33918 * btree.cc: Asserts to check that add_item in sequential mode 33919 when splitting a block is not trying to add to the wrong block, 33920 or to add to a new block which is not empty (or containing more 33921 than one item). 33922 33923Tue Jun 25 17:53:19 BST 2002 Olly Betts <olly@survex.com> 33924 33925 * Assert that the value of c is sane in GETINT1, etc. 33926 33927Tue Jun 25 16:30:09 BST 2002 Olly Betts <olly@survex.com> 33928 33929 * btreetest.cc: use C++ IO rather than C stdio; removed commented out 33930 LFSinsertdelete1 test (it was never written and a test suite which 33931 creates 2G files is probably a bit too resource hungry). 33932 33933Tue Jun 25 13:56:01 BST 2002 Olly Betts <olly@survex.com> 33934 33935 * btree/quartz: More use of const pointers; more use of C++ strings. 33936 33937Wed Jun 19 08:56:00 BST 2002 Sam Liddicott <sam@ananova.com> 33938 33939 * Fixed spec file to build for prefix=/usr not just install there 33940 33941Fri Jun 14 16:35:04 BST 2002 Olly Betts <olly@survex.com> 33942 33943 * docs/todo.xml: added 4 new tasks. 33944 33945Fri Jun 14 16:33:08 BST 2002 Olly Betts <olly@survex.com> 33946 33947 * backends/quartz/quartz_database.cc: Cosmetic changes. 33948 33949Wed Jun 12 16:31:11 BST 2002 Olly Betts <olly@survex.com> 33950 33951 * QuartzDbKey, QuartzDbTag: just use a string instead of a string 33952 wrapped in a structure. We've stopped inflicting this on external 33953 developers (OmData, OmKey/OmValue) so why inflict it on ourselves? 33954 33955Wed Jun 12 12:26:04 BST 2002 Olly Betts <olly@survex.com> 33956 33957 * Btree_item: use C++ strings rather than trying to reimplement them. 33958 33959 * Fix a few warnings about unused parameters. 33960 33961Wed Jun 12 02:53:16 BST 2002 Olly Betts <olly@survex.com> 33962 33963 * Btree_full_compaction, Btree_close: removed - they just wrap methods 33964 of Btree. 33965 33966Wed Jun 12 02:28:30 BST 2002 Olly Betts <olly@survex.com> 33967 33968 * Btree_item_create and Btree_item_lose subsumed into Btree_item 33969 and ~Btree_item. 33970 33971 * Pass C++ strings rather than const char * into various Btree open 33972 methods. 33973 33974 * Removed pointless wrapper functions for Btree open methods. 33975 33976 * Btree_quit removed (just use delete directly). 33977 33978 * Btree_create removed (just use Btree::create directly). 33979 33980Wed Jun 12 00:48:52 BST 2002 Olly Betts <olly@survex.com> 33981 33982 * form_key is now a method of Btree; more passing of strings rather 33983 than pointer/length pairs); buffer overrun check added to btreetest. 33984 33985Tue Jun 11 18:04:08 BST 2002 Olly Betts <olly@survex.com> 33986 33987 * More C++ like interfaces (e.g. bool returns, strings rather than 33988 pointer/length pairs). 33989 33990Tue Jun 11 16:40:08 BST 2002 Richard Boulton <richard@tartarus.org> 33991 33992 * quartz/btree.cc: Fix so that it compiles when BTREE_FULL_DEBUG is on, 33993 and added a couple of Assert()s. 33994 33995Tue Jun 11 13:09:39 BST 2002 Olly Betts <olly@survex.com> 33996 33997 * Removed a number of btree functions which were simply wrappers for 33998 calling methods on their first parameter, and most of which weren't 33999 even used! 34000 34001 * btree_api.txt: updated to better reflect the object-ized API. 34002 34003Tue Jun 11 02:01:53 BST 2002 Olly Betts <olly@survex.com> 34004 34005 * Btree::make_index_item(): Added check for buffer overflow. 34006 34007Tue Jun 11 01:49:51 BST 2002 Olly Betts <olly@survex.com> 34008 34009 * Still more... 34010 34011Tue Jun 11 01:08:03 BST 2002 Olly Betts <olly@survex.com> 34012 34013 * More btree and quartz tidying. 34014 34015Mon Jun 10 20:33:24 BST 2002 Olly Betts <olly@survex.com> 34016 34017 * btree.cc,btree.h: cleaned up further. 34018 34019Mon Jun 10 15:54:49 BST 2002 Olly Betts <olly@survex.com> 34020 34021 * Further btree and quartz cleanups. 34022 34023Mon Jun 10 14:46:00 BST 2002 Olly Betts <olly@survex.com> 34024 34025 * Fixed typo in recent quartzdump change. 34026 34027Mon Jun 10 13:20:20 BST 2002 Olly Betts <olly@survex.com> 34028 34029 * Quartz clean-ups - especially QuartzTermList. 34030 34031Mon Jun 10 12:18:40 BST 2002 Olly Betts <olly@survex.com> 34032 34033 * Bcursor_create made a method of class Btree as suggested by a FIXME. 34034 34035Mon Jun 10 01:57:53 BST 2002 Olly Betts <olly@survex.com> 34036 34037 * More btree fixes and tidying. Fixed bug introduced by typo in 34038 previous change which causes tests to fail. 34039 34040Sun Jun 09 17:50:28 BST 2002 Olly Betts <olly@survex.com> 34041 34042 * btree_util.h: use inlines rather than macros. 34043 34044 * Fix CompileTimeAssert() to avoid potential clashes. 34045 34046Sun Jun 09 12:46:25 BST 2002 Olly Betts <olly@survex.com> 34047 34048 * btree.cc,btree.h: fixed bug caused by local variable masking member 34049 variable with same name. Tidied up a lot. 34050 34051Wed Jun 5 12:22:57 BST 2002 Sam Liddicott <sam@ananova.com> 34052 34053 * Fix OmQuery::op enum handling. 34054 34055Mon May 27 14:28:06 BST 2002 Sam Liddicott <sam@ananova.com> 34056 34057 * Add crash-protected next() to OmMSetIterator 34058 34059 * Add ->valid() method to iterator which returns FALSE if 34060 the iterator has reached the end 34061 34062 * Added namespace fixes for latest cvs swig to be released next month 34063 34064Fri May 24 15:28:18 BST 2002 Sam Liddicott <sam@ananova.com> 34065 34066 * Took out the string typemaps as swig now has them in stl.i 34067 34068 * Added om_percent to omtypes.i - I wonder if we might just 34069 read omtypes.h instead, as swig can 34070 34071 * Added OmMSetIterator and made changes to OmMSet 34072 34073Fri May 24 11:46:50 BST 2002 Sam Liddicott <sam@ananova.com> 34074 34075 * Now support get_matching_terms via swig 34076 I'm not sure how to generally map iterators to php but in 34077 cases where we know only a small number of items exist 34078 to be iterated over it makes sense to return them as a 34079 php array 34080 34081Tue May 21 15:28:40 BST 2002 Richard Boulton <richard@tartarus.org> 34082 34083 * multi_postlist.cc (get_doclength): Get the document length from 34084 the appropriate sub-postlist, rather than from the database. 34085 This causes a huge speedup in some cases, since it avoids having 34086 to go to the termlist database for every document considered for 34087 an mset to get the document length. 34088 Added an AssertParanoid to check that the value from the postlist 34089 is the same as that from the database. 34090 This problem was noticed because "delve -v" was running several 34091 orders of magnitude slower than without -v - it is now of 34092 comparable speed. 34093 34094Tue May 21 15:27:37 BST 2002 Richard Boulton <richard@tartarus.org> 34095 34096 * quartz_values.cc: Small fixes to enable it to compile with debug 34097 turned on. 34098 34099Fri May 17 14:52:45 BST 2002 Olly Betts <olly@survex.com> 34100 34101 * OmQueryParser::set_database() method added. 34102 34103 * Added disabled code to search for a keyword used in the query. 34104 34105 * Added ' and * to the list of "phrase making characters". 34106 34107 * To make a phrase, a phrase-maker must be followed by an alphanumeric 34108 rather than just a non-space. 34109 34110Fri May 17 14:49:54 BST 2002 Olly Betts <olly@survex.com> 34111 34112 * INSTALL: GCC 3.1 release version works, so noted this. 34113 34114 * HACKING: Added note about warning-free compilation being desirable 34115 and suggesting using "./configure CFLAGS=-Werror" to promote this. 34116 34117 * NEWS: Minor updates. 34118 34119Thu May 16 16:57:42 BST 2002 Olly Betts <olly@survex.com> 34120 34121 * Minor tweaks to get a warning-less compile with GCC 3.1. 34122 34123Thu May 16 13:36:19 BST 2002 Sam Liddicott <sam@ananova.com> 34124 34125 * Clean up the spec file 34126 34127Thu May 16 12:20:09 BST 2002 Olly Betts <olly@survex.com> 34128 34129 * Documented match_sort_key. 34130 34131Thu May 16 10:42:47 BST 2002 Sam Liddicott <sam@ananova.com> 34132 34133 * A few quick tips from Olly, now the tarfile name and version no. 34134 stuff comes from autoconf so the spec file won't need tweaking 34135 each time the version number changes 34136 34137Wed May 15 15:48:42 BST 2002 Sam Liddicott <sam@ananova.com> 34138 34139 * This can build RPM packages. 34140 Get the make-dist tarball and do: 34141 rpm -ta xapian-core-0.4.1-cvs.tar.gz 34142 and it will make source and binary rpms 34143 It doesn't build bindings packages yet but this will come when I 34144 build them 34145 34146Wed May 15 13:27:21 BST 2002 Richard Boulton <richard@tartarus.org> 34147 34148 * buildall: Allow use of automake 1.6.1 and later, and CVS 34149 automake (versions 1.6[a-z]) 34150 34151Wed May 15 11:40:58 BST 2002 Sam Liddicott <sam@ananova.com> 34152 34153 * SWIG cvs (php4) now writes all output files to the same directory as 34154 the main output file, so need for hacks to move these, also no more 34155 clobbering our source files when building in the checkout dir 34156 34157Tue May 14 21:54:02 BST 2002 James Aylett <tartarus@users.sourceforge.net> 34158 34159 * Updated PLATFORMS file. 34160 34161Tue May 14 16:48:07 BST 2002 Olly Betts <olly@survex.com> 34162 34163 * Removed multiple-include protection from config.h - if it's 34164 included more than once it's now a bug and we want to know! 34165 34166Tue May 14 15:25:05 BST 2002 Olly Betts <olly@survex.com> 34167 34168 * OmQueryParser: parse acronyms as a single term (so "E.T." -> "ET" 34169 and "N.A.T.O" -> "NATO"). 34170 34171Tue May 14 15:23:20 BST 2002 James Aylett <tartarus@users.sourceforge.net> 34172 34173 * Fixed config.h includes: source definition (ie not header) files 34174 #include <config.h> as their first action. 34175 34176Tue May 14 14:47:00 BST 2002 Olly Betts <olly@survex.com> 34177 34178 * Updated todo. 34179 34180 * extra/parsequery.yy: Fettled indentation. 34181 34182Tue May 14 13:14:51 BST 2002 Olly Betts <olly@survex.com> 34183 34184 * Added test case for new "embedded &" rule, and fix problem bug it 34185 revealed. 34186 34187Tue May 14 13:10:33 BST 2002 Olly Betts <olly@survex.com> 34188 34189 * OmQueryParser: Parse <word>&<word> as a single term (e.g. AT&T, 34190 M&S, A&P). 34191 34192Tue May 14 11:50:03 BST 2002 Olly Betts <olly@survex.com> 34193 34194 * When including config.h, always specify it as <config.h>, not 34195 "config.h", and always do it first. Both are recommended by 34196 the autoconf documentation. 34197 34198Mon May 13 17:17:13 BST 2002 James Aylett <tartarus@users.sourceforge.net> 34199 34200 * missing fallback rule all-local in docs/Makefile.am was failing 34201 the build on Solaris 34202 34203Mon May 13 15:50:31 BST 2002 Sam Liddicott <sam@ananova.com> 34204 34205 * Use new %extends notation for swig. 34206 34207 * Update for new omValue usage 34208 34209 * Add omqueryparser support 34210 34211Mon May 13 15:12:30 BST 2002 James Aylett <tartarus@users.sourceforge.net> 34212 34213 * shipped getopt will now build in absence of system getopt 34214 34215Mon May 13 15:09:17 BST 2002 Olly Betts <olly@survex.com> 34216 34217 * configure.in: Moved AH_TOP/AH_BOTTOM to more logical place. 34218 34219 * docs/todo.xml: Updated. 34220 34221Mon May 13 14:13:27 BST 2002 James Aylett <tartarus@users.sourceforge.net> 34222 34223 * added getopt to DIST_SUBDIRS so distributions work 34224 34225Fri May 10 14:54:06 BST 2002 Olly Betts <olly@survex.com> 34226 34227 * getopt/: Checked in files I missed last time. 34228 34229Fri May 10 14:35:52 BST 2002 Olly Betts <olly@survex.com> 34230 34231 * Make sure GNU getopt is linked to everything which might need it so 34232 we build in non-glibc environments. 34233 34234Fri May 10 13:42:59 BST 2002 Olly Betts <olly@survex.com> 34235 34236 * Replaced second match_sort_key optimisation with one which is 34237 faster and not flawed. 34238 34239Thu May 09 18:27:30 BST 2002 Olly Betts <olly@survex.com> 34240 34241 * match_sort_key now runs at a sensible speed (approx. 20x speed 34242 up on my test case). 34243 34244Thu May 09 16:58:11 BST 2002 Olly Betts <olly@survex.com> 34245 34246 * Added another optimisation for match_sort_key - my test case 34247 is now 25% faster (still slow though). 34248 34249Thu May 09 11:57:59 BST 2002 Olly Betts <olly@survex.com> 34250 34251 * NEWS, PLATFORMS, README: Updated to something approximating what we 34252 want for a release. 34253 34254 * docs/todo.xml: Updated. 34255 34256Thu May 09 10:57:59 BST 2002 Olly Betts <olly@survex.com> 34257 34258 * Removed references to match_max_or_terms (which was replaced 34259 by OmQuery::OP_ELITE_SET long, long ago). 34260 34261Wed May 08 17:38:50 BST 2002 Olly Betts <olly@survex.com> 34262 34263 * Improved api documentation comments. 34264 34265Wed May 08 17:09:14 BST 2002 Olly Betts <olly@survex.com> 34266 34267 * Include findheaders.pl in tarball. 34268 34269Wed May 08 16:09:14 BST 2002 Olly Betts <olly@survex.com> 34270 34271 * Killed off acconfig.h. 34272 34273Wed May 08 15:53:11 BST 2002 Olly Betts <olly@survex.com> 34274 34275 * Added autom4te-*.cache to .cvsignore. 34276 34277Wed May 08 15:50:56 BST 2002 Olly Betts <olly@survex.com> 34278 34279 * Rebuild docs on "make", not just "make dist" or "make install". 34280 34281Wed May 08 15:07:01 BST 2002 Olly Betts <olly@survex.com> 34282 34283 * Added workaround for problems with <fcntl.h> on Solaris when LFS 34284 is enabled. 34285 34286Wed May 08 13:44:10 BST 2002 Olly Betts <olly@survex.com> 34287 34288 * Matcher can now sort on a key. Can be rather slow at present... 34289 34290Wed May 08 13:15:21 BST 2002 Olly Betts <olly@survex.com> 34291 34292 * Updated todo. 34293 34294Wed May 08 12:22:53 BST 2002 Olly Betts <olly@survex.com> 34295 34296 * Removed ltmain.sh-s from CVS. 34297 34298Wed May 08 12:21:32 BST 2002 Olly Betts <olly@survex.com> 34299 34300 * buildall: run libtoolize; stripped out unnecessary stuff. 34301 34302Wed May 08 09:44:45 BST 2002 Olly Betts <olly@survex.com> 34303 34304 * matcher/msetpostlist.cc: Removed bogus comment cut and pasted from 34305 matcher/mergepostlist.cc. 34306 34307Tue May 07 17:51:57 BST 2002 Olly Betts <olly@survex.com> 34308 34309 * It's "m4_include", not "m4include". 34310 34311Tue May 07 17:52:36 BST 2002 Olly Betts <olly@survex.com> 34312 34313 * Added autoconf/type_socklen_t macro. 34314 34315Tue May 07 16:50:20 BST 2002 Olly Betts <olly@survex.com> 34316 34317 * Now require autoconf 2.50, which allows us to clean up some of the 34318 more unpleasant parts of the build system. 34319 34320Tue May 07 14:55:37 BST 2002 Olly Betts <olly@survex.com> 34321 34322 * Added "match_sort_bands" option to sort results within relevance 34323 bands. Currently the sort within each band is by document id, which 34324 isn't really very useful. The plan is to allow sorting by a key. 34325 34326Tue May 07 14:54:12 BST 2002 Olly Betts <olly@survex.com> 34327 34328 * Sorted out tests/findheaders.pl wrt last change. 34329 34330Tue May 07 13:12:23 BST 2002 Olly Betts <olly@survex.com> 34331 34332 * Run perl scripts from Makefiles explicitly with $(PERL) rather than 34333 having them as generated files in AC_OUTPUT. 34334 34335Mon May 6 16:04:37 2002 James Aylett <tartarus@users.sourceforge.net> 34336 34337 * Distribution fixes: make clean should now clear up all 34338 required files. 34339 34340Mon May 6 14:42:46 2002 James Aylett <tartarus@users.sourceforge.net> 34341 34342 * Don't include dlfcn.h since we don't use it (and doesn't exist 34343 on some target platforms). 34344 34345Mon May 6 14:07:24 2002 James Aylett <tartarus@users.sourceforge.net> 34346 34347 * Minor documentation corrections. 34348 34349Fri May 03 18:14:14 BST 2002 Olly Betts <olly@survex.com> 34350 34351 * Changed autoconf/automake project name to xapian-core, and updated 34352 the documentation to reflect this. 34353 34354 * Disabled the bindings from being included in distribution tarballs. 34355 34356Fri May 03 18:13:43 BST 2002 Olly Betts <olly@survex.com> 34357 34358 * Updated todo list. 34359 34360Fri May 3 18:02:06 BST 2002 James Aylett <tartarus@users.sourceforge.net> 34361 34362 * Overloading ambiguity resolutions for linux/alpha build on CF 34363 34364Fri May 03 17:13:36 BST 2002 Olly Betts <olly@survex.com> 34365 34366 * buildall: Don't run configure or make; removed --no-make and --quiet. 34367 34368Fri May 3 16:52:01 BST 2002 James Aylett <tartarus@users.sourceforge.net> 34369 34370 * tests/testdata/etext.txt needs to be included in the distribution 34371 34372Fri May 03 16:18:38 BST 2002 Olly Betts <olly@survex.com> 34373 34374 * Removed OmValue in favour of simply using a string (analogous to 34375 recent OmData change). 34376 34377Fri May 03 14:52:04 BST 2002 Olly Betts <olly@survex.com> 34378 34379 * Removed unused om_docname typedef. 34380 34381Fri May 03 14:42:31 BST 2002 Olly Betts <olly@survex.com> 34382 34383 * Terminology change - a "key" (in the OmKey sense) is now a "value". 34384 34385Fri May 3 14:31:57 BST 2002 James Aylett <tartarus@users.sourceforge.net> 34386 34387 * Fixed up todo list and HTML generation script to cope with 34388 items without an assigned priority. 34389 34390Fri May 03 14:29:58 BST 2002 Olly Betts <olly@survex.com> 34391 34392 * It's HACKING (not INSTALL) that has details of developer tools. 34393 34394Thu May 02 15:57:48 BST 2002 Olly Betts <olly@survex.com> 34395 34396 * Removed OmData - just return and take a string instead. 34397 34398Thu May 02 14:40:21 BST 2002 Olly Betts <olly@survex.com> 34399 34400 * docs/.cvsignore: updated. 34401 34402Thu May 02 14:38:36 BST 2002 Olly Betts <olly@survex.com> 34403 34404 * Removed assorted references to pthread locking; updated HACKING. 34405 34406Thu May 02 14:15:47 BST 2002 Olly Betts <olly@survex.com> 34407 34408 * Stripped out OmBatchEnquire stuff, as it's unlikely to get sorted 34409 out any time soon, and it can be extracted from CVS when someone 34410 wants it. 34411 34412Thu May 02 13:50:04 BST 2002 Olly Betts <olly@survex.com> 34413 34414 * Check for bison >= 1.35 in buildall. 34415 34416Wed May 01 17:39:57 BST 2002 Olly Betts <olly@survex.com> 34417 34418 * Removed lingering references to Omsee and OpenMuscat. 34419 34420Wed May 01 16:34:13 BST 2002 Olly Betts <olly@survex.com> 34421 34422 * Removed unused methods from NetClient (read_data and write_data). 34423 34424Wed May 01 14:01:12 BST 2002 Olly Betts <olly@survex.com> 34425 34426 * Added test consistency1 to check matcher optimisations don't 34427 result in inconsistent results (i.e. that same matches and 34428 weights are returned regardless of size of mset asked for). 34429 34430Wed May 01 11:48:10 BST 2002 Olly Betts <olly@survex.com> 34431 34432 * Fixed mismatched tags in todo.xml. 34433 34434Wed May 01 11:46:42 BST 2002 Olly Betts <olly@survex.com> 34435 34436 * Updated todo. 34437 34438Wed May 01 11:40:47 BST 2002 Olly Betts <olly@survex.com> 34439 34440 * Corrected configure warning message - it's XML::Parser not XML. 34441 34442Wed May 01 11:34:49 BST 2002 Olly Betts <olly@survex.com> 34443 34444 * Tweaks to get queryparser building cleanly. 34445 34446Tue Apr 30 17:44:48 BST 2002 Olly Betts <olly@survex.com> 34447 34448 * Updated query parser in extra from the updated one in omega, 34449 and fettled it to cope better with multiple instantiations 34450 (though it's a long way from being reentrant at the moment). 34451 34452Tue Apr 30 11:03:44 BST 2002 Olly Betts <olly@survex.com> 34453 34454 * Updated todo. 34455 34456Mon Apr 29 19:28:04 BST 2002 Olly Betts <olly@survex.com> 34457 34458 * More string.c_str() tidying. 34459 34460Mon Apr 29 17:41:33 BST 2002 Olly Betts <olly@survex.com> 34461 34462 * Tidied up some uses of string.c_str(). 34463 34464 * Cleaned up todo list. 34465 34466Mon Apr 29 16:08:21 BST 2002 Olly Betts <olly@survex.com> 34467 34468 * Updated buildall to check various tools have the required version 34469 numbers. 34470 34471Mon Apr 29 15:58:57 BST 2002 Olly Betts <olly@survex.com> 34472 34473 * Tweaked use of HAVE_STREAMBUF 34474 34475Fri Apr 26 14:41:09 BST 2002 Sam Liddicott <sam@ananova.com> 34476 34477 * Swig is now modified so it can build config.m4 and Makefile.in 34478 for php modules so I removed these from bindings/php4 34479 34480Tue Apr 23 18:21:03 BST 2002 Olly Betts <olly@survex.com> 34481 34482 * Tried compiling with GCC 3.1 prerelease snapshot and fixed various 34483 STL-related warnings (mostly uses of istrstream). 34484 34485 * Fixed usage of AM_CFLAGS and AM_CXXFLAGS. 34486 34487Tue Apr 23 15:48:36 BST 2002 Olly Betts <olly@survex.com> 34488 34489 * Updated buildall (and had to tweak it again, sigh). 34490 34491Tue Apr 23 14:21:01 BST 2002 Sam Liddicott <sam@ananova.com> 34492 34493 * Added typemap conversion to generate OmSettings from php hash 34494 * Changed order of classes in interface file 34495 34496Tue Apr 23 14:20:05 BST 2002 Olly Betts <olly@survex.com> 34497 34498 * Revamped xapian-config and xapian.m4. Important change - it's now 34499 "xapian-config --cxxflags" and XAPIAN_CXXFLAGS, not --cflags and 34500 _CFLAGS. 34501 34502Mon Apr 22 17:58:56 BST 2002 Olly Betts <olly@survex.com> 34503 34504 * Removed leak checker. 34505 34506Mon Apr 22 13:40:01 BST 2002 Olly Betts <olly@survex.com> 34507 34508 * Tiny code tweak. 34509 34510Mon Apr 22 13:11:32 BST 2002 Olly Betts <olly@survex.com> 34511 34512 * Write debug log using unbuffered IO and O_APPEND which should prevent 34513 the log file becoming garbled when used from applications which use 34514 Xapian objects in multiple threads. 34515 34516Mon Apr 22 12:19:18 BST 2002 Olly Betts <olly@survex.com> 34517 34518 * Updated copyright notices for last change. 34519 34520Mon Apr 22 11:20:28 BST 2002 Olly Betts <olly@survex.com> 34521 34522 * Removed thread locks. 34523 34524Fri Apr 19 17:38:23 BST 2002 Olly Betts <olly@survex.com> 34525 34526 * Removed completed tasks from todo list. 34527 34528Fri Apr 19 17:26:23 BST 2002 Olly Betts <olly@survex.com> 34529 34530 * Removed placeholder code for OmQuery::OP_PERCENT_CUTOFF - it's 34531 actually impossible to implement since we started rescaling 34532 percentages so that 100% is attainable. 34533 34534Fri Apr 19 16:42:42 BST 2002 Olly Betts <olly@survex.com> 34535 34536 * Tracked down and fixed the bug in the quartz backend which was making 34537 test poslist2 fail. 34538 34539Fri Apr 19 16:06:39 BST 2002 Olly Betts <olly@survex.com> 34540 34541 * Fixed some compilation problems which I somehow failed to notice 34542 before the last check-in. 34543 34544Fri Apr 19 15:04:13 BST 2002 Olly Betts <olly@survex.com> 34545 34546 * Added more RETURN(...) wrappers. 34547 34548Fri Apr 19 14:46:19 BST 2002 Olly Betts <olly@survex.com> 34549 34550 * Added more DEBUGCALL tracing to quartz. 34551 34552Fri Apr 19 13:29:57 BST 2002 Olly Betts <olly@survex.com> 34553 34554 * Minor tweaks to quartz_database.cc. 34555 34556Fri Apr 19 13:07:50 BST 2002 Olly Betts <olly@survex.com> 34557 34558 * Moved test poslist1 into correct place and renamed it to poslist2 34559 since there's already a poslist1... 34560 34561Fri Apr 19 11:19:15 BST 2002 Olly Betts <olly@survex.com> 34562 34563 * poslist1 (when actually run!) reveals that Quartz fails to throw 34564 errors in this case. Disabled test for now, as I can't see why it 34565 fails to throw... 34566 34567Thu Apr 18 17:44:56 BST 2002 Olly Betts <olly@survex.com> 34568 34569 * Added poslist1 test as suggested by a TODO entry. 34570 34571Thu Apr 18 14:17:24 BST 2002 Olly Betts <olly@survex.com> 34572 34573 * buildall: Removed search for GNU make (as of automake 34574 1.5 it's not needed for automake and we aim to have portable 34575 makefiles). Made buildall more portable. 34576 34577Thu Apr 18 14:16:18 BST 2002 Olly Betts <olly@survex.com> 34578 34579 * xapian-config.nodep is a generated file, so don't look for it in 34580 srcdir. 34581 34582Thu Apr 18 12:45:04 BST 2002 Olly Betts <olly@survex.com> 34583 34584 * Added bindings/php4/xapian/.cvsignore. 34585 34586Thu Apr 18 12:36:53 BST 2002 Olly Betts <olly@survex.com> 34587 34588 * Minor tweaks to "Makefile" section in HACKING. 34589 34590Thu Apr 18 12:26:21 BST 2002 Olly Betts <olly@survex.com> 34591 34592 * Yet more Makefile portability fixes; added section to HACKING 34593 summarising my recent experiences. 34594 34595Thu Apr 18 11:26:37 BST 2002 Olly Betts <olly@survex.com> 34596 34597 * Corrected the sense of the test in the previous check-in. 34598 34599Thu Apr 18 11:08:04 BST 2002 Olly Betts <olly@survex.com> 34600 34601 * Use case instead of echo/sed to replace dirname. 34602 34603Thu Apr 18 10:19:01 BST 2002 Olly Betts <olly@survex.com> 34604 34605 * Another Makefile portability tweak. 34606 34607Wed Apr 17 16:07:02 BST 2002 Olly Betts <olly@survex.com> 34608 34609 * bindings/php4/Makefile.am: Fixed a couple of problems with 34610 recent changes. 34611 34612Wed Apr 17 15:32:44 BST 2002 Olly Betts <olly@survex.com> 34613 34614 * Makefile portability improvements. 34615 34616Wed Apr 17 14:29:21 BST 2002 Olly Betts <olly@survex.com> 34617 34618 * Replaced uses of GNU make specific features with more portable 34619 ones. 34620 34621Wed Apr 17 12:43:07 BST 2002 Olly Betts <olly@survex.com> 34622 34623 * Update todo list. 34624 34625Wed Apr 17 12:41:03 BST 2002 Olly Betts <olly@survex.com> 34626 34627 * Removed BrightStation's logo from the documentation. 34628 34629Wed Apr 17 12:27:07 BST 2002 Olly Betts <olly@survex.com> 34630 34631 * xapian-config: Removed --uninst support - it's very hard to make it 34632 work reliably and we're better off directing our efforts towards 34633 improving the library than trying to get it working and keep it 34634 working. 34635 34636Wed Apr 17 10:39:02 BST 2002 Olly Betts <olly@survex.com> 34637 34638 * Fixed btreetest code to use new names "ord+" and "ord-" for 34639 datafiles; disabled LFSinsertdelete1 test as it's exactly the 34640 same as insertdelete1 (despite the comment above which suggests 34641 it tests files >2G). 34642 34643Mon Apr 15 17:14:22 BST 2002 Olly Betts <olly@survex.com> 34644 34645 * Fix a few OmDatabase::InternalInterface uses I'd somehow missed. 34646 34647Mon Apr 15 16:08:20 BST 2002 Olly Betts <olly@survex.com> 34648 34649 * Mark internal classes as @internal for doxygen; removed all uses 34650 of OmDatabase::InternalInterface as it's no longer needed. 34651 34652Mon Apr 15 15:42:47 BST 2002 Olly Betts <olly@survex.com> 34653 34654 * Updated TODO list. 34655 34656Mon Apr 15 2002 Sam Liddicott <sam@ananova.com> 34657 34658 * Hacked around bindings and bindings/php to remove some SWIG 34659 workarounds. SWIG cvs + some new non-comitted patches is need still. 34660 34661Mon Apr 15 12:12:05 BST 2002 Olly Betts <olly@survex.com> 34662 34663 * stemtest: getopt fix. 34664 34665 * stemtest.pl.in: output now: less verbose by default and coloured. 34666 34667Mon Apr 15 11:18:58 BST 2002 Olly Betts <olly@survex.com> 34668 34669 * Updated HACKING to say that automake 1.5 is required, and note that 34670 automake 1.6.1 is better than 1.6. 34671 34672Sat Apr 13 20:35:51 2002 James Aylett <tartarus@users.sourceforge.net> 34673 34674 * Fixed stemtest getopt usage so it works again. 34675 34676Sat Apr 13 20:20:52 BST 2002 James Aylett <tartarus@users.sourceforge.net> 34677 34678 * Fixed omtcpsrv getopt usage so it works again. 34679 34680Fri Apr 12 16:24:06 BST 2002 Olly Betts <olly@survex.com> 34681 34682 * Require automake 1.5. 34683 34684Fri Apr 12 12:11:57 BST 2002 Olly Betts <olly@survex.com> 34685 34686 * omtcpsrv: Namespace fixes. 34687 34688Fri Apr 12 12:25:42 BST 2002 Olly Betts <olly@survex.com> 34689 34690 * Fixed everything to use getopt rather than icky handparsing of 34691 options. 34692 34693Fri Apr 12 11:26:57 BST 2002 Olly Betts <olly@survex.com> 34694 34695 * Removed delve - it's going to be an example program. 34696 34697Thu Apr 11 18:09:35 BST 2002 Olly Betts <olly@survex.com> 34698 34699 * Command line argument improvements - added FIXMEs where getopt 34700 should be used. 34701 34702Thu Apr 11 17:01:44 BST 2002 Richard Boulton <richard@tartarus.org> 34703 34704 * Fixes to work with automake 1.6.1. 34705 I recommend using 1.6.1 rather than 1.6, since this fixes many 34706 bugs in 1.6. I havn't tested with 1.6 recently, but it is likely 34707 to report problems. 34708 34709Thu Apr 11 17:25:37 BST 2002 Olly Betts <olly@survex.com> 34710 34711 * Use GNU getopt. 34712 34713Thu Apr 11 15:06:15 BST 2002 Olly Betts <olly@survex.com> 34714 34715 * Updated to recommend automake 1.5, noting problem with automake 1.4 34716 and that we'll probably soon insist on 1.5, and later autoconf 2.50. 34717 Also added notes on recommended and usable GCC versions. 34718 34719Thu Apr 11 14:23:44 BST 2002 Olly Betts <olly@survex.com> 34720 34721 * Cleaning up build system. 34722 34723Thu Apr 11 13:18:23 BST 2002 Olly Betts <olly@survex.com> 34724 34725 * Use AndPostList with boolean weights on the RHS instead of 34726 FilterPostList - this appears to fix a bug, but I suspect it's 34727 actually just moving it around. Will investigate later. 34728 34729Thu Apr 11 10:11:11 BST 2002 Olly Betts <olly@survex.com> 34730 34731 * Sorted out automake for php4 bindings. 34732 34733Wed Apr 10 14:44:50 BST 2002 Olly Betts <olly@survex.com> 34734 34735 * Removed a superfluous DEBUGLINE. 34736 34737Tue Apr 9 19:02:09 BST 2002 Richard Boulton <richard@tartarus.org> 34738 34739 * Fix some DEBUGLINE() macros in the matcher which had 34740 the first parameter missing. 34741 34742Tue Apr 09 17:50:44 BST 2002 Olly Betts <olly@survex.com> 34743 34744 * Removed stray bit of debug code. 34745 34746Tue Apr 09 17:05:09 BST 2002 Olly Betts <olly@survex.com> 34747 34748 * More debug tracing added. 34749 34750Tue Apr 09 10:48:42 BST 2002 Olly Betts <olly@survex.com> 34751 34752 * Disabled pthread support by default. 34753 34754Sat Apr 6 20:45:21 2002 James Aylett <tartarus@users.sourceforge.net> 34755 34756 * Reordered some output generation in configure so it won't 34757 complain about directories not existing. (I don't understand 34758 what the problem is, but this does fix it.) 34759 34760Sat Apr 06 20:27:57 BST 2002 Olly Betts <olly@survex.com> 34761 34762 * Moved a few lingering traces of XML indexer stuff to indexer 34763 subdirectory. 34764 34765Sat Apr 06 17:37:02 BST 2002 Olly Betts <olly@survex.com> 34766 34767 * Removed -pedantic (read the gcc docs - it's doesn't turn on 34768 useful warnings) and fixed all the remaining compilation 34769 warnings in a non-debug build. 34770 34771Fri Apr 05 10:21:28 BST 2002 Olly Betts <olly@survex.com> 34772 34773 * Removed --enable-profiling, --enable-purify, and --enable-insure. 34774 They don't do anything which can't be achieved by passing 34775 environment variables and switches to configure (now documented 34776 in HACKING). Adding a separate switch for every profiling and 34777 code-quality tool out there isn't a sensible approach. 34778 34779Thu Apr 04 20:37:12 BST 2002 Olly Betts <olly@survex.com> 34780 34781 * Updated .cvsignore files. 34782 34783Thu Apr 04 20:25:41 BST 2002 Olly Betts <olly@survex.com> 34784 34785 * PTHREAD_CFLAGS was only being used for compiling C, not C++, which 34786 was causing builds to fail unless threading was disabled. This 34787 problem has been there a long time, but until recently was hidden 34788 by the check for fdatasync erroneously linking in -lrt which pulls 34789 in pthreads anyway (at least this is the situation on Linux). 34790 34791Thu Apr 04 20:06:00 BST 2002 Olly Betts <olly@survex.com> 34792 34793 * Removed XML indexer stuff from the main xapian library. All the 34794 removed bits are now in the indexer subdirectory, ready to be 34795 reassembled into a supplementary library. 34796 34797Thu Apr 04 15:43:43 BST 2002 Olly Betts <olly@survex.com> 34798 34799 * More debug tracing in the matcher. 34800 34801Thu Apr 04 14:17:10 BST 2002 Olly Betts <olly@survex.com> 34802 34803 * Added debug tracing to most of the matcher. 34804 34805Thu Mar 28 17:21:16 GMT 2002 Olly Betts <olly@survex.com> 34806 34807 * Give up trying to make internals private or protected in the 34808 header files in include - the consequences are just too ugly, and 34809 it's clear enough that they shouldn't be messed with except by the 34810 library itself. 34811 34812Wed Mar 27 10:24:26 GMT 2002 Olly Betts <olly@survex.com> 34813 34814 * Don't add "-lrt" to the link line unless it's actually needed for 34815 fdatasync(). 34816 34817Wed Mar 27 10:11:09 GMT 2002 Olly Betts <olly@survex.com> 34818 34819 * Fixed two problems in the matcher which were respectively causing 34820 problems with boolean filters, and with situations where OR or 34821 ANDMAYBE decayed to AND. 34822 34823Fri Jan 11 18:00:44 GMT 2002 James Aylett <tartarus@users.sourceforge.net> 34824 34825 * Various build fixes for libxml2: define CHAR as needed, 34826 --enable-validation (off by default), check for and discard 34827 'blank' text/cdata nodes as we encounter them 34828 34829Fri Jan 11 15:40:50 GMT 2002 Sam Liddicott <sam@ananova.com> 34830 34831 * Added Large File Support in the same way it was added to GNU tar. 34832 (If it's good enough for them...) 34833 This is by means of autoconf/ac_sys_largefile which I'm told is 34834 built in to later versions of autoconf, and may possibly give us 34835 trouble redefining it for those versions... But we'll see about 34836 that when/if it happens. 34837 34838 It seems to work fine here on some DB's which I had to stop growing 34839 cos they got too big; I'm now past the 2G boundry with no problems 34840 34841 I guess we should still add overflow detection for 2^31 blocks. 34842 Ideas? 34843 34844 I need some help on the btreetest.cc as I haven't yet worked out 34845 what it does; so while I've added a test, it doesn't yet test 34846 what it says it does. I have changed btreetest.cc so you can 34847 tell it where to dump the test DB 34848 34849Fri Dec 21 17:48:09 GMT 2001 Olly Betts <olly@survex.com> 34850 34851 * Fixed halflife calculation in OmBiasFunctor. 34852 34853Fri Dec 21 15:24:58 GMT 2001 Olly Betts <olly@survex.com> 34854 34855 * Added a temporary API to allow use of OmBiasFunctor. 34856 34857Fri Dec 21 12:58:23 GMT 2001 Olly Betts <olly@survex.com> 34858 34859 * Disable conversion of OR to AND/ANDMAYBE in matcher tree - there's 34860 a bug which sometimes manifests when there's a date filter and a 34861 threshold cutoff in omega, and results in just one match when there 34862 should be more. I don't believe the bug is actually in OrPostList 34863 but I've been tracking it for 4 days without success and turning off 34864 this optimisation seems to stop it occurring so will have to do for 34865 now. 34866 34867Thu Dec 20 17:41:04 GMT 2001 Olly Betts <olly@survex.com> 34868 34869 * matcher/multimatch.cc: added more percent_cutoff assertions. 34870 34871Thu Dec 20 13:41:41 GMT 2001 Olly Betts <olly@survex.com> 34872 34873 * Fixed incorrectly classified debug message; fixed compiler warning; 34874 more comments about matches_* with a percent_cutoff. 34875 34876Thu Dec 20 13:09:51 GMT 2001 Olly Betts <olly@survex.com> 34877 34878 * Better OmPostListIterator::get_description() (call get_description 34879 on internal->postlist). 34880 34881Thu Dec 20 12:42:55 GMT 2001 Olly Betts <olly@survex.com> 34882 34883 * Fixed assorted problems with omtcpsrv and co from recent change. 34884 34885Thu Dec 20 10:41:57 GMT 2001 Richard Boulton <richard@tartarus.org> 34886 34887 * In ./configure --help, correctly report muscat36 backend as 34888 defaulting to off. 34889 34890Thu Dec 20 10:36:18 GMT 2001 Olly Betts <olly@survex.com> 34891 34892 * Don't delete internal in ~OmWritableDatabase - ~OmDatabase 34893 does that for us (internal was zeroed after delete, so this 34894 was probably harmless) 34895 34896 * Tweaked OmEnquire::get_description() and 34897 OmPostListIterator::get_description() to do less - there's a 34898 debug related bug somewhere and get_description() should be a 34899 non-intrusive method... 34900 34901Thu Dec 20 10:32:56 GMT 2001 Richard Boulton <richard@tartarus.org> 34902 34903 * Fix a couple of misquoted messages in configure.in. 34904 34905Tue Dec 18 23:22:00 2001 James Aylett <tartarus@users.sourceforge.net> 34906 34907 * Use xapian.org where appropriate in documentation references 34908 34909Tue Dec 18 14:32:32 2001 James Aylett <tartarus@users.sourceforge.net> 34910 34911 * Use xapian.org not sourceforge for schemas 34912 34913Mon Dec 17 18:47:08 GMT 2001 Olly Betts <olly@survex.com> 34914 34915 * Cured problems with string('x') caused by overzealous search 34916 and replace on my part. 34917 34918Mon Dec 17 16:44:31 GMT 2001 Olly Betts <olly@survex.com> 34919 34920 * Improved matches_estimated when a percent_cutoff is in effect. 34921 34922Sun Dec 16 18:09:28 GMT 2001 Olly Betts <olly@survex.com> 34923 34924 * You can now register a match decider functor by name with an 34925 OmEnquire object. It's not yet used for anything though. 34926 34927Sun Dec 16 17:31:08 GMT 2001 Olly Betts <olly@survex.com> 34928 34929 * omtcpsrv: simplified arguments - just list database directories and 34930 they'll be opened with the auto backend. Removed --im as it didn't 34931 work as advertised and nobody's noticed (as actually implemented it 34932 was useless). 34933 34934Sat Dec 15 14:10:32 GMT 2001 Olly Betts <olly@survex.com> 34935 34936 * Minor update to todo.xml. 34937 34938Sat Dec 15 13:43:47 GMT 2001 Olly Betts <olly@survex.com> 34939 34940 * More fettling of OmBiasFunctor stuff - still not ready for use yet... 34941 34942Tue Dec 11 13:06:08 GMT 2001 Olly Betts <olly@survex.com> 34943 34944 * Don't work out probabilistic weights for boolean bits of the query 34945 (rhs of FILTER and AND_NOT) which fixes incorrect percentage weights 34946 in filtered queries. 34947 34948Tue Dec 11 12:26:44 GMT 2001 Olly Betts <olly@survex.com> 34949 34950 * Added test singlesubq1 to keep an eye on can_replace_by_single_subq. 34951 34952Mon Dec 10 16:58:21 GMT 2001 Olly Betts <olly@survex.com> 34953 34954 * can_replace_by_single_subq shouldn't return true for OP_ELITE_SET 34955 since you can't call set_elite_set_size() on an arbitrary subquery. 34956 34957Thu Dec 6 15:02:05 GMT 2001 Richard Boulton <richard@tartarus.org> 34958 34959 * (omqueryinternal.cc, omtermlistiteratorinternal.h) 34960 Fix some compiler warnings (when compiling with no debug) due 34961 to methods which should return a value but simply contain 34962 "Assert(false);". Throw an exception in such methods instead 34963 (after the Assert). 34964 34965Mon Dec 03 11:20:42 GMT 2001 Olly Betts <olly@survex.com> 34966 34967 * New BiasPostList - not yet enabled as it needs more work. 34968 34969Mon Dec 03 11:16:44 GMT 2001 Olly Betts <olly@survex.com> 34970 34971 * quartzdump: give syntax error if no tables specified. 34972 34973Thu Nov 29 14:10:43 GMT 2001 Olly Betts <olly@survex.com> 34974 34975 * ExtraWeightPostlist wasn't handling prune correctly. 34976 34977Thu Nov 22 13:46:59 GMT 2001 Olly Betts <olly@survex.com> 34978 34979 * Fixed segfault when percentage_cutoff emptied the proto-mset. 34980 34981Thu Nov 22 12:27:49 GMT 2001 Olly Betts <olly@survex.com> 34982 34983 * Enhanced test emptyquery1. 34984 34985Fri Nov 16 15:32:09 GMT 2001 Olly Betts <olly@survex.com> 34986 34987 * Added OmQuery::is_empty() method. 34988 34989Thu Nov 15 15:36:07 GMT 2001 Olly Betts <olly@survex.com> 34990 34991 * Updated todo list. 34992 34993Thu Nov 15 13:03:05 GMT 2001 Olly Betts <olly@survex.com> 34994 34995 * Fixed percent_cutoff problems. 34996 34997Wed Nov 14 12:05:44 GMT 2001 Olly Betts <olly@survex.com> 34998 34999 * Empty OmQuery() now matches no documents (rather than causing an 35000 exception). 35001 35002Thu Nov 08 18:23:21 GMT 2001 Olly Betts <olly@survex.com> 35003 35004 * SIGSTKFLT isn't portable, so added #ifdef checks for it. 35005 35006Wed Nov 07 15:34:29 GMT 2001 Olly Betts <olly@survex.com> 35007 35008 * Fixed 2 GCC 3.0 warnings in muscat36 backend. 35009 35010Wed Nov 07 14:21:47 GMT 2001 Olly Betts <olly@survex.com> 35011 35012 * Made doc counts returned from percentage cutoff matches more 35013 accurate. 35014 35015Wed Nov 07 12:30:32 GMT 2001 Olly Betts <olly@survex.com> 35016 35017 * GCC 3.0 fixes. 35018 35019Tue Nov 06 11:16:42 GMT 2001 Olly Betts <olly@survex.com> 35020 35021 * Matcher now calculates percentages like Omega does (or did as I'm 35022 about to remove that code from Omega), rather than as a percentage 35023 of the theoretical maximum possible weight. The old way generally 35024 gives disappointingly low values, and by pushing the percentage 35025 code down into the matcher, it can be used to optimise the query. 35026 35027Tue Nov 06 11:13:06 GMT 2001 Olly Betts <olly@survex.com> 35028 35029 * Quick fix for problems with null OmQuery-s. 35030 35031Mon Nov 05 15:52:55 GMT 2001 Olly Betts <olly@survex.com> 35032 35033 * Added signal handling to testsuite - if a testcase generates a 35034 signal it is caught and reported, then the testsuite continues 35035 with further testcases. 35036 35037Wed Oct 31 14:26:59 GMT 2001 Olly Betts <olly@survex.com> 35038 35039 * Removed needless complications in matcher when a weight threshold 35040 has been set. 35041 35042Tue Oct 30 16:50:46 GMT 2001 Olly Betts <olly@survex.com> 35043 35044 * Removed superfluous lines from configure.in; fixed warning from 35045 automake 1.5. 35046 35047Mon Oct 29 11:54:36 GMT 2001 Olly Betts <olly@survex.com> 35048 35049 * Changed matcher to form proto-mset using a min-heap (as described 35050 in "Managing Gigabytes", 2nd ed., pp 211-213). Compared to the 35051 previous "nth-element" approach, this uses about half the memory, 35052 allows the min-weight based matcher optimisations to work sooner, 35053 and should be inherently faster (not yet benchmarked though). The 35054 code's slightly simpler too. 35055 35056Mon Oct 29 11:53:38 GMT 2001 Olly Betts <olly@survex.com> 35057 35058 * Fixed remote backend to pass match_cutoff setting across. 35059 35060Fri Oct 26 13:43:08 BST 2001 Olly Betts <olly@survex.com> 35061 35062 * Reserve size needed for mset vector. 35063 35064Thu Oct 25 18:00:54 BST 2001 Olly Betts <olly@survex.com> 35065 35066 * Fixed a couple of stray references to the old sleepycat backend. 35067 35068Tue Oct 23 18:19:32 BST 2001 Olly Betts <olly@survex.com> 35069 35070 * More cleaning up of MultiMatch. 35071 35072Tue Oct 23 16:14:27 BST 2001 Olly Betts <olly@survex.com> 35073 35074 * Removed RemotePostList - it was an experimental idea which proved 35075 to be too slow even on a fast network. Cleaned up code where hooks 35076 were bodged in for it. 35077 35078Tue Oct 23 13:27:12 2001 James Aylett <tartarus@users.sourceforge.net> 35079 35080 * Added documentation of the test system (albeit brief). Also 35081 mentioned the autotools book in HACKING. 35082 35083Tue Oct 23 12:07:59 BST 2001 Olly Betts <olly@survex.com> 35084 35085 * Updated .cvsignore files. 35086 35087Tue Oct 23 11:29:47 BST 2001 Olly Betts <olly@survex.com> 35088 35089 * Code tidying while investigating sporadic fails from quartztest. 35090 35091Mon Oct 22 17:42:30 BST 2001 Olly Betts <olly@survex.com> 35092 35093 * Minor fettles to quartztest: fixed warnings, whitespace tidying, 35094 use mkdir(...) rather than system("mkdir ...") 35095 35096Mon Oct 22 16:41:12 2001 James Aylett <tartarus@users.sourceforge.net> 35097 35098 * Renamed project to Xapian. 35099 35100Mon Oct 22 14:22:00 BST 2001 Olly Betts <olly@survex.com> 35101 35102 * Fixed non-ISO C++ code so Xapian will compile under GCC 3.0 35103 (and also RedHat's "GCC 2.96"). 35104 35105Mon Oct 22 11:21:45 2001 James Aylett <tartarus@users.sourceforge.net> 35106 35107 * Altered omseek-config and the AC m4 macro to make uninst 35108 executables link to the right version of the library 35109 35110Mon Oct 22 10:38:20 2001 James Aylett <tartarus@users.sourceforge.net> 35111 35112 * Minor fixes to enable build (and test) under Solaris. 35113 35114Fri Jun 22 13:24:59 2001 Sam Liddicott <sam@ananova.com> 35115 35116 * Added some explicit type casts in xmlindexer and quartz backend 35117 to help gcc2.96 compile. 35118 35119Thu Jun 21 11:05:31 2001 James Aylett <tartarus@users.sourceforge.net> 35120 35121 * HACKING updated to (a) remove inaccurate statements about 35122 copyright assignment, and (b) talk about developer write 35123 access to CVS. 35124 35125Mon Jun 11 13:24:43 2001 James Aylett <tartarus@users.sourceforge.net> 35126 35127 * pthread support detected using an automake macro. Should 35128 be more portable as a result. 35129 35130 * We need GNU make: buildall now tries to find it. 35131 35132Mon Jun 11 12:07:00 2001 Hein Ragas <hragas@users.sourceforge.net> 35133 35134 * Modified QuartzWritableDatabase::do_add_document and 35135 QuartzWritableDatabase::do_replace_document to leave the PositionList 35136 empty for a term with no positions associated with it. 35137 35138Mon May 29 12:17:00 2001 Hein Ragas <hragas@users.sourceforge.net> 35139 35140 * Modified QuartzPostList::add_entry to allow for adding of entries 35141 in the middle of the postlist, not only at the end. 35142 35143Mon May 28 12:00:00 2001 Hein Ragas <hragas@users.sourceforge.net> 35144 35145 * Fixed a bug in replace_document for Quartz, added a test to 35146 ensure proper working of the fix. 35147 35148Fri Apr 27 15:16:10 2001 James Aylett <tartarus@users.sourceforge.net> 35149 35150 * Project name change to Omseek. 35151 35152Wed Apr 11 09:06:37 BST 2001 Chris Emerson <chris.emerson@omsee.com> 35153 35154 * Implemented deleting of items from postlists, and added some 35155 tests to check that it works properly. 35156 35157 * Fixed a potential memory leak in QuartzPostList if an exception 35158 was thrown from the constructor. 35159 35160 * BackendManager now sets the quartz_logfile setting, to make 35161 the logs available from the testsuite. 35162 35163 * Added mention of quartz_logfile to docs/omsettings 35164 35165 * Removed a bad assert from InMemoryDatabase::get_doclength() 35166 35167Mon Apr 9 21:48:18 BST 2001 Chris Emerson <chris.emerson@omsee.com> 35168 35169 * Added #include <cmath> to testutils.cc 35170 35171Fri Mar 30 17:37:24 BST 2001 Olly Betts 35172 35173 * Added extra/.cvsignore 35174 35175Fri Mar 30 17:22:13 BST 2001 Olly Betts 35176 35177 * Disabled allocation checking of new[] and delete[] since some STL 35178 implementations use them which leads to leaks being reported where 35179 none exist. This is addressable longer term... 35180 35181Thu Mar 29 19:05:46 BST 2001 Richard Boulton <richard.boulton@omsee.com> 35182 35183 * Add "extra" directory to om source tree, to hold extra libraries 35184 for use with omsee, which aren't part of the core. 35185 35186 * Put a query parser into "extra". This is roughly the parser 35187 from omega. Needs some work: in particular, it needs to be 35188 made reentrant. 35189 35190 * Added extra/ directory to top level Makefile.am and configure.in. 35191 Added AC_PROG_YACC to Makefile.am 35192 35193 * Add includes of required header files to omquery.h. 35194 35195Wed Mar 28 17:15:22 BST 2001 Richard Boulton <richard.boulton@omsee.com> 35196 35197 * Modifications to OmQuery. Remove the isbool flag: there is 35198 no longer any need for the concept of a "pure boolean query". 35199 The same effect as was obtained by setting isbool can be 35200 obtained by setting the match_weighting_scheme parameter to 35201 bool. 35202 35203 * Also, undefined queries may no longer be used when 35204 building up composite queries; the correct behaviour for this 35205 is hard to define and implement and harder to document, and 35206 removing this removes lots of special case code. 35207 35208 * Updated network query passing code. 35209 35210 * Remove special cases for bool weighting in localmatch and irweight. 35211 35212 * Updated omsettings docs. Updated comments in omsetting.h. 35213 35214 * Updated todo.xml 35215 35216 * Incremented network protocol version. 35217 35218 * Added test_emptyop1, which checks what happens when an attempt is 35219 made to use an empty list of subqueries to build up a query, and 35220 then use the query. 35221 35222 * Remove test_boolsubq1: no such thing as a boolean query now, so 35223 no need to test what happens when one is used. 35224 35225 * Updated testsuite to use "match_weighting_scheme" setting, rather 35226 than calling OmQuery::set_bool(). 35227 35228Wed Mar 28 15:05:46 BST 2001 Chris Emerson <chris.emerson@omsee.com> 35229 35230 * Fixes to InMemoryDatabase: 35231 + do_open_post_list returns an EmptyPostList rather than an 35232 assertion error if the term doesn't exist 35233 + Fixed doccount(), which wasn't decrementing on delete_doc() 35234 + Remove terms from the database when they have no more postings. 35235 + Implement collection frequencies, and run collfreq tests for 35236 inmemory. 35237 35238Wed Mar 28 14:24:38 BST 2001 Richard Boulton <richard.boulton@omsee.com> 35239 35240 * Set elite set size to max(10, sqrt(number of subqueries)) by 35241 default. This is rather more useful than the old default of 0. 35242 35243Wed Mar 28 10:25:35 BST 2001 Chris Emerson <chris.emerson@omsee.com> 35244 35245 * QuartzDatabase now implements replace_document(), and 35246 delete_document() now removes keys/attributes as well. 35247 However, postlist entries are not yet correctly removed, 35248 so this will cause problems. 35249 35250 * Added a test for deleting/replacing documents, which passes. 35251 35252Tue Mar 27 17:31:58 BST 2001 Chris Emerson <chris.emerson@omsee.com> 35253 35254 * QuartzAttributes now has a method to delete a document's 35255 attributes, and QuartzRecordManager has a replace_ method. 35256 (But the code which uses these isn't in this commit). 35257 35258Thu Mar 22 15:58:08 GMT 2001 Richard Boulton <richard.boulton@omsee.com> 35259 35260 * Change definition of OmQuery::is_defined(), so that elite set 35261 queries are undefined until a size is specified for the set. 35262 35263Wed Mar 21 14:29:04 GMT 2001 Chris Emerson <chris.emerson@omsee.com> 35264 35265 * Implemented delete_document and replace_document in inmemory 35266 database. 35267 35268Wed Mar 21 12:39:13 GMT 2001 Olly Betts 35269 35270 * Tweak to docs/quickstart.html. 35271 35272Wed Mar 21 02:50:19 GMT 2001 Olly Betts 35273 35274 * Entirely removed sleepcat backend and all references to it. 35275 35276 * Disable muscat36 backend by default. 35277 35278Tue Mar 20 18:47:12 GMT 2001 Olly Betts 35279 35280 * open_document() now takes a lazy flag - if not set we need to check 35281 that the docid given actually exists. 35282 35283 * heavy_duty flag now a bool instead of an int. 35284 35285Mon Mar 19 19:16:34 GMT 2001 Olly Betts 35286 35287 * Added test getdoc1 to check exceptions are thrown for out-of-range 35288 docids (currently they aren't for quartz and muscat36 backends). 35289 35290Mon Mar 19 17:17:31 GMT 2001 Olly Betts 35291 35292 * New simpler implementation of leak detection in testsuite. 35293 Currently doesn't support malloc/calloc/realloc/free. 35294 35295Mon Mar 19 16:46:16 GMT 2001 Richard Boulton <richard.boulton@omsee.com> 35296 35297 * Further small modification to omsee-config: will now look in 35298 .libs subdirectories, too. 35299 35300Mon Mar 19 15:57:18 GMT 2001 Richard Boulton <richard.boulton@omsee.com> 35301 35302 * Update omsee-config to work when a prefix is specified that 35303 points directly to the directory with the library, rather than 35304 expecting the library to be in a subdir "libs/". (libs/ is 35305 still used if it exists). 35306 35307 * Update omsee.m4, to use omsee-config even when using an 35308 uninstalled version of omsee. This in turn fixes problems using 35309 uninstalled versions of omsee with STLport. 35310 35311Fri Mar 16 18:14:52 GMT 2001 Richard Boulton <richard.boulton@omsee.com> 35312 35313 * Updated licenses, to include year 2001. 35314 35315Fri Mar 16 15:40:49 GMT 2001 Richard Boulton <richard.boulton@omsee.com> 35316 35317 * Fix up small bug in quartztest causing it to fail for lack of an 35318 expected exception. Initialise values in quartz_positionlist.cc 35319 when position list is not present. 35320 35321Thu Mar 15 17:40:38 GMT 2001 Richard Boulton <richard.boulton@omsee.com> 35322 35323 * Make timeout absolute, rather than cumulative, when fetching 35324 multiple documents from database: if two nodes fail, the total 35325 timeout should still be that specified, not twice it. 35326 35327 * Make the timeout set by SocketClient::set_query() get reset 35328 correctly if an exception happens (which used to prevent 35329 SocketClient::get_mset() ever getting called). 35330 35331Thu Mar 15 17:06:51 GMT 2001 Olly Betts 35332 35333 * Oops, checked in too much - backing out the wrong stuff. 35334 35335Thu Mar 15 16:30:14 GMT 2001 Olly Betts 35336 35337 * Include autoconf/definedir.m4 in tarball. 35338 35339Thu Mar 15 16:06:02 GMT 2001 Richard Boulton <richard.boulton@omsee.com> 35340 35341 * Updated network protocol number to reflect change adding 35342 OP_ELITE_SET. 35343 35344Thu Mar 15 15:31:35 GMT 2001 Richard Boulton <richard.boulton@omsee.com> 35345 35346 * QuartzPositionList should no longer complain if positional 35347 information isn't available for a particular term / document 35348 combination. 35349 35350 * Updated todo. 35351 35352Thu Mar 15 13:55:53 GMT 2001 Richard Boulton <richard.boulton@omsee.com> 35353 35354 * Removed OmDocument::set_wdf() and OmDocument::add_term(). 35355 Replaced with OmDocument::add_term_nopos(), which adds a term 35356 without specifying positional information, taking an optional 35357 wdfinc parameter. Updated testsuite correspondingly. 35358 35359Thu Mar 15 13:14:10 GMT 2001 Richard Boulton <richard.boulton@omsee.com> 35360 35361 * Update TODO 35362 35363Wed Mar 14 17:51:40 GMT 2001 Richard Boulton <richard.boulton@omsee.com> 35364 35365 * Added new operator OP_ELITE_SET, which replaces match_max_or_terms 35366 option. Can now specify exactly which terms to apply max_or_terms 35367 to. max_or_terms is obsolete: an error will be thrown if an 35368 attempt is made to use it. 35369 35370Wed Mar 14 15:56:20 GMT 2001 Richard Boulton <richard.boulton@omsee.com> 35371 35372 * Added test for and implementation of multiple XOR queries. 35373 35374 * Fix small bugs with get_termfreq_est() for xor and andnot 35375 postlists. 35376 35377Mon Mar 5 16:08:01 GMT 2001 Chris Emerson <chris.emerson@omsee.com> 35378 35379 * Catch exceptions within the loop in SocketServer - exceptions 35380 should normally not kill the server. This means that that a 35381 client still works after eg an OmDocNotFoundError, which was 35382 causing problems before. 35383 35384Fri Mar 2 18:15:47 GMT 2001 Richard Boulton <richard.boulton@omsee.com> 35385 35386 * Add a new query operator, OP_WEIGHT_CUTOFF, which returns only 35387 those documents from a query which have a weight greater than a 35388 specified cutoff value. Also added OP_PERCENT_CUTOFF, but this 35389 is not yet implemented. 35390 35391 * Added test of new cutoff function, cutoff2. 35392 35393 * Updated network protocol to pass new queries. Increased protocol 35394 version number (to 10). 35395 35396 * Added set_cutoff() function to OmQuery, to set cutoff parameter. 35397 35398 * Updated TODO. 35399 35400 * Remove unused member "PostList * postlist" of LocalSubMatch. 35401 35402Thu Mar 1 12:04:53 GMT 2001 Richard Boulton <richard.boulton@omsee.com> 35403 35404 * Updates to HACKING. 35405 35406Wed Feb 28 18:42:47 GMT 2001 Richard Boulton <richard.boulton@omsee.com> 35407 35408 * Fixes to neaten up configure output, and to test for the Perl 35409 Text::Format module, thanks to James Aylett (patch slightly 35410 modified, so if it doesn't work it's probably my fault). 35411 35412 * configure.in checks for presence of ftime() and gettimeofday() 35413 35414 * Added OmTime, a class to deal with times to an accuracy of 35415 microseconds, or whatever the best accuracy the system supports 35416 is. 35417 35418 * Use OmTime in network code instead of time(NULL). 35419 35420Wed Feb 28 14:23:11 GMT 2001 Richard Boulton <richard.boulton@omsee.com> 35421 35422 * Merge common code from OmSocketLineBuf::wait_for_data() and 35423 OmSocketLineBuf::do_readline() into 35424 OmSocketLineBuf::attempt_to_read(), and thus fix bug in 35425 wait_for_data() when 0 bytes returned from read(). 35426 35427Tue Feb 27 18:40:33 GMT 2001 Richard Boulton <richard.boulton@omsee.com> 35428 35429 * Fixes to remote matcher code to cope better with failure of 35430 submatchers: 35431 - Timeout for all submatches now correctly start at same time. 35432 35433 * Added more extensive testing of above code, involving adding 35434 new parameters to inmemory to cause abort()s at various stages of 35435 the match. 35436 35437 * Remove obsolete (and unused) method 35438 SocketServer::read_global_stats() 35439 35440 * Errors are now generated from strings by using omerrortypes.h with 35441 suitable #defines before including it. Updated todo accordingly. 35442 35443 * Extend scope of try{} clause in socketserver, so that 35444 SocketServerFinished exception never escapes. 35445 35446 * Default timeout in progserver increased to 30000. 35447 35448 * Default timeout in tcpserver increased to 15000. 35449 35450Mon Feb 26 23:51:23 GMT 2001 Richard Boulton <richard.boulton@omsee.com> 35451 35452 * Split query generation into stages: make new query, add subqueries, 35453 then finalise. Add private methods to OmQuery reflecting this, and 35454 convert constructors into template methods, allowing any iterator 35455 to be used for constructing queries. Removed reference to 35456 <vector> from omquery.h 35457 35458 * Add omqueryinternal.cc, containing implementation of query 35459 internals. (surprise!) 35460 35461 * OmQuery::Internal now has some helper functions to determine the 35462 properties of each particular query. These should be converted 35463 into a lookup table, and the remaining hard-coded properties (for 35464 AND_MAYBE, AND_NOT and FILTER) factored out. 35465 35466 * window property removed from constructor. This can now be set by a 35467 separate call, to "OmQuery::set_window()" 35468 35469 * Added a deleter_vector class, to store subquery pointers in a more 35470 exception-safe way. 35471 35472 * Represent undefined queries by the new OP_UNDEF operation, rather 35473 than a dedicated flag - cleaned up some logic. 35474 35475 * Some modifications to XOR handling: should now behave like OR and 35476 AND - doesn't need to be binary. (*untested*) 35477 35478 * Fixes to serialisation code in socketcommon.cc to work with new 35479 OmQuery::Internals - this should really be done in 35480 OmQuery::Internal. 35481 35482 * One tiny fix in tcpclient.cc - an &fdset was missed for exception 35483 conditions in a select() call. 35484 35485 * Testsuite modified and expanded to check changes to OmQuery. 35486 35487Mon Feb 26 18:20:16 GMT 2001 Chris Emerson <chris.emerson@omsee.com> 35488 35489 * Fixed some compiler warnings reported by James Aylett. 35490 35491Mon Feb 26 14:27:09 GMT 2001 Chris Emerson <chris.emerson@omsee.com> 35492 35493 * Avoid waiting for a timeout when closing a SocketClient. 35494 35495Fri Feb 23 14:38:09 GMT 2001 Chris Emerson <chris.emerson@omsee.com> 35496 35497 * Updated todo.xml 35498 35499Thu Feb 22 18:14:41 GMT 2001 Chris Emerson <chris.emerson@omsee.com> 35500 35501 * OmRegexFilterNode has an output for non-matching strings as 35502 well as matching. "out" output renamed to "matching". 35503 35504Thu Feb 22 16:56:33 GMT 2001 Chris Emerson <chris.emerson@omsee.com> 35505 35506 * Fixed a bug in the fetch() bits: requesting documents at the 35507 same time from different OmMSet instances could cause a 35508 document to disappear from the cache at the wrong moment. 35509 35510Thu Feb 22 15:39:49 GMT 2001 Chris Emerson <chris.emerson@omsee.com> 35511 35512 * Updated todo. 35513 35514Thu Feb 22 12:14:12 GMT 2001 Richard Boulton <richard.boulton@omsee.com> 35515 35516 * Some small changes in quartz to improve exception safety and 35517 error checking. 35518 35519 * Remove unwanted OmExpandWeight::get_expand_k() method. 35520 35521Wed Feb 21 19:02:44 GMT 2001 Chris Emerson <chris.emerson@omsee.com> 35522 35523 * Overhauled the OmMSet::fetch() etc. methods. Documents are 35524 requested when fetch() is called, but are only fetched (all 35525 at once) when the first get_document() is called. 35526 35527Wed Feb 21 19:30:20 GMT 2001 Richard Boulton <richard.boulton@omsee.com> 35528 35529 * Add an errorhandler member to MultiMatch, and remove it from 35530 various calls which used to pass it about. 35531 35532 * Add an EmptyMatch object, which always returns an emptypostlist. 35533 35534 * Implement errorhandlers at start of query for initially down 35535 nodes. Improve test for errorhandlers to cover many more cases. 35536 35537 * Add many debug messages to error handling code. 35538 35539Wed Feb 21 14:33:50 GMT 2001 Chris Emerson <chris.emerson@omsee.com> 35540 35541 * Use a deque<> directly instead of a queue, due to conflict 35542 with Solaris headers. 35543 35544 * Split the collect_doc loop into a seperate function 35545 35546 * SocketClient should be more robust against request_doc() being 35547 used without collect_doc(). 35548 35549Tue Feb 20 18:01:13 GMT 2001 Chris Emerson <chris.emerson@omsee.com> 35550 35551 * SocketClient implements a queue/cache system which means that 35552 collect_doc() doesn't need to be called in the same order as 35553 request_doc(). 35554 35555Mon Feb 19 15:43:49 GMT 2001 Chris Emerson <chris.emerson@omsee.com> 35556 35557 * Converted btree code to use new/delete instead of [mc]alloc/free. 35558 35559Mon Feb 19 13:52:23 GMT 2001 Chris Emerson <chris.emerson@omsee.com> 35560 35561 * Added new test collapsekey2 designed to work with muscat36 35562 databases, which have different key handling. Added two new 35563 categories of tests to cope with this. 35564 35565 * Adjusted BackendManager's key generation, and updated 35566 test_specialterms1() accordingly. 35567 35568Fri Feb 16 17:26:59 GMT 2001 Chris Emerson <chris.emerson@omsee.com> 35569 35570 * Implemented a test for keep-alives 35571 35572 * Added "-tNNNN" option to omprogsrv to pass a timeout value in. 35573 35574 * Added get_network_database() in apitest to set the timeout. 35575 35576Fri Feb 16 16:13:47 GMT 2001 Chris Emerson <chris.emerson@omsee.com> 35577 35578 * Incremented the remote protocol version, since a new message 35579 type has been added. 35580 35581Fri Feb 16 15:55:31 GMT 2001 Chris Emerson <chris.emerson@omsee.com> 35582 35583 * Added an OmDatabase keep_alive() method to gently prod any 35584 remote databases. Applications can use it to avoid the remote 35585 servers timing out between queries. Not properly tested yet... 35586 35587Thu Feb 15 19:05:24 GMT 2001 Chris Emerson <chris.emerson@omsee.com> 35588 35589 * The remote server now supports a seperate timeout used while 35590 idle, rather than actually servicing a request from the client. 35591 Options --idle-timeout and --active-timeout added to omtcpsrv, 35592 and --timeout sets both timeouts. 35593 35594 * Added a documentation comment or two. 35595 35596Wed Feb 14 18:43:00 GMT 2001 Richard Boulton <richard.boulton@omsee.com> 35597 35598 * In Muscat3.6 backends, don't read the key from the keyfile unless 35599 keyno is 0. 35600 35601Tue Feb 13 13:57:34 GMT 2001 Andy MacFarlane <andym@omsee.com> 35602 35603 * Added parameter expand_k in omsettings in order to change 35604 value of weighting in expand process. 35605 35606Tue Feb 13 13:25:45 GMT 2001 Chris Emerson <chris.emerson@omsee.com> 35607 35608 * Network timeouts now apply to write() operations as well 35609 as read(). 35610 35611 * SocketLineBuf::do_writeline() now correctly deals with EAGAIN. 35612 35613 * SocketServer has new method writeline() which handles write 35614 access to the OmLineBuf. 35615 35616Mon Feb 12 12:35:41 GMT 2001 Richard Boulton <richard.boulton@omsee.com> 35617 35618 * Make OmPositionListIterators and any other appropriate iterators 35619 (postlist, termlist) have a default constructor allowing them to 35620 be declared uninitialised. 35621 35622Mon Feb 12 10:51:41 GMT 2001 Chris Emerson <chris.emerson@omsee.com> 35623 35624 * Updated todo.xml 35625 35626Thu Feb 8 17:59:44 GMT 2001 Chris Emerson <chris.emerson@omsee.com> 35627 35628 * Moved omnodepad.h from include/om to indexer/indexgraph/ 35629 35630 * Updated todo.xml 35631 35632Thu Feb 8 17:35:45 GMT 2001 Chris Emerson <chris.emerson@omsee.com> 35633 35634 * Updated todo.xml 35635 35636Thu Feb 8 17:00:02 GMT 2001 Chris Emerson <chris.emerson@omsee.com> 35637 35638 * Quartz now has a metafile which for now has a magic string 35639 and a version number. 35640 35641 * sys_open_to_read() and delete_file() exported from btree.cc. 35642 The latter was renamed to sys_unlink_if_exists(). 35643 35644 * Include btree_types.h from btree_util.h 35645 35646Wed Feb 7 17:33:00 GMT 2001 Chris Emerson <chris.emerson@omsee.com> 35647 35648 * Fix to InMemory databases: terms can be added even if they 35649 don't have any positions. (Was causing adddoc2 to fail). 35650 35651Tue Feb 6 18:06:13 GMT 2001 Richard Boulton <richard.boulton@omsee.com> 35652 35653 * Rename OmMSet::fetch_items() to fetch(). Add an overloaded 35654 fetch() method taking a single iterator, to fetch a single item. 35655 35656 * Fix some documentation comments. 35657 35658Mon Feb 5 19:16:45 GMT 2001 Richard Boulton <richard.boulton@omsee.com> 35659 35660 * Update TODO 35661 35662Mon Feb 5 19:12:39 GMT 2001 Richard Boulton <richard.boulton@omsee.com> 35663 35664 * Test behaviour of OmDocument methods add_term(), set_wdf(), 35665 remove_posting() and remove_term(). Fails for inmemory databases. 35666 35667Mon Feb 5 17:46:16 GMT 2001 Chris Emerson <chris.emerson@omsee.com> 35668 35669 * Modified the behaviour of timeouts during a match. Internally, 35670 an absolute timeout time is set from start_match(). Now remote 35671 nodes should timeout at NOW + remote_timeout, rather than 35672 waiting remote_timeout milliseconds for each read(). Needs 35673 some more testing. 35674 35675Mon Feb 5 17:21:52 GMT 2001 Richard Boulton <richard.boulton@open.muscat.com> 35676 35677 * Fix a missing #include in socketcommon.h 35678 35679Mon Feb 5 17:15:46 GMT 2001 Richard Boulton <richard.boulton@omsee.com> 35680 35681 * Sort generated todo lists. 35682 35683Fri Feb 2 17:44:54 GMT 2001 Richard Boulton <richard.boulton@omsee.com> 35684 35685 * Add an OmDocument::add_term() method. 35686 35687 * Remove an unwanted check that wdf's are greater than 0: wdf of 0 35688 _is_ allowed. 35689 35690Fri Feb 2 15:04:08 GMT 2001 Chris Emerson <chris.emerson@omsee.com> 35691 35692 * Hopefully, a fix for segfaults/assertions when network errors 35693 happen halfway through a match, when handled by OmErrorHandler 35694 objects: give the place-holder EmptyTermLists weighting objects. 35695 35696Thu Feb 1 19:03:10 GMT 2001 Richard Boulton <richard.boulton@omsee.com> 35697 35698 * Fixes to OmDocument interface: add parameters specifying the 35699 changes to be made to the wdf to add_posting and remove_posting, 35700 properly implement remove_posting and remove_term, including 35701 throwing of exceptions, and add a set_wdf() method to set the wdf 35702 to an absolute value. Corresponding modifications to 35703 OmDocumentTerm. 35704 35705 * Fix commented out errorhandler code in multimatch.cc, so it still 35706 compiles. 35707 35708 * Add a check to avoid division by zero in bm25weight.cc 35709 35710Thu Feb 1 15:59:30 GMT 2001 Richard Boulton <richard.boulton@open.muscat.com> 35711 35712 * Add a missed #include to omqueryinternal.h 35713 35714Thu Feb 1 14:44:04 GMT 2001 Richard Boulton <richard.boulton@omsee.com> 35715 35716 * Add some error handler code, with a "#if 0"ed out comment, 35717 to multimatch.cc 35718 35719Wed Jan 31 15:45:16 GMT 2001 Chris Emerson <chris.emerson@omsee.com> 35720 35721 * Remote servers should close down more gracefully when the 35722 client closes down in the middle of a request. 35723 35724Tue Jan 30 16:52:05 GMT 2001 Richard Boulton <richard.boulton@omsee.com> 35725 35726 * Removed unneeded #includes of STL headers from API headers. 35727 35728 * All #includes of files which are not installed use "" rather than 35729 <>. This means all #includes of OM files except for those which 35730 are in example programs (and hence might be compiled against the 35731 installed library). "" search paths are a superset of <> search 35732 paths: hence this should ensure that the om headers work however 35733 they are used. 35734 35735 * Moved supplied OmExpandDecider subclasses into 35736 include/om/omexpanddecider.h 35737 35738 * Remove om_termname_list from API: not used except by code which 35739 displays it, and in testsuite. 35740 35741Tue Jan 30 12:45:22 GMT 2001 Chris Emerson <chris.emerson@omsee.com> 35742 35743 * Removed #include <vector> from omstem.h 35744 35745Tue Jan 30 11:09:29 GMT 2001 Chris Emerson <chris.emerson@omsee.com> 35746 35747 * OmStem::get_available_languages() now returns a string 35748 rather than a vector. Languages are space-separated. 35749 Updated apitest. 35750 35751 * Added definition of RTLD_DEFAULT to internaltest.cc 35752 35753Mon Jan 29 16:11:15 GMT 2001 Chris Emerson <chris.emerson@omsee.com> 35754 35755 * OmIndexerMessage's copy-on-write slightly more careful. 35756 35757 * Improved debugging in OmIndexerNode 35758 35759 * Fixed a bug in the termlistadd node - it tried to append to a 35760 non-vector. 35761 35762Fri Jan 26 16:21:09 GMT 2001 Olly Betts 35763 35764 * indexerxml.cc: Removed some dead code. 35765 35766Fri Jan 26 16:11:13 GMT 2001 Chris Emerson <chris.emerson@omsee.com> 35767 35768 * Added omindexerdescinternal.h to the Makefile 35769 35770Fri Jan 26 15:50:32 GMT 2001 Richard Boulton <richard.boulton@omsee.com> 35771 35772 * Move OmQuery definition into a separate header file. 35773 35774Fri Jan 26 15:46:42 GMT 2001 Richard Boulton <richard.boulton@omsee.com> 35775 35776 * Move OmQuery::OP_LEAF out of public visibility, by taking it out 35777 of the enum, making it a static const member of OmQuery::Internal, 35778 and introducing an OmQuery::Internal::op_t to store query 35779 operators in internally. We lose the ability for the compiler to 35780 warn us if we forget to check for a particular operator in a 35781 switch statement, but this can't really be avoided. 35782 35783Fri Jan 26 13:49:33 GMT 2001 Chris Emerson <chris.emerson@omsee.com> 35784 35785 * Added get_output_{node,pad} to OmIndexerDesc 35786 35787 * Implemented and testes OmNodeInstanceIterator 35788 35789 * Implemented OmIndexerBuilder::build_from_desc, which somehow 35790 hadn't been. indextest now uses it. 35791 35792Thu Jan 25 18:47:08 GMT 2001 Olly Betts 35793 35794 * Fixed various .cvsignore files (omus -> omsee, and 35795 bindings/java/.cvsignore which seemed to have been copied from 35796 the top level one at some point). 35797 35798 * Fixed bug in OrPostList when used in a pure boolean context 35799 (uninitialised variables). 35800 35801 * tests/internaltest.cc: removed unused reference to getopt.h. 35802 35803 * tests/stemtest.pl.in: removed lots of bogus semicolons after 35804 closing braces. 35805 35806Thu Jan 25 17:53:08 GMT 2001 Richard Boulton <richard.boulton@omsee.com> 35807 35808 * Turn debugging messages (OM_DEBUG_TYPES) off by default. 35809 35810 * Add todo items for release to pages generated for website. 35811 35812Thu Jan 25 15:11:14 GMT 2001 Richard Boulton <richard.boulton@omsee.com> 35813 35814 * Add a couple of documentation comments: we need many more of 35815 these. No method, and certainly no class, in the API should be 35816 without an explanatory comment (not least so that they're 35817 accessible from the doxygen browser). 35818 35819Thu Jan 25 14:51:55 GMT 2001 Chris Emerson <chris.emerson@omsee.com> 35820 35821 * Hide the internals of OmIndexerDesc, and adding member functions 35822 to do all the necessary operations (not all yet implemented). 35823 35824 * Indexer internals mostly deal with OmIndexerDesc::Internal 35825 35826 * Removed '#include <vector>' from omindexerdesc.h 35827 35828Thu Jan 25 13:45:49 GMT 2001 Richard Boulton <richard.boulton@omsee.com> 35829 35830 * When setting up an RSet, allow documents to be referenced by 35831 OmMSetIterator, for convenience. 35832 35833 * Allow OmMSetIterators and OmESetIterators to be created without 35834 initialising, also for convenience. 35835 35836 * Include CFLAGS for STLPORT in the flags produced by omsee-config. 35837 35838 * Change several more missed "omus"s to omsee. 35839 35840Thu Jan 25 13:50:06 GMT 2001 Chris Emerson <chris.emerson@omsee.com> 35841 35842 * Changed a mention of libomus in netprogs/Makefile.am to libomsee 35843 35844Thu Jan 25 12:33:46 GMT 2001 Richard Boulton <richard.boulton@omsee.com> 35845 35846 * Build only the API docs when making dist / install. Full source 35847 docs only get built if explicitly asked for. 35848 35849Thu Jan 25 11:36:39 GMT 2001 Richard Boulton <richard.boulton@omsee.com> 35850 35851 * Project name changed to Omsee. 35852 35853 Ramifications from a technical viewpoint are: 35854 35855 - library name changed from libomus.* to libomsee.* 35856 - libomus-config renamed to omsee-config 35857 - Autoconf macro file libomus.m4 renamed to omsee.m4, 35858 macro name OM_PATH_LIBOMUS changed to OM_PATH_OMSEE 35859 and macro now defines OMSEE_CFLAGS and OMSEE_LIBS rather 35860 than LIBOMUS_CFLAGS and LIBOMUS_LIBS. configure arguments 35861 changed name, also. 35862 35863Wed Jan 24 15:57:10 GMT 2001 Richard Boulton <richard.boulton@open.muscat.com> 35864 35865 * Improve test of OmMSetIterators equality comparisions. 35866 35867 * Update TODO 35868 35869Wed Jan 24 15:11:11 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com> 35870 35871 * Renamed OmNodeConnection to OmNodePad. The old name was 35872 confusing. 35873 35874 * Added OmPadIterator, and OmNodeDescriptor::{in,out}puts_{begin,end}. 35875 Also implemented OmNodeDescriptor::get_type() 35876 35877 * Added output function for OmPadIterator 35878 35879 * Added test for OmPadIterators 35880 35881Tue Jan 23 19:01:29 GMT 2001 Richard Boulton <richard.boulton@open.muscat.com> 35882 35883 * Remove OmBatchEnquire from system: it may return at a later date, 35884 but for now it is simply out of date and a maintainance liability, 35885 and gives no significant advantage. Code now exists in 35886 ombatchenquire.h in CVS, but is not part of build process. 35887 35888 * Make OmEnquire and OmMSet have reference counted internals: this 35889 introduces a further layer of indirection, but tidies up things 35890 greatly. 35891 35892 * Remove get_docs() and get_doc() methods from OmEnquire. 35893 get_doc(docid) is catered for by OmDatabase::get_document(docid). 35894 Added OmMSetIterator::get_document() to replace get_doc on a 35895 MSetIterator. Added OmMSet::fetch_items() to replace get_docs(): 35896 it prefetches the documents (or just those specified by some 35897 MSetIterators into a cache in the Mset). 35898 35899 * OmMSet internals now have a reference to the creating OmEnquire 35900 object: this is set up after the mset returns from the matcher. 35901 If the reference is null, the Mset was created standalone, and 35902 get_doc methods will fail. 35903 35904 * OmMSetIterators now have a reference to the MSet, instead of a 35905 percent_factor stored. This allows the percent_factor to be 35906 lazily calculated, and also allows get_doc to work. 35907 35908 * Add get_rank() method to OmMSetIterators. 35909 35910 * Improve introspection on OmDocument, and fix a bug with assignment 35911 of OmDocument (wasn't assigning most of the internals). 35912 35913 * Add a missing std:: on a string in omstopwordnode. 35914 35915 * Fixed several documentation comments. 35916 35917 * Add some more debugging to quartz. 35918 35919 * Update TODO. 35920 35921 * Add test_fetchdocs1 to apitest. Disable test_batchquery1. 35922 35923 * Remove sign comparison error in VectorTermList. 35924 35925Tue Jan 23 16:24:04 GMT 2001 Olly Betts 35926 35927 * No longer compile with -ansi under gcc - it causes problems by 35928 preventing Linux system headers defining various functions we need. 35929 35930 * testsuite/testsuite.cc: when reporting exceptions, display 35931 exception's errno value if set. 35932 35933Tue Jan 23 15:13:58 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com> 35934 35935 * Killed OmIndexerBuilder::NodeType. Now use OmNodeDescriptor 35936 in its place, getting rid of another vector usage in the API. 35937 35938 * OmNodeDescriptor adjusted for its new role: internals are 35939 refcounted, and some query as well as setting functions. 35940 35941 * Cast the fourth argument to getsockopt() to void *. On Solaris 35942 that argument is char *. 35943 35944Tue Jan 23 11:24:13 GMT 2001 Olly Betts 35945 35946 * Tiny tweak to da_document.cc. 35947 35948Fri Jan 19 18:36:15 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com> 35949 35950 * Removed get/set vector methods from OmSettings 35951 35952 * Remote/prog arguments now passed in a string separated be spaces, 35953 not a vector. 35954 35955 * split_words() moved from netutils.h to utils.{h,cc} 35956 35957 * Some unnecessary #include <vector> lines removed from API headers 35958 35959 * Removed get_config_vector() from OmIndexerNode 35960 35961 * OmConstantNode no longer handles vector values, and 35962 OmStopWordNode and OmSelectItemsNode use space-separated 35963 values instead. 35964 35965Thu Jan 18 17:31:55 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com> 35966 35967 * Removed mentions of std::vector from OmIndexerMessage, and 35968 updated the relevant bits. 35969 35970 * Fixed a bug with the copy-on-write parts of OmIndexerMessage. 35971 35972Thu Jan 18 17:09:43 GMT 2001 Richard Boulton <richard.boulton@open.muscat.com> 35973 35974 * Fix to btreetest.cc: shouldn't fail if test data files are not 35975 available. 35976 35977 * Fix to multimatch.cc: clamp hits values to number of documents 35978 matched after collapsing and match functors, rather than before. 35979 35980Thu Jan 18 14:13:21 GMT 2001 Richard Boulton <richard.boulton@open.muscat.com> 35981 35982 * Fix error messages thrown by quartz when a database doesn't exist / 35983 already exists and isn't to be overwritten. 35984 35985 * Make quartz clean up an old database directory, if 35986 database_allow_overwrite is specified, so that old base files don't 35987 confuse things. 35988 35989Wed Jan 17 18:18:50 GMT 2001 Richard Boulton <richard.boulton@open.muscat.com> 35990 35991 * Added all used toplevel directories to DIST_SUBDIRS 35992 35993Wed Jan 17 18:13:50 GMT 2001 Richard Boulton <richard.boulton@open.muscat.com> 35994 35995 * Martin committed changes to btree.cc which should fix some random 35996 problems experienced with quartz. 35997 35998 * Added in a test framework for the btree code, which exhibited the 35999 bug fixed by martin until updating to his fixed version. 36000 36001Wed Jan 17 16:10:02 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com> 36002 36003 * Moved the socklen_t definition so that tcpclient.cc could see 36004 it. 36005 36006Tue Jan 16 20:35:18 GMT 2001 Richard Boulton <richard.boulton@open.muscat.com> 36007 36008 * Fix creation of quartz databases in backendmanager: all tests should 36009 now pass. 36010 36011Tue Jan 16 20:28:46 GMT 2001 Richard Boulton <richard.boulton@open.muscat.com> 36012 36013 * Fix quartztest so that the tables / databases get created. 36014 Implement new test "create1" to check that creation of databases 36015 works as specified. 36016 36017 * Fix test for whether we are allowed to overwrite a database. 36018 36019 * Implement much better logging from quartz when making new databases. 36020 36021 * Clean up an error message from btree.cc 36022 36023Tue Jan 16 19:24:49 GMT 2001 Richard Boulton <richard.boulton@open.muscat.com> 36024 36025 * Don't display messages about allocation failures in the first 36026 iteration: if the failures go away when repeating, we're not 36027 interested. 36028 36029Tue Jan 16 18:28:03 GMT 2001 Richard Boulton <richard.boulton@open.muscat.com> 36030 36031 * Add two new OmSettings, for use when opening databases: 36032 database_create and database_allow_overwrite. The idea is that 36033 databases will only be created if database_create is specified, 36034 and that when they are being created an exception will be thrown 36035 if there's an existing database unless database_allow_overwrite 36036 is specified. 36037 36038 * Implemented database_create and database_allow_overwrite for 36039 Quartz, which is the only relevant type for now. Note that this 36040 breaks the testsuite, quite badly. 36041 36042 * Add OmDatabaseCreateError, which is thrown when creating a database 36043 fails. 36044 36045Tue Jan 16 17:08:47 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com> 36046 36047 * Fixed a typo in -ldl detection 36048 36049Tue Jan 16 15:15:30 GMT 2001 Richard Boulton <richard.boulton@open.muscat.com> 36050 36051 * Remove OmNeedRecoveryError, and quartz's quartz_perform_recovery 36052 parameter. Quartz now always performs recovery if needed: there 36053 is no need for this added complication. 36054 36055 * Update TODO 36056 36057Tue Jan 16 14:25:03 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com> 36058 36059 * Changed references to SIGCLD to SIGCHLD as it's more portable. 36060 36061Tue Jan 16 14:02:34 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com> 36062 36063 * Added check for whether -ldl is necessary. 36064 36065Tue Jan 16 11:51:25 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com> 36066 36067 * Added compatibility bits for early libxml1 versions. 36068 36069Mon Jan 15 18:18:01 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com> 36070 36071 * Removed use of hstrerror, which isn't portable. 36072 36073Mon Jan 15 18:02:42 GMT 2001 Richard Boulton <richard.boulton@open.muscat.com> 36074 36075 * Fix assertion which was the wrong way round in multimatch.cc 36076 36077Mon Jan 15 17:46:13 GMT 2001 Richard Boulton <richard.boulton@open.muscat.com> 36078 36079 * Fix initialisation of Btree_base::sequential when creating database. 36080 36081Mon Jan 15 15:43:46 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com> 36082 36083 * Renamed some uses of XML node structure for libxml2 compatibility. 36084 36085Mon Jan 15 15:35:50 GMT 2001 Richard Boulton <richard.boulton@open.muscat.com> 36086 36087 * Add some fixes to sequential access to btrees from Martin. 36088 36089Mon Jan 15 12:23:02 GMT 2001 Richard Boulton <richard.boulton@open.muscat.com> 36090 36091 * Set matches_* to the known value of the number of hits if we have 36092 been unable to return as many hits as were requested, and therefore 36093 know the exact number. 36094 36095 * Update test_matches1() to check this works correctly. Passes. 36096 36097Fri Jan 12 17:45:27 GMT 2001 Richard Boulton <richard.boulton@open.muscat.com> 36098 36099 * Implement get_doclength() for QuartzDatabase 36100 36101 * Remove unused parameter from QuartzRecordManager::add_record() 36102 36103Fri Jan 12 17:14:16 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com> 36104 36105 * Fixed MultiAllTermsList, which had stopped working. 36106 36107Fri Jan 12 15:32:34 GMT 2001 Richard Boulton <richard.boulton@open.muscat.com> 36108 36109 * Add test to apitest (postlist6) that doclengths got from postlists 36110 are the same as those from databases. Fails for Quartz for the 36111 moment. 36112 36113 * Add test to quartztest (disktable3) to try and bring out a bug in 36114 adding to tables. 36115 36116Fri Jan 12 15:20:09 GMT 2001 Richard Boulton <richard.boulton@open.muscat.com> 36117 36118 * Fix STLport macro so that it will accept an STLport installation 36119 with foo/include/stlport and foo/lib instead of foo/stlport and 36120 foo/lib. 36121 36122Fri Jan 12 14:04:37 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com> 36123 36124 * Fixed buglet in configure.in which produced a bogus warning 36125 about regex libraries. 36126 36127 * Added an AC_MSG_RESULT corresponding to an AC_MSG_CHECKING 36128 for the libxml flags 36129 36130Fri Jan 12 13:18:07 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com> 36131 36132 * Fixed skip_to() in QuartzAllTermsList 36133 36134Fri Jan 12 12:52:57 GMT 2001 Richard Boulton <richard.boulton@open.muscat.com> 36135 36136 * Turn debugging off in btree.cc: accidentally committed a version 36137 with lots of verbose debugging on. 36138 36139Fri Jan 12 11:16:17 GMT 2001 Olly Betts 36140 36141 * glibc 2.2 needs `#define _GNU_SOURCE' to give us RTLD_NEXT. 36142 36143 * C++ comments changed to C comments in malloccheck.c. 36144 36145Thu Jan 11 16:42:07 GMT 2001 Olly Betts 36146 36147 * Removed unnecessary `#include "alltermslist.h"' from 36148 d[ab]_database.h. 36149 36150Wed Jan 10 14:28:10 GMT 2001 Olly Betts 36151 36152 * Updated various .cvsignore files. 36153 36154Tue Jan 09 19:03:12 GMT 2001 Olly Betts 36155 36156 * Tidied up dead code from OmAllTermIterator. 36157 36158Tue Jan 09 18:41:21 GMT 2001 Olly Betts 36159 36160 * OmAllTermsIterator merged into OmTermIterator. 36161 36162 * When iterating over all terms, skip_to() doesn't set at_end() 36163 when it skips off the end. Fixed except for quartz and added 36164 regression test (allterms3). 36165 36166Tue Jan 9 18:14:04 GMT 2001 Richard Boulton <richard.boulton@open.muscat.com> 36167 36168 * Add some extra debugging code into btree code in quartz. 36169 36170Tue Jan 9 17:22:12 GMT 2001 Richard Boulton <richard.boulton@open.muscat.com> 36171 36172 * Make skip_to() work (ie, do nothing) on OmTermIterators, when the 36173 term iterator is at_end() already. 36174 36175Tue Jan 9 13:32:08 GMT 2001 Richard Boulton <richard.boulton@open.muscat.com> 36176 36177 * Updates to make the quartzdump utility more useful. 36178 36179 * Added new test to test cursor behaviour in quartz. 36180 36181Tue Jan 9 11:31:26 GMT 2001 Richard Boulton <richard.boulton@open.muscat.com> 36182 36183 * Remove an item from TODO 36184 36185Tue Jan 9 10:27:35 GMT 2001 Richard Boulton <richard.boulton@open.muscat.com> 36186 36187 * Add a missing \ in tests/Makefile.am 36188 36189Mon Jan 8 19:03:42 GMT 2001 Richard Boulton <richard.boulton@open.muscat.com> 36190 36191 * Increment format number in quartz/btree_base.cc. This isn't 36192 actually due to a change in the btree format, but to ensure that 36193 some databases which were causing problems are rebuilt. 36194 36195 We need to add quartz format numbers, separate from the btree format 36196 numbers, to check this kind of thing. 36197 36198Mon Jan 8 15:13:04 GMT 2001 Richard Boulton <richard.boulton@open.muscat.com> 36199 36200 * Add some debugging, and fix a test data file. 36201 36202Mon Jan 8 13:49:50 GMT 2001 Richard Boulton <richard.boulton@open.muscat.com> 36203 36204 * Fix failure to initialise OmMSet::Internal::have_percent_factor. 36205 36206Thu Jan 4 17:21:24 GMT 2001 Richard Boulton <richard.boulton@open.muscat.com> 36207 36208 * Add new test for a postlist with many documents, designed to fail 36209 and exhibit the bug andy has found. So far doesn't fail. 36210 36211Wed Jan 3 19:30:30 GMT 2001 Richard Boulton <richard.boulton@open.muscat.com> 36212 36213 * Add get_percent method to OmMSetIterator. Untested. 36214 36215 * Add om_percent type to om_types. 36216 36217 * Add test of sort order of terms in get_matching_terms. 36218 36219Tue Jan 2 15:05:53 GMT 2001 Richard Boulton <richard.boulton@open.muscat.com> 36220 36221 * Move documentation of parameters for OmSettings out of omsettings.h 36222 and into docs/. Not in distribution at the moment: it is awaiting 36223 placement into a permanent home (I think the user manual is the 36224 correct place). 36225 36226 * Add a bm25weight_min_normlen parameter: this specifies a cutoff 36227 on the minimum value that can be used for a normalised document 36228 length: smaller values will be forced up to this cutoff. This 36229 prevents very small documents getting a huge bonus weight. 36230 36231Wed Dec 20 16:54:41 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 36232 36233 * Fix warning in QuartzTable 36234 36235Wed Dec 20 15:13:05 GMT 2000 Olly Betts 36236 36237 * OmTermListIterator merged into OmTermIterator. 36238 36239 * Added OmRSet::contains() - checks if an RSet contains a given 36240 docid. 36241 36242 * Methods returning `const om_termname' now just return 36243 `om_termname'. 36244 36245Tue Dec 19 16:55:02 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com> 36246 36247 * Implemented AllTermsIterator for DA and Multi databases. 36248 Added a test which actually uses a multidatabase, but 36249 disabled it as it currently fails for both Quartz and DA. 36250 36251Tue Dec 19 12:14:05 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com> 36252 36253 * Adjusted TODO 36254 36255Tue Dec 19 20:06:43 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 36256 36257 * Escaping for termnames in remote database communication modified 36258 to use only characters in range 33 to 126. Should now work on all 36259 architectures. 36260 36261 * Increased OM_SOCKET_PROTOCOL_VERSION to 8. 36262 36263Mon Dec 18 17:23:48 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 36264 36265 * Added "match_cutoff" option to get_mset OmSettings. 36266 36267 * Added test for "match_cutoff" to apitest. 36268 36269 * Updated todo.xml 36270 36271Mon Dec 18 17:19:40 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com> 36272 36273 * Implemented opening positionlists from inmemory databases. Added 36274 a testcase as well, which is run for quartz and inmemory. 36275 36276Mon Dec 18 15:48:16 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com> 36277 36278 * Implemented AllTermsIterator for quartz. Interaction with 36279 QuartzPostList needs to be cleaned up. 36280 36281 * Added new functions [un]pack_string_preserving_sort(), which 36282 pack a string in a way which preserves sort order. Added a 36283 testcase to quartztest. 36284 36285 * Now use [un]pack_string_preserving_order() on postlist keys, so 36286 that we can get at terms in sorted order. (And get_tname_from_key() 36287 added to separate out the term-unpacking as well as the packing) 36288 36289 * Enabled test_allterms1 in apitest, but put it in a group of 36290 tests only run for inmemory and quartz. This should be extended 36291 to other backends. 36292 36293Mon Dec 18 14:33:42 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 36294 36295 * Implemented tests of msetiterator and esetiterator copying and 36296 assignment. 36297 36298 * Fix segfault when assigning to [me]setiterator to end. 36299 36300 * Updated todo.xml 36301 36302Mon Dec 18 13:52:53 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 36303 36304 * Move creation of first key in a quartz postlist into a named 36305 function (was scattered through the code). 36306 36307Mon Dec 18 11:19:53 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 36308 36309 * Update todo.xml 36310 36311Mon Dec 18 10:47:42 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 36312 36313 * Remove const from reverse_iterators in api_db.cc, so get around 36314 brokenness of egcs 1.1.2 36315 36316Mon Dec 18 09:41:54 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com> 36317 36318 * Added apitest_space.txt to the Makefile.am 36319 36320Sun Dec 17 16:15:03 GMT 2000 Olly Betts 36321 36322 * Replaced all API uses of om_termname_list with OmTermIterator. 36323 36324Fri Dec 15 18:54:10 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com> 36325 36326 * Implemented OmAllTermsIterator interface in API. It works for 36327 inmemory - the rest haven't been implemented yet. The test 36328 is commented out. 36329 36330Fri Dec 15 15:47:53 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 36331 36332 * Updated TODO. 36333 36334 * database returns positionlists as AutoPtrs; this neatens some of 36335 the code from the previous changelog entry, and makes explicit the 36336 ownership of the pointer. postlists and termlists should be 36337 AutoPtrs, likewise. 36338 36339Fri Dec 15 14:59:41 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 36340 36341 * Make OmPositionListIterators retrieved from OmPostListIterators 36342 valid indefinitely (were only valid until OmPostListIterator was 36343 moved). This makes them consistent with OmPositionListIterators 36344 retrieved from OmDatabases. 36345 36346 * Renamed PostList::get_position_list() to read_position_list. 36347 Added PostList::open_position_list() which opens a new positionlist 36348 and returns it as an AutoPtr. 36349 36350Fri Dec 15 13:09:51 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 36351 36352 * Make TODO.release file, containing TODO items for next release. 36353 36354Fri Dec 15 12:06:42 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 36355 36356 * QuartzDatabases now autoflush after 1000 changes. 36357 36358Fri Dec 15 11:40:37 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 36359 36360 * Fix segfault in quartz_table 36361 36362Fri Dec 15 11:23:15 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com> 36363 36364 * Removed begin/end_session() from quartztest 36365 36366Thu Dec 14 19:19:40 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 36367 36368 * Done todo item: For writable databases, make the behaviour currently 36369 obtained by calling begin_session() and later end_session() the 36370 default behaviour. If users want the changes to be applied 36371 immediately following a change, they should call flush(). 36372 36373Thu Dec 14 17:48:27 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 36374 36375 * Fix problem with recalc_maxweight() not being called before a 36376 get_maxweight() in multimatch.cc if a node prunes at the top level, 36377 since recalculate_w_max wasn't being checked at this point. 36378 Introduced helper function getorrecalc_maxweight() to tidy this up. 36379 36380 * Tidy up Asserts in common/netutils.h. 36381 36382Thu Dec 14 17:11:17 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com> 36383 36384 * Adjusted todo.xml 36385 36386Thu Dec 14 16:21:27 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com> 36387 36388 * Removed handling of OmDatabaseModifiedError in the API - it's 36389 up to the users to know what to do. Disabled quartzoverwrite2 36390 as it's now inappropriate. 36391 36392 * Added OmDatabase::reopen() to help them do so. 36393 36394 * Adjusted todo.xml 36395 36396Thu Dec 14 14:38:39 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 36397 36398 * Added another quoting regression test. 36399 36400Thu Dec 14 14:36:53 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com> 36401 36402 * Fixed the quoting _again_, since it broke with backslashes. 36403 36404Thu Dec 14 12:49:58 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 36405 36406 * Fix problems with recalculation of maxweight in postlists, causing 36407 AssertParanoid at multimatch.cc:393. When a prune was happening, 36408 recalc_maxweight flag was not always being set, because some 36409 {next,skip_to}_handling_prune() methods weren't being passed the 36410 matcher, and a default argument of 0 was being used. I've now 36411 removed the default argument and pass the matcher always. 36412 36413 Sometimes the recalc could perhaps be avoided, but this is 36414 certainly safer for now. 36415 36416Thu Dec 14 12:30:02 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com> 36417 36418 * Sleepcat is now disabled by default. 36419 36420 * Fixed a problem with tabs not being quoted in the remote case. All 36421 control characters are now quoted. Incremented the protocol ver 36422 number. 36423 36424Thu Dec 14 11:54:17 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 36425 36426 * Added regression test to check that all characters can be 36427 are safe to exist in document keys. 36428 36429 * Fixed OmDebug so that it can display messages containing zero bytes 36430 (use fwrite instead for fprintf) 36431 36432Wed Dec 13 18:43:40 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 36433 36434 * Add regression tests to apitest to check that OmMSet and OmESet 36435 begin() and end() iterators compare equal if the mset is empty. 36436 Fix matchfunctor used in test_matchfunctor1 so that it works for 36437 Muscat3.6 databases. 36438 36439Wed Dec 13 18:35:05 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com> 36440 36441 * Fixed bugs in OmMSet and OmESet iterators: begin() when the set 36442 was empty produced an invalid iterator, and the assignment 36443 operators would have failed when end iterators were involved. 36444 36445 * Added a check in test_matchfunctor1() that the mset returned is 36446 not empty. 36447 36448Wed Dec 13 18:18:09 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 36449 36450 * Turn off tests involving terms with newlines or zero bytes in terms 36451 with Muscat3.6 backends; these can't be expected to work. 36452 36453Wed Dec 13 18:06:29 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com> 36454 36455 * Uncommented the code in pctcutoff1 - test now passes. 36456 36457Wed Dec 13 17:53:19 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 36458 36459 * Fix: m36_key_file parameter wasn't being set with DA flimsy 36460 databases (thanks to Mark Hagger). 36461 36462 * indextest.cc changed to use "\n" instead of endl - compiles 36463 with STLport again. 36464 36465Wed Dec 13 17:27:17 GMT 2000 Olly Betts 36466 36467 * OmMSet is now an STL compatible container. 36468 36469 * Om*Iterator::difference_type was unsigned - now signed. 36470 36471 * net/readquery.ll: fixed compiler warning. 36472 36473 * Remote backend was defaulting to collapse on key 0. 36474 36475Wed Dec 13 16:48:49 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com> 36476 36477 * Add handling of DatabaseModified to OmEnquire::get_mset() 36478 36479Wed Dec 13 16:28:47 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 36480 36481 * Escape zero bytes in the network protocol, since these were 36482 breaking things when being passed across as part of keys. 36483 36484 * Add test of having zero bytes in the collapse keys. 36485 36486 * In testsuite, only display the context of errors if there is one 36487 present. 36488 36489Wed Dec 13 14:44:46 GMT 2000 Olly Betts 36490 36491 * Implemented OmMSet::operator[](). 36492 36493Wed Dec 13 14:30:57 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com> 36494 36495 * Added support for handling overwritten database conditions. 36496 Currently works for OmDocument::get_{data,key}(). 36497 36498Wed Dec 13 13:20:45 GMT 2000 Olly Betts 36499 36500 * Elaborated API hitlist in todo.xml. 36501 36502Wed Dec 13 12:28:18 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com> 36503 36504 * Fix to BackendManager to stop it removing tables prematurely. 36505 36506Wed Dec 13 11:49:53 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com> 36507 36508 * Apply the stemmer to query terms used in spaceterms1. (Not doing 36509 so caused the test to fail spuriously on local databases, since the 36510 terms are stemmed at index time). The test still fails with da and 36511 db databases. 36512 36513 * Fixed a problem when stats were unpacked from the network stream, 36514 where term names were not correctly unquoted. This led to double 36515 quoting of global statistics. 36516 36517Wed Dec 13 02:49:05 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 36518 36519 * Implement copy and assignment methods for OmPositionListIterator. 36520 36521Wed Dec 13 02:37:14 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 36522 36523 * ESet and MSet iterators now cope with being copied / assigned when 36524 the internals are null. 36525 36526 * Added copy method to OmPositionListIterator interface. No 36527 implementation for this yet though, or for the already existing 36528 assignment method. 36529 36530 * Added a couple of easy items to the todo list to check regarding 36531 iterators. 36532 36533Wed Dec 13 02:19:50 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 36534 36535 * Fix small bug in mset_range_is_same{,_weights}() 36536 36537Wed Dec 13 02:07:59 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 36538 36539 * And add copy and assignment for OmESet, similarly. 36540 36541Wed Dec 13 01:58:38 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 36542 36543 * Add copy and assignment operators to OmMSet so that the internals 36544 get copied (rather than just the pointer to them). Really want a 36545 small internals class, holding a refcount to the real internals, or 36546 else to use refcntptrs for the members of OmMSet::Internal which are 36547 potentially large (eg, items) 36548 36549Wed Dec 13 01:05:44 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 36550 36551 * Add Asserts to api/omdatabaseinternal.cc to ensure that there is at 36552 least one database present when opening termlists, etc. This should 36553 really be done by throwing errors. 36554 36555 * Add destructor to OmMSet, deleting internals. 36556 36557 * Implement getting positionlists from QuartzDatabases. 36558 36559 * Fix bug in copy constructor of OmDocument::Internal - some fields 36560 were not being copied. 36561 36562 * Fix api_db.cc so it compiles: code referring to mset by subscripting 36563 temporarily commented out. 36564 36565Tue Dec 12 20:05:10 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 36566 36567 * Fix bug with truncation of intermediate keys in btrees. 36568 36569Tue Dec 12 18:33:12 GMT 2000 Olly Betts 36570 36571 * OmMSet::get_docs() now takes sane parameters. 36572 36573 * Various test programs updated to nearly work with new OmMSet 36574 interface. 36575 36576Tue Dec 12 17:18:33 GMT 2000 Olly Betts 36577 36578 * Finished cleaning up OmMSet; updated TODO to reflect this. 36579 36580Tue Dec 12 17:16:02 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 36581 36582 * Fix bug with sorting keys in btrees. 36583 36584 * Various fixes to quartzdump. 36585 36586Tue Dec 12 15:40:28 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com> 36587 36588 * Nettest compiles with new OmMSet interface. 36589 36590Tue Dec 12 15:09:14 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com> 36591 36592 * Fixed an endless loop in QuartzWritableDatabase::do_delete_document. 36593 36594Tue Dec 12 15:07:39 GMT 2000 Olly Betts 36595 36596 * OmMSetItem replaced by OmMSetIterator. 36597 36598 * Added OmESet::empty(). 36599 36600 * Fixed == on OmESetIterator. 36601 36602Tue Dec 12 14:16:57 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com> 36603 36604 * Renamed arguments to compare_keys() 36605 36606Tue Dec 12 12:05:24 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 36607 36608 * Added quartzdump utility to dump the contents of a quartz table. 36609 36610Tue Dec 12 10:54:44 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com> 36611 36612 * Added constructors and destructor to OmRSet. 36613 36614Mon Dec 11 16:32:07 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 36615 36616 * Remove caching of average length in OmDatabaseInternal, was breaking 36617 asking for the average length of a database which was being 36618 modified. 36619 36620Mon Dec 11 16:03:46 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 36621 36622 * If no documents in database, don't divide by zero in 36623 omdatabaseinternal.cc 36624 36625 * If a document object doesn't come from the database, when iterating 36626 through its termlist don't open postlists from the nonexistent 36627 database; open them from the DocumentTerm objects in the document 36628 instead. 36629 36630 * Remove old unused and undefined method 36631 OmDocument::Internal::add_posting() 36632 36633Mon Dec 11 13:53:18 GMT 2000 Olly Betts 36634 36635 * omenquire.h: Removed superfluous declaration of OmMSetCmp. 36636 36637Mon Dec 11 13:38:12 GMT 2000 Olly Betts 36638 36639 * Updated TODO list. 36640 36641Mon Dec 11 13:24:45 GMT 2000 Olly Betts 36642 36643 * OmRSet internals encapsulated. 36644 36645Mon Dec 11 12:42:02 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com> 36646 36647 * OmIndexerMessage::get_element and ...::operator[] now have 36648 non-const versions. Fixes const-warning in omstemmernode.cc. 36649 36650Mon Dec 11 12:17:32 GMT 2000 Olly Betts 36651 36652 * Better typedef-s for Om*Iterator::difference_type. 36653 36654Sun Dec 10 17:51:41 GMT 2000 Olly Betts 36655 36656 * Corrected various typedef-s for Om*Iterator. 36657 36658Sun Dec 10 17:28:59 GMT 2000 Olly Betts 36659 36660 * Updated TODO to reflect OmESet being cleaned up. 36661 36662 * Term position argument to OmDocument::add_posting() is now 36663 optional (as it was for OmDocumentContents). 36664 36665Sun Dec 10 16:55:17 GMT 2000 Olly Betts 36666 36667 * OmESetItem is dead - long live OmESetIterator! 36668 36669 * net/socketclient.cc: fixed compiler warning. 36670 36671 * net/socketserver.cc: fixed compiler warning. 36672 36673Sun Dec 10 13:29:15 GMT 2000 Olly Betts 36674 36675 * Started to encapsulate OmESet/OmESetItem interface. Interface is 36676 close, but currently implementation is exposed in omenquire.h. 36677 36678 * apitest wasn't running puncterms1 or spaceterms1 - fixed. 36679 36680Sun Dec 10 11:34:39 GMT 2000 Olly Betts 36681 36682 * om/autoptr.h -> autoptr.h in lots of places. 36683 36684Fri Dec 8 17:20:04 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com> 36685 36686 * Updated indextest to not use AutoPtr<OmIndexer> 36687 36688Fri Dec 8 17:14:09 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com> 36689 36690 * Oops - removed one too many #include "autoptr.h" 36691 36692Fri Dec 08 16:50:42 GMT 2000 Olly Betts 36693 36694 * Updated TODO. 36695 36696Fri Dec 8 16:44:26 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com> 36697 36698 * IndexerBuilder now returns OmIndexer objects instead of 36699 AutoPtr<OmIndexer>. OmIndexer's internals are reference 36700 counted. 36701 36702 * Moved autoptr.h from include/om to common/, since it's no 36703 longer used in the API. 36704 36705Fri Dec 8 16:22:48 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com> 36706 36707 * Fixed omstemmer node bug and made debug slightly more verbose 36708 in indextest.cc. 36709 36710Fri Dec 8 16:13:36 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com> 36711 36712 * Added a test for OmIndexerMessage to indextest 36713 36714 * Added output operator for OmIndexerMessage 36715 36716 * Fixed a bug introduced into omvectorsplit node 36717 36718 * Changed couts in indextest.cc to touts. 36719 36720Fri Dec 08 14:53:24 GMT 2000 Olly Betts 36721 36722 * quartztest: removed OmDocumentTerm reference so that it'll 36723 compile (tests fail though). 36724 36725Fri Dec 8 14:42:46 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com> 36726 36727 * OmIndexerMessage is now a class by itself, replacing OmIndexerData 36728 and the typedef to AutoPtr<OmindexerData>. It's now a copy-on-write 36729 object. 36730 36731 * The indexer stuff all changed. 36732 36733Fri Dec 08 14:24:02 GMT 2000 Olly Betts 36734 36735 * omindexdoc.{cc,h}: no longer used so removed. 36736 36737 * Pushed OmDocumentTerm from API level into the internals of the 36738 library. 36739 36740 * Updated TODO. 36741 36742Fri Dec 08 12:08:49 GMT 2000 Olly Betts 36743 36744 * delve: if just given a database (or list of databases), report the 36745 number of documents and average document length. 36746 36747Thu Dec 7 20:39:24 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 36748 36749 * Fix bug: Om*Iterators which were created over empty lists didn't 36750 have null internals, causing them not to compare equal to end 36751 iterators. 36752 36753 * Added many asserts to iterator code. 36754 36755Thu Dec 7 20:02:43 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 36756 36757 * Removed OmTermListIteratorMap - OmTermListIterator can now be 36758 across either a map or an actual termlist. 36759 36760 * Om*Iterator classes all now delete internals when reaching end, 36761 freeing resources sooner and making the comparison operators much 36762 simpler. 36763 36764Thu Dec 7 18:33:03 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 36765 36766 * Updates to TODO 36767 36768Thu Dec 7 18:32:39 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com> 36769 36770 * Implementation of write locks for Quartz 36771 36772Thu Dec 7 18:28:55 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com> 36773 36774 * Fix to backendmanager which doesn't return writable databases 36775 unnecessarily (which breaks things when there are write locks) 36776 36777Thu Dec 7 18:25:50 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com> 36778 36779 * Added test for Quartz write locks 36780 36781Thu Dec 7 17:56:19 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 36782 36783 * Add OmDocument::set_data() method which takes a string, instead of 36784 an OmData object. This allows, implicitly, use of const char *'s 36785 as well. 36786 36787 * Further fixes to quartztest. It now compiles (though I've not 36788 tried linking it yet...) :) 36789 36790Thu Dec 7 17:49:50 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com> 36791 36792 * Fixed omkeylistiterator return types. 36793 36794Thu Dec 7 17:27:57 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 36795 36796 * Moved get_document() from OmWritableDatabase to OmDatabase. 36797 36798 * Added -> operator to OmKeyListIterator. Fixed return values 36799 and constness of Om*Iterator::operator *() methods. 36800 36801 * Some fixes to quartztest.cc, but not enough to get it compiling. 36802 36803Thu Dec 07 16:21:28 GMT 2000 Olly Betts 36804 36805 * Some work on getting quartztest working. 36806 36807Thu Dec 07 16:10:00 GMT 2000 Olly Betts 36808 36809 * The library now builds, but "make check" still fails. 36810 36811Thu Dec 7 15:39:19 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 36812 36813 * Fixes to testsuite/index_utils.cc to not segfault. 36814 36815Thu Dec 7 14:31:56 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 36816 36817 * Fixes to api_db.cc so that it compiles. 36818 36819Wed Dec 6 18:50:48 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 36820 36821 * Add test for terms with spaces, newlines, zero bytes, or 36822 backslashes. 36823 36824 * Updates to TODO 36825 36826Wed Dec 06 18:18:16 GMT 2000 Olly Betts 36827 36828 * Woohoo! Now builds with just --disable-indexer! 36829 (still doesn't pass any tests). 36830 36831Wed Dec 06 17:24:19 GMT 2000 Olly Betts 36832 36833 * Minor fix. Now builds with --disable-indexer 36834 --disable-quartz-backend (but doesn't pass any tests). 36835 36836Wed Dec 06 16:35:34 GMT 2000 Olly Betts 36837 36838 * Fixed up lots of build errors. 36839 36840Wed Dec 06 14:56:59 GMT 2000 Olly Betts 36841 36842 * Begin the long job of replacing OmDocumentContents with 36843 OmDocument. Won't currently build - expect the tree to be broken 36844 for a few days. As usual, if you want a working build, use the 36845 "snapshot_latest" tag. 36846 36847Wed Dec 6 12:03:44 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com> 36848 36849 * Backed out yesterday's overwritten-handling stuff. 36850 36851Wed Dec 6 11:36:55 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 36852 36853 * Increase sleep in tcpclient1 to 3 (did tcpmatch1 last time, duh!) 36854 36855Tue Dec 5 17:13:38 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com> 36856 36857 * QuartzDocument now has a QuartzTableManager pointer rather than 36858 two QuartzTable pointers. 36859 36860 * QuartzDatabase::do_get_document_internal() copes with Btree 36861 overwritten conditions. 36862 36863 * QuartzDocument methods cope with Btree overwritten conditions 36864 36865 * New method QuartzTableManager::reopen_tables_because_overwritten() 36866 for helping with the above. 36867 36868 * New test in quartztest for testing overwritten problems from the 36869 API rather than just internally to Quartz. 36870 36871 * Fixed a typo in omsettings.h comment (quartz_dir used to refer to 36872 a sleepycat database) 36873 36874Tue Dec 5 16:53:46 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 36875 36876 * Update todo. 36877 36878 * Fix undesirable assert in stats.h 36879 36880Tue Dec 5 15:41:40 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 36881 36882 * Replace OmMSet::docs_considered with 36883 OmMSet::matches_{lower_bound,estimated,upper_bound}, giving more 36884 useful information. 36885 36886 * PostLists now have get_termfreq_{min,est,max}(), instead of 36887 get_termfreq(), so the postlist tree can be used to calculate 36888 the matches_* values for the mset. Implemented for all the 36889 postlist subclasses. 36890 36891 LeafPostList's still has a virtual get_termfreq() method, 36892 and implements get_termfreq_* in terms of it, so database postlists 36893 don't need to be modified. 36894 36895 * Passing of MSets across network modified to pass the new 36896 information. 36897 36898 * PendingMSet uses the values from the mset to return the values 36899 of get_termfreq_*(). This assumes that recalc_maxweight has been 36900 called first, which is has been. 36901 36902 * Muscat36 databases get_termfreq() methods fixed to use a 36903 LeafPostList rather than a PostList. 36904 36905 * Renamed test docs_considered1 to matches1, and add several 36906 more cases to it. 36907 36908Tue Dec 05 15:38:27 GMT 2000 Olly Betts 36909 36910 * Added tests/testdata/apitest_punc.txt to distribution. 36911 36912Tue Dec 05 15:07:26 GMT 2000 Olly Betts 36913 36914 * Oops, failed to add new file `tests/testdata/apitest_punc.txt' 36915 with last check-in. 36916 36917Tue Dec 05 14:34:04 GMT 2000 Olly Betts 36918 36919 * OmTermListIterator implemented for an OmDocument with terms stored 36920 in a map rather than coming from a Document. 36921 36922 * Fixes to remote protocol so solve problems with terms with 36923 punctuation in (regression test punc_terms1). 36924 36925Mon Dec 4 15:02:53 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 36926 36927 * Makefile tweak in docs/ 36928 36929Mon Dec 04 14:13:05 GMT 2000 Olly Betts 36930 36931 * More OmDocument work. 36932 36933Mon Dec 4 11:43:46 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 36934 36935 * Renamed OmMSet::mbound to docs_considered. 36936 36937Mon Dec 4 10:11:11 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com> 36938 36939 * Added some more std:: prefixes for STLport. 36940 36941Fri Dec 1 17:45:01 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 36942 36943 * Increase the sleep after the server is started by tcpclient1 to 3 36944 seconds so that the server is more likely to have started when 36945 then test ran. This seems to be what was causing the test to 36946 randomly fail. Really, we want a better solution to this (such as 36947 the server picking a port and writing it out on stdout once it is 36948 listening.) 36949 36950Fri Dec 1 17:27:02 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 36951 36952 * Swapped the ports used by tcpclient1 and tcpmatch1 to see if the 36953 random failures follow suit. 36954 36955Fri Dec 1 17:21:07 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 36956 36957 * Another minor fix to work with STLport. 36958 36959Fri Dec 1 17:01:02 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 36960 36961 * Add std::'s and similar to fix compilation with STLport. 36962 36963 * Fix bug in expander due to nth_element being called on the wrong 36964 element. This is the counterpoint of the bug fixed on Nov 24th 36965 with the matcher. 36966 36967Fri Dec 1 16:30:26 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com> 36968 36969 * Minor tweaks in error strings. 36970 36971Fri Dec 01 12:57:59 GMT 2000 Olly Betts 36972 36973 * Corrected erroneous documentation comment. 36974 36975Thu Nov 30 18:50:16 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 36976 36977 * OmSettings no longer throws exceptions internally (at the cost of 36978 slightly more code duplication). 36979 36980Thu Nov 30 18:05:39 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 36981 36982 * Add a few std::'s to strings which had been missed. 36983 36984Thu Nov 30 16:41:11 GMT 2000 Olly Betts 36985 36986 * OmDocument::Internal now knows its OmDatabase. 36987 36988Thu Nov 30 16:40:33 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 36989 36990 * Add context to network errors thrown from OmSocketLineBuf. 36991 36992Thu Nov 30 16:21:47 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com> 36993 36994 * Added a quartz test for largish bitmaps. 36995 36996 * Fixed the code so that the above test would pass. 36997 36998Thu Nov 30 16:10:37 GMT 2000 Olly Betts 36999 37000 * OmDocument::add_posting() pretty much done. 37001 37002Thu Nov 30 15:51:46 GMT 2000 Olly Betts 37003 37004 * More work on OmDocument::add_posting(). 37005 37006 * Added OmTermListIterator::positionlist_begin() and 37007 OmTermListIterator::positionlist_end(). 37008 37009Thu Nov 30 14:16:28 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com> 37010 37011 * Fixed a prototype bug introduced with the last commit. 37012 37013Thu Nov 30 13:23:14 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com> 37014 37015 * Bcursor::find_key now more const-correct. 37016 37017 * Bcursor_create now returns an AutoPtr. The resultant changes 37018 fixed a memory leak. 37019 37020 * New exception: OmDatabaseModifiedError. Thrown when an open 37021 revision of a table is no longer valid due to multiple updates. 37022 37023 * quartzoverwrite1 test re-enabled, and passes. 37024 37025Thu Nov 30 13:23:27 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 37026 37027 * nettest now uses quartz backend: should always run all tests now 37028 (apart from tcpdead1, which doesn't work). 37029 37030Wed Nov 29 19:46:22 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 37031 37032 * In testsuite, report the context of Om exceptions as well as their 37033 type and message. 37034 37035Wed Nov 29 18:30:10 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 37036 37037 * Add "remote_connect_timeout" parameter to be supplied when opening 37038 a remote database, to specify a separate timeout for the connect 37039 operation to that used once the connection has been opened. 37040 37041 * Add setting of the context of errors thrown by tcpclient or 37042 progclient, so that the node which failed can be determined. 37043 37044Wed Nov 29 17:50:03 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com> 37045 37046 * Reworked Btree_base::read() a bit so that it's hopefully more 37047 readable. 37048 37049 * Hopefully fixed a bug when the bitmap approaches 1k. 37050 37051 * Fix to catch problems re-opening databases after an apply in 37052 Quartz. 37053 37054Wed Nov 29 17:30:26 GMT 2000 Olly Betts 37055 37056 * Added OmDocument::termlist_begin() and OmDocument::termlist_end() 37057 37058Wed Nov 29 16:53:13 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 37059 37060 * Comment out quartzoverwrite1 test so that it doesn't cause problems 37061 for other developers. 37062 37063Wed Nov 29 16:27:19 GMT 2000 Olly Betts 37064 37065 * docid now in Document class rather than subclasses. 37066 37067Wed Nov 29 14:54:13 GMT 2000 Olly Betts 37068 37069 * leafdocument.cc renamed to document.cc 37070 37071 * Document class now has a pointer to the associated Database class 37072 so we can open termlists, etc. 37073 37074Wed Nov 29 14:03:43 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 37075 37076 * Add quartztest to test for case when a database block gets 37077 overwritten. Currently, this fails because an exception doesn't 37078 get thrown when it should. 37079 37080Wed Nov 29 13:18:24 GMT 2000 Olly Betts 37081 37082 * LeafDocument class renamed to Document. 37083 37084Wed Nov 29 12:35:49 GMT 2000 Olly Betts 37085 37086 * Added OmDocument::remove_posting(), OmDocument::remove_term(), 37087 and OmDocument::clear_terms() 37088 37089Wed Nov 29 12:31:22 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com> 37090 37091 * Added another revision number in the middle of the base file, 37092 before the bitmap. Also now check that there isn't any extra 37093 data at the end after we finish reading it. Incremented the 37094 database format. 37095 37096Wed Nov 29 11:55:03 GMT 2000 Olly Betts 37097 37098 * Added OmDocument::remove_key() and OmDocument::clear_keys() 37099 37100Tue Nov 28 18:34:57 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com> 37101 37102 * Btree bitmap now merged with base - one object, one file. 37103 37104Tue Nov 28 17:13:56 GMT 2000 Olly Betts 37105 37106 * Added OmDocument::set_data() 37107 37108Tue Nov 28 16:47:06 GMT 2000 Olly Betts 37109 37110 * Started to alter OmDocument to be a general purpose document class 37111 which includes the functionality currently in OmDocumentContents. 37112 37113Tue Nov 28 15:08:38 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com> 37114 37115 * Added OmSplitOnCharsNode, which does a subset of OmRegexSplitNode 37116 but less slowly. 37117 37118 * Modified RegexSplit node and regexcommon so that less copying 37119 of strings is needed. 37120 37121Tue Nov 28 13:42:41 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com> 37122 37123 * Moved the Btree's bitmap into a separate object. 37124 37125Tue Nov 28 13:06:36 GMT 2000 Olly Betts 37126 37127 * Eliminated OmDocumentParams. 37128 37129 * Removed unnecessary mutex from OmDocument::Internal. 37130 37131Mon Nov 27 18:45:27 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 37132 37133 * Implement get_position_list() on databases. Untested. Also needs 37134 some work to make consistent with open_position_list() on posting 37135 lists: see todo list. 37136 37137Mon Nov 27 18:29:00 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 37138 37139 * Change #define LEVEL ... to #define GET_LEVEL ... in btree_util.h: 37140 fixes problem reported by includetest 37141 37142Mon Nov 27 18:20:42 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 37143 37144 * Added a set of modifications to the todo.xml. Also, add a 37145 "release" field, recording the release that the work must be 37146 performed by. 37147 37148Mon Nov 27 18:08:35 GMT 2000 Olly Betts 37149 37150 * A RefCntPtr now copes with being assigned to itself (used to 37151 delete the underlying object if the reference count was 1). Added 37152 regression test (refcnt2). 37153 37154 * Now overwrite pointer inside RefCntPtr before deleting the pointed 37155 to object so there's no window where another thread can access the 37156 pointer and get the just-deleted object. 37157 37158Mon Nov 27 14:36:59 GMT 2000 Olly Betts 37159 37160 * OmError class now optionally stores an errno value. 37161 37162Mon Nov 27 13:04:18 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 37163 37164 * Quartztest builds its test databases in a subdirectory, which 37165 is now in .cvsignore, so we shouldn't get cvs complaining about 37166 so many unknown files any more. 37167 37168Mon Nov 27 12:53:16 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 37169 37170 * Another TODO item. 37171 37172Mon Nov 27 12:15:53 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 37173 37174 * Added a couple of new items to the todo list. 37175 37176Fri Nov 24 19:23:56 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 37177 37178 * Quartztests now deletes all old tables, so that database formats 37179 don't cause problems. 37180 37181Fri Nov 24 19:03:59 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 37182 37183 * Added std:: prefix to lots of strings which didn't have it. 37184 I've probably added some where they shouldn't be: there were rather 37185 a lot of cases of this. 37186 37187Fri Nov 24 18:27:06 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 37188 37189 * Major bug fix! When removing elements, matcher was performing 37190 nth_element() on the first element to be thrown away, rather than 37191 the lowest element to keep. This meant that, after throwing away 37192 low scoring items, items.back() was a random item rather than the 37193 lowest scoring item. This caused the min weight for getting into 37194 the mset to go up faster than it should have done, and generally 37195 broke everything. 37196 37197 It will be interesting to compare evaluation measures before and 37198 after this fix. 37199 37200Fri Nov 24 15:34:17 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 37201 37202 * Declare this to be version 0.4.1 37203