1This ChangeLog file is no longer maintained - see the git repo history for 2more recent changes: https://xapian.org/bleeding 3 4Wed Sep 30 19:34:51 GMT 2015 Olly Betts <olly@survex.com> 5 6 * languages/compiler/: Merge changes from upstream snowball again. 7 8Sun Sep 27 23:59:05 GMT 2015 Olly Betts <olly@survex.com> 9 10 * languages/compiler/: Merge changes from upstream snowball. 11 12Sat Sep 26 04:07:35 GMT 2015 Olly Betts <olly@survex.com> 13 14 * tests/api_backend.cc: Remove pointless call to get_database(). 15 16Sat Sep 26 03:21:45 GMT 2015 Olly Betts <olly@survex.com> 17 18 * common/pack.h,configure.ac,include/xapian/types.h, 19 include/xapian/version_h.cc,tests/api_backend.cc,tests/api_wrdb.cc: 20 Add new configure options --enable-64bit-docid and 21 --enable-64bit-termcount, which control the size of these types. 22 Currently the backends only support 32-bit docids, but using 64-bit 23 docids allows searching multiple database where the mapped docids 24 don't fit in a 32-bit type. Based heavily on patch from James 25 Aylett and Dylan Griffith. Fixes #385. 26 27Sat Sep 26 00:32:31 GMT 2015 Olly Betts <olly@survex.com> 28 29 * backends/glass/glass_table.cc: Use BLK_UNUSED constant. 30 31Sat Sep 26 00:31:45 GMT 2015 Olly Betts <olly@survex.com> 32 33 * backends/chert/chert_table.cc: Initialise last_readahead - was 34 causing testsuite failures under valgrind. 35 36Fri Sep 25 06:28:02 GMT 2015 Olly Betts <olly@survex.com> 37 38 * net/length.cc,net/length.h: Provide overloads for unsigned, unsigned 39 long, and unsigned long long, rather than uint32_t and uint64_t - 40 this avoids overload resolution failing when we pass a type which 41 isn't one which uint32_t or uint64_t is a typedef to. (see #385) 42 43Fri Sep 25 04:10:00 GMT 2015 Olly Betts <olly@survex.com> 44 45 * api/vectortermlist.cc: Check decoded length. 46 47Sun Sep 13 08:27:53 GMT 2015 Olly Betts <olly@survex.com> 48 49 * common/socket_utils.cc: Change C-style cast to reinterpret_cast. 50 51Wed Sep 02 03:13:45 GMT 2015 Olly Betts <olly@survex.com> 52 53 * docs/stemming.rst,languages/armenian.sbl,languages/basque.sbl, 54 languages/catalan.sbl: Update snowball website links to 55 snowballstem.org. Correct "2-clause BSD" to "3-clause BSD". 56 57Sun Aug 30 04:43:49 GMT 2015 Olly Betts <olly@survex.com> 58 59 * net/remote_protocol.rst: Markup tweak. 60 61Thu Aug 13 08:56:25 GMT 2015 Olly Betts <olly@survex.com> 62 63 * backends/remote/remote-database.cc: Improve error when the client and 64 server remote protocol versions aren't compatible. 65 66Tue Aug 11 09:32:46 GMT 2015 Olly Betts <olly@survex.com> 67 68 * docs/: Strip out "quickstart" examples which are out of date and 69 rather redundant with the "simple" examples. 70 71Tue Aug 11 08:24:48 GMT 2015 Olly Betts <olly@survex.com> 72 73 * pkgconfig/xapian-core.pc.in: Fix library name in .pc file to say 74 "xapian" not "xapian-core". Reported by Eric Lindblad to the 75 xapian-devel list. 76 77Tue Jul 07 01:37:00 GMT 2015 Olly Betts <olly@survex.com> 78 79 * api/omenquire.cc,api/query.cc,backends/chert/,backends/database.cc, 80 backends/database.h,backends/glass/,common/io_utils.cc, 81 common/io_utils.h,configure.ac,include/xapian/enquire.h, 82 include/xapian/query.h,matcher/multimatch.cc: Where posix_fadvise() 83 is available, use it to prefetch postlist Btree blocks from the 84 level below the root block which will be needed for postlists of 85 terms in the query, and similarly for the record/docdata table 86 when MSet::fetch() is called. Based on patch by Will Greenberg 87 in #671. 88 89Mon Jul 06 09:44:54 GMT 2015 Olly Betts <olly@survex.com> 90 91 * common/safeunistd.h,configure.ac: Don't provide our own 92 implementation of sleep() under __WIN32__ if there's already one - 93 mingw provides one, and in some situations it seems to clash with 94 ours. Reported to xapian-discuss by John Alveris. 95 96Mon Jun 29 12:10:22 GMT 2015 Olly Betts <olly@survex.com> 97 98 * backends/chert/chert_compact.cc: Need <unistd.h> for unlink() on 99 FreeBSD, reported by Germán M. Bravo via github PR 72. 100 101Wed Jun 24 10:07:05 GMT 2015 Olly Betts <olly@survex.com> 102 103 * tests/harness/testutils.cc,tests/harness/testutils.h: Use 104 'Xapian::docid' instead of 'unsigned int' so that things work with 105 64 bit docids (see #385). 106 107Tue Jun 23 13:38:54 GMT 2015 Olly Betts <olly@survex.com> 108 109 * api/snipper.cc,api/snipperinternal.h: Use appropriate typedefs 110 rather than unsigned int. Split out of patch by Dylan Griffith in 111 #385. 112 113Tue Jun 23 13:32:36 GMT 2015 Olly Betts <olly@survex.com> 114 115 * backends/chert/chert_database.cc,backends/chert/chert_types.h, 116 backends/glass/glass_database.cc,backends/glass/glass_defs.h: Add 117 constants CHERT_MAX_DOCID and GLASS_MAX_DOCID for the largest docid 118 which the backends support, independent of the size of type 119 Xapian::docid. (helps #385) 120 121Tue Jun 23 13:19:06 GMT 2015 Olly Betts <olly@survex.com> 122 123 * tests/api_backend.cc: Add regression test for #678. 124 125Tue Jun 23 13:04:06 GMT 2015 Olly Betts <olly@survex.com> 126 127 * api/,backends/remote/net_postlist.cc, 128 backends/remote/remote-database.cc, 129 geospatial/latlong_posting_source.cc,net/,tests/unittest.cc: Split 130 decode_length() into versions which decode a 32 vs 64 bit value, 131 and which check that there's at least the decoded length in bytes 132 in the source data. (Fixes #678 and helps #385) 133 134Tue Jun 23 11:49:15 GMT 2015 Olly Betts <olly@survex.com> 135 136 * net/remoteserver.cc: Check length of key in MSG_SETMETADATA. 137 138Sat Jun 20 13:05:50 GMT 2015 Olly Betts <olly@survex.com> 139 140 * common/str.h,tests/,tests/harness/,tests/internaltest.cc, 141 tests/perftest/perftest.cc,tests/perftest/perftest_matchdecider.cc, 142 tests/perftest/perftest_randomidx.cc,tests/queryparsertest.cc, 143 tests/soaktest/soaktest_queries.cc,tests/termgentest.cc, 144 tests/unittest.cc: Make str() private to the library, and use 145 C++11 std::to_string() to convert numbers to std::string in the 146 testsuite. (ticket #63) 147 148Sat Jun 20 12:32:13 GMT 2015 Olly Betts <olly@survex.com> 149 150 * tests/api_unicode.cc: Fix trailing whitespace introduced by previous 151 commit. 152 153Sat Jun 20 06:31:27 GMT 2015 Olly Betts <olly@survex.com> 154 155 * tests/api_unicode.cc,unicode/Makefile.mk, 156 unicode/UnicodeData-README.txt,unicode/UnicodeData.txt: 157 Update to Unicode 8.0.0. (fixes #680) 158 159Thu Jun 11 11:57:50 GMT 2015 Olly Betts <olly@survex.com> 160 161 * include/xapian/queryparser.h: Remove XAPIAN_CONST_FUNCTION marker 162 from sortable_serialise_() helper, as it writes to the passed in 163 buffer, so it isn't const or pure. Fixes decvalwtsource2 testcase 164 failure when compiled with clang. 165 166Thu Jun 11 05:05:27 GMT 2015 Olly Betts <olly@survex.com> 167 168 * examples/xapian-metadata.cc: Extend "list" subcommand to take 169 optional key prefix. 170 171Sat Jun 06 11:02:50 GMT 2015 Olly Betts <olly@survex.com> 172 173 * queryparser/queryparser.lemony: Use C++11 auto and container 174 iteration for cleaner code. 175 176Fri Jun 05 12:08:02 GMT 2015 Olly Betts <olly@survex.com> 177 178 * api/omenquire.cc,api/omenquireinternal.h, 179 backends/remote/remote-database.cc,backends/remote/remote-database.h, 180 include/xapian/matchspy.h,matcher/,net/remoteserver.cc, 181 tests/api_none.cc: Add support for optional reference counting of 182 MatchSpy objects. 183 184Fri Jun 05 02:55:54 GMT 2015 Olly Betts <olly@survex.com> 185 186 * backends/remote/remote-database.h: Correct doxygen comment for 187 internal method. 188 189Thu Jun 04 12:44:00 GMT 2015 Olly Betts <olly@survex.com> 190 191 * examples/quest.cc: Prefer pre-increment ++. 192 193Thu Jun 04 12:42:49 GMT 2015 Olly Betts <olly@survex.com> 194 195 * tests/api_compact.cc,tests/api_posdb.cc: Remove unused variables. 196 197Thu Jun 04 12:42:04 GMT 2015 Olly Betts <olly@survex.com> 198 199 * tests/api_backend.cc: Fix compilation in case where S_ISSOCK() isn't 200 defined. 201 202Thu Jun 04 12:41:31 GMT 2015 Olly Betts <olly@survex.com> 203 204 * languages/compiler/generator.c: Remove redundant assignment. 205 206Thu Jun 04 12:40:52 GMT 2015 Olly Betts <olly@survex.com> 207 208 * languages/compiler/generator.c: Remove extra "break;". 209 210Thu Jun 04 12:39:51 GMT 2015 Olly Betts <olly@survex.com> 211 212 * include/xapian/query.h: Remove bogus extra "Query::" qualifier from 213 fake Query constructor prototypes provided for SWIG. 214 215Thu Jun 04 12:38:36 GMT 2015 Olly Betts <olly@survex.com> 216 217 * api/documentvaluelist.h,api/leafpostlist.h,api/matchspy.cc, 218 include/xapian/,net/length.cc: Mark constructors taking a 219 single argument as "explicit" to avoid unwanted implicit 220 conversions. 221 222Mon Jun 01 13:11:02 GMT 2015 Olly Betts <olly@survex.com> 223 224 * NEWS.SKELETON: Remove section for "flint backend" from template. 225 226Mon Jun 01 13:09:55 GMT 2015 Olly Betts <olly@survex.com> 227 228 * NEWS,configure.ac: Update for 1.3.3. 229 230Mon May 25 04:33:15 GMT 2015 Olly Betts <olly@survex.com> 231 232 * NEWS: Update. 233 234Sun May 24 12:52:47 GMT 2015 Olly Betts <olly@survex.com> 235 236 * tests/api_postingsource.cc: timer_create() seems to always fail on 237 AIX with EAGAIN, so just skip the matchtimelimit1 testcase there. 238 239Sun May 24 11:48:30 GMT 2015 Olly Betts <olly@survex.com> 240 241 * net/tcpserver.cc: Under __WIN32__, inet_ntop()'s second parameter 242 is 'void*' (to POSIX says it should be 'const void*'). 243 244Sun May 24 11:46:25 GMT 2015 Olly Betts <olly@survex.com> 245 246 * common/safenetdb.h: Under __WIN32__, MSDN says that newer platforms 247 need <ws2def.h> for AI_* constants. And mingw doesn't seem to 248 define AI_NUMERICSERV yet. 249 250Sun May 24 10:41:39 GMT 2015 Olly Betts <olly@survex.com> 251 252 * common/safewindows.h,configure.ac: Under __WIN32__, we need to 253 specify Vista as the minimum supported version to get the 254 AI_ADDRCONFIG flag. Older versions seem to all be out of support 255 anyway. 256 257Sun May 24 06:46:15 GMT 2015 Olly Betts <olly@survex.com> 258 259 * net/tcpclient.cc: Add missing declaration of variable under 260 __WIN32__. 261 262Sun May 24 06:39:56 GMT 2015 Olly Betts <olly@survex.com> 263 264 * tests/harness/testsuite.h: Simplify FAIL_TEST and SKIP_TEST 265 slightly. 266 267Sat May 23 11:52:03 GMT 2015 Olly Betts <olly@survex.com> 268 269 * tests/harness/backendmanager_remotetcp.cc: Don't leave an extra fd 270 open when starting xapian-tcpsrv for remotetcp tests. 271 272Sat May 23 10:12:31 GMT 2015 Olly Betts <olly@survex.com> 273 274 * tests/harness/backendmanager_remotetcp.cc: Add spaces between literal 275 strings and macros which expand to literal strings for C++11 276 compatibility in __WIN32__-specific code. 277 278Fri May 22 03:22:03 GMT 2015 Olly Betts <olly@survex.com> 279 280 * NEWS: Update. 281 282Wed May 20 14:24:03 GMT 2015 Olly Betts <olly@survex.com> 283 284 * include/xapian/version_h.cc: If old and new __GXX_ABI_VERSION are 285 both >= 1002 (which means GCC >= 3.4), then issue a warning about 286 mismatching versions instead of an error. The changes in these 287 versions are bug fixes for corner cases, so there's a good chance of 288 things working - e.g. building xapian-bindings with GCC 5.1 (which 289 defaults to __GXX_ABI_VERSION 1008) against xapian-core built with 290 GCC 4.9 (1002) seems to work OK. A warning is still useful as a 291 clue to what is going on if linking fails due to a missing symbol. 292 293Wed May 20 13:47:50 GMT 2015 Olly Betts <olly@survex.com> 294 295 * net/serialise.cc: Don't use encode_length() on a bool - it's 296 overkill, and leads to a warning from GCC 5.1 (due to the 297 comparison (bool_value < 255) from the template expansion 298 always being true). 299 300Wed May 20 01:49:18 GMT 2015 Olly Betts <olly@survex.com> 301 302 * api/matchspy.cc: Fix comparison function not to return true for two 303 equal elements, which fixes matchspy4 test failure with clang and 304 libc++. 305 306Wed May 20 00:20:56 GMT 2015 Olly Betts <olly@survex.com> 307 308 * configure.ac: Disable "<FUNCTION> is expected to return a value" 309 warning from Sun's C++ compiler, as it fires even for functions we 310 end in a "throw" statement. Genuine instances will be caught by 311 compilers with superior warning machinery. 312 313Mon May 18 04:18:37 GMT 2015 Olly Betts <olly@survex.com> 314 315 * configure.ac: Arrange to pass command line option so that xlC 316 actually fails to compile the test code for typeid() when RTTI isn't 317 enabled. 318 319Sun May 17 11:35:36 GMT 2015 Olly Betts <olly@survex.com> 320 321 * backends/glass/glass_version.cc: When reporting an error that the 322 glass format version doesn't match, don't append an uninitialised 323 char[] buffer to the error string (code accidentally left behind 324 by the previous change in this area). 325 326Sat May 16 12:08:17 GMT 2015 Olly Betts <olly@survex.com> 327 328 * common/socket_utils.cc: Fix casts on the 4th argument of 329 setsockopt() so they compile on platforms which expect 330 char * or const char * there. 331 332Fri May 15 13:24:55 GMT 2015 Olly Betts <olly@survex.com> 333 334 * configure.ac: Enhance the probe for whether the test harness can use 335 RTTI so that it works for xlC (which defaults to not generating 336 RTTI). 337 338Fri May 15 12:28:32 GMT 2015 Olly Betts <olly@survex.com> 339 340 * common/debuglog.h: Remove commented out STATIC_ASSERT() which 341 is conceptually flawed. 342 343Fri May 15 12:27:45 GMT 2015 Olly Betts <olly@survex.com> 344 345 * common/omassert.h,common/pack.h,tests/api_wrdb.cc, 346 tests/internaltest.cc: Replace STATIC_ASSERT() with C++11's 347 static_assert(). 348 349Fri May 15 11:34:47 GMT 2015 Olly Betts <olly@survex.com> 350 351 * common/stringutils.cc: Use static_assert rather than an adhoc check 352 via a negative array size. 353 354Fri May 15 11:16:18 GMT 2015 Olly Betts <olly@survex.com> 355 356 * common/io_utils.cc: Replace the code used on platforms without 357 F_DUPFD with simpler code which actually compiles. 358 359Fri May 15 03:43:16 GMT 2015 Olly Betts <olly@survex.com> 360 361 * pkgconfig/xapian-core.pc.in: Include @ldflags@ in pkg-config .pc 362 file. 363 364Fri May 15 03:33:40 GMT 2015 Olly Betts <olly@survex.com> 365 366 * pkgconfig/xapian-core.pc.in: Fix include directory reported by 367 pkg-config. 368 369Fri May 15 03:31:43 GMT 2015 Olly Betts <olly@survex.com> 370 371 * configure.ac,pkgconfig/xapian-core.pc.in,xapian-config.in: When 372 compiling with xlC on AIX, _LARGE_FILES gets defined by 373 AC_SYS_LARGEFILE to enable large file support, and defining this 374 changes the ABI of std::string, so include it in xapian-config 375 --cxxflags and the pkg-config equivalent. 376 377Fri May 15 02:52:10 GMT 2015 Olly Betts <olly@survex.com> 378 379 * tests/Makefile.am,tests/perftest/Makefile.mk: Use $(NO_INSTALL) 380 rather than @NO_INSTALL@ to allow make-time overriding. 381 382Fri May 15 02:33:11 GMT 2015 Olly Betts <olly@survex.com> 383 384 * tests/soaktest/Makefile.mk: Use -no-fast-install instead of 385 -no-install for linking soaktest on platforms where libtool issues 386 a warning for -no-install, like we already do for all the other test 387 programs. 388 389Fri May 15 02:14:16 GMT 2015 Olly Betts <olly@survex.com> 390 391 * examples/simpleexpand.cc,examples/simpleindex.cc, 392 examples/simplesearch.cc: '#include <config.h>' in the examples, as 393 when compiling with xlC on AIX, _LARGE_FILES gets defined by 394 AC_SYS_LARGEFILE to enable large file support, and defining this 395 changes the ABI of std::string, so it also needs to be defined when 396 compiling code using Xapian. 397 398Thu May 14 03:17:28 GMT 2015 Olly Betts <olly@survex.com> 399 400 * backends/chert/chert_cursor.cc: Correct delete to delete []. 401 402Tue May 12 14:33:28 GMT 2015 Olly Betts <olly@survex.com> 403 404 * docs/deprecation.rst: Add deprecation of --preserve-nonduplicates 405 which happened in 1.2.4. 406 407Tue May 12 07:38:12 GMT 2015 Olly Betts <olly@survex.com> 408 409 * Makefile.am: Actually use $(NO_UNDEFINED). 410 411Tue May 12 06:40:38 GMT 2015 Olly Betts <olly@survex.com> 412 413 * configure.ac: Only pass -no-undefined when linking the library if 414 it's actually required for the current platform. Sun C++ doesn't 415 link the C++ runtime libraries to shared objects, so the build 416 fails with -no-undefined. 417 418Tue May 12 06:39:26 GMT 2015 Olly Betts <olly@survex.com> 419 420 * INSTALL,configure.ac: Fix comment and doc typos. 421 422Tue May 12 03:49:38 GMT 2015 Olly Betts <olly@survex.com> 423 424 * configure.ac: Add workaround for odd <cmath> issue with Sun C++. 425 426Tue May 12 03:49:15 GMT 2015 Olly Betts <olly@survex.com> 427 428 * configure.ac: On Solaris, inet_ntop() needs -lnsl. 429 430Tue May 12 03:48:48 GMT 2015 Olly Betts <olly@survex.com> 431 432 * api/keymaker.cc: Fix error compiling with Sun C++. 433 434Tue May 12 03:07:06 GMT 2015 Olly Betts <olly@survex.com> 435 436 * include/xapian/attributes.h: Fix typo in definition of 437 XAPIAN_NOTHROW() definition for C++11 compilers other than GCC and 438 MSVC. 439 440Tue May 12 01:48:19 GMT 2015 Olly Betts <olly@survex.com> 441 442 * exception_data.pm: Fix not to parse mentions of XAPIAN_THROW() in 443 comments. 444 445Mon May 11 14:16:22 GMT 2015 Olly Betts <olly@survex.com> 446 447 * HACKING: libtool 2.4.6 is now used for snapshots and releases. 448 449Mon May 11 14:14:04 GMT 2015 Olly Betts <olly@survex.com> 450 451 * common/str.cc,expand/bo1eweight.cc,geospatial/geoencode.cc, 452 matcher/multiandpostlist.cc,net/remoteconnection.cc,weight/: 453 Fixes for errors when compiling with Sun C++. 454 455Mon May 11 10:53:47 GMT 2015 Olly Betts <olly@survex.com> 456 457 * common/log2.h,configure.ac: Change probe for log2() to check for a 458 declaration and '#include <cmath>' to get it to fix build on Solaris 459 with Sun C++. C++11 compilers should all provide log2(), but let's 460 not rely on that just yet as it's easy to provide a fallback 461 implementation. 462 463Mon May 11 07:04:06 GMT 2015 Olly Betts <olly@survex.com> 464 465 * common/getopt.cc,net/tcpserver.cc: Fix clang warnings on OS X. 466 Reported by Germán M. Bravo. 467 468Mon May 11 06:29:42 GMT 2015 Olly Betts <olly@survex.com> 469 470 * api/constinfo.cc,docs/doxygen_api.conf.in, 471 docs/doxygen_source.conf.in,include/xapian/: C++11's noexcept 472 needs to be on definitions as well as declarations, but GCC 473 function attributes must only be on declarations, so split 474 XAPIAN_NOEXCEPT off from XAPIAN_NOTHROW. 475 476Sun May 10 13:26:24 GMT 2015 Olly Betts <olly@survex.com> 477 478 * include/xapian/queryparser.h,queryparser/queryparser_internal.h, 479 tests/api_none.cc: Add support for optional reference counting of 480 FieldProcessor objects. 481 482Sun May 10 11:07:36 GMT 2015 Olly Betts <olly@survex.com> 483 484 * include/xapian/intrusive_ptr.h,include/xapian/queryparser.h, 485 queryparser/queryparser.lemony,queryparser/queryparser_internal.h, 486 tests/api_none.cc: Add support for optional reference counting of 487 ValueRangeProcessor objects. 488 489Thu May 07 12:42:11 GMT 2015 Olly Betts <olly@survex.com> 490 491 * bin/xapian-replicate.cc,common/socket_utils.cc,common/socket_utils.h, 492 net/replicatetcpclient.cc,net/replicatetcpclient.h: Set SO_KEEPALIVE 493 for xapian-replicate's connection to the master, and add command 494 line option to allow setting socket-level timeouts (SO_RCVTIMEO and 495 SO_SNDTIMEO) on platforms that support them. Fixes #546, reported 496 by nkvoll. 497 498Thu May 07 12:00:15 GMT 2015 Olly Betts <olly@survex.com> 499 500 * bin/xapian-replicate.cc: Fix connection timeout to be 10 seconds 501 rather than 10000 seconds which is has been since 1.2.3. 502 503Tue May 05 02:38:37 GMT 2015 Olly Betts <olly@survex.com> 504 505 * net/tcpserver.cc: Use inet_ntop() instead of inet_ntoa() - the 506 latter isn't thread-safe. 507 508Tue May 05 02:05:27 GMT 2015 Olly Betts <olly@survex.com> 509 510 * include/xapian/queryparser.h: Update documentation to reflect that 511 the database passed to QueryParser::set_database() is no longer 512 used to expand wildcards and partial terms. 513 514Mon May 04 11:32:40 GMT 2015 Olly Betts <olly@survex.com> 515 516 * api/postlist.cc,api/postlist.h,common/remoteprotocol.h,matcher/, 517 net/serialise.cc,tests/api_backend.cc: Fix sort by value when 518 multiple databases are in use and one or more are remote. Fixes 519 #674, reported by Dylan Griffith. 520 521Sun May 03 12:41:58 GMT 2015 Olly Betts <olly@survex.com> 522 523 * docs/deprecation.rst,include/xapian/queryparser.h, 524 queryparser/queryparser.cc,queryparser/queryparser.lemony, 525 queryparser/queryparser_internal.h,tests/queryparsertest.cc: 526 Allow setting the expansion limits and types for wildcards 527 and partial terms in the QueryParser independently. Partial 528 terms now default to the 100 most frequent matching terms. 529 Deprecate set_max_wildcard_expansion() in favour of new 530 set_max_expansion() method which can set expansion limits 531 for partial terms too. Completes #608. 532 533Sat May 02 09:20:30 GMT 2015 Olly Betts <olly@survex.com> 534 535 * api/query.cc,api/queryinternal.cc,api/queryinternal.h, 536 include/xapian/query.h,queryparser/queryparser.lemony, 537 tests/api_query.cc: Add a choice of ways to apply the limit on 538 wildcard expansion. Fixes #608, reported by boomboo. 539 540Fri May 01 14:53:16 GMT 2015 Olly Betts <olly@survex.com> 541 542 * tests/api_replicate.cc: Reenable replicate3 for glass, as it no 543 longer fails. 544 545Fri May 01 13:38:48 GMT 2015 Olly Betts <olly@survex.com> 546 547 * common/autoptr.h: Just map AutoPtr to std::unique_ptr now we require 548 C++11. 549 550Fri May 01 13:33:28 GMT 2015 Olly Betts <olly@survex.com> 551 552 * matcher/multimatch.cc,net/progclient.cc: IRIX is dead, so remove 553 lingering traces of support for SGI's compiler. 554 555Fri May 01 08:59:13 GMT 2015 Olly Betts <olly@survex.com> 556 557 * HACKING,INSTALL: STLport was last released in 2008, so (a) it's no 558 longer actively developed and (b) it won't support C++11, so strip 559 out documentation which mentions it. 560 * configure.ac: For Sun's C++ compiler, -std=c++11 enables C++11 561 support, and is incompatible with -library=stlport, so remove code 562 to enable that later option. 563 564Fri May 01 01:37:24 GMT 2015 Olly Betts <olly@survex.com> 565 566 * configure.ac: Tweak comment to match xapian-omega's configure. 567 568Fri May 01 01:36:41 GMT 2015 Olly Betts <olly@survex.com> 569 570 * configure.ac: Set default value for AUTOM4TE before AC_OUTPUT so the 571 default will actually get used. 572 573Fri May 01 01:36:05 GMT 2015 Olly Betts <olly@survex.com> 574 575 * configure.ac: Add explicit AC_CANONICAL_HOST. 576 577Fri May 01 01:08:56 GMT 2015 Olly Betts <olly@survex.com> 578 579 * api/matchspy.cc,tests/api_nodb.cc: Eliminate needless uses of 580 AutoPtr. 581 582Fri May 01 00:37:42 GMT 2015 Olly Betts <olly@survex.com> 583 584 * tests/internaltest.cc: Remove self-assignment check of AutoPtr as 585 that doesn't work under C++11 when AutoPtr is unique_ptr, and add 586 other checks of reassignment which should work for both. 587 588Fri May 01 00:37:09 GMT 2015 Olly Betts <olly@survex.com> 589 590 * tests/api_postingsource.cc: Remove C++11 specific test which doesn't 591 actually work with C++11. 592 593Fri May 01 00:33:43 GMT 2015 Olly Betts <olly@survex.com> 594 595 * tests/harness/backendmanager.cc, 596 tests/harness/backendmanager_remotetcp.cc, 597 tests/harness/testsuite.h,tests/harness/testutils.h: Add spaces 598 between literal strings and macros which expand to literal strings 599 for C++11 compatibility. 600 601Thu Apr 30 14:41:59 GMT 2015 Olly Betts <olly@survex.com> 602 603 * backends/chert/chert_table.cc,backends/glass/glass_table.cc: Remove 604 duplicate includes of "omassert.h". 605 606Thu Apr 30 14:41:31 GMT 2015 Olly Betts <olly@survex.com> 607 608 * backends/glass/glass_freelist.cc: Add missing explicit include of 609 "omassert.h", 610 611Thu Apr 30 14:38:06 GMT 2015 Olly Betts <olly@survex.com> 612 613 * HACKING,backends/chert/chert_table.cc, 614 backends/chert/chert_version.cc,backends/glass/glass_table.cc, 615 common/omassert.h: Remove CompileTimeAssert() and just use 616 C++11's static_assert instead. 617 618Thu Apr 30 14:28:10 GMT 2015 Olly Betts <olly@survex.com> 619 620 * backends/glass/glass_freelist.cc: Drop conditionals for GCC >= 3.4 621 as we now require >= 4.4. 622 623Thu Apr 30 14:26:13 GMT 2015 Olly Betts <olly@survex.com> 624 625 * api/omdatabase.cc,include/xapian/queryparser.h, 626 tests/harness/backendmanager.h: Drop workarounds for ancient Sun 627 C++ compilers, as we now require a recent version for C++11 support. 628 629Thu Apr 30 14:22:46 GMT 2015 Olly Betts <olly@survex.com> 630 631 * INSTALL: IRIX is past EOL so drop information about IRIX make. 632 633Thu Apr 30 14:22:10 GMT 2015 Olly Betts <olly@survex.com> 634 635 * configure.ac: OS X >= 10.4 apparently supports symbol visibility, so 636 update comment. 637 638Thu Apr 30 14:21:37 GMT 2015 Olly Betts <olly@survex.com> 639 640 * common/unordered_map.h: No longer relevant now we require C++11. 641 642Thu Apr 30 13:59:16 GMT 2015 Olly Betts <olly@survex.com> 643 644 * HACKING,INSTALL,configure.ac,xapian-config.in: Require a C++ 645 compiler - the minimum required GCC version is now probably GCC 4.4. 646 647Thu Apr 30 13:48:54 GMT 2015 Olly Betts <olly@survex.com> 648 649 * xapian-config.in: Remove superfluous comment left over from code 650 refactoring. 651 652Thu Apr 30 13:47:30 GMT 2015 Olly Betts <olly@survex.com> 653 654 * xapian-config.in: Fix the include directory reported by --swigflags 655 for an installed copy to include the "/xapian-1.3" component for 656 a development version. 657 658Thu Apr 30 12:34:14 GMT 2015 Olly Betts <olly@survex.com> 659 660 * api/omenquire.cc: Fix for C++11 where AutoPtr is unique_ptr. 661 662Thu Apr 30 12:20:22 GMT 2015 Olly Betts <olly@survex.com> 663 664 * api/replication.cc,backends/chert/chert_database.cc, 665 backends/chert/chert_table.cc,backends/chert/chert_version.cc, 666 backends/glass/,backends/remote/remote-database.cc,bin/, 667 examples/copydatabase.cc,examples/quest.cc, 668 examples/xapian-metadata.cc,net/tcpclient.cc, 669 queryparser/queryparser.lemony: Add spaces between literal strings 670 and macros which expand to literal strings for C++11 compatibility. 671 672Thu Apr 30 12:17:17 GMT 2015 Olly Betts <olly@survex.com> 673 674 * bin/xapian-tcpsrv.cc: Use STRINGIZE() to include defaults literally 675 in string for --help. 676 677Thu Apr 30 10:48:11 GMT 2015 Olly Betts <olly@survex.com> 678 679 * HACKING: Update URL. 680 681Thu Apr 30 10:47:10 GMT 2015 Olly Betts <olly@survex.com> 682 683 * m4/ax_cxx_compile_stdcxx_11.m4: Add support for HP's aCC (untested 684 as I no longer have access to this compiler). 685 686Thu Apr 30 05:30:13 GMT 2015 Olly Betts <olly@survex.com> 687 688 * m4/ax_cxx_compile_stdcxx_11.m4: Add macro from autoconf-archive to 689 detect any compiler options needed to enable C++11 support (not yet 690 used). 691 692Thu Apr 30 05:14:56 GMT 2015 Olly Betts <olly@survex.com> 693 694 * common/posixy_wrapper.cc: O_RDONLY, etc are better described as 695 "POSIX" than "ANSI". 696 697Thu Apr 30 05:12:33 GMT 2015 Olly Betts <olly@survex.com> 698 699 * configure.ac,xapian-config.in: Rename ANSI_CXXFLAGS to ISO_CXXFLAGS 700 and talk about ISO C++ in configure messages. 701 702Thu Apr 30 05:10:40 GMT 2015 Olly Betts <olly@survex.com> 703 704 * .gitignore: Adjust for m4 subdirectory to only match files which 705 aren't in git. 706 707Thu Apr 30 04:07:05 GMT 2015 Olly Betts <olly@survex.com> 708 709 * xapian-config.in: Fix typo so cached result of test in 710 is_uninstalled() is actually used on subsequent calls. Fixes #676, 711 reported (with patch) by Ryan Schmidt. 712 713Wed Apr 29 03:00:32 GMT 2015 Olly Betts <olly@survex.com> 714 715 * backends/chert/chert_database.cc,backends/glass/glass_database.cc: 716 Fix get_changeset_revisions() not to potentially read uninitialised 717 data if a changeset file is truncated. 718 719Wed Apr 29 00:09:57 GMT 2015 Olly Betts <olly@survex.com> 720 721 * backends/chert/chert_databasereplicator.cc: Use return value of 722 get_message_chunk() rather than ignoring it and repeating the check 723 in the caller. 724 725Tue Apr 28 22:22:01 GMT 2015 Olly Betts <olly@survex.com> 726 727 * bin/xapian-progsrv.cc: Fix comment typo. 728 729Tue Apr 28 04:51:33 GMT 2015 Olly Betts <olly@survex.com> 730 731 * backends/chert/chert_cursor.cc,backends/chert/chert_table.cc, 732 backends/glass/glass_cursor.cc,backends/glass/glass_table.cc: 733 Potentially increment the cursor version on cancel() or when the 734 database is reopened, and flag the current cursor version as used 735 when a cursor is rebuilt. Fixes #675, reported by Germán M. Bravo. 736 * tests/api_backend.cc: Add regression test cursorbug1 based on 737 reproducer supplied by Germán. 738 739Thu Apr 23 05:25:48 GMT 2015 Olly Betts <olly@survex.com> 740 741 * matcher/exactphrasepostlist.cc: When matching an exact phrase, if a 742 term doesn't occur where we want, we can advance "term 0" using 743 skip_to() based on where the term does next occur rather than just 744 calling next() on it. 745 746Thu Apr 23 05:03:28 GMT 2015 Olly Betts <olly@survex.com> 747 748 * matcher/nearpostlist.cc: Be lazier about opening PositionList 749 objects, as that causes a read of all the data for that 750 positionlist. 751 752Thu Apr 23 04:11:30 GMT 2015 Olly Betts <olly@survex.com> 753 754 * matcher/nearpostlist.cc: Make code for scanning window for duplicate 755 positions a little clearer. 756 757Wed Apr 22 13:52:55 GMT 2015 Olly Betts <olly@tartarus.org> 758 759 * matcher/nearpostlist.cc: Fix "/*" within comment. 760 761Wed Apr 22 12:53:37 GMT 2015 Olly Betts <olly@survex.com> 762 763 * matcher/nearpostlist.cc,matcher/nearpostlist.h: Reimplement OP_NEAR 764 check. The new implementation consistently requires the terms to 765 occur at different positions, and fixes some false negatives. 766 * tests/api_query.cc: Add regression tests as loosenear1. 767 768Mon Apr 20 12:53:04 GMT 2015 Olly Betts <olly@survex.com> 769 770 * matcher/phrasepostlist.cc,matcher/phrasepostlist.h: Reimplement 771 OP_PHRASE check for loose phrases - the existing implementation was 772 buggy, giving both false positives and false negatives in rare 773 cases. Fixes #653, reported by Jean-Francois Dockes. 774 * tests/api_query.cc: Add regression test loosephrase1. 775 776Thu Apr 16 06:51:31 GMT 2015 Olly Betts <olly@survex.com> 777 778 * common/errno_to_string.cc: Fix to build with Sun's C++ compiler. 779 780Thu Apr 16 06:43:40 GMT 2015 Olly Betts <olly@survex.com> 781 782 * configure.ac: Fix XAPIAN_TEST_CXXFLAGS macro to append to the 783 existing value of the variable, not its name. 784 785Wed Apr 15 11:36:40 GMT 2015 Olly Betts <olly@tartarus.org> 786 787 * tests/api_wrdb.cc: Just #ifdef out the problematic part of the 788 adddoc5 testcase for clang. 789 790Wed Apr 15 06:25:13 GMT 2015 Olly Betts <olly@survex.com> 791 792 * common/serialise-double.cc: Fix bug in recent fix. 793 * tests/unittest.cc: Extend serialise_double() to provide regression 794 test. 795 796Thu Apr 09 00:40:24 GMT 2015 Olly Betts <olly@survex.com> 797 798 * net/remoteconnection.h: Avoid compiler warning from clang in new 799 getaddrinfo() code. 800 801Wed Apr 08 11:59:00 GMT 2015 Olly Betts <olly@survex.com> 802 803 * common/serialise-double.cc: Add missing cast to unsigned char when 804 we check if the value will fit in the double type. On machines with 805 IEEE-754 doubles (which is most current platforms), which change 806 makes no difference as we're checking if the value cast to a double 807 is > 255.<something> which is never the case. 808 809Wed Apr 08 10:42:43 GMT 2015 Olly Betts <olly@survex.com> 810 811 * common/serialise-double.cc: Avoid reading one byte past the end of 812 the serialised value. In practice this was harmless on most 813 platforms, as dbl_max_mantissa is 255 for IEEE-754 format doubles, 814 and at least GCC's std::string keeps the buffer nul-terminated. 815 Reported by Germán M. Bravo in github PR#67. 816 * tests/unittest.cc: Copy the serialised value to a temporary buffer 817 before calling unserialise_double() so that valgrind can detect if 818 we read one byte past the end. 819 820Tue Apr 07 23:02:21 GMT 2015 Olly Betts <olly@survex.com> 821 822 * backends/chert/: Fix problems with get_unique_terms() on a modified 823 chert database. 824 * tests/: Add more test coverage for get_unique_terms(). 825 826Mon Apr 06 00:22:22 GMT 2015 Olly Betts <olly@survex.com> 827 828 * tests/harness/backendmanager_multi.cc, 829 tests/harness/backendmanager_remote.cc: Cleaner code for checking 830 the backend subtype. 831 832Mon Mar 30 03:22:29 GMT 2015 Olly Betts <olly@survex.com> 833 834 * backends/flint_lock.cc: If available, use F_DUPFD to dup to a file 835 descriptor which is >= 2. 836 837Mon Mar 30 01:16:06 GMT 2015 Olly Betts <olly@survex.com> 838 839 * api/error.cc,common/safenetdb.h,configure.ac,generate-exceptions, 840 net/remoteconnection.h,net/tcpclient.cc,net/tcpserver.cc: Use 841 getaddrinfo() instead of gethostbyname(), as a step towards 842 IPv6 support (currently we still only look for IPv4 addresses). 843 See #374. 844 845Sun Mar 29 03:56:12 GMT 2015 Olly Betts <olly@survex.com> 846 847 * Makefile.am,docs/Makefile.am: Add missing quoting. 848 849Mon Mar 23 06:33:39 GMT 2015 Olly Betts <olly@survex.com> 850 851 * backends/chert/chert_table.cc,backends/glass/glass_table.cc, 852 common/io_utils.cc,common/io_utils.h,tests/api_backend.cc: 853 Avoid using fds < 3 for writable database tables, as it risks 854 corruption is some code in the same process tries to write to stdout 855 or stderr without realising it is closed. (Partly addresses #651) 856 857Sat Mar 21 22:11:53 GMT 2015 Olly Betts <olly@survex.com> 858 859 * backends/glass/glass_cursor.cc: Add comment warning that B can't be 860 used in GlassCursor's destructor. 861 862Tue Mar 17 03:51:00 GMT 2015 Olly Betts <olly@survex.com> 863 864 * matcher/exactphrasepostlist.cc: Fixed reversed conditonal for 865 picking the shorter position list for an exact phrase of two terms. 866 The difference this fix makes isn't dramatic, but can be measured 867 (at least with cachegrind). Thanks to kbwt for spotting this. 868 869Fri Mar 13 11:21:37 GMT 2015 Olly Betts <olly@survex.com> 870 871 * backends/chert/chert_compact.cc: Make sure we open all the tables of 872 a database at the same revision when compacting. (Fixes #649) 873 874Thu Mar 12 04:09:07 GMT 2015 Olly Betts <olly@survex.com> 875 876 * examples/xapian-metadata.cc: Add 'list' subcommand to list all the 877 metadata keys. 878 879Mon Mar 09 03:08:14 GMT 2015 Olly Betts <olly@survex.com> 880 881 * include/xapian/constants.h,include/xapian/queryparser.h: Doxygen 882 comment wording tweaks. 883 884Mon Mar 09 03:07:36 GMT 2015 Olly Betts <olly@survex.com> 885 886 * include/xapian/constants.h,include/xapian/queryparser.h, 887 include/xapian/weight.h: Doxygen comment formatting tweaks. 888 889Sat Mar 07 11:27:23 GMT 2015 Olly Betts <olly@tartarus.org> 890 891 * queryparser/queryparser.lemony,tests/queryparsertest.cc: Extend the 892 set of characters allowed in the start of a range to be anything 893 except for '(' and characters <= ' '. This better matches what's 894 accepted for a range end (anything except for ')' and characters <= 895 ' '). Reported by Jani Nikula. 896 897Thu Mar 05 11:13:56 GMT 2015 Olly Betts <olly@survex.com> 898 899 * backends/dbcheck.cc: When checking a single table, handle the 900 ".glass" extension on glass database tables, and use the extension 901 to guide the decision of which backend the table is from. 902 903Thu Mar 05 04:38:21 GMT 2015 Olly Betts <olly@survex.com> 904 905 * backends/dbcheck.cc: Don't hard-code string length as number. 906 907Mon Feb 23 04:48:24 GMT 2015 Olly Betts <olly@survex.com> 908 909 * api/emptypostlist.cc,api/emptypostlist.h: Fix handling of 910 OP_WILDCARD which expands to no terms when used under OP_SYNONYM. 911 * tests/api_query.cc: Regression test dualprefixwildcard1. 912 913Mon Feb 23 04:26:52 GMT 2015 Olly Betts <olly@survex.com> 914 915 * tests/harness/testsuite.cc: Fix compilation issue with previous 916 change. 917 918Thu Feb 19 08:04:17 GMT 2015 Olly Betts <olly@survex.com> 919 920 * tests/api_anydb.cc,tests/api_nodb.cc,tests/harness/testrunner.cc, 921 tests/harness/testsuite.cc,tests/stemtest.cc: Use std::string's 922 assign() or construct from substring rather than assigning or 923 initialising with the result of calling substr(). 924 925Tue Feb 17 18:31:25 GMT 2015 Olly Betts <olly@survex.com> 926 927 * include/Makefile.mk: Ship new file from previous commit. 928 929Tue Feb 17 05:14:02 GMT 2015 Olly Betts <olly@survex.com> 930 931 * api/Makefile.mk,api/constinfo.cc,api/version.cc,include/xapian.h, 932 include/xapian/constinfo.h,include/xapian/stem.h,languages/stem.cc: 933 Put the list of stemmers into the vinfo struct and renamed it to 934 const_info. 935 936Mon Feb 16 10:18:51 GMT 2015 Olly Betts <olly@survex.com> 937 938 * configure.ac,languages/: Merge generate-allsnowballheaders script 939 into collate-sbl. 940 941Mon Feb 16 04:15:46 GMT 2015 Olly Betts <olly@survex.com> 942 943 * backends/chert/chert_check.cc: Fix xapian-check on a single table. 944 945Fri Feb 13 10:18:45 GMT 2015 Olly Betts <olly@survex.com> 946 947 * generate-exceptions: Note that the change to not negate 948 WSAGetLastError() values internally was backported for 1.2.20. 949 950Fri Feb 13 05:57:13 GMT 2015 Olly Betts <olly@survex.com> 951 952 * api/,common/remoteprotocol.h,exception_data.pm, 953 include/xapian/query.h,include/xapian/queryparser.h,matcher/, 954 queryparser/queryparser.lemony,tests/api_qpbackend.cc, 955 tests/queryparsertest.cc,weight/weightinternal.cc, 956 weight/weightinternal.h: Add new OP_WILDCARD query operator, which 957 expands wildcards lazily, so now we create the PostList tree for a 958 wildcard directly, rather than creating an intermediate Query tree. 959 See ticket#48. 960 961Wed Feb 11 22:45:26 GMT 2015 Olly Betts <olly@survex.com> 962 963 * backends/glass/glass_table.cc: mid_point() should never fail to find 964 a split point, but just in case it does, return a usable answer. 965 966Wed Feb 11 22:44:35 GMT 2015 Olly Betts <olly@survex.com> 967 968 * backends/chert/chert_table.cc: mid_point() should never fail to find 969 a split point, but just in case it does, return a usable answer. 970 971Mon Feb 09 02:56:54 GMT 2015 Olly Betts <olly@survex.com> 972 973 * api/queryinternal.cc,matcher/localsubmatch.cc, 974 matcher/localsubmatch.h,matcher/queryoptimiser.h,tests/api_query.cc: 975 Don't convert an unweighted term which indexes all docs to an all 976 docs postlist if we need positional data for it. 977 978Sun Jan 25 23:48:34 GMT 2015 Olly Betts <olly@survex.com> 979 980 * configure.ac: Check for declaration of fdatasync() first, as OS X 981 has a dummy implementation in the library which is not prototyped in 982 any header. Reported by Vlad Shablinsky. 983 984Fri Jan 09 05:19:20 GMT 2015 Olly Betts <olly@survex.com> 985 986 * backends/glass/glass_freelist.cc: Fix freelist handling to allow for 987 the newly loaded first block of the freelist being already used up. 988 989Fri Jan 09 04:38:03 GMT 2015 Olly Betts <olly@survex.com> 990 991 * common/debuglog.cc: Add '#include "errno_to_string.h"'. 992 993Thu Jan 08 05:59:01 GMT 2015 Olly Betts <olly@survex.com> 994 995 * backends/glass/glass_compact.cc: Fix compaction of position tables 996 for the change in key format. 997 998Tue Jan 06 02:22:37 GMT 2015 Olly Betts <olly@survex.com> 999 1000 * HACKING: Now using automake 1.15 and libtool 2.4.4. 1001 1002Mon Jan 05 08:39:47 GMT 2015 Olly Betts <olly@survex.com> 1003 1004 * Makefile.am: Remove the generated .pc file on "make distclean". 1005 1006Mon Jan 05 04:43:35 GMT 2015 Olly Betts <olly@survex.com> 1007 1008 * backends/glass/glass_table.cc: In enter_key(), we know the insertion 1009 point will be the position after the current cursor position, so 1010 there's no need to call find_in_block() to locate it. 1011 1012Mon Jan 05 04:42:17 GMT 2015 Olly Betts <olly@survex.com> 1013 1014 * backends/glass/glass_table.cc: More assertions that c is valid. 1015 1016Mon Jan 05 01:52:54 GMT 2015 Olly Betts <olly@survex.com> 1017 1018 * backends/chert/chert_dbcheck.cc,backends/glass/glass_dbcheck.cc: 1019 Cross-check the position and postlist tables and report positional 1020 data for non-existent documents. 1021 1022Mon Jan 05 01:28:28 GMT 2015 Olly Betts <olly@survex.com> 1023 1024 * backends/glass/glass_dbcheck.cc: Fix decoding of positionlist keys - 1025 this hadn't been updated for the key format change. 1026 1027Mon Jan 05 01:25:17 GMT 2015 Olly Betts <olly@survex.com> 1028 1029 * backends/glass/glass_check.cc: Check that dir_end is odd. 1030 1031Tue Dec 23 21:26:49 GMT 2014 Olly Betts <olly@survex.com> 1032 1033 * backends/chert/chert_table.cc: More assertions about c. 1034 1035Tue Dec 23 04:26:38 GMT 2014 Olly Betts <olly@survex.com> 1036 1037 * backends/chert/chert_table.cc: Fix assertion to allow for c being 1038 DIR_START - D2 in leaf blocks. 1039 1040Tue Dec 23 04:01:54 GMT 2014 Olly Betts <olly@survex.com> 1041 1042 * backends/chert/chert_table.cc: Add more assertions that c has 1043 suitable values. 1044 1045Tue Dec 23 03:58:00 GMT 2014 Olly Betts <olly@survex.com> 1046 1047 * backends/chert/chert_table.cc: In enter_key(), we know the insertion 1048 point will be the position after the current cursor position, so 1049 there's no need to call find_in_block() to locate it. 1050 1051Tue Dec 23 03:11:12 GMT 2014 Olly Betts <olly@survex.com> 1052 1053 * backends/chert/chert_check.cc: Add check that dir_end is odd. 1054 1055Mon Dec 22 23:28:54 GMT 2014 Olly Betts <olly@survex.com> 1056 1057 * backends/chert/chert_table.cc: Document situations in which the 1058 cursor can be left pointing before DIR_START. 1059 1060Mon Dec 22 03:39:14 GMT 2014 Olly Betts <olly@survex.com> 1061 1062 * backends/glass/glass_freelist.cc: Add more freelist assertions. 1063 1064Mon Dec 22 03:15:50 GMT 2014 Olly Betts <olly@survex.com> 1065 1066 * backends/glass/glass_freelist.cc: Allow restricting the number of 1067 freelist entries per block by setting GLASS_FREELIST_SIZE. 1068 1069Sun Dec 21 20:55:47 GMT 2014 Olly Betts <olly@survex.com> 1070 1071 * include/xapian/weight.h: Document the enum stat_flags values. 1072 1073Sun Dec 21 20:51:47 GMT 2014 Olly Betts <olly@survex.com> 1074 1075 * include/xapian/weight.h: Fix indentation. 1076 1077Sat Dec 20 10:40:44 GMT 2014 Sébastien Debrard <sebastien.debrard@gmail.com> 1078 1079 * Makefile.am,configure.ac,pkgconfig/,xapian-core.spec.in: Generate a 1080 file for pkg-config. (Fixes#540) 1081 1082Fri Dec 19 22:30:39 GMT 2014 Olly Betts <olly@survex.com> 1083 1084 * common/errno_to_string.cc: Need stdlib.h under mingw. 1085 1086Fri Dec 19 04:38:56 GMT 2014 Olly Betts <olly@survex.com> 1087 1088 * backends/glass/glass_check.cc: Distinguish between a block in use 1089 and in the freelist, and a block in the freelist more than once. 1090 1091Fri Dec 19 04:37:14 GMT 2014 Olly Betts <olly@survex.com> 1092 1093 * backends/glass/glass_freelist.cc,backends/glass/glass_freelist.h: 1094 Avoid any mutual recursion between GlassFreeList::get_block() and 1095 GlassFreeList::mark_block_unused(). 1096 1097Thu Dec 18 10:28:17 GMT 2014 Olly Betts <olly@survex.com> 1098 1099 * common/safesyssocket.h: Include safeerrno.h when we use errno. 1100 1101Thu Dec 18 06:17:18 GMT 2014 Olly Betts <olly@survex.com> 1102 1103 * net/tcpclient.cc: Use POSIX O_NONBLOCK in preference to O_NDELAY 1104 which has different semantics on BSD and System V. 1105 1106Wed Dec 17 02:59:54 GMT 2014 Olly Betts <olly@survex.com> 1107 1108 * configure.ac: Drop probe for gethostbyaddr() - we've not used it for 1109 over 8.5 years (since e33972a5). 1110 1111Wed Dec 17 02:33:36 GMT 2014 Olly Betts <olly@survex.com> 1112 1113 * common/internaltypes.h: Take CHAR_BIT into account when choosing 1114 types for uint2, uint4 and uint8. 1115 1116Wed Dec 17 02:30:14 GMT 2014 Olly Betts <olly@survex.com> 1117 1118 * api/error.cc,backends/chert/chert_btreebase.cc, 1119 backends/chert/chert_table.cc,backends/flint_lock.cc, 1120 backends/glass/glass_table.cc,common/,configure.ac, 1121 net/remoteconnection.cc: Add errno_to_string() function which is 1122 thread-safe where a suitable alternative to strerror() exists. 1123 1124Tue Dec 16 06:54:32 GMT 2014 Olly Betts <olly@survex.com> 1125 1126 * configure.ac: Add missing m4 quoting. Generated configure file is 1127 unchanged. 1128 1129Tue Dec 16 06:28:21 GMT 2014 Olly Betts <olly@survex.com> 1130 1131 * configure.ac: Don't check for strerror - it's specified by C89, and 1132 we weren't using the result of the check anyway. 1133 1134Tue Dec 16 03:59:39 UTC 2014 Sébastien Debrard <sebastien.debrard@gmail.com> 1135 1136 * api/omenquire.cc,backends/multi/multi_postlist.cc, 1137 tests/api_anydb.cc,tests/api_db.cc: Prefer ++x to x++. 1138 1139Tue Dec 16 03:50:41 GMT 2014 Olly Betts <olly@survex.com> 1140 1141 * configure.ac: Define MINGW_HAS_SECURE_API under mingw to get 1142 _putenv_s() declared in stdlib.h. 1143 1144Sun Dec 14 09:42:01 GMT 2014 Olly Betts <olly@survex.com> 1145 1146 * api/omdatabase.cc,include/xapian/database.h: Make overloaded forms of 1147 Database::allterms_begin() and Database::allterms_end() use default 1148 parameters instead. 1149 1150Sat Dec 13 02:48:10 GMT 2014 Olly Betts <olly@survex.com> 1151 1152 * api/error.cc,generate-exceptions,net/remoteconnection.h: On 1153 Windows, avoid defining EADDRINUSE, etc if they're already defined, 1154 and use WSAE* constants un-negated, as they start from a high value 1155 so won't collide with E* constants. 1156 1157Fri Dec 12 03:41:02 GMT 2014 Olly Betts <olly@survex.com> 1158 1159 * backends/glass/glass_freelist.cc: Avoid infinite recursion when we 1160 hit the end of the freelist block we're reading and the end of the 1161 block we're writing at the same time. 1162 1163Thu Dec 11 20:45:28 GMT 2014 Olly Betts <olly@survex.com> 1164 1165 * backends/glass/glass_version.cc: Use str() rather than sprintf(). 1166 1167Thu Dec 11 03:21:46 GMT 2014 Olly Betts <olly@survex.com> 1168 1169 * net/tcpserver.cc: Fix comment. 1170 1171Thu Dec 11 03:20:56 GMT 2014 Olly Betts <olly@survex.com> 1172 1173 * api/compactor.cc,api/error.cc,api/replication.cc, 1174 backends/chert/chert_databasereplicator.cc, 1175 backends/chert/chert_table.cc, 1176 backends/glass/glass_databasereplicator.cc, 1177 backends/glass/glass_table.cc: Remove unnecessary includes of 1178 <cstdio> in files which used to need it for rename() but no longer 1179 do. 1180 1181Fri Dec 05 11:30:05 GMT 2014 Olly Betts <olly@survex.com> 1182 1183 * ChangeLog,ChangeLog.0,ChangeLog.examples, 1184 backends/chert/chert_btreebase.cc,backends/chert/chert_database.h, 1185 languages/compiler/driver.c,languages/turkish.sbl: Fix typos reported 1186 by Veres Lajos. 1187 1188Thu Dec 04 02:17:46 GMT 2014 Olly Betts <olly@survex.com> 1189 1190 * configure.ac: Fix detection of fdatasync(), which appears to have 1191 been broken practically forever - this means we've probably been 1192 using fsync() instead, which probably isn't a big additional 1193 overhead. 1194 1195Wed Dec 03 09:38:24 GMT 2014 Olly Betts <olly@survex.com> 1196 1197 * docs/Makefile.am: Quote png filenames we run through pngcrush to 1198 avoid problems if there's an oddly-named extra PNG file in the 1199 directory. 1200 1201Tue Dec 02 02:58:59 GMT 2014 Olly Betts <olly@survex.com> 1202 1203 * backends/chert/chert_database.cc,backends/chert/chert_database.h, 1204 backends/chert/chert_databasereplicator.cc,backends/, 1205 backends/glass/glass_compact.cc,backends/glass/glass_database.cc, 1206 backends/glass/glass_databasereplicator.cc, 1207 backends/remote/remote-database.cc,backends/remote/remote-database.h, 1208 include/xapian/constants.h,include/xapian/database.h, 1209 include/xapian/dbfactory.h,net/,tests/api_backend.cc: Add new flag 1210 Xapian::DB_RETRY_LOCK which allows opening a database for writing 1211 to wait until it can get a write lock. (fixes#275) 1212 1213Tue Dec 02 02:55:33 GMT 2014 Olly Betts <olly@survex.com> 1214 1215 * backends/glass/glass_database.h: Document parameter to internal 1216 method 1217 1218Sun Nov 30 15:55:20 GMT 2014 James Aylett <james@tartarus.org> 1219 1220 * HACKING: improve OS X docs build information. 1221 1222Thu Nov 27 04:00:38 GMT 2014 Olly Betts <olly@survex.com> 1223 1224 * backends/dbcheck.cc,backends/flint_lock.cc,backends/flint_lock.h, 1225 examples/copydatabase.cc,tests/api_backend.cc: Drop support code for 1226 building on OS/2 with EMX - EMX was last updated in 2001 and comes 1227 with GCC 3.2.1, which pre-dates C++11 and we're going to require 1228 a compiler with good C++11 support in the near future. 1229 1230Thu Nov 27 03:15:51 GMT 2014 Olly Betts <olly@survex.com> 1231 1232 * HACKING: Rename svn-ci to xapian-commit (see #621). 1233 1234Thu Nov 27 03:05:18 GMT 2014 Olly Betts <olly@survex.com> 1235 1236 * backends/flint_lock.cc: Use F_OFD_SETLK where available, which 1237 avoids having to fork() a child process to hold the lock. This 1238 currently requires Linux kernel >= 3.15, but it has been submitted 1239 to POSIX so hopefully will be widely supported eventually. Thanks 1240 to Austin Clements for pointing out this now exists. 1241 1242Wed Nov 26 04:03:45 GMT 2014 Olly Betts <olly@survex.com> 1243 1244 * include/xapian/geospatial.h: Drop documentation of parameter which 1245 the method doesn't actually take. 1246 1247Wed Nov 26 04:03:24 GMT 2014 Olly Betts <olly@survex.com> 1248 1249 * include/xapian/enquire.h: Fix incorrect parameter name in doxygen 1250 comment. 1251 1252Wed Nov 26 03:29:28 GMT 2014 Olly Betts <olly@survex.com> 1253 1254 * docs/doxygen_source.conf.in: @MAKEINDEX@ isn't substituted, so just 1255 use literal 'makeindex'. 1256 1257Wed Nov 26 03:28:32 GMT 2014 Olly Betts <olly@survex.com> 1258 1259 * docs/doxygen_api.conf.in,docs/doxygen_source.conf.in: Update to 1260 avoid warnings about obsolete tags from newer doxygen. 1261 1262Tue Nov 25 21:13:51 GMT 2014 Olly Betts <olly@survex.com> 1263 1264 * configure.ac: Update link to cygwin FAQ. 1265 1266Tue Nov 25 01:55:17 GMT 2014 Olly Betts <olly@survex.com> 1267 1268 * HACKING: Update details of building Xapian packages. 1269 1270Tue Nov 25 01:48:44 GMT 2014 Olly Betts <olly@survex.com> 1271 1272 * HACKING: Update for SVN to git migration. 1273 1274Mon Nov 24 19:50:32 GMT 2014 Olly Betts <olly@survex.com> 1275 1276 * NEWS,configure.ac: Update for 1.3.2. 1277 1278Mon Nov 24 03:59:02 GMT 2014 Olly Betts <olly@survex.com> 1279 1280 * languages/Makefile.mk: Add missing '\' at end of line in previous 1281 commit. 1282 1283Mon Nov 24 03:14:22 GMT 2014 Olly Betts <olly@survex.com> 1284 1285 * languages/: Install the stopword lists as 1286 ${pkgdatadir}/stopwords/LANG.list. 1287 1288Sun Nov 23 23:56:02 GMT 2014 Olly Betts <olly@survex.com> 1289 1290 * HACKING,INSTALL,NEWS,NEWS.SKELETON,api/compactor.cc, 1291 api/replication.cc,backends/Makefile.mk,backends/brass/, 1292 backends/databasereplicator.cc,backends/dbcheck.cc, 1293 backends/dbfactory.cc,backends/glass/,bin/Makefile.mk, 1294 common/Makefile.mk,common/pack.h,common/pretty.h,configure.ac,docs/, 1295 include/xapian/,net/replication_protocol.rst,tests/,tests/harness/: 1296 Rename 'brass' backend to 'glass'. 1297 1298Sun Nov 23 22:23:00 GMT 2014 Olly Betts <olly@survex.com> 1299 1300 * backends/brass/brass_freelist.cc,backends/brass/brass_freelist.h: 1301 Set the revision in BrassFreeList::write_block(). 1302 1303Thu Nov 20 21:36:35 GMT 2014 Olly Betts <olly@survex.com> 1304 1305 * backends/brass/brass_freelist.h: Reset flw_appending when we unpack 1306 a freelist. 1307 1308Thu Nov 20 21:36:15 GMT 2014 Olly Betts <olly@survex.com> 1309 1310 * backends/brass/brass_freelist.cc: Fix comment typo. 1311 1312Thu Nov 20 03:53:32 GMT 2014 Olly Betts <olly@survex.com> 1313 1314 * backends/brass/brass_freelist.cc: Fix end-of-block condition when 1315 walking the freelist during database consistency checking. 1316 1317Thu Nov 20 02:32:37 GMT 2014 Olly Betts <olly@survex.com> 1318 1319 * backends/brass/brass_freelist.cc: Wrap comment line. 1320 1321Thu Nov 20 02:31:54 GMT 2014 Olly Betts <olly@survex.com> 1322 1323 * matcher/exactphrasepostlist.cc: Straighten out confusing comments. 1324 1325Sun Nov 16 23:49:38 GMT 2014 Olly Betts <olly@survex.com> 1326 1327 * NEWS: Update. 1328 1329Thu Nov 13 20:35:25 GMT 2014 Olly Betts <olly@survex.com> 1330 1331 * backends/brass/brass_freelist.cc: Wrap comment line. 1332 1333Tue Nov 11 22:17:48 GMT 2014 Olly Betts <olly@survex.com> 1334 1335 * api/queryinternal.cc,api/queryinternal.h: Move all the get_op() 1336 definitions out of the header as they're virtual and there's not 1337 much scope for devirtualisation. 1338 1339Tue Nov 11 02:58:05 GMT 2014 Olly Betts <olly@survex.com> 1340 1341 * exception_data.pm: Just have one copy of the licence boilerplate. 1342 1343Sun Nov 09 22:38:04 GMT 2014 Olly Betts <olly@survex.com> 1344 1345 * NEWS: Update. 1346 1347Fri Nov 07 00:49:22 GMT 2014 Olly Betts <olly@survex.com> 1348 1349 * queryparser/lemon.c: Sync change from upstream: "Modify the 1350 %nonassoc directive in lemon so that it generates a run-time error 1351 rather than a parsing conflict. This changes is due to a bug report 1352 on the mailing list. SQLite does not use the %nonassoc directive in 1353 its grammar so this change does not affect SQLite." Generated code 1354 is identical. 1355 1356Fri Nov 07 00:44:57 GMT 2014 Olly Betts <olly@survex.com> 1357 1358 * queryparser/lemon.c: Sync change from upstream: "Fix harmless 1359 compiler warning in LEMON." Generated code is identical. 1360 1361Fri Nov 07 00:39:44 GMT 2014 Olly Betts <olly@survex.com> 1362 1363 * queryparser/lemon.c: Sync change from upstream: "In LEMON, limit the 1364 size of the grammar file to 100MB. This ensures that the program 1365 will never experience integer overflow. To be doubly sure, use 1366 calloc() instead of malloc() when allocating arrays." Generated code 1367 is identical. 1368 1369Fri Nov 07 00:34:26 GMT 2014 Olly Betts <olly@survex.com> 1370 1371 * queryparser/lemon.c: Sync change from upstream: "Add the 1372 "%token_class" directive to the LEMON parser generator. This opens 1373 up the possibility of simplifying the parser. Also remove all calls 1374 to sprintf(), strcpy(), and strcat() from LEMON to avoid compiler 1375 warnings on OpenBSD. (Aside: It is this change to avoid harmless 1376 compiler warnings that was the cause of the reason spat of bugs.)" 1377 Generated code is identical aside from whitespace changes in 1378 queryparser_token.h. 1379 1380Fri Nov 07 00:17:18 GMT 2014 Olly Betts <olly@survex.com> 1381 1382 * queryparser/lemon.c: Sync change from upstream: "In Lemon, when 1383 comparing the output to the *.h file to see if it has changed, make 1384 sure that the proposed new output and the preexisting output are the 1385 same size before deciding that they are the same". Generated code 1386 is identical, but this will fix misbehaviour in a build from a 1387 non-clean tree if new tokens get appended to queryparser_token.h. 1388 1389Thu Nov 06 22:23:27 GMT 2014 Olly Betts <olly@survex.com> 1390 1391 * HACKING: Now using doxygen 1.8.8. 1392 1393Thu Nov 06 04:18:32 GMT 2014 Olly Betts <olly@survex.com> 1394 1395 * HACKING: Now using libtool 2.4.3. 1396 1397Wed Nov 05 21:38:45 GMT 2014 Olly Betts <olly@survex.com> 1398 1399 * backends/chert/chert_check.cc: Handle DBCHECK_FIX for a zero sized 1400 .DB file. 1401 1402Wed Nov 05 21:02:21 GMT 2014 Olly Betts <olly@survex.com> 1403 1404 * backends/chert/chert_check.cc: After we successfully regenerate 1405 baseA, remove any empty baseB file to prevent it causing problems. 1406 Tracked down with help from Phil Hands. 1407 1408Wed Nov 05 20:58:27 GMT 2014 Olly Betts <olly@survex.com> 1409 1410 * backends/chert/chert_check.cc: Fix DBCHECK_FIX to be able to find a 1411 level 0 root block (happens when a table has sufficiently little 1412 data in that it all fits in one block). 1413 1414Sun Nov 02 21:14:43 GMT 2014 Olly Betts <olly@survex.com> 1415 1416 * docs/deprecation.rst: Fix typo. 1417 1418Tue Oct 28 23:35:10 GMT 2014 Olly Betts <olly@survex.com> 1419 1420 * docs/replication.rst: Fix typo. 1421 1422Tue Oct 28 02:34:54 GMT 2014 Olly Betts <olly@survex.com> 1423 1424 * docs/postingsource.rst: Use a modern class in postingsource example. 1425 (Noted by James Aylett) 1426 1427Mon Oct 27 21:06:55 GMT 2014 Olly Betts <olly@survex.com> 1428 1429 * docs/,net/Makefile.mk,net/remote_protocol.rst, 1430 net/replication_protocol.rst: Move the protocol docs for the remote 1431 and replication protocols into the net/ subdirectory. 1432 1433Mon Oct 27 19:19:59 GMT 2014 Olly Betts <olly@survex.com> 1434 1435 * Makefile.am,api/Makefile.mk,api/dir_contents,backends/Makefile.mk, 1436 backends/brass/Makefile.mk,backends/brass/dir_contents, 1437 backends/chert/Makefile.mk,backends/chert/dir_contents, 1438 backends/dir_contents,backends/inmemory/Makefile.mk, 1439 backends/inmemory/dir_contents,backends/multi/Makefile.mk, 1440 backends/multi/dir_contents,backends/remote/Makefile.mk, 1441 backends/remote/dir_contents,bin/Makefile.mk,bin/dir_contents, 1442 common/Makefile.mk,common/dir_contents,configure.ac,dir_contents, 1443 docs/,examples/Makefile.mk,examples/dir_contents,expand/Makefile.mk, 1444 expand/dir_contents,geospatial/Makefile.mk,geospatial/dir_contents, 1445 include/Makefile.mk,include/dir_contents,include/xapian/dir_contents, 1446 languages/Makefile.mk,languages/dir_contents,m4-macros/dir_contents, 1447 m4/dir_contents,matcher/Makefile.mk,matcher/dir_contents, 1448 net/Makefile.mk,net/dir_contents,preautoreconf, 1449 queryparser/Makefile.mk,queryparser/dir_contents,tests/Makefile.am, 1450 tests/dir_contents,tests/harness/Makefile.mk, 1451 tests/harness/dir_contents,tests/perftest/Makefile.mk, 1452 tests/perftest/dir_contents,tests/soaktest/Makefile.mk, 1453 tests/soaktest/dir_contents,unicode/Makefile.mk,unicode/dir_contents, 1454 weight/Makefile.mk,weight/dir_contents: Remove the dir_contents files 1455 and all the machinery to handle them. 1456 1457Sat Oct 25 19:25:06 GMT 2014 Olly Betts <olly@survex.com> 1458 1459 * api/query.cc,api/queryinternal.cc,api/smallvector.h, 1460 include/xapian/query.h: Stop using a reference where we may end up 1461 passing *NULL, as that's invalid. Thanks Nick Lewycky and ubsan 1462 for helping track this down. 1463 * tests/api_postingsource.cc: Fix testsuite to avoid passing literal 1464 NULL - pass nullptr for C++11 and don't bother with that part of 1465 the testcase for older C++. 1466 1467Sat Oct 25 19:05:07 GMT 2014 Olly Betts <olly@survex.com> 1468 1469 * weight/dlhweight.cc,weight/dphweight.cc: Avoid dividing by zero when 1470 the collection size is 0. 1471 1472Fri Oct 24 23:04:24 GMT 2014 Gaurav Arora <gauravarora.daiict@gmail.com> 1473 1474 * api/registry.cc,include/xapian/weight.h,tests/api_backend.cc, 1475 tests/api_nodb.cc,tests/api_weight.cc,weight/Makefile.mk, 1476 weight/lmweight.cc: Add Unigram LMWeight class. 1477 1478Tue Oct 21 19:19:32 GMT 2014 Olly Betts <olly@survex.com> 1479 1480 * NEWS: Update for 1.2.19 release. 1481 1482Mon Oct 20 00:47:32 GMT 2014 Olly Betts <olly@survex.com> 1483 1484 * .gitignore,docs/.gitignore,tests/.gitignore,unicode/.gitignore: 1485 Update to ignore new generated files. 1486 1487Sat Oct 18 06:15:52 GMT 2014 Olly Betts <olly@survex.com> 1488 1489 * include/xapian/enquire.h: Don't provide a default expansion scheme 1490 name in Enquire::set_expansion_scheme(). 1491 1492Fri Oct 17 00:33:55 GMT 2014 Olly Betts <olly@survex.com> 1493 1494 * api/queryinternal.cc,matcher/: Split NearPostList out into separate 1495 source file and header. 1496 1497Wed Oct 15 04:33:31 GMT 2014 Olly Betts <olly@survex.com> 1498 1499 * api/queryinternal.cc,matcher/exactphrasepostlist.cc: We never try to 1500 build an ExactPhrasePostList over 0 or 1 terms, so simply assert we 1501 don't, rather than having an explicit check for it in the code. 1502 1503Tue Oct 14 02:47:02 GMT 2014 Olly Betts <olly@survex.com> 1504 1505 * matcher/phrasepostlist.cc,tests/api_backend.cc: If the anchor term 1506 for a phrase is the first or last, set the min or max to its 1507 position respectively. Fixes the testcase in #657, but may not be 1508 a complete fix. 1509 1510Sun Oct 12 12:03:10 GMT 2014 Olly Betts <olly@survex.com> 1511 1512 * NEWS: Update. 1513 1514Fri Oct 10 10:53:38 GMT 2014 Olly Betts <olly@survex.com> 1515 1516 * backends/chert/chert_btreebase.cc,backends/chert/chert_table.cc: The 1517 table is sync-ed after the base file, so it's the last table we want 1518 to full-sync, not the last base file. 1519 1520Thu Oct 09 02:39:00 GMT 2014 Olly Betts <olly@survex.com> 1521 1522 * common/debuglog.h: Suppress unused typedef warnings from debugging 1523 logging macros, which occur in functions which always exit via 1524 throwing an exception. 1525 1526Thu Oct 09 01:45:00 GMT 2014 Olly Betts <olly@survex.com> 1527 1528 * tests/harness/fdtracker.cc: Fix code typo in recent change to skip 1529 apparent leaks of /dev/urandom. 1530 1531Thu Oct 09 01:43:02 GMT 2014 Olly Betts <olly@survex.com> 1532 1533 * common/pretty.h: Fix debug logging code to compile with clang. 1534 (fixes #657, reported by Germán M. Bravo) 1535 1536Wed Oct 08 04:43:05 GMT 2014 Olly Betts <olly@survex.com> 1537 1538 * matcher/multimatch.cc: If an empty RSet is specified, just handle it 1539 as if no RSet were specified. 1540 1541Mon Oct 06 21:41:58 GMT 2014 Olly Betts <olly@survex.com> 1542 1543 * tests/Makefile.am: Remove .replicatmp upon "make clean". 1544 1545Fri Sep 19 05:31:15 GMT 2014 Olly Betts <olly@survex.com> 1546 1547 * include/xapian/enquire.h: Fix compilation with clang. Reported by 1548 Germán M. Bravo. 1549 1550Fri Sep 12 17:54:34 GMT 2014 Olly Betts <olly@survex.com> 1551 1552 * docs/overview.rst: Add missing database path to example of using 1553 xapian-progsrv in a stub database file. 1554 1555Thu Sep 11 21:33:49 GMT 2014 Olly Betts <olly@survex.com> 1556 1557 * include/Makefile.mk,include/xapian/enquire.h, 1558 include/xapian/iterator.h: Add simple API to help with creating 1559 language-idiomatic iterator wrappers. 1560 1561Wed Sep 10 17:02:18 GMT 2014 Olly Betts <olly@survex.com> 1562 1563 * api/queryinternal.cc: If we hit an unknown query serialisation, 1564 report the numeric code for it in the exception thrown. 1565 1566Wed Sep 10 16:59:20 GMT 2014 Olly Betts <olly@survex.com> 1567 1568 * tests/queryparsertest.cc: Enable some disabled cases which actually 1569 work (in some cases with slightly tweaked expected answers which are 1570 equivalent to those that were shown). 1571 1572Fri Sep 05 17:41:53 GMT 2014 Olly Betts <olly@survex.com> 1573 1574 * tests/harness/fdtracker.cc: Don't report apparent leaks of fds 1575 opened on /dev/urandom - at least on Linux, something in the C 1576 library seems to lazily open it, and the report of a possible leak 1577 followed by assurance that it's OK really is just noise we could 1578 do without. 1579 1580Fri Sep 05 14:06:08 GMT 2014 Olly Betts <olly@survex.com> 1581 1582 * common/pretty.h: Add new brass-related types. 1583 1584Thu Sep 04 20:51:16 GMT 2014 Olly Betts <olly@survex.com> 1585 1586 * backends/dbfactory.cc: Fix incorrect return type in logging 1587 annotations for InMemory::open(). 1588 1589Thu Sep 04 20:48:37 GMT 2014 Olly Betts <olly@survex.com> 1590 1591 * backends/brass/brass_database.cc,backends/chert/chert_database.cc: 1592 Fix logging annotations for get_freqs() to reflect that it now has 1593 void return type. 1594 1595Thu Sep 04 20:21:32 GMT 2014 Olly Betts <olly@survex.com> 1596 1597 * api/,backends/brass/,backends/chert/,backends/dbfactory_remote.cc, 1598 matcher/mergepostlist.cc,matcher/remotesubmatch.cc, 1599 net/progclient.cc: Add missing RETURN() markup for debug logging, 1600 highlighted by warning from recent GCC. 1601 1602Thu Sep 04 18:02:38 GMT 2014 Olly Betts <olly@survex.com> 1603 1604 * backends/brass/brass_freelist.cc,backends/brass/brass_freelist.h: 1605 Make the BrassTable parameter a const pointer. 1606 1607Thu Sep 04 17:13:57 GMT 2014 Olly Betts <olly@survex.com> 1608 1609 * common/io_utils.cc: Reading or writing a block will almost always 1610 complete in one call, so streamline that case. 1611 1612Wed Sep 03 19:30:00 GMT 2014 Olly Betts <olly@survex.com> 1613 1614 * common/internaltypes.h: Update comment to reflect C++11 now being 1615 out. 1616 1617Wed Sep 03 19:29:09 GMT 2014 Olly Betts <olly@survex.com> 1618 1619 * common/internaltypes.h,configure.ac: Make uint2 available. 1620 1621Wed Sep 03 19:27:41 GMT 2014 Olly Betts <olly@survex.com> 1622 1623 * backends/brass/brass_database.h: Remove method which is declared but 1624 never defined. 1625 1626Wed Sep 03 18:52:40 GMT 2014 Olly Betts <olly@survex.com> 1627 1628 * generate-exceptions,include/xapian/: Use XAPIAN_IN_XAPIAN_H rather 1629 than XAPIAN_INCLUDED_XAPIAN_H in the direct inclusion of subheader 1630 checks. Currently neither will catch the case of the user including 1631 a sub-header after <xapian.h> since the include guard for the 1632 subheader will stop us getting to the direct inclusion check, but 1633 XAPIAN_IN_XAPIAN_H will work if we move the check outside the 1634 include guard. 1635 1636Wed Sep 03 18:29:41 GMT 2014 Olly Betts <olly@survex.com> 1637 1638 * include/xapian/constants.h: Hide internal constants from external 1639 users. 1640 1641Tue Sep 02 14:15:50 GMT 2014 Olly Betts <olly@survex.com> 1642 1643 * backends/brass/brass_spellingwordslist.h: Explicit include 1644 brass_cursor.h since we actually use BrassCursor here. 1645 1646Mon Sep 01 22:03:11 GMT 2014 Olly Betts <olly@survex.com> 1647 1648 * tests/api_backend.cc: New testcase readonlyparentdir1 to ensure that 1649 commit works with a read-only parent directory. 1650 1651Mon Sep 01 21:51:45 GMT 2014 Olly Betts <olly@survex.com> 1652 1653 * tests/harness/testrunner.h: Drop "flint" flag - flint was removed 1654 from trunk some time ago. 1655 1656Mon Sep 01 21:42:31 GMT 2014 Olly Betts <olly@survex.com> 1657 1658 * backends/brass/: Eliminate brass_doclen_t in favour of just using 1659 Xapian::termcount. 1660 1661Mon Sep 01 21:28:39 GMT 2014 Olly Betts <olly@survex.com> 1662 1663 * backends/brass/brass_check.h: Tweak to ease upcoming big merge. 1664 1665Mon Sep 01 20:59:40 GMT 2014 Olly Betts <olly@survex.com> 1666 1667 * backends/brass/,backends/dbcheck.cc: Only create a btree entry for 1668 the document data if it is non-empty. The table is now lazily 1669 created, so won't exist if no documents have document data set. 1670 1671Mon Sep 01 16:54:44 GMT 2014 Olly Betts <olly@survex.com> 1672 1673 * backends/brass/brass_record.cc,backends/brass/brass_record.h: Remove 1674 BrassRecordTable::get_doccount() as it is no longer used. 1675 1676Mon Sep 01 16:51:04 GMT 2014 Olly Betts <olly@survex.com> 1677 1678 * backends/brass/: Track doccount in the database stats. 1679 1680Mon Sep 01 16:27:15 GMT 2014 Olly Betts <olly@survex.com> 1681 1682 * backends/brass/brass_database.cc: Update comment and exception 1683 message not to talk about "consistent state", as that was to do 1684 with the base files. 1685 1686Mon Sep 01 14:57:02 GMT 2014 Olly Betts <olly@survex.com> 1687 1688 * backends/brass/brass_database.cc: Explicitly include brass_defs.h. 1689 1690Mon Sep 01 14:48:01 GMT 2014 Olly Betts <olly@survex.com> 1691 1692 * backends/brass/: Eliminate backends/brass/brass_types.h. 1693 1694Fri Aug 29 21:06:22 GMT 2014 Olly Betts <olly@survex.com> 1695 1696 * backends/dbcheck.cc: Fix checking a single brass table. 1697 1698Thu Aug 28 16:04:59 GMT 2014 Olly Betts <olly@survex.com> 1699 1700 * backends/brass/brass_check.cc,backends/chert/chert_check.cc, 1701 bin/xapian-check.cc,include/xapian/constants.h: Rename 1702 DBCHECK_SHOW_BITMAP to DBCHECK_SHOW_FREELIST. 1703 1704Tue Aug 26 22:31:32 GMT 2014 Olly Betts <olly@survex.com> 1705 1706 * NEWS: Update. 1707 1708Fri Aug 22 09:09:52 GMT 2014 Gaurav Arora <gauravarora.daiict@gmail.com> 1709 1710 * api/,backends/brass/,backends/chert/, 1711 backends/contiguousalldocspostlist.cc, 1712 backends/contiguousalldocspostlist.h,backends/database.h, 1713 backends/inmemory/inmemory_database.cc, 1714 backends/inmemory/inmemory_database.h, 1715 backends/multi/multi_postlist.cc,backends/multi/multi_postlist.h, 1716 backends/remote/,common/remoteprotocol.h,docs/sorting.rst, 1717 include/xapian/database.h,include/xapian/postingiterator.h, 1718 include/xapian/weight.h,matcher/,net/remoteserver.cc, 1719 net/remoteserver.h,tests/,weight/: Provide the number of distinct 1720 terms in the document to weighting schemes. The current 1721 implementation for the disk-based backends is a bit inefficient as 1722 it has to look at the termlist table entry for the document. 1723 1724Thu Aug 21 12:29:57 GMT 2014 Olly Betts <olly@survex.com> 1725 1726 * weight/weight.cc: Add missing parameter to debug logging for 1727 Weight::init_(). 1728 1729Tue Aug 19 14:25:39 GMT 2014 Olly Betts <olly@survex.com> 1730 1731 * backends/brass/brass_table.h: Don't sync handles for tables which 1732 aren't open. Reported by Austin Clements. 1733 1734Fri Aug 15 13:13:43 GMT 2014 Olly Betts <olly@survex.com> 1735 1736 * HACKING: freecode no longer accepts updates, so drop that item from 1737 the release checklist. 1738 1739Wed Aug 13 23:55:24 GMT 2014 Olly Betts <olly@survex.com> 1740 1741 * backends/chert/chert_btreebase.cc,backends/chert/chert_table.cc: 1742 Only full sync the final base file written. 1743 1744Mon Aug 11 05:30:20 GMT 2014 Olly Betts <olly@survex.com> 1745 1746 * configure.ac: For Sun's C++ compiler, pass -library=Crun separately 1747 since libtool looks for " -library=stlport4 " (with the spaces). 1748 (fixes#650) 1749 1750Mon Aug 11 03:00:15 GMT 2014 Olly Betts <olly@survex.com> 1751 1752 * configure.ac: Rename XAPIAN_TEST_CXXFLAGS_ to XAPIAN_TEST_CXXFLAGS 1753 (since the latter is never used) and make it take a variable to 1754 add the flags to. Also, fix it to restore CXXFLAGS correctly if 1755 the success case contains "break". 1756 1757Wed Aug 06 10:49:46 GMT 2014 Olly Betts <olly@survex.com> 1758 1759 * include/xapian/compactor.h: Fix formatting of doxygen comment. 1760 1761Wed Aug 06 10:49:20 GMT 2014 Olly Betts <olly@survex.com> 1762 1763 * include/xapian/constants.h: Whitespace tweak. 1764 1765Wed Aug 06 10:08:09 GMT 2014 Olly Betts <olly@survex.com> 1766 1767 * backends/brass/brass_version.cc,common/io_utils.h, 1768 include/xapian/constants.h: Add DB_FULL_SYNC flag - if this is set 1769 for a database, we use the Mac OS X F_FULL_SYNC instead of 1770 fdatasync()/fsync()/etc on the version file when committing. 1771 1772Mon Aug 04 05:58:13 GMT 2014 Olly Betts <olly@survex.com> 1773 1774 * backends/brass/brass_compact.cc: Whitespace tweak. 1775 1776Mon Aug 04 05:57:27 GMT 2014 Olly Betts <olly@survex.com> 1777 1778 * backends/brass/brass_compact.cc: When compacting, sync all the 1779 tables together at the end. 1780 1781Mon Aug 04 05:42:21 GMT 2014 Olly Betts <olly@survex.com> 1782 1783 * backends/brass/brass_compact.cc,backends/brass/brass_version.cc: 1784 Clean up temporary file in BrassVersion::sync() in all failure 1785 cases. 1786 1787Mon Aug 04 05:21:02 GMT 2014 Olly Betts <olly@survex.com> 1788 1789 * backends/brass/: In DB_DANGEROUS mode, update the version file 1790 in-place. 1791 1792Fri Aug 01 02:49:57 GMT 2014 Olly Betts <olly@survex.com> 1793 1794 * backends/brass/brass_compact.cc: Lock the target database while 1795 we're compacting to it, which has the side effect of creating the 1796 'flintlock' file there. 1797 1798Fri Aug 01 02:35:35 GMT 2014 Olly Betts <olly@survex.com> 1799 1800 * include/xapian/visibility.h: Add link to GCC Visibility wiki page. 1801 1802Thu Jul 31 02:54:40 GMT 2014 Olly Betts <olly@survex.com> 1803 1804 * tests/api_weight.cc,weight/bb2weight.cc: Avoid calculating logs of 0 1805 or negative values by clamping the normalise wdf to at most one less 1806 than the collection frequency, and the collection size to at least 1807 2. 1808 1809Thu Jul 31 02:48:35 GMT 2014 Olly Betts <olly@survex.com> 1810 1811 * tests/api_weight.cc,weight/bb2weight.cc: Fix upper bound for 1812 BB2Weight to not be scaled twice by wqf and factor. 1813 1814Wed Jul 30 05:48:46 GMT 2014 Olly Betts <olly@survex.com> 1815 1816 * weight/bb2weight.cc: Fix comment typo, and capitalise "Stirling" in 1817 comments. 1818 1819Wed Jul 30 05:47:31 GMT 2014 Olly Betts <olly@survex.com> 1820 1821 * weight/bb2weight.cc: Whitespace cleanup. 1822 1823Wed Jul 30 05:43:59 GMT 2014 Aarsh Shah <aarshkshah1992@gmail.com> 1824 1825 * include/xapian/weight.h,weight/bb2weight.cc: Optimise BB2Weight and 1826 fix incorrect upper bound in some cases. 1827 1828Tue Jul 29 07:20:57 GMT 2014 Olly Betts <olly@survex.com> 1829 1830 * backends/brass/brass_version.cc: Remove assertion that table sizes 1831 are all the same, and redundant assertion that the unserialised 1832 blocksize is >= 2048. Fixes set-but-not-used warning in 1833 non-assertion build. 1834 1835Mon Jul 28 06:35:45 GMT 2014 Olly Betts <olly@survex.com> 1836 1837 * backends/brass/brass_databasereplicator.cc, 1838 backends/brass/brass_databasereplicator.h, 1839 backends/brass/brass_table.cc: Replace enum table_id with enum 1840 Brass::table_type. 1841 1842Mon Jul 28 04:28:12 GMT 2014 Olly Betts <olly@survex.com> 1843 1844 * NEWS: Note the freelist implementation fixed #40. 1845 1846Mon Jul 28 04:26:07 GMT 2014 Olly Betts <olly@survex.com> 1847 1848 * api/compactor.cc,backends/brass/,backends/dbcheck.cc, 1849 tests/api_wrdb.cc: Eliminate the base files, and instead store the 1850 root block and freelist pointers in the "iambrass" file. 1851 1852Mon Jul 28 03:22:22 GMT 2014 Olly Betts <olly@survex.com> 1853 1854 * backends/brass/brass_databasereplicator.cc: Remove variable which is 1855 set but never used. 1856 1857Sun Jul 27 01:56:58 GMT 2014 Olly Betts <olly@survex.com> 1858 1859 * backends/dbcheck.cc: Don't try to write output when no output stream 1860 is specified in the case where the database open fails and so we 1861 can't check changes files. 1862 1863Thu Jul 24 21:12:23 GMT 2014 Olly Betts <olly@survex.com> 1864 1865 * NEWS: Update. 1866 1867Fri Jul 11 10:44:48 GMT 2014 Olly Betts <olly@survex.com> 1868 1869 * weight/bm25weight.cc: Improve BM25 upper bound in the case when our 1870 wdf upper bound > our document length lower bound. Thanks to 1871 Craig Macdonald for pointing out this trick. 1872 1873Thu Jul 10 13:29:50 GMT 2014 Olly Betts <olly@survex.com> 1874 1875 * weight/bm25weight.cc: Pre-multiply termweight by (param_k1 + 1). 1876 1877Sat Jun 28 11:00:49 GMT 2014 Olly Betts <olly@survex.com> 1878 1879 * languages/Makefile.mk: Sort the stop.list files (since loading a 1880 sorted list is likely to be more efficient) and remove any duplicate 1881 entries. 1882 1883Sat Jun 28 10:48:03 GMT 2014 Olly Betts <olly@survex.com> 1884 1885 * languages/stopwords/finnish/stop.txt, 1886 languages/stopwords/norwegian/stop.txt: Remove duplicate entries. 1887 1888Sat Jun 28 10:38:56 GMT 2014 Olly Betts <olly@survex.com> 1889 1890 * languages/stopwords/russian/stop.txt: Convert from KOI8-R to UTF-8. 1891 1892Mon Jun 23 02:26:24 GMT 2014 Olly Betts <olly@survex.com> 1893 1894 * configure.ac: configure.ac: Add hints for which package to install 1895 for rst2html 1896 1897Mon Jun 23 00:54:05 GMT 2014 Olly Betts <olly@survex.com> 1898 1899 * configure.ac: Use AS_MKDIR_P instead of test -d || mkdir. 1900 1901Sun Jun 22 07:32:11 GMT 2014 Olly Betts <olly@survex.com> 1902 1903 * NEWS: Update. 1904 1905Sat Jun 21 03:45:19 GMT 2014 Olly Betts <olly@survex.com> 1906 1907 * docs/Makefile.am: Use $(MKDIR_P) instead of test -d || mkdir 3 1908 times. 1909 1910Sat Jun 21 03:44:37 GMT 2014 Olly Betts <olly@survex.com> 1911 1912 * languages/Makefile.mk: Generate the directories for the minimised 1913 stopword files in a VPATH build. 1914 1915Tue Jun 17 13:36:40 GMT 2014 Assem Chelli <assem.ch@gmail.com> 1916 1917 * include/xapian/queryparser.h: Add the example of initializing 1918 SimpleStopper using a file as a doccomment. 1919 1920Tue Jun 17 13:30:09 GMT 2014 Olly Betts <olly@survex.com> 1921 1922 * languages/Makefile.mk: Remove trailing whitespace (some of which 1923 breaks the parsing to get the lists of source files to pass to 1924 doxygen). 1925 1926Tue Jun 17 13:24:59 GMT 2014 Assem Chelli <assem.ch@gmail.com> 1927 1928 * languages/: Add stopwords lists from Snowball plus an Arabic one. 1929 1930Tue Jun 17 11:48:12 GMT 2014 Olly Betts <olly@survex.com> 1931 1932 * weight/dlhweight.cc: Fix comment typo. 1933 1934Tue Jun 17 11:46:40 GMT 2014 Aarsh Shah <aarshkshah1992@gmail.com> 1935 1936 * weight/dlhweight.cc: Improve the upper bound on DLH ~3-4 times. 1937 1938Tue Jun 17 11:32:22 GMT 2014 Aarsh Shah <aarshkshah1992@gmail.com> 1939 1940 * include/xapian/weight.h,weight/dphweight.cc: Combine factor into 1941 constants calculated in init(). Improve get_maxpart() a little 1942 in the (common) case where the wdf upper bound is less than half 1943 the document length upper bound. 1944 1945Tue Jun 17 03:42:36 GMT 2014 Olly Betts <olly@survex.com> 1946 1947 * tests/api_unicode.cc,unicode/UnicodeData-README.txt, 1948 unicode/UnicodeData.txt: Update to Unicode 7.0.0. 1949 1950Mon Jun 16 14:13:18 GMT 2014 Aarsh Shah <aarshkshah1992@gmail.com> 1951 1952 * weight/dphweight.cc: Improved upper bound for DPH. 1953 1954Mon Jun 16 13:58:24 GMT 2014 Aarsh Shah <aarshkshah1992@gmail.com> 1955 1956 * include/xapian/weight.h,weight/ifb2weight.cc,weight/ineb2weight.cc, 1957 weight/inl2weight.cc: Include 'factor' in the constants we calculate 1958 in init_(). 1959 1960Mon Jun 16 13:53:05 GMT 2014 Aarsh Shah <aarshkshah1992@gmail.com> 1961 1962 * include/xapian/weight.h,weight/dlhweight.cc: DLH optimization. 1963 1964Mon Jun 16 13:02:24 GMT 2014 Olly Betts <olly@survex.com> 1965 1966 * HACKING: Need python3-sphinx to generate docs for python3. 1967 1968Mon Jun 16 12:37:13 GMT 2014 Assem Chelli <assem.ch@gmail.com> 1969 1970 * HACKING: Note sphinx-doc now needed (for Python bindings API docs). 1971 1972Mon Jun 16 05:35:03 GMT 2014 Olly Betts <olly@survex.com> 1973 1974 * HACKING,configure.ac,docs/Makefile.am,docs/doxygen_api.conf.in: 1975 Don't build, ship or install PDF versions of the API docs by 1976 default, but provide an easy way for people to build it for 1977 themselves if they want it. 1978 1979Mon Jun 16 04:20:40 GMT 2014 Olly Betts <olly@survex.com> 1980 1981 * include/xapian/queryparser.h: Improve the descriptions of the 1982 stem_strategy values. (Reported by "oilap" on #xapian) 1983 1984Fri Jun 13 07:52:53 GMT 2014 Olly Betts <olly@survex.com> 1985 1986 * weight/dphweight.cc: Fix some comment typos. 1987 1988Fri Jun 13 07:47:32 GMT 2014 Aarsh Shah <aarshkshah1992@gmail.com> 1989 1990 * include/xapian/weight.h,weight/dphweight.cc: Optimized DPH code. 1991 1992Fri Jun 13 01:39:07 GMT 2014 Olly Betts <olly@survex.com> 1993 1994 * examples/quest.cc: Fix ordering of "bm25" and "bool" in allegedly 1995 sorted list, so that --weight bm25 and --weight bool work. 1996 1997Thu Jun 12 13:49:19 GMT 2014 Olly Betts <olly@survex.com> 1998 1999 * matcher/extraweightpostlist.h: Add an assertion that get_sumextra() 2000 returns a weight contribution which is <= the upper bound which 2001 get_maxextra() returns. 2002 2003Thu Jun 12 13:30:55 GMT 2014 Olly Betts <olly@survex.com> 2004 2005 * api/leafpostlist.cc,matcher/synonympostlist.cc: Add assertions that 2006 get_sumpart() returns a weight contribution which is <= the upper 2007 bound which get_maxpart() returns. 2008 2009Wed Jun 11 05:34:16 GMT 2014 Olly Betts <olly@survex.com> 2010 2011 * languages/hungarian.sbl: Fix incorrect Unicode codepoints for 2012 o-double-acute and u-double-acute in Hungarian Snowball stemmer. 2013 Reported by Tom Lane to snowball-discuss. 2014 2015Tue Jun 10 10:59:18 GMT 2014 Aarsh Shah <aarshkshah1992@gmail.com> 2016 2017 * include/xapian/weight.h,weight/ineb2weight.cc: Optimized IneB2: 2018 Reduced number of calculations in get_sumpart and tightened upper 2019 bound. 2020 2021Tue Jun 10 10:23:09 GMT 2014 Olly Betts <olly@survex.com> 2022 2023 * weight/ineb2weight.cc: Fix closing brace indentation. 2024 2025Tue Jun 10 09:58:18 GMT 2014 Olly Betts <olly@survex.com> 2026 2027 * examples/quest.cc: Rework the weight name lookup to use a table like 2028 the other lookups. Change the weight names not to include "weight". 2029 2030Tue Jun 10 08:15:18 GMT 2014 Aarsh Shah <aarshkshah1992@gmail.com> 2031 2032 * include/xapian/weight.h,weight/ifb2weight.cc: Optimized 2033 upper bound and weighting formula in IfB2Weight. 2034 2035Tue Jun 10 05:34:52 GMT 2014 Aarsh Shah <aarshkshah1992@gmail.com> 2036 2037 * include/xapian/weight.h,weight/inl2weight.cc: Optimized 2038 upper bound and weighting formula in InL2Weight. 2039 2040Tue Jun 10 05:09:08 GMT 2014 Olly Betts <olly@survex.com> 2041 2042 * examples/quest.cc: Add --weight option to allow the weighting scheme 2043 to be specified. 2044 2045Thu Jun 05 03:42:51 GMT 2014 Olly Betts <olly@survex.com> 2046 2047 * api/omdatabase.cc,tests/api_backend.cc: Fix 2048 Database::get_wdf_upper_bound("") not to fail with an assertion. 2049 2050Tue Jun 03 22:59:10 GMT 2014 Olly Betts <olly@survex.com> 2051 2052 * matcher/localsubmatch.cc: Use RETURN() instead of return in methods 2053 with LOGCALL annotations. 2054 2055Mon Jun 02 13:15:36 GMT 2014 Olly Betts <olly@survex.com> 2056 2057 * docs/Makefile.am: Actually ship, process and install geospatial.rst. 2058 2059Mon Jun 02 11:40:27 GMT 2014 Olly Betts <olly@survex.com> 2060 2061 * languages/Makefile.mk: Ship collate-sbl script. 2062 2063Thu May 29 12:13:06 GMT 2014 Olly Betts <olly@survex.com> 2064 2065 * HACKING: Replace a link to the outdated autotools "goat book" with a 2066 link to the "Portable Shell" chapter of the autoconf manual. 2067 2068Thu May 29 03:31:10 GMT 2014 Olly Betts <olly@survex.com> 2069 2070 * api/snipper.cc,api/snipperinternal.h,include/xapian/snipper.h: Allow 2071 the user to specify how long a snippet they want. Only add "..." if 2072 the sample was actually truncated. 2073 2074Wed May 28 12:52:26 GMT 2014 Olly Betts <olly@survex.com> 2075 2076 * include/xapian/snipper.h: Add the standard guards to prevent user 2077 code from including this header directly. 2078 2079Tue May 27 04:19:12 GMT 2014 Olly Betts <olly@survex.com> 2080 2081 * include/Makefile.mk: Ship include/xapian/snipper.h in tarball. 2082 2083Tue May 27 04:03:09 GMT 2014 Olly Betts <olly@survex.com> 2084 2085 * api/snipper.cc,include/xapian/snipper.h, 2086 tests/generate-api_generated: Add missing assignment operator to 2087 Xapian::Snipper class. 2088 2089Tue May 27 03:43:03 GMT 2014 Olly Betts <olly@survex.com> 2090 2091 * include/xapian/snipper.h: Add missing doxygen comments. 2092 2093Tue May 27 03:41:08 GMT 2014 Olly Betts <olly@survex.com> 2094 2095 * include/xapian/snipper.h,tests/api_snipper.cc: Whitespace tweaks. 2096 2097Tue May 27 03:36:19 GMT 2014 Olly Betts <olly@survex.com> 2098 2099 * api/snipper.cc,include/xapian/snipper.h,tests/api_snipper.cc: Remove 2100 getters for obtaining info about the relevance model, and instead 2101 add a get_description() method which includes all such info in the 2102 returned description. 2103 2104Tue May 27 03:06:36 GMT 2014 Olly Betts <olly@survex.com> 2105 2106 * api/snipper.cc: Use an iterator instead of subscripting. 2107 2108Tue May 27 03:03:33 GMT 2014 Olly Betts <olly@survex.com> 2109 2110 * api/snipper.cc,api/snipperinternal.h,include/xapian/snipper.h: Use 2111 appropriate named types rather than "int" or "unsigned int". 2112 2113Tue May 27 03:02:48 GMT 2014 Olly Betts <olly@survex.com> 2114 2115 * api/snipperinternal.h: Remove constants which are no longer used. 2116 2117Tue May 27 02:48:44 GMT 2014 Olly Betts <olly@survex.com> 2118 2119 * api/snipper.cc,api/snipperinternal.h,include/xapian/snipper.h: 2120 Rework Snipper methods set_smoothing_coef() and set_window_size() as 2121 optional parameters of generate_snippet(). 2122 2123Tue May 27 02:33:39 GMT 2014 Olly Betts <olly@survex.com> 2124 2125 * api/snipper.cc,api/snipperinternal.h: Just pass rm_docno through to 2126 Snipper::Internal::calculate_rm() as a parameter rather than storing 2127 it in a member variable. 2128 2129Tue May 27 02:25:41 GMT 2014 Olly Betts <olly@survex.com> 2130 2131 * api/snipper.cc: Use clear() method to empty a container. 2132 2133Tue May 27 02:22:37 GMT 2014 Olly Betts <olly@survex.com> 2134 2135 * tests/api_snipper.cc: Drop unused <algorithm>. 2136 2137Tue May 27 02:21:53 GMT 2014 Olly Betts <olly@survex.com> 2138 2139 * api/snipper.cc: Eliminate ret_value variable. 2140 2141Tue May 27 02:20:25 GMT 2014 Olly Betts <olly@survex.com> 2142 2143 * api/snipper.cc: Avoid unnecessary substr operations. 2144 2145Tue May 27 02:17:32 GMT 2014 Olly Betts <olly@survex.com> 2146 2147 * api/snipper.cc: Prefer ++i to i++ in loops. 2148 2149Tue May 27 02:16:14 GMT 2014 Olly Betts <olly@survex.com> 2150 2151 * api/snipper.cc: Use TermIterator::positionlist_count(). 2152 2153Tue May 27 02:14:52 GMT 2014 Olly Betts <olly@survex.com> 2154 2155 * api/snipper.cc,api/snipperinternal.h,include/xapian/snipper.h: Fix 2156 typos in comments and variable names in new snipper code. 2157 2158Tue May 27 02:13:09 GMT 2014 Olly Betts <olly@survex.com> 2159 2160 * tests/Makefile.am: Hook up new Snipper API tests to actually be 2161 used. 2162 2163Tue May 27 02:09:49 GMT 2014 Mihai Bivol <mm.bivol@gmail.com> 2164 2165 * tests/api_snipper.cc: Add Snipper API tests. 2166 2167Tue May 27 02:04:26 GMT 2014 Olly Betts <olly@survex.com> 2168 2169 * api/snipper.cc: Add missing #include <config.h>. 2170 2171Tue May 27 02:00:32 GMT 2014 Mihai Bivol <mm.bivol@gmail.com> 2172 2173 * api/Makefile.mk,api/snipper.cc,api/snipperinternal.h, 2174 include/xapian.h,include/xapian/snipper.h: Add Xapian::Snipper 2175 class. 2176 2177Mon May 26 05:52:22 GMT 2014 Olly Betts <olly@survex.com> 2178 2179 * api/omdatabase.cc,backends/brass/brass_postlist.h, 2180 backends/chert/chert_postlist.h,backends/database.h: Fix comment 2181 typos. 2182 2183Fri May 23 11:59:26 GMT 2014 Olly Betts <olly@survex.com> 2184 2185 * api/matchspy.cc: Pass std::string by const reference. 2186 2187Thu May 22 06:31:12 GMT 2014 Olly Betts <olly@survex.com> 2188 2189 * matcher/localsubmatch.cc: Fix the check for a term which matches all 2190 documents to use the sub-db termfreq, not the combined db termfreq. 2191 2192Thu May 22 06:00:47 GMT 2014 Olly Betts <olly@survex.com> 2193 2194 * matcher/localsubmatch.cc: If a term matches all documents and its 2195 weight doesn't depend on its wdf, we can optimise it to MatchAll 2196 (the previous requirement that maxpart == 0 was unnecessarily 2197 strict). 2198 2199Thu May 22 05:52:15 GMT 2014 Olly Betts <olly@survex.com> 2200 2201 * matcher/localsubmatch.cc,tests/api_percentages.cc: When we optimise 2202 a postlist for a term which matches all documents to use MatchAll, 2203 we still need to set a weight object on it to get percentages 2204 calculated correctly. 2205 2206Thu May 22 04:08:35 GMT 2014 Olly Betts <olly@survex.com> 2207 2208 * api/queryinternal.cc,matcher/localsubmatch.cc, 2209 matcher/localsubmatch.h,matcher/queryoptimiser.h: Refactor to group 2210 most of the code to create a postlist for a term and set its weight 2211 into one place. 2212 2213Mon May 19 00:08:04 GMT 2014 Olly Betts <olly@survex.com> 2214 2215 * backends/brass/brass_freelist.cc,tests/api_backend.cc: When we start 2216 to write a new freelist block, set the revision on the old one we 2217 write out correctly, and don't "-1" out the next block pointer 2218 before we write out the block in this case. New regression testcase 2219 newfreelistblock1. 2220 * backends/brass/brass_freelist.cc: Add assertions that the freelist 2221 block has a next pointer when fl_end is a different block to fl. 2222 2223Fri May 16 04:35:21 GMT 2014 Olly Betts <olly@survex.com> 2224 2225 * backends/brass/brass_freelist.h: Fix BrassFreeList::swap() to also 2226 swap the flw_appending members. 2227 2228Thu May 15 12:51:15 GMT 2014 Olly Betts <olly@survex.com> 2229 2230 * HACKING: Add checking config/config.* are up to date to the 2231 release checklist. 2232 2233Thu May 15 12:47:28 GMT 2014 Olly Betts <olly@survex.com> 2234 2235 * HACKING: Now using automake 1.14.1 to bootstrap snapshots and 2236 1.3.x releases. 2237 2238Wed May 14 03:18:37 GMT 2014 Olly Betts <olly@survex.com> 2239 2240 * api/queryinternal.cc: Only serialise parameter where it is actually 2241 used. 2242 2243Fri May 09 01:56:48 GMT 2014 Olly Betts <olly@survex.com> 2244 2245 * HACKING: Now using doxygen 1.8.7 to bootstrap tarballs. 2246 2247Mon May 05 05:37:32 GMT 2014 Olly Betts <olly@survex.com> 2248 2249 * backends/chert/chert_check.cc,backends/chert/chert_dbcheck.cc, 2250 backends/dbcheck.cc: Improve DBCHECK_FIX - if fixing a whole 2251 database, we now take the revision from the first table we 2252 successfully look at, which should be correct in most cases, 2253 and is definitely better than trying to determine the revision 2254 of each broken table independently. 2255 2256Fri May 02 02:36:05 GMT 2014 Olly Betts <olly@survex.com> 2257 2258 * matcher/valuestreamdocument.cc,matcher/valuestreamdocument.h: Put 2259 the docid in the sub-database into the ValueStreamDocument object as 2260 that's what Xapian::Document::get_docid() is documented to return. 2261 (fixes#636, reported by Jeff Rand). 2262 2263Thu May 01 13:25:35 GMT 2014 Olly Betts <olly@survex.com> 2264 2265 * api/omdatabase.cc,include/xapian/database.h, 2266 matcher/valuestreamdocument.cc: Eliminate 2267 Database::get_document_lazily_() completely. 2268 2269Thu May 01 11:48:00 GMT 2014 Olly Betts <olly@survex.com> 2270 2271 * backends/database.cc,backends/slowvaluelist.cc, 2272 backends/slowvaluelist.h: Don't wrap the subdatabase object in a 2273 Xapian::Database for SlowValueList, which mean we can just call 2274 open_document(did, true) on it instead of having to use 2275 Xapian::Database::get_document_lazily_(). 2276 2277Wed Apr 30 00:31:52 GMT 2014 Olly Betts <olly@survex.com> 2278 2279 * api/omdatabase.cc: Explicitly '#include <algorithm>' for std::max(), 2280 fixing build with VS2013. (fixes#641) 2281 2282Tue Apr 29 04:28:06 GMT 2014 Olly Betts <olly@survex.com> 2283 2284 * common/append_filename_arg.h,net/remoteconnection.h: Comment tweaks. 2285 2286Tue Apr 29 04:26:26 GMT 2014 Olly Betts <olly@survex.com> 2287 2288 * tests/harness/unixcmds.cc: Drop code supporting Microsoft Windows 9x 2289 which reached EOL in 2006. 2290 2291Thu Apr 17 05:06:21 GMT 2014 Olly Betts <olly@survex.com> 2292 2293 * common/autoptr.h: Under C++11, use unique_ptr for AutoPtr. 2294 2295Wed Apr 09 22:16:37 GMT 2014 Olly Betts <olly@survex.com> 2296 2297 * api/documentterm.h,api/omdocument.cc: Don't store the termname in 2298 OmDocumentTerm - we were only using it in get_description() output 2299 and an exception message. Speeds up indexing etext.txt using 2300 simpleindex by 0.4%, and should reduce memory usage a bit too. 2301 (Change inspired by comments from Vishesh Handa on xapian-devel). 2302 2303Wed Apr 09 05:17:58 GMT 2014 Olly Betts <olly@survex.com> 2304 2305 * backends/brass/brass_btreebase.cc,backends/brass/brass_table.cc: 2306 Remove comment references to using bitmaps for freespace tracking. 2307 2308Tue Apr 08 04:20:00 GMT 2014 Olly Betts <olly@survex.com> 2309 2310 * bin/xapian-delve.cc: Add -A <prefix> option to list all terms with 2311 a particular prefix. 2312 2313Mon Apr 07 05:45:06 GMT 2014 Olly Betts <olly@survex.com> 2314 2315 * api/omdatabase.cc,backends/brass/,backends/chert/, 2316 backends/database.cc,backends/database.h, 2317 backends/inmemory/inmemory_database.cc, 2318 backends/inmemory/inmemory_database.h, 2319 backends/remote/remote-database.cc,backends/remote/remote-database.h, 2320 common/remoteprotocol.h,matcher/const_database_wrapper.cc, 2321 matcher/const_database_wrapper.h,net/remoteserver.cc, 2322 net/remoteserver.h,weight/weightinternal.cc: Fetch termfreq and 2323 collection frequency in a single call - shaves ~0.3% off a test 2324 search. 2325 2326Thu Apr 03 23:40:45 GMT 2014 Olly Betts <olly@survex.com> 2327 2328 * net/serialise.cc,weight/weightinternal.h: Make Weight::Internal 2329 track if any max_part values are set, so we don't need to 2330 serialise them when they've not been set. 2331 2332Thu Apr 03 05:50:13 GMT 2014 Olly Betts <olly@survex.com> 2333 2334 * weight/weightinternal.cc: Enhance 2335 Weight::Internal::get_description() to report TermFreqs. 2336 2337Thu Apr 03 05:46:44 GMT 2014 Olly Betts <olly@survex.com> 2338 2339 * api/omenquire.cc,api/omenquireinternal.h,common/submatch.h,matcher/, 2340 net/remoteserver.cc,net/serialise.cc,weight/weight.cc, 2341 weight/weightinternal.cc,weight/weightinternal.h: Eliminate the 2342 map<string, TermFreqAndWeight> in MSet::Internal, and instead just 2343 preserve the Weight::Internal object there as that holds all the 2344 information we need. 2345 2346Thu Apr 03 04:40:09 GMT 2014 Olly Betts <olly@survex.com> 2347 2348 * backends/remote/remote-database.cc,net/remoteserver.cc, 2349 net/serialise.cc,net/serialise.h: Avoid returning 2350 Xapian::Weight::Internal by value from unserialise_stats(). 2351 2352Tue Apr 01 22:41:16 GMT 2014 Olly Betts <olly@survex.com> 2353 2354 * matcher/localsubmatch.cc,weight/weight.cc,weight/weightinternal.cc, 2355 weight/weightinternal.h: Replace Weight::Internal methods to get 2356 termfreq, reltermfreq and colltermfreq with a single inlined 2357 get_stats() method, which only needs to search the map once. 2358 Shaves ~1.6% off the time to do a wildcard query with a lot of 2359 terms. 2360 2361Tue Apr 01 22:11:52 GMT 2014 Olly Betts <olly@survex.com> 2362 2363 * matcher/localsubmatch.cc: Don't refetch the termfreq if we already 2364 have it. 2365 2366Sun Mar 30 22:54:22 GMT 2014 Anish Kanchan <anishgkanchan@gmail.com> 2367 2368 * include/xapian/termgenerator.h: Make TermGenerator flags an 2369 anonymous enum, and typedef TermGenerator::flags to int for backward 2370 compatibility with existing user code which uses it. (fixes #616) 2371 2372Thu Mar 27 05:45:14 GMT 2014 Liu Chi <liuchi09@gmail.com> 2373 2374 * include/xapian/stem.h,languages/Makefile.mk, 2375 languages/earlyenglish.sbl,languages/stem.cc,tests/api_stem.cc: 2376 Add an early english stemmer. 2377 2378Wed Mar 19 02:42:00 GMT 2014 Olly Betts <olly@survex.com> 2379 2380 * weight/weightinternal.cc: Fix comment typo. 2381 2382Fri Mar 14 09:53:22 GMT 2014 Olly Betts <olly@survex.com> 2383 2384 * HACKING: MacTeX seems to be the best option if using homebrew. 2385 2386Fri Mar 07 23:17:43 GMT 2014 Olly Betts <olly@survex.com> 2387 2388 * matcher/maxpostlist.cc: More fixes for --enable.log. 2389 2390Fri Mar 07 23:01:45 GMT 2014 Olly Betts <olly@survex.com> 2391 2392 * matcher/maxpostlist.cc: Fix compilation error with --enable-log on. 2393 Reported by Anurag Soni. 2394 2395Fri Mar 07 00:39:11 GMT 2014 Olly Betts <olly@survex.com> 2396 2397 * HACKING: Fix typo and RST markup. 2398 2399Fri Mar 07 00:21:16 GMT 2014 VcamX <vcamx3@gmail.com> 2400 2401 * HACKING: Note packages to install from homebrew on Mac OS X. 2402 2403Fri Mar 07 00:17:01 GMT 2014 VcamX <vcamx3@gmail.com> 2404 2405 * backends/dbcheck.cc,common/pack.h: Fix warnings with clang 5.0. 2406 2407Tue Mar 04 04:25:11 GMT 2014 Olly Betts <olly@survex.com> 2408 2409 * api/queryinternal.cc,api/queryinternal.h: Only simplify OP_SYNONYM 2410 with a single subquery if that subquery is a term or MatchAll. 2411 2412Tue Mar 04 04:12:58 GMT 2014 Olly Betts <olly@survex.com> 2413 2414 * tests/api_none.cc: Test OPs with a single MatchAll subquery. 2415 2416Mon Mar 03 22:59:55 GMT 2014 Mayank Chaudhary <mayankchaudhary.iitr@gmail.com> 2417 2418 * docs/Makefile.am,docs/bm25.rst,docs/intro_ir.rst: Convert equations 2419 in rst docs to use LaTeX via the math role and directive. 2420 2421Fri Feb 28 06:12:36 GMT 2014 Olly Betts <olly@survex.com> 2422 2423 * backends/brass/brass_positionlist.h, 2424 backends/chert/chert_positionlist.h: Remove next_internal() methods 2425 which were declared but not defined or used (left-overs from flint). 2426 Reported by "Hurricane Tong". 2427 2428Wed Feb 26 01:33:50 GMT 2014 Olly Betts <olly@survex.com> 2429 2430 * api/query.cc,api/queryinternal.cc,api/queryinternal.h, 2431 examples/quest.cc,include/xapian/query.h,matcher/Makefile.mk, 2432 matcher/maxpostlist.cc,matcher/maxpostlist.h, 2433 queryparser/queryparser.cc,tests/api_none.cc,tests/api_opsynonym.cc: 2434 Implement new OP_MAX query operator, which returns the maximum 2435 weight of any of its subqueries. (see #360) 2436 2437Wed Feb 26 00:48:23 GMT 2014 Olly Betts <olly@survex.com> 2438 2439 * matcher/localsubmatch.cc,matcher/synonympostlist.cc, 2440 matcher/synonympostlist.h: In SynonymPostList, avoid fetching the 2441 doclength if the weighting scheme doesn't need it and the calculated 2442 wdf for the synonym in <= doclength_lower_bound for the current 2443 subdatabase. (fixes #360) 2444 2445Wed Feb 26 00:12:22 GMT 2014 Olly Betts <olly@survex.com> 2446 2447 * backends/brass/brass_changes.cc: Fix compilation without 2448 --enable-assertions. 2449 2450Tue Feb 25 02:33:14 GMT 2014 Olly Betts <olly@survex.com> 2451 2452 * examples/quest.cc: Add --default-op option. 2453 2454Tue Feb 25 01:56:34 GMT 2014 Olly Betts <olly@survex.com> 2455 2456 * examples/quest.cc: Whitespace tweak. 2457 2458Mon Feb 24 06:33:37 GMT 2014 Olly Betts <olly@survex.com> 2459 2460 * tests/api_opsynonym.cc: Refactor symonym1 so that the test data is 2461 specified by an array, rather than built up by code, so that the 2462 actual testcases can be more easily seen. 2463 2464Sun Feb 23 01:22:56 GMT 2014 Olly Betts <olly@survex.com> 2465 2466 * common/bitstream.cc,common/bitstream.h: Add comments to better 2467 document BitReader and BitWriter. (fixes#252) 2468 2469Sun Feb 23 00:35:17 GMT 2014 Olly Betts <olly@survex.com> 2470 2471 * HACKING: Stop trying to explicitly list compilers which support 2472 __builtin_expect (LLVM does too, others may as well). 2473 2474Fri Feb 21 01:34:59 GMT 2014 Olly Betts <olly@survex.com> 2475 2476 * backends/brass/,backends/dbcheck.cc,common/, 2477 docs/replication_protocol.rst,tests/api_backend.cc, 2478 tests/api_replicate.cc: Keep track of unused blocks in the Btrees 2479 using freelists rather than bitmaps. 2480 2481Fri Feb 21 01:21:45 GMT 2014 Olly Betts <olly@survex.com> 2482 2483 * tests/api_wrdb.cc: Expand crashrecovery1 to check that the expected 2484 base files exist and ones which shouldn't exist don't. 2485 2486Thu Feb 20 00:34:47 GMT 2014 Olly Betts <olly@survex.com> 2487 2488 * HACKING: makeindex is now in Debian package texlive-binaries. 2489 2490Wed Feb 19 06:50:58 GMT 2014 Olly Betts <olly@survex.com> 2491 2492 * docs/sorting.rst: Fix incorrect parameter types in Xapian::Weight 2493 subclass example. 2494 2495Tue Feb 18 23:34:19 GMT 2014 Olly Betts <olly@survex.com> 2496 2497 * api/replication.cc: Fix conditional for enabling replication code 2498 - if chert is disabled but brass isn't, we should still enable it. 2499 2500Tue Feb 18 01:33:28 GMT 2014 Olly Betts <olly@survex.com> 2501 2502 * tests/api_replicate.cc: Move comment to in front of the function it 2503 is actually talking about. 2504 2505Sun Feb 16 04:53:57 GMT 2014 Olly Betts <olly@survex.com> 2506 2507 * xapian-config.in: Add some missing shell quoting identified by 2508 shellcheck. 2509 2510Sun Feb 16 00:53:01 GMT 2014 Olly Betts <olly@survex.com> 2511 2512 * docs/quickstart.rst: Split --cxxflags and --libs for portability 2513 (noted by "Hurricane Tong" on xapian-devel). 2514 2515Sat Feb 15 04:59:37 GMT 2014 Olly Betts <olly@survex.com> 2516 2517 * docs/glossary.rst: Add definition of "collection frequency". 2518 2519Fri Feb 14 22:24:26 GMT 2014 Olly Betts <olly@survex.com> 2520 2521 * NEWS: Update. 2522 2523Fri Jan 17 03:50:44 GMT 2014 Olly Betts <olly@survex.com> 2524 2525 * backends/brass/brass_databasereplicator.cc, 2526 backends/brass/brass_table.cc, 2527 backends/chert/chert_databasereplicator.cc, 2528 backends/chert/chert_table.cc,common/io_utils.cc,common/io_utils.h: 2529 Add io_read_block() and io_write_block() as wrappers around pread() 2530 and pwrite() (or lseek() plus read() and lseek() plus write()). 2531 2532Sat Jan 11 06:32:19 GMT 2014 Olly Betts <olly@survex.com> 2533 2534 * configure.ac: Sun C++ seems to explicitly need Crun now. 2535 2536Sat Jan 11 02:23:06 GMT 2014 Olly Betts <olly@survex.com> 2537 2538 * configure.ac: Fix checks for Sun C++. 2539 2540Fri Jan 10 22:38:01 GMT 2014 Olly Betts <olly@survex.com> 2541 2542 * matcher/multimatch.cc: timer_create() doesn't handle CLOCK_MONOTONIC 2543 on Solaris, so use CLOCK_REALTIME there instead. 2544 2545Fri Jan 10 11:22:37 GMT 2014 Olly Betts <olly@survex.com> 2546 2547 * configure.ac: Improve handling of Sun's C++ compiler - trick libtool 2548 into not adding -library=Cstd, and prefer -library=stdcxx4 if 2549 supported. 2550 2551Fri Jan 10 11:16:15 GMT 2014 Olly Betts <olly@survex.com> 2552 2553 * configure.ac: Add XAPIAN_TEST_CXXFLAGS macro, and use it to check 2554 the flags to cxx actually work. 2555 2556Fri Jan 10 10:56:17 GMT 2014 Olly Betts <olly@survex.com> 2557 2558 * configure.ac: Apply missing functional part of previous change. 2559 2560Fri Jan 10 10:46:53 GMT 2014 Olly Betts <olly@survex.com> 2561 2562 * configure.ac: Avoid using grep -e as /usr/bin/grep on Solaris 2563 doesn't support it. 2564 2565Fri Jan 10 03:30:10 GMT 2014 Olly Betts <olly@survex.com> 2566 2567 * backends/brass/brass_databasereplicator.cc: Whitespace tweak. 2568 2569Thu Jan 09 11:06:05 GMT 2014 Olly Betts <olly@survex.com> 2570 2571 * backends/brass/brass_cursor.h,backends/brass/brass_database.cc, 2572 backends/chert/chert_database.cc, 2573 backends/chert/chert_databasereplicator.cc, 2574 backends/inmemory/inmemory_database.h,common/log2.h, 2575 common/realtime.h,matcher/multimatch.cc,weight/pl2weight.cc, 2576 weight/tradweight.cc: Fix compilations issues with Sun's C++ 2577 compiler (mostly missing library headers). 2578 2579Thu Jan 09 06:00:03 GMT 2014 Olly Betts <olly@survex.com> 2580 2581 * backends/dbcheck.cc: Skip absent lazily created tables in the case 2582 where out == NULL too. 2583 2584Thu Jan 09 05:31:40 GMT 2014 Olly Betts <olly@survex.com> 2585 2586 * tests/api_wrdb.cc: Use Xapian::Database::check() in cursordelbug1. 2587 (partly addresses #238) 2588 2589Thu Jan 09 05:30:45 GMT 2014 Olly Betts <olly@survex.com> 2590 2591 * include/xapian/database.h: Make second and third parameters to 2592 Xapian::Database::check() optional, defaulting to a quiet check. 2593 2594Thu Jan 09 02:52:54 GMT 2014 Olly Betts <olly@survex.com> 2595 2596 * backends/brass/,backends/chert/,backends/dbcheck.cc, 2597 bin/xapian-check.cc,include/xapian/database.h: Alter 2598 Database::check() to take its "out" parameter as a pointer to 2599 std::ostream instead of a reference, and make passing NULL means "do 2600 not produce output". Remove the form without the "out" parameter, 2601 which used to mean "send output to stdout" - if you want this, just 2602 pass "&std::cout" in. 2603 2604Thu Jan 09 01:50:14 GMT 2014 Olly Betts <olly@survex.com> 2605 2606 * include/xapian/database.h: OS X SDK check() macro takes one 2607 argument, so there's no need to protect check() methods with 2608 more than one argument. 2609 * include/xapian/valueiterator.h: Protect the one check() method in 2610 our API which does take one argument. 2611 2612Wed Jan 08 11:48:58 GMT 2014 Olly Betts <olly@survex.com> 2613 2614 * api/smallvector.cc,api/smallvector.h: Include cstddef rather than 2615 cstring for std::size_t, as it's a simpler header. Don't assume 2616 size_t will be available unqualified. Add SmallVector::size_type 2617 typedef. 2618 2619Mon Jan 06 11:54:53 GMT 2014 Olly Betts <olly@survex.com> 2620 2621 * net/progclient.cc: Fix xlC warning. 2622 2623Mon Jan 06 00:31:19 GMT 2014 Olly Betts <olly@survex.com> 2624 2625 * backends/brass/brass_table.cc,backends/chert/chert_table.cc: 2626 Validate dir_end when reading a block. (fixes #592) 2627 2628Wed Jan 01 01:20:46 GMT 2014 Olly Betts <olly@survex.com> 2629 2630 * docs/Makefile.am: Fix handling of MAINTAINER_NO_DOCS. 2631 2632Mon Dec 30 05:33:59 GMT 2013 Olly Betts <olly@survex.com> 2633 2634 * tests/api_unicode.cc: Add regression test for incorrect results 2635 from Unicode::tolower() for 4 code points (U+01C5, U+01C8, U+01CB, 2636 U+01F2) with Xapian 1.2.16 and earlier. 2637 2638Sun Dec 29 05:46:14 GMT 2013 Olly Betts <olly@survex.com> 2639 2640 * docs/postingsource.rst: Clarify a couple of points (reported by 2641 "vHanda" on IRC). 2642 2643Tue Dec 24 02:00:26 GMT 2013 Olly Betts <olly@survex.com> 2644 2645 * tests/Makefile.am,tests/perftest/Makefile.mk: Actually use 2646 @NO_INSTALL@. 2647 2648Tue Dec 24 01:59:05 GMT 2013 Olly Betts <olly@survex.com> 2649 2650 * configure.ac: Use -no-fast-install on platforms where -no-install 2651 causes libtool to emit a warning. 2652 2653Mon Dec 23 04:17:35 GMT 2013 Olly Betts <olly@survex.com> 2654 2655 * HACKING: Drop note about needing git-svn if you're using git - 2656 bootstrap now only uses git-svn if your Xapian tree was checked out 2657 using git-svn. 2658 2659Mon Dec 23 04:16:58 GMT 2013 Olly Betts <olly@survex.com> 2660 2661 * HACKING: Note that Tcl is now needed to generate 2662 unicode/unicode-data.cc. 2663 2664Mon Dec 23 04:01:05 GMT 2013 Olly Betts <olly@survex.com> 2665 2666 * tests/api_unicode.cc: Add a test that a character due to be added in 2667 Unicode 7.0.0 is categorised as "unassigned". 2668 2669Mon Dec 23 03:50:37 GMT 2013 Olly Betts <olly@survex.com> 2670 2671 * unicode/Makefile.mk,unicode/uniParse.tcl: Adjust to not need a 2672 symlink. Give the generated file a new name, since the "tcl" prefix 2673 doesn't make much sense here, and it avoids issues with 2674 transitioning from a file in version control to one which is 2675 generated. 2676 2677Mon Dec 23 03:32:40 GMT 2013 Olly Betts <olly@survex.com> 2678 2679 * unicode/: Add the source data file and scripts to generate 2680 tclUniData.cc. 2681 2682Mon Dec 23 02:20:57 GMT 2013 Olly Betts <olly@survex.com> 2683 2684 * NEWS: Update from ChangeLog. 2685 2686Mon Dec 23 01:04:26 GMT 2013 Olly Betts <olly@survex.com> 2687 2688 * include/xapian/enquire.h: Note that 1.2.17 is required for the 2689 correct sense of the reverse parameter to Enquire methods 2690 set_sort_by_relevance_then_value() and 2691 set_sort_by_relevance_then_key(). 2692 2693Mon Dec 23 00:30:53 GMT 2013 Olly Betts <olly@survex.com> 2694 2695 * backends/brass/brass_btreebase.cc: Fix comment documenting what's in 2696 the base file (the sequential flag was missing). 2697 2698Fri Dec 20 03:47:56 GMT 2013 Olly Betts <olly@survex.com> 2699 2700 * backends/brass/brass_termlisttable.h,include/xapian/constants.h, 2701 tests/api_backend.cc: Add Xapian::DB_NO_TERMLIST flag to allow 2702 creating a database without a termlist (see #181). 2703 2704Fri Dec 20 03:04:51 GMT 2013 Olly Betts <olly@survex.com> 2705 2706 * include/xapian/unicode.h,unicode/tclUniData.cc: Update Unicode 2707 character database to 6.3.0. 2708 * tests/api_unicode.cc: Add tests for U+061C, added in 6.3.0. 2709 2710Fri Dec 20 00:20:01 GMT 2013 Olly Betts <olly@survex.com> 2711 2712 * backends/dbfactory.cc: Clear any backend flag passed in before 2713 passing the flags when opening stub databases, fixing test failure 2714 in replicate1 caused by recent change adding 2715 Xapian::DB_BACKEND_STUB. 2716 2717Thu Dec 19 23:11:32 GMT 2013 Olly Betts <olly@survex.com> 2718 2719 * tests/api_backend.cc: Simplify database creation in testcase 2720 blocksize1. 2721 2722Thu Dec 19 23:10:37 GMT 2013 Olly Betts <olly@survex.com> 2723 2724 * backends/dbfactory.cc: Tweak conditionals around $XAPIAN_PREFER_BRASS 2725 check. 2726 2727Thu Dec 19 23:09:30 GMT 2013 Olly Betts <olly@survex.com> 2728 2729 * api/replication.cc,backends/dbfactory.cc,docs/deprecation.rst, 2730 docs/overview.rst,include/xapian/constants.h, 2731 include/xapian/dbfactory.h,tests/api_backend.cc,tests/api_db.cc: 2732 Add Xapian::DB_BACKEND_STUB and deprecate Xapian::Auto::open_stub(). 2733 2734Thu Dec 19 06:46:15 GMT 2013 Olly Betts <olly@survex.com> 2735 2736 * docs/deprecation.rst: Update example version to a more recent one. 2737 2738Thu Dec 19 04:01:31 GMT 2013 Olly Betts <olly@survex.com> 2739 2740 * docs/deprecation.rst,include/xapian/dbfactory.h,tests/api_db.cc, 2741 tests/harness/: Deprecate Xapian::Brass::open() and 2742 Xapian::Chert::open() in favour of the new Xapian::DB_BACKEND_BRASS 2743 and Xapian::DB_BACKEND_CHERT flags. 2744 2745Thu Dec 19 01:17:02 GMT 2013 Olly Betts <olly@survex.com> 2746 2747 * api/compactor.cc,backends/brass/,backends/chert/chert_database.cc, 2748 backends/chert/chert_database.h,backends/database.h, 2749 backends/dbcheck.cc,backends/dbfactory.cc,include/xapian/constants.h, 2750 include/xapian/database.h,include/xapian/dbfactory.h: Add flags 2751 which can be bitwise OR-ed into the second argument when opening a 2752 writable datase: DB_NO_SYNC (to disable use of fsync, etc) and 2753 DB_DANGEROUS (to enable in-place updates). WritableDatabase 2754 can now be constructed from just a filename (defaulting to opening 2755 the database with DB_CREATE_OR_OPEN). 2756 2757Thu Dec 19 00:11:26 GMT 2013 Olly Betts <olly@survex.com> 2758 2759 * tests/harness/backendmanager_multi.cc: Fix comment typo. 2760 2761Wed Dec 18 23:52:49 GMT 2013 Olly Betts <olly@survex.com> 2762 2763 * backends/brass/brass_table.cc,backends/chert/chert_table.cc, 2764 tests/api_backend.cc: Fix handling of invalid block sizes - the 2765 size gets fixed as documented, but the uncorrected size was passed 2766 to the base file. Also, abort() was called on 0. 2767 2768Wed Dec 18 22:48:18 GMT 2013 Olly Betts <olly@survex.com> 2769 2770 * api/replication.cc,backends/brass/brass_check.cc, 2771 backends/brass/brass_database.cc,backends/chert/chert_check.cc, 2772 backends/chert/chert_database.cc,backends/database.h, 2773 backends/dbcheck.cc,bin/xapian-tcpsrv.cc,include/Makefile.mk, 2774 include/xapian.h,include/xapian/database.h,net/remoteserver.cc: 2775 Move Xapian::DB_* and Xapian:DBCHECK_* constants into 2776 xapian/constants.h. 2777 2778Wed Dec 18 22:30:23 GMT 2013 Olly Betts <olly@survex.com> 2779 2780 * backends/brass/brass_database.cc,backends/chert/chert_database.cc: 2781 Include xapian/*.h with "" not <> inside the library. 2782 2783Wed Dec 18 22:17:15 GMT 2013 Olly Betts <olly@survex.com> 2784 2785 * backends/brass/brass_compact.cc,backends/chert/chert_compact.cc: 2786 Include only the needed xapian/*.h headers (rather than xapian.h) to 2787 reduce inter-file dependencies within the library. 2788 2789Wed Dec 18 03:24:22 GMT 2013 Olly Betts <olly@survex.com> 2790 2791 * tests/runtest.in: Report if a test is being run under eatmydata, 2792 like we do for running under valgrind. 2793 2794Wed Dec 18 02:43:47 GMT 2013 Olly Betts <olly@survex.com> 2795 2796 * backends/brass/brass_version.h,backends/chert/chert_version.h: 2797 Comment out unused set_uuid() and set_uuid_string() methods - they 2798 may be useful in future, but we aren't currently using them. Also 2799 make set_uuid() take a const pointer. 2800 2801Wed Dec 18 02:40:18 GMT 2013 Olly Betts <olly@survex.com> 2802 2803 * HACKING,configure.ac,tests/runtest.in: Automatically probe for and 2804 hook in eatmydata to the testsuite using the wrapper script it now 2805 includes. 2806 2807Wed Dec 18 01:21:07 GMT 2013 Olly Betts <olly@survex.com> 2808 2809 * HACKING: Update website update info. 2810 2811Sat Dec 14 06:01:33 GMT 2013 Olly Betts <olly@survex.com> 2812 2813 * weight/dlhweight.cc,weight/dphweight.cc: Whitespace tweak. 2814 2815Fri Dec 13 21:06:28 GMT 2013 Olly Betts <olly@survex.com> 2816 2817 * backends/brass/brass_cursor.cc,backends/brass/brass_cursor.h, 2818 backends/brass/brass_table.cc: Reference count blocks in the 2819 btree cursor, so cursors can cheaply share blocks. This can 2820 significantly reduce the amount of memory used for cursors 2821 for queries which contain a lot of terms (e.g. wildcards which 2822 expand to a lot of terms). 2823 2824Thu Dec 12 22:37:22 GMT 2013 Olly Betts <olly@survex.com> 2825 2826 * backends/brass/brass_btreebase.cc: Add assertions that we don't read 2827 beyond the end of the freespace bitmap. 2828 2829Thu Dec 12 22:25:04 GMT 2013 Olly Betts <olly@survex.com> 2830 2831 * matcher/msetcmp.cc: Fix sense of reverse parameter to 2832 Enquire::set_sort_by_relevance_then_value. Reported by "boomboo" on 2833 IRC. 2834 * tests/api_db.cc: Fix testcase sortrel1. 2835 2836Thu Dec 12 19:47:46 GMT 2013 Olly Betts <olly@survex.com> 2837 2838 * backends/brass/: Make Brass::Cursor members n and p private. 2839 2840Thu Dec 12 19:46:23 GMT 2013 Olly Betts <olly@survex.com> 2841 2842 * backends/brass/brass_check.cc,backends/brass/brass_table.cc: Add 2843 const to a few pointers we only read through. 2844 2845Thu Dec 12 09:04:13 GMT 2013 Olly Betts <olly@survex.com> 2846 2847 * configure.ac: Improve reporting of GCC version. 2848 2849Thu Dec 12 09:01:26 GMT 2013 Olly Betts <olly@survex.com> 2850 2851 * tests/api_query.cc,unicode/description_append.cc: Escape \x7f in 2852 object descriptions. 2853 2854Wed Dec 11 23:40:37 GMT 2013 Olly Betts <olly@survex.com> 2855 2856 * api/leafpostlist.cc,api/leafpostlist.h,backends/brass/, 2857 matcher/localsubmatch.cc,matcher/localsubmatch.h, 2858 matcher/queryoptimiser.h: Under brass, optimise the turning of a 2859 query into a postlist to copy the cursor blocks for the previous 2860 term's postlist. This is particularly effective for wildcard 2861 queries which expand to a lot of terms. 2862 2863Wed Dec 11 22:05:34 GMT 2013 Olly Betts <olly@survex.com> 2864 2865 * backends/brass/brass_postlist.h: We don't have a 2866 BrassModifiedPostList class, so we don't need protected members in 2867 BrassPostList for it to use. 2868 2869Wed Dec 11 04:46:58 GMT 2013 Olly Betts <olly@survex.com> 2870 2871 * weight/bm25weight.cc: Fix case where (k1 == 0 || b == 0) but k2 != 0. 2872 Reported by "boomboo" on IRC. 2873 * tests/api_weight.cc: Add regression test bm25weight5. 2874 2875Wed Dec 04 05:44:29 GMT 2013 Olly Betts <olly@survex.com> 2876 2877 * NEWS: Update from 1.2.16 and ChangeLog. 2878 2879Mon Dec 02 02:34:43 GMT 2013 Olly Betts <olly@survex.com> 2880 2881 * configure.ac: Clarify version of MSVCRT which we require for mingw. 2882 2883Fri Nov 29 04:21:46 GMT 2013 Olly Betts <olly@survex.com> 2884 2885 * configure.ac: Fix typo in previous commit. 2886 2887Fri Nov 29 03:48:24 GMT 2013 Olly Betts <olly@survex.com> 2888 2889 * configure.ac: Report GCC version. 2890 2891Wed Nov 27 04:06:32 GMT 2013 Olly Betts <olly@survex.com> 2892 2893 * Backport change from brass: 2894 * backends/chert/chert_table.cc: Check if the block we want is in the 2895 internal cursor for a read-only table too - it isn't needed for 2896 correctness in this case, but it is more efficient not to reload a 2897 block which we already have. 2898 2899Sun Nov 24 23:05:37 GMT 2013 Olly Betts <olly@survex.com> 2900 2901 * NEWS: Update from ChangeLog. 2902 2903Fri Nov 22 20:18:43 GMT 2013 Olly Betts <olly@survex.com> 2904 2905 * backends/brass/brass_databasereplicator.cc, 2906 backends/brass/brass_databasereplicator.h: compression_stream.h 2907 isn't used in brass_databasereplicator.h, so move include to 2908 brass_databasereplicator.cc. 2909 2910Fri Nov 22 01:22:32 GMT 2013 Olly Betts <olly@survex.com> 2911 2912 * queryparser/queryparser.lemony: Minor tweak to structuring of tests 2913 in check_infix(). 2914 2915Sat Nov 09 08:51:27 GMT 2013 Olly Betts <olly@survex.com> 2916 2917 * backends/brass/brass_table.cc: Check if the block we want is in the 2918 internal cursor for a read-only table too - it isn't needed for 2919 correctness in this case, but it is more efficient not to reload a 2920 block which we already have. 2921 2922Sat Nov 09 08:48:02 GMT 2013 Olly Betts <olly@survex.com> 2923 2924 * backends/brass/: Use a separate cursor for each position list - now 2925 we're ordering the position B-tree by term first, phrase matching was 2926 causing the cursor to cycle between disparate areas of the B-tree, 2927 and it would have to reread the same blocks over and over. 2928 2929Fri Nov 08 09:57:52 GMT 2013 Olly Betts <olly@survex.com> 2930 2931 * backends/brass/brass_table.cc,backends/chert/chert_table.cc: Add 2932 check for the database being closed in read_block(), which fixes 2933 pythontest.py testcase valuemods. 2934 2935Fri Nov 08 08:58:48 GMT 2013 Olly Betts <olly@survex.com> 2936 2937 * api/maptermlist.h,api/termlist.cc,api/termlist.h,backends/brass/: 2938 Avoid two vector copies when storing term positions in most common 2939 cases. 2940 2941Fri Nov 08 08:57:07 GMT 2013 Olly Betts <olly@survex.com> 2942 2943 * configure.ac: Bump LIBRARY_VERSION_INFO. 2944 2945Thu Nov 07 16:14:23 GMT 2013 Olly Betts <olly@survex.com> 2946 2947 * backends/brass/brass_database.cc, 2948 backends/brass/brass_positionlist.cc, 2949 backends/brass/brass_positionlist.h: There's no need to pass around 2950 an end PositionIterator, and it's actually slightly more efficient 2951 not to. 2952 2953Thu Nov 07 16:11:27 GMT 2013 Olly Betts <olly@survex.com> 2954 2955 * backends/brass/: Batch up positionlist changes in memory and write 2956 them out in key order. 2957 2958Thu Nov 07 15:30:48 GMT 2013 Olly Betts <olly@survex.com> 2959 2960 * backends/brass/brass_positionlist.h,backends/brass/brass_version.cc: 2961 Change positionlist keys to be ordered by term first rather than 2962 docid first, which helps phrase searching significantly. 2963 2964Wed Nov 06 17:12:29 GMT 2013 Olly Betts <olly@survex.com> 2965 2966 * backends/brass/brass_values.cc,backends/brass/brass_values.h, 2967 backends/chert/chert_values.cc,backends/chert/chert_values.h: Reuse 2968 a cursor for reading values from valuestreams rather than creating 2969 a new one each time. This can dramatically reduce the number of 2970 blocks redundantly reread when sorting by value. The rereads will 2971 generally get served from VM cache, but there's still an overhead 2972 to that. 2973 2974Tue Nov 05 16:28:08 GMT 2013 Olly Betts <olly@survex.com> 2975 2976 * api/query.cc,api/queryinternal.cc,api/queryinternal.h, 2977 include/xapian/query.h,tests/api_query.cc: Having a separate 'type' 2978 enum seems to just make for clumsier code, so merged the LEAF_* 2979 values into the 'op' enum, add LEAF_MATCH_ALL and LEAF_MATCH_NOTHING 2980 and return when appropriate, and add test coverage. 2981 2982Tue Nov 05 15:20:15 GMT 2013 Olly Betts <olly@survex.com> 2983 2984 * api/query.cc,api/queryinternal.cc,api/queryinternal.h, 2985 include/xapian/query.h: Add methods to allow introspection on 2986 Query objects - currently you can read the type/operator, how many 2987 subqueries there are, and get a particular subquery. For a 2988 query which is a term, Query::get_terms_begin() allows you to 2989 get read the term. (see #159) 2990 2991Mon Nov 04 19:06:38 GMT 2013 Olly Betts <olly@survex.com> 2992 2993 * examples/quest.cc: Add --check-at-least option to quest. 2994 2995Thu Oct 24 04:38:52 GMT 2013 Olly Betts <olly@survex.com> 2996 2997 * configure.ac,tests/soaktest/soaktest.cc: If srandom() and random() 2998 aren't available, use srand() and rand() instead. 2999 3000Thu Oct 24 02:34:06 GMT 2013 Olly Betts <olly@survex.com> 3001 3002 * common/safewindows.h: Define WINVER to 0x0500 if not otherwise set, 3003 so we get new interfaces like MEMORYSTATUSEX under mingw. 3004 3005Thu Oct 24 02:11:36 GMT 2013 Olly Betts <olly@survex.com> 3006 3007 * tests/harness/backendmanager_remotetcp.cc: Need cstdlib for free 3008 under mingw. 3009 3010Thu Oct 24 02:11:05 GMT 2013 Olly Betts <olly@survex.com> 3011 3012 * configure.ac,tests/api_replicate.cc,tests/queryparsertest.cc, 3013 tests/termgentest.cc: Probe for _putenv_s() in configure as mingw 3014 doesn't provide it. 3015 3016Thu Oct 24 01:23:14 GMT 2013 Olly Betts <olly@survex.com> 3017 3018 * configure.ac: Don't unset CC as it's used by libtool under mingw. 3019 3020Thu Oct 24 01:17:07 GMT 2013 Olly Betts <olly@survex.com> 3021 3022 * net/tcpserver.cc: Fix mingw build error. 3023 3024Thu Oct 24 01:00:18 GMT 2013 Olly Betts <olly@survex.com> 3025 3026 * common/omassert.h: Suppress "unused local typedef" warnings from 3027 GCC 4.8. 3028 3029Wed Oct 23 20:00:05 GMT 2013 Olly Betts <olly@survex.com> 3030 3031 * common/realtime.h: Rework RealTime::to_timeval() under __WIN32__ to 3032 avoid having to pull in safewinsock2.h, 3033 3034Wed Oct 23 12:39:53 GMT 2013 Olly Betts <olly@survex.com> 3035 3036 * common/realtime.h: Under __WIN32__, we need safewinsock2.h for 3037 struct timeval. 3038 3039Wed Oct 23 10:21:02 GMT 2013 Olly Betts <olly@survex.com> 3040 3041 * common/omassert.h: If the compiler supports C++11, use 3042 static_assert to implement CompileTimeAssert. 3043 3044Wed Oct 23 10:02:50 GMT 2013 Olly Betts <olly@survex.com> 3045 3046 * common/realtime.h,net/tcpclient.cc: Fix mingw build errors. 3047 3048Wed Oct 23 09:50:00 GMT 2013 Olly Betts <olly@survex.com> 3049 3050 * common/win32_uuid.cc: Fix mingw compiler warning. 3051 3052Wed Oct 23 04:19:05 GMT 2013 jiangwen jiang <jiangwen127@gmail.com> 3053 3054 * api/omdocument.cc,api/query.cc: Add more LOGCALL annotations. 3055 3056Tue Oct 22 03:09:48 GMT 2013 Olly Betts <olly@survex.com> 3057 3058 * HACKING: Note we now use doxygen 1.8.5 for 1.3.x snapshots and 3059 releases. 3060 3061Mon Oct 21 01:55:48 GMT 2013 Olly Betts <olly@survex.com> 3062 3063 * queryparser/lemon.c: Sync change from upstream: "Fix a harmless 3064 compiler warning in lemon.c." Generated code is identical, at least 3065 on x86-64 Debian wheezy. 3066 3067Mon Oct 21 01:52:12 GMT 2013 Olly Betts <olly@survex.com> 3068 3069 * queryparser/lemon.c: Sync change from upstream: "In the lemon parser 3070 generator, change all hashes to unsigned to avoid potential problems 3071 with signed integer overflow." Generated code is identical, at 3072 least on x86-64 Debian wheezy. 3073 3074Sat Oct 19 06:38:48 GMT 2013 Olly Betts <olly@survex.com> 3075 3076 * backends/flint_lock.cc: Under cygwin, use cygwin_conv_path() if 3077 using a new enough cygwin version, rather than the now deprecated 3078 cygwin_conv_to_win32_path(). Reported by "Haroogan" on the 3079 xapian-devel mailing list. 3080 3081Sat Oct 19 00:36:06 GMT 2013 Olly Betts <olly@survex.com> 3082 3083 * configure.ac: Simplify test for uuid_unparse_lower(). (see #626) 3084 3085Sat Oct 19 00:21:37 GMT 2013 Olly Betts <olly@survex.com> 3086 3087 * Makefile.am,configure.ac: Split XAPIAN_LIBS out of XAPIAN_LDFLAGS. 3088 (fixes#626) 3089 3090Fri Oct 18 11:51:40 GMT 2013 Olly Betts <olly@survex.com> 3091 3092 * geospatial/geoencode.cc: Use lround() instead of round(), since we 3093 want the result as an int. GCC 4.4.3 seems to optimise to use 3094 lround() anyway, but other compilers may not. 3095 3096Fri Oct 18 11:44:10 GMT 2013 Olly Betts <olly@survex.com> 3097 3098 * geospatial/geoencode.cc: Include <math.h> for round() (fixes #628). 3099 3100Tue Oct 15 03:16:04 GMT 2013 Olly Betts <olly@survex.com> 3101 3102 * include/xapian/enquire.h,include/xapian/unicode.h: Mark internal 3103 methods which are public for implementation convenience as 3104 "@private" for doxygen where they weren't already. 3105 3106Mon Oct 14 09:45:13 GMT 2013 Olly Betts <olly@survex.com> 3107 3108 * include/xapian.h: Mark vinfo struct and get_vinfo_() function as 3109 @private for doxygen. 3110 3111Thu Oct 10 10:36:45 GMT 2013 Olly Betts <olly@survex.com> 3112 3113 * include/xapian/: Methods and functions which take a string to 3114 unserialise now consistently call that parameter "serialised". 3115 3116Mon Oct 07 04:08:14 GMT 2013 Olly Betts <olly@survex.com> 3117 3118 * tests/zlib-vg.c: Fix two warnings when compiled with clang. 3119 3120Fri Oct 04 19:46:16 GMT 2013 Olly Betts <olly@survex.com> 3121 3122 * backends/brass/brass_check.cc,backends/chert/chert_check.cc: Correct 3123 failure message which talks above the root block when it's actually 3124 testing a leaf key. 3125 3126Fri Oct 04 04:51:39 GMT 2013 Olly Betts <olly@survex.com> 3127 3128 * backends/brass/brass_check.cc,backends/chert/chert_check.cc: Escape 3129 invalid UTF-8 data in keys and tags reported by xapian-check, using 3130 the same code we use to clean up string in object descriptions. 3131 3132Fri Oct 04 04:50:52 GMT 2013 Olly Betts <olly@survex.com> 3133 3134 * backends/brass/brass_check.cc,backends/chert/chert_check.cc: Fix 3135 xapian-check to report block numbers correctly for links within the 3136 B-tree. 3137 3138Thu Oct 03 07:35:44 GMT 2013 Olly Betts <olly@survex.com> 3139 3140 * backends/brass/brass_dbcheck.cc,backends/chert/chert_dbcheck.cc: If 3141 the METAINFO key is missing, only report it once per table. 3142 3143Sat Sep 28 09:27:51 GMT 2013 Olly Betts <olly@survex.com> 3144 3145 * include/xapian.h: Hide struct vinfo and get_vinfo_() from SWIG and 3146 doxygen. 3147 3148Sat Sep 28 06:25:44 GMT 2013 Olly Betts <olly@survex.com> 3149 3150 * api/version.cc,include/xapian.h: Reimplement version functions to 3151 use a single function in libxapian which returns a pointer to a 3152 static const struct containing the version information, with inline 3153 wrappers in the API header which call this. This means we only need 3154 one relocation instead of 4. 3155 * tests/api_none.cc: New testcase version1 to provide coverage for the 3156 version API functions. 3157 3158Fri Sep 27 22:53:15 GMT 2013 Olly Betts <olly@survex.com> 3159 3160 * api/omenquire.cc,include/xapian/enquire.h,tests/api_anydb.cc: Fix 3161 backwards compatibility get_eset() wrapper to allow for the optional 3162 parameters which were supported before. Also, just inline it from 3163 the API header. 3164 3165Fri Sep 27 11:19:50 GMT 2013 Aarsh Shah <aarshkshah1992@gmail.com> 3166 3167 * api/omenquire.cc,api/omenquireinternal.h,expand/, 3168 include/xapian/enquire.h,tests/api_anydb.cc: Add support for the Bo1 3169 query expansion scheme. 3170 3171Thu Sep 26 04:11:49 GMT 2013 Olly Betts <olly@survex.com> 3172 3173 * tests/api_weight.cc: Don't pass integer arguments to log() to avoid 3174 ambiguity errors with some compilers. (fixes #627) 3175 3176Thu Sep 26 02:02:24 GMT 2013 Olly Betts <olly@survex.com> 3177 3178 * backends/brass/,backends/chert/,backends/dbcheck.cc: Fix database 3179 consistency checking to always open all the tables at the same 3180 revision, which could lead to false errors being reported after 3181 a commit interrupted by the process being killed or the machine 3182 crashing. Reported by Joey Hess in https://bugs.debian.org/724610 3183 3184Wed Sep 25 02:21:29 GMT 2013 Olly Betts <olly@survex.com> 3185 3186 * tests/queryparsertest.cc: Add testcase for FieldProcessor on boolean 3187 prefix with quoted contents. 3188 3189Wed Sep 25 02:16:55 GMT 2013 Olly Betts <olly@survex.com> 3190 3191 * queryparser/queryparser.lemony: Fix comment typo. 3192 3193Wed Sep 25 02:13:20 GMT 2013 Olly Betts <olly@survex.com> 3194 3195 * api/: Split QueryVector into a template SmallVector class and then 3196 'typedef SmallVector<Query> QueryVector;', as it would be good to 3197 use the same approach for Database internals. 3198 3199Tue Sep 24 09:59:05 GMT 2013 Olly Betts <olly@survex.com> 3200 3201 * .gitignore,xapian-core.spec.in: Update two references to .tar.gz 3202 files. 3203 3204Tue Sep 24 09:54:42 GMT 2013 Olly Betts <olly@survex.com> 3205 3206 * docs/install.rst: Fix typo (bogus extra 'and'); 3207 3208Tue Sep 24 09:54:01 GMT 2013 Olly Betts <olly@survex.com> 3209 3210 * configure.ac,docs/install.rst: Compress source tarballs with xz 3211 instead of gzip. 3212 3213Mon Sep 23 12:58:23 GMT 2013 Olly Betts <olly@survex.com> 3214 3215 * common/realtime.h,configure.ac,matcher/multimatch.cc: Implement 3216 RealTime::sleep() using nanosleep() where it's available, since 3217 it has a simpler API and a finer granularity than select(). 3218 3219Mon Sep 23 12:27:37 GMT 2013 Olly Betts <olly@survex.com> 3220 3221 * common/realtime.h,net/remoteconnection.cc,net/tcpclient.cc: Add 3222 RealTime::to_timeval() helper function to break a time interval 3223 as a double into a struct timeval. This uses modf() which gives 3224 more compact and faster code than using fmod() as we previously 3225 did. 3226 3227Mon Sep 23 08:20:03 GMT 2013 Olly Betts <olly@survex.com> 3228 3229 * common/realtime.h,configure.ac: Use clock_gettime() to implement 3230 RealTime::now() where it's available. 3231 3232Mon Sep 16 11:53:28 GMT 2013 Olly Betts <olly@survex.com> 3233 3234 * api/,backends/brass/brass_postlist.cc, 3235 backends/remote/net_postlist.cc,backends/slowvaluelist.cc, 3236 expand/esetinternal.cc,include/xapian/unicode.h, 3237 matcher/valuegepostlist.cc,matcher/valuerangepostlist.cc, 3238 tests/api_query.cc,tests/queryparsertest.cc,unicode/: Fix all 3239 get_description() methods to always return UTF-8 text. (fixes #620) 3240 3241Mon Sep 16 11:47:16 GMT 2013 Olly Betts <olly@survex.com> 3242 3243 * include/xapian/unicode.h: Document how Utf8Iterator handles invalid 3244 UTF-8. 3245 3246Mon Sep 16 11:19:48 GMT 2013 Olly Betts <olly@survex.com> 3247 3248 * tests/queryparsertest.cc: Add test coverage for explicit synonym of 3249 a term with a prefix (e.g. ~foo:search). 3250 3251Fri Sep 06 07:11:29 GMT 2013 Olly Betts <olly@survex.com> 3252 3253 * api/valueiterator.cc,tests/api_backend.cc: Don't segfault is 3254 skip_to() or check() are called on a ValueIterator which is already 3255 at_end(). 3256 3257Fri Sep 06 06:52:49 GMT 2013 Olly Betts <olly@survex.com> 3258 3259 * api/positioniterator.cc,api/postingiterator.cc,api/termiterator.cc, 3260 tests/api_backend.cc: Don't segfault if skip_to() is called on an 3261 iterator which is already at_end(). Reported by David Bremner. 3262 3263Wed Sep 04 04:52:50 GMT 2013 Olly Betts <olly@survex.com> 3264 3265 * weight/weightinternal.cc: TermFreqs now tracks collection frequency, 3266 so make TermFreqs::get_description() report it. 3267 3268Thu Aug 29 01:30:45 GMT 2013 Olly Betts <olly@survex.com> 3269 3270 * matcher/andmaybepostlist.cc,matcher/multiandpostlist.h: Fix 3271 assertion failure for when an OrPostList decays to an AndPostList 3272 - the ordering of the subqueries by estimated termfreq may not be 3273 the same as it was when the OrPostList was constructed, as the 3274 subqueries may themselves have decayed. Reported by Michel 3275 Pelletier. 3276 3277Fri Aug 23 03:17:33 GMT 2013 Olly Betts <olly@survex.com> 3278 3279 * m4-macros/xapian-1.3.m4: Handle empty or unset XAPIAN_CONFIG 3280 correctly. 3281 3282Mon Jul 15 12:01:17 GMT 2013 Aarsh Shah <aarshkshah1992@gmail.com> 3283 3284 * api/registry.cc,include/xapian/weight.h,tests/api_nodb.cc, 3285 tests/api_weight.cc,weight/Makefile.mk,weight/dphweight.cc: Add an 3286 implementation of DfR weighting scheme DPH. 3287 3288Sun Jul 14 07:39:37 GMT 2013 Olly Betts <olly@survex.com> 3289 3290 * include/xapian/weight.h,weight/pl2weight.cc: Optimise PL2Weight to 3291 only calculate 2 logs per call to get_sumpart() instead of 4 by 3292 precalculating three document-independent values in init(). 3293 3294Sun Jul 14 07:04:52 GMT 2013 Aarsh Shah <aarshkshah1992@gmail.com> 3295 3296 * api/registry.cc,include/xapian/weight.h,tests/api_nodb.cc, 3297 tests/api_weight.cc,weight/Makefile.mk,weight/pl2weight.cc: Add an 3298 implementation of DfR weighting scheme PL2. 3299 3300Sat Jul 13 11:24:20 GMT 2013 Aarsh Shah <aarshkshah1992@gmail.com> 3301 3302 * weight/tfidfweight.cc: Explicitly cast argument of log() to double, 3303 as xlC doesn't manage to chose an overloaded form to call otherwise. 3304 3305Sat Jul 13 07:29:25 GMT 2013 Aarsh Shah <aarshkshah1992@gmail.com> 3306 3307 * include/xapian/weight.h,tests/api_weight.cc, 3308 tests/generate-api_generated,weight/: Fix new weighting schemes to 3309 work with OP_SCALE_WEIGHT. 3310 3311Wed Jul 10 12:57:01 GMT 2013 Aarsh Shah <aarshkshah1992@gmail.com> 3312 3313 * api/registry.cc,include/xapian/weight.h,tests/api_nodb.cc, 3314 tests/api_weight.cc,weight/Makefile.mk,weight/dlhweight.cc: Add an 3315 implementation of DfR weighting scheme DLH. 3316 3317Wed Jul 10 07:38:15 GMT 2013 Aarsh Shah <aarshkshah1992@gmail.com> 3318 3319 * expand/expandweight.h: Track collection_freq and totlen restricted 3320 to the RSet in preparation for supporting DfR query expansion 3321 schemes. 3322 3323Mon Jul 08 06:27:05 GMT 2013 Olly Betts <olly@survex.com> 3324 3325 * weight/Makefile.mk: Normalise whitespace in BB2 change. 3326 3327Sun Jul 07 12:29:48 GMT 2013 Olly Betts <olly@survex.com> 3328 3329 * weight/bb2weight.cc: New file for BB2Weight which I failed to 3330 commit. 3331 3332Sun Jul 07 11:51:45 GMT 2013 Aarsh Shah <aarshkshah1992@gmail.com> 3333 3334 * api/registry.cc,include/xapian/weight.h,tests/api_nodb.cc, 3335 tests/api_weight.cc,weight/Makefile.mk: Add implementation of DfR 3336 weighting scheme BB2. 3337 3338Sat Jul 06 02:07:13 GMT 2013 Olly Betts <olly@survex.com> 3339 3340 * api/omdatabase.cc: Fix add_document() to always use exactly the next 3341 docid after get_lastdocid() in the multidatabase case. 3342 3343Fri Jul 05 06:19:55 GMT 2013 Olly Betts <olly@survex.com> 3344 3345 * backends/dbfactory.cc: Allow open a stub database containing 3346 multiple subdatabases as a WritableDatabase. 3347 3348Thu Jul 04 06:29:56 GMT 2013 Olly Betts <olly@survex.com> 3349 3350 * tests/harness/backendmanager.cc,tests/harness/index_utils.cc, 3351 tests/harness/index_utils.h: Simplify the FileIndexer class. 3352 3353Thu Jul 04 06:09:06 GMT 2013 Olly Betts <olly@survex.com> 3354 3355 * tests/harness/backendmanager_multi.cc,tests/harness/index_utils.cc, 3356 tests/harness/index_utils.h: Make use of the new writable 3357 multidatabase feature to simplify the multi-database handling in the 3358 test harness. 3359 3360Wed Jul 03 13:58:46 GMT 2013 Aarsh Shah <aarshkshah1992@gmail.com> 3361 3362 * api/registry.cc,include/xapian/weight.h,tests/api_nodb.cc, 3363 tests/api_weight.cc,weight/Makefile.mk,weight/ineb2weight.cc: Add 3364 implementation of DfR weighting scheme IneB2. 3365 3366Wed Jul 03 13:39:11 GMT 2013 Olly Betts <olly@survex.com> 3367 3368 * include/xapian/weight.h: "please refer:" -> "please refer to:" 3369 3370Wed Jul 03 13:31:59 GMT 2013 Aarsh Shah <aarshkshah1992@gmail.com> 3371 3372 * api/registry.cc,include/xapian/weight.h,tests/api_nodb.cc, 3373 tests/api_weight.cc,weight/Makefile.mk,weight/ifb2weight.cc: Add 3374 implementation of DfR weighting scheme IfB2. 3375 3376Wed Jul 03 12:42:23 GMT 2013 Olly Betts <olly@survex.com> 3377 3378 * common/safeuuid.h: Make a few tweaks to support AIX. 3379 3380Wed Jul 03 12:33:40 GMT 2013 Olly Betts <olly@survex.com> 3381 3382 * common/safeuuid.h: Remove bogus take-address-of from uuid handling 3383 code for netbsd and openbsd. 3384 3385Wed Jul 03 11:56:05 GMT 2013 Aarsh Shah <aarshkshah1992@gmail.com> 3386 3387 * api/registry.cc,include/xapian/weight.h,tests/api_nodb.cc, 3388 tests/api_weight.cc,weight/Makefile.mk,weight/inl2weight.cc: Add 3389 implementation of DfR weighting scheme InL2. 3390 3391Wed Jul 03 08:20:26 GMT 2013 Olly Betts <olly@survex.com> 3392 3393 * api/error.cc,common/Makefile.mk,common/safenetdb.h,net/tcpclient.cc, 3394 net/tcpserver.cc: AIX needs _USE_IRS defined for hstrerror, so 3395 create safenetdb.h to take care of that. 3396 3397Wed Jul 03 07:34:13 GMT 2013 Olly Betts <olly@survex.com> 3398 3399 * common/safeuuid.h: Add missing '#include <cstdlib>' and qualify free 3400 with std. 3401 3402Tue Jul 02 23:44:48 GMT 2013 Olly Betts <olly@survex.com> 3403 3404 * api/omdatabase.cc: Add support for WritableDatabase with multiple 3405 subdatabases. 3406 3407Tue Jul 02 23:40:08 GMT 2013 Olly Betts <olly@survex.com> 3408 3409 * api/omdatabase.cc,tests/api_none.cc: Trying to perform operations on 3410 a database with no subdatabases now throws InvalidOperationError not 3411 DocNotFoundError. 3412 3413Tue Jul 02 13:22:31 GMT 2013 Aarsh Shah <aarshkshah1992@gmail.com> 3414 3415 * tests/api_weight.cc: Extend checkstatsweight1 to check that 3416 Weight::get_collection_freq() returns the same number as 3417 Database::get_collection_freq(). 3418 3419Tue Jul 02 05:00:30 GMT 2013 Olly Betts <olly@survex.com> 3420 3421 * api/omenquire.cc,api/omenquireinternal.h, 3422 backends/remote/remote-database.cc,backends/remote/remote-database.h, 3423 common/remoteprotocol.h,configure.ac,docs/remote_protocol.rst, 3424 include/xapian/enquire.h,matcher/multimatch.cc,matcher/multimatch.h, 3425 net/remoteserver.cc,tests/api_postingsource.cc: Add 3426 Enquire::set_time_limit() method which sets a timelimit after which 3427 check_at_least will be disabled. 3428 3429Mon Jul 01 23:42:33 GMT 2013 Olly Betts <olly@survex.com> 3430 3431 * tests/Makefile.am: Fix to actually removed cached databases before 3432 "make check". 3433 3434Mon Jul 01 22:21:41 GMT 2013 Olly Betts <olly@survex.com> 3435 3436 * NEWS,api/queryinternal.cc,matcher/valuestreamdocument.h: Revert 3437 changes accidentally included in r17373. 3438 3439Sat Jun 29 12:39:10 GMT 2013 Olly Betts <olly@survex.com> 3440 3441 * include/xapian/unicode.h,unicode/tclUniData.cc: Change 3442 Xapian::Unicode::Internal::get_character_info() to simply return 3443 Xapian::Unicode::UNASSIGNED for character outside unicode (ch >= 3444 0x110000) which avoids a special check for such values before 3445 we call get_character_info(). 3446 3447Sat Jun 29 09:31:12 GMT 2013 Olly Betts <olly@survex.com> 3448 3449 * tests/api_serialise.cc: Remove code from registry* testcases which 3450 tries to test the consequences of throwing an exception from a 3451 destructor - it's complex to ensure we don't leak memory while doing 3452 this (it seems GCC doesn't release the object in this case, but 3453 clang does), and it's generally frowned upon, plus C++11 makes 3454 destructors noexcept by default. 3455 3456Thu Jun 27 02:36:02 GMT 2013 Olly Betts <olly@survex.com> 3457 3458 * weight/weightinternal.h: Initialise total_term_count to zero. 3459 Fixes failure of qp_flag_wildcard3 under valgrind in buildbot. 3460 3461Wed Jun 26 05:48:21 GMT 2013 Olly Betts <olly@survex.com> 3462 3463 * backends/dbfactory.cc: '# if defined' -> '#ifdef' to match 3464 surrounding code better. 3465 3466Wed Jun 26 05:47:38 GMT 2013 Olly Betts <olly@survex.com> 3467 3468 * backends/dbfactory.cc: Fix 'unused label' warning when chert backend 3469 is disabled. 3470 3471Wed Jun 26 05:40:29 GMT 2013 Olly Betts <olly@survex.com> 3472 3473 * tests/queryparsertest.cc: Fix previous change to compile. 3474 3475Wed Jun 26 05:34:25 GMT 2013 Olly Betts <olly@survex.com> 3476 3477 * tests/queryparsertest.cc: Change qp_scale1 to time 5 repetitions of 3478 the large query to help average out variations. 3479 3480Wed Jun 26 04:52:33 GMT 2013 Olly Betts <olly@survex.com> 3481 3482 * configure.ac: Tweak to simplify diff against similar code in 3483 xapian-omega. 3484 3485Wed Jun 26 03:56:14 GMT 2013 Olly Betts <olly@survex.com> 3486 3487 * api/matchspy.cc: Fix get_description() to work on a 3488 ValueCountMatchSpy with NULL internals - fixes matchspy5 testcase 3489 with remote backends when configured with --enable-log. 3490 * api/matchspy.cc: Add assertions that internal is non-NULL before 3491 using it. 3492 * include/xapian/matchspy.h: If internal is NULL, make 3493 ValueCountMatchSpy::get_total() return 0 rather than dereferencing 3494 NULL. 3495 3496Wed Jun 26 03:10:58 GMT 2013 Olly Betts <olly@survex.com> 3497 3498 * tests/harness/testsuite.cc,tests/harness/testsuite.h: If 3499 -v/--verbose is specified more than once, show the diagnostic output 3500 for passing tests as well as failing/skipped ones. 3501 3502Wed Jun 26 03:08:08 GMT 2013 Olly Betts <olly@survex.com> 3503 3504 * tests/api_scalability.cc: Change querypairwise1_helper to repeat the 3505 query build 100 times, as with a fast modern machine we were 3506 sometimes trying to so many subqueries that we would run out of 3507 stack. 3508 3509Wed Jun 26 02:55:20 GMT 2013 Olly Betts <olly@survex.com> 3510 3511 * weight/tfidfweight.cc: Wrap long lines. 3512 3513Wed Jun 26 02:00:12 GMT 2013 Olly Betts <olly@survex.com> 3514 3515 * configure.ac,m4-macros/xapian-1.3.m4: Fix stripping of _git suffix 3516 from snapshot versions not to relying of sed having support for \| 3517 as it doesn't on OS X. 3518 3519Tue Jun 25 13:21:44 GMT 2013 Olly Betts <olly@survex.com> 3520 3521 * weight/tfidfweight.cc: Merge "impossible" cases in switch statements 3522 into possible ones which contain the same code, adding assertions 3523 that the "impossible" hasn't happened. More robust and improves 3524 test coverage. 3525 3526Tue Jun 25 06:28:00 GMT 2013 Olly Betts <olly@survex.com> 3527 3528 * m4-macros/xapian-1.3.m4: XO_LIB_XAPIAN now handles the user 3529 specifying a relative path in XAPIAN_CONFIG, e.g.: "./configure 3530 XAPIAN_CONFIG=../xapian-core/xapian-config" 3531 3532Tue Jun 25 05:34:41 GMT 2013 Olly Betts <olly@survex.com> 3533 3534 * m4-macros/xapian-1.3.m4: Fix comment typo. 3535 3536Tue Jun 25 05:33:54 GMT 2013 Olly Betts <olly@survex.com> 3537 3538 * configure.ac: Use AC_PATH_PROG instead of AC_PATH_PROG when there's 3539 only one name for the program to look for. 3540 3541Sun Jun 23 13:12:54 GMT 2013 Olly Betts <olly@survex.com> 3542 3543 * configure.ac: clang doesn't support -Wstrict-null-sentinel or 3544 -Wlogical-op, so don't pass it these options. 3545 3546Sat Jun 22 13:40:40 GMT 2013 Olly Betts <olly@survex.com> 3547 3548 * backends/brass/brass_compact.cc,backends/chert/chert_compact.cc: 3549 Fix failure when built with -D_GLIBCXX_DEBUG - we were modifying 3550 the top() element of a heap before calling pop(), such that the 3551 heap comparison operation (which is called when -D_GLIBCXX_DEBUG 3552 is on to verify the heap is valid) would read off the end of the 3553 data. In a normal build, this issue would likely never manifest. 3554 3555Sat Jun 22 11:21:22 GMT 2013 Olly Betts <olly@survex.com> 3556 3557 * common/bitstream.cc: Fix assertion in BitReader::decode(). 3558 3559Sat Jun 22 09:13:13 GMT 2013 Olly Betts <olly@survex.com> 3560 3561 * matcher/localsubmatch.cc: Fix assertion failure when built with 3562 --enable-assertions. The behaviour when built without assertions 3563 happened to be correct. 3564 3565Fri Jun 21 13:10:53 GMT 2013 Olly Betts <olly@survex.com> 3566 3567 * tests/unittest.cc: Add simple test for log2(). 3568 3569Fri Jun 21 13:09:09 GMT 2013 Olly Betts <olly@survex.com> 3570 3571 * common/Makefile.mk,common/log2.h,configure.ac: Add log2.h header 3572 which provides an implementation of log2() if it isn't available in 3573 the standard libraries. 3574 3575Fri Jun 14 13:20:58 GMT 2013 Olly Betts <olly@survex.com> 3576 3577 * common/fd.h: Add missing header include guards. 3578 3579Fri Jun 14 13:19:44 GMT 2013 Olly Betts <olly@survex.com> 3580 3581 * common/append_filename_arg.h,geospatial/geoencode.h: Fix header 3582 include guard names which don't match our naming conventions. 3583 3584Fri Jun 14 13:18:40 GMT 2013 Olly Betts <olly@survex.com> 3585 3586 * backends/brass/brass_dbcheck.h,backends/chert/chert_dbcheck.h, 3587 backends/multi/multi_alltermslist.h: Fix header include guard macro 3588 names which don't match the source file names. 3589 3590Fri Jun 14 12:48:14 GMT 2013 Olly Betts <olly@survex.com> 3591 3592 * common/compression_stream.h: Whitespace tweak. 3593 3594Thu Jun 13 13:58:14 GMT 2013 Olly Betts <olly@survex.com> 3595 3596 * backends/chert/chert_positionlist.cc: Remove 'Assert(rd);' since rd 3597 is no longer a pointer. 3598 3599Thu Jun 13 13:28:43 GMT 2013 Olly Betts <olly@survex.com> 3600 3601 * tests/harness/utestsuite.cc: Add missing GPL boilerplate and 3602 copyright statements. 3603 3604Thu Jun 13 13:26:07 GMT 2013 Olly Betts <olly@survex.com> 3605 3606 * common/compression_stream.cc,common/compression_stream.h: Add 3607 missing GPL boilerplate and copyright statements. 3608 3609Thu Jun 13 13:24:34 GMT 2013 Olly Betts <olly@survex.com> 3610 3611 * common/compression_stream.cc,common/compression_stream.h: Remove 3612 unused header includes; don't use "using namespace std;" in a 3613 header. 3614 3615Thu Jun 13 08:30:26 GMT 2013 Olly Betts <olly@survex.com> 3616 3617 * backends/brass/brass_positionlist.cc: Remove 'Assert(rd);' since rd 3618 is no longer a pointer. 3619 3620Thu Jun 13 05:07:27 GMT 2013 Olly Betts <olly@survex.com> 3621 3622 * common/compression_stream.h: Update include guard to match source 3623 file name. 3624 3625Thu Jun 13 02:38:20 GMT 2013 Olly Betts <olly@survex.com> 3626 3627 * common/,net/length.h,net/serialise.h: Fix @file markup which wasn't 3628 actually in a doxygen comment. 3629 3630Thu Jun 13 02:14:22 GMT 2013 Olly Betts <olly@survex.com> 3631 3632 * preautoreconf: Remove needless use of perl prototype. 3633 3634Tue Jun 11 00:40:37 GMT 2013 Olly Betts <olly@survex.com> 3635 3636 * common/remoteprotocol.h,docs/remote_protocol.rst: Bump 3637 remote protocol version to 38.o. 3638 3639Tue Jun 11 00:37:01 GMT 2013 Aarsh Shah <aarshkshah1992@gmail.com> 3640 3641 * api/leafpostlist.cc,matcher/,net/serialise.cc,weight/weight.cc, 3642 weight/weightinternal.cc,weight/weightinternal.h: Make collection 3643 frequency available to Xapian::Weight subclasses. Extracted from 3644 Gaurav Arora's LM branch. 3645 3646Wed May 22 10:04:25 GMT 2013 Olly Betts <olly@survex.com> 3647 3648 * configure.ac: When generating ABI compatibility checks in 3649 xapian/version.h, pass $CXXFLAGS and $CPPFLAGS to $CXXCPP as they 3650 could contain options which affect the ABI (such as -fabi-version 3651 for GCC). (Fixes #622) 3652 3653Wed May 22 04:20:39 GMT 2013 Olly Betts <olly@survex.com> 3654 3655 * common/win32_uuid.cc: Microsoft GUIDs in binary form have reversed 3656 byte order in the first three components compared to standard UUIDs, 3657 so the same database would report a different UUID on Windows to 3658 on other platforms. With this fix, the UUIDs of existing databases 3659 will appear to change on Windows (except in rare "palindronic" cases). 3660 3661Fri May 17 05:52:43 GMT 2013 Olly Betts <olly@survex.com> 3662 3663 * docs/overview.rst: Correct documentation for stub files specifying 3664 "prog" remote databases. 3665 3666Thu May 16 05:47:40 GMT 2013 Olly Betts <olly@survex.com> 3667 3668 * backends/chert/chert_dbcheck.cc: Code tweak for clarity. 3669 3670Thu May 16 05:46:42 GMT 2013 Olly Betts <olly@survex.com> 3671 3672 * backends/chert/chert_dbcheck.cc: Fix database check that first docid 3673 in each doclength chunk is more than the last docid in the previous 3674 chunk - previously this didn't actually work. 3675 3676Thu May 16 05:45:04 GMT 2013 Olly Betts <olly@survex.com> 3677 3678 * common/bitstream.h: Fix database check not to falsely report 3679 "position table: Junk after position data" whenever there are 7 3680 unused bits (7 is OK, *more* than 7 isn't). 3681 3682Tue May 14 12:42:11 GMT 2013 Olly Betts <olly@survex.com> 3683 3684 * m4-macros/xapian-1.3.m4: Adjust XO_LIB_XAPIAN to strip _gitNNN 3685 suffix from snapshot versions. 3686 3687Sun May 12 06:11:36 GMT 2013 Olly Betts <olly@survex.com> 3688 3689 * configure.ac: Simplify previous change. 3690 3691Sun May 12 06:06:47 GMT 2013 Olly Betts <olly@survex.com> 3692 3693 * configure.ac: Handle git snapshot naming when calculating REVISION. 3694 3695Wed May 08 11:56:27 GMT 2013 Olly Betts <olly@survex.com> 3696 3697 * HACKING,INSTALL,Makefile.am,README,docs/Makefile.am,docs/install.rst, 3698 docs/stemming.rst,languages/Makefile.mk,queryparser/Makefile.mk, 3699 tests/Makefile.am,tests/perftest/perftest.cc: SVN -> git. 3700 3701Wed May 08 08:51:22 GMT 2013 Olly Betts <olly@survex.com> 3702 3703 * backends/brass/brass_version.cc,backends/chert/chert_version.cc: 3704 Remove unused '#include <cstdio>'. 3705 3706Mon May 06 11:10:25 GMT 2013 Olly Betts <olly@survex.com> 3707 3708 * api/omenquire.cc,configure.ac,include/xapian/enquire.h: Merge two 3709 Enquire::get_eset() overloaded forms into one with a default value 3710 for parameter min_wt. 3711 3712Thu May 02 12:05:28 GMT 2013 Olly Betts <olly@survex.com> 3713 3714 * NEWS,configure.ac: Update for 1.3.1. 3715 3716Thu May 02 11:13:30 GMT 2013 Olly Betts <olly@survex.com> 3717 3718 * include/xapian/weight.h,tests/api_nodb.cc,tests/api_weight.cc, 3719 weight/tfidfweight.cc: Use lowercase letters for the TfIdfWeight 3720 descriptions to match what SMART uses. 3721 3722Wed May 01 05:13:07 GMT 2013 Olly Betts <olly@survex.com> 3723 3724 * include/xapian/database.h: Work around Apple's OS X SDK defining a 3725 check() macro. 3726 3727Tue Apr 30 13:51:53 GMT 2013 Olly Betts <olly@survex.com> 3728 3729 * NEWS: Update from ChangeLog. 3730 3731Mon Apr 29 03:09:16 GMT 2013 Olly Betts <olly@survex.com> 3732 3733 * backends/brass/brass_dbcheck.cc,backends/chert/chert_dbcheck.cc: 3734 Use decode_interpolative_next() when checking database consistency. 3735 We also now complain about any junk after the position data. 3736 * common/bitstream.cc,common/bitstream.h: Remove the old version of 3737 decode_interpolative() which unpacks into a std::vector. 3738 3739Mon Apr 29 02:16:54 GMT 2013 Olly Betts <olly@survex.com> 3740 3741 * backends/chert/chert_positionlist.cc, 3742 backends/chert/chert_positionlist.h: Backport positionlist changes 3743 from brass. 3744 3745Mon Apr 29 01:58:59 GMT 2013 Olly Betts <olly@survex.com> 3746 3747 * backends/brass/brass_positionlist.cc: No need to initialise the 3748 BitReader object in the single-entry position list case. 3749 3750Mon Apr 29 01:58:10 GMT 2013 Olly Betts <olly@survex.com> 3751 3752 * backends/brass/brass_positionlist.cc: Fix bug when reaching the last 3753 positionlist entry in skip_to(). 3754 3755Mon Apr 29 00:46:10 GMT 2013 Olly Betts <olly@survex.com> 3756 3757 * tests/api_posdb.cc: Fix comment typos. 3758 3759Mon Apr 29 00:27:42 GMT 2013 Olly Betts <olly@survex.com> 3760 3761 * backends/brass/brass_positionlist.cc: Fix handling of single-entry 3762 position lists. 3763 3764Sun Apr 28 23:45:02 GMT 2013 Olly Betts <olly@survex.com> 3765 3766 * backends/brass/brass_positionlist.cc: Fix BrassPositionList for case 3767 when there's no positional information for a term. 3768 3769Sun Apr 28 10:29:59 GMT 2013 Olly Betts <olly@survex.com> 3770 3771 * backends/brass/brass_positionlist.cc: Simplify setting of 3772 have_started in BrassPositionList::skip_to(). 3773 3774Sun Apr 28 10:19:52 GMT 2013 Olly Betts <olly@survex.com> 3775 3776 * backends/brass/brass_positionlist.cc, 3777 backends/brass/brass_positionlist.h,common/bitstream.h: Make the 3778 BitReader object a member of BrassPositionList rather than tracking 3779 a pointer to it. 3780 3781Sun Apr 28 07:22:07 GMT 2013 Olly Betts <olly@survex.com> 3782 3783 * backends/brass/brass_positionlist.cc,common/bitstream.h: Reuse the 3784 same BitReader object for each document rather than deleting the old 3785 one and creating a new one. 3786 3787Sun Apr 28 07:06:12 GMT 2013 Olly Betts <olly@survex.com> 3788 3789 * backends/brass/brass_positionlist.cc: Move check for reaching the 3790 end after the next() in the loop in skip_to(), as we know we aren't 3791 at the end on the first iteration, and we've now handled the case of 3792 termpos == last before we get here. 3793 3794Sun Apr 28 07:04:54 GMT 2013 Olly Betts <olly@survex.com> 3795 3796 * backends/brass/brass_positionlist.cc: We know what the last entry in 3797 the position list is, so special case skip_to(last_entry) to just 3798 move there rather than calling next() a lot of times. 3799 3800Sun Apr 28 07:03:57 GMT 2013 Olly Betts <olly@survex.com> 3801 3802 * common/bitstream.h: We don't need to stack pos_j when doing lazy 3803 interpolative decoding. 3804 3805Sun Apr 28 06:48:01 GMT 2013 Olly Betts <olly@survex.com> 3806 3807 * common/bitstream.h: Store j and k before pos_j and pos_k as it's 3808 fractionally more efficient. 3809 3810Sun Apr 28 06:44:32 GMT 2013 Olly Betts <olly@survex.com> 3811 3812 * backends/brass/brass_positionlist.cc, 3813 backends/brass/brass_positionlist.h,common/bitstream.cc, 3814 common/bitstream.h: Hook up BrassPositionList to the new lazy 3815 interpolative decoder. 3816 3817Fri Apr 26 02:09:38 GMT 2013 Marius Tibeica <mtibeica@gmail.com> 3818 3819 * common/bitstream.cc,common/bitstream.h: Support reading entries from 3820 an interpolative coded list one by one. 3821 3822Thu Apr 25 10:57:02 GMT 2013 Olly Betts <olly@survex.com> 3823 3824 * docs/remote_protocol.rst: Correct error in documentation of 3825 REPLY_DOCDATA message. 3826 3827Thu Apr 25 10:44:56 GMT 2013 Marius Tibeica <mtibeica@gmail.com> 3828 3829 * common/bitstream.cc: renamed my_fls to highest_order_bit. 3830 3831Thu Apr 25 06:49:48 GMT 2013 Olly Betts <olly@survex.com> 3832 3833 * backends/remote/remote-database.cc,common/remoteprotocol.h, 3834 docs/remote_protocol.rst,net/remoteserver.cc: Prefix compress 3835 list of terms and metadata keys in the remote protocol. 3836 This requires a remote protocol major version bump. 3837 3838Wed Apr 24 23:14:47 GMT 2013 Olly Betts <olly@survex.com> 3839 3840 * queryparser/lemon.c,queryparser/queryparser.lt: Fix comment typos. 3841 3842Wed Apr 24 06:27:26 GMT 2013 Olly Betts <olly@survex.com> 3843 3844 * include/xapian.h: Add catch for Wt defining a macro called slots, 3845 like we already do for Qt. 3846 3847Wed Apr 24 03:40:13 GMT 2013 Olly Betts <olly@survex.com> 3848 3849 * NEWS: Update. 3850 3851Tue Apr 23 12:34:23 GMT 2013 Olly Betts <olly@survex.com> 3852 3853 * backends/brass/brass_table.cc: Use a block's revision number to 3854 check if it was newly allocated in the current revision, and 3855 assert that the base file shows it block_free_at_start (previously 3856 the check and assertion were the other way around). 3857 3858Tue Apr 23 12:11:21 GMT 2013 Olly Betts <olly@survex.com> 3859 3860 * HACKING: Note macports needed for development work. 3861 3862Tue Apr 23 11:41:17 GMT 2013 Olly Betts <olly@survex.com> 3863 3864 * include/xapian/version_h.cc: Fix typo in doc comment. 3865 3866Tue Apr 23 11:39:30 GMT 2013 Olly Betts <olly@survex.com> 3867 3868 * include/xapian/version_h.cc: Disable error for direct inclusion 3869 of xapian/version.h for now. 3870 3871Sun Apr 21 07:49:38 GMT 2013 Olly Betts <olly@survex.com> 3872 3873 * include/xapian/version_h.cc: Fix quotes in new #error in version.h. 3874 3875Sun Apr 21 06:25:57 GMT 2013 Olly Betts <olly@survex.com> 3876 3877 * configure.ac,generate-exceptions,include/xapian/: Give an error if 3878 user code tries to include API headers other than xapian.h directly. 3879 3880Sat Apr 20 10:12:23 GMT 2013 Olly Betts <olly@survex.com> 3881 3882 * languages/compiler/generator.c: Generate '#include <config.h>' at 3883 the start of the stemmer code. 3884 3885Fri Apr 19 23:36:25 GMT 2013 Olly Betts <olly@survex.com> 3886 3887 * configure.ac: Remove empty default cases. 3888 3889Wed Apr 17 03:06:57 GMT 2013 Olly Betts <olly@survex.com> 3890 3891 * NEWS: Update from 1.2.15 and ChangeLog. 3892 3893Thu Apr 11 22:17:44 GMT 2013 Olly Betts <olly@survex.com> 3894 3895 * backends/brass/brass_version.cc,backends/chert/chert_version.cc: 3896 Call io_sync() on the version file when we create it. 3897 3898Tue Apr 09 11:02:35 GMT 2013 Olly Betts <olly@survex.com> 3899 3900 * bin/xapian-delve.cc: If -v is specified more than once, show even 3901 more info in some cases. 3902 3903Tue Apr 09 09:40:02 GMT 2013 Olly Betts <olly@survex.com> 3904 3905 * tests/Makefile.am: Force automake to use the serial test driver, 3906 which requires automake 1.12 (to recognise the serial-tests driver). 3907 3908Mon Apr 08 06:30:40 GMT 2013 Aarsh Shah <aarshkshah1992@gmail.com> 3909 3910 * weight/: Added tfidfweight.cc containing the implementation of the 3911 TfIdfWeight class. 3912 3913 * include/xapian/weight.h: Added TfIdfWeight class for the tf-idf 3914 weighting scheme. 3915 3916 * tests/api_weight.cc: Added tests for TfIdfWeight. 3917 3918 * tests/api_nodb.cc: Added simple tests for TfIdfWeight. 3919 3920Sat Apr 06 00:21:34 GMT 2013 Olly Betts <olly@survex.com> 3921 3922 * m4-macros/xapian-1.3.m4: XO_LIB_XAPIAN now handles the user 3923 specifying XAPIAN_CONFIG without a path - e.g.: "./configure 3924 XAPIAN_CONFIG=xapian-config-1.3" 3925 3926Thu Apr 04 12:02:36 GMT 2013 Olly Betts <olly@survex.com> 3927 3928 * common/Makefile.mk: Remove random comment. 3929 3930Thu Apr 04 10:06:53 GMT 2013 Olly Betts <olly@survex.com> 3931 3932 * Makefile.am,configure.ac,tests/Makefile.am: Remove support for 3933 'configure --enable-quiet', 'make QUIET=' and 'make QUIET=y' - 3934 automake now supports 'configure --enable-silent-rules', 'make V=1' 3935 and 'make V=0' which are broadly equivalent and more standard. 3936 3937Thu Apr 04 09:58:35 GMT 2013 Olly Betts <olly@survex.com> 3938 3939 * HACKING: Update to note that automake 1.12.2 is now a hard 3940 requirement. 3941 3942Tue Apr 02 10:22:44 GMT 2013 Olly Betts <olly@survex.com> 3943 3944 * queryparser/lemon.c: Comment typo fixes. 3945 3946Tue Apr 02 09:47:14 GMT 2013 Olly Betts <olly@survex.com> 3947 3948 * queryparser/lemon.c,queryparser/queryparser.lt: Sync with latest 3949 upstream version of lemon. The only notable change is a bug fix for 3950 platforms where sizeof(long) < sizeof(void*) (LLP64 model). 3951 3952Tue Apr 02 05:51:12 GMT 2013 Olly Betts <olly@survex.com> 3953 3954 * HACKING: Tell vim to syntax highlight as rst. 3955 3956Tue Apr 02 05:50:26 GMT 2013 Olly Betts <olly@survex.com> 3957 3958 * HACKING: Update for recent changes to bootstrap. In particular, we 3959 now bootstrap snapshots with automake 1.13.1. 3960 3961Fri Mar 29 05:18:11 GMT 2013 Olly Betts <olly@survex.com> 3962 3963 * net/tcpclient.cc: Fix __WIN32__ conditional, accidentally broken in 3964 last change to this file. 3965 3966Thu Mar 28 04:19:26 GMT 2013 jiangwen jiang <jiangwen127@gmail.com> 3967 3968 * api/expanddecider.cc,include/xapian/expanddecider.h, 3969 tests/api_anydb.cc,tests/api_nodb.cc: Add ExpandDeciderFilterPrefix 3970 class to only return terms with a particular prefix. (fixes #467) 3971 3972Thu Mar 21 23:55:26 GMT 2013 Olly Betts <olly@survex.com> 3973 3974 * tests/queryparsertest.cc: Add test coverage for change to 3975 QueryParser CJK handling in previous commit. 3976 3977Thu Mar 21 07:21:30 GMT 2013 Greg Banks <gnb@fastmail.fm> 3978 3979 * queryparser/cjk-tokenizer.cc,queryparser/termgenerator_internal.cc, 3980 tests/termgentest.cc: Some CJK codepoints are also punctuation and 3981 hence not word characters, and should not really be used as fodder 3982 for generating N-grams. Also fixes a pre-existing bug where every 3983 second sequence of N-grammable CJK characters in the text failed to 3984 generate the first 2-gram. 3985 3986Sun Mar 17 20:45:48 GMT 2013 Olly Betts <olly@survex.com> 3987 3988 * common/pretty.h: Restore space after comma in output. 3989 3990Sun Mar 17 03:59:52 GMT 2013 Dan Colish <dcolish@gmail.com> 3991 3992 * common/pretty.h: Correct recursion issue. 3993 3994Sun Mar 17 02:58:52 GMT 2013 Dan Colish <dcolish@gmail.com> 3995 3996 * common/pretty.h: Resolve ambiguity by moving operator| to a member 3997 function of PrettyOStream 3998 3999Sat Mar 16 21:43:32 GMT 2013 Olly Betts <olly@survex.com> 4000 4001 * queryparser/queryparser.lemony: std::less provides a total order over 4002 pointers, so we can just use that to implement 4003 filter_group_id::operator<() - we only need a consistent order so we 4004 can use it as the key to a std::map. 4005 4006Fri Mar 15 06:36:32 GMT 2013 Dan Colish <dcolish@gmail.com> 4007 4008 * backends/brass/brass_table.cc,backends/chert/chert_table.cc, 4009 common/pretty.h: Avoid needlessly casting away const-ness in 4010 debug logging. 4011 4012Fri Mar 15 06:31:32 GMT 2013 Olly Betts <olly@survex.com> 4013 4014 * matcher/multiandpostlist.cc,matcher/multixorpostlist.cc: Add a 4015 couple more LOGCALL annotations. 4016 4017Fri Mar 15 06:27:42 GMT 2013 Dan Colish <dcolish@gmail.com> 4018 4019 * api/registry.cc,common/pretty.h: Fix incorrect LOGCALL return value. 4020 4021Fri Mar 15 06:24:11 GMT 2013 Olly Betts <olly@survex.com> 4022 4023 * api/registry.cc,common/Makefile.mk,common/registryinternal.h: 4024 common/registryinternal.h is only included by api/registry.cc so 4025 just inline its contents. 4026 4027Fri Mar 15 06:11:14 GMT 2013 Olly Betts <olly@survex.com> 4028 4029 * api/registry.cc: No need to explicitly default initialise std::map 4030 members or the base class. 4031 4032Fri Mar 08 04:05:31 GMT 2013 Olly Betts <olly@survex.com> 4033 4034 * backends/brass/brass_compact.cc,backends/chert/chert_compact.cc: Fix 4035 multipass compaction not to damage document values, and to merge the 4036 database stats correctly. (fixes #615) 4037 * tests/api_compact.cc: Add regression test compactmultipass1. 4038 4039Thu Mar 07 00:34:46 GMT 2013 Aarsh Shah <aarshkshah1992@gmail.com> 4040 4041 * tests/api_anydb.cc: Added tradweight4 testcase to test TradWeight 4042 with an RSet for weighting documents. 4043 4044Wed Mar 06 08:55:12 GMT 2013 Olly Betts <olly@survex.com> 4045 4046 * HACKING: gs package has been replaced by ghostscript package in 4047 current Debian and Ubuntu releases. 4048 4049Tue Feb 19 04:17:19 GMT 2013 Olly Betts <olly@survex.com> 4050 4051 * common/Tokeniseise.pm: Add the ability to append lines to the 4052 header. 4053 4054Fri Feb 15 05:37:09 GMT 2013 Olly Betts <olly@survex.com> 4055 4056 * common/realtime.h: Fix RealTime::sleep() to calculate the delta to 4057 the time we want to sleep to the right way round. Previously we 4058 wouldn't sleep if we were before the deadline, but would sleep if 4059 the deadline had already passed (and by the amount the deadline had 4060 passed)! And on Windows, fix the sleep to be for the delta rather 4061 than 43+ years (the time elapsed since the start of 1970). (Fixes 4062 #472) 4063 4064Fri Feb 15 04:09:28 GMT 2013 Olly Betts <olly@survex.com> 4065 4066 * api/queryinternal.cc: Need <functional> for mem_fun(). 4067 4068Fri Feb 15 03:56:32 GMT 2013 Olly Betts <olly@survex.com> 4069 4070 * tests/harness/testsuite.cc: Don't provide explicit template types to 4071 make_pair - it isn't useful, and breaks with C++11. Fixes build 4072 error with MSVC2012. 4073 4074Thu Jan 31 23:39:08 GMT 2013 Olly Betts <olly@survex.com> 4075 4076 * common/Tokeniseise.pm: Put the binary chop tables with the larger 4077 ones last, so the offsets to the start of them are more likely to 4078 fit into a byte. 4079 4080Wed Jan 30 04:17:07 GMT 2013 Olly Betts <olly@survex.com> 4081 4082 * common/Makefile.mk,common/Tokeniseise.pm,languages/Makefile.mk, 4083 languages/collate-sbl: Factor out the generic code to create a 4084 string-to-enum mapping table into a perl module so we can reuse 4085 it elsewhere. 4086 4087Mon Jan 28 01:44:53 GMT 2013 Olly Betts <olly@survex.com> 4088 4089 * examples/quest.cc: Fix to build with Sun Studio 12 compiler. 4090 (ticket#611) 4091 4092Thu Jan 24 22:40:12 GMT 2013 Olly Betts <olly@survex.com> 4093 4094 * common/Makefile.mk,common/keyword.cc,common/keyword.h: Commit new 4095 keyword lookup function needed by previous commit. 4096 4097Thu Jan 24 22:26:19 GMT 2013 Olly Betts <olly@survex.com> 4098 4099 * languages/: Generate a compact and efficient table to convert 4100 language names to enum codes, which we can then use a C switch 4101 statement to dispatch. The table first checks the token length, 4102 and then does a binary chop on tokens of the same length. This 4103 is both faster and smaller than the approach we were using, with 4104 the benefit that the table is auto-generated. 4105 4106Wed Jan 23 00:51:42 GMT 2013 Olly Betts <olly@survex.com> 4107 4108 * matcher/selectpostlist.cc,matcher/selectpostlist.h: Check document 4109 matches weight threshold before checking positional information, 4110 which speeds up slow phrase searches (tweaked version of 4111 positional-query-weight-check-first.patch from #394). 4112 4113Thu Jan 17 06:48:41 GMT 2013 Olly Betts <olly@survex.com> 4114 4115 * tests/api_stem.cc: Extend stem2 to ensure description of the stemmer 4116 isn't the same as the description of Stem("none"). Fix description 4117 of testcase stemlangs2. 4118 4119Thu Jan 17 02:32:31 GMT 2013 Olly Betts <olly@survex.com> 4120 4121 * HACKING: Update link to new home of autotools tutorial. 4122 4123Wed Jan 16 02:40:20 GMT 2013 Olly Betts <olly@survex.com> 4124 4125 * HACKING,Makefile.am: Rename CHK_SOURCES to check_sources - variables 4126 ending _SOURCES usually have a special meaning in automake, so it's 4127 confusing to have one which doesn't. 4128 4129Wed Jan 16 01:55:50 GMT 2013 Olly Betts <olly@survex.com> 4130 4131 * api/omenquire.cc: Don't cache documents retrieved by 4132 MSet::get_document() unless they were requested with fetch(). This 4133 avoids using a lot of memory when many MSet entries are retrieved. 4134 (Fixes #604) 4135 4136Wed Jan 09 11:49:58 GMT 2013 Olly Betts <olly@survex.com> 4137 4138 * NEWS: Update from ChangeLog and 1.2 branch. 4139 4140Fri Jan 04 23:14:33 GMT 2013 Olly Betts <olly@survex.com> 4141 4142 * net/progclient.cc: Fix typo so we actually use SOCK_CLOEXEC. 4143 4144Fri Jan 04 23:14:01 GMT 2013 Olly Betts <olly@survex.com> 4145 4146 * common/safesyssocket.h: We need the same workaround for socket() too. 4147 4148Fri Jan 04 04:41:17 GMT 2013 Olly Betts <olly@survex.com> 4149 4150 * common/safesyssocket.h: On Linux at least, sometimes SOCK_CLOEXEC is 4151 defined but the kernel doesn't handle it in socketpair(), so add a 4152 wrapper which will retry without SOCK_CLOEXEC in this case. Noticed 4153 on Ubuntu precise. 4154 4155Sat Dec 29 17:53:30 GMT 2012 Olly Betts <olly@survex.com> 4156 4157 * docs/quickstart.rst: Fix seriously outdated statement that Xapian 4158 doesn't create the database directory - that changed in 0.7.2 4159 (release 2003-07-11), pointed out by aarsh on #xapian. 4160 4161Thu Dec 27 06:06:30 GMT 2012 Olly Betts <olly@survex.com> 4162 4163 * queryparser/queryparser.lemony: Adjust handling of Unicode 4164 opening/closing double quotes - if a quoted boolean term was started 4165 with ASCII double quote, then only ASCII double quote can end it, as 4166 otherwise it's impossible to quote a term containing Unicode double 4167 quotes. 4168 * tests/queryparsertest.cc: Update testcases. 4169 4170Sun Dec 23 18:16:52 GMT 2012 Olly Betts <olly@survex.com> 4171 4172 * configure.ac: Fix typo in previous commit. 4173 4174Sun Dec 23 18:06:45 GMT 2012 Olly Betts <olly@survex.com> 4175 4176 * configure.ac: Use the new flock()-based flint-compatible locking 4177 under DJGPP, and remove special cases to disable chert and brass 4178 under DJGPP (untested, as I no longer have a DJGPP setup or 4179 cross-compiler). 4180 4181Sun Dec 23 17:51:36 GMT 2012 Olly Betts <olly@survex.com> 4182 4183 * backends/flint_lock.cc,backends/flint_lock.h: Add flock() based 4184 locking implementation, which is much simpler than using fcntl() due 4185 to saner semantics around releasing locks when closing other 4186 descriptors on the same file (at least on platforms where flock() 4187 isn't just a compatibility wrapper around fcntl()). We can't simply 4188 switch to this without breaking locking compatibility with previous 4189 releases, though it might be useful for porting to platforms without 4190 fcntl() locking. Also, flock() apparently doesn't work over NFS - 4191 perhaps that's OK, but we should at least check the failure mode. 4192 4193Sat Dec 22 06:29:23 GMT 2012 Olly Betts <olly@survex.com> 4194 4195 * backends/flint_lock.cc: Only set close-on-exec on the lockfile fd if 4196 we are able to clear it in the child process, and clear it in the 4197 child process if we set it when we opened it. 4198 4199Sat Dec 22 06:14:40 GMT 2012 Olly Betts <olly@survex.com> 4200 4201 * backends/flint_lock.cc,net/progclient.cc: Use SOCK_CLOEXEC with 4202 socketpair(), and then clear the close-on-exec flag for child process 4203 end of the pair before we call exec. 4204 4205Sat Dec 22 06:13:44 GMT 2012 Olly Betts <olly@survex.com> 4206 4207 * net/progclient.cc: Remove O_CLOEXEC where we open stderr on /dev/null 4208 before calling exec as we want that fd to survive the exec! 4209 4210Sat Dec 22 05:53:12 GMT 2012 Olly Betts <olly@survex.com> 4211 4212 * HACKING,backends/flint_lock.cc,common/Makefile.mk, 4213 common/safesyssocket.h,net/progclient.cc,net/tcpclient.cc, 4214 net/tcpserver.cc,tests/harness/backendmanager_remotetcp.cc: 4215 Use SOCK_CLOEXEC where available, and try FD_CLOEXEC if SOCK_CLOEXEC 4216 isn't available. 4217 4218Sat Dec 22 04:09:23 GMT 2012 Olly Betts <olly@survex.com> 4219 4220 * backends/brass/,backends/chert/,backends/flint_lock.cc, 4221 common/debuglog.cc,common/replicate_utils.cc,common/safefcntl.h, 4222 net/progclient.cc,net/remoteconnection.cc, 4223 tests/harness/testsuite.cc: If O_CLOEXEC is supported, pass it to 4224 open() so fds we open are closed if the application using us calls 4225 exec(). 4226 4227Fri Dec 21 03:48:36 GMT 2012 Olly Betts <olly@survex.com> 4228 4229 * configure.ac: Don't autodisable the remote backend if we fail to find 4230 a required function. It's more likely the user needs to pass 4231 LIBS=-lfoo and it's more helpful to error out so they can do that, or 4232 pass --disable-backend-remote if they really don't want it, rather 4233 than having them not notice the automatic disabling until after 4234 they've built. This also matches what we do for the disk based 4235 backends. 4236 4237Fri Dec 21 03:48:11 GMT 2012 Olly Betts <olly@survex.com> 4238 4239 * configure.ac: Expand comment about DJGPP. 4240 4241Fri Dec 21 03:47:13 GMT 2012 Olly Betts <olly@survex.com> 4242 4243 * configure.ac: Update comment - we've supported the prog backend on 4244 Windows for more than 5 years now! 4245 4246Fri Dec 21 03:32:13 GMT 2012 Olly Betts <olly@survex.com> 4247 4248 * tests/api_replicate.cc: Use O_BINARY in replication tests. 4249 4250Fri Dec 21 03:24:37 GMT 2012 Olly Betts <olly@survex.com> 4251 4252 * common/replicate_utils.cc: Make posixy_open() always use O_BINARY. 4253 * backends/brass/brass_btreebase.cc,backends/brass/brass_database.cc, 4254 backends/brass/brass_databasereplicator.cc, 4255 backends/chert/chert_btreebase.cc, 4256 backends/chert/chert_databasereplicator.cc,common/posixy_wrapper.cc: 4257 Don't pass O_BINARY to posixy_open() in the places where we were 4258 (which wasn't everywhere, probably causing replication bugs under 4259 __WIN32__). 4260 4261Fri Dec 21 02:57:56 GMT 2012 Olly Betts <olly@survex.com> 4262 4263 * net/remoteconnection.cc,net/remoteconnection.h: Only "outline" 4264 RemoteConnection dtor under __WIN32__. 4265 4266Fri Dec 21 02:56:28 GMT 2012 Olly Betts <olly@survex.com> 4267 4268 * backends/remote/remote-database.cc: Make the UnimplementedError for a 4269 MatchSpy which doesn't implement name() clearer that it's this 4270 particular subclass which can't be used remotely, not all MatchSpy 4271 objects. 4272 4273Thu Dec 20 22:27:40 GMT 2012 Olly Betts <olly@survex.com> 4274 4275 * configure.ac: Use user-specified LIBS for configure tests, which is 4276 what's expected, and provides a way for the user to tell configure 4277 where to find library functions which configure can't find for 4278 itself. 4279 4280Thu Dec 20 22:07:19 GMT 2012 Olly Betts <olly@survex.com> 4281 4282 * api/compactor.cc,api/replication.cc,backends/brass/,backends/chert/, 4283 common/,net/remoteconnection.cc: Rename msvc_posix_rename(), etc to 4284 posixy_rename() (avoid a posix_ prefix as that's used by some library 4285 functions, and these aren't necessarily 100% POSIX compatible), and 4286 provide macro versions on Unix, so we can avoid a #ifdef at every 4287 call site. 4288 4289Thu Dec 20 20:57:18 GMT 2012 Olly Betts <olly@survex.com> 4290 4291 * configure.ac: socketpair() needs -lnetwork on Haiku. 4292 4293Thu Dec 20 02:30:12 GMT 2012 Olly Betts <olly@survex.com> 4294 4295 * backends/brass/brass_databasereplicator.cc, 4296 backends/chert/chert_databasereplicator.cc: Simplify how we open the 4297 .DB file on the replication slave to just call open() once with 4298 O_CREAT, rather than once without, than stat() if that fails, and 4299 then again with O_CREAT|O_TRUNC if stat() doesn't show an ordinary 4300 file exists. 4301 4302Thu Dec 20 02:05:12 GMT 2012 Olly Betts <olly@survex.com> 4303 4304 * api/compactor.cc,common/,languages/compiler/syswords2.h, 4305 tests/api_compact.cc: Remove extra blank lines at end of files. 4306 4307Thu Dec 20 01:54:47 GMT 2012 Olly Betts <olly@survex.com> 4308 4309 * backends/brass/brass_database.cc,backends/chert/chert_database.cc: 4310 Fix "if (fd > 0)" tests to be "if (fd >= 0)" in code related to 4311 replication. In practice this is unlikely to actually have caused 4312 problems in real world cases. 4313 4314Sun Dec 16 23:10:13 GMT 2012 Olly Betts <olly@survex.com> 4315 4316 * bin/Makefile.mk: INCLUDES is always used, AM_CPPFLAGS isn't if there 4317 are per-executable CPPFLAGS, so add AM_CPPFLAGS explicitly when we 4318 use per-executable CPPFLAGS. 4319 4320Fri Dec 14 21:25:58 GMT 2012 Olly Betts <olly@survex.com> 4321 4322 * Makefile.am,languages/Makefile.mk,queryparser/Makefile.mk, 4323 tests/Makefile.am: In automake, INCLUDES is now deprecated in favour 4324 of AM_CPPFLAGS so update to use the latter. 4325 4326Tue Nov 27 05:39:30 GMT 2012 Olly Betts <olly@survex.com> 4327 4328 * examples/quest.cc: Need <algorithm> for lower_bound(). 4329 4330Mon Nov 26 23:46:43 GMT 2012 Olly Betts <olly@survex.com> 4331 4332 * examples/quest.cc: Align option descriptions in --help output, and 4333 make the initial letter of such descriptions consistently lowercase. 4334 4335Mon Nov 26 19:52:50 GMT 2012 Olly Betts <olly@survex.com> 4336 4337 * examples/quest.cc: Add --flags command line option to allow setting 4338 arbitrary QueryParser flags. 4339 4340Mon Nov 26 03:02:03 GMT 2012 Olly Betts <olly@survex.com> 4341 4342 * api/valuerangeproc.cc: Move 3 declarations to where we first use the 4343 variables. 4344 4345Mon Nov 26 02:59:41 GMT 2012 Olly Betts <olly@survex.com> 4346 4347 * matcher/multimatch.cc: We no longer use the highest weighted 4348 MSet entry to calculate percentages, so stop searching for it. 4349 (Spotted by cppcheck) 4350 4351Mon Nov 26 02:59:02 GMT 2012 Olly Betts <olly@survex.com> 4352 4353 * backends/brass/brass_compact.cc,backends/chert/chert_compact.cc: 4354 Remove unused variables (spotted by cppcheck). 4355 4356Mon Nov 26 02:12:19 GMT 2012 Olly Betts <olly@survex.com> 4357 4358 * api/maptermlist.h,api/matchspy.cc,api/omdatabase.cc, 4359 backends/inmemory/inmemory_database.cc, 4360 backends/inmemory/inmemory_positionlist.cc, 4361 backends/multi/multi_postlist.cc,backends/remote/net_termlist.cc, 4362 bin/xapian-delve.cc,matcher/exactphrasepostlist.cc, 4363 matcher/mergepostlist.cc,matcher/phrasepostlist.cc, 4364 tests/harness/backendmanager.cc: Prefer ++i to i++. 4365 4366Fri Nov 23 03:38:39 GMT 2012 Olly Betts <olly@survex.com> 4367 4368 * HACKING,Makefile.am: With lcov 1.10, we no longer need any of our 4369 hacky workarounds, so make this a requirement and simplify the rules 4370 in the makefile. 4371 4372Thu Nov 22 23:34:09 GMT 2012 Olly Betts <olly@survex.com> 4373 4374 * Makefile.am: Pass -f to lcov, which should avoid the need for the 4375 patch we've been applying to lcov. 4376 4377Thu Nov 22 01:34:05 GMT 2012 Olly Betts <olly@survex.com> 4378 4379 * backends/flint_lock.cc: Close excess file handles before we get the 4380 fcntl() lock, just in case one of those file handles is open on the 4381 lock file. 4382 * tests/api_backend.cc: Add regression test lockfilealreadyopen1. 4383 4384Thu Nov 22 00:35:51 GMT 2012 Olly Betts <olly@survex.com> 4385 4386 * common/closefrom.cc,configure.ac: On platforms with the F_MAXFD 4387 fcntl but without closefrom(), we were failing to close the highest 4388 numbered open fd in our closefrom() replacement. We now also work 4389 around valgrind not hiding some extra fds it has open, but then 4390 complaining if we try to close them. 4391 4392Wed Nov 21 22:50:21 GMT 2012 Olly Betts <olly@survex.com> 4393 4394 * tests/harness/testsuite.cc: When reporting valgrind error, skip any 4395 warnings. 4396 4397Tue Nov 20 07:26:24 GMT 2012 Olly Betts <olly@survex.com> 4398 4399 * tests/api_anydb.cc: msetweights1 makes multidb1 and multidb2 4400 redundant, so remove them. 4401 4402Tue Nov 20 07:21:46 GMT 2012 Olly Betts <olly@survex.com> 4403 4404 * tests/api_backend.cc: Extend msetweights1 to test the case where 4405 only even docids match, so in the multi_* case, only docids from 4406 one subdatabase match. 4407 4408Tue Nov 20 07:04:55 GMT 2012 Olly Betts <olly@survex.com> 4409 4410 * tests/api_backend.cc: Add testcase msetweights1 which checks we 4411 get the weights we expect for a two term query. 4412 4413Mon Nov 19 21:17:33 GMT 2012 Olly Betts <olly@survex.com> 4414 4415 * queryparser/termgenerator.cc: TermGenerator internal member can 4416 never be NULL, so drop NULL test. 4417 4418Sat Nov 17 20:54:50 GMT 2012 Olly Betts <olly@survex.com> 4419 4420 * tests/harness/testsuite.cc: Remove compatibility code for valgrind < 4421 3.3.0, since we reject such old versions at configure time. 4422 4423Sat Nov 17 00:05:36 GMT 2012 Olly Betts <olly@survex.com> 4424 4425 * matcher/localsubmatch.cc: Optimise an unweighted query term which 4426 matches all the documents in a subdatabase to use the "MatchAll" 4427 postlist. (ticket#387) 4428 4429Fri Nov 16 23:36:34 GMT 2012 Olly Betts <olly@survex.com> 4430 4431 * tests/api_weight.cc: New testcase checkstatsweight1 which checks a 4432 weight subclass gets the correct values for all the stats. 4433 4434Fri Nov 16 07:30:18 GMT 2012 Olly Betts <olly@survex.com> 4435 4436 * include/xapian/version_h.cc: Generate a check for compatible _DEBUG 4437 settings if built with MSVC. (ticket#389) 4438 4439Fri Nov 16 01:28:55 GMT 2012 Olly Betts <olly@survex.com> 4440 4441 * queryparser/queryparser.lemony: Improve a couple of comments. 4442 4443Fri Nov 16 01:25:28 GMT 2012 Olly Betts <olly@survex.com> 4444 4445 * queryparser/queryparser.lemony: Implicitly close any unclosed brackets 4446 at the end of the query string. Patch from Sehaj Singh Kalra. 4447 * tests/queryparsertest.cc: Adjust existing testcases and feature tests. 4448 4449Thu Nov 15 23:57:10 GMT 2012 Olly Betts <olly@survex.com> 4450 4451 * tests/api_query.cc: Add testcase xor3 to ensure that XOR handles all 4452 remaining subqueries running out at the same time. 4453 4454Thu Nov 15 10:57:32 GMT 2012 Olly Betts <olly@survex.com> 4455 4456 * tests/api_query.cc: One test here does need a backend, and it seems 4457 a more useful category, so drop the "don't need a backend" part from 4458 the @brief documentation comment. 4459 4460Thu Nov 15 09:29:47 GMT 2012 Olly Betts <olly@survex.com> 4461 4462 * matcher/multimatch.cc: Fix calculation of 0.0/0.0 in some cases. 4463 This then got used as a minimum weight, but it seems this gives -nan 4464 (at least on x86-64 Linux) so it may have been harmless in practice. 4465 4466Thu Nov 15 05:39:47 GMT 2012 Olly Betts <olly@survex.com> 4467 4468 * tests/api_anydb.cc: Eliminate workarounds for egcs 1.1.2 (certainly 4469 we no longer support a compiler that old, but maybe some newer 4470 compilers have the same issue, so I've rewritten the code to iterate 4471 backwards over one MSet, which is a useful feature to have coverage 4472 for). 4473 4474Thu Nov 15 05:28:40 GMT 2012 Olly Betts <olly@survex.com> 4475 4476 * tests/api_anydb.cc: Fix reversebool1 and reversebool2 to actually 4477 use the result when they check an MSetIterator against end(). 4478 4479Thu Nov 15 01:55:15 GMT 2012 Olly Betts <olly@survex.com> 4480 4481 * bin/xapian-replicate.cc: Add --quiet option to xapian-replicate, and 4482 be a little more verbose by default. 4483 4484Thu Nov 15 01:54:14 GMT 2012 Olly Betts <olly@survex.com> 4485 4486 * bin/xapian-replicate.cc: xapian-replicate --force-copy now only 4487 forces a single copy, and then attempts to replicate incrementally. 4488 4489Thu Nov 15 00:51:50 GMT 2012 Olly Betts <olly@survex.com> 4490 4491 * bin/xapian-replicate.cc: Tweak code layout. 4492 4493Wed Nov 14 21:40:45 GMT 2012 Olly Betts <olly@survex.com> 4494 4495 * net/remoteconnection.cc: Allow files > 32G to be be copied by 4496 replication. 4497 4498Tue Nov 13 03:44:03 GMT 2012 Olly Betts <olly@survex.com> 4499 4500 * tests/api_replicate.cc: Pass 'true' or 'false' for 'bool' parameter, 4501 not '0' or '1' (especially confusing as the two previous parameters 4502 were integers which were often 0 or 1...) 4503 4504Tue Nov 13 03:34:42 GMT 2012 Olly Betts <olly@survex.com> 4505 4506 * bin/xapian-replicate.cc,net/replicatetcpclient.cc, 4507 net/replicatetcpclient.h: Add --full-copy option to xapian-replicate. 4508 * tests/api_replicate.cc: New testcase replicate6 which tests the same 4509 code path used by 'xapian-replicate --full-copy'. 4510 4511Tue Nov 13 02:55:44 GMT 2012 Olly Betts <olly@survex.com> 4512 4513 * tests/api_replicate.cc: Use '++' instead of '+= 1'. Drop superfluous 4514 'return;' at end of function returning void. 4515 4516Tue Nov 13 01:12:33 GMT 2012 Olly Betts <olly@survex.com> 4517 4518 * tests/harness/unixcmds.cc: Tweak to avoid default initialisation of 4519 string. 4520 4521Mon Nov 12 23:25:14 GMT 2012 Olly Betts <olly@survex.com> 4522 4523 * include/xapian/unicode.h: GCC 4.6.3 doesn't optimise the asr idion 4524 either. Add links to the PR I filed and the GCC documentation that 4525 signed right shift does sign extension. 4526 4527Mon Nov 12 10:21:19 GMT 2012 Olly Betts <olly@survex.com> 4528 4529 * include/xapian/unicode.h,unicode/tclUniData.cc: Update Unicode 4530 character database to 6.2.0. 4531 * tests/api_unicode.cc: Add tests for U+20BA, added in 6.2.0. 4532 4533Sat Nov 10 05:39:16 GMT 2012 Olly Betts <olly@survex.com> 4534 4535 * api/leafpostlist.cc,matcher/multiandpostlist.cc: Improved fix for 4536 #590 - count all matching LeafPostList objects with a Weight object 4537 rather than trying to prune at the MultiAndPostList level based on 4538 max_wt (if wdf is always zero for a term, BM25 gives max_wt of 0, 4539 which leads to us never counting that subquery. 4540 * tests/api_percentages.cc: Add regression test topercent7. 4541 4542Fri Nov 09 04:25:32 GMT 2012 Olly Betts <olly@survex.com> 4543 4544 * tests/api_percentages.cc: Note bug number in regression test for 4545 #590. 4546 4547Tue Nov 06 22:42:31 GMT 2012 Olly Betts <olly@survex.com> 4548 4549 * backends/brass/brass_table.cc: Restore two missing lines in database 4550 checking where we report a block with the wrong level. 4551 4552Tue Oct 16 11:19:42 GMT 2012 Olly Betts <olly@survex.com> 4553 4554 * api/compactor.cc,backends/dbcheck.cc,backends/dbfactory.cc, 4555 common/Makefile.mk: Fix to build when configured with 4556 --disable-backend-brass --disable-backend-chert. (ticket#586) 4557 4558Mon Oct 15 04:07:30 GMT 2012 Olly Betts <olly@survex.com> 4559 4560 * HACKING: automake 1.12.4 is now used to generate snapshots and 4561 releases. 4562 4563Sat Oct 13 09:34:21 GMT 2012 Olly Betts <olly@survex.com> 4564 4565 * weight/weightinternal.h: Revert addition of "#include <config.h>" in 4566 r16820. 4567 * HACKING: Document that we don't include <config.h> from header 4568 files, and the reason why. 4569 4570Sat Oct 13 09:00:23 GMT 2012 Olly Betts <olly@survex.com> 4571 4572 * include/xapian/queryparser.h: Fix documentation comment typos: 4573 "covert" -> "convert". 4574 4575Thu Oct 11 12:28:30 GMT 2012 Olly Betts <olly@survex.com> 4576 4577 * docs/valueranges.rst: Update documentation to reflect change in 4578 Xapian 1.1.2 - DateValueRangeProcessor and StringValueRangeProcessor 4579 now support a prefix or suffix. 4580 4581Mon Oct 01 05:05:54 GMT 2012 Olly Betts <olly@survex.com> 4582 4583 * HACKING: Try to make it clearer we're looking for a dual-licence 4584 on submitted patches. 4585 4586Tue Sep 25 08:09:08 GMT 2012 Olly Betts <olly@survex.com> 4587 4588 * common/Makefile.mk,common/append_filename_arg.h, 4589 tests/harness/unixcmds.cc: Split out append_filename_argument() into 4590 its own file so it can be used elsewhere. 4591 4592Tue Sep 25 06:46:03 GMT 2012 Olly Betts <olly@survex.com> 4593 4594 * include/xapian/enquire.h: Mark MSetIterator::at_end() and 4595 ESetIterator::at_end() as @private @internal so that they don't 4596 appear in the API docs. 4597 4598Tue Sep 25 06:45:07 GMT 2012 Olly Betts <olly@survex.com> 4599 4600 * include/xapian/enquire.h: Remove FIXMEs about converting MSetIterator 4601 and ESetIterator to use Internal classes - as HACKING notes, the 4602 current implementation is that way for performance reasons. 4603 4604Tue Sep 25 06:36:37 GMT 2012 Olly Betts <olly@survex.com> 4605 4606 * tests/harness/unixcmds.cc: Escape filenames on POSIX platforms by 4607 wrapping in single quotes and specially handling single quotes in 4608 the filename - previously newlines in filenames got eaten by the 4609 shell. 4610 4611Tue Sep 25 06:32:36 GMT 2012 Olly Betts <olly@survex.com> 4612 4613 * tests/harness/unixcmds.cc: Protect filenames which start with '-' on 4614 MS Windows like we already do on other platforms. The built-in 4615 commands generally only interpret '/' as the character introducing a 4616 command line option (which we already convert to '\'), but many 4617 ported programs understand '-' too/instead. 4618 4619Sat Aug 25 16:09:50 GMT 2012 Dan Colish <dcolish@gmail.com> 4620 4621 * include/xapian/enquire.h: Add function to test MSetIterator and 4622 ESetIterator exhaustion against the size of the underlying interee 4623 since comparison against an empty Itor is not suitable for an 4624 exhaustion test. Add FIXME that these Iterators should use an Internal 4625 class. 4626 4627Thu Aug 09 21:50:52 GMT 2012 Dan Colish <dcolish@gmail.com> 4628 4629 * weight/weightinternal.h: Include config.h since macros are used 4630 from it. 4631 4632Wed Aug 08 15:40:38 GMT 2012 Dan Colish <dcolish@gmail.com> 4633 4634 * api/queryvector.h: Backout previous fix. When compiling with -O0, 4635 increase the stack limit to > 8M when running scalability tests. 4636 4637Wed Aug 08 02:10:21 GMT 2012 Dan Colish <dcolish@gmail.com> 4638 4639 * api/queryvector.h: Fix SIGBUS when clearing QueryVectors 4640 4641Wed Aug 01 15:25:25 GMT 2012 Dan Colish <dcolish@gmail.com> 4642 4643 * HACKING,Makefile.am,tests/Makefile.am: Fix non-portable warnings 4644 from automake, add HACKING doc for check-syntax make target 4645 4646Wed Aug 01 04:54:18 GMT 2012 Dan Colish <dcolish@gmail.com> 4647 4648 * Makefile.am,api/Makefile,backends/Makefile,backends/brass/Makefile, 4649 backends/chert/Makefile,backends/inmemory/Makefile, 4650 backends/multi/Makefile,backends/remote/Makefile,bin/Makefile, 4651 common/Makefile,examples/Makefile,expand/Makefile, 4652 geospatial/Makefile,include/Makefile,include/xapian/Makefile, 4653 languages/Makefile,matcher/Makefile,net/Makefile, 4654 queryparser/Makefile,tests/harness/Makefile,unicode/Makefile, 4655 weight/Makefile: Add check-syntax target to Makefiles to support 4656 editor syntax checks 4657 4658Sun Jul 29 15:32:00 GMT 2012 Olly Betts <olly@survex.com> 4659 4660 * configure.ac: Bump LIBRARY_VERSION_INFO so I can package a snapshot 4661 cleanly. 4662 4663Tue Jul 24 01:35:17 GMT 2012 Olly Betts <olly@survex.com> 4664 4665 * include/xapian/queryparser.h,queryparser/queryparser.cc, 4666 queryparser/queryparser.lemony,queryparser/queryparser_internal.h, 4667 tests/queryparsertest.cc: Add FieldProcessor class (ticket#128) - 4668 currently marked as an experimental API while we sort out how best 4669 to sort out exactly how it interacts with other QueryParser features. 4670 4671Tue Jul 24 01:19:03 GMT 2012 Olly Betts <olly@survex.com> 4672 4673 * include/xapian/queryparser.h: Add extra DateValueRangeProcessor 4674 constructor overloaded form so that in DateValueRangeProcessor(1, 4675 "date:"), the const char * gets interpreted as std::string rather 4676 than bool. 4677 * tests/queryparsertest.cc: Add regression test. 4678 4679Thu Jul 19 05:32:04 GMT 2012 Olly Betts <olly@survex.com> 4680 4681 * backends/brass/brass_dbcheck.h, 4682 backends/inmemory/inmemory_alltermslist.cc,bin/xapian-delve.cc: Fix 4683 filenames in comments which mismatch actual name of file. 4684 4685Thu Jul 19 05:27:38 GMT 2012 Olly Betts <olly@survex.com> 4686 4687 * queryparser/termgenerator_internal.cc: Remove "FIXME: Add API to 4688 allow control of how stemming is used?", as we have now added such 4689 an API. 4690 4691Thu Jul 19 05:24:49 GMT 2012 Olly Betts <olly@survex.com> 4692 4693 * include/xapian/termgenerator.h,queryparser/termgenerator.cc, 4694 queryparser/termgenerator_internal.cc, 4695 queryparser/termgenerator_internal.h,tests/termgentest.cc: Add new 4696 method TermGenerator::set_max_word_length() to allow this limit to 4697 be adjusted by the user. 4698 4699Mon Jul 16 03:34:27 GMT 2012 Olly Betts <olly@survex.com> 4700 4701 * include/xapian/enquire.h: Clarify that the "reverse" parameter of 4702 set_sort_by_relevance_then_value() and 4703 set_sort_by_relevance_then_key() only affects the ordering of the 4704 value/key part of the sort. 4705 4706Fri Jul 13 04:55:26 GMT 2012 Dan Colish <dcolish@gmail.com> 4707 4708 * matcher/multimatch.cc: Remove duplicate import 4709 4710Thu Jul 12 05:13:57 GMT 2012 Olly Betts <olly@survex.com> 4711 4712 * common/debuglog.cc: Preserve errno over debug logging calls, so they 4713 can safely be added to code which expects errno not to change. 4714 4715Mon Jul 02 05:27:43 GMT 2012 Dan Colish <dcolish@gmail.com> 4716 4717 * backends/brass/brass_databasereplicator.cc: Use new/delete to avoid 4718 variable length array gcc extension and comply with c++98 4719 4720Mon Jul 02 05:02:14 GMT 2012 Dan Colish <dcolish@gmail.com> 4721 4722 * api/omdatabase.cc,tests/api_wrdb.cc: Prefer container.empty() to 4723 container.size() == 0. 4724 4725Sun Jul 01 10:46:19 GMT 2012 Olly Betts <olly@survex.com> 4726 4727 * NEWS: Update from ChangeLog, 1.2.11 and 1.2.12. 4728 4729Fri Jun 29 15:32:11 GMT 2012 Dan Colish <dcolish@> 4730 4731 * tests/harness/testsuite.cc: Add safeunistd.h unconditionally for 4732 isatty, required by GCC 4.7 4733 4734Wed Jun 27 10:45:13 GMT 2012 Olly Betts <olly@survex.com> 4735 4736 * AUTHORS: Add GSoC students. 4737 4738Tue Jun 26 08:45:03 GMT 2012 Olly Betts <olly@survex.com> 4739 4740 * include/xapian.h: Add check for Qt headers being included before us 4741 and defining 'slots' as a macro - if they are, give a clear error 4742 advising how to work around this. 4743 4744Thu Jun 14 23:48:15 GMT 2012 Olly Betts <olly@survex.com> 4745 4746 * docs/admin_notes.rst: Correction - we don't "create a lock file", we 4747 "lock a file". 4748 4749Tue Jun 12 13:08:58 GMT 2012 Olly Betts <olly@survex.com> 4750 4751 * tests/api_replicate.cc: Make sure XAPIAN_MAX_CHANGESETS gets unset 4752 after testcases which set it, so further testcases don't waste time 4753 generating changesets. 4754 4755Tue Jun 12 12:11:51 GMT 2012 Olly Betts <olly@survex.com> 4756 4757 * docs/replication.rst: The value of XAPIAN_MAX_CHANGESETS does now 4758 actually determine how many changesets we keep. 4759 4760Tue Jun 12 01:20:59 GMT 2012 Olly Betts <olly@survex.com> 4761 4762 * configure.ac: Force link_all_deplibs_CXX=no for Solaris. 4763 4764Tue Jun 12 01:08:17 GMT 2012 Olly Betts <olly@survex.com> 4765 4766 * xapian-config.in: Don't interpret a missing .la file as meaning that 4767 we only have static libraries. 4768 4769Sun Jun 10 12:57:16 GMT 2012 Olly Betts <olly@survex.com> 4770 4771 * backends/brass/brass_btreebase.cc,backends/brass/brass_btreebase.h, 4772 backends/brass/brass_check.cc: Remove is_empty(), tweak 4773 calculate_last_block() to calculate the bit map size correctly in 4774 the case of an empty table, and use the bit map size instead of 4775 is_empty() in xapian-check. 4776 * backends/chert/chert_btreebase.cc,backends/chert/chert_btreebase.h, 4777 backends/chert/chert_check.cc: Make equivalent changes for chert. 4778 4779Sun Jun 10 11:27:52 GMT 2012 Olly Betts <olly@survex.com> 4780 4781 * backends/brass/brass_table.cc,backends/brass/brass_table.h: We don't 4782 need the workaround for existing tables which were built with a 32 4783 bit item count for brass, since that bug was fixed in 1.1.4, which 4784 is the same version which brass was added in. 4785 4786Sun Jun 10 11:20:58 GMT 2012 Olly Betts <olly@survex.com> 4787 4788 * backends/brass/brass_btreebase.cc,backends/brass/brass_btreebase.h, 4789 backends/chert/chert_btreebase.cc,backends/chert/chert_btreebase.h: 4790 Remove unused copy constructors for BrassTable_base and 4791 ChertTable_base. 4792 4793Wed Jun 06 11:10:26 GMT 2012 Olly Betts <olly@survex.com> 4794 4795 * include/xapian/queryparser.h: Note that STEM_ALL_Z was added in 4796 1.2.11. Change already made on 1.2 branch. 4797 4798Tue Jun 05 06:51:12 GMT 2012 Olly Betts <olly@survex.com> 4799 4800 * common/compression_stream.cc,common/compression_stream.h: Move the 4801 default argument to the CompressionStream constructor to the header 4802 and mark the constructor as explicit, since it has a single argument 4803 form. 4804 4805Tue Jun 05 06:41:22 GMT 2012 Olly Betts <olly@survex.com> 4806 4807 * api/queryvector.h: Fix somewhat dubious warning from clang. 4808 4809Tue Jun 05 06:33:09 GMT 2012 Olly Betts <olly@survex.com> 4810 4811 * configure.ac: Overhaul handling of compilers which pretend to be GCC, 4812 using a simple "case" on the preprocessed output of '__INTEL_COMPILER 4813 __clang__' to tell which is in use. We now explicitly check for 4814 clang, and only pass it warning flags it actually understands. GCC 4815 4.0 is now lumped in with 3.*, since we handle it exactly the same. 4816 Enable -Wdouble-promotion for GCC >= 4.6. Check for symbol 4817 visibility support under any GCC-alike (which means we now run the 4818 test with Intel's compiler). Move the check for -Bsymbolic-functions 4819 to be run for all compilers. 4820 4821Mon Jun 04 06:21:02 GMT 2012 Olly Betts <olly@survex.com> 4822 4823 * backends/dbfactory.cc: Test if we fail to open a stub database file 4824 in Xapian::Auto::open_stub() and throw an exception if so. 4825 * tests/api_backend.cc: Add regression test stubdb7. 4826 4827Sun Jun 03 11:43:44 GMT 2012 Olly Betts <olly@survex.com> 4828 4829 * include/xapian/query.h: Add second fake specialised form of the 4830 templated iterator Query constructor, for use in the Java bindings. 4831 4832Sat Jun 02 12:15:11 GMT 2012 Olly Betts <olly@survex.com> 4833 4834 * docs/scalability.rst: Update gmane size, fix a typo, tweak wording. 4835 4836Sat Jun 02 12:10:55 GMT 2012 Olly Betts <olly@survex.com> 4837 4838 * Makefile.am,api/omdocument.cc,api/omenquire.cc,backends/brass/, 4839 backends/chert/,bin/xapian-delve.cc,common/getopt.cc,configure.ac, 4840 docs/,m4-macros/xapian-1.3.m4,matcher/multimatch.cc,preautoreconf, 4841 tests/Makefile.am,tests/api_db.cc,tests/harness/testsuite.h, 4842 tests/harness/testutils.h: Change `...' quoting in prose to '...'. 4843 4844Fri Jun 01 07:40:48 GMT 2012 Olly Betts <olly@survex.com> 4845 4846 * HACKING,Makefile.am: If you run "make coverage-check" by hand, the 4847 default of compressed HTML is unhelpful, so don't default to passing 4848 --html-gzip to genhtml, but instead add support for GENHTML_ARGS. 4849 4850Thu May 31 11:41:19 GMT 2012 Olly Betts <olly@survex.com> 4851 4852 * tests/api_weight.cc: Add test that init() is now called for the 4853 term-independent weight contribution. 4854 4855Thu May 31 11:23:05 GMT 2012 Olly Betts <olly@survex.com> 4856 4857 * weight/bm25weight.cc: Avoid use of undefined values when k1 or b are 4858 zero. 4859 4860Wed May 30 21:50:54 GMT 2012 Olly Betts <olly@survex.com> 4861 4862 * tests/api_matchspy.cc: Use a cached generated database for matchspy2 4863 and matchspy4. 4864 4865Wed May 30 13:22:54 GMT 2012 Olly Betts <olly@survex.com> 4866 4867 * include/xapian/weight.h,weight/weight.cc: We were failing to call 4868 init() for Weight objects providing the term-independent weight. 4869 These now get called with init(0.0). 4870 4871Wed May 30 13:13:03 GMT 2012 Olly Betts <olly@survex.com> 4872 4873 * include/xapian/weight.h: Remove duplicate "need_stat(WDF);" calls, 4874 accidentally added by merge of opsynonym branch in r12609. 4875 4876Wed May 30 07:44:23 GMT 2012 Olly Betts <olly@survex.com> 4877 4878 * weight/bm25weight.cc: Fix use of uninitialised value found by new 4879 bm25weight4 testcase. 4880 4881Wed May 30 05:38:58 GMT 2012 Olly Betts <olly@survex.com> 4882 4883 * tests/api_weight.cc: Add tests for BM25 parameter combinations where 4884 doclen shouldn't affect the weights. 4885 4886Wed May 30 05:11:34 GMT 2012 Olly Betts <olly@survex.com> 4887 4888 * tests/Makefile.am: Move api_geospatial.cc into alphabetical order. 4889 4890Wed May 30 05:07:51 GMT 2012 Olly Betts <olly@survex.com> 4891 4892 * weight/bm25weight.cc,weight/tradweight.cc: Throw SerialisationError 4893 not NetworkError if unserialise() fails. 4894 * tests/.gitignore,tests/Makefile.am,tests/api_weight.cc: Add test 4895 coverage for this. 4896 4897Wed May 30 05:01:33 GMT 2012 Olly Betts <olly@survex.com> 4898 4899 * weight/tradweight.cc: BM25Weight -> TradWeight in exception message. 4900 4901Wed May 30 04:28:43 GMT 2012 Olly Betts <olly@survex.com> 4902 4903 * tests/queryparsertest.cc: Fix feature test added for STEM_ALL_Z. 4904 4905Tue May 29 07:29:01 GMT 2012 Olly Betts <olly@survex.com> 4906 4907 * tests/harness/testutils.cc,tests/harness/testutils.h: Remove unused 4908 test helper mset_range_is_same_percents() (thanks, lcov!) 4909 4910Tue May 29 04:10:07 GMT 2012 Olly Betts <olly@survex.com> 4911 4912 * tests/generate-api_generated: Test that the string returned by a 4913 get_description() method isn't empty. 4914 4915Tue May 29 03:54:15 GMT 2012 Olly Betts <olly@survex.com> 4916 4917 * generate-exceptions: Use function attributes in generated error.h. 4918 4919Tue May 29 02:10:23 GMT 2012 Olly Betts <olly@survex.com> 4920 4921 * configure.ac,tests/runsrv.in: In the testsuite, only run remote 4922 servers under valgrind if x87 FP instructions are in use. 4923 4924Tue May 29 00:24:42 GMT 2012 Olly Betts <olly@survex.com> 4925 4926 * include/xapian/: Use the new function attributes on various API 4927 methods. 4928 * tests/api_wrdb.cc: get_termfreq() is now marked as pure, so the 4929 testsuite needs to actually use the return value to check its 4930 exception behaviour. 4931 4932Mon May 28 22:31:21 GMT 2012 Olly Betts <olly@survex.com> 4933 4934 * api/query.cc,api/queryinternal.cc,api/queryinternal.h, 4935 include/xapian/query.h: Pass vector<pair<Xapian::termpos>, string> >& 4936 argument to Query::Internal::gather_terms() as a void* to avoid 4937 having to include <vector> in query.h. 4938 4939Mon May 28 05:07:02 GMT 2012 Olly Betts <olly@survex.com> 4940 4941 * include/xapian/attributes.h: Remove unused XAPIAN_NOTHROW_API_METHOD 4942 as we're handling that a different way instead. 4943 4944Mon May 28 00:41:55 GMT 2012 Olly Betts <olly@survex.com> 4945 4946 * docs/doxygen_api.conf.in,docs/doxygen_source.conf.in: Hide new 4947 function attribute macros from doxygen. 4948 4949Sun May 27 14:04:34 GMT 2012 Olly Betts <olly@survex.com> 4950 4951 * include/xapian/query.h: Use "Internal" instead of "Query::Internal" 4952 in constructor prototype argument list for consistency with other 4953 cosntructors, and so this constructor gets ignored by SWIG. 4954 4955Sun May 27 07:38:56 GMT 2012 Olly Betts <olly@survex.com> 4956 4957 * exception_data.pm: Fix typo to fix warning and so that XAPIAN_NOTHROW 4958 on a method will work. 4959 4960Sun May 27 01:43:30 GMT 2012 Olly Betts <olly@survex.com> 4961 4962 * exception_data.pm,include/Makefile.mk,include/xapian.h, 4963 include/xapian/attributes.h,include/xapian/unicode.h: Add 4964 XAPIAN_CONST_FUNCTION, XAPIAN_PURE_FUNCTION, and XAPIAN_NOTHROW 4965 macros for marking functions and methods with those attributes. 4966 (tickets #151, #454) 4967 4968Fri May 25 06:42:35 GMT 2012 Olly Betts <olly@survex.com> 4969 4970 * include/xapian/weight.h: Fix documentation comment typo ("k1" -> 4971 "k"). 4972 4973Fri May 25 05:44:05 GMT 2012 Olly Betts <olly@survex.com> 4974 4975 * backends/flint_lock.h: Mark FlintLock::throw_databaselockerror() as 4976 XAPIAN_NORETURN. 4977 4978Thu May 24 12:28:35 GMT 2012 Olly Betts <olly@survex.com> 4979 4980 * include/xapian/termgenerator.h,queryparser/termgenerator.cc, 4981 queryparser/termgenerator_internal.cc, 4982 queryparser/termgenerator_internal.h: Add 4983 TermGenerator::set_stemming_strategy() method, with strategies which 4984 correspond to those of QueryParser. Based on patch from Sehaj Singh 4985 Kalra, with some tweaks for adding term positions in more cases. 4986 (Fixes ticket#563) 4987 * tests/termgentest.cc: Add test coverage for the new features. 4988 4989Thu May 24 01:37:31 GMT 2012 Olly Betts <olly@survex.com> 4990 4991 * include/xapian/queryparser.h: Add doc comment for stem_strategy 4992 typedef. 4993 4994Wed May 23 11:33:08 GMT 2012 Olly Betts <olly@survex.com> 4995 4996 * include/xapian/queryparser.h,queryparser/queryparser.lemony: 4997 Add new QueryParser::STEM_ALL_Z stemming strategy, which stems all 4998 terms and adds a Z prefix. (Patch from Sehaj Singh Kalra, fixes 4999 ticket#562) 5000 * tests/queryparsertest.cc: Add test coverage for 5001 QueryParser::STEM_ALL_Z. 5002 5003Wed May 23 05:37:20 GMT 2012 Olly Betts <olly@survex.com> 5004 5005 * api/valuesetmatchdecider.cc,include/xapian/valuesetmatchdecider.h: 5006 "Limited" to "Ltd" in (C) two statements, for consistency (and with 5007 Charlie's agreement on IRC). 5008 5009Wed May 23 02:25:53 GMT 2012 Olly Betts <olly@survex.com> 5010 5011 * api/,include/xapian/query.h: Rework QueryBranch to use a special 5012 QueryVector class rather than std::vector<Xapian::Query>. The 5013 special class is no bigger than std::vector<Xapian::Query>, and 5014 handles up to two entries by holding them within the object (at 5015 least GCC's std::vector doesn't currently do this space optimisation) 5016 which significantly reduces the memory used by a pairwise operator, 5017 which is very desirable as we no longer flatten a tree of the same 5018 pairwise operator as we build the query. 5019 5020Tue May 22 06:25:10 GMT 2012 Olly Betts <olly@survex.com> 5021 5022 * api/queryinternal.cc: Handle the left side of AND_NOT and 5023 AND_MAYBE being MatchNothing in add_subquery() rather than 5024 in done(). 5025 5026Tue May 22 02:40:45 GMT 2012 Olly Betts <olly@survex.com> 5027 5028 * api/queryinternal.cc: Handle QueryAndLike with a MatchNothing 5029 subquery in add_subquery() rather than done(). 5030 5031Tue May 22 02:01:00 GMT 2012 Olly Betts <olly@survex.com> 5032 5033 * api/queryinternal.cc,api/queryinternal.h: Drop MatchNothing 5034 subqueries in OR-like situations in add_subquery() rather than 5035 adding them and then handling it later. 5036 5037Sat May 19 00:27:23 GMT 2012 Olly Betts <olly@survex.com> 5038 5039 * tests/runsrv.in: Add explanation of why we have this script. 5040 5041Sat May 19 00:27:10 GMT 2012 Olly Betts <olly@survex.com> 5042 5043 * tests/runtest.in: Fix comment typo. 5044 5045Fri May 18 12:50:08 GMT 2012 Olly Betts <olly@survex.com> 5046 5047 * backends/inmemory/inmemory_database.cc: Check if the database is 5048 closed when asked to iterate metadata keys. Fixes recently added 5049 testcase closedb10 for inmemory. 5050 5051Fri May 18 12:34:24 GMT 2012 Olly Betts <olly@survex.com> 5052 5053 * tests/Makefile.am: Pass -ldl last when compiling zlib-vg.so, as that 5054 seems to be needed on Ubuntu 12.04. 5055 5056Fri May 18 04:54:09 GMT 2012 Olly Betts <olly@survex.com> 5057 5058 * tests/api_closedb.cc: We now test almost all methods of Database 5059 and WritableDatabase after calling close(). (ticket#337) 5060 5061Thu May 17 14:26:11 GMT 2012 Olly Betts <olly@survex.com> 5062 5063 * backends/brass/,backends/chert/: After closing the database, methods 5064 which try to use the termlist would throw FeatureUnavailableError 5065 with message "Database has no termlist", assuming that the termlist 5066 table not being open meant it wasn't present. Fix to check if the 5067 postlist_table is open to determine which case we're in. 5068 * tests/api_closedb.cc: Improve test coverage for closed databases. 5069 (ticket#337) 5070 5071Tue May 15 11:24:34 GMT 2012 Olly Betts <olly@survex.com> 5072 5073 * NEWS: Update from ChangeLog and 1.2.10. 5074 5075Tue May 15 11:12:42 GMT 2012 Olly Betts <olly@survex.com> 5076 5077 * backends/chert/chert_cursor.cc: Fix incorrect use of "delete" to 5078 "delete []". The type is POD, so I suspect this mistake didn't 5079 actually cause any problems, and it only happens when a cursor 5080 gets rebuilt because the B-tree has gained a level, so it's 5081 a rather rare occurrence. 5082 5083Tue May 15 11:09:44 GMT 2012 Olly Betts <olly@survex.com> 5084 5085 * backends/brass/brass_cursor.cc: Fix incorrect use of "delete" to 5086 "delete []". The type is POD, so I suspect this mistake didn't 5087 actually cause any problems, and it only happens when a cursor 5088 gets rebuilt because the B-tree has gained a level, so it's 5089 a rather rare occurrence. 5090 5091Thu May 10 02:16:21 GMT 2012 Olly Betts <olly@survex.com> 5092 5093 * HACKING: Update Debian/Ubuntu packaging instructions. 5094 5095Thu May 10 02:14:48 GMT 2012 Olly Betts <olly@survex.com> 5096 5097 * HACKING: freshmeat -> freecode. 5098 5099Wed May 09 02:54:40 GMT 2012 Olly Betts <olly@survex.com> 5100 5101 * tests/api_wrdb.cc: Add "safeunistd.h", required for GCC 4.7. 5102 5103Wed May 09 00:09:17 GMT 2012 Olly Betts <olly@survex.com> 5104 5105 * api/query.cc: Construct MatchAll using constructor rather than 5106 assignment syntax. 5107 5108Wed May 09 00:08:29 GMT 2012 Olly Betts <olly@survex.com> 5109 5110 * backends/brass/brass_cursor.h: Whitespace tweaks. 5111 5112Tue May 08 23:51:01 GMT 2012 Olly Betts <olly@survex.com> 5113 5114 * docs/admin_notes.rst: Document xapian-check for fixing corrupted 5115 databases. 5116 5117Tue May 08 11:30:06 GMT 2012 Olly Betts <olly@survex.com> 5118 5119 * common/fileutils.cc: Add safeunistd.h for mkdir, required by GCC 5120 4.7 (reported by Gaurav Arora). 5121 5122Wed May 02 03:44:25 GMT 2012 Olly Betts <olly@survex.com> 5123 5124 * weight/weightinternal.cc: Using AssertEq() on NULL doesn't compile, 5125 at least with recent GCC. 5126 5127Wed May 02 02:58:37 GMT 2012 Olly Betts <olly@survex.com> 5128 5129 * common/omassert.cc: Fix warning with GCC in build with assertions 5130 enabled. 5131 5132Wed May 02 02:55:54 GMT 2012 Olly Betts <olly@survex.com> 5133 5134 * HACKING: We're now using automake 1.12 to generate snapshots and 5135 releases. 5136 5137Mon Apr 23 13:16:36 GMT 2012 Olly Betts <olly@survex.com> 5138 5139 * tests/api_anydb.cc: Fix tradweight1 to test that TradWeight(0) 5140 means that wdf and doc length don't affect the weight of a term. 5141 5142Mon Apr 23 03:44:02 GMT 2012 Olly Betts <olly@survex.com> 5143 5144 * backends/chert/,backends/dbcheck.cc,bin/xapian-check.cc, 5145 include/xapian/database.h: Add "fix" option to xapian-check, which 5146 currently will regenerate iamchert if it isn't valid, and will 5147 regenerate base files from the .DB files (only really tested on 5148 databases which have just been compacted). 5149 5150Mon Apr 23 03:40:35 GMT 2012 Olly Betts <olly@survex.com> 5151 5152 * common/filetests.h: Add new function file_size() to get the size 5153 of a file from a path or file descriptor. 5154 * backends/brass/brass_compact.cc,backends/chert/chert_compact.cc, 5155 net/remoteconnection.cc,tests/api_replicate.cc: Use this new 5156 function. 5157 5158Wed Apr 18 01:35:21 GMT 2012 Olly Betts <olly@survex.com> 5159 5160 * weight/bm25weight.cc,weight/tradweight.cc: Fix comment typo. 5161 5162Wed Apr 11 08:26:42 GMT 2012 Olly Betts <olly@survex.com> 5163 5164 * HACKING: Update section on patches to mention git (git diff and git 5165 format-patch), and using "-r" with normal diff, and also that 5166 ptardiff offers a nice way to diff against an unpacked tarball. 5167 5168Wed Apr 04 02:22:04 GMT 2012 Olly Betts <olly@survex.com> 5169 5170 * backends/brass/brass_compact.cc,backends/chert/chert_compact.cc: 5171 If the output database is empty, don't write a metainfo tag out. 5172 Take care not to divide by zero when computing the percentage 5173 size change for a table. 5174 * tests/api_compact.cc: Add new testcase compactempty1 to provide 5175 regression tests. 5176 5177Wed Apr 04 01:48:34 GMT 2012 Olly Betts <olly@survex.com> 5178 5179 * backends/dbcheck.cc: If the database couldn't be opened, don't try 5180 to reserve space for cross-checking doclens, as that just results in 5181 us reporting a confusing warning about there being too many documents 5182 to cross-check doclens. 5183 5184Fri Mar 30 22:23:53 GMT 2012 Olly Betts <olly@survex.com> 5185 5186 * backends/document.h: "An string" -> "A string" in internal doc 5187 comment. 5188 5189Fri Mar 30 22:20:11 GMT 2012 Olly Betts <olly@survex.com> 5190 5191 * include/xapian/weight.h: Fix switched lower and upper in doc comments 5192 for Weight methods get_doclength_lower_bound() and 5193 get_doclength_upper_bound(). Correct maximum to minimum in 5194 get_doclength_lower_bound() comment and note that this excludes zero 5195 length documents. Fix "An lower" to "A lower". 5196 5197Wed Mar 28 09:54:33 GMT 2012 Olly Betts <olly@survex.com> 5198 5199 * NEWS: Fix typos in another old entry. 5200 5201Wed Mar 28 09:53:00 GMT 2012 Olly Betts <olly@survex.com> 5202 5203 * NEWS: DatabaseCoruptError -> DatabaseCorruptError in old entries. 5204 5205Wed Mar 28 08:05:13 GMT 2012 Olly Betts <olly@survex.com> 5206 5207 * tests/termgentest.cc: Add test coverage for discarding of terms > 64 5208 bytes by TermGenerator. 5209 5210Tue Mar 27 21:07:07 GMT 2012 Olly Betts <olly@survex.com> 5211 5212 * include/xapian/database.h: Note when Database::close() was added. 5213 5214Tue Mar 27 13:03:22 GMT 2012 Olly Betts <olly@survex.com> 5215 5216 * api/omenquire.cc,docs/deprecation.rst,include/xapian/enquire.h, 5217 include/xapian/errorhandler.h: Deprecate Xapian::ErrorHandler. 5218 (ticket#3) 5219 5220Tue Mar 27 13:01:53 GMT 2012 Olly Betts <olly@survex.com> 5221 5222 * HACKING,docs/deprecation.rst,docs/doxygen_api.conf.in, 5223 docs/doxygen_source.conf.in: Updates for addition of 5224 XAPIAN_DEPRECATED_EX() and XAPIAN_DEPRECATED_CLASS_EX. 5225 5226Tue Mar 27 10:11:23 GMT 2012 Olly Betts <olly@survex.com> 5227 5228 * HACKING,include/xapian.h,include/xapian/deprecated.h: Add 5229 XAPIAN_DEPRECATED_EX() and XAPIAN_DEPRECATED_CLASS_EX macros which 5230 mark a feature as deprecated externally but not when building the 5231 library. 5232 5233Tue Mar 27 08:46:29 GMT 2012 Olly Betts <olly@survex.com> 5234 5235 * api/compactor.cc: Include the xapian sub-headers we actually use 5236 rather than xapian.h, to avoid needless rebuilds. 5237 5238Tue Mar 27 08:33:28 GMT 2012 Olly Betts <olly@survex.com> 5239 5240 * HACKING: Add example of deprecating a pure virtual method. 5241 5242Tue Mar 27 08:30:17 GMT 2012 Olly Betts <olly@survex.com> 5243 5244 * NEWS: Update from ChangeLog. 5245 5246Sat Mar 24 12:33:44 GMT 2012 Olly Betts <olly@survex.com> 5247 5248 * backends/brass/brass_databasereplicator.cc: Fix signed vs unsigned 5249 comparison warning with GCC 4.4.3. 5250 5251Sat Mar 24 12:26:13 GMT 2012 Olly Betts <olly@survex.com> 5252 5253 * include/xapian/queryparser.h,queryparser/queryparser_internal.h: 5254 Change the default stemming strategy to STEM_SOME, to eliminate 5255 the API gotcha that setting a stemmer is ignored until you also 5256 set a strategy. 5257 * tests/queryparsertest.cc: Add testcase qp_defaultstrategysome1 to 5258 check that the default is STEM_SOME. 5259 5260Fri Mar 23 04:29:32 GMT 2012 Olly Betts <olly@survex.com> 5261 5262 * tests/perftest/perftest.cc: Fix comment cut-and-paste error. 5263 5264Fri Mar 23 04:28:24 GMT 2012 Olly Betts <olly@survex.com> 5265 5266 * Makefile.am: Use git commit hash in the title of a coverage report 5267 generated from a git tree. 5268 5269Thu Mar 22 04:29:38 GMT 2012 Olly Betts <olly@survex.com> 5270 5271 * xapian-core.spec.in: Remove xapian-chert-update. 5272 5273Mon Mar 19 05:42:50 GMT 2012 Olly Betts <olly@survex.com> 5274 5275 * matcher/multiandpostlist.cc: Don't count unweighted subqueries of 5276 MultiAndPostList for percentage calculations, as OP_FILTER maps to 5277 MultiAndPostList now. (ticket#590) 5278 * tests/api_percentages.cc: Regression test topercent6. 5279 5280Sun Mar 18 23:24:04 GMT 2012 Dan Colish <dcolish@> 5281 5282 * backends/brass/brass_databasereplicator.cc: size out buffer to the 5283 incoming blocksize 5284 5285Sun Mar 18 17:02:14 GMT 2012 Dan Colish <dcolish@> 5286 5287 * .gitignore: ignore /.deps as well 5288 5289Sun Mar 18 16:46:45 GMT 2012 Dan Colish <dcolish@> 5290 5291 * .gitignore:Update gitignore for bump to libxapian-1.3 5292 5293Sun Mar 18 04:37:37 GMT 2012 Olly Betts <olly@survex.com> 5294 5295 * configure.ac: Set LIBRARY_VERSION_SUFFIX to -1.3. 5296 5297Sun Mar 18 00:48:05 GMT 2012 Dan Colish <dcolish@gmail.com> 5298 5299 * backends/brass/,common/Makefile.mk, common/compression_stream.h, 5300 common/compression_stream.cc: Compress changesets in brass 5301 replication. Increments the changeset version. Ticket #348 5302 5303Sun Mar 18 00:39:23 GMT 2012 Dan Colish <dcolish@gmail.com> 5304 5305 * tests/.gitignore,tests/soaktest/.gitignore: Add additional ignores 5306 for test artifacts 5307 5308Fri Mar 16 05:23:54 GMT 2012 Olly Betts <olly@survex.com> 5309 5310 * common/Makefile.mk: Missing part of previous change. 5311 5312Fri Mar 16 04:59:53 GMT 2012 Olly Betts <olly@survex.com> 5313 5314 * Makefile.am,m4-macros/xapian.m4: Rename libxapian to libxapian-1.3 5315 and xapian.m4 to xapian-1.3.m4. 5316 5317Wed Mar 14 04:58:55 GMT 2012 Olly Betts <olly@survex.com> 5318 5319 * NEWS,tests/api_unicode.cc,unicode/tclUniData.cc: Update 5320 Unicode character database to 6.1.0. 5321 5322Wed Mar 14 02:23:27 GMT 2012 Olly Betts <olly@survex.com> 5323 5324 * NEWS: Update for 1.3.0. 5325 5326Tue Mar 13 07:44:32 GMT 2012 Olly Betts <olly@survex.com> 5327 5328 * NEWS: Update from 1.2.9 and ChangeLog. 5329 5330Tue Mar 13 00:28:58 GMT 2012 Olly Betts <olly@survex.com> 5331 5332 * docs/geospatial.rst: Fix typo - it's LatLongCoords::append() not 5333 LatLongCoords::insert(). 5334 5335Mon Mar 12 23:14:20 GMT 2012 Olly Betts <olly@survex.com> 5336 5337 * docs/admin_notes.rst: Fix typo - need "1.2.x" not "1.0.x" to get 5338 both flint and chert support. 5339 5340Mon Mar 12 11:54:19 GMT 2012 Olly Betts <olly@survex.com> 5341 5342 * docs/Makefile.am: doxygen no longer generates any GIF files, so 5343 stop trying to ship or install them. 5344 5345Thu Mar 08 10:21:51 GMT 2012 Olly Betts <olly@survex.com> 5346 5347 * docs/index.rst: Add link to new "getting started" guide. 5348 5349Mon Mar 05 06:05:28 GMT 2012 Olly Betts <olly@survex.com> 5350 5351 * tests/queryparsertest.cc: Fix curly double quote testcase. 5352 5353Mon Mar 05 00:36:33 GMT 2012 Olly Betts <olly@survex.com> 5354 5355 * matcher/: Fix issue with AND, OR, and XOR queries against a database 5356 with no documents in it - this was causing a divide by zero, which led 5357 to MSet::get_matches_estimated() reporting 2147483648 on i386. 5358 * tests/api_backend.cc: Add regression test emptydb1. 5359 5360Sun Mar 04 23:05:17 GMT 2012 Olly Betts <olly@survex.com> 5361 5362 * matcher/multimatch.cc: Fix comment typo. 5363 5364Fri Mar 02 04:00:19 GMT 2012 Olly Betts <olly@survex.com> 5365 5366 * tests/harness/testsuite.cc: Address new warnings from GCC 4.6. 5367 5368Wed Feb 29 22:36:26 GMT 2012 Olly Betts <olly@survex.com> 5369 5370 * include/xapian/database.h: Improve documentation of Database::close() 5371 and ~WritableDatabase(). 5372 5373Thu Jan 26 03:49:24 GMT 2012 Olly Betts <olly@survex.com> 5374 5375 * queryparser/queryparser.lemony,tests/queryparsertest.cc: Allow 5376 Unicode curly double quote characters to start and/or end phrases. 5377 5378Sun Jan 22 13:28:30 GMT 2012 Olly Betts <olly@survex.com> 5379 5380 * bin/xapian-delve.cc: Send errors to stderr not stdout. 5381 5382Sun Jan 22 13:16:21 GMT 2012 Olly Betts <olly@survex.com> 5383 5384 * HACKING: Update details of versions of doxygen, automake and libtool 5385 used to bootstrap snapshots and releases. 5386 5387Fri Jan 20 21:35:38 GMT 2012 Olly Betts <olly@survex.com> 5388 5389 * tests/Makefile.am: unittest needs getopt for non-glibc platforms. 5390 5391Fri Jan 20 21:33:59 GMT 2012 Olly Betts <olly@survex.com> 5392 5393 * include/xapian/query.h: GCC 4.2.1 on Mac OS X seems to need a copy 5394 ctor for InvertedQuery_ - unclear why, but it's easy to add one. 5395 5396Wed Jan 18 13:13:07 GMT 2012 Olly Betts <olly@survex.com> 5397 5398 * include/xapian/matchspy.h,include/xapian/postingsource.h, 5399 include/xapian/weight.h: Document that you can define a static 5400 operator delete method in your subclass if deallocation needs to be 5401 handled specially. (Closes ticket#554) 5402 5403Wed Jan 18 12:27:20 GMT 2012 Olly Betts <olly@survex.com> 5404 5405 * include/xapian/geospatial.h: Mark as experimental for now. 5406 5407Wed Jan 18 12:22:39 GMT 2012 Olly Betts <olly@survex.com> 5408 5409 * docs/geospatial.rst: Say "haversine" rather than "Haversine" 5410 consistently. 5411 5412Wed Jan 18 12:01:28 GMT 2012 Olly Betts <olly@survex.com> 5413 5414 * include/xapian/geospatial.h: Change empty() to return bool not 5415 size_t. 5416 5417Wed Jan 18 10:44:16 GMT 2012 Olly Betts <olly@survex.com> 5418 5419 * docs/geospatial.rst: Fix minor typos in geospatial docs. 5420 5421Wed Jan 18 10:39:53 GMT 2012 Olly Betts <olly@survex.com> 5422 5423 * Makefile.am,api/postingsource.cc,api/queryinternal.cc, 5424 api/registry.cc,common/output.h,common/registryinternal.h, 5425 docs/geospatial.rst,geospatial/,include/Makefile.mk,include/xapian.h, 5426 include/xapian/geospatial.h,include/xapian/postingsource.h, 5427 include/xapian/registry.h,tests/.gitignore,tests/Makefile.am, 5428 tests/api_geospatial.cc: Merge geotomerge2 branch from github. 5429 Closes ticket#481. 5430 5431Tue Jan 17 22:29:10 GMT 2012 Olly Betts <olly@survex.com> 5432 5433 * api/errorhandler.cc: Reorder header includes. 5434 5435Mon Jan 16 22:59:02 GMT 2012 Olly Betts <olly@survex.com> 5436 5437 * include/xapian/queryparser.h,queryparser/queryparser.lemony: Fix 5438 FLAG_AUTO_SYNONYMS not to enable auto multi-word synonyms too. 5439 * tests/queryparsertest.cc: Extend testcase qp_synonym1 to include a 5440 regression test for this bug. 5441 5442Sun Jan 15 12:41:35 GMT 2012 Olly Betts <olly@survex.com> 5443 5444 * .gitignore,backends/Makefile.mk,backends/brass/,backends/chert/, 5445 backends/dbcheck.cc,bin/,common/bitstream.h, 5446 include/xapian/database.h: Add a (currently experimental) API for 5447 checking the integrity of databases (partly addresses ticket#238). 5448 This means we can remove XAPIAN_VISIBILITY_DEFAULT from a number of 5449 functions which aren't in the public API (partly addresses 5450 ticket#63). 5451 5452Fri Jan 13 12:07:39 GMT 2012 Olly Betts <olly@survex.com> 5453 5454 * tests/stemtest.cc: Include <xapian.h> rather than <xapian/stem.h> - 5455 we're trying to test the public API, so including the public API 5456 header is better. 5457 5458Thu Jan 12 13:15:27 GMT 2012 Olly Betts <olly@survex.com> 5459 5460 * tests/unittest.cc: Add new testcases simple_exceptions_work1 and 5461 class_exceptions_work1 which perform sanity tests of exception 5462 handling. 5463 * tests/internaltest.cc: Remove testcase test_except1 which is now 5464 redundant. 5465 5466Thu Jan 12 13:09:25 GMT 2012 Olly Betts <olly@survex.com> 5467 5468 * common/str.cc: Special cases for 0 in tostring() templates aren't 5469 actually needed, but special casing single digit numbers may be 5470 worthwhile anyway, so change comments to FIXME ones about checking 5471 this. 5472 * tests/internaltest.cc: Test str() on unsigned 0, and some negative, 5473 signed positive, and unsigned positive single digits values. 5474 5475Wed Jan 11 13:03:54 GMT 2012 Olly Betts <olly@survex.com> 5476 5477 * backends/multi/multi_alltermslist.h: Fix filename in @file. 5478 5479Wed Jan 11 12:53:44 GMT 2012 Olly Betts <olly@survex.com> 5480 5481 * api/documentterm.h,api/maptermlist.h,api/omenquireinternal.h, 5482 backends/brass/,backends/chert/,backends/database.h, 5483 backends/document.h,backends/inmemory/inmemory_alltermslist.h, 5484 backends/inmemory/inmemory_database.h, 5485 backends/inmemory/inmemory_positionlist.h, 5486 backends/multi/multi_postlist.h,backends/multi/multi_termlist.h, 5487 backends/positionlist.h,backends/remote/net_termlist.h, 5488 backends/valuestats.h,common/,include/xapian/query.h,matcher/, 5489 queryparser/queryparser_internal.h,tests/harness/, 5490 tests/perftest/freemem.h,tests/perftest/runprocess.h: Convert 5491 comments at the start of files to @file and @brief doxygen comments. 5492 5493Wed Jan 11 11:36:55 GMT 2012 Olly Betts <olly@survex.com> 5494 5495 * matcher/phrasepostlist.h: Remove lone "----START-LICENCE----" - 5496 the rest got removed ages ago. 5497 5498Wed Jan 11 11:23:04 GMT 2012 Olly Betts <olly@survex.com> 5499 5500 * common/replicate_utils.h: Fix "@raises" to "@exception". 5501 5502Wed Jan 11 11:21:31 GMT 2012 Olly Betts <olly@survex.com> 5503 5504 * matcher/multiandpostlist.h: Fix "@parameter" to "@param". 5505 5506Wed Jan 11 11:20:11 GMT 2012 Olly Betts <olly@survex.com> 5507 5508 * common/debuglog.h: Fix "@msg" to "@a msg" in doxygen comment. 5509 5510Wed Jan 11 11:18:50 GMT 2012 Olly Betts <olly@survex.com> 5511 5512 * matcher/multiandpostlist.h: Correct @exceptions to @exception. 5513 5514Wed Jan 11 10:48:05 GMT 2012 Olly Betts <olly@survex.com> 5515 5516 * HACKING: We no longer have any uses of \ to introduce doxygen 5517 directives, so update HACKING to reflect that. 5518 5519Wed Jan 11 10:46:01 GMT 2012 Olly Betts <olly@survex.com> 5520 5521 * api/omdatabase.cc: Change \todo to @todo. 5522 5523Wed Jan 11 10:09:29 GMT 2012 Olly Betts <olly@survex.com> 5524 5525 * api/replication.h,api/valuesetmatchdecider.cc, 5526 common/output-internal.h,common/output.h,include/xapian/, 5527 tests/harness/testrunner.cc,tests/harness/testrunner.h, 5528 tests/perftest/perftest.cc,tests/perftest/perftest.h: Change the 5529 instances of \file and \brief in doxygen comments to @file and 5530 @brief. 5531 5532Wed Jan 11 10:08:19 GMT 2012 Olly Betts <olly@survex.com> 5533 5534 * tests/internaltest.cc: Remove serialisedoc1 from the list of 5535 testcases to run too. 5536 5537Wed Jan 11 09:50:22 GMT 2012 Olly Betts <olly@survex.com> 5538 5539 * matcher/multixorpostlist.h: Remove "using namespace std;" which we 5540 don't need here. 5541 5542Wed Jan 11 09:38:27 GMT 2012 Olly Betts <olly@survex.com> 5543 5544 * common/filetests.h: Remove "using namespace std;" which we don't 5545 need here. 5546 5547Wed Jan 11 09:36:27 GMT 2012 Olly Betts <olly@survex.com> 5548 5549 * common/filetests.h: Add documentation comments. 5550 5551Wed Jan 11 09:28:26 GMT 2012 Olly Betts <olly@survex.com> 5552 5553 * tests/api_serialise.cc: Extend serialise_document1 to test 5554 serialising and unserialising an empty document, which is an 5555 interesting edge case. 5556 * tests/internaltest.cc: Remove testcase serialisedoc1, which 5557 now doesn't add useful additional coverage over serialise_document1. 5558 5559Wed Jan 11 08:29:04 GMT 2012 Olly Betts <olly@survex.com> 5560 5561 * tests/internaltest.cc: Test document serialisation via the public 5562 API (which was added after the tests were). 5563 * net/serialise.h: Remove XAPIAN_VISIBILITY_DEFAULT from 5564 serialise_document() and unserialise_document(). 5565 5566Wed Jan 11 05:57:14 GMT 2012 Olly Betts <olly@survex.com> 5567 5568 * api/replication.cc,common/,tests/unittest.cc: Move removedir() from 5569 utils.{cc,h} to fileutils.{cc,h}, and remove the now empty 5570 utils.{cc,h}. 5571 5572Wed Jan 11 05:44:38 GMT 2012 Olly Betts <olly@survex.com> 5573 5574 * tests/harness/unixcmds.cc: Check return values from system() calls 5575 and throw a std::string exception if non-zero. 5576 5577Wed Jan 11 05:20:30 GMT 2012 Olly Betts <olly@survex.com> 5578 5579 * common/Makefile.mk,common/omassert.cc,common/omassert.h, 5580 common/utils.cc: Change the sense of the bool returned by 5581 within_DBL_EPSILON() to match what the name suggests instead of being 5582 the opposite, and change the use of it too. Move 5583 within_DBL_EPSILON() implementation from utils.cc to new file 5584 omassert.cc, only compile it when assertions are on, and prototype it 5585 in omassert.h rather than utils.h. 5586 5587Wed Jan 11 05:09:39 GMT 2012 Olly Betts <olly@survex.com> 5588 5589 * api/compactor.cc,api/replication.cc,backends/brass/,backends/chert/, 5590 backends/dbfactory.cc,common/utils.cc,common/utils.h, 5591 tests/api_backend.cc,tests/api_wrdb.cc, 5592 tests/harness/backendmanager.cc,tests/harness/unixcmds.cc: Remove 5593 std::string wrappers for C library functions from utils.h and just 5594 explicitly call c_str() when we need to. These wrappers are 5595 problematic as they suppress warnings from _FORTIFY_SOURCE about 5596 ignored return values, and I can't see an easy way to avoid that. 5597 5598Wed Jan 11 03:35:35 GMT 2012 Olly Betts <olly@survex.com> 5599 5600 * api/replication.cc,backends/brass/brass_databasereplicator.cc, 5601 backends/brass/brass_table.cc, 5602 backends/chert/chert_databasereplicator.cc, 5603 backends/chert/chert_table.cc,backends/databasereplicator.cc, 5604 backends/dbfactory.cc,common/utils.cc,common/utils.h: Use 5605 file_exists() and dir_exists() from common/filetests.h everywhere and 5606 remove the old versions in common/utils.h and common/utils.cc. 5607 5608Wed Jan 11 02:20:45 GMT 2012 Olly Betts <olly@survex.com> 5609 5610 * common/utils.h: Remove XAPIAN_VISIBILITY_DEFAULT from old 5611 file_exists() and dir_exists(). 5612 5613Wed Jan 11 02:19:58 GMT 2012 Olly Betts <olly@survex.com> 5614 5615 * tests/api_compact.cc: Convert to use filetests.h. 5616 5617Wed Jan 11 02:14:07 GMT 2012 Olly Betts <olly@survex.com> 5618 5619 * bin/xapian-check.cc,bin/xapian-inspect.cc: Convert to use 5620 filetests.h. 5621 5622Wed Jan 11 02:13:02 GMT 2012 Olly Betts <olly@survex.com> 5623 5624 * common/filetests.h: Rename directory_exists() to dir_exists(). 5625 5626Wed Jan 11 02:10:06 GMT 2012 Olly Betts <olly@survex.com> 5627 5628 * common/Makefile.mk,common/filetests.h,tests/api_replicate.cc, 5629 tests/harness/backendmanager_multi.cc,tests/harness/testsuite.cc: 5630 Add new inline versions of file_exists() and directory_exists() and 5631 use these from the testsuite, as a step towards making these internal 5632 to the library. 5633 5634Tue Jan 10 23:37:36 GMT 2012 Olly Betts <olly@survex.com> 5635 5636 * tests/api_serialise.cc: Change the rather odd "operator delete(p);" 5637 to the more natural "delete p;". 5638 5639Tue Jan 10 22:45:01 GMT 2012 Olly Betts <olly@survex.com> 5640 5641 * tests/unittest.cc: Fix message typo in recent unittest change. 5642 5643Tue Jan 10 13:48:38 GMT 2012 Olly Betts <olly@survex.com> 5644 5645 * common/safesysstat.h: The S_ISDIR and S_ISREG macros for MSVC are 5646 unlikely to work on other platforms (_S_IFMT vs S_IFMT, etc) so 5647 split them. Tweak a few comments. 5648 5649Tue Jan 10 13:10:25 GMT 2012 Olly Betts <olly@survex.com> 5650 5651 * net/: Split encode_length() and decode_length() out of 5652 serialise.{cc,h} into new file length.{cc,h}, and remove 5653 XAPIAN_VISIBILITY_DEFAULT from decode_length(). 5654 * api/,backends/brass/brass_database.cc, 5655 backends/chert/chert_database.cc,backends/remote/net_postlist.cc, 5656 backends/remote/remote-database.cc,net/: Update headers which need 5657 to be included. 5658 * tests/internaltest.cc,tests/unittest.cc: Move serialiselength1 and 5659 serialiselength2 from internaltest to unittest. 5660 5661Mon Jan 09 02:16:22 GMT 2012 Olly Betts <olly@survex.com> 5662 5663 * tests/api_compact.cc: Actually add test coverage for 5664 ByteLengthPrefixedStringItor - the previous attempt didn't cause 5665 merging of synonym lists to happen. 5666 5667Mon Jan 09 00:21:25 GMT 2012 Olly Betts <olly@survex.com> 5668 5669 * tests/api_replicate.cc: Fix comment typo. 5670 5671Sun Jan 08 14:47:19 GMT 2012 Olly Betts <olly@survex.com> 5672 5673 * tests/api_compact.cc: Add test coverage for 5674 ByteLengthPrefixedStringItor. 5675 5676Sun Jan 08 14:05:19 GMT 2012 Olly Betts <olly@survex.com> 5677 5678 * common/fd.h,tests/api_db.cc,tests/harness/backendmanager.cc: Add 5679 missing explicit header includes, uncovered by compiling with 5680 STLport. 5681 5682Sat Jan 07 11:45:00 GMT 2012 Olly Betts <olly@survex.com> 5683 5684 * INSTALL,configure.ac,m4/rjb_find_stlport.m4,xapian-config.in: Remove 5685 configure's --with-stlport and --with-stlport-compiler options, as 5686 they don't allow you to actually specify what you need (at least to 5687 use the Debian STLport package), and instead document what to pass 5688 to configure to enable building with STLport (though it seems to no 5689 longer be actively maintained, and the debug mode (which is probably 5690 the most interesting feature now) doesn't seem to work on Debian 5691 stable). 5692 5693Sat Jan 07 10:24:25 GMT 2012 Olly Betts <olly@survex.com> 5694 5695 * HACKING: Update STLPort URL to point to the more active fork on 5696 SourceForge. 5697 5698Fri Jan 06 20:07:06 GMT 2012 Olly Betts <olly@survex.com> 5699 5700 * tests/api_sorting.cc: Add check that NeverUseMeKeyMaker::operator() 5701 would actually cause a test failure if called. 5702 5703Fri Jan 06 20:01:27 GMT 2012 Olly Betts <olly@survex.com> 5704 5705 * tests/api_stem.cc: Test get_description() on a user-implemented 5706 stemmer. 5707 5708Fri Jan 06 14:34:16 GMT 2012 Olly Betts <olly@survex.com> 5709 5710 * tests/Makefile.am,tests/harness/,tests/queryparsertest.cc, 5711 tests/termgentest.cc,tests/unittest.cc: Make unittest use the test 5712 harness, so it gets all the valgrind and fd leak checks, and other 5713 handy features all the other tests have. Currently this is done in 5714 a bit of a hacky way, but it's a starting point for abstracting out 5715 the Xapian-specific parts of the test harness. 5716 5717Fri Jan 06 08:42:26 GMT 2012 Olly Betts <olly@survex.com> 5718 5719 * Makefile.am: Delete generated lcov directory before running genhtml. 5720 Pass --demangle-cpp and --html-gzip to genhtml. 5721 5722Fri Jan 06 08:14:05 GMT 2012 Olly Betts <olly@survex.com> 5723 5724 * Makefile.am: Trim `pwd` off all paths in coverage report. 5725 5726Fri Jan 06 02:29:04 GMT 2012 Olly Betts <olly@survex.com> 5727 5728 * common/pretty.h: Add support for AndContext and OrContext. 5729 5730Fri Jan 06 02:28:07 GMT 2012 Olly Betts <olly@survex.com> 5731 5732 * common/pretty.h: Use XAPIAN_PRETTY_AS_CLASSNAME for classes in 5733 namespace Xapian::Internal too. 5734 5735Thu Jan 05 12:23:10 GMT 2012 Olly Betts <olly@survex.com> 5736 5737 * tests/internaltest.cc,tests/unittest.cc: Move tests of 5738 serialise_double() and unserialise_double() from internaltest to 5739 unittest. 5740 * common/serialise-double.h: This means serialise_double() and 5741 unserialise_double() no longer need external visibility, so make 5742 them internal only. 5743 5744Thu Jan 05 12:08:15 GMT 2012 Olly Betts <olly@survex.com> 5745 5746 * common/bitstream.h: BitWriter doesn't need public visibility. 5747 5748Thu Jan 05 10:53:23 GMT 2012 Olly Betts <olly@survex.com> 5749 5750 * common/output-internal.h,common/pretty.h: Fix include paths for two 5751 cases which are only used in a logging build. 5752 5753Fri Dec 30 09:17:50 GMT 2011 Olly Betts <olly@survex.com> 5754 5755 * tests/queryparsertest.cc: Update expected results (mostly because we 5756 no longer flatten groups of the same operator at Query construction 5757 time). 5758 5759Thu Dec 29 13:47:04 GMT 2011 Olly Betts <olly@survex.com> 5760 5761 * api/Makefile.mk: Add missing backslash so various headers actually 5762 get shipped. 5763 5764Thu Dec 29 11:29:04 GMT 2011 Olly Betts <olly@survex.com> 5765 5766 * include/xapian/query.h: Add fake templated ctor for SWIG. 5767 5768Thu Dec 29 00:23:25 GMT 2011 Olly Betts <olly@survex.com> 5769 5770 * tests/api_scalability.cc: Add regression test querypairwise1 for 5771 ticket#273. 5772 5773Thu Dec 29 00:03:17 GMT 2011 Olly Betts <olly@survex.com> 5774 5775 * api/,backends/remote/remote-database.cc, 5776 backends/remote/remote-database.h,docs/deprecation.rst, 5777 include/xapian/query.h,matcher/,net/remoteserver.cc, 5778 queryparser/queryparser.lemony,tests/,weight/weightinternal.h: Merge 5779 query-internal-reimplementation git branch which reimplements 5780 Query::Internal. (ticket#280). These are the most notable changes: 5781 + Query objects are smaller and should be faster. 5782 + More readable format for Query::get_description(). 5783 + More compact serialisation format for Query objects. 5784 + Query operators are no longer flattened as you build up a tree (but 5785 the query optimiser still combines groups of the same operator). 5786 This means that Query objects are truly immutable, and so we don't 5787 need to copy Query objects when composing them. This should also 5788 fix a few O(n*n) cases when building up an n-way query pair-wise. 5789 (ticket#273) 5790 + The Query optimiser can do a few extra optimisations. 5791 5792Mon Dec 26 12:13:36 GMT 2011 Olly Betts <olly@survex.com> 5793 5794 * include/xapian/queryparser.h,queryparser/queryparser.cc: Change 5795 QueryParser::set_default_op() to reject operators which don't make 5796 sense to set, and explicitly document all the operators which are 5797 allowed. 5798 * tests/queryparsertest.cc: Check that bad operators are rejected in 5799 existing testcase qp_default_op2. Add new testcase qp_default_op3 to 5800 check that good operators can be set and work in a simple testcase. 5801 5802Mon Dec 26 09:12:09 GMT 2011 Olly Betts <olly@survex.com> 5803 5804 * tests/harness/backendmanager_brass.h, 5805 tests/harness/backendmanager_chert.h: Remove superfluous "private:" 5806 access specifiers. 5807 5808Sat Dec 24 12:34:19 GMT 2011 Olly Betts <olly@survex.com> 5809 5810 * HACKING: Recommend installing valgrind, ccache, and eatmydata. 5811 5812Sat Dec 24 12:28:44 GMT 2011 Olly Betts <olly@survex.com> 5813 5814 * HACKING: Make it clear "Building from SVN" applies to git too, and 5815 mention that git-svn is needed when building from git. 5816 5817Thu Dec 22 11:18:17 GMT 2011 Olly Betts <olly@survex.com> 5818 5819 * languages/compiler/generator.c: Initialise variable which can 5820 be used uninitialised. 5821 5822Thu Dec 22 03:14:02 GMT 2011 Olly Betts <olly@survex.com> 5823 5824 * bin/Makefile.mk: Link $(libxapian_la) after libbrasscheck.la and 5825 libchertcheck.la to fix mingw build. Probably closes ticket#567. 5826 5827Thu Dec 22 02:45:45 GMT 2011 Olly Betts <olly@survex.com> 5828 5829 * include/xapian/query.h: Document that OP_ELITE_SET with non-term 5830 subqueries might pick subqueries which don't match anything. 5831 Closes ticket#49. 5832 5833Thu Dec 22 02:37:10 GMT 2011 Olly Betts <olly@survex.com> 5834 5835 * include/xapian/query.h: Improve documentation of OP_ELITE_SET. 5836 5837Wed Dec 21 12:26:00 GMT 2011 Olly Betts <olly@survex.com> 5838 5839 * api/errorhandler.cc: Rearrange code in ErrorHandler::operator() to 5840 be clearer. 5841 5842Wed Dec 21 11:23:28 GMT 2011 Olly Betts <olly@survex.com> 5843 5844 * include/xapian/errorhandler.h: Fix typo: 'APU' -> 'API'. 5845 5846Wed Dec 21 09:57:32 GMT 2011 Olly Betts <olly@survex.com> 5847 5848 * api/,backends/brass/brass_postlist.cc, 5849 backends/brass/brass_postlist.h,backends/chert/, 5850 backends/contiguousalldocspostlist.cc, 5851 backends/contiguousalldocspostlist.h, 5852 backends/inmemory/inmemory_database.cc, 5853 backends/inmemory/inmemory_database.h, 5854 backends/multi/multi_postlist.cc,backends/multi/multi_postlist.h, 5855 backends/remote/,docs/,expand/,include/xapian/,matcher/, 5856 net/remoteserver.cc,net/serialise.cc,tests/,weight/bm25weight.cc, 5857 weight/boolweight.cc,weight/tradweight.cc: Deprecate Xapian::weight 5858 typedef in favour of just using double, and make the replacement 5859 everywhere. Closes ticket#560. 5860 5861Tue Dec 20 13:31:21 GMT 2011 Olly Betts <olly@survex.com> 5862 5863 * net/remoteconnection.cc: Include "safesysstat.h" for fstat(). 5864 5865Fri Dec 16 03:05:17 GMT 2011 Olly Betts <olly@survex.com> 5866 5867 * backends/brass/brass_termlisttable.cc, 5868 backends/chert/chert_termlisttable.cc, 5869 backends/multi/multi_postlist.cc,net/replicatetcpclient.cc, 5870 net/serialise.cc,net/tcpserver.cc,tests/, 5871 tests/harness/backendmanager_remoteprog.cc,tests/queryparsertest.cc, 5872 tests/soaktest/soaktest_queries.cc,tests/termgentest.cc: Remove 5873 unnecessary includes on "utils.h". 5874 5875Fri Dec 16 02:57:49 GMT 2011 Olly Betts <olly@survex.com> 5876 5877 * backends/brass/brass_btreebase.cc,backends/brass/brass_database.cc, 5878 backends/brass/brass_databasereplicator.cc, 5879 backends/chert/chert_btreebase.cc,backends/chert/chert_database.cc, 5880 backends/chert/chert_databasereplicator.cc, 5881 net/remoteconnection.cc,tests/api_replicate.cc: Replace uses of 5882 fdcloser class with new FD class. 5883 * common/utils.h: Remove fdcloser class. 5884 5885Fri Dec 16 00:56:45 GMT 2011 Olly Betts <olly@survex.com> 5886 5887 * tests/api_replicate.cc: Use a const int rather than a #define for 5888 BUFSIZE. 5889 5890Fri Dec 16 00:50:57 GMT 2011 Olly Betts <olly@survex.com> 5891 5892 * tests/api_replicate.cc: Avoid leaking fds on exceptions in 5893 truncated_copy(). 5894 5895Fri Dec 16 00:42:11 GMT 2011 Olly Betts <olly@survex.com> 5896 5897 * common/fd.h: Oops, fix to actually compile. 5898 5899Thu Dec 15 23:54:44 GMT 2011 Olly Betts <olly@survex.com> 5900 5901 * common/Makefile.mk,common/fd.h: Add new FD class which wraps a file 5902 descriptor and ensures it gets released when we exit the scope. 5903 5904Thu Dec 15 22:44:16 GMT 2011 Olly Betts <olly@survex.com> 5905 5906 * weight/Makefile: Add forwarding Makefile. 5907 5908Thu Dec 15 22:17:18 GMT 2011 Olly Betts <olly@survex.com> 5909 5910 * weight/Makefile.mk: Ship dir_contents and Makefile. 5911 5912Tue Dec 13 10:33:21 GMT 2011 Olly Betts <olly@survex.com> 5913 5914 * NEWS: Update from ChangeLog and branches/1.2. 5915 5916Fri Dec 09 10:33:25 GMT 2011 Olly Betts <olly@survex.com> 5917 5918 * tests/soaktest/soaktest.cc,tests/soaktest/soaktest.h, 5919 tests/soaktest/soaktest_queries.cc: "boulton" -> "Boulton" in 5920 copyright statements. 5921 5922Fri Dec 09 10:31:18 GMT 2011 Olly Betts <olly@survex.com> 5923 5924 * tests/soaktest/soaktest.cc: With Sun's compiler, random() and 5925 srandom() aren't in <cstdlib> so we need to use <stdlib.h> instead. 5926 5927Fri Dec 09 07:51:44 GMT 2011 Olly Betts <olly@survex.com> 5928 5929 * include/xapian/types.h: Set BAD_VALUENO to 0xffffffff rather than 5930 static_cast<valueno>(-1) - it's the same value currently, but more 5931 robust to valueno being set a wider type. 5932 5933Fri Dec 09 07:49:07 GMT 2011 Olly Betts <olly@survex.com> 5934 5935 * include/xapian/types.h: Explicitly document which value slot numbers 5936 are valid. Fixes ticket#555. 5937 5938Sat Dec 03 09:32:55 GMT 2011 Olly Betts <olly@survex.com> 5939 5940 * tests/api_opsynonym.cc: Fix typo in comment. 5941 5942Thu Dec 01 04:41:24 GMT 2011 Olly Betts <olly@survex.com> 5943 5944 * include/xapian/database.h: Remove bogus paragraph in 5945 replace_document() documentation comment, cut and pasted from 5946 delete_document() documentation comment. (Fixes bug#579) 5947 5948Tue Nov 08 01:50:25 GMT 2011 Olly Betts <olly@survex.com> 5949 5950 * include/xapian/enquire.h: Add missing doxygen @param commands. 5951 5952Tue Nov 08 01:33:34 GMT 2011 Olly Betts <olly@survex.com> 5953 5954 * include/xapian/database.h,include/xapian/document.h: Add missing 5955 doxygen @param commands. 5956 5957Mon Nov 07 10:31:04 GMT 2011 Olly Betts <olly@survex.com> 5958 5959 * include/xapian/queryparser.h: Address doxygen warnings. 5960 5961Mon Nov 07 02:40:50 GMT 2011 Olly Betts <olly@survex.com> 5962 5963 * include/xapian/postingsource.h: Document undocumented parameters, 5964 fixing doxygen warnings. 5965 * include/xapian/queryparser.h: Escape < and > in doxygen comments. 5966 5967Mon Nov 07 02:38:18 GMT 2011 Olly Betts <olly@survex.com> 5968 5969 * include/xapian/enquire.h: Enquire::get_eset() doesn't take a min_wt 5970 parameter, so remove @param documentation for it. 5971 5972Mon Nov 07 01:59:54 GMT 2011 Olly Betts <olly@survex.com> 5973 5974 * include/xapian/: Document lots of parameters, fixing doxygen 5975 warnings. 5976 5977Sun Nov 06 22:05:09 GMT 2011 Olly Betts <olly@survex.com> 5978 5979 * generate-exceptions: Document all parameters to fix doxygen 5980 warnings. 5981 5982Sun Nov 06 22:03:50 GMT 2011 Olly Betts <olly@survex.com> 5983 5984 * include/xapian/: Fix doxygen warnings. 5985 5986Sun Nov 06 21:00:08 GMT 2011 Olly Betts <olly@survex.com> 5987 5988 * include/xapian/queryparser.h: Document value parameter of 5989 sortable_serialise() and sortable_unserialise(). 5990 5991Sun Nov 06 17:53:31 GMT 2011 Olly Betts <olly@survex.com> 5992 5993 * include/xapian/document.h: Improve Document get_data() and set_data() 5994 documentation comments. 5995 5996Sun Nov 06 17:14:39 GMT 2011 Olly Betts <olly@survex.com> 5997 5998 * tests/Makefile.am: Add -I$(top_srcdir) so api/replication.h is found 5999 in a VPATH build. 6000 6001Sun Nov 06 16:06:52 GMT 2011 Olly Betts <olly@survex.com> 6002 6003 * api/,backends/database.h,backends/document.h, 6004 backends/multi/multi_alltermslist.h,backends/positionlist.h,common/, 6005 tests/harness/: More more headers out of common. 6006 6007Sun Nov 06 14:55:25 GMT 2011 Olly Betts <olly@survex.com> 6008 6009 * api/maptermlist.h,backends/inmemory/Makefile.mk, 6010 backends/inmemory/inmemory_positionlist.h, 6011 backends/remote/Makefile.mk,backends/remote/remote-database.cc, 6012 backends/remote/remote-database.h,common/Makefile.mk, 6013 common/inmemory_positionlist.h,common/remote-database.h, 6014 matcher/multimatch.cc,matcher/remotesubmatch.cc, 6015 matcher/remotesubmatch.h,net/progclient.h,net/remotetcpclient.h: 6016 Move two more headers out of common. 6017 6018Sun Nov 06 11:56:46 GMT 2011 Olly Betts <olly@survex.com> 6019 6020 * tests/internaltest.cc: Fix for VPATH build. 6021 6022Sun Nov 06 11:26:18 GMT 2011 Olly Betts <olly@survex.com> 6023 6024 * common/,tests/api_replicate.cc: Factor internal classes out of 6025 output.h into new output-internal.h to fix build failures in VPATH 6026 due to move of weightinternal.h out of common (since the test harness 6027 uses output.h). 6028 6029Sun Nov 06 00:49:45 GMT 2011 Olly Betts <olly@survex.com> 6030 6031 * api/,backends/brass/,backends/chert/,backends/dbfactory_remote.cc, 6032 backends/inmemory/inmemory_database.cc, 6033 backends/multi/multi_termlist.cc,backends/remote/net_postlist.cc, 6034 backends/remote/net_termlist.h,backends/remote/remote-database.cc, 6035 bin/,common/,expand/,matcher/,net/,tests/internaltest.cc, 6036 weight/Makefile.mk,weight/weightinternal.h: Move even more headers 6037 out of common and next to their corresponding C++ file. 6038 6039Sat Nov 05 23:55:55 GMT 2011 Olly Betts <olly@survex.com> 6040 6041 * api/replication.cc,backends/Makefile.mk, 6042 backends/brass/brass_databasereplicator.h, 6043 backends/chert/chert_databasereplicator.h, 6044 backends/databasereplicator.h,common/Makefile.mk, 6045 common/databasereplicator.h: Move databasereplicator.h from common to 6046 backends. 6047 6048Sat Nov 05 23:51:40 GMT 2011 Olly Betts <olly@survex.com> 6049 6050 * backends/Makefile.mk: Fix sort order of noinst_HEADERS. 6051 6052Sat Nov 05 23:50:33 GMT 2011 Olly Betts <olly@survex.com> 6053 6054 * api/documentvaluelist.h,api/omdatabase.cc,api/valueiterator.cc, 6055 backends/Makefile.mk,backends/brass/,backends/chert/, 6056 backends/inmemory/inmemory_database.cc, 6057 backends/multi/multi_valuelist.cc,backends/multivaluelist.h, 6058 backends/valuelist.h,backends/valuestats.h,bin/xapian-check-brass.cc, 6059 bin/xapian-check-chert.cc,common/,matcher/valuerangepostlist.h, 6060 matcher/valuestreamdocument.h: Move multivaluelist.h, valuelist.h and 6061 valuestats.h from common to backends. 6062 6063Sat Nov 05 23:40:49 GMT 2011 Olly Betts <olly@survex.com> 6064 6065 * api/,backends/brass/brass_postlist.h,backends/chert/chert_postlist.h, 6066 backends/contiguousalldocspostlist.h,backends/database.cc, 6067 backends/inmemory/inmemory_database.h, 6068 backends/multi/multi_postlist.h,backends/remote/net_postlist.h, 6069 backends/remote/remote-database.cc,common/,matcher/: Move 6070 emptypostlist.h, leafpostlist.h and postlist.h from common to api. 6071 6072Sat Nov 05 23:31:14 GMT 2011 Olly Betts <olly@survex.com> 6073 6074 * backends/Makefile.mk,backends/brass/brass_database.cc, 6075 backends/chert/chert_database.cc, 6076 backends/contiguousalldocspostlist.h,common/Makefile.mk, 6077 common/contiguousalldocspostlist.h: Move contiguousalldocspostlist.h 6078 from common to backends. 6079 6080Sat Nov 05 23:28:49 GMT 2011 Olly Betts <olly@survex.com> 6081 6082 * api/omdatabase.cc,backends/Makefile.mk,backends/alltermslist.h, 6083 backends/brass/,backends/chert/, 6084 backends/inmemory/inmemory_alltermslist.h,common/Makefile.mk, 6085 common/alltermslist.h,common/multialltermslist.h: Move alltermslist.h 6086 from common to backends. 6087 6088Sat Nov 05 23:20:05 GMT 2011 Olly Betts <olly@survex.com> 6089 6090 * common/safesysselect.h: Fix typo (FDSET -> FD_SET). 6091 6092Sat Nov 05 23:12:09 GMT 2011 Olly Betts <olly@survex.com> 6093 6094 * common/safesysselect.h: Enhance to provide portability for __WIN32__ 6095 too. 6096 * net/remoteconnection.cc,net/tcpclient.cc: Update to make use of this. 6097 6098Sat Nov 05 22:39:51 GMT 2011 Olly Betts <olly@survex.com> 6099 6100 * common/safesysselect.h: Add wrapper around FD_SET() under __WIN32__ 6101 which casts the fd parameter to unsigned to avoid a warning on mingw. 6102 * net/tcpclient.cc: Remove __WIN32__-specific case here which was 6103 working around this warning. 6104 6105Sat Nov 05 21:58:12 GMT 2011 Olly Betts <olly@survex.com> 6106 6107 * bin/.gitignore,bin/Makefile.mk,bin/xapian-delve.cc, 6108 docs/admin_notes.rst,examples/,xapian-core.spec.in: Move delve from 6109 examples to bin and rename to xapian-delve. 6110 6111Sat Nov 05 15:18:37 GMT 2011 Olly Betts <olly@survex.com> 6112 6113 * docs/overview.rst: Fix a few things which were out of date and 6114 improve wording in various places. 6115 6116Sat Nov 05 12:07:14 GMT 2011 Olly Betts <olly@survex.com> 6117 6118 * docs/quickstart.rst: Fix some factual errors, and tweak .rst 6119 source layout a little (":\n::\n" -> "::\n"). 6120 6121Thu Nov 03 20:53:49 GMT 2011 Richard Boulton <richard@tartarus.org> 6122 6123 * common/msvc_posix_wrapper.cc,common/safe.cc,net/tcpclient.cc: 6124 Some fixes for warnings when cross-compiling with mingw; missing 6125 includes to get declarations of functions in windows support 6126 code, and change to use the windows SOCKET type to avoid a 6127 signed/unsigned comparison warning in tcpclient. 6128 6129Sun Oct 30 23:31:09 GMT 2011 Olly Betts <olly@survex.com> 6130 6131 * NEWS: Update from ChangeLog. 6132 6133Sun Oct 30 13:16:12 GMT 2011 Olly Betts <olly@survex.com> 6134 6135 * include/xapian/queryparser.h: List which flags FLAG_DEFAULT includes 6136 in the doxygen documentation comments. 6137 6138Sat Oct 29 14:47:04 GMT 2011 Olly Betts <olly@survex.com> 6139 6140 * include/xapian/enquire.h: Add note to API docs to discourage use 6141 of percentage scores. 6142 6143Sat Oct 29 14:40:39 GMT 2011 Olly Betts <olly@survex.com> 6144 6145 * docs/quickstart.rst,docs/quickstartexpand.cc.html, 6146 docs/quickstartsearch.cc.html,examples/quest.cc, 6147 examples/simpleexpand.cc,examples/simplesearch.cc: Use get_weight() 6148 instead of get_percent() in examples, since percentages are rather 6149 old fashioned and you probably don't want to use them in new 6150 applications. 6151 6152Sat Oct 29 13:29:37 GMT 2011 Olly Betts <olly@survex.com> 6153 6154 * api/omenquire.cc,common/omenquireinternal.h,docs/deprecation.rst, 6155 include/xapian/enquire.h,include/xapian/types.h,tests/api_anydb.cc: 6156 Deprecate Xapian::percent and use int instead in the API and our 6157 own code. 6158 6159Sat Oct 29 12:30:05 GMT 2011 Olly Betts <olly@survex.com> 6160 6161 * docs/quickstart.rst: Fix indentation of example code. 6162 6163Sat Oct 29 10:04:24 GMT 2011 Olly Betts <olly@survex.com> 6164 6165 * docs/overview.rst: Fix typo in example code. 6166 6167Fri Oct 28 14:39:09 GMT 2011 Olly Betts <olly@survex.com> 6168 6169 * include/xapian/database.h: Note that commit() was new in 1.1.0. 6170 6171Fri Oct 14 12:38:45 GMT 2011 Olly Betts <olly@survex.com> 6172 6173 * common/realtime.h: Use safesysselect.h. 6174 6175Mon Oct 03 00:53:13 GMT 2011 Olly Betts <olly@survex.com> 6176 6177 * queryparser/lemon.c: Incorporate changes from latest upstream 6178 version. I'm failing to follow branch structure upstream to work 6179 out which changesets to merge so it's simpler to just compare the 6180 latest version with what we currently have. 6181 6182Sun Oct 02 23:31:52 GMT 2011 Olly Betts <olly@survex.com> 6183 6184 * queryparser/lemon.c: Merge https://www.sqlite.org/src/info/d8bab8cf0b: 6185 'Added %expect directive, to consider a certain number of conflicts 6186 "correct." This has the side effect of changing the process exit 6187 code to never overflow.' 6188 6189Sun Oct 02 23:26:34 GMT 2011 Olly Betts <olly@survex.com> 6190 6191 * queryparser/lemon.c: Merge https://www.sqlite.org/src/info/e6cbe1e5ee: 6192 "Added -T option, to specify a template filename on the command 6193 line. The default is still "lempar.c", though." Not currently 6194 useful to us, but trying to minimise differences with upstream 6195 lemon. 6196 6197Sun Oct 02 23:14:32 GMT 2011 Olly Betts <olly@survex.com> 6198 6199 * queryparser/lemon.c: Merge https://www.sqlite.org/src/info/e22c090f35: 6200 "Another attempt at fixing the table generator in lemon. Again, this 6201 does not effect the SQLite grammar." No change to generated grammar 6202 for QueryParser. 6203 6204Sun Oct 02 22:59:28 GMT 2011 Olly Betts <olly@survex.com> 6205 6206 * queryparser/lemon.c: Merge https://www.sqlite.org/src/info/077a6bee2d: 6207 "Fix an issue with lemon generating incorrect grammars. This issue 6208 does not effect SQLite." This means we now get the same tables 6209 generated as before the previous change. 6210 6211Sun Oct 02 22:25:54 GMT 2011 Olly Betts <olly@survex.com> 6212 6213 * queryparser/lemon.c,queryparser/queryparser.lt: Merge 6214 https://www.sqlite.org/src/info/27d8e684db: Enhancements to lemon to 6215 generate more compact action tables and to avoid making array bounds 6216 tests that can never fail on action table calculations. This 6217 reduces the size of QueryParser's tables a little. 6218 6219Sun Oct 02 21:47:36 GMT 2011 Olly Betts <olly@survex.com> 6220 6221 * queryparser/lemon.c: Merge https://www.sqlite.org/src/info/d66a0f31eb: 6222 Adjust the lemon implementation so that it always computes the same 6223 PDA regardless of qsort() implementation on the host platform. In 6224 other words, make all sorts in lemon stable. 6225 6226Thu Sep 29 12:11:28 GMT 2011 Olly Betts <olly@survex.com> 6227 6228 * tests/queryparsertest.cc: Add cases to ensure a quoted boolean 6229 prefix accepts an empty value or a single space. 6230 6231Wed Sep 14 04:48:57 GMT 2011 Olly Betts <olly@survex.com> 6232 6233 * docs/quickstart.rst: Correct link which was to 6234 quickstartsearch.cc.html but should be to quickstartindex.cc.html. 6235 6236Tue Sep 13 08:51:34 GMT 2011 Olly Betts <olly@survex.com> 6237 6238 * backends/flint_lock.cc: Fix comment typo. 6239 6240Thu Sep 01 12:50:43 GMT 2011 Olly Betts <olly@survex.com> 6241 6242 * include/xapian/enquire.h: Clarify "sort by date" with BoolWeight 6243 example. 6244 6245Tue Aug 30 13:51:48 GMT 2011 Olly Betts <olly@survex.com> 6246 6247 * docs/index.rst: Add link to apidoc.pdf. 6248 6249Wed Aug 24 14:12:05 GMT 2011 Olly Betts <olly@survex.com> 6250 6251 * queryparser/queryparser.lemony: Fix memory leak (caught by existing 6252 testcase queryparser1 when run under valgrind). 6253 6254Wed Aug 24 12:47:49 GMT 2011 Olly Betts <olly@survex.com> 6255 6256 * queryparser/,tests/queryparsertest.cc,tests/termgentest.cc: Add 6257 support for indexing and searching CJK text using n-grams. Currently 6258 this is only enabled if environmental variable XAPIAN_CJK_NGRAM is 6259 set to a non-empty value. 6260 6261Tue Aug 23 03:49:27 GMT 2011 Olly Betts <olly@survex.com> 6262 6263 * api/vectortermlist.cc,api/vectortermlist.h: Change so that p == NULL 6264 represents at_end, and p == data.data() means we've yet to start. 6265 6266Mon Aug 22 15:30:51 GMT 2011 Olly Betts <olly@survex.com> 6267 6268 * api/vectortermlist.cc: Add new source file missed from last commit. 6269 6270Mon Aug 22 14:32:50 GMT 2011 Olly Betts <olly@survex.com> 6271 6272 * api/,backends/brass/brass_synonym.cc,backends/chert/chert_synonym.cc, 6273 common/Makefile.mk,common/vectortermlist.h, 6274 queryparser/queryparser.cc: Reimplement VectorTermList to store the 6275 list of terms encoded into a single std::string, which is a lot more 6276 memory efficient that std::vector<std::string>. 6277 6278Mon Aug 22 12:22:49 GMT 2011 Olly Betts <olly@survex.com> 6279 6280 * common/Makefile.mk,common/const_database_wrapper.cc, 6281 common/const_database_wrapper.h,matcher/Makefile.mk, 6282 matcher/const_database_wrapper.cc,matcher/const_database_wrapper.h: 6283 Move const_database_wrapper.h and const_database_wrapper.cc from 6284 common/ to matcher/. 6285 6286Sun Aug 21 12:43:38 GMT 2011 Olly Betts <olly@survex.com> 6287 6288 * Makefile.am: Since we require GNU find for the coverage-check target, 6289 make use of its -delete option, so we no longer also need GNU xargs. 6290 6291Thu Aug 18 06:28:11 GMT 2011 Olly Betts <olly@survex.com> 6292 6293 * queryparser/queryparser.lemony: Reorder header includes to be more 6294 standard. 6295 6296Thu Aug 18 01:06:00 GMT 2011 Olly Betts <olly@survex.com> 6297 6298 * queryparser/queryparser.lemony: <cstring> not <string.h>. 6299 6300Tue Aug 16 04:56:20 GMT 2011 Olly Betts <olly@survex.com> 6301 6302 * bin/xapian-check.cc: Throw Xapian::FeatureUnavailableError if 6303 backends are disabled, rather than const char *. 6304 6305Tue Aug 16 04:49:05 GMT 2011 Olly Betts <olly@survex.com> 6306 6307 * backends/brass/brass_check.cc,backends/brass/brass_check.h, 6308 backends/chert/chert_check.cc,backends/chert/chert_check.h, 6309 bin/xapian-check.cc: Instead of giving cryptic numeric codes for 6310 B-tree errors and then throwing const char *, throw 6311 Xapian::DatabaseError() exceptions with string descriptions. 6312 6313Fri Aug 12 23:11:51 GMT 2011 Olly Betts <olly@survex.com> 6314 6315 * NEWS: Update from 1.2.7 and ChangeLog. 6316 6317Fri Aug 12 06:38:45 GMT 2011 Olly Betts <olly@survex.com> 6318 6319 * backends/remote/remote-database.cc: Factor out throw_bad_message(). 6320 6321Fri Aug 12 06:22:14 GMT 2011 Olly Betts <olly@survex.com> 6322 6323 * net/remoteconnection.cc: Factor out throw_database_closed(). 6324 6325Fri Aug 12 06:17:43 GMT 2011 Olly Betts <olly@survex.com> 6326 6327 * net/remoteserver.cc: Factor out throw_read_only() function. 6328 6329Fri Aug 12 06:17:01 GMT 2011 Olly Betts <olly@survex.com> 6330 6331 * common/noreturn.h: Add comment showing how to use XAPIAN_NORETURN 6332 macro. 6333 6334Sat Aug 06 05:15:53 GMT 2011 Olly Betts <olly@survex.com> 6335 6336 * api/positioniterator.cc,api/postingsource.cc,api/valueiterator.cc, 6337 common/serialise.h,include/xapian/positioniterator.h, 6338 include/xapian/postingsource.h: Fix new warnings from -Wshadow with 6339 GCC 4.6. These warnings are when a variable name "shadows" a 6340 typename, which doesn't seem problematic in general, but the only 6341 alternative seems to be to disable -Wshadow entirely, and it is 6342 useful in other cases. 6343 6344Thu Aug 04 07:57:09 GMT 2011 Olly Betts <olly@survex.com> 6345 6346 * backends/dbfactory_remote.cc,docs/deprecation.rst, 6347 include/xapian/dbfactory.h,include/xapian/types.h: Deprecate 6348 Xapian::timeout in favour of POSIX type useconds_t. 6349 6350Thu Aug 04 04:04:45 GMT 2011 Olly Betts <olly@survex.com> 6351 6352 * include/xapian/termgenerator.h, 6353 queryparser/termgenerator_internal.cc: Rename weight parameter to 6354 wdf_inc, which much better describes what it does, and avoids a 6355 -Wshadow warning with GCC 4.6. 6356 6357Thu Aug 04 04:03:37 GMT 2011 Olly Betts <olly@survex.com> 6358 6359 * api/registry.cc: Rename weight variable to weighting_scheme to avoid 6360 -Wshadow warning. 6361 6362Wed Aug 03 23:13:36 GMT 2011 Olly Betts <olly@survex.com> 6363 6364 * configure.ac: -Wshadow gives bogus warnings with 4.0 (at least on Mac 6365 OS X), so disable it for GCC < 4.1 (like the comments suggest we 6366 already did!) 6367 6368Wed Aug 03 22:53:55 GMT 2011 Olly Betts <olly@survex.com> 6369 6370 * configure.ac: Enable -fshow-column for GCC - things like vim's 6371 quickfix mode will then jump to the appropriate column for a 6372 compiler error or warning, not just the appropriate line. 6373 6374Wed Aug 03 22:13:26 GMT 2011 Olly Betts <olly@survex.com> 6375 6376 * api/omdocument.cc,backends/brass/brass_database.cc, 6377 backends/chert/chert_database.cc,common/document.h: Document objects 6378 now track if term positions might have been modified, so we can avoid 6379 having to consider them at all if you take a document and add or 6380 remove a boolean filter term. This gives an 18% speedup for adding 6381 tags in notmuch. 6382 6383Mon Aug 01 15:15:17 GMT 2011 Olly Betts <olly@survex.com> 6384 6385 * api/Makefile.mk,api/ompostlistiterator.cc,api/postingiterator.cc, 6386 include/xapian/postingiterator.h,tests/api_db.cc: Redo 6387 PostingIterator based on TermIterator with efficient end iterator 6388 checks. 6389 6390Mon Aug 01 13:34:44 GMT 2011 Olly Betts <olly@survex.com> 6391 6392 * api/,backends/brass/brass_database.cc, 6393 backends/chert/chert_database.cc, 6394 backends/inmemory/inmemory_database.cc,common/positionlist.h, 6395 examples/delve.cc,include/xapian/positioniterator.h, 6396 include/xapian/termiterator.h,include/xapian/valueiterator.h: Take 6397 the old SVN end-iterator-proxies branch and rework the TermIterator 6398 and PositionIterator reimplementations there to use the same 6399 approach as ValueIterator now uses. 6400 6401Sun Jul 31 15:24:55 GMT 2011 Olly Betts <olly@survex.com> 6402 6403 * include/xapian/valueiterator.h: Fix comment typo. 6404 6405Sun Jul 31 14:45:46 GMT 2011 Olly Betts <olly@survex.com> 6406 6407 * api/omenquire.cc,tests/api_anydb.cc: Previously, 6408 Enquire::get_matching_terms_begin() threw InvalidArgumentError if 6409 the query was empty. Now we just return an end iterator, which is 6410 more consistent with how empty queries behave elsewhere. 6411 6412Sun Jul 31 13:44:06 GMT 2011 Olly Betts <olly@survex.com> 6413 6414 * api/valueiterator.cc,include/xapian/valueiterator.h: Rename private 6415 ValueIterator::deref() method to decref() (since dereference has 6416 another meaning to the intended "remove a reference"). 6417 6418Sun Jul 31 11:27:33 GMT 2011 Olly Betts <olly@survex.com> 6419 6420 * api/valueiterator.cc,include/xapian/database.h, 6421 include/xapian/document.h,include/xapian/valueiterator.h: Don't use 6422 intrusive_ptr to reference count ValueIterator internals, but 6423 instead update the reference count in hand-written code. This is 6424 less good in itself, but it means we can inline ValueIterator's 6425 default constructor and its destructor in the case where the 6426 internal is NULL, which should mean a comparison with the end 6427 iterator optimises to a NULL pointer check but without needing 6428 the ValueIteratorEnd_ class, which doesn't work as ValueIterator() 6429 would in templates or some cases of overload resolution. 6430 6431Sat Jul 30 12:07:52 GMT 2011 Olly Betts <olly@survex.com> 6432 6433 * docs/doxygen_api.conf.in: Don't generate XML from doxygen for the 6434 bindings - the bindings now do this for themselves. (ticket#262) 6435 6436Fri Jul 29 01:33:37 GMT 2011 Olly Betts <olly@survex.com> 6437 6438 * include/xapian/enquire.h: Just forward declare "class KeyMaker" 6439 rather than including <xapian/keymaker.h>. 6440 6441Fri Jul 29 01:28:08 GMT 2011 Olly Betts <olly@survex.com> 6442 6443 * api/omdatabase.cc,backends/slowvaluelist.cc, 6444 include/xapian/database.h,matcher/valuestreamdocument.cc: Change 6445 Database::get_document_lazily_() to return void* so we don't need 6446 to include xapian/document.h from xapian/database.h just to get 6447 Document::Internal declared. This doesn't affect user code, but 6448 reduces the number of files which need to be rebuilt in the library 6449 when xapian/document.h changes. 6450 6451Wed Jul 27 05:59:32 GMT 2011 Olly Betts <olly@survex.com> 6452 6453 * include/xapian/matchspy.h: Remove unnecessary header includes. 6454 6455Wed Jul 27 02:11:08 GMT 2011 Olly Betts <olly@survex.com> 6456 6457 * docs/index.rst: Add links to Omega and bindings docs. 6458 6459Tue Jul 26 05:36:50 GMT 2011 Olly Betts <olly@survex.com> 6460 6461 * docs/deprecation.rst: Add Omega's OLDP CGI parameter. 6462 6463Fri Jul 22 15:37:48 GMT 2011 Olly Betts <olly@survex.com> 6464 6465 * include/xapian/queryparser.h: Reword documentation of 6466 add_boolean_prefix()'s exclusive parameter to talk about terms and 6467 prefixes rather than values and fields (which was confusing since 6468 "document value" has a particular meaning in Xapian). 6469 6470Thu Jul 21 03:37:49 GMT 2011 Olly Betts <olly@survex.com> 6471 6472 * matcher/mergepostlist.cc: Another debug logging fix. 6473 6474Thu Jul 21 03:16:39 GMT 2011 Olly Betts <olly@survex.com> 6475 6476 * api/omenquire.cc,api/ompostlistiterator.cc, 6477 backends/brass/brass_database.cc, 6478 backends/brass/brass_positionlist.cc, 6479 backends/brass/brass_postlist.cc,backends/chert/chert_database.cc, 6480 backends/chert/chert_positionlist.cc, 6481 backends/chert/chert_postlist.cc: More debug logging fixes. 6482 6483Thu Jul 21 02:55:00 GMT 2011 Olly Betts <olly@survex.com> 6484 6485 * api/omdatabase.cc,api/omenquire.cc,api/replication.cc, 6486 backends/brass/brass_alldocspostlist.cc, 6487 backends/brass/brass_database.cc, 6488 backends/brass/brass_spellingwordslist.cc,backends/chert/, 6489 matcher/mergepostlist.cc,matcher/msetpostlist.cc, 6490 matcher/synonympostlist.cc: Fix various incorrect LOGCALL lines. 6491 6492Thu Jul 21 02:12:25 GMT 2011 Olly Betts <olly@survex.com> 6493 6494 * backends/brass/brass_postlist.cc,backends/chert/chert_postlist.cc, 6495 common/documentterm.h,net/progclient.cc: Fix uses of LOGCALL_VOID 6496 which should be LOGCALL_CTOR. 6497 6498Wed Jul 20 07:00:48 GMT 2011 Olly Betts <olly@survex.com> 6499 6500 * tests/api_matchspy.cc: Remove checks for remote dbtype in matchspy2 6501 and matchspy4 testcases - these were checking for values which would 6502 never match, and the testcases should and do work with remote 6503 backends. 6504 6505Wed Jul 20 01:19:46 GMT 2011 Olly Betts <olly@survex.com> 6506 6507 * docs/facets.rst: Minor clarification. 6508 6509Wed Jul 20 00:22:38 GMT 2011 Olly Betts <olly@survex.com> 6510 6511 * bin/xapian-check.cc: Document in --help that checking a whole 6512 database performs additional cross-checks between the tables. 6513 6514Tue Jul 19 18:29:51 GMT 2011 Richard Boulton <richard@tartarus.org> 6515 6516 * docs/facets.rst: Expand descriptions for indexing and finding 6517 facets to hopefully be more helpful to newcomers. 6518 6519Tue Jul 19 17:52:25 GMT 2011 Richard Boulton <richard@tartarus.org> 6520 6521 * docs/facets.rst: Fix example calls to add_matchspy() to be passed 6522 pointers, and example call to get_termfreq(). 6523 6524Sat Jul 16 10:54:39 GMT 2011 Olly Betts <olly@survex.com> 6525 6526 * tests/collate-test: Now understand use of "#if 0" to disable 6527 testcases. 6528 * tests/api_db.cc: Remove comment in front of 6529 "DEFINE_TESTCASE(multierrhandler1, [...]" which is no longer needed. 6530 6531Wed Jul 13 15:07:27 GMT 2011 Olly Betts <olly@survex.com> 6532 6533 * include/xapian/database.h: Improve the documentation comment for 6534 Database::close(). (ticket#504) 6535 6536Sat Jul 09 14:00:08 GMT 2011 Olly Betts <olly@survex.com> 6537 6538 * include/xapian/stem.h,languages/stem.cc: Stem::operator= now returns 6539 a reference to the assigned-to object. 6540 6541Sat Jul 09 07:08:03 GMT 2011 Olly Betts <olly@survex.com> 6542 6543 * languages/compiler/analyser.c: Change reporting of line number for 6544 repeated string in among to use "FILE:LINE:" prefix. 6545 6546Sat Jul 09 01:04:18 GMT 2011 Olly Betts <olly@survex.com> 6547 6548 * common/pretty.h: Don't dereference a NULL pointer. 6549 6550Fri Jul 08 14:28:42 GMT 2011 Olly Betts <olly@survex.com> 6551 6552 * common/output.h,common/pretty.h: Fix invalid templates in pretty.h. 6553 6554Fri Jul 08 12:55:19 GMT 2011 Olly Betts <olly@survex.com> 6555 6556 * common/pretty.h: Fix template for pretty printing a std::list. 6557 6558Thu Jul 07 10:40:53 GMT 2011 Olly Betts <olly@survex.com> 6559 6560 * api/omenquire.cc: Add assertions that the index is in range when 6561 dereferencing MSetIterator and ESetIterator. 6562 6563Wed Jul 06 08:20:56 GMT 2011 Olly Betts <olly@survex.com> 6564 6565 * backends/brass/brass_table.cc,backends/chert/chert_table.cc: Trust 6566 new to throw std::bad_alloc rather than returning NULL. 6567 6568Wed Jul 06 05:50:38 GMT 2011 Olly Betts <olly@survex.com> 6569 6570 * tests/internaltest.cc: Remove testcase serialisequery1. 6571 * tests/api_serialise.cc: Extend serialise_query1 to cover equivalent 6572 cases via the API. 6573 6574Tue Jul 05 01:20:59 GMT 2011 Olly Betts <olly@survex.com> 6575 6576 * common/debuglog.h: Add QUERY category for debug logging. 6577 6578Fri Jul 01 04:55:02 GMT 2011 Olly Betts <olly@survex.com> 6579 6580 * common/unordered_map.h: Add my <unordered_map> portability wrapper 6581 which was used by the JNI java bindings. It's not currently used 6582 here, but is likely to be useful (two of the GSoC projects are 6583 using unordered_map). 6584 6585Wed Jun 29 12:16:59 GMT 2011 Richard Boulton <richard@tartarus.org> 6586 6587 * languages/compiler/tokeniser.c: Fix memory leak (of file name) in 6588 snowball compiler introduced by last commit. 6589 6590Wed Jun 29 07:49:36 GMT 2011 Olly Betts <olly@survex.com> 6591 6592 * languages/compiler/: Report "FILE:LINE:" before each error so tools 6593 like vim's quickfix mode can parse this and bring up the line with 6594 the error automatically. 6595 6596Wed Jun 29 07:49:10 GMT 2011 Olly Betts <olly@survex.com> 6597 6598 * languages/compiler/header.h: Add comments to note that struct input 6599 must be a prefix of struct tokeniser. 6600 6601Wed Jun 29 07:47:30 GMT 2011 Olly Betts <olly@survex.com> 6602 6603 * languages/basque.sbl: Use stringdef instead of literal accented 6604 characters in the code. 6605 6606Wed Jun 29 07:13:30 GMT 2011 Olly Betts <olly@survex.com> 6607 6608 * docs/stemming.rst,include/xapian/stem.h,languages/: Add stemmers 6609 for Armenian (hy), Basque (eu), and Catalan (ca). 6610 6611Mon Jun 27 08:16:55 GMT 2011 Olly Betts <olly@survex.com> 6612 6613 * include/xapian/query.h: Add a fake specialised form of the templated 6614 ctor for SWIG. 6615 6616Sat Jun 25 11:27:00 GMT 2011 Olly Betts <olly@survex.com> 6617 6618 * include/xapian/enquire.h: Fix doc comment typo which reversed the 6619 intended sense. 6620 6621Sat Jun 25 06:20:34 GMT 2011 Olly Betts <olly@survex.com> 6622 6623 * api/omenquire.cc,common/omenquireinternal.h: Remove unused method 6624 Enquire::Internal::register_match_decider(). 6625 6626Sat Jun 25 06:05:22 GMT 2011 Olly Betts <olly@survex.com> 6627 6628 * include/xapian/enquire.h: MSet(MSet::Internal *) -> MSet(Internal *) 6629 for consistency with other classes. 6630 6631Fri Jun 24 16:15:00 GMT 2011 Olly Betts <olly@survex.com> 6632 6633 * api/omdatabase.cc,backends/slowvaluelist.cc, 6634 include/xapian/database.h,matcher/valuestreamdocument.cc: Rename 6635 Database::get_document_lazily() to get_document_lazily_() to conform 6636 to our convention for naming methods for internal use which have 6637 "public" visibility. 6638 6639Wed Jun 22 23:51:15 GMT 2011 Richard Boulton <richard@tartarus.org> 6640 6641 * configure.ac: Correct tiny typo in error message when zlib isn't 6642 found. 6643 6644Tue Jun 21 04:08:29 GMT 2011 Olly Betts <olly@survex.com> 6645 6646 * common/autoptr.h: Update comment about why we have this file. It's 6647 no longer a concern that we might need our own AutoPtr implementation 6648 but we are likely to want to be able to migrate to unique_ptr easily 6649 as C++0x features become more widely available. 6650 6651Tue Jun 21 02:26:36 GMT 2011 Olly Betts <olly@survex.com> 6652 6653 * HACKING,common/pretty.h,configure.ac,tests/internaltest.cc: Fix a 6654 few lingering references to RefCntPtr and RefCntBase. 6655 6656Tue Jun 21 02:01:25 GMT 2011 Olly Betts <olly@survex.com> 6657 6658 * api/,backends/brass/,backends/chert/,backends/database.cc, 6659 backends/inmemory/inmemory_alltermslist.h, 6660 backends/inmemory/inmemory_database.cc, 6661 backends/inmemory/inmemory_database.h, 6662 backends/multi/multi_alltermslist.cc, 6663 backends/multi/multi_valuelist.cc,backends/remote/,common/, 6664 docs/doxygen_api.conf.in,include/Makefile.mk,include/xapian/, 6665 matcher/msetpostlist.h,matcher/multimatch.cc, 6666 queryparser/queryparser_internal.h, 6667 queryparser/termgenerator_internal.h,tests/internaltest.cc: Convert 6668 to use xapian/intrusive_ptr.h instead of xapian/base.h. 6669 6670Mon Jun 20 23:55:10 GMT 2011 Olly Betts <olly@survex.com> 6671 6672 * include/xapian/intrusive_ptr.h: Unmodified version of 6673 boost/smart_ptr/intrusive_ptr.hpp as of Boost 1.42 (committed to aid 6674 merging changes in the future). 6675 6676Mon Jun 20 12:46:47 GMT 2011 Olly Betts <olly@survex.com> 6677 6678 * common/databasereplicator.h,languages/steminternal.h,tests/harness/: 6679 Remove inclusions of xapian/base.h from files which don't use 6680 RefCntPtr or RefCntBase. 6681 6682Mon Jun 20 11:33:03 GMT 2011 Olly Betts <olly@survex.com> 6683 6684 * include/xapian/base.h: Remove unnecessary check for self-assignment 6685 as it isn't a common case and the current code copes gracefully with 6686 it anyway. 6687 6688Mon Jun 20 05:25:05 GMT 2011 Olly Betts <olly@survex.com> 6689 6690 * backends/brass/brass_postlist.cc,backends/brass/brass_postlist.h, 6691 backends/chert/chert_postlist.cc,backends/chert/chert_postlist.h: 6692 Reduce size of BrassPostList/ChertPostList objects by moving bool 6693 members together (168->160 bytes for ChertPostList on x86-64 Linux). 6694 6695Sun Jun 19 13:44:32 GMT 2011 Olly Betts <olly@survex.com> 6696 6697 * tests/internaltest.cc: Fix typo in comment and verbose output. 6698 6699Sun Jun 19 12:23:43 GMT 2011 Olly Betts <olly@survex.com> 6700 6701 * api/error.cc,generate-exceptions: Rearrange members of Xapian::Error 6702 to reduce its size (from 48 to 40 bytes on x86-64 Linux). 6703 6704Sun Jun 19 12:22:53 GMT 2011 Olly Betts <olly@survex.com> 6705 6706 * common/pretty.h: Fix comment typo. 6707 6708Sun Jun 19 04:45:26 GMT 2011 Olly Betts <olly@survex.com> 6709 6710 * INSTALL: Update GCC details - we now recommend 4.3 or newer (was 4.1) 6711 and note that while 3.1 is the hard minimum requirement, the oldest 6712 we've tested with at all recently was 3.3. 6713 6714Sat Jun 18 14:27:14 GMT 2011 Olly Betts <olly@survex.com> 6715 6716 * queryparser/queryparser.lemony, 6717 queryparser/termgenerator_internal.cc: Fix warning from GCC 3.3. 6718 6719Sat Jun 18 06:27:03 GMT 2011 Olly Betts <olly@survex.com> 6720 6721 * api/,expand/ortermlist.cc,include/xapian/: Use TermIterator() instead 6722 of TermIterator(NULL), and similarly for other Xapian iterator 6723 classes. 6724 6725Sat Jun 18 05:16:23 GMT 2011 Olly Betts <olly@survex.com> 6726 6727 * tests/zlib-vg.so: Remove file committed accidentally. 6728 6729Sat Jun 18 05:07:56 GMT 2011 Olly Betts <olly@survex.com> 6730 6731 * api/,include/xapian/positioniterator.h, 6732 include/xapian/termiterator.h: Reimplementations of PositionIterator 6733 and TermIterator from the end-iterator-proxies branch. Assignment 6734 operators for these classes now return *this rather than void. 6735 6736Sat Jun 18 01:49:02 GMT 2011 Olly Betts <olly@survex.com> 6737 6738 * tests/perftest/Makefile.mk: Make sure that perftest isn't run with 6739 libeatmydata preloaded. 6740 6741Fri Jun 17 07:39:35 GMT 2011 Olly Betts <olly@survex.com> 6742 6743 * docs/deprecation.rst: Tabs to spaces. 6744 6745Fri Jun 17 07:38:06 GMT 2011 Olly Betts <olly@survex.com> 6746 6747 * docs/deprecation.rst: Add flush() -> commit(). 6748 6749Thu Jun 16 14:40:35 GMT 2011 Olly Betts <olly@survex.com> 6750 6751 * tests/: Add TEST( ) or TEST(! ) around existing reopen() calls to 6752 check that we get true or false returned as we would expect. 6753 (ticket#548) 6754 6755Thu Jun 16 05:15:28 GMT 2011 Olly Betts <olly@survex.com> 6756 6757 * README: Note licence is GPL *2+*. Say "SVN/git". Use trac URL for 6758 wiki. 6759 6760Wed Jun 15 23:31:03 GMT 2011 Olly Betts <olly@survex.com> 6761 6762 * xapian-core/api/error.cc: Don't include the magic code byte at the 6763 start of Error::get_description()'s return value. 6764 6765Wed Jun 15 15:51:42 GMT 2011 Olly Betts <olly@survex.com> 6766 6767 * exception_data.pm,generate-exceptions,net/serialise.cc: When 6768 propagating exceptions from a remote backend server, use a numeric 6769 code to represent which exception is being transferred rather than 6770 the name of the type as that can be turned back into an exception 6771 with a simple switch statement. It's also less data to transfer. 6772 (ticket#471) 6773 6774Wed Jun 15 14:03:49 GMT 2011 Olly Betts <olly@survex.com> 6775 6776 * backends/remote/remote-database.cc,common/remote-database.h, 6777 common/remoteprotocol.h,docs/remote_protocol.rst,net/remoteserver.cc: 6778 Propagate the return value of Database::reopen() across the link. 6779 (ticket#548) 6780 6781Wed Jun 15 13:03:56 GMT 2011 Olly Betts <olly@survex.com> 6782 6783 * backends/remote/remote-database.cc,common/remote-database.h, 6784 common/remoteprotocol.h,docs/remote_protocol.rst,net/remoteserver.cc: 6785 Unify REPLY_GREETING and REPLY_UPDATE; send (last_docid - doccount) 6786 instead of last_docid; send (doclen_ubound - doclen_lbound) instead 6787 of doclen_ubound. This requires a remote protocol major version 6788 bump. Fix out of date documentation for what's in a REPLY_UPDATE 6789 message. 6790 6791Wed Jun 15 12:24:07 GMT 2011 Olly Betts <olly@survex.com> 6792 6793 * backends/remote/remote-database.cc: Remove special check which gives 6794 a more helpful error message when a modern client is used against a 6795 remote server running Xapian <= 0.9.6. 6796 6797Wed Jun 15 11:07:19 GMT 2011 Olly Betts <olly@survex.com> 6798 6799 * net/remoteserver.cc: Remove unnecessary call to reopen() - either we 6800 just called it or we're a writable database and it doesn't do 6801 anything. 6802 6803Wed Jun 15 09:03:06 GMT 2011 Olly Betts <olly@survex.com> 6804 6805 * xapian-core/backends/remote/remote-database.cc, 6806 xapian-core/common/remote-database.h: Factor out the code to decode 6807 the returned stats into a new apply_stats_update() method. 6808 6809Wed Jun 15 08:57:12 GMT 2011 Olly Betts <olly@survex.com> 6810 6811 * xapian-core/Makefile.am: Remove check-* from .PHONY as that doesn't 6812 work with a pattern rule. Fix check-% pattern rule to actually work. 6813 6814Tue Jun 14 15:11:38 GMT 2011 Olly Betts <olly@survex.com> 6815 6816 * docs/remote_protocol.rst: Fixed typo which reversed the intended 6817 sense. 6818 6819Tue Jun 14 02:01:42 GMT 2011 Olly Betts <olly@survex.com> 6820 6821 * Makefile.am,configure.ac: Avoid portability warning from automake 6822 about GNU make %-style pattern rules. 6823 6824Tue Jun 14 01:42:01 GMT 2011 Olly Betts <olly@survex.com> 6825 6826 * configure.ac: Add unnecessary AC_LANG_SOURCE wrapper to shut up 6827 autoconf warning. 6828 6829Tue Jun 14 01:18:54 GMT 2011 Olly Betts <olly@survex.com> 6830 6831 * configure.ac: Reset LIBRARY_VERSION_INFO to 0:0:0 for the 6832 development series, since the library name is different (it has a 6833 -1.3 suffix). 6834 6835Mon Jun 13 16:24:20 GMT 2011 Olly Betts <olly@survex.com> 6836 6837 * api/omenquire.cc,common/multimatch.h,common/omenquireinternal.h, 6838 docs/deprecation.rst,include/xapian/enquire.h,matcher/multimatch.cc, 6839 net/remoteserver.cc,tests/api_backend.cc: Remove the deprecated 6840 old-style match spy approach of using a MatchDecider. 6841 6842Mon Jun 13 15:47:57 GMT 2011 Olly Betts <olly@survex.com> 6843 6844 * api/keymaker.cc,docs/deprecation.rst,include/xapian/keymaker.h, 6845 tests/Makefile.am,tests/api_sortingold.cc: Remove deprecated Sorter 6846 class and MultiValueSorter subclass. 6847 * tests/Makefile.mk,tests/perftest/Makefile.mk, 6848 tests/soaktest/Makefile.mk: Make the generated "*_all.h" depend on 6849 the Makefile.am or Makefile.mk which contains the list of files it 6850 is generated from so that it gets regenerated when a file is 6851 removed from that list. 6852 6853Mon Jun 13 13:18:29 GMT 2011 Olly Betts <olly@survex.com> 6854 6855 * common/omenquireinternal.h: Remove a FIXME - caching the Document 6856 object in MSetItem isn't a replacement for storing the sort_key 6857 now that sort_keys can be computed. 6858 6859Mon Jun 13 13:07:31 GMT 2011 Olly Betts <olly@survex.com> 6860 6861 * include/xapian/queryparser.h,queryparser/queryparser.cc: Fold the 6862 two forms of QueryParser::add_boolean_prefix() into one method 6863 with a default parameter now that changing the ABI isn't a worry. 6864 6865Mon Jun 13 12:00:36 GMT 2011 Olly Betts <olly@survex.com> 6866 6867 * docs/deprecation.rst: Non-pythonic iterators have been removed. 6868 (ticket#255) 6869 6870Mon Jun 13 10:40:30 GMT 2011 Olly Betts <olly@survex.com> 6871 6872 * docs/deprecation.rst: Python Stem_get_available_languages() has now 6873 been removed. 6874 6875Mon Jun 13 10:38:49 GMT 2011 Olly Betts <olly@survex.com> 6876 6877 * docs/deprecation.rst,include/xapian/enquire.h: Remove deprecated 6878 default value for second parameter to Enquire::set_sort_by_value() 6879 and friends. 6880 6881Mon Jun 13 09:30:15 GMT 2011 Olly Betts <olly@survex.com> 6882 6883 * api/omdatabase.cc,backends/brass/brass_database.cc, 6884 backends/brass/brass_database.h,backends/chert/chert_database.cc, 6885 backends/chert/chert_database.h,backends/database.cc, 6886 backends/inmemory/inmemory_database.cc, 6887 backends/inmemory/inmemory_database.h, 6888 backends/remote/remote-database.cc,common/, 6889 include/xapian/database.h: Database::reopen() now returns true if 6890 the database may have been reopened. (ticket#548) 6891 6892Mon Jun 13 09:01:33 GMT 2011 Olly Betts <olly@survex.com> 6893 6894 * docs/admin_notes.rst: Add note about xapian-chert-update. 6895 6896Mon Jun 13 08:47:06 GMT 2011 Olly Betts <olly@survex.com> 6897 6898 * bin/xapian-check-flint.cc,bin/xapian-check-flint.h: Remove two 6899 flint-specific files I missed. 6900 6901Mon Jun 13 08:42:11 GMT 2011 Olly Betts <olly@survex.com> 6902 6903 * HACKING,INSTALL,Makefile.am,api/compactor.cc,api/replication.cc, 6904 backends/Makefile.mk,backends/brass/brass_compact.cc, 6905 backends/chert/chert_compact.cc,backends/databasereplicator.cc, 6906 backends/dbfactory.cc,backends/dir_contents,backends/flint/, 6907 backends/slowvaluelist.h,bin/,common/database.h,common/pretty.h, 6908 common/unaligned.h,configure.ac,docs/,include/xapian/dbfactory.h, 6909 include/xapian/valueiterator.h,include/xapian/version_h.cc,tests/, 6910 tests/harness/,tests/queryparsertest.cc,tests/termgentest.cc, 6911 tests/testdata/flint-0.9.9/,tests/testdata/flint-1.0.1/, 6912 tests/testdata/flint-1.0.2/: Remove flint backend. 6913 6914Mon Jun 13 06:09:29 GMT 2011 Olly Betts <olly@survex.com> 6915 6916 * bin/Makefile.mk: Remove lingering reference to quartz (rules to 6917 generate man pages for quartzdump, etc). 6918 6919Mon Jun 13 05:46:00 GMT 2011 Olly Betts <olly@survex.com> 6920 6921 * Makefile.am,tests/Makefile.am: Just use a GNU-make-specific pattern 6922 rules to forward check-* targets from the top level to the tests 6923 subdirectory. It's clear we aren't keeping the explicit list of 6924 target forwarding rules up to date, and this is just a convenience 6925 so not worth a lot of maintenance effort. 6926 6927Mon Jun 13 05:01:33 GMT 2011 Olly Betts <olly@survex.com> 6928 6929 * configure.ac: Update version to 1.3.0 and add -1.3 suffix for 6930 library and /xapian-1.3 suffix to include file installation 6931 directory. 6932 6933Mon Jun 13 04:56:13 GMT 2011 Olly Betts <olly@survex.com> 6934 6935 * unicode/tclUniData.cc: Upgrade to Unicode 6.0.0 (ticket#497). 6936 * tests/api_unicode.cc: Extend testcases to check for assorted changes 6937 and additions in Unicode 6.0.0. 6938 6939Sun Jun 12 11:54:45 GMT 2011 Olly Betts <olly@survex.com> 6940 6941 * NEWS: Final update for 1.2.6. 6942 6943Sat Jun 11 10:11:23 GMT 2011 Olly Betts <olly@survex.com> 6944 6945 * api/omdocument.cc: Update LOGCALL(MATCH, ...) to LOGCALL(DB, ...). 6946 Convert LOGLINE() at start of method to LOGCALL(). 6947 6948Sat Jun 11 09:57:00 GMT 2011 Olly Betts <olly@survex.com> 6949 6950 * api/omdatabase.cc: Remove self-assignment check from 6951 Database::operator= since this is an uncommon code path and 6952 RefCntPtr ensures that self-assignment of the internals is 6953 safe. 6954 6955Sat Jun 11 08:48:10 GMT 2011 Olly Betts <olly@survex.com> 6956 6957 * api/omdatabase.cc,backends/brass/brass_cursor.h, 6958 backends/chert/chert_cursor.h,backends/flint/flint_cursor.h, 6959 backends/flint/flint_table.cc,backends/flint/flint_values.cc, 6960 backends/inmemory/inmemory_database.cc,bin/xapian-check-brass.cc, 6961 bin/xapian-check-chert.cc,bin/xapian-chert-update.cc, 6962 matcher/queryoptimiser.cc,matcher/valuegepostlist.h: Use string() or 6963 std::string() rather than "". 6964 * common/remoteconnection.h,net/tcpserver.cc: Use 2 parameter form of 6965 Error subclass ctors when the context is "". 6966 * api/replication.cc,backends/flint/flint_database.cc, 6967 common/remoteconnection.h,net/replicatetcpclient.cc, 6968 net/replicatetcpserver.cc: Make context parameter of 6969 RemoteConnection ctor optional. 6970 * common/leafpostlist.h: Say 'empty' rather than '""' in a 6971 documentation comment. 6972 * examples/simpleindex.cc: Use '.resize(0)' rather than '= ""'. 6973 6974Sat Jun 11 07:01:41 GMT 2011 Olly Betts <olly@survex.com> 6975 6976 * api/,backends/brass/,backends/chert/,backends/flint/, 6977 backends/remote/remote-database.cc,common/,include/xapian/,matcher/, 6978 net/remoteserver.cc,net/serialise.cc: Consistently use "slot" in 6979 variable names for value slots, rather than valueno, valno, valueid 6980 or value. The only exception remaining is a protected member of 6981 Xapian::StringValueRangeProcessor since that's really part of the 6982 public API. 6983 6984Fri Jun 10 11:55:45 GMT 2011 Olly Betts <olly@survex.com> 6985 6986 * NEWS,configure.ac: Update in preparation for 1.2.6. 6987 6988Fri Jun 10 09:05:38 GMT 2011 Olly Betts <olly@survex.com> 6989 6990 * examples/NEWS,examples/TODO: Remove files which are unused since the 6991 examples were merged into xapian-core. 6992 6993Fri Jun 10 09:03:33 GMT 2011 Olly Betts <olly@survex.com> 6994 6995 * Makefile.am: Ship ChangeLog.0 in the tarball. 6996 6997Fri Jun 10 05:19:24 GMT 2011 Olly Betts <olly@survex.com> 6998 6999 * tests/Makefile.am: Actually include soaktest/Makefile.mk. 7000 7001Thu Jun 09 23:26:52 GMT 2011 Olly Betts <olly@survex.com> 7002 7003 * docs/doxygen_api.conf.in,docs/doxygen_source.conf.in: Define 7004 XAPIAN_DEPRECATED_CLASS to empty for doxygen. 7005 7006Thu Jun 09 22:21:29 GMT 2011 Olly Betts <olly@survex.com> 7007 7008 * docs/overview.rst: Document "remote" in stub databases. 7009 7010Thu Jun 09 15:23:12 GMT 2011 Olly Betts <olly@survex.com> 7011 7012 * HACKING,docs/deprecation.rst,include/xapian/deprecated.h, 7013 include/xapian/keymaker.h: Add XAPIAN_DEPRECATED_CLASS macro 7014 for marking a class as deprecated, so we don't have to call 7015 XAPIAN_DEPRECATED() with no parameters. 7016 7017Thu Jun 09 14:03:17 GMT 2011 Olly Betts <olly@survex.com> 7018 7019 * HACKING: Clarify wording about PATH. 7020 7021Thu Jun 09 13:04:53 GMT 2011 Olly Betts <olly@survex.com> 7022 7023 * docs/queryparser.rst,include/xapian/queryparser.h, 7024 queryparser/queryparser.cc,queryparser/queryparser.lemony, 7025 queryparser/queryparser_internal.h,tests/queryparsertest.cc: Add 7026 QueryParser::set_max_wildcard_expansion() method to allow limiting 7027 the number of terms a wildcard can expand to. Implementation mostly 7028 from a patch by Adam Sjøgren in ticket#350. 7029 7030Tue Jun 07 23:16:33 GMT 2011 Dan Colish <dcolish@gmail.com> 7031 7032 * backends/brass/brass_changesetapplier.h, 7033 backends/chert/chert_changesetapplier.h, 7034 backends/flint/flint_changesetapplier.h: Remove dead code 7035 7036Thu Jun 02 13:21:28 GMT 2011 Olly Betts <olly@survex.com> 7037 7038 * AUTHORS: Add recent bug reporters. 7039 7040Thu Jun 02 11:03:57 GMT 2011 Olly Betts <olly@survex.com> 7041 7042 * queryparser/queryparser.lemony: If default_op is OP_NEAR or 7043 OP_PHRASE then disable stemming of the terms, since we don't index 7044 positional information for stemmed terms by default. 7045 * tests/queryparsertest.cc: Adjust near1 and phrase1 to act as 7046 regression tests for this fix. 7047 7048Thu Jun 02 02:58:58 GMT 2011 Olly Betts <olly@survex.com> 7049 7050 * backends/brass/brass_spelling.cc,backends/brass/brass_spelling.h, 7051 backends/chert/chert_spelling.cc,backends/chert/chert_spelling.h, 7052 backends/flint/flint_spelling.cc,backends/flint/flint_spelling.h: 7053 Fix bug Nikita Smetanin spotted with adding a word which has the 7054 same trigram in an even number of times. 7055 * tests/api_spelling.cc: Add regression test spell8. 7056 7057Wed Jun 01 14:11:38 GMT 2011 Olly Betts <olly@survex.com> 7058 7059 * backends/flint_lock.cc: Kill the child process which holds the lock 7060 with SIGKILL as that can't be ignored, whereas SIGHUP can be in some 7061 cases it seems. 7062 7063Wed Jun 01 12:12:14 GMT 2011 Olly Betts <olly@survex.com> 7064 7065 * docs/quickstartexpand.cc.html,docs/quickstartindex.cc.html, 7066 docs/quickstartsearch.cc.html: Reinstate the old HTML versions 7067 of these files. 7068 7069Wed Jun 01 12:09:55 GMT 2011 Olly Betts <olly@survex.com> 7070 7071 * docs/queryparser.rst,docs/remote_protocol.rst: Fix literal hard 7072 spaces in input to just be spaces. 7073 7074Wed Jun 01 12:06:26 GMT 2011 Olly Betts <olly@survex.com> 7075 7076 * docs/quickstart.rst: Fix sub-heading run in to previous paragraph. 7077 7078Wed Jun 01 12:04:52 GMT 2011 Olly Betts <olly@survex.com> 7079 7080 * docs/remote.rst: Replace out-dated list of xapian-tcpsrv's command 7081 line options with a reference to --help and the man page. Tweak 7082 wording in a few places. 7083 7084Wed Jun 01 11:54:37 GMT 2011 Olly Betts <olly@survex.com> 7085 7086 * docs/overview.rst: Change omrset to rset. Remove some bogus `` left 7087 over from fixing definition list formatting. 7088 7089Wed Jun 01 11:38:09 GMT 2011 Olly Betts <olly@survex.com> 7090 7091 * docs/stemming.rst: Comment out bogus claim that there are stopword 7092 lists in xapian-data (the lack of stopword lists is already 7093 ticket#269). 7094 7095Wed Jun 01 11:29:58 GMT 2011 Olly Betts <olly@survex.com> 7096 7097 * docs/matcherdesign.rst,docs/stemming.rst: Convert more arrows to 7098 Unicode. 7099 * docs/stemming.rst: Fix some missing paragraph breaks. 7100 7101Wed Jun 01 11:18:25 GMT 2011 Olly Betts <olly@survex.com> 7102 7103 * docs/intro_ir.rst: Use Unicode right arrow. 7104 7105Wed Jun 01 10:38:27 GMT 2011 Olly Betts <olly@survex.com> 7106 7107 * docs/: Revert quickstart*.cc.html to being HTML rather than .rst as 7108 the .rst version lose the syntax highlighting. Update svn:ignore. 7109 7110Wed Jun 01 10:27:11 GMT 2011 Olly Betts <olly@survex.com> 7111 7112 * docs/intro_ir.rst: Sort out the remaining formatting issues. 7113 7114Wed Jun 01 08:05:05 GMT 2011 Olly Betts <olly@survex.com> 7115 7116 * docs/intro_ir.rst: More markup fixes. 7117 7118Wed Jun 01 06:16:56 GMT 2011 Olly Betts <olly@survex.com> 7119 7120 * docs/tests.rst: Use generated contents list instead of manual one. 7121 7122Wed Jun 01 06:16:13 GMT 2011 Olly Betts <olly@survex.com> 7123 7124 * docs/index.rst,docs/internals.rst: Centre links at top; Sort out 7125 <hr> to be full width. 7126 7127Wed Jun 01 03:23:20 GMT 2011 Olly Betts <olly@survex.com> 7128 7129 * docs/bm25.rst: Sort out inline equations. 7130 7131Tue May 31 15:21:10 GMT 2011 Olly Betts <olly@survex.com> 7132 7133 * docs/spelling.rst: Add link to Omega documentation. 7134 7135Tue May 31 07:52:19 GMT 2011 Olly Betts <olly@survex.com> 7136 7137 * docs/overview.rst,docs/quickstart.rst,docs/remote_protocol.rst: More 7138 .rst formatting fixes. 7139 7140Tue May 31 05:02:48 GMT 2011 Olly Betts <olly@survex.com> 7141 7142 * docs/overview.rst: More .rst fixes. 7143 7144Tue May 31 04:32:52 GMT 2011 Olly Betts <olly@survex.com> 7145 7146 * docs/: More .rst fixes. 7147 7148Tue May 31 04:11:27 GMT 2011 Olly Betts <olly@survex.com> 7149 7150 * docs/Makefile.am,docs/code_structure.rst: Revert code_structure.html 7151 conversion - this file is generated by a script. 7152 7153Tue May 31 03:56:39 GMT 2011 Olly Betts <olly@survex.com> 7154 7155 * docs/install.rst,docs/stemming.rst,docs/tests.rst: Fix up some .rst 7156 conversion issues. 7157 7158Tue May 31 03:36:49 GMT 2011 Dan Colish <dcolish@gmail.com> 7159 7160 * docs/remote_protocol.rst docs/quickstart.rst docs/remote.rst 7161 docs/internals.rst docs/scalability.rst 7162 docs/quickstartsearch.cc.rst 7163 docs/bm25.rst docs/install.rst docs/quickstartindex.cc.rst 7164 docs/index.rst docs/matcherdesign.rst docs/quickstartexpand.cc.rst 7165 docs/queryparser.rst docs/stemming.rst docs/intro_ir.rst 7166 docs/code_structure.rst docs/Makefile.am docs/tests.rst 7167 docs/overview.rst: Bulk port all remaining documentation to RST. 7168 7169Sun May 29 07:04:42 GMT 2011 Olly Betts <olly@survex.com> 7170 7171 * docs/postingsource.rst: Add PostingSource example. (ticket#503) 7172 7173Sun May 29 05:19:40 GMT 2011 Olly Betts <olly@survex.com> 7174 7175 * include/xapian/database.h: Add @exception InvalidArgumentError for 7176 Database::get_document() (ticket#542). 7177 7178Fri May 27 05:36:28 GMT 2011 Olly Betts <olly@survex.com> 7179 7180 * NEWS: Update from ChangeLog. 7181 7182Thu May 26 02:44:07 GMT 2011 Olly Betts <olly@survex.com> 7183 7184 * include/xapian/queryparser.h: FIXME:1.1.3 -> FIXME:1.3. 7185 7186Wed May 25 14:58:37 GMT 2011 Olly Betts <olly@survex.com> 7187 7188 * docs/queryparser.html: Document the precedence order of operators. 7189 7190Fri May 20 04:13:54 GMT 2011 Olly Betts <olly@survex.com> 7191 7192 * examples/simpleindex.cc: Add short description to usage message. 7193 7194Tue May 17 21:44:55 GMT 2011 Olly Betts <olly@survex.com> 7195 7196 * docs/scalability.html: Bring up-to-date. 7197 7198Wed May 11 01:34:34 GMT 2011 Olly Betts <olly@survex.com> 7199 7200 * AUTHORS: Add Scott Zhang for mingw fixes. 7201 7202Wed May 11 01:30:54 GMT 2011 Olly Betts <olly@survex.com> 7203 7204 * net/progclient.cc,net/tcpserver.cc: Need <cstdio> for sprintf on 7205 __WIN32__ and cygwin. 7206 7207Wed May 11 01:22:07 GMT 2011 Olly Betts <olly@survex.com> 7208 7209 * configure.ac: Define __MSVCRT_VERSION__ to 0x0601 under mingw so 7210 we get _ftime64(). 7211 7212Wed May 11 01:19:14 GMT 2011 Olly Betts <olly@survex.com> 7213 7214 * common/closefrom.cc,common/closefrom.h: We don't need closefrom() 7215 under __WIN32__ currently, so disable it there as it doesn't 7216 compile under mingw. 7217 7218Mon May 09 20:13:17 GMT 2011 Olly Betts <olly@survex.com> 7219 7220 * examples/delve.cc: Report has_positions(). 7221 7222Thu Apr 07 05:38:36 GMT 2011 Dan Colish <dcolish@gmail.com> 7223 7224 * matcher/phrasepostlist.cc, matcher/queryoptimiser.cc, 7225 matcher/exactphrasepostlist.cc, matcher/exactphrasepostlist.h, 7226 matcher/phrasepostlist.h: Remove temporary vector in queryoptimiser 7227 and replace with iterators. 7228 7229Wed Apr 06 10:27:41 GMT 2011 Richard Boulton <richard@tartarus.org> 7230 7231 * docs/admin_notes.rst: Remove the word "also", which makes sense 7232 when read in context of the previous section, but is confusing if 7233 the paragraph is read standalone, and isn't necessary. 7234 7235Mon Apr 04 14:41:33 GMT 2011 Olly Betts <olly@survex.com> 7236 7237 * NEWS: Final update for 1.2.5. 7238 7239Mon Apr 04 14:06:56 GMT 2011 Olly Betts <olly@survex.com> 7240 7241 * backends/brass/brass_version.cc: Remove ? from comment - the brass 7242 version change is definitely going to be in 1.2.5. 7243 7244Mon Apr 04 13:57:23 GMT 2011 Olly Betts <olly@survex.com> 7245 7246 * NEWS: Bump release date. 7247 7248Sat Mar 26 14:49:41 GMT 2011 Olly Betts <olly@survex.com> 7249 7250 * INSTALL: Fix typo in previous commit. 7251 7252Sat Mar 26 14:03:15 GMT 2011 Olly Betts <olly@survex.com> 7253 7254 * INSTALL: Note how to build for a non-default arch on a multi-arch 7255 platform. 7256 7257Sat Mar 26 13:22:49 GMT 2011 Olly Betts <olly@survex.com> 7258 7259 * NEWS,configure.ac: Update for 1.2.5. 7260 7261Sat Mar 26 12:28:38 GMT 2011 Olly Betts <olly@survex.com> 7262 7263 * AUTHORS: Update. 7264 7265Sat Mar 26 10:33:19 GMT 2011 Olly Betts <olly@survex.com> 7266 7267 * backends/brass/brass_postlist.cc,backends/brass/brass_postlist.h, 7268 backends/chert/chert_postlist.cc,backends/chert/chert_postlist.h, 7269 backends/inmemory/inmemory_database.h: Address issues highlighted 7270 by clang++ warnings. 7271 7272Fri Mar 25 05:36:41 GMT 2011 Olly Betts <olly@survex.com> 7273 7274 * docs/tests.html: Slight tweak to improve up-to-date-ness, but more 7275 work would be useful. 7276 7277Fri Mar 25 05:30:56 GMT 2011 Olly Betts <olly@survex.com> 7278 7279 * docs/matcherdesign.html: Update - quite a bit has changed in the 7280 matcher since this was last updated! 7281 7282Thu Mar 24 23:31:57 GMT 2011 Olly Betts <olly@survex.com> 7283 7284 * api/replication.cc,common/replication.h: Pass reader_close_time as 7285 double everywhere, rather than truncating it to int. Include 7286 reader_close_time parameters in debug logging. Document 7287 reader_close_time in doxygen comments. 7288 7289Tue Mar 22 15:36:25 GMT 2011 Dan Colish <dcolish@gmail.com> 7290 7291 * backends/brass/brass_database.h: 7292 Remove left over copyright. 7293 7294Tue Mar 22 04:54:12 GMT 2011 Dan Colish <dcolish@gmail.com> 7295 7296 * backends/brass/brass_btreebase.cc,backends/chert/chert_btreebase.cc, 7297 backends/flint/flint_btreebase.cc: 7298 Correct comments for which revision is packed when writing base files 7299 7300Tue Mar 22 03:18:19 GMT 2011 Dan Colish <dcolish@gmail.com> 7301 7302 * backends/brass/brass_database.cc,backends/chert/chert_database.cc, 7303 backends/flint/flint_database.cc,include/xapian/database.h: 7304 Remove FIXME and comments for DB_OVERWRITE. 7305 7306Tue Mar 22 01:18:38 GMT 2011 Dan Colish <dcolish@gmail.com> 7307 7308 * backends/brass/,backends/chert/chert_database.cc, 7309 backends/flint/flint_database.cc,tests/api_replicate.cc: 7310 Clean up changesets when replicating. Add test coverage for this 7311 feature. Allow XAPIAN_MAX_CHANGESETS to be altered without reopening 7312 the database. Closes Ticket #278. 7313 7314Mon Mar 21 01:50:41 GMT 2011 Olly Betts <olly@survex.com> 7315 7316 * docs/bm25.html: Add a link to the 1976 Robertson/Sparck Jones paper. 7317 7318Wed Mar 16 05:56:58 GMT 2011 Dan Colish <dcolish@gmail.com> 7319 7320 * bin/xapian-check-flint.cc: Initialize did and current_wdf to prevent 7321 uninitalized usage and compiler warnings. 7322 7323Mon Mar 14 03:20:18 GMT 2011 Olly Betts <olly@survex.com> 7324 7325 * common/debuglog.cc,common/debuglog.h: Rename indent member to 7326 indent_level so it doesn't clash with indent() method. 7327 7328Mon Mar 14 02:44:24 GMT 2011 Olly Betts <olly@survex.com> 7329 7330 * common/debuglog.cc,common/debuglog.h: Use an integer counter for the 7331 indent rather than a std::string which we add/remove spaces to/from. 7332 This is cleaner, but also there seems to be an issue with having a 7333 std::string member in a global static object on OS X. 7334 7335Fri Mar 11 01:12:04 GMT 2011 Olly Betts <olly@survex.com> 7336 7337 * HACKING: Document using '{ }' rather than ';' for empty loop bodies. 7338 7339Fri Mar 11 01:02:47 GMT 2011 Olly Betts <olly@survex.com> 7340 7341 * HACKING: Remove bogus ; after method definition in code example. 7342 7343Fri Mar 11 00:07:22 GMT 2011 Olly Betts <olly@survex.com> 7344 7345 * backends/brass/brass_database.cc,backends/chert/chert_database.cc, 7346 backends/flint/flint_database.cc: Factor out literal constant as 7347 MAX_OPEN_RETRIES. 7348 7349Wed Mar 09 14:54:06 GMT 2011 Olly Betts <olly@survex.com> 7350 7351 * tests/api_anydb.cc: Improve the new testcases a bit. 7352 7353Wed Mar 09 14:11:59 GMT 2011 Olly Betts <olly@survex.com> 7354 7355 * api/omenquire.cc,common/esetinternal.h,common/omenquireinternal.h, 7356 expand/esetinternal.cc,expand/expandweight.cc, 7357 include/xapian/enquire.h,tests/api_anydb.cc: Enquire::get_eset() now 7358 accepts a min_wt argument to allow the minimum wanted weight to be 7359 specified. Default is 0, which gives the previous behaviour. 7360 7361Wed Mar 09 00:00:25 GMT 2011 Olly Betts <olly@survex.com> 7362 7363 * include/xapian/termiterator.h: Fix misspelling in doc comment. 7364 7365Tue Mar 08 06:58:14 GMT 2011 Olly Betts <olly@survex.com> 7366 7367 * backends/brass/brass_table.cc,backends/brass/brass_table.h, 7368 backends/chert/chert_table.cc,backends/chert/chert_table.h, 7369 backends/flint/flint_table.cc,backends/flint/flint_table.h: Use 7370 defined constant BLOCK_CAPACITY instead of hardcoded 4 (ticket#536). 7371 7372Tue Mar 08 05:56:42 GMT 2011 Olly Betts <olly@survex.com> 7373 7374 * backends/brass/brass_table.cc,backends/chert/chert_table.cc, 7375 backends/flint/flint_table.cc: If we try to delete an old base file 7376 and it isn't there, just continue rather than throwing an exception. 7377 We wanted to get rid of it anyway, and it may be NFS issues telling 7378 us the wrong thing. In particular, DatabaseCoruptError was rather 7379 a pessimistic assessment. 7380 7381Tue Mar 08 05:55:48 GMT 2011 Olly Betts <olly@survex.com> 7382 7383 * common/io_utils.h: Note that io_unlink() may return false when it 7384 should have returned true on NFS. 7385 7386Sun Mar 06 23:25:47 GMT 2011 Olly Betts <olly@survex.com> 7387 7388 * common/io_utils.cc,common/io_utils.h: Add io_unlink(). 7389 * backends/brass/brass_database.cc,backends/brass/brass_table.cc, 7390 backends/chert/chert_database.cc,backends/chert/chert_table.cc, 7391 backends/flint/flint_database.cc,backends/flint/flint_table.cc: 7392 Use io_unlink() instead of sys_unlink_if_exists(). 7393 7394Sun Mar 06 22:26:36 GMT 2011 Olly Betts <olly@survex.com> 7395 7396 * backends/brass/brass_database.cc,backends/chert/chert_database.cc, 7397 backends/flint/flint_database.cc: If DANGEROUS mode is turned on, 7398 then actually set the flag for this in replication changes files 7399 (the reader will currently throw an exception, but that's better 7400 than quietly handling them incorrectly). 7401 7402Sat Mar 05 12:58:31 GMT 2011 Olly Betts <olly@survex.com> 7403 7404 * NEWS: Update from ChangeLog. 7405 7406Sat Mar 05 12:49:16 GMT 2011 Olly Betts <olly@survex.com> 7407 7408 * NEWS: Fix a few typos. 7409 7410Sat Mar 05 06:19:25 GMT 2011 Olly Betts <olly@survex.com> 7411 7412 * NEWS: Fix typo in old entry. 7413 7414Sat Mar 05 06:16:41 GMT 2011 Olly Betts <olly@survex.com> 7415 7416 * common/remoteconnection.h: Internal doc comment improvements: Fix 7417 typo, finish truncated sentence, wrap lines to 80 columns. 7418 7419Sat Mar 05 02:59:35 GMT 2011 Olly Betts <olly@survex.com> 7420 7421 * bin/xapian-replicate.cc: Make sure port number is specified. Add 7422 "(required)" after --host and --port in help. 7423 7424Sat Mar 05 02:50:04 GMT 2011 Olly Betts <olly@survex.com> 7425 7426 * docs/replication.rst: Mention new defaulting of -m. 7427 7428Sat Mar 05 02:44:37 GMT 2011 Olly Betts <olly@survex.com> 7429 7430 * bin/xapian-replicate.cc: If --master isn't specified, default to 7431 DATABASE. 7432 7433Sat Mar 05 00:14:21 GMT 2011 Olly Betts <olly@survex.com> 7434 7435 * bin/xapian-replicate.cc: Give an error if the host isn't set, rather 7436 than trying to connect to an empty hostname, which gives the error 7437 "Couldn't resolve host (Unknown server error)", which might confuse 7438 if you fail to notice the double space and realise what it means. 7439 7440Fri Mar 04 17:20:13 GMT 2011 Richard Boulton <richard@tartarus.org> 7441 7442 * docs/replication.rst: Update documentation to make it clear that 7443 users shouldn't try to create the destination directory for 7444 replication themselves. 7445 7446Thu Mar 03 11:10:10 GMT 2011 Olly Betts <olly@survex.com> 7447 7448 * docs/intro_ir.html: Fix typo in author's name. 7449 7450Thu Mar 03 11:06:30 GMT 2011 Olly Betts <olly@survex.com> 7451 7452 * docs/intro_ir.html: Update link to a paper. Update text about book 7453 "to be published in 2008". 7454 7455Tue Mar 01 11:39:40 GMT 2011 Olly Betts <olly@survex.com> 7456 7457 * NEWS: Update from ChangeLog. 7458 7459Mon Feb 28 12:40:24 GMT 2011 Olly Betts <olly@survex.com> 7460 7461 * matcher/multimatch.cc: Avoid leaking postlist tree if an exception 7462 is thrown during the match. 7463 7464Wed Feb 23 15:26:56 GMT 2011 Olly Betts <olly@survex.com> 7465 7466 * docs/Makefile.am,docs/index.html: Process collapsing.rst and link 7467 it into the documentation. 7468 7469Wed Feb 23 15:22:06 GMT 2011 Olly Betts <olly@survex.com> 7470 7471 * docs/collapsing.rst: Add missing document (for some reason this file 7472 was empty in SVN, but present in my tree under a different name, and 7473 not checked in). 7474 7475Mon Feb 21 14:49:06 GMT 2011 Olly Betts <olly@survex.com> 7476 7477 * docs/deprecation.rst: Deprecate MSet.items and ESet.items. 7478 7479Mon Feb 21 14:06:21 GMT 2011 Olly Betts <olly@survex.com> 7480 7481 * backends/brass/brass_database.cc,backends/chert/chert_database.cc, 7482 backends/flint/flint_database.cc,common/remoteconnection.h, 7483 net/remoteconnection.cc: Pass a file descriptor to 7484 RemoteConnection::send_file() to avoid a race between the caller 7485 checking if a file exists and send_file() trying to open it to send 7486 it. 7487 7488Mon Feb 21 13:50:06 GMT 2011 Olly Betts <olly@survex.com> 7489 7490 * queryparser/lemon.c: Fix issues detected by DACA cppcheck run on the 7491 Debian archive. 7492 7493Mon Feb 21 13:30:55 GMT 2011 Olly Betts <olly@survex.com> 7494 7495 * tests/api_anydb.cc: Fix spaceterms1 which was never running one part 7496 of the testcase (and had been that way for years). Fix an 7497 off-by-one error in the enabled code. 7498 7499Mon Feb 21 13:05:36 GMT 2011 Olly Betts <olly@survex.com> 7500 7501 * tests/api_backend.cc: Add some test coverage for 7502 DatabaseModifiedError in get_mset(). 7503 7504Mon Feb 21 12:03:35 GMT 2011 Olly Betts <olly@survex.com> 7505 7506 * NEWS: Fix typo in old entry. 7507 7508Mon Feb 21 11:36:07 GMT 2011 Olly Betts <olly@survex.com> 7509 7510 * examples/quest.cc: Report any spelling correction (requires the 7511 database contains spelling data of course). 7512 7513Wed Feb 16 13:11:03 GMT 2011 Olly Betts <olly@survex.com> 7514 7515 * include/xapian/enquire.h: Add doxygen markup so alternative 7516 overloaded forms of Enquire::get_mset() appear in the API 7517 documentation. 7518 7519Wed Feb 09 14:24:57 GMT 2011 Olly Betts <olly@survex.com> 7520 7521 * docs/admin_notes.rst: Up to darte for 1.2.5. Minor wording 7522 improvements. Mention copydatabase --no-renumber. 7523 7524Wed Feb 09 14:06:55 GMT 2011 Olly Betts <olly@survex.com> 7525 7526 * examples/copydatabase.cc: Add --no-renumber option. 7527 7528Tue Feb 01 11:17:58 GMT 2011 Olly Betts <olly@survex.com> 7529 7530 * configure.ac: -Wstrict-null-sentinel was added in GCC 4.0.1 so 7531 doesn't work with GCC 4.0.0. For simplicity, only enable it for 7532 GCC >= 4.1. 7533 7534Tue Feb 1 08:22:52 GMT 2011 Olly Betts <olly@survex.com> 7535 7536 * docs/deprecation.rst: Add $set{spelling,true}. 7537 7538Thu Jan 20 14:52:53 GMT 2011 Olly Betts <olly@survex.com> 7539 7540 * backends/flint/flint_btreebase.cc,backends/flint/flint_btreebase.h, 7541 backends/flint/flint_table.cc: Don't read the bitmaps from the base 7542 files when opening a database for reading (cross-port of equivalent 7543 change to chert). 7544 7545Thu Jan 20 14:37:10 GMT 2011 Olly Betts <olly@survex.com> 7546 7547 * backends/brass/brass_btreebase.cc,backends/brass/brass_btreebase.h, 7548 backends/brass/brass_table.cc: Don't read the bitmaps from the base 7549 files when opening a database for reading (cross-port of equivalent 7550 change to chert). 7551 7552Thu Jan 20 14:21:10 GMT 2011 Olly Betts <olly@survex.com> 7553 7554 * backends/chert/chert_btreebase.cc,backends/chert/chert_btreebase.h, 7555 backends/chert/chert_table.cc: Don't read the bitmaps from the base 7556 files when opening a database for reading. 7557 7558Thu Jan 20 01:57:02 GMT 2011 Olly Betts <olly@survex.com> 7559 7560 * backends/brass/brass_database.cc: Optimise not to update doclength 7561 when it hasn't changed (cross-port of equivalent change to chert). 7562 7563Thu Jan 20 01:36:51 GMT 2011 Olly Betts <olly@survex.com> 7564 7565 * backends/chert/chert_database.cc: Optimise not to update doclength 7566 when it hasn't changed. 7567 7568Wed Jan 19 03:50:18 GMT 2011 Olly Betts <olly@survex.com> 7569 7570 * tests/api_compact.cc: Close ofstream objects used to write out stub 7571 files for testing before we run the actual compaction, to avoid 7572 issues on Microsoft Windows (ticket#525). 7573 7574Wed Jan 19 01:01:38 GMT 2011 Olly Betts <olly@survex.com> 7575 7576 * HACKING: Snapshots and releases are now bootstrapped with autoconf 7577 2.68 and libtool 2.4. Prune information about reasons for needing 7578 really old autotools versions when there's a reason to need a newer 7579 version anyway. 7580 7581Sat Jan 15 11:10:26 GMT 2011 Olly Betts <olly@survex.com> 7582 7583 * NEWS: Update from ChangeLog and 1.0.23. 7584 7585Sat Jan 15 10:28:10 GMT 2011 Olly Betts <olly@survex.com> 7586 7587 * bin/xapian-chert-update.cc: Fix to handle value slot entries in the 7588 termlist table. 7589 7590Wed Jan 12 23:49:21 GMT 2011 Olly Betts <olly@survex.com> 7591 7592 * bin/xapian-chert-update.cc: Adjust keys for doclength chunks too. 7593 7594Wed Jan 12 13:37:30 GMT 2011 Olly Betts <olly@survex.com> 7595 7596 * AUTHORS,bin/xapian-chert-update.cc: Fix to also rewrite docids in 7597 value chunk keys (reported by Luca Barbieri on xapian-discuss). 7598 7599Tue Jan 11 08:41:02 GMT 2011 Olly Betts <olly@survex.com> 7600 7601 * docs/deprecation.rst: Note removal of if idx in mset. 7602 7603Tue Jan 11 08:30:29 GMT 2011 Olly Betts <olly@survex.com> 7604 7605 * docs/deprecation.rst: PostingSource now offers a replacement for 7606 Enquire::set_bias(). 7607 7608Mon Jan 10 09:40:24 GMT 2011 Olly Betts <olly@survex.com> 7609 7610 * api/compactor.cc: Add missing header <ctime> for time() (ticket#530). 7611 7612Sun Jan 09 23:14:02 GMT 2011 Olly Betts <olly@survex.com> 7613 7614 * api/compactor.cc: Use msvc_posix_rename() under __WIN32__ to 7615 atomically update stub file after compaction (ticket#525). 7616 7617Thu Dec 23 13:00:43 GMT 2010 Olly Betts <olly@survex.com> 7618 7619 * queryparser/queryparser.lemony: Whitespace consistency tweak. 7620 7621Thu Dec 23 11:01:26 GMT 2010 Olly Betts <olly@survex.com> 7622 7623 * queryparser/queryparser.lemony,tests/queryparsertest.cc: Handle 7624 NEAR/<offset> and ADJ/<offset> where offset isn't an integer the same 7625 way at the end of the query as in the middle. 7626 7627Tue Dec 21 10:28:08 GMT 2010 Olly Betts <olly@survex.com> 7628 7629 * net/tcpserver.cc: If we can't bind to the specified port because it 7630 is a privileged one, exit with code 77 (EX_NOPERM) to make it easier 7631 to automatically handle failure when starting the server from a 7632 script. 7633 7634Tue Dec 21 07:43:52 GMT 2010 Olly Betts <olly@survex.com> 7635 7636 * docs/index.html: Add link to main website. 7637 7638Tue Dec 21 07:40:57 GMT 2010 Olly Betts <olly@survex.com> 7639 7640 * docs/index.html,docs/overview.html: Update links to wiki.xapian.org 7641 to point to trac.xapian.org/wiki instead. 7642 7643Mon Dec 20 10:02:06 GMT 2010 Richard Boulton <richard@tartarus.org> 7644 7645 * docs/deprecation.rst: Add note about botched removal of python's 7646 Enquire.get_matching_terms (now fully removed). 7647 7648Sun Dec 19 12:40:12 GMT 2010 Olly Betts <olly@survex.com> 7649 7650 * NEWS: Update release date. 7651 7652Sat Dec 18 13:17:52 GMT 2010 Olly Betts <olly@survex.com> 7653 7654 * NEWS,configure.ac: Update for 1.2.4. 7655 7656Wed Dec 15 11:56:22 GMT 2010 Olly Betts <olly@survex.com> 7657 7658 * NEWS: Update. 7659 7660Tue Dec 14 12:46:36 GMT 2010 Olly Betts <olly@survex.com> 7661 7662 * HACKING,tests/runtest.in: Add XAPIAN_TESTSUITE_LD_PRELOAD hook to 7663 allow libeatmydata to easily be used when running the testsuite. 7664 7665Mon Dec 13 14:28:19 GMT 2010 Olly Betts <olly@survex.com> 7666 7667 * include/xapian/: Make it more explicitly clear that PostingIterator, 7668 PositionIterator, and TermIterator's skip_to methods advance (and 7669 hence shouldn't be expected to allow you to "rewind" the stream). 7670 7671Mon Dec 13 14:18:18 GMT 2010 Olly Betts <olly@survex.com> 7672 7673 * include/xapian/database.h: "network databases" -> "remote databases". 7674 7675Mon Dec 13 14:10:08 GMT 2010 Olly Betts <olly@survex.com> 7676 7677 * net/remoteserver.cc: If the message parameter only contains a 7678 string then we can just use it as is. 7679 7680Mon Dec 13 13:34:30 GMT 2010 Olly Betts <olly@survex.com> 7681 7682 * backends/remote/remote-database.cc,common/remote-database.h, 7683 common/remoteprotocol.h,common/remoteserver.h, 7684 docs/remote_protocol.html,net/remoteserver.cc,tests/api_metadata.cc: 7685 Add support for iterating metadata keys with the remote backend. 7686 This change necessitated a minor version bump in the remote protocol. 7687 7688Sun Dec 12 12:24:48 GMT 2010 Olly Betts <olly@survex.com> 7689 7690 * weight/tradweight.cc: Fix calculation order to avoid inconsistent 7691 weights due to rounding for TradWeight(0). 7692 * tests/api_backend.cc: Add regression test tradweight2. 7693 7694Sat Dec 11 11:38:32 GMT 2010 Olly Betts <olly@survex.com> 7695 7696 * AUTHORS: Update thanks list with bug reporters and patch submitters. 7697 7698Thu Dec 09 03:59:42 GMT 2010 Olly Betts <olly@survex.com> 7699 7700 * NEWS: Update from ChangeLog. 7701 7702Thu Dec 09 03:58:20 GMT 2010 Olly Betts <olly@survex.com> 7703 7704 * net/remoteconnection.cc: Add FIXME note about using sendfile() or 7705 similar. 7706 7707Tue Dec 07 10:16:31 GMT 2010 Olly Betts <olly@survex.com> 7708 7709 * tests/queryparsertest.cc: Note 1.0.x version #515 was fixed in. 7710 7711Mon Dec 06 05:26:01 GMT 2010 Olly Betts <olly@survex.com> 7712 7713 * net/replicatetcpclient.cc: Rearrange loop to avoid duplicating code. 7714 7715Mon Dec 06 01:39:23 GMT 2010 Olly Betts <olly@survex.com> 7716 7717 * queryparser/queryparser.lemony: Fix typo so we test for OP_NEAR or 7718 OP_PHRASE, not twice for OP_NEAR, which fixes a bug with not setting 7719 the correct window size for default_op of OP_PHRASE in some cases. 7720 Factor out the "is_positional(op)" test into an inlined function to 7721 help avoid repeating this error. 7722 * tests/queryparsertest.cc: Add regression test coverage. 7723 7724Mon Dec 06 01:01:03 GMT 2010 Olly Betts <olly@survex.com> 7725 7726 * tests/queryparsertest.cc: Add coverage for OP_PHRASE as default_op. 7727 7728Sun Dec 05 12:35:32 GMT 2010 Olly Betts <olly@survex.com> 7729 7730 * weight/bm25weight.cc: Fix calculation order to avoid inconsistent 7731 weights due to rounding when BM25Weight is used with certain 7732 non-default parameter combinations. 7733 * tests/api_backend.cc: Add regression test bm25weight2. 7734 7735Sun Dec 05 12:10:36 GMT 2010 Olly Betts <olly@survex.com> 7736 7737 * backends/chert/chert_compact.cc: Add FIXME comment regarding 7738 resolve_duplicate_metadata() getting called multiple times for the 7739 same key in multipass mode. 7740 7741Sun Dec 05 12:09:32 GMT 2010 Olly Betts <olly@survex.com> 7742 7743 * include/xapian/compactor.h: Add documentation comments. 7744 7745Sun Dec 05 04:54:03 GMT 2010 Olly Betts <olly@survex.com> 7746 7747 * HACKING: Omega now wants libmagic-dev (though it's optional 7748 currently). 7749 7750Wed Nov 17 10:56:10 GMT 2010 Olly Betts <olly@survex.com> 7751 7752 * examples/quest.cc: Add command line options to allow prefixes to 7753 be specified for the QueryParser. 7754 7755Tue Nov 09 23:18:36 GMT 2010 Olly Betts <olly@survex.com> 7756 7757 * backends/brass/brass_compact.cc,backends/chert/chert_compact.cc, 7758 backends/flint/flint_compact.cc: Fix access to empty priority_queue 7759 while merging synonyms (found with _GLIBCXX_DEBUG). 7760 7761Tue Nov 09 03:23:49 GMT 2010 Olly Betts <olly@survex.com> 7762 7763 * HACKING: Drop list of platforms valgrind supports, as it takes 7764 effort to keep up to date. People can check valgrind.org for an 7765 accurate list of currently supported platforms. 7766 7767Sun Nov 07 14:13:44 GMT 2010 Olly Betts <olly@survex.com> 7768 7769 * api/compactor.cc,backends/brass/brass_compact.cc, 7770 backends/chert/chert_compact.cc,backends/flint/flint_compact.cc, 7771 bin/xapian-compact.cc,include/xapian/compactor.h: 7772 Compactor::resolve_duplicate_metadata() callback method is now passed 7773 an array of std::string plus the array length, which allows for more 7774 efficient merging that the series of pairwise merges which was 7775 required before. 7776 7777Mon Nov 01 14:47:37 GMT 2010 Richard Boulton <richard@tartarus.org> 7778 7779 * matcher/multimatch.cc,matcher/multixorpostlist.cc, 7780 matcher/multixorpostlist.h: Add debugging to print out the 7781 postlist description after recalculation of maxweight, and to 7782 MultiXorPostList methods. Fix problem shown by soaktest where 7783 the matcher was not told to recalculate the maxweight after a 7784 MultiXorPostList child reached end, which was causing an 7785 assertion failure in debug builds. (This could also have been 7786 causing some performance problems, but I have not measurements.) 7787 7788Mon Nov 01 10:34:30 GMT 2010 Richard Boulton <richard@tartarus.org> 7789 7790 * tests/soaktest/soaktest_queries.cc: Fix compilation: call c_str() 7791 on argument to atoi, now that util.h no longer defines a string 7792 wrapper. 7793 7794Sun Oct 31 10:51:12 GMT 2010 Olly Betts <olly@survex.com> 7795 7796 * queryparser/queryparser.lemony: Don't delete this in TermGroup, etc 7797 until after we have successfully constructed the Query object to 7798 return to avoid a double free in the Query construction throws an 7799 exception. Fixes ticket#515. 7800 7801Fri Oct 29 12:46:15 GMT 2010 Olly Betts <olly@survex.com> 7802 7803 * tests/api_backend.cc: Fix comment typo in previous commit. 7804 7805Fri Oct 29 12:32:47 GMT 2010 Olly Betts <olly@survex.com> 7806 7807 * matcher/multimatch.cc: Empty query now return MSet with firstitem 7808 set correctly. 7809 * tests/api_backend.cc: Extend msetfirst2 to be a regression test for 7810 this issue too. 7811 7812Fri Oct 29 12:13:51 GMT 2010 Olly Betts <olly@survex.com> 7813 7814 * api/omenquire.cc: If first is larger than get_doccount() then clamp 7815 it to avid pointlessly trying to allocate far too much memory. 7816 * tests/api_backend.cc: Regression test msetfirst2. 7817 7818Thu Oct 21 09:38:44 GMT 2010 Richard Boulton <richard@tartarus.org> 7819 7820 * tests/Makefile.am: Add zlib-vg.c to distribution tarballs. 7821 7822Wed Oct 20 11:38:13 GMT 2010 Olly Betts <olly@survex.com> 7823 7824 * examples/delve.cc: Add '-z' option to count zero-length documents. 7825 7826Mon Oct 18 10:35:46 GMT 2010 Olly Betts <olly@survex.com> 7827 7828 * bin/xapian-compact.cc: Add --quiet/-q option to suppress progress 7829 output. 7830 7831Thu Oct 14 03:51:02 GMT 2010 Olly Betts <olly@survex.com> 7832 7833 * tests/api_unicode.cc: Fix typo in previous change. 7834 7835Thu Oct 14 01:16:31 GMT 2010 Olly Betts <olly@survex.com> 7836 7837 * tests/api_unicode.cc: Expand tested cases to (hopefully) cover all 7838 conditional combinations in unicode/utf8itor.cc. 7839 7840Mon Oct 11 11:46:30 GMT 2010 Olly Betts <olly@survex.com> 7841 7842 * Makefile.am: Remove xapian-config on "make distclean" rather than 7843 "make clean", since configure builds it. Never remove man pages 7844 under "make clean". 7845 7846Mon Oct 11 11:41:32 GMT 2010 Olly Betts <olly@survex.com> 7847 7848 * tests/Makefile.am: Fix typo - CLEAN_FILES should be CLEANFILES. 7849 This means that where zlib-vg.so is used, it now gets cleaned up. 7850 7851Sun Oct 10 11:00:31 GMT 2010 Olly Betts <olly@survex.com> 7852 7853 * Makefile.am: Fix so coverage-reconfigure-maintainer-mode adds 7854 --enable-maintainer-mode rather than coverage-reconfigure! 7855 7856Sun Oct 10 10:45:38 GMT 2010 Olly Betts <olly@survex.com> 7857 7858 * Makefile.am: Factor out COVERAGE_CONFIGURE to make future changes 7859 easier. 7860 7861Sun Oct 10 09:59:01 GMT 2010 Olly Betts <olly@survex.com> 7862 7863 * Makefile.am: Add coverage-reconfigure-maintainer-mode target which 7864 is just like coverage-reconfigure except it also passes 7865 --enable-maintainer-mode. 7866 7867Sun Oct 10 07:29:23 GMT 2010 Olly Betts <olly@survex.com> 7868 7869 * tests/api_nodb.cc: Check Stem("none") too. Check 7870 Stem("").get_description(). No need to check a bogus language name 7871 here as stemlangs2 now does that. 7872 7873Sun Oct 10 07:22:41 GMT 2010 Olly Betts <olly@survex.com> 7874 7875 * tests/api_stem.cc: Test an invalid languages name with each possible 7876 byte value at the start to improve coverage of the switch in 7877 api/stem.cc. 7878 7879Sun Oct 10 06:14:42 GMT 2010 Olly Betts <olly@survex.com> 7880 7881 * unicode/utf8itor.cc: Correct comments and use bad_cont() in another 7882 place (no change to code once inlining is taken into account). 7883 7884Sun Oct 10 06:11:05 GMT 2010 Olly Betts <olly@survex.com> 7885 7886 * tests/api_unicode.cc: Improve test coverage for 7887 Utf8Iterator::calculate_sequence_length(). 7888 7889Sun Oct 10 00:33:49 GMT 2010 Olly Betts <olly@survex.com> 7890 7891 * tests/api_unicode.cc: Tweak testcase utf8iterator2 to add coverage 7892 for Utf8Iterator(const char *). 7893 7894Fri Oct 08 13:10:08 GMT 2010 Olly Betts <olly@survex.com> 7895 7896 * matcher/selectpostlist.cc,matcher/selectpostlist.h: Implement 7897 SelectPostList::check() so that check() on OP_NEAR and OP_PHRASE 7898 subqueries won't end up checking potentially huge numbers of 7899 documents. 7900 7901Fri Oct 08 12:29:50 GMT 2010 Olly Betts <olly@survex.com> 7902 7903 * tests/api_backend.cc: Add testcase phrase3 to provide coverage for 7904 SelectPostList::skip_to(). 7905 7906Fri Oct 08 10:36:18 GMT 2010 Olly Betts <olly@survex.com> 7907 7908 * matcher/orpostlist.cc,matcher/orpostlist.h: Fix performance 7909 regression in some cases caused by the introduction of 7910 OrPostList::check(). 7911 7912Thu Oct 07 03:53:11 GMT 2010 Olly Betts <olly@survex.com> 7913 7914 * tests/api_anydb.cc: Clear tout before each iteration in scaleweight1. 7915 7916Wed Oct 06 14:30:34 GMT 2010 Olly Betts <olly@survex.com> 7917 7918 * NEWS: Update from 1.0.22 and ChangeLog. 7919 7920Wed Oct 06 12:39:36 GMT 2010 Olly Betts <olly@survex.com> 7921 7922 * tests/queryparsertest.cc: Add two more testcases for having a phrase 7923 generator between prefix and term. 7924 7925Wed Oct 06 12:37:32 GMT 2010 Olly Betts <olly@survex.com> 7926 7927 * include/xapian/matchspy.h,include/xapian/postingsource.h: Remove 7928 "experimental" marker from PostingSource and ValueCountMatchSpy. 7929 7930Wed Oct 06 12:31:01 GMT 2010 Olly Betts <olly@survex.com> 7931 7932 * docs/index.html: Add links to replication and facets documents, and 7933 fix typo in serialistion document link. 7934 7935Wed Oct 06 12:12:51 GMT 2010 Olly Betts <olly@survex.com> 7936 7937 * docs/Makefile.am,docs/categorisation.rst,docs/facets.rst: Change the 7938 categorisation document to talk about facets, since that's the 7939 terminology that seems to be most widely used these days, and 7940 "categorisation" can also mean automatically assigning categories to 7941 documents. Fix up references to features which were removed or 7942 changed during development. 7943 7944Wed Oct 06 12:11:21 GMT 2010 Olly Betts <olly@survex.com> 7945 7946 * docs/internals.html: Add link to replication protocol. 7947 7948Wed Oct 06 08:36:50 GMT 2010 Olly Betts <olly@survex.com> 7949 7950 * examples/simplesearch.cc: Fix cut and paste error in usage message. 7951 7952Wed Oct 06 00:12:40 GMT 2010 Olly Betts <olly@survex.com> 7953 7954 * api/emptypostlist.cc,matcher/queryoptimiser.cc: In the query 7955 optimiser, use value range bounds to check for value ranges which 7956 must be empty. 7957 * tests/api_opvalue.cc: Add testcase valuerange5 to check this 7958 optimisation actually fires. 7959 7960Tue Oct 05 03:43:02 GMT 2010 Olly Betts <olly@survex.com> 7961 7962 * examples/simplesearch.cc: Fix cut-and-paste error - --version now 7963 reports simplesearch not simpleexpand. 7964 7965Tue Oct 05 03:41:48 GMT 2010 Olly Betts <olly@survex.com> 7966 7967 * docs/categorisation.rst: Update to use the current ValueCountMatchSpy 7968 API. 7969 7970Fri Oct 01 09:53:50 GMT 2010 Olly Betts <olly@survex.com> 7971 7972 * configure.ac: Simplify defaulting enable_documentation a little. 7973 7974Fri Oct 01 09:29:03 GMT 2010 Olly Betts <olly@survex.com> 7975 7976 * configure.ac: Default enable_sse to yes to fix build on x86. 7977 7978Fri Oct 01 09:10:34 GMT 2010 Olly Betts <olly@survex.com> 7979 7980 * configure.ac: Fix typo in SSE handling code which stopped it 7981 defaulting as intended. 7982 7983Fri Oct 01 02:00:49 GMT 2010 Olly Betts <olly@survex.com> 7984 7985 * NEWS: Update from ChangeLog. 7986 7987Fri Oct 01 01:54:41 GMT 2010 Olly Betts <olly@survex.com> 7988 7989 * backends/Makefile.mk,backends/brass/brass_compact.cc, 7990 backends/byte_length_strings.h,backends/chert/chert_compact.cc, 7991 backends/flint/flint_compact.cc: Factor out 3 copies of 7992 ByteLengthPrefixedStringItor and ByteLengthPrefixedStringItorGt into 7993 their own file. 7994 7995Fri Oct 01 01:28:57 GMT 2010 Olly Betts <olly@survex.com> 7996 7997 * backends/Makefile.mk,backends/brass/brass_compact.cc, 7998 backends/brass/brass_spelling.cc,backends/chert/chert_compact.cc, 7999 backends/chert/chert_spelling.cc,backends/flint/flint_compact.cc, 8000 backends/flint/flint_spelling.cc, 8001 backends/prefix_compressed_strings.h: Factor out 6 copies of 8002 PrefixCompressedStringItor and PrefixCompressedStringWriter and 3 8003 copies of PrefixCompressedStringItorGt into their own file. 8004 8005Thu Sep 30 15:28:49 GMT 2010 Olly Betts <olly@survex.com> 8006 8007 * NEWS: Update from ChangeLog. 8008 8009Thu Sep 30 15:26:52 GMT 2010 Olly Betts <olly@survex.com> 8010 8011 * api/compactor.cc: Need utils.h for stat with a std::string argument. 8012 8013Thu Sep 30 15:23:50 GMT 2010 Olly Betts <olly@survex.com> 8014 8015 * tests/api_compact.cc: Remove unwanted check left over from cut and 8016 pasting code from a previous testcase. 8017 8018Thu Sep 30 15:21:02 GMT 2010 Olly Betts <olly@survex.com> 8019 8020 * tests/api_compact.cc: Convert compaction tests to use the new API. 8021 8022Thu Sep 30 14:54:27 GMT 2010 Olly Betts <olly@survex.com> 8023 8024 * backends/brass/brass_compact.cc,backends/chert/chert_compact.cc, 8025 backends/flint/flint_compact.cc: Correct filenames in @file doxygen 8026 comments. 8027 8028Thu Sep 30 14:46:02 GMT 2010 Olly Betts <olly@survex.com> 8029 8030 * api/compactor.cc: Use the ChertVersion, etc classes to make sure that 8031 the new database has a new UUID rather than creating a "donor" 8032 database and then stealing its version/uuid file. 8033 8034Thu Sep 30 14:33:46 GMT 2010 Olly Betts <olly@survex.com> 8035 8036 * api/Makefile.mk,api/compactor.cc,backends/brass/Makefile.mk, 8037 backends/brass/brass_compact.cc,backends/brass/brass_compact.h, 8038 backends/chert/Makefile.mk,backends/chert/chert_compact.cc, 8039 backends/chert/chert_compact.h,backends/flint/Makefile.mk, 8040 backends/flint/flint_compact.cc,backends/flint/flint_compact.h,bin/, 8041 include/Makefile.mk,include/xapian.h,include/xapian/compactor.h: 8042 Convert compaction code into a Xapian::Compactor class, and make 8043 xapian-compact a simple wrapper around this new class. (ticket#175) 8044 8045Thu Sep 30 06:16:11 GMT 2010 Olly Betts <olly@survex.com> 8046 8047 * bin/: Eliminate uses of <iostream> in bin/xapian-compact-*.cc. 8048 8049Thu Sep 30 05:44:06 GMT 2010 Olly Betts <olly@survex.com> 8050 8051 * bin/xapian-compact-brass.cc,bin/xapian-compact-chert.cc, 8052 bin/xapian-compact-flint.cc: Fix indentation of table data 8053 arrays. 8054 8055Thu Sep 30 05:32:44 GMT 2010 Olly Betts <olly@survex.com> 8056 8057 * bin/xapian-compact-brass.cc,bin/xapian-compact-chert.cc: Only 8058 skip producing an output table when there are only some inputs 8059 for the termlist - for spellings and synonyms, we want to produce 8060 an output in this case. 8061 * tests/api_compact.cc: Add regression test compactmissingtables1. 8062 8063Wed Sep 29 11:13:18 GMT 2010 Olly Betts <olly@survex.com> 8064 8065 * common/document.h: Initialise docid to 0 when creating a document 8066 from scratch, as documented. 8067 * tests/api_none.cc: Add regression test document2. 8068 * include/xapian/document.h: Document that return value is unreliable 8069 in this case prior to the next 1.0 and 1.2 releases. 8070 8071Wed Sep 29 07:06:10 GMT 2010 Olly Betts <olly@survex.com> 8072 8073 * configure.ac: FreeBSD and OpenBSD don't need explicit dependency 8074 libraries, so set link_all_deplibs_CXX=no there. 8075 8076Wed Sep 29 07:04:20 GMT 2010 Olly Betts <olly@survex.com> 8077 8078 * xapian-config.in: Just check @link_all_deplibs_CXX@ which we adjust 8079 in configure rather than duplicating configure's list of platforms 8080 where explicit dependencies aren't required. 8081 8082Mon Sep 27 04:28:46 GMT 2010 Olly Betts <olly@survex.com> 8083 8084 * bin/xapian-compact.cc: Convert error messages to stdout/stderr to 8085 exceptions, in preparation for turning this into an API class. 8086 8087Mon Sep 27 03:50:54 GMT 2010 Olly Betts <olly@survex.com> 8088 8089 * bin/xapian-compact.cc: Add support for compacting to a stub database, 8090 which can be one of the inputs (for atomic update). 8091 * tests/api_compact.cc: Add testcases compactstub3 and compactstub4 as 8092 feature tests for this. 8093 8094Mon Sep 27 03:50:00 GMT 2010 Olly Betts <olly@survex.com> 8095 8096 * tests/api_compact.cc: Suppress output from xapian-compact in 8097 compactstub2 (which I'd disabled for debugging). 8098 8099Sun Sep 26 13:59:20 GMT 2010 Olly Betts <olly@survex.com> 8100 8101 * bin/xapian-compact.cc: Extend to work on stub database files too. 8102 * tests/api_compact.cc: Add feature test compactstub2. 8103 8104Sun Sep 26 13:28:45 GMT 2010 Olly Betts <olly@survex.com> 8105 8106 * bin/xapian-compact.cc: Inputs can now be stub database directories, 8107 in which case the databases in the stub are used as inputs. 8108 * tests/api_compact.cc: Add feature test compactstub1. 8109 8110Sun Sep 26 11:11:49 GMT 2010 Olly Betts <olly@survex.com> 8111 8112 * xapian-config.in: Add --static option which makes other options 8113 report values for static linking. 8114 8115Tue Sep 21 10:43:17 GMT 2010 Olly Betts <olly@survex.com> 8116 8117 * queryparser/queryparser.lemony,tests/queryparsertest.cc: Allow phrase 8118 generators between a probabilistic prefix and the term itself. 8119 8120Thu Sep 09 11:18:47 GMT 2010 Olly Betts <olly@survex.com> 8121 8122 * INSTALL: Raise recommended GCC version from 3.3 to 4.1, since that's 8123 the oldest we regularly test with. 8124 8125Thu Sep 09 11:14:03 GMT 2010 Olly Betts <olly@survex.com> 8126 8127 * HACKING: Debian etch was discontinued 6 months ago, so it's no longer 8128 useful to document packages for developing Xapian on it. 8129 8130Thu Sep 09 03:15:00 GMT 2010 Olly Betts <olly@survex.com> 8131 8132 * docs/deprecation.rst: Actually write down our guidelines for 8133 supporting other software. 8134 8135Thu Sep 09 00:20:16 GMT 2010 Olly Betts <olly@survex.com> 8136 8137 * docs/replication.rst: Adjust text to reflect conclusions about the 8138 issues in ticket#434. 8139 8140Thu Sep 09 00:10:03 GMT 2010 Olly Betts <olly@survex.com> 8141 8142 * docs/replication.rst: Don't suggest using a symlink to switch between 8143 databases - a stub database is much better. 8144 8145Thu Sep 09 00:07:02 GMT 2010 Olly Betts <olly@survex.com> 8146 8147 * docs/replication.rst: Assume xapian tools are installed on PATH not 8148 in the current directory for example commands. 8149 8150Thu Sep 09 00:05:22 GMT 2010 Olly Betts <olly@survex.com> 8151 8152 * docs/replication.rst: Fix a typo. 8153 8154Mon Sep 06 07:10:02 GMT 2010 Olly Betts <olly@survex.com> 8155 8156 * configure.ac: Add support for --enable-sse=sse and --enable-sse=sse2 8157 to allow control of which SSE instructions to use. 8158 8159Fri Sep 03 13:08:53 GMT 2010 Richard Boulton <richard@tartarus.org> 8160 8161 * bin/xapian-replicate.cc: If a fullcopy was attempted, but was not 8162 put live, display an explanatory message (if verbose is true). 8163 8164Fri Sep 03 05:54:09 GMT 2010 Olly Betts <olly@survex.com> 8165 8166 * backends/chert/chert_modifiedpostlist.h, 8167 backends/flint/flint_modifiedpostlist.h,tests/: Fixes required to 8168 build on OpenBSD 4.5 with GCC 3.3.5. 8169 8170Tue Aug 31 14:37:44 GMT 2010 Olly Betts <olly@survex.com> 8171 8172 * include/xapian/queryparser.h: Document cases where FLAG_WILDCARD and 8173 FLAG_PARTIAL aren't currently supported. 8174 8175Mon Aug 30 06:27:46 GMT 2010 Olly Betts <olly@survex.com> 8176 8177 * configure.ac: Actaully make autoconf 2.64 a hard minimum requirement 8178 (as HACKING already documented). 8179 * HACKING,NEWS,configure.ac: autoconf 2.67 is now used to bootstrap. 8180 8181Mon Aug 30 06:26:03 GMT 2010 Olly Betts <olly@survex.com> 8182 8183 * NEWS: Update from ChangeLog. 8184 8185Mon Aug 30 06:04:13 GMT 2010 Olly Betts <olly@survex.com> 8186 8187 * configure.ac: Enable use of SSE maths on x86 by default with Sun's 8188 compiler. 8189 8190Sat Aug 28 16:04:45 GMT 2010 Olly Betts <olly@survex.com> 8191 8192 * api/omdatabase.cc,include/xapian/queryparser.h, 8193 tests/harness/backendmanager.h: None of the workarounds we have 8194 which are conditional on __SUNPRO_CC are needed with Sun C++ 8195 version 5.8, so only enable them for older versions (which will 8196 mean we can drop these workarounds with confidence once older 8197 versions are dropped by Sun/Oracle, or once we can find out that 8198 they have been - currently all I've managed to discover is that 8199 version 5.0 reached "end of service life" in 6/2006). 8200 8201Sat Aug 28 15:33:14 GMT 2010 Olly Betts <olly@survex.com> 8202 8203 * configure.ac,tests/api_replicate.cc: Solaris < 10 doesn't have 8204 setenv() so we have to use putenv() there. And the value we set 8205 XAPIAN_MAX_CHANGESETS to is always constant currently, so set it 8206 using constant strings generated by a macro. 8207 8208Sat Aug 28 12:35:25 GMT 2010 Olly Betts <olly@survex.com> 8209 8210 * configure.ac: Beef up the test for whether -lm is required and add 8211 a special case to force it to be for Sun's C++ compiler - there's 8212 some interaction with libtool and/or shared objects which means 8213 that the configure test doesn't think -lm is needed here when it 8214 is. 8215 8216Sat Aug 28 10:59:11 GMT 2010 Olly Betts <olly@survex.com> 8217 8218 * api/matchspy.cc,common/const_database_wrapper.cc,net/tcpclient.cc, 8219 tests/api_replicate.cc,tests/harness/backendmanager_remotetcp.cc, 8220 tests/harness/testsuite.cc,tests/perftest/runprocess.cc, 8221 unicode/utf8itor.cc: Fix to compile with Sun C++. 8222 8223Sat Aug 28 10:30:08 GMT 2010 Olly Betts <olly@survex.com> 8224 8225 * HACKING,PLATFORMS: Move PLATFORMS information to the wiki and replace 8226 with a pointer. 8227 8228Sat Aug 28 03:15:47 GMT 2010 Olly Betts <olly@survex.com> 8229 8230 * matcher/queryoptimiser.cc: Need to avoid excess precision on m68k 8231 when targeting models 68010, 68020, 68030 as well as 68000. 8232 8233Tue Aug 24 05:54:27 GMT 2010 Olly Betts <olly@survex.com> 8234 8235 * configure.ac: Update for 1.2.3. 8236 8237Tue Aug 24 05:52:47 GMT 2010 Olly Betts <olly@survex.com> 8238 8239 * NEWS: Update from ChangeLog. 8240 8241Mon Aug 16 16:46:19 GMT 2010 Olly Betts <olly@survex.com> 8242 8243 * common/closefrom.cc: Use /dev/fd on Mac OS X. 8244 8245Mon Aug 16 16:18:26 GMT 2010 Olly Betts <olly@survex.com> 8246 8247 * common/closefrom.cc: Need safeerrno.h and safeunistd.h on non-Linux 8248 platforms too. 8249 8250Mon Aug 16 15:47:48 GMT 2010 Olly Betts <olly@survex.com> 8251 8252 * backends/flint_lock.cc,common/Makefile.mk,common/closefrom.cc, 8253 common/closefrom.h,configure.ac,net/progclient.cc: Use closefrom() 8254 if available, otherwise provide our own implementation (optimised 8255 to some extent for many platforms). 8256 8257Sun Aug 15 12:43:04 GMT 2010 Olly Betts <olly@survex.com> 8258 8259 * AUTHORS: Update. 8260 8261Sun Aug 15 12:11:26 GMT 2010 Olly Betts <olly@survex.com> 8262 8263 * xapian-core.spec.in: Update BuildRequires to specify libuuid-devel 8264 instead of e2fsprogs-devel. 8265 8266Sun Aug 15 11:30:05 GMT 2010 Olly Betts <olly@survex.com> 8267 8268 * HACKING,INSTALL,common/safeuuid.h,common/win32_uuid.cc, 8269 common/win32_uuid.h,configure.ac: libuuid moved from e2fsprogs to 8270 util-linux-ng about a year ago, so update documentation, comments, 8271 and configure error messages to reflect this. Issue reported by 8272 David Jeske on xapian-devel list. 8273 8274Sun Aug 15 07:58:51 GMT 2010 Olly Betts <olly@survex.com> 8275 8276 * tests/harness/backendmanager_remotetcp.cc: Under __WIN32__, we need 8277 <io.h> for _open_osfhandle() (ticket#495). 8278 8279Sun Aug 15 07:10:25 GMT 2010 Olly Betts <olly@survex.com> 8280 8281 * common/realtime.h: MSVC doesn't cope with a prototype at function 8282 scope with a global namespace qualification (ticket#495). 8283 8284Wed Aug 04 10:44:08 GMT 2010 Olly Betts <olly@survex.com> 8285 8286 * backends/flint_lock.cc,backends/multi/multi_alltermslist.cc, 8287 bin/xapian-chert-update.cc,queryparser/termgenerator.cc, 8288 queryparser/termgenerator_internal.cc: Fix more incorrect @file 8289 directives. 8290 8291Wed Aug 04 09:19:10 GMT 2010 Olly Betts <olly@survex.com> 8292 8293 * matcher/localsubmatch.h,queryparser/termgenerator_internal.h: Fix 8294 incorrect @file doxygen directives. 8295 8296Tue Aug 03 14:42:56 GMT 2010 Olly Betts <olly@survex.com> 8297 8298 * tests/harness/fdtracker.h: Fix filename in @file. 8299 8300Tue Aug 03 14:32:45 GMT 2010 Olly Betts <olly@survex.com> 8301 8302 * common/contiguousalldocspostlist.h,common/unaligned.h: Fix include 8303 guards to match header filename (cosmetic issues only). 8304 8305Mon Aug 02 12:38:59 GMT 2010 Olly Betts <olly@survex.com> 8306 8307 * backends/brass/brass_table.cc,backends/brass/brass_values.cc, 8308 backends/chert/chert_table.cc,backends/chert/chert_values.cc, 8309 backends/flint/flint_alldocspostlist.cc, 8310 backends/remote/remote-document.cc,matcher/multimatch.cc, 8311 matcher/remotesubmatch.cc,net/progclient.cc: Use new Literal() 8312 feature in debug logging of function calls. 8313 8314Mon Aug 02 12:08:42 GMT 2010 Olly Betts <olly@survex.com> 8315 8316 * common/pretty.h: Add Literal() class to allow bypassing the pretty 8317 printer for interspersing literal strings. 8318 8319Sun Aug 01 10:19:38 GMT 2010 Olly Betts <olly@survex.com> 8320 8321 * api/omdatabase.cc: Database::get_spelling_suggestion() will now 8322 suggest a correction even if the passed word is in the dictionary, 8323 provided the correction has at least the same frequency. Partly 8324 addresses #225. 8325 * queryparser/queryparser.lemony: Check spelling even if term is in 8326 the database. 8327 * docs/spelling.rst: Update to reflect these changes. 8328 * tests/api_spelling.cc,tests/queryparsertest.cc: Add test coverage for 8329 these changes. 8330 8331Tue Jul 27 15:24:56 GMT 2010 Tim Brody <tdb2@ecs.soton.ac.uk> 8332 8333 * xapian-core.spec.in: Add xapian-metadata and cmake related files to 8334 RPM packaging. 8335 8336Thu Jul 22 07:13:12 GMT 2010 Olly Betts <olly@survex.com> 8337 8338 * net/remoteconnection.cc: Wrap line. 8339 8340Thu Jul 22 07:11:23 GMT 2010 Olly Betts <olly@survex.com> 8341 8342 * common/remoteserver.h,net/remoteserver.cc: Pass 1.0 for the end time 8343 when relaying a NetworkTimeoutError, not RealTime::now() - any time 8344 in the past will do, we just want the operation to time out if it 8345 would block. Removed related FIXME which is already resolved. 8346 8347Wed Jul 21 18:00:08 GMT 2010 Olly Betts <olly@survex.com> 8348 8349 * unicode/tclUniData.cc: Fix comment - this is Unicode 5.2 data, not 8350 5.1. 8351 8352Thu Jul 15 13:45:05 GMT 2010 Olly Betts <olly@survex.com> 8353 8354 * common/realtime.h:Explicitly specify global namespace for 8355 xapian_sleep_milliseconds prototype as MSVC seems to need this. 8356 8357Thu Jul 15 13:03:13 GMT 2010 Olly Betts <olly@survex.com> 8358 8359 * queryparser/queryparser.lemony: Fix handling of groups of terms which 8360 are all stopwords - in situations where this causes a problem we now 8361 disable stopword checks for such groups. (ticket#245) 8362 * tests/queryparsertest.cc: Add regression testcases. 8363 8364Thu Jul 15 08:13:03 GMT 2010 Olly Betts <olly@survex.com> 8365 8366 * common/fileutils.cc: Fix reversed memcmp() test. 8367 8368Sun Jul 11 14:59:06 GMT 2010 Olly Betts <olly@survex.com> 8369 8370 * common/fileutils.cc: Factor out UNCW path check into a helper 8371 function. 8372 8373Sun Jul 11 14:56:27 GMT 2010 Olly Betts <olly@survex.com> 8374 8375 * common/fileutils.cc,tests/Makefile.am,tests/unittest.cc: Move the 8376 tests of resolve_relative_path() into a new "unittest" program so 8377 they actually are run by "make check". (ticket#243) 8378 8379Sun Jul 11 13:14:24 GMT 2010 Olly Betts <olly@survex.com> 8380 8381 * common/fileutils.cc: Support the \\?\ path syntax. 8382 8383Sat Jul 10 15:49:08 GMT 2010 Olly Betts <olly@survex.com> 8384 8385 * common/fileutils.cc,common/fileutils.h: Fix resolve_relative_path() 8386 to handle UNC paths. 8387 8388Sat Jul 10 15:27:48 GMT 2010 Olly Betts <olly@survex.com> 8389 8390 * common/fileutils.cc: -D__WIN32__ on the g++ command line works for 8391 testing on Linux, so no need to have that in the code. Add a couple 8392 of UNC path test cases which pass, and a commented-out one which 8393 fails. 8394 8395Sat Jul 10 14:58:35 GMT 2010 Olly Betts <olly@survex.com> 8396 8397 * common/fileutils.cc,common/fileutils.h: We use these routines to 8398 resolve a relative path (in a stub database file) in terms of a 8399 second path (the filename of that file), so just instead a 8400 routine to do exactly that, which is easier to code and more 8401 efficient. The new implementation fixes several bugs with 8402 Microsoft Windows paths. Some testcases (currently not used) 8403 are now present in fileutils.cc (ticket#243). 8404 * backends/dbfactory.cc: Use the new API. 8405 8406Fri Jul 09 07:42:31 GMT 2010 Olly Betts <olly@survex.com> 8407 8408 * tests/perftest/perftest.cc: I missed a use of atoi() on std::string 8409 but just call .cstr() on the string instead of dragging in utils.h. 8410 8411Fri Jul 09 04:39:40 GMT 2010 Olly Betts <olly@survex.com> 8412 8413 * common/utils.cc,common/utils.h: Remove unused std::string to const 8414 char * wrappers for standard functions, and remove the only use of 8415 rmdir()'s wrapper. 8416 8417Thu Jul 08 15:18:04 GMT 2010 Olly Betts <olly@survex.com> 8418 8419 * api/omenquire.cc: Xapian::ESet is a reference counted handle, so it 8420 is efficient to return by value - remove FIXME which suggests we 8421 should avoid doing so. 8422 8423Thu Jul 08 15:17:20 GMT 2010 Olly Betts <olly@survex.com> 8424 8425 * api/omqueryinternal.cc: Update FIXMEs - it's too late to fix stuff 8426 in 1.1.x! 8427 8428Thu Jul 08 15:13:47 GMT 2010 Olly Betts <olly@survex.com> 8429 8430 * api/omenquire.cc: Remove FIXMEs about debug logging which have been 8431 addressed by the fairly recent debug logging improvements. 8432 8433Thu Jul 08 15:07:07 GMT 2010 Olly Betts <olly@survex.com> 8434 8435 * api/keymaker.cc: Fix comment typos. 8436 8437Thu Jul 08 14:50:59 GMT 2010 Olly Betts <olly@survex.com> 8438 8439 * api/replication.cc,backends/brass/,backends/chert/, 8440 backends/dbfactory_remote.cc,backends/flint/, 8441 backends/remote/remote-database.cc,bin/xapian-progsrv.cc, 8442 bin/xapian-tcpsrv.cc,common/,net/,tests/perftest/perftest.cc, 8443 tests/perftest/perftest.h: Replace use of OmTime with a double 8444 holding a count in seconds since the epoch. 8445 8446Thu Jul 08 12:35:40 GMT 2010 Olly Betts <olly@survex.com> 8447 8448 * net/tcpclient.cc: Retry select() if it fails with EINTR while waiting 8449 for connect(), and discriminate cases with same failure message to 8450 aid debugging. 8451 8452Thu Jul 08 05:09:18 GMT 2010 Olly Betts <olly@survex.com> 8453 8454 * queryparser/queryparser.lemony: Remove comment left over from the 8455 "boolean exclusive" work. 8456 8457Wed Jul 07 13:18:17 GMT 2010 Olly Betts <olly@survex.com> 8458 8459 * include/xapian/types.h: Fix documentation comment for Xapian::timeout 8460 type - it holds a time interval in milliseconds not microseconds 8461 (the API docs for the methods which use it explicitly document this 8462 correctly). 8463 8464Tue Jul 06 15:17:09 GMT 2010 Olly Betts <olly@survex.com> 8465 8466 * tests/queryparsertest.cc: Fix formatting. 8467 8468Tue Jul 06 14:13:03 GMT 2010 Olly Betts <olly@survex.com> 8469 8470 * tests/perftest/perftest.cc: Use str(OmTime::as_double()) rather than 8471 trying to assemble a string of a floating point number from strings 8472 of the sec and usec values. 8473 8474Tue Jul 06 14:03:30 GMT 2010 Olly Betts <olly@survex.com> 8475 8476 * common/debuglog.h,common/remote-database.h: Remove unused '#include 8477 "omtime.h"'. 8478 * backends/remote/remote-database.cc: Add explicit '#include 8479 "omtime.h"'. 8480 8481Mon Jul 05 11:40:42 GMT 2010 Olly Betts <olly@survex.com> 8482 8483 * queryparser/queryparser.lemony: Restore iterator to start of 8484 where we tried to parse a range if we decide it might be a filter 8485 term instead. Clear the error if we decide it is a filter. 8486 * tests/queryparsertest.cc: Fix expected test output from 8487 qp_value_range4 testcase. 8488 8489Mon Jul 05 06:46:16 GMT 2010 Olly Betts <olly@survex.com> 8490 8491 * queryparser/queryparser.lemony: Fix to be smarter about handling a 8492 boolean filter term containing ".." in the presence of 8493 valuerangeprocessors. 8494 * tests/queryparsertest.cc: Add regression test qp_value_range4. 8495 8496Mon Jul 05 04:10:08 GMT 2010 Olly Betts <olly@survex.com> 8497 8498 * queryparser/queryparser.lemony,queryparser/queryparser.lt: Clean up 8499 how value ranges are handled to do the checking of the range in the 8500 lexer, which then passes a single token (RANGE) to the parser 8501 (instead of a RANGE_START token which is always followed by a 8502 RANGE_END token). 8503 8504Fri Jul 02 12:32:37 GMT 2010 Olly Betts <olly@survex.com> 8505 8506 * configure.ac: Don't pass -mtune=generic unless GCC >= 4.2 is in use 8507 (ticket#492). 8508 8509Wed Jun 30 10:54:15 GMT 2010 Olly Betts <olly@survex.com> 8510 8511 * backends/brass/brass_postlist.cc: Remove unnecessary NULL check. 8512 Identified by Coverity's Scan. 8513 * backends/chert/chert_postlist.cc: Same change for chert. 8514 8515Tue Jun 29 12:17:16 GMT 2010 Olly Betts <olly@survex.com> 8516 8517 * backends/brass/brass_chunkedlisttable.h, 8518 backends/chert/chert_chunkedlisttable.h: Remove unused files. 8519 8520Sun Jun 27 04:31:06 GMT 2010 Olly Betts <olly@survex.com> 8521 8522 * NEWS: Update for 1.2.2. 8523 8524Sun Jun 27 04:22:28 GMT 2010 Olly Betts <olly@survex.com> 8525 8526 * examples/delve.cc: Show the database's UUID. 8527 8528Sun Jun 27 03:30:16 GMT 2010 Olly Betts <olly@survex.com> 8529 8530 * NEWS.SKELETON: Add "tools" section. 8531 8532Sun Jun 27 03:03:57 GMT 2010 Olly Betts <olly@survex.com> 8533 8534 * configure.ac: Update for 1.2.2. 8535 8536Sat Jun 26 15:55:45 GMT 2010 Olly Betts <olly@survex.com> 8537 8538 * NEWS: Create from ChangeLog. 8539 8540Sat Jun 26 15:36:37 GMT 2010 Olly Betts <olly@survex.com> 8541 8542 * NEWS.SKELETON: Add template for NEWS entry. 8543 8544Sat Jun 26 11:09:03 GMT 2010 Olly Betts <olly@survex.com> 8545 8546 * backends/brass/brass_table.cc: Sync the table right after the base 8547 file, which allows more time for the table changes to be written, 8548 and doing the sync together may be more efficient with some Linux 8549 kernel versions. 8550 * backends/chert/chert_table.cc: Same change for chert. 8551 8552Sat Jun 26 06:46:39 GMT 2010 Olly Betts <olly@survex.com> 8553 8554 * HACKING: Reorder the release checklist. 8555 8556Thu Jun 24 08:03:18 GMT 2010 Olly Betts <olly@survex.com> 8557 8558 bin/xapian-check.cc: Don't try to check doclengths are consistent 8559 between the postlist and termlist tables if it would use more than 8560 1GB of memory, and handle std::bad_alloc or std::length_error. This 8561 issue affects sup users, as sup allocates docids such that they are 8562 sparse and large docids can easily occur. 8563 8564Wed Jun 23 15:38:25 GMT 2010 Olly Betts <olly@survex.com> 8565 8566 * include/xapian/weight.h: Revert Xapian::Weight's copy ctor back 8567 to protected as GCC 4.1 fails to compile subclasses when it is 8568 private (this appears to be a compiler bug). 8569 8570Wed Jun 23 07:31:19 GMT 2010 Olly Betts <olly@survex.com> 8571 8572 * AUTHORS: Thank people who reported bugs fixed in 1.2.1. 8573 8574Wed Jun 23 06:52:54 GMT 2010 Olly Betts <olly@survex.com> 8575 8576 * xapian-core.spec.in: Update for 1.2.x - add e2fsprogs-devel to 8577 BuildRequires and add new files. 8578 8579Wed Jun 23 05:00:34 GMT 2010 Olly Betts <olly@survex.com> 8580 8581 * HACKING: Wording tweak. 8582 8583Wed Jun 23 04:11:30 GMT 2010 Olly Betts <olly@survex.com> 8584 8585 * tests/harness/testsuite.cc: Need <cstdio> for sprintf(). Fixes 8586 compilation error for some platforms and/or compilers (my guess would 8587 be GCC 4.5 - it builds OK with GCC 4.4). (ticket#489) 8588 8589Tue Jun 22 14:45:37 GMT 2010 Olly Betts <olly@survex.com> 8590 8591 * NEWS,configure.ac: Update for 1.2.1. 8592 8593Mon Jun 21 16:00:22 GMT 2010 Olly Betts <olly@survex.com> 8594 8595 * NEWS: Sync with 1.0.21 and update from ChangeLog. 8596 8597Mon Jun 21 15:15:50 GMT 2010 Olly Betts <olly@survex.com> 8598 8599 * tests/api_replicate.cc: Unix putenv() requires the buffer passed to 8600 remain valid, as it stores it directly in the environment. It's 8601 unclear from MSDN if _putenv() does the same, but _putenv_s() must 8602 allocate a copy since it needs to have an '=' in, so use that 8603 instead. It also has an interface much like setenv(), so the code 8604 looks more similar. 8605 8606Mon Jun 21 06:07:42 GMT 2010 Olly Betts <olly@survex.com> 8607 8608 * queryparser/queryparser.cc: Add missing const. 8609 8610Mon Jun 21 05:21:32 GMT 2010 Olly Betts <olly@survex.com> 8611 8612 * queryparser/queryparser.cc: Update to match header ABI fix. 8613 8614Mon Jun 21 03:52:41 GMT 2010 Olly Betts <olly@survex.com> 8615 8616 * include/xapian/queryparser.h: QueryParser::add_boolean_prefix() now 8617 uses two overloaded forms instead of a default parameter so that we 8618 don't break the ABI. 8619 8620Fri Jun 18 16:56:59 GMT 2010 Olly Betts <olly@survex.com> 8621 8622 * AUTHORS: Add 1.0.21 bug reporters. 8623 8624Fri Jun 18 05:52:00 GMT 2010 Olly Betts <olly@survex.com> 8625 8626 * include/xapian/queryparser.h,queryparser/queryparser.cc, 8627 queryparser/queryparser.lemony,queryparser/queryparser_internal.h: 8628 Add new optional parameter to QueryParser::add_boolean_prefix() to 8629 allow the user to indicate a prefix isn't "exclusive" and that 8630 OP_AND should be used to combine multiple instances. Fixes 8631 ticket#402. This change should also improve efficiency as it 8632 avoids copying the lists of prefixes and compares them more 8633 efficiently. 8634 8635Fri Jun 18 02:51:11 GMT 2010 Olly Betts <olly@survex.com> 8636 8637 * include/xapian/queryparser.h: Fix doccomment typo. 8638 8639Thu Jun 17 14:04:35 GMT 2010 Olly Betts <olly@survex.com> 8640 8641 * include/xapian/weight.h: Xapian::Weight's copy ctor is now 8642 private rather than protected. This is an API and ABI compatible 8643 change since there's no definition so a subclass which tried to 8644 access it before would fail to link. 8645 8646Thu Jun 17 13:00:47 GMT 2010 Olly Betts <olly@survex.com> 8647 8648 * queryparser/queryparser.lemony: Missing changes from previous commit. 8649 8650Thu Jun 17 11:37:30 GMT 2010 Olly Betts <olly@survex.com> 8651 8652 * api/valuerangeproc.cc: Add support for open-ended ranges 8653 (ticket#480). 8654 * docs/queryparser.html,docs/valueranges.rst: Document. 8655 * tests/queryparsertest.cc: Add feature tests. 8656 8657Thu Jun 17 06:15:24 GMT 2010 Olly Betts <olly@survex.com> 8658 8659 * queryparser/queryparser.lemony: Switch out of IN_GROUP mode when we 8660 emit a WILDCARD. Fixeds bug#484. 8661 * tests/queryparsertest.cc: Add regression testcase to wildcard1. 8662 8663Thu Jun 17 02:42:16 GMT 2010 Olly Betts <olly@survex.com> 8664 8665 * tests/api_backend.cc: Rename failedadd1 to failedreplace1 as it's the 8666 replace which fails really. Add failedreplace2 which adds explicit 8667 coverage for the case of a failed replace when the database isn't 8668 empty to start with. 8669 8670Tue Jun 15 12:45:36 GMT 2010 Olly Betts <olly@survex.com> 8671 8672 * include/xapian/queryparser.h: Note in the description of 8673 set_database() what the database is used for. 8674 8675Tue Jun 15 12:26:12 GMT 2010 Olly Betts <olly@survex.com> 8676 8677 * include/xapian/queryparser.h: Fix formatting of bullet list. 8678 8679Mon Jun 14 17:02:10 GMT 2010 Olly Betts <olly@survex.com> 8680 8681 * backends/brass/brass_table.cc,backends/chert/chert_table.cc, 8682 backends/flint/flint_table.cc: cancel() now marks the Btree as 8683 unmodified. 8684 * tests/api_backend.cc: Add regression test failedadd1. 8685 8686Sun Jun 13 16:07:49 GMT 2010 Olly Betts <olly@survex.com> 8687 8688 * common/Makefile.mk,common/safeuuid.h,configure.ac: Fix mingw build to 8689 use __WIN32__ UUID API. 8690 8691Sun Jun 13 12:25:24 GMT 2010 Olly Betts <olly@survex.com> 8692 8693 * tests/perftest/freemem.cc: Fix whitespace to match Omega's version. 8694 8695Sun Jun 13 11:52:24 GMT 2010 Olly Betts <olly@survex.com> 8696 8697 * tests/perftest/freemem.cc: Merge in changes from omega's version. 8698 Clean up whitespace issues. Put the __WIN32__ case last, as we 8699 tend to elsewhere (since most people reading the code probably 8700 want to see the other version). 8701 8702Sun Jun 13 11:32:30 GMT 2010 Olly Betts <olly@survex.com> 8703 8704 * tests/perftest/perftest.cc: "MSWin32" isn't the OS name. Also, 8705 prefer += to build up a string. 8706 8707Sat Jun 12 09:31:28 GMT 2010 Olly Betts <olly@survex.com> 8708 8709 * tests/api_percentages.cc: Note that 1.0.x returned 4% for the top hit 8710 in topercent5, so checking it gets at least 50% is a regression test 8711 for that issue. 8712 8713Fri Jun 11 15:38:26 GMT 2010 Olly Betts <olly@survex.com> 8714 8715 * configure.ac: -march=pentium4 doesn't seem to give a measurable 8716 speed-up or size reduction (from Richard's tests) and it carries a 8717 small risk of introducing instructions which don't work on some 8718 obscure CPU which implements SSE2, so drop it. 8719 8720Fri Jun 11 15:25:16 GMT 2010 Olly Betts <olly@survex.com> 8721 8722 * weight/bm25weight.cc: Stop forcing the wdf_max value to be at least 8723 one in BM25Weight::get_maxpart() - this is no longer needed now we 8724 calculate percentages based on the number of matching subqueries, and 8725 it is more natural for a non-existent term to get zero weight (ditto 8726 for a term which always has wdf = 0. 8727 * tests/api_anydb.cc: Change qterminfo1 to check that a non-existent 8728 term gets zero weight (previously we checked that it got a non-zero 8729 weight, but really we want to ensure that it contributes to 8730 percentage calculations, which new test topercent5 now does). 8731 8732Fri Jun 11 15:19:29 GMT 2010 Olly Betts <olly@survex.com> 8733 8734 * tests/api_percentages.cc: Add topercent5 testcase which checks that 8735 an OR search including an non-existent term doesn't get 100%, and 8736 that the non-existent term doesn't score more than terms which do 8737 exist. 8738 8739Fri Jun 11 14:15:07 GMT 2010 Olly Betts <olly@survex.com> 8740 8741 * matcher/queryoptimiser.cc: When using SSE FP instructions on x86 we 8742 can disable the use of volatile since there are no excess precision 8743 issues to work around. 8744 8745Fri Jun 11 08:21:04 GMT 2010 Olly Betts <olly@survex.com> 8746 8747 * configure.ac: Put SSE flags in AM_CXXFLAGS not CXXFLAGS. 8748 8749Fri Jun 11 07:08:01 GMT 2010 Olly Betts <olly@survex.com> 8750 8751 * configure.ac: Default to building with SSE FP instructions for x86. 8752 This avoids issues with excess precision and it a bit faster too. 8753 Should fix ticket#487. 8754 8755Thu Jun 10 15:15:33 GMT 2010 Olly Betts <olly@survex.com> 8756 8757 * NEWS: Update from ChangeLog. 8758 8759Thu Jun 10 15:00:12 GMT 2010 Olly Betts <olly@survex.com> 8760 8761 * HACKING: Capitalise "Fedora". 8762 8763Thu Jun 10 11:27:18 GMT 2010 Olly Betts <olly@survex.com> 8764 8765 * INSTALL: Reword UUID section - list platforms where we make use of 8766 built-in APIs first, give the URL for e2fsprogs home page, and 8767 give the package name for Debian and Ubuntu. 8768 8769Thu Jun 10 01:08:21 GMT 2010 Olly Betts <olly@survex.com> 8770 8771 * HACKING: libtool 2.2.10 used for snapshots and releases now. 8772 8773Thu Jun 10 00:21:49 GMT 2010 Olly Betts <olly@survex.com> 8774 8775 * configure.ac,include/xapian/version_h.cc, 8776 include/xapian/visibility.h: We do need to have the visibility 8777 annotations on for code compiling against the library, so substitute 8778 the probed value of XAPIAN_ENABLE_VISIBILITY into <xapian/version.h> 8779 so it is available. 8780 8781Wed Jun 09 11:31:14 GMT 2010 Olly Betts <olly@survex.com> 8782 8783 * INSTALL,configure.ac,include/xapian/visibility.h: Control use of 8784 GCC's visibility support with defined(XAPIAN_ENABLE_VISIBILITY) 8785 instead of !defined(XAPIAN_DISABLE_VISIBILITY), so it is only used 8786 when building the library, not when building code which uses it. 8787 Add check to configure that GCC actually supports visibility for 8788 the platform being built for, which fixes compiler warnings with 8789 platforms which don't (such as Mac OS X and mingw). 8790 8791Wed Jun 09 11:17:58 GMT 2010 Olly Betts <olly@survex.com> 8792 8793 * HACKING: "private", etc as "access specifiers", not "visibility 8794 specifiers". 8795 8796Wed Jun 09 11:04:55 GMT 2010 Olly Betts <olly@survex.com> 8797 8798 * HACKING: Note flex and bison needed to build doxygen. 8799 8800Wed Jun 09 05:25:10 GMT 2010 Olly Betts <olly@survex.com> 8801 8802 * common/win32_uuid.cc: Fix signed/unsigned comparison warning on 8803 mingw. 8804 8805Tue Jun 08 16:56:26 GMT 2010 Olly Betts <olly@survex.com> 8806 8807 * common/safewinsock2.h: Reword #error to avoid single quote which 8808 gives compilation warning with some GCC 4.2.1 on mingw. 8809 8810Tue Jun 08 14:32:28 GMT 2010 Olly Betts <olly@survex.com> 8811 8812 * backends/brass/brass_check.h,backends/chert/chert_check.h, 8813 backends/flint/flint_check.h: Remove mutable from std::ostream & 8814 member - mutable doesn't make sense for a reference. 8815 8816Tue Jun 08 13:03:56 GMT 2010 Olly Betts <olly@survex.com> 8817 8818 * common/,matcher/,weight/weightinternal.cc: Replace the still rather 8819 contorted mechanism for accumulating rel termfreqs for local 8820 databases with a simpler mechanism which is more efficient in both 8821 space and time. 8822 8823Mon Jun 07 16:31:24 GMT 2010 Olly Betts <olly@survex.com> 8824 8825 * api/maptermlist.h,api/matchspy.cc,api/termlist.cc,backends/brass/, 8826 backends/chert/,backends/flint/, 8827 backends/inmemory/inmemory_database.cc, 8828 backends/inmemory/inmemory_database.h, 8829 backends/multi/multi_termlist.cc,backends/multi/multi_termlist.h, 8830 backends/remote/net_termlist.cc,backends/remote/net_termlist.h, 8831 common/ortermlist.h,common/termlist.h,expand/ortermlist.cc: Remove 8832 default OrTermList::skip_to() implementation and implement skip_to() 8833 in each class instead, as this allows a slightly more efficient 8834 implementation, and also avoids problems with calling skip_to() as 8835 the first operation for the many subclasses which have a "started" 8836 flag, which OrTermList::skip_to() won't set. 8837 8838Mon Jun 07 06:08:53 GMT 2010 Olly Betts <olly@survex.com> 8839 8840 * queryparser/queryparser.lemony: Rename TermList class to Terms to 8841 avoid confusion with the TermList typedef used elsewhere. Add 8842 documentation comments for Terms and TermGroup classes. 8843 8844Mon Jun 07 02:18:05 GMT 2010 Olly Betts <olly@survex.com> 8845 8846 * backends/brass/: Switch to using io_utils instead of brass_io. 8847 8848Mon Jun 07 02:16:30 GMT 2010 Olly Betts <olly@survex.com> 8849 8850 * AUTHORS: Add Arvid Ephraim Picciani for help fixing bootstrap for 8851 BusyBox sha1sum. 8852 8853Mon Jun 07 01:16:57 GMT 2010 Olly Betts <olly@survex.com> 8854 8855 * common/io_utils.cc: Whitespace tweak. 8856 8857Mon Jun 07 00:58:26 GMT 2010 Olly Betts <olly@survex.com> 8858 8859 * common/io_utils.h: Fix header guard macro name to follow convention. 8860 8861Sun Jun 06 15:07:55 GMT 2010 Olly Betts <olly@survex.com> 8862 8863 * HACKING,configure.ac: Upgrade to using libtool 2.2.8. 8864 8865Sun Jun 06 04:34:13 GMT 2010 Olly Betts <olly@survex.com> 8866 8867 * bin/Makefile.mk,configure.ac: Fix build failures with some 8868 combinations of backends disabled (partially addresses ticket#361). 8869 8870Sat Jun 05 16:30:57 GMT 2010 Olly Betts <olly@survex.com> 8871 8872 * matcher/remotesubmatch.cc: Add missing parameter of 8873 RemoteSubMatch::start_match() to debug logging. 8874 8875Sat Jun 05 15:03:56 GMT 2010 Olly Betts <olly@survex.com> 8876 8877 * matcher/queryoptimiser.h: Make QueryOptimiser::optimise_query()'s 8878 argument const pointer, since we only pass it to do_subquery() which 8879 takes a const pointer. 8880 8881Fri Jun 04 16:05:01 GMT 2010 Olly Betts <olly@survex.com> 8882 8883 * common/rset.h: Just keep a reference to the set<docid> from the 8884 Xapian::RSet object rather than copying it (since we now only 8885 create the RSetI object transiently, so the Xapian::RSet object 8886 is definitely valid for its whole lifetime). 8887 8888Fri Jun 04 15:57:50 GMT 2010 Olly Betts <olly@survex.com> 8889 8890 * api/omenquire.cc,matcher/localmatch.cc,matcher/localmatch.h: Keep 8891 a Xapian::RSet handle in the LocalSubMatch object and only create 8892 an RSetI object briefly in LocalSubMatch::prepare_match(). 8893 8894Fri Jun 04 15:36:45 GMT 2010 Olly Betts <olly@survex.com> 8895 8896 * common/pretty.h: RSetI objects are no longer passed as parameters 8897 or return values, so we no longer need to handle them. 8898 8899Fri Jun 04 15:28:21 GMT 2010 Olly Betts <olly@survex.com> 8900 8901 * api/omenquire.cc,common/esetinternal.h,common/omenquireinternal.h, 8902 common/rset.h,expand/esetinternal.cc,matcher/rset.cc: RSetI is used 8903 when collating statistics prior to performing the match, and when 8904 generating an ESet. The second use is entirely unnecessary and just 8905 ends up with us copying the std::set<Xapian::docid> from inside the 8906 Xapian::RSet object, so eliminate it and just use the Xapian::RSet 8907 object directly. This allows RSetI to be simplified somewhat too. 8908 8909Fri Jun 04 14:22:38 GMT 2010 Olly Betts <olly@survex.com> 8910 8911 * tests/api_backend.cc: Make arrays static const. 8912 8913Fri Jun 04 13:25:20 GMT 2010 Olly Betts <olly@survex.com> 8914 8915 * backends/Makefile.mk: Note need to update include/xapian/version_h.cc 8916 when adding a new backend. 8917 * AUTHORS: Thanks to Conrad Hoffmann for pointing this omission out. 8918 8919Thu Jun 03 15:01:44 GMT 2010 Richard Boulton <richard@tartarus.org> 8920 8921 * tests/soaktest/soaktest_queries.cc: Add missing include of str.h 8922 8923Thu Jun 03 12:09:35 GMT 2010 Richard Boulton <richard@tartarus.org> 8924 8925 * tests/Makefile.am: Fix building of zlib-vg.so in VPATH builds. 8926 8927Thu Jun 03 11:49:31 GMT 2010 Richard Boulton <richard@tartarus.org> 8928 8929 * matcher/orpostlist.cc,tests/api_backend.cc: Fix several bugs in 8930 OrPostList::check() (introduced since 1.2.0). Fixes ticket #485. 8931 Specifically, we have to check a sub-postlist even if head=did, 8932 because we need to know if that sub-postlist is valid. Also, if 8933 a sub-postlist is not valid, set its head to did+1, since we know 8934 that we're no longer interested in matches before did, and this 8935 allows the OrPostList to assume that the minimum docid of its 8936 children is the current docid. 8937 8938Thu Jun 03 07:15:24 GMT 2010 Olly Betts <olly@survex.com> 8939 8940 * matcher/: Implement MultiXorPostList which returns correct weights 8941 for XOR of more than 2 subqueries, and drop XorPostList completely. 8942 (ticket#475) 8943 * tests/api_anydb.cc: Add regression test xor2. 8944 8945Thu Jun 03 04:38:56 GMT 2010 Olly Betts <olly@survex.com> 8946 8947 * tests/api_replicate.cc: Tweak loop end test to be a normal while. 8948 8949Thu Jun 03 01:22:20 GMT 2010 Olly Betts <olly@survex.com> 8950 8951 * tests/api_stem.cc: Note stem2's feature was backported to 1.0.21. 8952 8953Tue Jun 01 13:49:44 GMT 2010 Olly Betts <olly@survex.com> 8954 8955 * backends/brass/brass_database.cc,backends/brass/brass_termlist.cc, 8956 backends/chert/chert_database.cc,backends/chert/chert_termlist.cc, 8957 backends/flint/flint_database.cc,backends/flint/flint_document.cc, 8958 backends/flint/flint_termlist.cc,matcher/: Fix LOGCALL_VOID uses 8959 for ctors and dtors to be LOGCALL_CTOR and LOGCALL_DTOR respectively. 8960 8961Tue Jun 01 13:33:07 GMT 2010 Olly Betts <olly@survex.com> 8962 8963 * api/omdocument.cc: Use LOGCALL_VOID instead of LOGCALL with a void 8964 return type. 8965 8966Tue Jun 01 13:08:02 GMT 2010 Olly Betts <olly@survex.com> 8967 8968 * matcher/multimatch.cc: The debug logging now copes with being passed 8969 RSet* so remove special casing with ?:. 8970 8971Tue Jun 01 10:17:27 GMT 2010 Olly Betts <olly@survex.com> 8972 8973 * HACKING,configure.ac: Drop support for --enable-log=profile - 8974 dedicated profiling tools are likely to return more useful results. 8975 * common/debuglog.cc,common/debuglog.h: Rename xapian_debuglogger__ 8976 global to xapian_debuglogger_ to avoid reserved __ in the name. 8977 * common/omdebug.cc,common/omdebug.h: Remove in favour of debuglog.h. 8978 * common/pretty.h: New PrettyOStream<> template class for pretty 8979 printing types in debug logs (and eventually the testsuite). 8980 * api/,backends/brass/,backends/chert/, 8981 backends/dbfactory_remote.cc,backends/flint/, 8982 backends/inmemory/inmemory_database.cc, 8983 backends/inmemory/inmemory_document.cc, 8984 backends/inmemory/inmemory_positionlist.cc, 8985 backends/multi/multi_postlist.cc,backends/multi/multi_termlist.cc, 8986 common/,expand/esetinternal.cc,expand/expandweight.cc, 8987 expand/ortermlist.cc,matcher/,net/progclient.cc, 8988 net/remoteconnection.cc: Migrate all remaining uses of omdebug.h to 8989 debuglog.h. Write more parameters to the debug log. Retire the 8990 barely used APICALL category and use API instead (reflecting actual 8991 current use). Add new REPLICA category. Fix names logged for ctors 8992 and dtors which have "::" in the class name. 8993 8994Sun May 30 13:45:12 GMT 2010 Olly Betts <olly@survex.com> 8995 8996 * api/omenquire.cc: Remove bogus "Data::" from debug logging for two 8997 methods. 8998 8999Sun May 30 08:49:22 GMT 2010 Olly Betts <olly@survex.com> 9000 9001 * include/xapian/stem.h,languages/stem.cc: Xapian::Stem now recognises 9002 "nb" and "nn" as codes for the Norwegian stemmer. 9003 * tests/api_stem.cc: Add feature test stem2 to check that these new 9004 codes work. 9005 9006Sat May 29 10:12:40 GMT 2010 Olly Betts <olly@survex.com> 9007 9008 * common/debuglog.h: Add overload of operator| which writes ", " and 9009 then a value to std::ostream. 9010 * api/omdatabase.cc,api/replication.cc, 9011 backends/brass/brass_alldocspostlist.cc, 9012 backends/brass/brass_metadata.cc,backends/brass/brass_table.cc, 9013 backends/chert/,backends/dbfactory.cc, 9014 backends/flint/flint_alldocspostlist.cc,expand/esetinternal.cc, 9015 expand/expandweight.cc,matcher/,net/remoteconnection.cc, 9016 weight/bm25weight.cc,weight/weight.cc: Use this in LOGCALL uses to 9017 make them shorter and more readable. 9018 9019Fri May 28 06:47:57 GMT 2010 Olly Betts <olly@survex.com> 9020 9021 * api/leafpostlist.cc,api/omdatabase.cc,backends/brass/brass_table.cc, 9022 backends/chert/chert_table.cc,backends/dbfactory.cc, 9023 backends/flint/flint_alldocspostlist.cc: Put LOGCALL macro use all on 9024 one line so we can more easily mechanise use and update. 9025 9026Fri May 28 04:22:35 GMT 2010 Olly Betts <olly@survex.com> 9027 9028 * api/replication.cc,api/valueiterator.cc, 9029 backends/brass/brass_alltermslist.cc, 9030 backends/chert/chert_alltermslist.cc,backends/dbfactory.cc, 9031 backends/inmemory/inmemory_document.cc, 9032 backends/remote/remote-document.cc,matcher/synonympostlist.cc, 9033 net/remoteconnection.cc,weight/bm25weight.cc: Use NO_ARGS instead of 9034 "" and LOGCALL_VOID instead of LOGCALL with void return type. 9035 9036Fri May 28 04:12:35 GMT 2010 Olly Betts <olly@survex.com> 9037 9038 * matcher/valuerangepostlist.cc: Add missing inclusions of 9039 "debuglog.h". 9040 * backends/brass/brass_metadata.h,backends/brass/brass_postlist.h, 9041 backends/brass/brass_synonym.h,backends/chert/chert_metadata.h, 9042 backends/chert/chert_postlist.h,backends/chert/chert_synonym.h, 9043 backends/dbfactory_remote.cc,backends/flint/flint_metadata.h, 9044 backends/flint/flint_synonym.h,common/database.h,common/rset.h: 9045 Remove unused inclusions of "omassert.h" and "omdebug.h". 9046 * common/rset.h: Remove unused inclusion of "weightinternal.h". 9047 * api/omdatabase.cc,api/registry.cc,api/replication.cc,backends/brass/, 9048 backends/chert/,backends/dbfactory.cc,backends/flint/: Add missing 9049 explicit inclusions of "debuglog.h". Fix LOGCALL markup of ctors and 9050 dtors. Use LOGCALL instead of DEBUGCALL. 9051 9052Fri May 28 04:06:08 GMT 2010 Olly Betts <olly@survex.com> 9053 9054 * backends/flint/flint_alldocspostlist.h: Add missing explicit 9055 inclusions of "autoptr.h", "flint_database.h", and forward 9056 declaration of class FlintCursor. 9057 9058Fri May 28 03:52:40 GMT 2010 Olly Betts <olly@survex.com> 9059 9060 * common/const_database_wrapper.h,common/databasereplicator.h, 9061 common/gnu_getopt.h: Add "(C)" to copyright statements for 9062 consistency with other files. 9063 9064Fri May 28 03:45:26 GMT 2010 Olly Betts <olly@survex.com> 9065 9066 * queryparser/queryparser.lt: Include "debuglog.h" instead of 9067 "omdebug.h". 9068 9069Fri May 28 03:45:03 GMT 2010 Olly Betts <olly@survex.com> 9070 9071 * queryparser/queryparser.cc: Remove unused inclusion of "omdebug.h". 9072 9073Fri May 28 03:40:50 GMT 2010 Olly Betts <olly@survex.com> 9074 9075 * expand/esetinternal.cc,matcher/localmatch.cc,matcher/multimatch.cc, 9076 matcher/rset.cc: Add missing explicit inclusions of "omassert.h". 9077 9078Thu May 27 23:39:57 GMT 2010 Olly Betts <olly@survex.com> 9079 9080 * common/Makefile.mk,common/expand.h: Remove unused header. 9081 9082Thu May 27 06:45:27 GMT 2010 Olly Betts <olly@survex.com> 9083 9084 * include/xapian/stem.h: Update the list of languages that the 9085 Xapian::Stem constructor recognises. 9086 9087Thu May 27 05:20:42 GMT 2010 Olly Betts <olly@survex.com> 9088 9089 * include/xapian/stem.h,languages/Makefile.mk, 9090 languages/compiler/generator.c,languages/stem.cc, 9091 languages/steminternal.cc,languages/steminternal.h,tests/Makefile.am, 9092 tests/api_stem.cc: Add the ability to specify your own stemming 9093 algorithm by subclassing Xapian::StemImplementation, mostly based on 9094 patch from Evgeny Sizikov in ticket#448. 9095 9096Thu May 27 04:50:31 GMT 2010 Olly Betts <olly@survex.com> 9097 9098 * tests/api_opvalue.cc: Use TEST_REL() instead of tout and TEST() with 9099 an inequality. 9100 9101Thu May 27 04:28:07 GMT 2010 Olly Betts <olly@survex.com> 9102 9103 * api/replication.cc,backends/databasereplicator.cc,common/debuglog.h, 9104 common/omdebug.h,expand/esetinternal.cc,expand/ortermlist.cc, 9105 matcher/,net/remoteconnection.cc: Partial mass conversion of files 9106 from omdebug.h to debuglog.h (this takes care off all the files 9107 without BSN copyright). 9108 9109Thu May 27 04:24:36 GMT 2010 Olly Betts <olly@survex.com> 9110 9111 * common/output.h: Use <ostream> not <fstream>. 9112 9113Thu May 27 04:09:25 GMT 2010 Olly Betts <olly@survex.com> 9114 9115 * matcher/orpostlist.cc: Prefer ++x to x += 1 for consistency. 9116 9117Wed May 26 13:32:20 GMT 2010 Olly Betts <olly@survex.com> 9118 9119 * matcher/exactphrasepostlist.cc: Separate (C) notice from @file 9120 doccomment. 9121 9122Wed May 26 13:11:57 GMT 2010 Olly Betts <olly@survex.com> 9123 9124 * backends/flint/flint_postlist.cc,backends/flint/flint_postlist.h: 9125 Move virtual method FlintPostList::get_doclength() definition out 9126 of header, which also means the header no longer needs omdebug.h. 9127 9128Wed May 26 13:03:22 GMT 2010 Olly Betts <olly@survex.com> 9129 9130 * common/debuglog.h: Strip out commented out RETURN_VOID machinery. 9131 This case is automatically handled provided LOGCALL_VOID is used. 9132 9133Wed May 26 12:33:04 GMT 2010 Olly Betts <olly@survex.com> 9134 9135 * common/debuglog.h: Don't check the category more than once in ctors 9136 and dtors. Don't convert the return value to a string in RETURN() 9137 unless we want to log it. 9138 9139Wed May 26 02:33:00 GMT 2010 Olly Betts <olly@survex.com> 9140 9141 * tests/api_opvalue.cc: Convert file description to doccomment. 9142 Remove unused headers and reorder remainder more standardly. 9143 9144Tue May 25 10:17:42 GMT 2010 Olly Betts <olly@survex.com> 9145 9146 * tests/api_backend.cc: Note ordecay1 and ordecay2 fixes now also in 9147 1.0.21. Whitespace tweak. 9148 9149Tue May 25 04:11:53 GMT 2010 Olly Betts <olly@survex.com> 9150 9151 * tests/api_backend.cc: make_ordecay1_db and make_ordecay2_db end up 9152 looping over at least 4 billion values (or possibly infinitely) on 9153 platforms where sizeof(long) == 8. The two databases are very 9154 similar and the latter one works for the former test, so use the 9155 same db for both tests, and rewrite the generator to work 9156 portably. 9157 9158Sun May 23 07:30:58 GMT 2010 Olly Betts <olly@survex.com> 9159 9160 * tests/api_backend.cc: Note XOR decay bug also fixed in 1.0.21. 9161 9162Sat May 22 13:31:38 GMT 2010 Olly Betts <olly@survex.com> 9163 9164 * configure.ac,tests/Makefile.am: Only try to build zlib-vg.so if we 9165 are found a suitable valgrind installed (otherwise it's a waste of 9166 effort to build it, and the build will fail without the valgrind 9167 headers). 9168 9169Sat May 22 13:18:33 GMT 2010 Olly Betts <olly@survex.com> 9170 9171 * configure.ac,tests/Makefile.am,tests/runtest.in,tests/zlib-vg.c: zlib 9172 can produce "uninitialised" output from "initialised" input - the 9173 output does decode to the input, so this is presumably just some 9174 unused bits in the output, so we use an LD_PRELOAD hack to get 9175 valgrind to check the input is initialised and then tell it that the 9176 output is initialised. 9177 9178Wed May 19 14:34:52 GMT 2010 Richard Boulton <richard@tartarus.org> 9179 9180 * matcher/andmaybepostlist.cc,matcher/andmaybepostlist.h, 9181 matcher/orpostlist.cc: Fix a bug causing documents to be skipped 9182 when OR decayed to AND_MAYBE, if the new RHS was behind the LHS 9183 at the time of the decay. Fixes #476. 9184 * tests/api_backend.cc: Add test case ordecay2 as a regression test 9185 of this. Also, remove some debug output in ordecay1, to speed it 9186 up quite a bit. 9187 9188Wed May 19 11:48:07 GMT 2010 Richard Boulton <richard@tartarus.org> 9189 9190 * matcher/orpostlist.cc,tests/api_backend.cc: Fix a bug in the 9191 decay from OR to AND: if the decay happened when the two 9192 sub-postlists were on different docids, but the higher of those 9193 docids actually occurred in both postlists, the higher docid 9194 would be incorrectly skipped. Add regression test ordecay1 to 9195 test this. 9196 9197Wed May 19 10:36:55 GMT 2010 Richard Boulton <richard@tartarus.org> 9198 9199 * tests/api_backend.cc,tests/api_compact.cc, 9200 tests/harness/testrunner.cc,tests/harness/testrunner.h: Add new 9201 test backend selection flag "generated", to select only backends 9202 which support generated test databases. 9203 9204Wed May 19 03:14:15 GMT 2010 Olly Betts <olly@survex.com> 9205 9206 * api/,backends/brass/,backends/chert/, 9207 backends/contiguousalldocspostlist.cc,backends/flint/, 9208 backends/inmemory/inmemory_database.cc, 9209 backends/remote/remote-database.cc,backends/slowvaluelist.cc, 9210 common/utils.h,expand/esetinternal.cc,matcher/phrasepostlist.cc, 9211 net/remoteserver.cc,net/remotetcpclient.cc, 9212 queryparser/termgenerator.cc,tests/, 9213 tests/harness/backendmanager_multi.cc, 9214 tests/harness/backendmanager_remote.cc, 9215 tests/harness/backendmanager_remotetcp.cc,tests/internaltest.cc, 9216 tests/perftest/perftest.cc,tests/perftest/perftest_matchdecider.cc, 9217 tests/perftest/perftest_randomidx.cc,tests/queryparsertest.cc, 9218 tests/termgentest.cc: Fully migrate from om_tostring() to str(). 9219 9220Wed May 19 03:13:43 GMT 2010 Olly Betts <olly@survex.com> 9221 9222 * cmake/xapian-config-version.cmake,cmake/xapian-config.cmake: Remove 9223 generated files from SVN. 9224 9225Wed May 19 02:59:47 GMT 2010 Olly Betts <olly@survex.com> 9226 9227 * bin/xapian-inspect.cc: Add misisng explicit '#include <utils.h>'. 9228 9229Tue May 18 14:24:03 GMT 2010 Olly Betts <olly@survex.com> 9230 9231 * bin/Makefile.mk,bin/xapian-check.cc,bin/xapian-compact.cc: Improve 9232 building with flint, chert and/or brass disabled (partially addresses 9233 ticket#361). 9234 9235Tue May 18 00:42:08 GMT 2010 Olly Betts <olly@survex.com> 9236 9237 * matcher/multimatch.cc: Fix warnings with --disable-backend-remote 9238 (partially addresses ticket#361). 9239 9240Sat May 15 06:56:26 GMT 2010 Olly Betts <olly@survex.com> 9241 9242 * net/progclient.cc: Read the max fd with sysconf() instead of using 9243 a hardcoded value of 256. Work even if stdin and stdout have been 9244 closed. 9245 9246Thu May 13 10:53:24 GMT 2010 Richard Boulton <richard@tartarus.org> 9247 9248 * matcher/orpostlist.cc: Correct some debugging lines. 9249 9250Thu May 13 09:57:12 GMT 2010 Richard Boulton <richard@tartarus.org> 9251 9252 * matcher/xorpostlist.cc,matcher/xorpostlist.h: Pass a minweight 9253 value of 0 to children of XOR postlists, because we need to know 9254 about all matching documents from the children even if they have 9255 a low weight. 9256 * tests/api_backend.cc: Regression test for this: xordecay1. 9257 9258Thu May 13 08:47:22 GMT 2010 Richard Boulton <richard@tartarus.org> 9259 9260 * tests/soaktest/soaktest_queries.cc: Add more code comments, 9261 increase the number of repetitions from 100 to 10000, remove 9262 accidentally added semicolons after some braces, remove "return 9263 false" at end of test which was added for debugging purposes, 9264 clear tout before testing each query, and display the query 9265 number, the query, and the msets in the event of failure. 9266 9267Tue May 11 10:16:05 GMT 2010 Richard Boulton <richard@tartarus.org> 9268 9269 * tests/soaktest/soaktest_queries.cc: Don't fail for empty result 9270 sets. 9271 9272Tue May 11 10:13:08 GMT 2010 Richard Boulton <richard@tartarus.org> 9273 9274 * tests/soaktest/: Add a "soaktest" testsuite, intended to contain 9275 long-running tests with random data. Currently contains a single 9276 test which builds and runs random queries, checking that the 9277 results returned are consistent when asking for different result 9278 ranges. 9279 9280Mon May 10 16:57:29 GMT 2010 Richard Boulton <richard@tartarus.org> 9281 9282 * tests/api_opvalue.cc: Add tests for OP_VALUE_RANGE to get 9283 coverage of the skip_to() and check() methods of 9284 ValueRangePostList. 9285 9286Mon May 10 16:51:14 GMT 2010 Richard Boulton <richard@tartarus.org> 9287 9288 * tests/api_opvalue.cc: Add a test to get coverage of 9289 ValueGePostList::skip_to(). 9290 9291Sun May 09 21:22:50 GMT 2010 Richard Boulton <richard@tartarus.org> 9292 9293 * tests/api_nodb.cc,tests/api_opvalue.cc: Move test "opvaluege1" 9294 from api_nodb.cc to api_opvalue.cc, and rename to valuege3 for 9295 consistency with other tests of OP_VALUE_GE. 9296 9297Sun May 09 21:19:43 GMT 2010 Richard Boulton <richard@tartarus.org> 9298 9299 * tests/Makefile.am,tests/api_anydb.cc,tests/api_opvalue.cc: Move 9300 the tests for OP_VALUE_* query operators from api_anydb.cc to 9301 api_opvalue.cc. Remove copyright statements earlier than 2007, 9302 since OP_VALUE_* wasn't added until 2007. 9303 9304Sun May 09 21:04:06 GMT 2010 Richard Boulton <richard@tartarus.org> 9305 9306 * matcher/valuegepostlist.cc: Initialise valuelist in check() if 9307 necessary. 9308 * tests/api_anydb.cc: Add regression test for this. 9309 9310Thu May 06 15:03:43 GMT 2010 Richard Boulton <richard@tartarus.org> 9311 9312 * tests/api_replicate.cc: Add some extra debugging, to help 9313 identify the problem with ticket #472. 9314 9315Thu May 06 13:38:25 GMT 2010 Olly Betts <olly@survex.com> 9316 9317 * common/safeuuid.h,configure.ac,INSTALL: Make use of built-in UUID API 9318 on FreeBSD and NetBSD. (ticket#470) 9319 9320Thu May 06 13:10:30 GMT 2010 Olly Betts <olly@survex.com> 9321 9322 * AUTHORS,Makefile.am,cmake/,configure.ac: Install files to make Xapian 9323 easier to use with cmake. Thanks to Sune Vuorela for providing the 9324 desired output. 9325 9326Thu May 06 11:42:16 GMT 2010 Olly Betts <olly@survex.com> 9327 9328 * tests/harness/fdtracker.cc: Don't pass NULL to closedir(). 9329 9330Thu May 06 11:19:41 GMT 2010 Olly Betts <olly@survex.com 9331 9332 * tests/api_anydb.cc: Test UUID is 36 characters long. 9333 9334Thu May 06 10:41:21 GMT 2010 Olly Betts <olly@survex.com> 9335 9336 * matcher/valuegepostlist.cc: Use "str.h" and str(). 9337 9338Thu May 06 10:01:48 GMT 2010 Olly Betts <olly@survex.com> 9339 9340 * matcher/valuegepostlist.cc: Remove unused headers. 9341 9342Thu May 06 09:55:27 GMT 2010 Richard Boulton <richard@tartarus.org> 9343 9344 * matcher/valuegepostlist.cc,matcher/valuerangepostlist.cc: 9345 Keep return value from valuelist->get_value() as a const string & 9346 rather than a string - could be more efficient on some compilers, 9347 though testing with gcc 4.1 revealed no difference. 9348 9349Thu May 06 09:49:12 GMT 2010 Richard Boulton <richard@tartarus.org> 9350 9351 * matcher/valuegepostlist.cc: "while(" -> "while (" in recent patch. 9352 9353Thu May 06 09:30:27 GMT 2010 Olly Betts <olly@survex.com> 9354 9355 * docs/replication.rst: Remove experimental warning. 9356 9357Thu May 06 05:05:57 GMT 2010 Olly Betts <olly@survex.com> 9358 9359 * matcher/valuerangepostlist.cc: Use "str.h" and str(). 9360 9361Thu May 06 05:03:22 GMT 2010 Olly Betts <olly@survex.com> 9362 9363 * matcher/valuerangepostlist.cc: Remove '#include "leafpostlist.h"' 9364 and '#include "document.h"' which are no longer used. 9365 9366Thu May 06 04:53:07 GMT 2010 Olly Betts <olly@survex.com> 9367 9368 * matcher/valuerangepostlist.cc: Remove '#include "autoptr.h"' which is 9369 no longer required. 9370 9371Thu May 06 04:18:25 GMT 2010 Olly Betts <olly@survex.com> 9372 9373 * matcher/valuerangepostlist.cc: "while(" -> "while (" in recent patch. 9374 9375Wed May 05 16:44:17 GMT 2010 Richard Boulton <richard@tartarus.org> 9376 9377 * matcher/orpostlist.cc,matcher/orpostlist.h: Add 9378 OrPostList::check() method, which calls check() on the 9379 sub-postlists, rather than falling back to skip_to(). This is 9380 particularly helpful when a sub-postlist is one for which 9381 skip_to() can be significantly more expensive than check(), such 9382 as a ValueRangePostList. I've observed a speedup of 10 times for 9383 such a subquery with this change. 9384 9385Wed May 05 16:34:30 GMT 2010 Richard Boulton <richard@tartarus.org> 9386 9387 * matcher/valuegepostlist.cc,matcher/valuerangepostlist.cc, 9388 matcher/valuerangepostlist.h: Implement ValueRangePostList and 9389 ValueGePostList using a ValueList streaming values for the value 9390 slot of interest, rather than using an AllDocsPostList to get all 9391 documents, using that to open temporary documents for each 9392 document being considered, and then using that to get the value. 9393 I've observed a speedup of more than 70 times for range queries 9394 in a real-world situation with this change (a 29 second search 9395 became a 0.4 second search). (ticket#432) 9396 9397Wed May 05 06:44:31 GMT 2010 Olly Betts <olly@survex.com> 9398 9399 * NEWS: Update from ChangeLog. 9400 9401Wed May 05 05:42:56 GMT 2010 Olly Betts <olly@survex.com> 9402 9403 * backends/brass/brass_cursor.cc,backends/chert/chert_cursor.cc, 9404 backends/flint/flint_cursor.cc: If we have to rebuild the cursor 9405 on next() because the table changed underneath us, we need to 9406 advance it because find_entry() will put the cursor on the entry 9407 we were already on, or the one before if the entry we were on 9408 has been removed. Bug uncovered by notmuch testsuite, but I'm 9409 unable to reduce it to a sane testcase for our testsuite. 9410 (Debian#579951) 9411 9412Tue May 04 19:38:31 GMT 2010 Richard Boulton <richard@tartarus.org> 9413 9414 * api/replication.cc,bin/xapian-replicate.cc, 9415 common/replicatetcpclient.h,common/replication.h, 9416 net/replicatetcpclient.cc,tests/api_replicate.cc: Fix a bug in 9417 replication, which triggered when multiple modifications were 9418 made to a database while a full copy of the database was in 9419 progress. In this situation, the client would fail to apply more 9420 than one changeset before trying (and failing) to make the 9421 database live, due to an incorrect assignment of the new revision 9422 number to "offline_needed_revision" instead of 9423 "offline_revision". Also, replication now only sleeps for a 9424 period (to allow reader to catch up) after a changeset has been 9425 applied to a live database - previously, it would sleep 9426 unnecessarily after a changeset had been applied to an offline 9427 database. Also, make the period for which replication sleeps in 9428 this situation configurable with the "-r" command line option to 9429 xapian-replicate. 9430 A test for these changes will be committed to xapian-bindings 9431 shortly. 9432 9433Sat May 01 15:25:48 GMT 2010 Olly Betts <olly@survex.com> 9434 9435 * Merge change accidentally committed to brass-btree branch: 9436 * tests/perftest/runprocess.cc: Use safesyswait.h, fixing build failure 9437 on "make check" on FreeBSD. 9438 9439Fri Apr 30 12:33:25 GMT 2010 Richard Boulton <richard@tartarus.org> 9440 9441 * backends/brass/brass_databasereplicator.cc, 9442 backends/chert/chert_databasereplicator.cc, 9443 backends/flint/flint_databasereplicator.cc,tests/api_replicate.cc: 9444 If a DB file doesn't exist when applying a changeset, try 9445 creating it - this happens with lazy tables which aren't created 9446 in the initial revision copied. Add replicate4 test to check 9447 that this works correctly with a lazily created position table. 9448 Fixes ticket #468. 9449 9450Fri Apr 30 07:09:31 GMT 2010 Olly Betts <olly@survex.com> 9451 9452 * docs/deprecation.rst: Replication and PostingSource aren't 9453 experimental in 1.2.x. 9454 9455Fri Apr 30 00:52:22 GMT 2010 Olly Betts <olly@survex.com> 9456 9457 * tests/harness/testsuite.cc: Fix typo in previous commit. 9458 9459Thu Apr 29 23:46:09 GMT 2010 Olly Betts <olly@survex.com> 9460 9461 * tests/harness/testsuite.cc: Check is SA_SIGINFO is defined before 9462 using it as it isn't available everywhere. Fixes FTBFS on GNU Hurd. 9463 9464Thu Apr 29 12:11:48 GMT 2010 Olly Betts <olly@survex.com> 9465 9466 * configure.ac: Install headers under PREFIX/include not 9467 PREFIX/include/xapian. This broke compiling code which didn't use 9468 XO_LIB_XAPIAN or xapian-config. 9469 9470Wed Apr 28 12:05:23 GMT 2010 Olly Betts <olly@survex.com> 9471 9472 * Makefile.am,m4-macros/xapian-1.1.m4: Remove -1.1 suffix from 9473 xapian-1.1.m4 and libxapian-1.1.la. 9474 9475Wed Apr 28 06:15:45 GMT 2010 Olly Betts <olly@survex.com> 9476 9477 * NEWS: Sync with 1.0.20. 9478 * NEWS,configure.ac: 1.2.0! 9479 9480Tue Apr 27 12:45:29 GMT 2010 Olly Betts <olly@survex.com> 9481 9482 * AUTHORS: Add bug reporter. 9483 9484Mon Apr 26 08:26:26 GMT 2010 Olly Betts <olly@survex.com> 9485 9486 * common/getopt.cc,common/gnu_getopt.h: On Cygwin, #include <getopt.h> 9487 for declarations of optind, etc rather than providing our own 9488 declarations. Should fix warnings in Cygwin build reported by Reini 9489 Urban on xapian-devel list. 9490 9491Mon Apr 26 06:27:07 GMT 2010 Olly Betts <olly@survex.com> 9492 9493 * common/getopt.cc,common/gnu_getopt.h: Revert previous 2 9494 getopt-related patches. The latest state was breaking on Solaris 9495 which (contrary to what its man pages say) prototypes getopt() stuff 9496 in stdlib.h. This seems to be a rabbit hole we don't want to head 9497 further down. 9498 9499Sat Apr 24 02:12:53 GMT 2010 Olly Betts <olly@survex.com> 9500 9501 * examples/delve.cc: Update --help output for -v to cover all terms 9502 case. 9503 9504Sat Apr 24 01:58:00 GMT 2010 Olly Betts <olly@survex.com> 9505 9506 * examples/delve.cc: Add -a option to list all terms in a database. 9507 9508Sat Apr 24 01:51:01 GMT 2010 Olly Betts <olly@survex.com> 9509 9510 * examples/copydatabase.cc: Prefer string() to "" converted to string. 9511 9512Thu Apr 22 14:21:30 GMT 2010 Olly Betts <olly@survex.com> 9513 9514 * matcher/multimatch.cc: Fix bug related to ticket#464 (the previous 9515 fix doesn't fix some similar cases). 9516 * tests/api_backend.cc: Add regression test msize2. 9517 9518Thu Apr 22 11:02:11 GMT 2010 Olly Betts <olly@survex.com> 9519 9520 * tests/: Hook up --abort-on-error fix for termgentest, stemtest, 9521 queryparsertest, and internaltest. 9522 9523Thu Apr 22 06:06:53 GMT 2010 Olly Betts <olly@survex.com> 9524 9525 * HACKING: Add a hyphen. 9526 9527Wed Apr 21 11:16:50 GMT 2010 Olly Betts <olly@survex.com> 9528 9529 * tests/harness/testrunner.cc: Exit with status 1 not 0 if we caught an 9530 exception from the harness itself. 9531 9532Wed Apr 21 11:11:10 GMT 2010 Olly Betts <olly@survex.com> 9533 9534 * tests/harness/testrunner.cc,tests/harness/testsuite.cc: Fix 9535 --abort-on-error to actually work. 9536 9537Tue Apr 20 12:53:29 GMT 2010 Olly Betts <olly@survex.com> 9538 9539 * docs/deprecation.rst: Note how to disable deprecation warnings. 9540 9541Tue Apr 20 07:27:23 GMT 2010 Olly Betts <olly@survex.com> 9542 9543 * api/omenquire.cc,matcher/multimatch.cc: Fix incorrect estimate and 9544 bounds on matches when sorting and collapsing in a particular case 9545 (ticket#464). 9546 * tests/api_backend.cc: Add regression test msize1. 9547 9548Mon Apr 19 01:59:59 GMT 2010 Olly Betts <olly@survex.com> 9549 9550 * examples/delve.cc: Use strtoul() instead of atoi() to decode document 9551 id and value slot numbers passed on the command line. Report out of 9552 range and invalid values. 9553 9554Sat Apr 17 09:17:25 GMT 2010 Olly Betts <olly@survex.com> 9555 9556 * common/getopt.cc,common/gnu_getopt.h: Fix getopt code to work on 9557 platforms without GNU getopt but with getopt(). 9558 9559Fri Apr 16 14:23:49 GMT 2010 Olly Betts <olly@survex.com> 9560 9561 * NEWS,configure.ac: Update for 1.1.5. 9562 * NEWS: Sync changes from 1.0.19. 9563 9564Fri Apr 16 12:29:14 GMT 2010 Olly Betts <olly@survex.com> 9565 9566 * tests/harness/testsuite.cc: Handle NULL in the const char * catch. 9567 9568Fri Apr 16 05:47:43 GMT 2010 Olly Betts <olly@survex.com> 9569 9570 * api/postingsource.cc: Fix wrapping. 9571 9572Thu Apr 15 09:07:40 GMT 2010 Richard Boulton <richard@tartarus.org> 9573 9574 * tests/api_replicate.cc: Use a fixed size buffer for copying a 9575 file, rather than a dynamically sized buffer; avoids using the 9576 GCC extension allowing dynamically sized arrays. 9577 9578Thu Apr 15 04:02:34 GMT 2010 Olly Betts <olly@survex.com> 9579 9580 * AUTHORS: Update with bug reporters. 9581 9582Thu Apr 15 00:30:45 GMT 2010 Olly Betts <olly@survex.com> 9583 9584 * include/xapian/termgenerator.h: Note how TermGenerator handles 9585 stopwords. 9586 9587Wed Apr 14 23:41:55 GMT 2010 Olly Betts <olly@survex.com> 9588 9589 * common/getopt.cc,common/gnu_getopt.h: Put our optarg, etc in a 9590 namespace and then pull them in to avoid linking to versions in the C 9591 library. Fixes warnings on Cygwin. 9592 9593Wed Apr 14 15:33:39 GMT 2010 Olly Betts <olly@survex.com> 9594 9595 * tests/api_backend.cc: Remove already fixed FIXME comment. 9596 9597Wed Apr 14 14:13:10 GMT 2010 Olly Betts <olly@survex.com> 9598 9599 * queryparser/queryparser.lemony: Use const reference to avoid a 9600 needless handle copy. 9601 9602Wed Apr 14 14:00:21 GMT 2010 Olly Betts <olly@survex.com> 9603 9604 * backends/brass/brass_alltermslist.cc, 9605 backends/brass/brass_alltermslist.h, 9606 backends/chert/chert_alltermslist.cc, 9607 backends/chert/chert_alltermslist.h, 9608 backends/flint/flint_alltermslist.cc, 9609 backends/flint/flint_alltermslist.h: Fix memory leak if Database 9610 throws an exception in XXXAllTermsList constructor. Fixes bug#462. 9611 * tests/api_backend.cc: Enable qpmemoryleak1 for non-remote backends as 9612 a regression test for this fix. 9613 9614Tue Apr 13 12:38:08 GMT 2010 Olly Betts <olly@survex.com> 9615 9616 * backends/flint/flint_table.cc: Don't memcpy() a block to itself - 9617 it's a waste of effort, and (probably) undefined behaviour (as a 9618 block overlaps itself). 9619 9620Tue Apr 13 12:36:53 GMT 2010 Olly Betts <olly@survex.com> 9621 9622 * backends/brass/brass_table.cc,backends/chert/chert_table.cc: Don't 9623 memcpy() a block to itself - it's a waste of effort, and (probably) 9624 undefined behaviour (as a block overlaps itself). 9625 9626Tue Apr 13 08:38:40 GMT 2010 Olly Betts <olly@survex.com> 9627 9628 * queryparser/queryparser.lemony: Add a ParserHandler class to take 9629 care of releasing the yyParser object. 9630 9631Tue Apr 13 07:49:33 GMT 2010 Olly Betts <olly@survex.com> 9632 9633 * common/autoptr.h: Fix comment typo. 9634 9635Tue Apr 13 07:47:40 GMT 2010 Olly Betts <olly@survex.com> 9636 9637 * api/replication.cc: "autoptr.h" not <autoptr.h> (it's an in-tree 9638 header). 9639 9640Tue Apr 13 07:25:11 GMT 2010 Olly Betts <olly@survex.com> 9641 9642 * queryparser/queryparser.lemony: Fix leak of yyParser if an exception 9643 is thrown during parsing. Partly fixes ticket#462. 9644 * tests/api_backend.cc: Add regression test qpmemoryleak1. 9645 9646Tue Apr 13 01:37:08 GMT 2010 Olly Betts <olly@survex.com> 9647 9648 * common/utils.cc,common/utils.h: Revert change to make removedir() 9649 recurse into subdirectories - it doesn't fix a bug, so isn't 9650 appropriate when we're trying to get 1.2.0 out (backends don't 9651 currently put files in subdirectories, which was the justification 9652 in the commit message). 9653 9654Mon Apr 12 11:50:37 GMT 2010 Olly Betts <olly@survex.com> 9655 9656 * Backport change from brass: 9657 * backends/flint/: Fix to rebuild cursors if the table gains or loses a 9658 level. Fixes ticket#455. 9659 9660Mon Apr 12 09:29:39 GMT 2010 Olly Betts <olly@survex.com> 9661 9662 * Backport change from brass: 9663 * backends/chert/: Fix to rebuild cursors if the table gains or loses a 9664 level. Fixes ticket#455. 9665 9666Mon Apr 12 09:26:53 GMT 2010 Olly Betts <olly@survex.com> 9667 9668 * backends/brass/: Fix to rebuild cursors if the table gains or loses a 9669 level. Fixes ticket#455. 9670 9671Mon Apr 12 08:27:29 GMT 2010 Olly Betts <olly@survex.com> 9672 9673 * tests/api_none.cc: Work around compilation failure on OpenBSD. Fixes 9674 ticket#458. 9675 9676Fri Apr 02 04:03:04 GMT 2010 Olly Betts <olly@survex.com> 9677 9678 * m4-macros/xapian-1.1.m4: Give a more specific error message for the 9679 cases where XAPIAN_CONFIG isn't found, is a directory, or isn't 9680 executable. 9681 9682Thu Mar 25 14:43:57 GMT 2010 Olly Betts <olly@survex.com> 9683 9684 * tests/api_backend.cc: Add databasemodified1 testcase to provide some 9685 test coverage for DatabaseModifiedError. 9686 9687Thu Mar 25 06:32:44 GMT 2010 Olly Betts <olly@survex.com> 9688 9689 * bin/xapian-check-flint.cc: Report docid for doclength mismatch. 9690 9691Thu Mar 25 06:23:26 GMT 2010 Olly Betts <olly@survex.com> 9692 9693 * bin/xapian-check-brass.cc,bin/xapian-check-chert.cc: Report docid for 9694 doclength mismatch. 9695 9696Sat Mar 20 15:04:18 GMT 2010 Olly Betts <olly@survex.com> 9697 9698 * docs/spelling.rst: Add a note about removing automatically added 9699 spelling dictionary entries. 9700 9701Sat Mar 20 09:30:44 GMT 2010 Olly Betts <olly@survex.com> 9702 9703 * docs/spelling.rst: Add section on indexing. Move the "algorithm" 9704 section to the end, as it is really just background information for 9705 the curious. 9706 9707Wed Mar 17 01:33:39 GMT 2010 Olly Betts <olly@survex.com> 9708 9709 * INSTALL: Add a hyphen. 9710 9711Wed Mar 17 01:30:34 GMT 2010 Olly Betts <olly@survex.com> 9712 9713 * INSTALL: Correct description of --enable-assertions. It does NOT 9714 enable debugging symbols, and shouldn't control checks on bad data 9715 passed to API calls (if it does anywhere, that's a bug). Note that 9716 Xapian will run more slowly with assertions on. 9717 9718Wed Mar 17 01:10:13 GMT 2010 Olly Betts <olly@survex.com> 9719 9720 * backends/brass/brass_values.cc: Put ValueUpdater in Brass namespace 9721 to avoid cross-linking issues with ValueUpdater class in chert 9722 (change taken from brass-btree branch). 9723 9724Sun Mar 14 10:05:36 GMT 2010 Olly Betts <olly@survex.com> 9725 9726 * Backport change from chert: 9727 * backends/flint/flint_database.cc, 9728 backends/flint/flint_positionlist.cc, 9729 backends/flint/flint_positionlist.h: When updating a document, rather 9730 than decoding the old positions, comparing with the new, and then 9731 encoding the new if different, we now just encode the new and then 9732 compare the encoded forms. (ticket#428) This change also avoids 9733 calling FlintPositionListTable::del() when we know the entry doesn't 9734 already exist. 9735 * backends/flint/flint_positionlist.cc: Minor refactor to improve 9736 code clarity and to only create std::string variable when it 9737 is needed. 9738 9739Sun Mar 14 09:45:34 GMT 2010 Olly Betts <olly@survex.com> 9740 9741 * Backport change from brass: 9742 * backends/chert/chert_positionlist.cc: Minor refactor to improve 9743 code clarity and to only create std::string variable when it 9744 is needed. 9745 9746Sun Mar 14 09:29:54 GMT 2010 Olly Betts <olly@survex.com> 9747 9748 * backends/brass/brass_positionlist.cc: Minor refactor to improve 9749 code clarity and to only create std::string variable when it 9750 is needed. 9751 9752Sun Mar 14 07:37:03 GMT 2010 Olly Betts <olly@survex.com> 9753 9754 * api/replication.cc,tests/api_closedb.cc,tests/api_metadata.cc, 9755 tests/internaltest.cc: Catch by const reference rather than just 9756 reference, unless we actually need to modify the caught object. 9757 9758Sun Mar 14 06:45:11 GMT 2010 Olly Betts <olly@survex.com> 9759 9760 * api/replication.cc: Check live_db only has a single sub-database even 9761 if we just lazily opened it. 9762 9763Sun Mar 14 05:00:21 GMT 2010 Olly Betts <olly@survex.com> 9764 9765 * backends/flint/flint_database.cc, 9766 backends/flint/flint_databasereplicator.cc: Add missing explicit 9767 '#include "str.h"'. 9768 9769Sat Mar 13 09:22:24 GMT 2010 Richard Boulton <richard@tartarus.org> 9770 9771 * tests/api_replicate.cc: Always use off_t to refer to the size of a 9772 file: fixes warnings about comparting a signed value to an unsigned 9773 value. 9774 9775Thu Mar 11 16:07:10 GMT 2010 Richard Boulton <richard@tartarus.org> 9776 9777 * api/replication.cc: Open the livedb lazily if it gets left in a 9778 closed state (due to an exception when applying a changeset), 9779 rather than reopening it straight away in an exception handler. 9780 This requires the livedb to become a mutable member, but is safer 9781 in the event that an exception is thrown by the WritableDatabase 9782 constructor. 9783 9784Thu Mar 11 15:17:12 GMT 2010 Richard Boulton <richard@tartarus.org> 9785 9786 * tests/api_replicate.cc: Uncomment the rmtmpdir() at the end of 9787 replicate3; it was accidentally committed debugging code. 9788 9789Thu Mar 11 13:03:57 GMT 2010 Richard Boulton <richard@tartarus.org> 9790 9791 * api/replication.cc: If an exception is thrown, mark that the 9792 offline revision needed is unknown (represented by being empty); 9793 ensures that a database isn't put live incorrectly in this case. 9794 Also, actually read the message for REPL_REPLY_END_OF_CHANGES, so 9795 that we get an error if the message is truncated. Also, if an 9796 attempt to apply a changeset to the live database fails with an 9797 exception while the live database is closed, reopen the live 9798 database before allowing the exception to propagate. 9799 * tests/api_replicate.cc: Split replicate() helper function into 9800 two parts, to separate getting the changeset messages, and 9801 applying them. Add replicate3 test, which checks that 9802 replications which are provided with truncated messages raise 9803 appropriate errors. 9804 9805Thu Mar 11 00:46:39 GMT 2010 Olly Betts <olly@survex.com> 9806 9807 * common/replicate_utils.cc: Avoid creating temporary string objects 9808 to reduce bloat in compiled code. Remove explicit std:: qualifiers. 9809 9810Thu Mar 11 00:38:00 GMT 2010 Olly Betts <olly@survex.com> 9811 9812 * common/replicate_utils.cc: The directory we're writing changesets 9813 to will always exist, so no need to ensure it does. 9814 9815Thu Mar 11 00:10:19 GMT 2010 Olly Betts <olly@survex.com> 9816 9817 * backends/chert/chert_databasereplicator.cc, 9818 backends/flint/flint_databasereplicator.cc: Fix calculation of end 9819 pointer for changes file. Since the merge, it has been off by 9820 CONST_STRLEN(CHANGES_MAGIC_STRING). 9821 9822Wed Mar 10 23:59:38 GMT 2010 Olly Betts <olly@survex.com> 9823 9824 * backends/chert/chert_database.cc, 9825 backends/chert/chert_databasereplicator.cc: Add missing explicit 9826 '#include "str.h"'. 9827 9828Wed Mar 10 13:07:41 GMT 2010 Richard Boulton <richard@tartarus.org> 9829 9830 * common/Makefile.mk,common/replicate_utils.cc, 9831 common/replicate_utils.h: Add some utility functions for 9832 replication to create changeset files, and append content to 9833 them, to avoid duplicating the code in each backend. 9834 * backends/chert/chert_database.cc, 9835 backends/chert/chert_databasereplicator.cc, 9836 backends/chert/chert_databasereplicator.h, 9837 backends/flint/flint_database.cc, 9838 backends/flint/flint_databasereplicator.cc, 9839 backends/flint/flint_databasereplicator.h: Make the 9840 DatabaseReplicator subclasses respect the XAPIAN_MAX_CHANGESETS 9841 environment variable, such that they write the changesets they're 9842 applying to disk if the value is non-zero. Enables replication 9843 from a replicated copy. 9844 * tests/api_replicate.cc: Refactor some common code, and add 9845 replicate2, which tests replication from a replicated copy. Skip 9846 this test for brass, since brass doesn't support this. 9847 9848Wed Mar 10 12:11:41 GMT 2010 Richard Boulton <richard@tartarus.org> 9849 9850 * common/utils.cc,common/utils.h: Make removedir() recurse into 9851 subdirectories; this ensures that replication works if backends 9852 put some files in subdirectories of their replicas (eg, if the 9853 replica is itself a replicated database). 9854 9855Wed Mar 10 12:07:40 GMT 2010 Richard Boulton <richard@tartarus.org> 9856 9857 * backends/chert/,backends/flint/,common/Makefile.mk, 9858 common/io_utils.cc,common/io_utils.h: Refactor duplicated code 9859 from {flint,chert}_io.{cc,h} into common/io_utils.{cc,h}. Rename 9860 flint_io_read() to io_read(); do similar for flint_io_write() 9861 and flint_io_sync(), and for the chert versions. Leave brass 9862 alone to avoid conflicting with the new brass backend development 9863 branch. 9864 9865Mon Mar 08 02:32:35 GMT 2010 Olly Betts <olly@survex.com> 9866 9867 * bin/xapian-check-chert.cc: Check that the doclen initial chunk 9868 exists. 9869 9870Tue Mar 02 13:28:50 GMT 2010 Olly Betts <olly@survex.com> 9871 9872 * Backport change from brass: 9873 * backends/chert/chert_database.cc, 9874 backends/chert/chert_positionlist.cc, 9875 backends/chert/chert_positionlist.h: When updating a document, rather 9876 than decoding the old positions, comparing with the new, and then 9877 encoding the new if different, we now just encode the new and then 9878 compare the encoded forms. (ticket#428) This change also avoids 9879 calling ChertPositionListTable::del() when we know the entry doesn't 9880 already exist. 9881 9882Tue Mar 02 04:00:22 GMT 2010 Olly Betts <olly@survex.com> 9883 9884 * tests/harness/testsuite.cc: Harness now catches const char * 9885 exceptions explicitly so it can show their contents. 9886 9887Tue Mar 02 03:59:27 GMT 2010 Olly Betts <olly@survex.com> 9888 9889 * include/xapian/valueiterator.h: Comment tweak. 9890 9891Tue Mar 02 03:57:55 GMT 2010 Olly Betts <olly@survex.com> 9892 9893 * include/xapian/queryparser.h: Add missing forward declaration of 9894 "class Database". 9895 9896Tue Mar 02 01:51:33 GMT 2010 Olly Betts <olly@survex.com> 9897 9898 * NEWS: Update partially from ChangeLog. 9899 9900Mon Mar 01 05:38:41 GMT 2010 Olly Betts <olly@survex.com> 9901 9902 * backends/brass/brass_database.cc, 9903 backends/brass/brass_positionlist.cc, 9904 backends/brass/brass_positionlist.h: When updating a document, rather 9905 than decoding the old positions, comparing with the new, and then 9906 encoding the new if different, we now just encode the new and then 9907 compare the encoded forms. (ticket#428) This change also avoids 9908 calling BrassPositionListTable::del() when we know the entry doesn't 9909 already exist. 9910 9911Mon Mar 01 02:09:40 GMT 2010 Olly Betts <olly@survex.com> 9912 9913 * net/serialise.cc: Don't call Document::values_count() twice when we 9914 can trivially avoid doing so. Ditto for termlist_count() and 9915 positionlist_count(). 9916 9917Mon Mar 01 01:53:58 GMT 2010 Olly Betts <olly@survex.com> 9918 9919 * bin/: Rename tot_off to last_docid when it is actually holding the 9920 last_docid value. 9921 9922Sun Feb 28 23:47:49 GMT 2010 Olly Betts <olly@survex.com> 9923 9924 * backends/flint/flint_table.cc: Whitespace tweak. 9925 9926Sun Feb 28 23:44:58 GMT 2010 Olly Betts <olly@survex.com> 9927 9928 * tests/dbcheck.cc: Tweak whitespace to match standard usage. Catch 9929 exceptions by const reference. 9930 * HACKING: Discuss why exceptions should be caught by const reference. 9931 Tweak markup of blockquotes. 9932 9933Sun Feb 28 22:50:50 GMT 2010 Olly Betts <olly@survex.com> 9934 9935 * HACKING: Add note about "new SomePODType()" not being the same as 9936 "new SomePODType". 9937 9938Sun Feb 28 22:29:31 GMT 2010 Olly Betts <olly@survex.com> 9939 9940 * HACKING: Quote ``cat`` and ``more``. 9941 9942Sun Feb 28 14:00:39 GMT 2010 Richard Boulton <richard@tartarus.org> 9943 9944 * tests/api_compact.cc: Clarify comment about regression test for 9945 1.1.4, and remove a test line which is implicit in the following 9946 dbcheck() line anyway. 9947 9948Sun Feb 28 11:07:33 GMT 2010 Olly Betts <olly@survex.com> 9949 9950 * tests/harness/fdtracker.cc,tests/harness/fdtracker.h: Add GPL 9951 boilerplate and copyright notices which I failed to do before 9952 committing these new files. 9953 9954Thu Feb 25 10:34:15 GMT 2010 Olly Betts <olly@survex.com> 9955 9956 * backends/chert/chert_table.cc,backends/flint/flint_table.cc: 9957 Initialise z_stream members zalloc, zfree, and opaque with Z_NUL 9958 rather than 0 cast to the appropriate type, as that's what the zlib 9959 documentation says to do. Add missing initialisation of opaque for 9960 the inflate z_stream which the docs say is needed, though reading 9961 the zlib code, isn't actually for current versions. 9962 9963Wed Feb 24 14:24:05 GMT 2010 Olly Betts <olly@survex.com> 9964 9965 * backends/remote/remote-database.cc: Fix indentation. 9966 9967Wed Feb 24 14:18:25 GMT 2010 Olly Betts <olly@survex.com> 9968 9969 * backends/remote/remote-database.cc,common/remote-database.h, 9970 common/remoteprotocol.h,common/remoteserver.h, 9971 docs/remote_protocol.html,net/remoteserver.cc,tests/api_spelling.cc: 9972 Add remote backend support for WritableDatabase::add_spelling() and 9973 WritableDatabase::remove_spelling(). This bumps the remote protocol 9974 to version 35.0 (so both client and servers will need updating). 9975 Suggesting spelling corrections isn't yet supported. (ticket#178) 9976 9977Wed Feb 24 09:09:27 GMT 2010 Olly Betts <olly@survex.com> 9978 9979 * examples/delve.cc: "lastdocid" -> "highest document id ever used" 9980 in output so it's clearer what this number means. 9981 9982Tue Feb 23 14:03:47 GMT 2010 Olly Betts <olly@survex.com> 9983 9984 * api/postingsource.cc: Fix incorrect classname in error message. 9985 9986Tue Feb 23 13:16:11 GMT 2010 Olly Betts <olly@survex.com> 9987 9988 * configure.ac: For -fno-strict-aliasing for GCC 4.2 to avoid bad code 9989 being generated due to a bug in that compiler version. Fixes 9990 ticket#449. 9991 9992Tue Feb 23 03:08:02 GMT 2010 Olly Betts <olly@survex.com> 9993 9994 * configure.ac,tests/harness/testsuite.cc: Use sigsetjmp() and 9995 siglongjmp() where available so that the set of blocked signals 9996 get restored and the test harness can catch a second incidence 9997 of a particular signal in a run. Use sigaction() instead of 9998 signal() where available, which allows us to report the address 9999 associated with SIGSEGV, SIGFPE, SIGILL, and SIGBUS. 10000 10001Mon Feb 22 14:29:50 GMT 2010 Olly Betts <olly@survex.com> 10002 10003 * backends/brass/brass_databasereplicator.cc, 10004 backends/chert/chert_databasereplicator.cc, 10005 backends/flint/flint_databasereplicator.cc: Fix exception message 10006 if we get an unsupported changeset type. 10007 10008Mon Feb 22 01:49:03 GMT 2010 Richard Boulton <richard@tartarus.org> 10009 10010 * tests/dbcheck.cc: Check the wdf, doclen, and value bounds 10011 reported by the database against correct (tight) bounds 10012 calculated by iterating through the database contents. 10013 10014Mon Feb 22 01:47:20 GMT 2010 Richard Boulton <richard@tartarus.org> 10015 10016 * backends/brass/brass_database.cc,backends/chert/chert_database.cc: 10017 Ensure that wdfs are reported to the stats object correctly when 10018 replacing documents. These checks were absent entirely in chert, 10019 and incorrectly skipped in some cases in brass. 10020 10021Mon Feb 22 00:59:57 GMT 2010 Olly Betts <olly@survex.com> 10022 10023 * tests/api_valuestream.cc: Reset tout before testing each interval. 10024 Prefer string() to "". 10025 10026Mon Feb 22 00:57:59 GMT 2010 Olly Betts <olly@survex.com> 10027 10028 * docs/deprecation.rst,examples/delve.cc: Remove delve's -k option, 10029 accepted as an undocumented alias for -V since 0.9.10 for 10030 compatibility with 0.9.9 and earlier. Just use -V instead. 10031 10032Mon Feb 22 00:45:37 GMT 2010 Olly Betts <olly@survex.com> 10033 10034 * examples/delve.cc: If documents are specified, change "-V<valueno>" 10035 to only show calues for those documents. 10036 10037Sun Feb 21 14:11:58 GMT 2010 Olly Betts <olly@survex.com> 10038 10039 * common/stringutils.h: Factor out looking up a character in the table 10040 into a separate inlined function. Add C_islcxdigit() to check for 10041 an lower case hex digit. 10042 10043Sun Feb 21 11:10:10 GMT 2010 Olly Betts <olly@survex.com> 10044 10045 * examples/Makefile.mk,examples/xapian-metadata.cc: Add new example 10046 "xapian-metadata" which allows you to get and set individual user 10047 metadata entries. 10048 10049Sun Feb 21 10:31:56 GMT 2010 Olly Betts <olly@survex.com> 10050 10051 * configure.ac: Belatedly update version number to 1.1.4. 10052 10053Sat Feb 20 01:09:45 GMT 2010 Olly Betts <olly@survex.com> 10054 10055 * tests/runtest.in: Now we have fd leak checking in the test harness, 10056 remove the ulimit as it doesn't add anything, and has caused problems 10057 on some Debian buildds. 10058 10059Fri Feb 19 02:08:25 GMT 2010 Olly Betts <olly@survex.com> 10060 10061 * tests/harness/backendmanager.h,tests/harness/testsuite.cc: 10062 Call backendmanager->clean_up() before checking for fd leaks 10063 to avoid finding the sockets/pipes as leaks. This means that 10064 clean_up() needs to handle being called more than once for 10065 a test sometimes (which the current versions do) so document 10066 that. 10067 10068Thu Feb 18 02:31:17 GMT 2010 Olly Betts <olly@survex.com> 10069 10070 * examples/simpleindex.cc: Explicitly call commit() on the database, 10071 as that is good practice (since you see any exceptions). 10072 10073Thu Feb 18 01:52:10 GMT 2010 Olly Betts <olly@survex.com> 10074 10075 * tests/api_wrdb.cc: Clear tout on each pass of the loop to avoid a 10076 lot of irrelevant output under --verbose if the test fails. 10077 10078Thu Feb 18 01:33:53 GMT 2010 Olly Betts <olly@survex.com> 10079 10080 * tests/harness/testsuite.cc: Fix fd tracking change to work when 10081 HAVE_VALGRIND isn't defined. 10082 10083Thu Feb 18 00:46:20 GMT 2010 Olly Betts <olly@survex.com> 10084 10085 * include/xapian/queryparser.h: Document the possible exception 10086 messages from QueryParser::parse_query(). 10087 10088Thu Feb 18 00:20:18 GMT 2010 Olly Betts <olly@survex.com> 10089 10090 * tests/harness/backendmanager.cc: Also explicitly commit after 10091 indexing for flint and chert. 10092 10093Wed Feb 17 15:58:04 GMT 2010 Olly Betts <olly@survex.com> 10094 10095 * tests/harness/: Add machinery to check for leaked FDs. Currently 10096 requires /proc/self/fd to work (so it works on at least Linux), but 10097 should do nothing on platforms without this directory. 10098 10099Wed Feb 17 15:53:30 GMT 2010 Olly Betts <olly@survex.com> 10100 10101 * tests/harness/backendmanager.cc: Explicitly commit after indexing 10102 for brass, so we see any exceptions from the commit (commit from 10103 the dtor swallows any exceptions). 10104 10105Tue Feb 16 16:23:30 GMT 2010 Richard Boulton <richard@tartarus.org> 10106 10107 * bin/xapian-compact.cc: Fix failure to set lastdocid to an 10108 appropriate value when using --no-renumber. 10109 * tests/api_compact.cc: Add regression test for this. 10110 10111Tue Feb 16 16:10:49 GMT 2010 Richard Boulton <richard@tartarus.org> 10112 10113 * examples/delve.cc: Display the lastdocid value when displaying 10114 general database statistics. 10115 10116Tue Feb 16 15:39:50 GMT 2010 Richard Boulton <richard@tartarus.org> 10117 10118 * bin/xapian-check-brass.cc,bin/xapian-check-chert.cc: Correct typo 10119 in error message. 10120 10121Mon Feb 15 13:59:45 GMT 2010 Olly Betts <olly@survex.com> 10122 10123 * configure.ac: Update for 1.1.4. 10124 10125Mon Feb 15 13:58:44 GMT 2010 Olly Betts <olly@survex.com> 10126 10127 * PLATFORMS: We don't support GCC < 3.1, so remove discussion of 10128 issues with GCC 2.95. 10129 10130Mon Feb 15 13:55:10 GMT 2010 Olly Betts <olly@survex.com> 10131 10132 * PLATFORMS: Update from 1.0.18. 10133 10134Mon Feb 15 11:51:15 GMT 2010 Olly Betts <olly@survex.com> 10135 10136 * NEWS: Update from ChangeLog. Update from 1.0.18. 10137 10138Sun Feb 14 05:47:30 GMT 2010 Olly Betts <olly@survex.com> 10139 10140 * queryparser/queryparser.lemony: Fix QueryParser to handle an explicit 10141 AND before a hated term (foo AND -bar). (ticket#447) 10142 * tests/queryparsertest.cc: Add regression test cases. 10143 10144Fri Feb 12 01:27:32 GMT 2010 Olly Betts <olly@survex.com> 10145 10146 * queryparser/termgenerator_internal.cc: Only include trailing '+' or 10147 '#' on a term if it isn't followed by a word character (makes more 10148 sense and matches QueryParser's behaviour). (ticket#446) 10149 * tests/termgentest.cc: Add regression test. 10150 10151Thu Feb 11 04:30:56 GMT 2010 Olly Betts <olly@survex.com> 10152 10153 * bin/xapian-inspect.cc: Add new "open" command to allow easy switching 10154 between tables. 10155 10156Wed Feb 10 02:40:36 GMT 2010 Olly Betts <olly@survex.com> 10157 10158 * include/xapian/document.h: Rewrite the note about Document being a 10159 lazy handle to fix a few details and avoid nailing down the 10160 exact implementation. 10161 10162Wed Feb 10 00:37:54 GMT 2010 Olly Betts <olly@survex.com> 10163 10164 * docs/admin_notes.rst: Update for chert and other recent changes. 10165 10166Wed Feb 10 00:37:04 GMT 2010 Olly Betts <olly@survex.com> 10167 10168 * docs/replication_protocol.rst: Update. 10169 10170Mon Feb 08 12:05:05 GMT 2010 Olly Betts <olly@survex.com> 10171 10172 * backends/brass/brass_version.cc: Fix comments about BRASS_VERSION 10173 which were previously just cut-and-pasted from those about 10174 CHERT_VERSION. 10175 10176Mon Feb 08 11:54:04 GMT 2010 Olly Betts <olly@survex.com> 10177 10178 * backends/brass/brass_metadata.cc: Include missing headers. 10179 10180Mon Feb 08 09:23:00 GMT 2010 Olly Betts <olly@survex.com> 10181 10182 * backends/brass/brass_document.h,backends/chert/chert_document.h: 10183 Fix typos in documentation comments. 10184 10185Mon Feb 08 08:27:09 GMT 2010 Olly Betts <olly@survex.com> 10186 10187 * tests/harness/testsuite.cc: Remove unused headers <streambuf> and 10188 "omdebug.h". 10189 10190Mon Feb 08 01:28:48 GMT 2010 Olly Betts <olly@survex.com> 10191 10192 * common/debuglog.h: Use std::boolalpha so bool is logged as "true" 10193 or "false" (instead of "1" or "0"). 10194 10195Sat Feb 06 10:04:42 GMT 2010 Olly Betts <olly@survex.com> 10196 10197 * AUTHORS: Sync with 1.0 branch. 10198 10199Sat Feb 06 08:20:31 GMT 2010 Olly Betts <olly@survex.com> 10200 10201 * tests/api_closedb.cc: Avoid trying to create a database where 10202 an already open one exists (which fails on Microsoft Windows). 10203 (ticket#443). 10204 10205Fri Feb 05 13:28:08 GMT 2010 Olly Betts <olly@survex.com> 10206 10207 * examples/simpleexpand.cc,examples/simpleindex.cc, 10208 examples/simplesearch.cc: Handle --help and --version. 10209 10210Fri Feb 05 13:25:37 GMT 2010 Olly Betts <olly@survex.com> 10211 10212 * bin/xapian-compact.cc: Fix not to assign elements off the end of a 10213 vector (ticket#440). 10214 10215Fri Feb 05 11:41:05 GMT 2010 Richard Boulton <richard@tartarus.org> 10216 10217 * api/matchspy.cc,include/xapian/matchspy.h,tests/api_matchspy.cc: 10218 Remove ValueCountMatchSpy::get_values(). values_begin() should 10219 be used instead to iterate over the values. 10220 10221Fri Feb 05 07:39:46 GMT 2010 Olly Betts <olly@survex.com> 10222 10223 * configure.ac: Enable automake's std-options feature to check all 10224 installed programs support --help and --version. 10225 10226Fri Feb 05 01:45:49 GMT 2010 Olly Betts <olly@survex.com> 10227 10228 * include/xapian/document.h: Add Document::add_boolean_term(). 10229 * tests/api_none.cc: Add testcase document1 as a feature test. 10230 10231Fri Feb 05 00:27:52 GMT 2010 Olly Betts <olly@survex.com> 10232 10233 * backends/chert/chert_btreebase.cc,backends/flint/flint_btreebase.cc: 10234 Add missing SEQUENTIAL entry to documentation of base file format. 10235 10236Thu Feb 04 03:06:26 GMT 2010 Olly Betts <olly@survex.com> 10237 10238 * tests/api_compact.cc: Fix to work with MSVC makefiles (ticket#440). 10239 10240Thu Feb 04 03:04:43 GMT 2010 Olly Betts <olly@survex.com> 10241 10242 * HACKING,common/Makefile.mk,common/safesyswait.h: Add wrapper 10243 for <sys/wait.h> which defines macros for WEXITSTATUS and 10244 WIFEXITED when required. 10245 10246Wed Feb 03 15:01:36 GMT 2010 Richard Boulton <richard@tartarus.org> 10247 10248 * api/matchspy.cc,include/xapian/matchspy.h,tests/api_matchspy.cc: 10249 Add ValueCountMatchSpy::values_begin() and values_end() to allow 10250 iteration over all the values in a ValueCountMatchSpy without 10251 needing to handle the dict. Move the contents of 10252 ValueCountMatchSpy into a reference counted internal object, so 10253 that the iterator can ensure that the contents aren't deleted 10254 before it finishes. 10255 10256Wed Feb 03 15:01:02 GMT 2010 Richard Boulton <richard@tartarus.org> 10257 10258 * tests/generate-api_generated: Add ValueCountMatchSpy to the list 10259 of non-copyable API classes. 10260 10261Wed Feb 03 13:18:03 GMT 2010 Richard Boulton <richard@tartarus.org> 10262 10263 * include/xapian/matchspy.h,tests/api_matchspy.cc: Provide an 10264 iterator for accessing the top values found by a matchspy, rather 10265 than using a method which takes a vector reference as a 10266 parameter. Should be wrappable much more nicely (and get wrapped 10267 automatically), and be easier to use: the testcase for this is 10268 significantly shorter than for the old API. Remove 10269 StringAndFrequency from API - it's now just an internal class. 10270 * api/matchspy.cc: Test new access method for top_values. 10271 10272Wed Feb 03 06:46:37 GMT 2010 Olly Betts <olly@survex.com> 10273 10274 * AUTHORS: Add Emmanuel Engelhart for reporting problems indexing 10275 Burmese text. 10276 10277Wed Feb 03 06:32:03 GMT 2010 Olly Betts <olly@survex.com> 10278 10279 * include/xapian/unicode.h,queryparser/queryparser.lemony, 10280 queryparser/termgenerator_internal.cc: Add ENCLOSING_MARK and 10281 COMBINING_SPACING_MARK categories to is_wordchar(). Make 10282 TermGenerator and QueryParser ignore several zero-width space 10283 characters. 10284 * tests/queryparsertest.cc,tests/termgentest.cc: Add test coverage for 10285 the changes. 10286 10287Wed Feb 03 03:14:30 GMT 2010 Olly Betts <olly@survex.com> 10288 10289 * queryparser/queryparser.lemony: Fix apostrophe abuse in comment. 10290 10291Wed Feb 03 01:23:04 GMT 2010 Olly Betts <olly@survex.com> 10292 10293 * queryparser/queryparser.lemony: Make TermList::as_opwindow_query() 10294 private. 10295 10296Wed Feb 03 01:19:19 GMT 2010 Olly Betts <olly@survex.com> 10297 10298 * common/replication.h: Use "" not <> for including API headers. 10299 10300Wed Feb 03 01:08:58 GMT 2010 Olly Betts <olly@survex.com> 10301 10302 * common/replication.h: Remove warnings about this being an 10303 experimental API, which no longer make sense now it is internal. 10304 10305Tue Feb 02 21:59:59 GMT 2010 Olly Betts <olly@survex.com> 10306 10307 * tests/generate-api_generated: Remove DatabaseReplica. 10308 10309Tue Feb 02 17:01:23 GMT 2010 Richard Boulton <richard@tartarus.org> 10310 10311 * include/xapian/document.h: Add a note to the API documentation 10312 for the Document class about the potential issues involved in 10313 lazy loading. Fixes ticket #421. 10314 10315Tue Feb 02 16:21:39 GMT 2010 Richard Boulton <richard@tartarus.org> 10316 10317 * docs/categorisation.rst: Remove documentation of NumericRanges 10318 stuff for now, since the NumericRanges is no longer on trunk. 10319 10320Tue Feb 02 15:59:14 GMT 2010 Richard Boulton <richard@tartarus.org> 10321 10322 * common/replication.h: Put the ReplicationInfo, DatabaseMaster and 10323 DatabaseReplica symbols back into public visibility - they're 10324 needed for the tests, and for the command line scripts. 10325 10326Tue Feb 02 15:06:44 GMT 2010 Richard Boulton <richard@tartarus.org> 10327 10328 * api/matchspy.cc,include/xapian/matchspy.h,tests/api_matchspy.cc: 10329 Remove NumericRanges from trunk - their API is still uncertain, 10330 so I want to do a bit more development work on them on the 10331 matchspy branch before committing to support them for several 10332 years. 10333 10334Tue Feb 02 13:45:24 GMT 2010 Richard Boulton <richard@tartarus.org> 10335 10336 * api/replication.cc,backends/brass/brass_database.cc, 10337 backends/chert/chert_database.cc,backends/flint/flint_database.cc, 10338 common/,include/Makefile.mk,include/xapian/replication.h, 10339 net/replicatetcpclient.cc,net/replicatetcpserver.cc, 10340 tests/generate-api_generated: Move replication support out of the 10341 public API headers and public symbol visibility. Access to 10342 replication, for now, is via the command-line scripts: this is 10343 similar to the access to running a remote database server, and 10344 the access to database compaction and checking. See ticket #347 10345 for some commentary. 10346 10347Tue Feb 02 07:22:28 GMT 2010 Olly Betts <olly@survex.com> 10348 10349 * Backport change from chert: 10350 * backends/flint/flint_alltermslist.h,backends/flint/flint_spelling.h, 10351 backends/flint/flint_spellingwordslist.h: Add missing std:: 10352 qualifiers. 10353 10354Tue Feb 02 07:12:51 GMT 2010 Olly Betts <olly@survex.com> 10355 10356 * docs/doxygen_api.conf.in: Add generated include/xapian/error.h so 10357 that Xapian::Error and subclass API docs are collated for a VPATH 10358 build. 10359 * docs/Makefile.am: Add regression test to make sure doxygen collated 10360 API docs for Xapian::RuntimeError. 10361 10362Tue Feb 02 06:52:55 GMT 2010 Olly Betts <olly@survex.com> 10363 10364 * Backport change from brass: 10365 * backends/chert/chert_alltermslist.h,backends/chert/chert_spelling.h, 10366 backends/chert/chert_spellingwordslist.h: Add missing std:: 10367 qualifiers. 10368 10369Tue Feb 02 01:34:52 GMT 2010 Richard Boulton <richard@tartarus.org> 10370 10371 * docs/replication.rst: Add note about not using reopen() with 10372 databases being updated by the replication client. 10373 10374Tue Feb 02 01:17:34 GMT 2010 Richard Boulton <richard@tartarus.org> 10375 10376 * api/matchspy.cc,docs/categorisation.rst,include/xapian/matchspy.h, 10377 tests/api_matchspy.cc: Remove score_evenness(), since it turned 10378 out to be of little or no use in practical situations. See 10379 ticket #435 for more details. 10380 10381Mon Feb 01 21:53:41 GMT 2010 Olly Betts <olly@survex.com> 10382 10383 * backends/brass/brass_table.cc,backends/chert/chert_table.cc: Use 10384 LOGCALL_VOID for add() methods which now return void. 10385 10386Mon Feb 01 21:50:05 GMT 2010 Olly Betts <olly@survex.com> 10387 10388 * Backport change from brass: 10389 * backends/flint/flint_table.cc,backends/flint/flint_table.h: 10390 Fix documentation comments for FlintTable::add() and 10391 FlintTable::del() - errors actually cause exceptions, not a false 10392 return value, and del() returns true if it actually removed an entry. 10393 Fix FlintTable::add() to throw an exception for the (hopefully never 10394 hit) case when the tag value is too insanely large to handle. With 10395 that FlintTable::add() always returns true, and we never check the 10396 return value anyway, so just make it return void. 10397 10398Mon Feb 01 21:37:33 GMT 2010 Olly Betts <olly@survex.com> 10399 10400 * Backport change from brass: 10401 * backends/chert/chert_table.cc,backends/chert/chert_table.h: 10402 Fix documentation comments for ChertTable::add() and 10403 ChertTable::del() - errors actually cause exceptions, not a false 10404 return value, and del() returns true if it actually removed an entry. 10405 Fix ChertTable::add() to throw an exception for the (hopefully never 10406 hit) case when the tag value is too insanely large to handle. With 10407 that ChertTable::add() always returns true, and we never check the 10408 return value anyway, so just make it return void. 10409 10410Mon Feb 01 16:02:27 GMT 2010 Richard Boulton <richard@tartarus.org> 10411 10412 * bin/xapian-check-brass.cc,bin/xapian-check-chert.cc: Fix checking 10413 of the METAINFO key in chert and brass. For small databases, the 10414 statistics fit in few enough bytes that the trailing 10415 unpack_uint_last() moved to end, so errors weren't being 10416 reported, but for large databases the check was incorrectly 10417 reporting an error. 10418 10419Mon Feb 01 09:24:14 GMT 2010 Olly Betts <olly@survex.com> 10420 10421 * backends/brass/brass_table.cc,backends/brass/brass_table.h: 10422 Fix documentation comments for BrassTable::add() and 10423 BrassTable::del() - errors actually cause exceptions, not a false 10424 return value, and del() returns true if it actually removed an entry. 10425 Fix BrassTable::add() to throw an exception for the (hopefully never 10426 hit) case when the tag value is too insanely large to handle. With 10427 that BrassTable::add() always returns true, and we never check the 10428 return value anyway, so just make it return void. 10429 10430Mon Feb 01 01:45:09 GMT 2010 Olly Betts <olly@survex.com> 10431 10432 * backends/brass/brass_alltermslist.h,backends/brass/brass_spelling.h, 10433 backends/brass/brass_spellingwordslist.h: Add missing std:: 10434 qualifiers. 10435 10436Mon Feb 01 00:57:21 GMT 2010 Olly Betts <olly@survex.com> 10437 10438 * backends/flint/flint_spelling.h: Add missing std:: qualifier. 10439 10440Mon Feb 01 00:52:27 GMT 2010 Olly Betts <olly@survex.com> 10441 10442 * backends/brass/brass_spelling.h,backends/chert/chert_spelling.h: 10443 Add missing std:: qualifier. 10444 10445Sun Jan 31 23:35:52 GMT 2010 Olly Betts <olly@survex.com> 10446 10447 * backends/chert/chert_termlisttable.cc, 10448 backends/chert/chert_termlisttable.h: Remove 10449 ChertTermListTable::get_doclength() as it is no longer used. 10450 10451Sun Jan 31 23:19:50 GMT 2010 Olly Betts <olly@survex.com> 10452 10453 * backends/brass/brass_termlisttable.cc, 10454 backends/brass/brass_termlisttable.h: Remove 10455 BrassTermListTable::get_doclength() as it is no longer used. 10456 10457Sun Jan 31 09:19:39 GMT 2010 Olly Betts <olly@survex.com> 10458 10459 * bin/xapian-inspect.cc: "until" improvements: 10460 + No longer reports the current key and tag. 10461 + If passed a key before the current one, no longer silently advances 10462 to the next key. 10463 + Explicitly says if the specified key doesn't exist, including where 10464 we ended up. 10465 10466Sun Jan 31 00:19:41 GMT 2010 Olly Betts <olly@survex.com> 10467 10468 * tests/api_compact.cc: Use a single Document object rather than 10469 creating the same one 10000 times. 10470 10471Sun Jan 31 00:08:38 GMT 2010 Olly Betts <olly@survex.com> 10472 10473 * tests/api_compact.cc: Move make_multichunk_db() before the testcase 10474 which uses it, rather than between two helper functions for another 10475 testcase. 10476 10477Sun Jan 31 00:07:03 GMT 2010 Olly Betts <olly@survex.com> 10478 10479 * tests/api_compact.cc: Remove confusing comment, cut-and-pasted from 10480 elsewhere and not relevant here. 10481 10482Fri Jan 29 06:13:18 GMT 2010 Olly Betts <olly@survex.com> 10483 10484 * backends/brass/brass_metadata.cc,backends/chert/chert_metadata.cc, 10485 backends/flint/flint_metadata.cc: Correct filenames in @file. 10486 10487Thu Jan 28 22:34:03 GMT 2010 Richard Boulton <richard@tartarus.org> 10488 10489 * tests/api_compact.cc: Add check that xapian-compact works 10490 correctly on a database with multiple chunks for a single term; 10491 this is a regression test for ticket #427 10492 10493Thu Jan 28 22:33:16 GMT 2010 Richard Boulton <richard@tartarus.org> 10494 10495 * bin/xapian-compact-brass.cc,bin/xapian-compact-chert.cc: Don't 10496 cut the extra byte of doclen chunk keys. 10497 10498Thu Jan 28 21:23:48 GMT 2010 Richard Boulton <richard@tartarus.org> 10499 10500 * bin/xapian-compact-flint.cc: Revert previous patch for flint - it 10501 only applies to new key format used by chert and brass. 10502 10503Thu Jan 28 21:13:38 GMT 2010 Richard Boulton <richard@tartarus.org> 10504 10505 * bin/xapian-compact-brass.cc,bin/xapian-compact-chert.cc, 10506 bin/xapian-compact-flint.cc: Partial fix for #427: truncate 10507 follow-on keys for postlist chunks fully (was leaving the 10508 trailing 0-byte, causing the code for chert and brass to 10509 incorrectly think a new chunk had started, resulting in a 10510 truncated posting list. 10511 10512Thu Jan 28 20:42:47 GMT 2010 Richard Boulton <richard@tartarus.org> 10513 10514 * bin/xapian-inspect.cc: Add "until" command to display keys until 10515 a specified one. Useful for seeing all keys for a particular 10516 posting list, etc. 10517 10518Thu Jan 28 01:31:54 GMT 2010 Olly Betts <olly@survex.com> 10519 10520 * tests/dbcheck.cc: Whitespace tweak. 10521 10522Wed Jan 27 06:29:21 GMT 2010 Olly Betts <olly@survex.com> 10523 10524 * tests/dbcheck.cc: <config.h> not "config.h". 10525 10526Wed Jan 27 04:20:42 GMT 2010 Olly Betts <olly@survex.com> 10527 10528 * backends/brass/brass_inverter.h: Make two getters const. 10529 10530Wed Jan 27 04:01:17 GMT 2010 Olly Betts <olly@survex.com> 10531 10532 * backends/chert/chert_database.cc,backends/chert/chert_database.h, 10533 backends/flint/flint_database.cc,backends/flint/flint_database.h: 10534 Add ChertWritableDatabase::insert_mod_plist() to handle the simpler 10535 case where we know the document doesn't already exist, to avoid 10536 adding extra code to that common path over the code we had before 10537 the #250-related changes. 10538 10539Tue Jan 26 03:25:59 GMT 2010 Olly Betts <olly@survex.com> 10540 10541 * tests/internaltest.cc: In testcase pack_uint_preserving_sort1, use 10542 data() not c_str(), calculate the end position just once, and use 10543 swap to copy the current packed to prev_packed. 10544 10545Fri Jan 15 12:51:38 GMT 2010 Olly Betts <olly@survex.com> 10546 10547 * backends/chert/chert_database.cc,backends/flint/flint_database.cc: 10548 Fix to use 'M' as the flag character for modified entries in 10549 modplists (not 'U'). We never explicitly check for 'M' (we check for 10550 'A' vs 'D' vs something else), so this isn't a functional change, 10551 but rather making the values consistent (as they were before the 10552 fix for #250). 10553 10554Fri Jan 15 08:25:14 GMT 2010 Olly Betts <olly@survex.com> 10555 10556 * backends/chert/chert_database.cc,backends/chert/chert_database.h, 10557 backends/flint/flint_database.cc,backends/flint/flint_database.h: 10558 Use Xapian::termcount_diff instead of Xapian::termcount for 10559 parameters of add_freq_delta() which can be signed. Fix parameter 10560 docs to say "change" instead of "increase". 10561 10562Fri Jan 15 06:05:28 GMT 2010 Olly Betts <olly@survex.com> 10563 10564 * tests/api_replacedoc.cc: Just test that begin == end when we expect 10565 no positions rather than generating a string representation and 10566 then testing if it is empty. 10567 10568Thu Jan 14 11:17:36 GMT 2010 Olly Betts <olly@survex.com> 10569 10570 * HACKING: Auto-enabling of -Werror is now done for GCC 4.1 or newer. 10571 10572Thu Jan 14 05:06:42 GMT 2010 Olly Betts <olly@survex.com> 10573 10574 * HACKING: Include the MIT licence text in HACKING itself. 10575 * COPYING_MIT: Remove external copy of text - it could mislead users 10576 into thinking that this is the current licence of Xapian. 10577 10578Sun Jan 10 07:36:16 GMT 2010 Olly Betts <olly@survex.com> 10579 10580 * configure.ac:With --enable-maintainer-mode, enable -Werror for GCC 10581 >= 4.1 rather than >= 4.0 as Apple's GCC 4.0 gives bogus 10582 uninitialised variable warnings for pack.h. 10583 10584Sat Jan 09 00:56:06 GMT 2010 Olly Betts <olly@survex.com> 10585 10586 * queryparser/queryparser.lemony: Add support for quoting boolean terms 10587 so they can contain arbitrary characters (partly addresses 10588 ticket#128). 10589 * tests/queryparsertest.cc: Add test coverage. 10590 10591Fri Jan 08 13:25:25 GMT 2010 Richard Boulton <richard@tartarus.org> 10592 10593 * tests/api_compact.cc: Add copyright note for my changes committed 10594 earlier today. 10595 10596Fri Jan 08 12:19:07 GMT 2010 Olly Betts <olly@survex.com> 10597 10598 * bin/xapian-compact-brass.cc,bin/xapian-compact-chert.cc: Fix merging 10599 of databases by xapian-compact for brass and chert. 10600 * tests/api_compact.cc: Enable test compactmerge1 for brass and chert 10601 as a regression test. 10602 10603Fri Jan 08 11:26:41 GMT 2010 Olly Betts <olly@survex.com> 10604 10605 * backends/brass/brass_database.cc,backends/chert/chert_database.cc, 10606 backends/flint/flint_database.cc: Rearrange comparison between old 10607 and new termlists to avoid double check of termlist.at_end(). 10608 10609Fri Jan 08 11:22:30 GMT 2010 Richard Boulton <richard@tartarus.org> 10610 10611 * tests/api_compact.cc: Add test of xapian-compact when merging 10612 databases. Currently, the generated databases are broken for 10613 chert and brass, so skipping the test for those to avoid breaking 10614 the snapshotter. 10615 10616Fri Jan 08 11:13:13 GMT 2010 Richard Boulton <richard@tartarus.org> 10617 10618 * tests/: Move routines for helping to check database contents and 10619 consistency into dbcheck.cc, with headers in dbcheck.h. 10620 10621Fri Jan 08 10:07:09 GMT 2010 Richard Boulton <richard@tartarus.org> 10622 10623 * tests/internaltest.cc: Add test_pack_uint_preserving_sort1() 10624 which I wrote when suspicious of that function - passes fine, but 10625 probably worth keeping the test coverage. 10626 10627Fri Jan 08 00:23:06 GMT 2010 Olly Betts <olly@survex.com> 10628 10629 * AUTHORS: Add Henry Combrinck for Search::Xapian patches. 10630 10631Thu Jan 07 15:51:57 GMT 2010 Richard Boulton <richard@tartarus.org> 10632 10633 * api/postingsource.cc: For ValueWeightPostingSources for which 10634 there are no entries, the upper bound returned will be an empty 10635 string, which translated to -inf when passed to 10636 sortable_unserialise(). This was causing the matcher to get 10637 confused and return no results in some queries involving such a 10638 posting source. This commit fixes this. 10639 * tests/api_postingsource.cc: Add emptyvalwtsource1 as a regression 10640 test for this, and a general test of this area of code. 10641 10642Thu Jan 07 09:17:58 GMT 2010 Olly Betts <olly@survex.com> 10643 10644 * backends/brass/brass_inverter.h: Fix comment typo. 10645 10646Wed Dec 30 11:46:45 GMT 2009 Richard Boulton <richard@tartarus.org> 10647 10648 * backends/brass/brass_database.cc,backends/chert/chert_database.cc, 10649 backends/flint/flint_database.cc: When updating documents, don't 10650 update posting entries which havn't changed. Largely fixes 10651 ticket #250. 10652 * AUTHORS: Add Kan-Ru Chen, since his patch attached to ticket #250 10653 was the basis of this fix. 10654 10655Wed Dec 30 11:44:18 GMT 2009 Richard Boulton <richard@tartarus.org> 10656 10657 * backends/brass/brass_inverter.h: Add methods for updating an 10658 existing posting, so we don't have to remove then re-add it. 10659 10660Wed Dec 30 11:41:57 GMT 2009 Richard Boulton <richard@tartarus.org> 10661 10662 * backends/brass/brass_database.h: Remove old unused members: 10663 total_length and lastdocid. 10664 10665Wed Dec 30 01:07:04 GMT 2009 Richard Boulton <richard@tartarus.org> 10666 10667 * backends/chert/chert_database.h: Remove old unused members: 10668 total_length and lastdocid. 10669 10670Wed Dec 30 00:21:03 GMT 2009 Richard Boulton <richard@tartarus.org> 10671 10672 * backends/chert/chert_database.cc,backends/chert/chert_database.h, 10673 backends/flint/flint_database.cc,backends/flint/flint_database.h: 10674 Move frequently repeated code for updating the freq_deltas and 10675 mod_plists items into separate functions. Makes the code 10676 considerably clearer, and prepares the way for applying the patch 10677 to fix ticket #250. 10678 10679Wed Dec 30 00:07:33 GMT 2009 Richard Boulton <richard@tartarus.org> 10680 10681 * tests/api_replacedoc.cc: Add a few more sequences of operations 10682 which look worth testing, after looking at the code implementing 10683 replace_document(). 10684 10685Tue Dec 29 22:29:08 GMT 2009 Richard Boulton <richard@tartarus.org> 10686 10687 * tests/api_replacedoc.cc: Check consistency of the posting lists 10688 with the termlists, and consistency of the statistics, at each 10689 step of modtermwdf1. Also, add some other terms to the document, 10690 so we can check the stored doclength for terms which haven't been 10691 modified. 10692 10693Sun Dec 27 14:56:16 GMT 2009 Richard Boulton <richard@tartarus.org> 10694 10695 * backends/chert/chert_modifiedpostlist.cc, 10696 backends/flint/flint_modifiedpostlist.cc: Report the wdf from the 10697 modifications, rather the sum of the wdf from the modifications 10698 and the old wdf. The old behaviour was just wrong, but we had no 10699 test coverage for this until the last commit. 10700 10701Sun Dec 27 13:34:06 GMT 2009 Richard Boulton <richard@tartarus.org> 10702 10703 * tests/api_replacedoc.cc: Add test of the contents of the 10704 postlist of a term which is being modified. Also, tidy up the 10705 output of docterms_to_string() to skip any empty position lists. 10706 10707Sat Dec 26 19:21:19 GMT 2009 Richard Boulton <richard@tartarus.org> 10708 10709 * tests/api_replacedoc.cc: Extend test to cover removing a term but 10710 not deleting it, and finally deleting the document. 10711 10712Thu Dec 24 19:18:41 GMT 2009 Richard Boulton <richard@tartarus.org> 10713 10714 * tests/api_replacedoc.cc: Expand test to cover some modification 10715 to the positional information. 10716 10717Thu Dec 24 19:06:32 GMT 2009 Richard Boulton <richard@tartarus.org> 10718 10719 * tests/api_replacedoc.cc: Add some more sets of modification 10720 operations to the tests. 10721 10722Thu Dec 24 18:55:37 GMT 2009 Richard Boulton <richard@tartarus.org> 10723 10724 * tests/api_replacedoc.cc: Add test modtermwdf1, which tests a lot 10725 more cases where documents are modified. 10726 10727Thu Dec 24 14:36:38 GMT 2009 Olly Betts <olly@survex.com> 10728 10729 * tests/: Canonicalise the conditions on testcases. 10730 10731Thu Dec 24 14:08:59 GMT 2009 Olly Betts <olly@survex.com> 10732 10733 * tests/api_closedb.cc: Fix typo in last commit. 10734 10735Thu Dec 24 13:39:28 GMT 2009 Olly Betts <olly@survex.com> 10736 10737 * tests/api_closedb.cc: Check WritableDatabase::close() during a 10738 transaction does *NOT* implicitly call commit(). 10739 10740Thu Dec 24 13:07:09 GMT 2009 Olly Betts <olly@survex.com> 10741 10742 * backends/brass/brass_database.cc,backends/brass/brass_database.h, 10743 backends/chert/chert_database.cc,backends/chert/chert_database.h, 10744 backends/flint/flint_database.cc,backends/flint/flint_database.h: 10745 Fix WritableDatabase::close() to commit() changes (unless a 10746 transaction is in progress). 10747 * tests/api_closedb.cc: Add regression test closedb4. 10748 10749Wed Dec 23 00:26:34 GMT 2009 Olly Betts <olly@survex.com> 10750 10751 * backends/brass/brass_database.cc,backends/brass/brass_inverter.cc, 10752 backends/brass/brass_inverter.h: For allterms iteration of a 10753 WritableDatabase, if a prefix is specified only flush changes for 10754 terms with that prefix. Also, don't flush document lengths for 10755 allterms iteration. 10756 10757Tue Dec 22 22:48:55 GMT 2009 Olly Betts <olly@survex.com> 10758 10759 * bin/xapian-check.cc: Fixed reversed checks for chert and flint being 10760 enabled in r13781. 10761 10762Tue Dec 22 14:20:24 GMT 2009 Olly Betts <olly@survex.com> 10763 10764 * tests/harness/testrunner.cc: Add brass variants of multi and remote 10765 backends. 10766 10767Tue Dec 22 14:15:43 GMT 2009 Olly Betts <olly@survex.com> 10768 10769 * bin/: Implement xapian-check and xapian-compact support for brass. 10770 10771Tue Dec 22 13:41:08 GMT 2009 Olly Betts <olly@survex.com> 10772 10773 * bin/: Split the chert-specific checking code into a separate file 10774 so xapian-check.cc is just the driver code. 10775 10776Tue Dec 22 12:47:59 GMT 2009 Olly Betts <olly@survex.com> 10777 10778 * backends/brass/: Add new Inverter class to encapsulate the inversion 10779 data structures and associated code. Instead of carefully iterating 10780 modified posting lists and document length lists, just flush the 10781 particular list needed to disk and iterate that. This is much 10782 simpler and more obviously free of subtle bugs, and means we don't 10783 need to use data structures which allow such iteration. 10784 10785Tue Dec 22 12:25:04 GMT 2009 Olly Betts <olly@survex.com> 10786 10787 * backends/brass/,backends/dbfactory.cc,include/xapian/dbfactory.h, 10788 include/xapian/valueiterator.h,include/xapian/version_h.cc, 10789 tests/harness/Makefile.mk: Fix to actually build brass. Testsuite 10790 doesn't currently all pass. 10791 10792Tue Dec 22 04:26:17 GMT 2009 Olly Betts <olly@survex.com> 10793 10794 * HACKING,INSTALL,backends/Makefile.mk,backends/brass/, 10795 backends/chert/dir_contents,backends/databasereplicator.cc, 10796 backends/dbfactory.cc,common/pack.h,configure.ac,docs/,tests/, 10797 tests/harness/: Add new development backend called "brass" and 10798 promote "chert" to being the stable backend. 10799 10800Mon Dec 21 09:41:57 GMT 2009 Olly Betts <olly@survex.com> 10801 10802 * backends/chert/chert_database.cc: Update comment about 10803 MAX_SAFE_TERM_LENGTH to reflect the key format changes. 10804 10805Mon Dec 21 08:12:55 GMT 2009 Olly Betts <olly@survex.com> 10806 10807 * backends/chert/chert_alldocsmodifiedpostlist.cc, 10808 backends/chert/chert_alldocsmodifiedpostlist.h: Change reference 10809 parameter to const reference. 10810 10811Mon Dec 21 03:19:09 GMT 2009 Olly Betts <olly@survex.com> 10812 10813 * backends/chert/chert_database.cc,backends/flint/flint_database.cc: 10814 Replacing a document deleted since the last flush failed to update 10815 the collection frequency and wdf, and caused an assertion failure 10816 when assertions were enabled. 10817 * tests/api_backend.cc: Add regression test replacedoc8. 10818 10819Sun Dec 20 07:26:30 GMT 2009 Olly Betts <olly@survex.com> 10820 10821 * configure.ac: Divert to AS_MESSAGE_LOG_FD rather than literal fd 5. 10822 Divert more output to AS_MESSAGE_LOG_FD rather than /dev/null. 10823 10824Thu Dec 17 13:53:31 GMT 2009 Olly Betts <olly@survex.com> 10825 10826 * NEWS: Update from ChangeLog. 10827 10828Thu Dec 17 13:36:54 GMT 2009 Olly Betts <olly@survex.com> 10829 10830 * Backport change from chert: 10831 * backends/flint/flint_alltermslist.cc: Tweak to not apply the 10832 prefix test in the "at end" case. 10833 * backends/flint/flint_alltermslist.cc: There's no point checking 10834 follow-on chunks match the prefix - the first chunk we'll hit 10835 which doesn't match has to be an initial chunk for a term. 10836 10837Thu Dec 17 11:57:31 GMT 2009 Olly Betts <olly@survex.com> 10838 10839 * tests/api_replacedoc.cc: Fix to test the right variable. 10840 10841Thu Dec 17 11:16:51 GMT 2009 Olly Betts <olly@survex.com> 10842 10843 * tests/api_wrdb.cc: The regression test replacedoc5 no longer actually 10844 checks for the situation it was written for, due to the shortcutting 10845 we now do in flint and chert when replacing a document with itself, 10846 so extend it with a check with that behaviour suppressed (fortunately 10847 it still passes). 10848 10849Wed Dec 16 12:03:13 GMT 2009 Olly Betts <olly@survex.com> 10850 10851 * backends/chert/,bin/Makefile.mk,common/pack.h: Change the packing 10852 of uints and strings into sortable keys in chert databases, which 10853 reduces database size by 2.5% in tests. This means an incompatible 10854 change in the chert format. 10855 * bin/xapian-chert-update.cc: Utility to update a chert database from 10856 the old format to the new format. It works much like xapian-compact 10857 so should take a similar amount of time (and results in a compact 10858 database). 10859 * tests/api_wrdb.cc: Adjust the test which checks a string of zero 10860 bytes fails in the correct way - 126 zero bytes is now handled, so 10861 we need 127 to check the failure mode. 10862 10863Wed Dec 16 11:52:27 GMT 2009 Olly Betts <olly@survex.com> 10864 10865 * bin/xapian-compact.cc: Ensure that the resultant database has a 10866 fresh UUID (previously chert copied the UUID from the first input, 10867 while flint didn't set a UUID so one was generated on demand when 10868 next requested, if the database is writable. 10869 * tests/api_compact.cc: Add tests that a UUID is set and that it is 10870 different from that of the input. 10871 10872Wed Dec 16 09:57:27 GMT 2009 Olly Betts <olly@survex.com> 10873 10874 * examples/quest.cc: If no database is specified, still parse the query 10875 and report get_description() on it as this provides a useful way to 10876 see how a query parses. 10877 10878Wed Dec 16 00:40:51 GMT 2009 Olly Betts <olly@survex.com> 10879 10880 * languages/german.sbl,languages/german2.sbl: Update the german and 10881 german2 stemming algorithms to the latest versions from Snowball. 10882 These add an extra rule for the "-nisse" ending. 10883 10884Tue Dec 15 13:08:33 GMT 2009 Olly Betts <olly@survex.com> 10885 10886 * bin/: Split apart the flint and chert compaction code. Should be 10887 no change in functionality. 10888 10889Tue Dec 15 10:11:10 GMT 2009 Olly Betts <olly@survex.com> 10890 10891 * backends/chert/chert_alltermslist.cc: Tweak to not apply the 10892 prefix test in the "at end" case. 10893 10894Tue Dec 15 09:40:19 GMT 2009 Olly Betts <olly@survex.com> 10895 10896 * backends/chert/chert_alltermslist.cc: There's no point checking 10897 follow-on chunks match the prefix - the first chunk we'll hit 10898 which doesn't match has to be an initial chunk for a term. 10899 10900Tue Dec 15 08:24:04 GMT 2009 Olly Betts <olly@survex.com> 10901 10902 * include/xapian/: Convert DerefStringWrapper_ to a templated 10903 DerefWrapper_ and use it instead of DocIDWrapper and TermPosWrapper. 10904 10905Tue Dec 15 08:23:08 GMT 2009 Olly Betts <olly@survex.com> 10906 10907 * include/xapian/query.h: Mark Query::Internal as @private for doxygen. 10908 10909Tue Dec 15 03:59:44 GMT 2009 Olly Betts <olly@survex.com> 10910 10911 * common/pack.h: Return false not true if 10912 unpack_string_preserving_sort() fails. Add assertions that the 10913 source pointer isn't NULL to all the functions. 10914 10915Tue Dec 15 02:30:24 GMT 2009 Olly Betts <olly@survex.com> 10916 10917 * examples/delve.cc: Improve phrasing ("unique terms" -> "distinct 10918 terms"). 10919 10920Sat Dec 12 13:07:51 GMT 2009 Richard Boulton <richard@tartarus.org> 10921 10922 * tests/Makefile.am,tests/api_posdb.cc,tests/api_replacedoc.cc: 10923 Split my recently added replacedoc test out into a new file. 10924 10925Sat Dec 12 12:58:22 GMT 2009 Richard Boulton <richard@tartarus.org> 10926 10927 * tests/api_posdb.cc: Extend test of document modification to cover 10928 removing the last term in the document, too. 10929 10930Sat Dec 12 12:57:43 GMT 2009 Richard Boulton <richard@tartarus.org> 10931 10932 * backends/chert/chert_database.cc,backends/flint/flint_database.cc: 10933 Fix comparison of old term with new. 10934 10935Sat Dec 12 11:30:23 GMT 2009 Richard Boulton <richard@tartarus.org> 10936 10937 * backends/chert/chert_database.cc,backends/flint/flint_database.cc, 10938 tests/api_posdb.cc: Delete old positionlist chunks in 10939 replace_document(). Uncomment part of test which tested this. 10940 10941Sat Dec 12 04:24:42 GMT 2009 Olly Betts <olly@survex.com> 10942 10943 * backends/chert/chert_database.cc,backends/flint/flint_database.cc, 10944 common/document.h: If a document is replaced with itself unmodified, 10945 we no longer increase the automatic flush counter. 10946 * tests/api_backend.cc: Add regression test replacedoc7. 10947 10948Fri Dec 11 19:39:34 GMT 2009 Richard Boulton <richard@tartarus.org> 10949 10950 * tests/api_posdb.cc: Add a basic test of adding a document, and 10951 modifying its positions. Found one bug already, but the line 10952 which triggers this is commented out for now so that we don't 10953 break the snapshotters until it's fixed. 10954 10955Fri Dec 11 16:51:22 GMT 2009 Richard Boulton <richard@tartarus.org> 10956 10957 * common/documentterm.h: Fix some documentation comments which were 10958 trivially incorrect or incomplete. 10959 10960Fri Dec 11 11:05:19 GMT 2009 Richard Boulton <richard@tartarus.org> 10961 10962 * COPYING_MIT,HACKING: Add details of our policy for accepting 10963 patches. This has informally been true for a while, but it 10964 probably helps to tell people about it! 10965 10966Tue Dec 08 13:15:28 GMT 2009 Olly Betts <olly@survex.com> 10967 10968 * backends/chert/chert_cursor.h: Fix to build with --enable-assertions. 10969 10970Tue Dec 08 13:05:36 GMT 2009 Olly Betts <olly@survex.com> 10971 10972 * backends/chert/chert_cursor.cc,backends/chert/chert_cursor.h, 10973 backends/chert/chert_postlist.cc: Add MutableChertCursor subclass of 10974 ChertCursor and implement del() there rather than in ChertCursor. 10975 This means we can use the C++ type system to track whether we got 10976 a const or non-const ChertTable * and so whether it is safe to 10977 cast away that const and delete the entry the cursor points to. 10978 10979Tue Dec 08 12:03:08 GMT 2009 Olly Betts <olly@survex.com> 10980 10981 * backends/chert/chert_database.cc,backends/chert/chert_table.cc, 10982 backends/chert/chert_table.h,backends/flint/flint_database.cc, 10983 backends/flint/flint_table.cc,backends/flint/flint_table.h, 10984 bin/xapian-compact.cc,bin/xapian-inspect.cc: Add empty() method to 10985 FlintTable and ChertTable which works completely reliably even if 10986 the item count has wrapped. 10987 * tests/api_closedb.cc: Add closedb3 for coverage of get_doccount() and 10988 has_positions(). 10989 10990Tue Dec 08 08:23:12 GMT 2009 Olly Betts <olly@survex.com> 10991 10992 * backends/chert/chert_cursor.h: Tweak whitespace in comment. 10993 10994Mon Dec 07 04:56:42 GMT 2009 Olly Betts <olly@survex.com> 10995 10996 * backends/flint/flint_database.cc,backends/flint/flint_synonym.h: 10997 Eliminate "size" private member of FlintSynonymTermList which is set 10998 but never used. 10999 11000Mon Dec 07 04:49:54 GMT 2009 Olly Betts <olly@survex.com> 11001 11002 * backends/chert/chert_database.cc,backends/chert/chert_synonym.h: 11003 Eliminate "size" private member of ChertSynonymTermList which is set 11004 but never used. 11005 11006Mon Dec 07 04:32:46 GMT 2009 Olly Betts <olly@survex.com> 11007 11008 * backends/chert/: Use > 32 bit type to keep count of items in a 11009 table. This fixes misreporting by xapian-check, and in the very 11010 unlikely case where the counter has just wrapped to 0, makes 11011 xapian-compact not mistakenly think tables are empty and the 11012 matcher ignore positional information. 11013 11014Thu Dec 03 10:08:28 GMT 2009 Richard Boulton <richard@tartarus.org> 11015 11016 * tests/api_compact.cc: Cast character value in string constructor 11017 to a char; without this we were getting a stack overflow and 11018 general nastiness on i386, which we hypothesise was due to the 11019 wrong overload for string() being picked. 11020 11021Wed Dec 02 23:10:50 GMT 2009 Olly Betts <olly@survex.com> 11022 11023 * backends/flint_lock.cc: Add missing include of xapian/error.h. 11024 This was causing the snapshot builder to fail, but worked OK 11025 in my tree for reasons I don't understand. 11026 11027Wed Dec 02 14:30:40 GMT 2009 Olly Betts <olly@survex.com> 11028 11029 * backends/chert/chert_database.cc, 11030 backends/chert/chert_databasereplicator.cc, 11031 backends/flint/flint_database.cc, 11032 backends/flint/flint_databasereplicator.cc,backends/flint_lock.cc, 11033 backends/flint_lock.h: Factor out 4 copies of the same code to 11034 report why Xapian failed to get a lock. 11035 11036Wed Dec 02 10:05:27 GMT 2009 Olly Betts <olly@survex.com> 11037 11038 * backends/Makefile.mk,backends/chert/,backends/flint/, 11039 backends/flint_lock.cc,backends/flint_lock.h: Factor out a single 11040 version of the "flint-compatible locking code" and use it from both 11041 flint and chert. 11042 11043Wed Dec 02 02:49:14 GMT 2009 Olly Betts <olly@survex.com> 11044 11045 * tests/api_compact.cc,tests/apitest.cc,tests/apitest.h, 11046 tests/harness/backendmanager.cc,tests/harness/backendmanager.h: Add 11047 get_database_path() variant which takes a generator function and use 11048 it so that the right database names are used in compactnorenumber1. 11049 11050Tue Dec 01 12:37:24 GMT 2009 Olly Betts <olly@survex.com> 11051 11052 * tests/apitest.cc,tests/harness/backendmanager.cc, 11053 tests/harness/backendmanager.h: Move generator function variant of 11054 get_database() to BackendManager, and tweak it to build the database 11055 under a temporary path and rename it once built, to avoid leaving a 11056 partial database in place if interrupted. 11057 * tests/perftest/perftest_matchdecider.cc: Use this mechanism to lazily 11058 generate test databases. 11059 * tests/harness/: Remove the optional name parameter from various 11060 BackendManager methods as it was only used by perftest and is no 11061 longer needed. 11062 11063Tue Dec 01 11:00:35 GMT 2009 Olly Betts <olly@survex.com> 11064 11065 * tests/apitest.cc,tests/apitest.h: Add mechanism for caching databases 11066 generated by a function. 11067 * tests/api_compact.cc: Use it for compactnorenumber1. 11068 11069Tue Dec 01 10:59:50 GMT 2009 Olly Betts <olly@survex.com> 11070 11071 * tests/api_db.cc: Rename matchfunctor<n> to matchdecider<n> to match 11072 current terminology. 11073 11074Tue Dec 01 10:51:23 GMT 2009 Olly Betts <olly@survex.com> 11075 11076 * tests/api_db.cc: Don't run matchfunctor3 under remote backends as 11077 MatchDecider isn't actually supported there (uncovered by recent 11078 change to throw UnimplementedError in this case). 11079 11080Tue Dec 01 09:35:53 GMT 2009 Richard Boulton <richard@tartarus.org> 11081 11082 * include/xapian/matchspy.h: Remove out-of-date reference to 11083 add_slot(), which no longer exists: users are expected to use 11084 multiple ValueCountMatchSpies if they need to monitor more than 11085 one slot. 11086 11087Tue Dec 01 08:04:17 GMT 2009 Olly Betts <olly@survex.com> 11088 11089 * tests/Makefile.am,tests/api_compact.cc: Add test coverage for 11090 xapian-compact --no-renumber with multiple databases. 11091 11092Tue Dec 01 06:25:47 GMT 2009 Olly Betts <olly@survex.com> 11093 11094 * tests/api_backend.cc: Clean up matchdecider4. 11095 11096Tue Dec 01 06:12:29 GMT 2009 Olly Betts <olly@survex.com> 11097 11098 * HACKING: A couple more std::string efficiency tips. 11099 11100Tue Dec 01 05:51:52 GMT 2009 Olly Betts <olly@survex.com> 11101 11102 * api/omenquire.cc,common/multimatch.h,matcher/multimatch.cc, 11103 net/remoteserver.cc: Throw UnimplementedError if a matchdecider or 11104 "legacy" matchspy is used with the remote backend. 11105 * tests/api_backend.cc: Add regression test matchdecider4. 11106 11107Mon Nov 30 05:42:43 GMT 2009 Olly Betts <olly@survex.com> 11108 11109 * backends/remote/remote-database.cc,common/remote-database.h, 11110 common/remoteprotocol.h,common/remoteserver.h, 11111 docs/remote_protocol.html,net/remoteserver.cc,tests/api_metadata.cc, 11112 tests/harness/testrunner.cc: Add support for 11113 WritableDatabase::set_metadata() and Database::get_metadata() to the 11114 remote backend (based largely on patch in #178). 11115 * AUTHORS: Thanks to Paul Rudin for patch. 11116 11117Thu Nov 26 07:25:15 GMT 2009 Olly Betts <olly@survex.com> 11118 11119 * NEWS: Start to update from ChangeLog. 11120 11121Thu Nov 26 02:26:43 GMT 2009 Olly Betts <olly@survex.com> 11122 11123 * common/str.cc: Tweak the length calculation for the buffer used by 11124 str() when converting integers to strings so that the buffer is 11125 exactly the minimum required size for integers of size 1, 2, 4, 11126 and 8 bytes, and only a byte extra for 16 byte integers. 11127 11128Wed Nov 25 05:59:13 GMT 2009 Olly Betts <olly@survex.com> 11129 11130 * bin/xapian-compact.cc: In the --no-renumber case, just set offset[] 11131 entries to zero to start with rather than fixing them up later. 11132 11133Wed Nov 25 05:49:37 GMT 2009 Olly Betts <olly@survex.com> 11134 11135 * bin/xapian-compact.cc: Extend --no-renumber to support merging 11136 databases, but only if they have disjoint ranges of used document 11137 ids. 11138 11139Wed Nov 25 04:37:38 GMT 2009 Olly Betts <olly@survex.com> 11140 11141 * bin/xapian-compact.cc: Fix typos in --help output. 11142 11143Wed Nov 25 04:22:26 GMT 2009 Olly Betts <olly@survex.com> 11144 11145 * bin/xapian-compact.cc: Prune unused docids off the end of database 11146 when merging multiple databases with renumbering. 11147 11148Wed Nov 25 03:12:24 GMT 2009 Olly Betts <olly@survex.com> 11149 11150 * bin/xapian-compact.cc: Use string() instead of "" and string(1, '\0') 11151 instead of string("", 1). 11152 11153Wed Nov 25 02:34:10 GMT 2009 Olly Betts <olly@survex.com> 11154 11155 * backends/chert/chert_lock.cc: Fix locking code to work if stdin 11156 and/or stdout have been closed. 11157 * backends/flint/flint_lock.cc: Backport fix to flint. 11158 * tests/api_backend.cc: Add regression test lockfilefd0or1. 11159 11160Wed Nov 25 00:59:05 GMT 2009 Olly Betts <olly@survex.com> 11161 11162 * backends/chert/chert_database.cc,backends/chert/chert_lock.cc, 11163 backends/chert/chert_lock.h: Add "FDLIMIT" reason code for why 11164 locking failing. 11165 11166Tue Nov 24 12:44:56 GMT 2009 Olly Betts <olly@survex.com> 11167 11168 * api/omdatabase.cc: Factor out throwing an exception for docid 0 not 11169 being valid. 11170 11171Tue Nov 24 12:39:10 GMT 2009 Olly Betts <olly@survex.com> 11172 11173 * tests/api_none.cc: Note previous fix was ticket#415. 11174 11175Tue Nov 24 12:33:12 GMT 2009 Olly Betts <olly@survex.com> 11176 11177 * api/omdatabase.cc: Fix many Xapian::Database methods to behave better 11178 on a database with no subdatabases, such as is constructed by 11179 Database(). 11180 * tests/Makefile.am,tests/api_nodb.cc,tests/api_none.cc: Expand 11181 emptydb_metadata1 to also regression test these other cases, and 11182 rename to nosubdatabases1. 11183 11184Mon Nov 23 14:01:51 GMT 2009 Olly Betts <olly@survex.com> 11185 11186 * common/debuglog.h: Add "NO_ARGS" which can be used for debug logging 11187 when a function or method takes no arguments. The main advantage 11188 over "" is that no extra code is generated for it. 11189 * api/omdatabase.cc: Convert to use debuglog.h fully. 11190 * api/matchspy.cc,api/omdatabase.cc: Make use of NO_ARGS. 11191 11192Mon Nov 23 09:10:55 GMT 2009 Olly Betts <olly@survex.com> 11193 11194 * backends/chert/chert_cursor.cc,backends/flint/flint_cursor.cc, 11195 common/debuglog.cc,common/debuglog.h,common/omdebug.h,configure.ac, 11196 matcher/multimatch.cc,queryparser/queryparser.lt: Rename 11197 XAPIAN_DEBUG_VERBOSE macro to XAPIAN_DEBUG_LOG to better match the 11198 user-visible "--enable-log" configure option which controls it. 11199 11200Mon Nov 23 08:08:45 GMT 2009 Olly Betts <olly@survex.com> 11201 11202 * backends/chert/chert_database.cc,backends/chert/chert_lock.cc, 11203 backends/chert/chert_table.cc,backends/flint/: Use string() or 11204 s.resize(0) instead of "". Use string(1, '\0') instead of 11205 string("", 1). 11206 11207Sun Nov 22 14:20:51 GMT 2009 Olly Betts <olly@survex.com> 11208 11209 * backends/chert/chert_postlist.cc: When skipping through a chunk of 11210 postings to find the one we want, don't bother to unpack the wdf 11211 values we're skipping over, which should save a significant amount 11212 of time in certain cases where the profile data shows we spend 11213 something like 1/3 of the time in the function where this happens. 11214 11215Sun Nov 22 13:12:39 GMT 2009 Olly Betts <olly@survex.com> 11216 11217 * api/matchspy.cc,backends/chert/chert_values.cc, 11218 languages/steminternal.cc: Tweak whitespace after while to be 11219 consistent. 11220 11221Sat Nov 21 17:39:23 GMT 2009 Richard Boulton <richard@tartarus.org> 11222 11223 * backends/chert/chert_values.cc,backends/chert/chert_values.h: 11224 Make ValueChunkReader::skip_to() assign the value to a string 11225 only when the target has been reached. Saves a lot of 11226 unnecessary string copying - on a benchmark of mydeco data, 11227 improves time for 100 queries from 3.66s to 3.10s. 11228 11229Sat Nov 21 01:13:26 GMT 2009 Olly Betts <olly@survex.com> 11230 11231 * tests/: Make arrays which don't need to be modified const. 11232 11233Sat Nov 21 00:01:04 GMT 2009 Olly Betts <olly@survex.com> 11234 11235 * tests/api_matchspy.cc: The default parameter for 11236 get_writable_database() is string(), so don't explicitly pass "". 11237 11238Fri Nov 20 16:19:13 GMT 2009 Richard Boulton <richard@tartarus.org> 11239 11240 * tests/api_matchspy.cc: Add regression test for underflow in 11241 numeric ranges (based on python version in ticket #321). 11242 11243Fri Nov 20 10:54:08 GMT 2009 Olly Betts <olly@survex.com> 11244 11245 * matcher/valuestreamdocument.cc: Use check() instead of skip_to() in 11246 ValueStreamDocument. 11247 11248Fri Nov 20 09:57:12 GMT 2009 Olly Betts <olly@survex.com> 11249 11250 * common/document.h,matcher/: Implement ValueStreamDocument subclass 11251 of Xapian::Document::Internal which provides a way to connect up 11252 valuestreams to uses of values during the match. Other 11253 (non-recommended) uses of the Document passed to MatchDecider, etc 11254 are passed through to a lazily created backend Document::Internal 11255 subclass. This should be a lot more efficient for chert. It's 11256 unclear how it will affect performance for backends which don't store 11257 values in streams - profiling is required. 11258 11259Fri Nov 20 02:35:14 GMT 2009 Olly Betts <olly@survex.com> 11260 11261 * backends/inmemory/inmemory_document.cc: Fix closedb1 on InMemory 11262 backend, broken by recent commit. 11263 11264Thu Nov 19 12:03:52 GMT 2009 Olly Betts <olly@survex.com> 11265 11266 * backends/multi/multi_valuelist.cc: Fix to handle the case where all 11267 the sublists turn out to be empty when we first call next(). 11268 11269Thu Nov 19 11:12:53 GMT 2009 Olly Betts <olly@survex.com> 11270 11271 * backends/inmemory/: Set the document data and values lazily for the 11272 inmemory backend too. They're much less costly to fetch than if 11273 a disk access may be needed, but it avoids a copy of the respective 11274 data if they aren't needed, and either could potentially be large. 11275 Consistency here also makes things easier to understand. 11276 11277Thu Nov 19 08:47:24 GMT 2009 Olly Betts <olly@survex.com> 11278 11279 * api/omdocument.cc: Prefer string() to "". 11280 11281Thu Nov 19 07:38:29 GMT 2009 Olly Betts <olly@survex.com> 11282 11283 * api/omdatabase.cc,backends/multi/Makefile.mk, 11284 backends/multi/multi_valuelist.cc,common/Makefile.mk, 11285 common/multivaluelist.h,tests/api_valuestream.cc: Implement support 11286 for iterating valuestreams for multidatabases. 11287 11288Thu Nov 19 06:19:05 GMT 2009 Olly Betts <olly@survex.com> 11289 11290 * bin/xapian-check.cc: Rework the checking of postlist chunks into 11291 a cleaner approach which should report errors better, and 11292 eliminate the (probably) impossible "did might not be initialised" 11293 path which GCC 4.2 spotted. 11294 11295Thu Nov 19 01:15:03 GMT 2009 Olly Betts <olly@survex.com> 11296 11297 * common/pack.h: Remove incorrect assertion and document what NULL 11298 parameter value means in this case. 11299 11300Wed Nov 18 16:33:01 GMT 2009 Richard Boulton <richard@tartarus.org> 11301 11302 * bin/xapian-check.cc: Fix compiler warning (with gcc-4.2) that did 11303 could be used uninitialised: it couldn't be, but it's hard for a 11304 compiler to see that. 11305 11306Wed Nov 18 12:48:17 GMT 2009 Richard Boulton <richard@tartarus.org> 11307 11308 * AUTHORS: Update my email address. 11309 11310Wed Nov 18 12:21:09 GMT 2009 Olly Betts <olly@survex.com> 11311 11312 * common/valuelist.h: Fix internal documentation comment. 11313 11314Wed Nov 18 10:40:54 GMT 2009 Olly Betts <olly@survex.com> 11315 11316 * configure.ac: Use <cstdlib>, <cmath>, <cstdio>, <cstring> for 11317 configure tests since we use these forms in the code and want 11318 consistency between what configure tests and what the code 11319 uses. 11320 * NEWS,configure.ac: Update for 1.1.3. 11321 11322Wed Nov 18 10:39:59 GMT 2009 Olly Betts <olly@survex.com> 11323 11324 * PLATFORMS: Update from 1.0.17. 11325 11326Wed Nov 18 10:31:49 GMT 2009 Olly Betts <olly@survex.com> 11327 11328 * INSTALL: Improve text about zlib dependency. 11329 11330Wed Nov 18 10:13:59 GMT 2009 Olly Betts <olly@survex.com> 11331 11332 * INSTALL: Note the package to install for building against libuuid on 11333 Fedora, and note that libuuid isn't required on Microsoft Windows. 11334 11335Wed Nov 18 02:34:30 GMT 2009 Olly Betts <olly@survex.com> 11336 11337 * NEWS: Update from 1.0.17 and ChangeLog. 11338 11339Mon Nov 16 08:35:52 GMT 2009 Olly Betts <olly@survex.com> 11340 11341 * queryparser/queryparser.lemony: Fix interaction of FLAG_PARTIAL and 11342 FLAG_SYNONYM. (ticket#407) 11343 * tests/Makefile.am,tests/api_qpbackend.cc: Add regression test 11344 qpsynonympartial1. 11345 11346Mon Nov 16 02:15:14 GMT 2009 Olly Betts <olly@survex.com> 11347 11348 * backends/flint/flint_version.cc: Add "using namespace std;" and drop 11349 the explicit std:: qualifiers. 11350 11351Fri Nov 13 02:27:48 GMT 2009 Olly Betts <olly@survex.com> 11352 11353 * backends/chert/chert_spelling.h,backends/chert/chert_table.h, 11354 backends/flint/flint_spelling.h,backends/flint/flint_table.h, 11355 common/getopt.cc,common/stringutils.h,languages/steminternal.h: 11356 Add missing std:: qualifiers for functions in <cstring>, <cstdlib>, 11357 etc. 11358 11359Fri Nov 13 02:25:50 GMT 2009 Olly Betts <olly@survex.com> 11360 11361 * backends/chert/chert_lock.cc,backends/flint/flint_lock.cc: Add 11362 "using namespace std;" and drop the explicit std:: qualifiers. 11363 11364Fri Nov 13 02:11:18 GMT 2009 Olly Betts <olly@survex.com> 11365 11366 * common/str.cc: Use assignment to initialise a size_t - the current 11367 code was turning a missing snprintf() prototype into a confusing 11368 error message with Sun's C++, and is less clear anyway. 11369 11370Fri Nov 13 02:03:28 GMT 2009 Olly Betts <olly@survex.com> 11371 11372 * HACKING,backends/chert/chert_lock.cc,backends/flint/flint_lock.cc, 11373 backends/remote/remote-database.cc,net/remoteserver.cc, 11374 net/tcpserver.cc,tests/harness/backendmanager_remotetcp.cc, 11375 tests/harness/testsuite.cc: Sun C++'s <csignal> (not unreasonably) 11376 excludes non-ISO-C functions which are in <signal.h> - for example, 11377 kill() (which POSIX specifies). So revert <csignal> to <signal.h> 11378 and document this as a global exception. 11379 11380Thu Nov 12 08:30:07 GMT 2009 Olly Betts <olly@survex.com> 11381 11382 * matcher/collapser.h: Remove spurious comma after last entry in enum, 11383 which Sun's C++ compiler warns about. 11384 11385Thu Nov 12 00:24:55 GMT 2009 Olly Betts <olly@survex.com> 11386 11387 * matcher/multimatch.cc: Sorter -> KeyMaker in an exception message. 11388 11389Thu Nov 12 00:01:55 GMT 2009 Olly Betts <olly@survex.com> 11390 11391 * include/xapian/database.h: Tweak documentation comments about 11392 committing changes. 11393 11394Wed Nov 11 12:23:48 GMT 2009 Olly Betts <olly@survex.com> 11395 11396 * queryparser/queryparser.lemony: Fix handling of a group of stopwords 11397 which notably caused issues when default_op was OP_AND, but could 11398 probably manifest in other cases too. Fixes ticket#406. 11399 * tests/queryparsertest.cc: Add regression test qp_stopword_group1. 11400 11401Wed Nov 11 10:54:58 GMT 2009 Olly Betts <olly@survex.com> 11402 11403 * backends/chert/chert_version.h,common/safeuuid.h: Fix workaround for 11404 uuid.h headers which lack const to actually work on Solaris. 11405 11406Wed Nov 11 10:53:50 GMT 2009 Olly Betts <olly@survex.com> 11407 11408 * common/Makefile.mk: Need to ship new pack.h header. 11409 11410Tue Nov 10 22:27:47 GMT 2009 Olly Betts <olly@survex.com> 11411 11412 * bin/xapian-check.cc: Fix compiler warning introduced by previous 11413 change. 11414 11415Tue Nov 10 12:24:34 GMT 2009 Olly Betts <olly@survex.com> 11416 11417 * backends/chert/,bin/xapian-check.cc,common/pack.h: Rewrite the 11418 packing and unpacking functions more efficiently. As well as being 11419 generally faster, the pack functions now take a reference to a string 11420 to append to, which avoids creating a lot of temporary string 11421 objects. Indexing HTML files with omindex is 5-10% faster. 11422 Searching for "The" on gmane (which results in a lot of unpacking of 11423 postings and document lengths) is about 35% faster. (ticket#326) 11424 11425Thu Nov 05 03:55:37 GMT 2009 Olly Betts <olly@survex.com> 11426 11427 * common/safeuuid.h: Fix to work with uuid libraries which lack const 11428 qualifiers. Fixes build failure on Solaris. 11429 11430Thu Nov 05 00:15:24 GMT 2009 Olly Betts <olly@survex.com> 11431 11432 * HACKING: Update details of debian packaging. 11433 11434Wed Nov 04 04:11:38 GMT 2009 Olly Betts <olly@survex.com> 11435 11436 * common/output.h: Use C++ syntax for NULL with a type in log output. 11437 11438Wed Nov 04 04:02:09 GMT 2009 Olly Betts <olly@survex.com> 11439 11440 * queryparser/lemon.c: Avoid trivial memory leak. 11441 11442Wed Nov 04 00:13:00 GMT 2009 Olly Betts <olly@survex.com> 11443 11444 * include/xapian/database.h: Reword to avoid somewhat ambiguous "this 11445 method". 11446 11447Tue Nov 03 12:12:09 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 11448 11449 * include/xapian/database.h: Make it more clear that you need to 11450 add the unique term to the document if you want to use 11451 replace_document() to use external unique IDs for documents. 11452 11453Tue Nov 03 06:08:43 GMT 2009 Olly Betts <olly@survex.com> 11454 11455 * tests/generate-api_generated: Update MultiValueSorter to 11456 MultiValueKeyMaker. 11457 11458Tue Nov 03 05:51:23 GMT 2009 Olly Betts <olly@survex.com> 11459 11460 * tests/api_sorting.cc,tests/api_sortingold.cc: Fix changesorter1 and 11461 oldchangesorter1 to not be run for the remote backend where they will 11462 now fail with UnimplementedError. 11463 11464Tue Nov 03 02:43:12 GMT 2009 Olly Betts <olly@survex.com> 11465 11466 * matcher/multimatch.cc: Xapian::Sorter isn't supported with the remote 11467 backend so throw UnimplementedError rather than giving incorrect 11468 results. (ticket#384) 11469 * tests/api_sorting.cc: Add sortfunctorremote1 test this exception is 11470 actually thrown. 11471 11472Tue Nov 03 01:26:57 GMT 2009 Olly Betts <olly@survex.com> 11473 11474 * common/database.h: Fix vertical whitespace glitch. 11475 11476Mon Nov 02 08:10:03 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 11477 11478 * api/omdatabase.cc: Check that internal is not empty before 11479 referencing its first element, in get_metadata() and 11480 metadata_keys_begin(), to avoid a potential segfault. 11481 * tests/api_nodb.cc: Add emptydb_metadata1, a regression test for 11482 this bug. 11483 11484Sun Nov 01 22:10:54 GMT 2009 Olly Betts <olly@survex.com> 11485 11486 * examples/delve.cc,examples/quest.cc: Extend exception handling to the 11487 whole of main. Xapian::Stem("english") can't actually throw, but 11488 that's not obvious to static analysis tools, and it is more robust 11489 to wrap the whole of main, and reduces indentation. 11490 11491Sun Nov 01 21:27:05 GMT 2009 Olly Betts <olly@survex.com> 11492 11493 * bin/xapian-compact.cc: Add missing exception catch for const char *. 11494 The only case which currently throws this is an "impossible" 11495 situation, but if we're going to check for it, the reporting of 11496 failure should actually work. Identified by Coverity's Scan. 11497 11498Sun Nov 01 07:56:38 GMT 2009 Olly Betts <olly@survex.com> 11499 11500 * examples/quest.cc: Tighten up the type of the error we catch to 11501 detect an unknown stemming language. 11502 11503Sat Oct 31 07:16:11 GMT 2009 Olly Betts <olly@survex.com> 11504 11505 * NEWS: Update from ChangeLog. 11506 11507Sat Oct 31 06:59:19 GMT 2009 Olly Betts <olly@survex.com> 11508 11509 * include/xapian/enquire.h: Fix deprecation warnings when building with 11510 recent GCC. 11511 11512Sat Oct 31 02:46:04 GMT 2009 Olly Betts <olly@survex.com> 11513 11514 * tests/queryparsertest.cc: Add another test query string to cover a 11515 case we didn't previously check. 11516 11517Tue Oct 27 00:42:59 GMT 2009 Olly Betts <olly@survex.com> 11518 11519 * backends/chert/chert_lock.cc,backends/flint/flint_lock.cc: Don't 11520 try to close the fd one more than the maximum allowable. 11521 (ticket#408) 11522 * AUTHORS: Add Carl Worth for the patch. 11523 11524Mon Oct 05 09:00:58 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 11525 11526 * configure.ac: Mention e2fsprogs-devel in the message thrown up by 11527 configure, too. 11528 11529Mon Oct 05 08:53:05 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 11530 11531 * HACKING: Note the command needed to get the uuid library 11532 installed on fedora, since it's rather non-obvious. 11533 11534Sat Oct 03 20:11:48 GMT 2009 Olly Betts <olly@survex.com> 11535 11536 * unicode/tclUniData.cc: Update Unicode character database to Unicode 11537 5.2. (ticket#351) 11538 * tests/api_unicode.cc: Add tests for some characters added in Unicode 11539 5.2. 11540 11541Thu Oct 01 21:19:34 GMT 2009 Olly Betts <olly@survex.com> 11542 11543 * xapian-config.in: Need to quote ^ for Solaris /bin/sh. 11544 11545Fri Sep 18 13:23:00 GMT 2009 Olly Betts <olly@survex.com> 11546 11547 * configure.ac: Actually use any flags we determine are needed to 11548 switch the compiler to proper ANSI C++ mode, when building 11549 xapian-core - this stopped working in 1.0.12, breaking support for 11550 HP's aCC, Compaq's cxx, Sun's CC, and SGI's CC. 11551 11552Fri Sep 18 12:40:37 GMT 2009 Olly Betts <olly@survex.com> 11553 11554 * include/xapian/matchspy.h: Mark ValueCountMatchSpy, NumericRange, 11555 NumericRanges, and score_evenness() as experimental. 11556 11557Fri Sep 18 08:36:34 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 11558 11559 * include/xapian/weight.h,weight/weight.cc: Remove default 11560 implementation of Weight::clone() which returns NULL - we always 11561 need clone() to be implemented because it's called for every term 11562 in the query, not just used for the remote backend. 11563 11564Fri Sep 18 08:02:08 GMT 2009 Olly Betts <olly@survex.com> 11565 11566 * api/omenquire.cc,docs/deprecation.rst,include/xapian/enquire.h: Mark 11567 and document the matchspy parameter of Enquire::get_mset() as 11568 deprecated in favour of the new MatchSpy class and 11569 Enquire::add_matchspy(). 11570 11571Fri Sep 18 07:58:11 GMT 2009 Olly Betts <olly@survex.com> 11572 11573 * tests/perftest/perftest_matchdecider.cc: Don't pass default values 11574 for optional parameters to Enquire::get_mset(). 11575 11576Fri Sep 18 02:36:43 GMT 2009 Olly Betts <olly@survex.com> 11577 11578 * queryparser/queryparser.lemony: If FLAG_PARTIAL is specified, don't 11579 try to spell correct a term at the end of the query which we attempt 11580 to expand as partial. 11581 * tests/queryparsertest.cc: Add regression test qp_spellpartial1. 11582 11583Fri Sep 18 02:33:55 GMT 2009 Olly Betts <olly@survex.com> 11584 11585 * tests/queryparsertest.cc: For testcase qp_spellwild1: Fix the dbdir 11586 to qp_spellwild1 to match the testname; Fix the ordering of 11587 TESTCASE macros to match the order of the test functions; Note that 11588 this is a regression test and the versions the bug will be fixed in. 11589 11590Fri Sep 18 01:25:37 GMT 2009 Olly Betts <olly@survex.com> 11591 11592 * tests/queryparsertest.cc: Fix to work with the old scoping rules for 11593 variables declared in for(). 11594 11595Thu Sep 17 19:17:30 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 11596 11597 * queryparser/queryparser.lemony: Don't apply spelling correction 11598 to wildcard terms if FLAG_WILDCARD and FLAG_SPELLING_CORRECTION 11599 are both specified. 11600 * tests/queryparsertest.cc: Add qp_spellwild1 as a test for this. 11601 11602Thu Sep 17 12:08:17 GMT 2009 Olly Betts <olly@survex.com> 11603 11604 * NEWS: Update from ChangeLog. 11605 11606Thu Sep 17 10:20:35 GMT 2009 Olly Betts <olly@survex.com> 11607 11608 * api/keymaker.cc: Implement Richard's idea of not encoding any 11609 trailing, forward sorted, empty values which is a generalisation 11610 of encoding all forward sorted, empty values as an empty string. 11611 * tests/api_sorting.cc: Add new testcase multivaluekeymaker1 to 11612 check encodings are as expected. 11613 11614Thu Sep 17 07:15:10 GMT 2009 Olly Betts <olly@survex.com> 11615 11616 * api/,common/multimatch.h,common/omenquireinternal.h, 11617 docs/deprecation.rst,docs/sorting.rst,include/Makefile.mk, 11618 include/xapian.h,include/xapian/enquire.h,include/xapian/keymaker.h, 11619 include/xapian/sorter.h,matcher/multimatch.cc,tests/Makefile.am, 11620 tests/api_sorting.cc,tests/api_sortingold.cc: Rename Sorter to 11621 KeyMaker, paving the way for using it to build collapse keys too. 11622 Resolve the inconsistency in MultiValueSorter::add()'s "forward" 11623 parameter by replacing it with MultiKeyMaker::add_value() with a 11624 "reverse" parameter. (ticket#359) 11625 11626Thu Sep 17 07:13:25 GMT 2009 Olly Betts <olly@survex.com> 11627 11628 * api/valuesetmatchdecider.cc,include/xapian/valuesetmatchdecider.h: 11629 Inline trivial constructor from header. Add explicit '#include 11630 "xapian/document.h"'. 11631 11632Thu Sep 17 05:22:50 GMT 2009 Olly Betts <olly@survex.com> 11633 11634 * HACKING: Document how to use the XAPIAN_DEPRECATED() macro to 11635 mark a class as deprecated. 11636 11637Wed Sep 16 02:40:13 GMT 2009 Olly Betts <olly@survex.com> 11638 11639 * backends/chert/chert_table.cc,backends/flint/flint_table.cc: 11640 Eliminate a couple of assertions which can never fire. 11641 11642Sat Sep 12 04:05:35 GMT 2009 Olly Betts <olly@survex.com> 11643 11644 * matcher/msetpostlist.cc: Fix MSetPostList not to read off the end of 11645 the MSet if get_maxweight() is called when at_end(). This can 11646 happen but the testcase was too large to send so sadly no 11647 regression test I'm afraid. 11648 11649Sat Sep 12 03:41:04 GMT 2009 Olly Betts <olly@survex.com> 11650 11651 * backends/chert/chert_values.cc: Fix code to find the first docid in 11652 the net chunk (ticket#399). 11653 * tests/api_backend.cc: Add regression test from Rich Lane. 11654 11655Fri Sep 11 11:14:49 GMT 2009 Olly Betts <olly@survex.com> 11656 11657 * backends/chert/,bin/xapian-check.cc,bin/xapian-compact.cc: Add 11658 support for chert databases without a termlist table (ticket#181). 11659 Currently the only way to create such a database is to create a 11660 chert database and do "rm termlist.*". 11661 11662Fri Sep 11 10:07:35 GMT 2009 Olly Betts <olly@survex.com> 11663 11664 * bin/xapian-compact.cc: Don't report an absent lazy input table as 0 11665 size. 11666 11667Fri Sep 11 03:17:17 GMT 2009 Olly Betts <olly@survex.com> 11668 11669 * backends/chert/chert_table.h: Improve documentation of "handle" 11670 member. 11671 11672Thu Sep 10 13:24:29 GMT 2009 Olly Betts <olly@survex.com> 11673 11674 * m4-macros/xapian-1.1.m4: Report the default xapian-config 11675 basename in configure's --help output. 11676 11677Thu Sep 10 12:55:48 GMT 2009 Olly Betts <olly@survex.com> 11678 11679 * m4-macros/xapian-1.1.m4: Add optional third parameter to 11680 XO_LIB_XAPIAN which specifies the basename for the "xapian-config" 11681 script (defaults to "xapian-config" to give the current behaviour). 11682 11683Thu Sep 10 06:39:17 GMT 2009 Olly Betts <olly@survex.com> 11684 11685 * NEWS: Update with changes in 1.0.16 and from ChangeLog. 11686 11687Thu Sep 10 02:17:56 GMT 2009 Olly Betts <olly@survex.com> 11688 11689 * include/xapian/queryparser.h: Clarify the documentation comments for 11690 QueryParser::set_default_op() and QueryParser::get_default_op(). 11691 11692Wed Sep 09 13:36:58 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 11693 11694 * matcher/andmaybepostlist.cc,tests/Makefile.am,tests/api_queryopt.cc: 11695 Back out patch from r13440 which introduced a new optimisation 11696 for AND_MAYBE when the maximum weight of the RHS becomes zero, 11697 due to various undesirable side effects. I've put the patch into 11698 ticket #400 with an explanation. 11699 11700Wed Sep 09 01:54:05 GMT 2009 Olly Betts <olly@survex.com> 11701 11702 * backends/chert/chert_postlist.cc,tests/api_backend.cc: Fix 11703 WritableDatabase::get_doclength() to work properly after a call to 11704 commit for the chert backend (ticket#397). 11705 11706Wed Sep 09 00:28:09 GMT 2009 Olly Betts <olly@survex.com> 11707 11708 * AUTHORS: Add Dmitry Liakh for fix for #398. 11709 11710Wed Sep 09 00:02:47 GMT 2009 Olly Betts <olly@survex.com> 11711 11712 * backends/chert/chert_lock.cc,backends/flint/flint_lock.cc: Fix a 11713 typo which stopped this fix in 1.0.12 from working (ticket #398): 11714 11715 If we fail to get the lock after we spawn the child lock process 11716 (the common case is because the database is already open for 11717 writing) then we now clean up the child process properly. 11718 11719Fri Sep 04 11:24:26 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 11720 11721 * docs/categorisation.rst: Remove out-of-date call to get_mset() 11722 which passed a MatchSpy in - spies are now set with 11723 add_matchspy() before get_mset() is called. 11724 11725Thu Sep 03 00:29:27 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 11726 11727 * matcher/andmaybepostlist.cc: For AndMaybe, if the RHS has a 11728 maximum possible weight of 0, we now decay to just the LHS. 11729 * tests/Makefile.am,tests/api_queryopt.cc: Test coverage that this 11730 optimisation doesn't break anything. 11731 11732Tue Sep 01 12:04:13 GMT 2009 Olly Betts <olly@survex.com> 11733 11734 * configure.ac: Send stderr output from ldconfig to config.log. 11735 11736Tue Sep 01 10:35:51 GMT 2009 Olly Betts <olly@survex.com> 11737 11738 * AUTHORS,common/safeuuid.h: Fix uuid_unparse_lower() replacement for 11739 older libuuid to actually compile (really fixes ticket#368). 11740 11741Mon Aug 31 05:58:55 GMT 2009 Olly Betts <olly@survex.com> 11742 11743 * NEWS: Sync with 1.0.15. 11744 11745Mon Aug 31 05:48:13 GMT 2009 Olly Betts <olly@survex.com> 11746 11747 * NEWS: Start to format entries for 1.1.3. 11748 11749Mon Aug 31 04:14:58 GMT 2009 Olly Betts <olly@survex.com> 11750 11751 * PLATFORMS: Sync with 1.0.15. 11752 11753Mon Aug 31 01:30:01 GMT 2009 Olly Betts <olly@survex.com> 11754 11755 * common/getopt.cc: Use USE_GLIBC_GNUGETOPT from gnu_getopt.h rather 11756 than repeating the conditionals used to determine it here. Rename 11757 __getopt_initialized to getopt_initialized and make it static. 11758 Rename _getopt_initialize() to getopt_initialize(). 11759 11760Mon Aug 31 01:24:29 GMT 2009 Olly Betts <olly@survex.com> 11761 11762 * common/gnu_getopt.h: Update (C) dates. Markup file description for 11763 doxygen. Fix comment reference to ctype.h as we now use <cctype>. 11764 11765Sun Aug 30 23:28:25 GMT 2009 Olly Betts <olly@survex.com> 11766 11767 * common/gnu_getopt.h: Make optarg, optind, opterr, and optopt extern 11768 "C" to avoid linkage clash with these symbols on Mac OS X 10.6. 11769 11770Thu Aug 27 03:05:33 GMT 2009 Olly Betts <olly@survex.com> 11771 11772 * HACKING: Add note to document the reason for any exceptions to the 11773 rule to use C++ forms of ISO C headers. 11774 11775Wed Aug 26 13:07:07 GMT 2009 Olly Betts <olly@survex.com> 11776 11777 * AUTHORS,INSTALL,docs/install.html: Drop .php from xapian.org URLs. 11778 11779Wed Aug 26 12:58:51 GMT 2009 Olly Betts <olly@survex.com> 11780 11781 * HACKING: Update URLs. Remove duplicated text about updating RoadMap 11782 from the release checklist. 11783 11784Wed Aug 26 10:56:07 GMT 2009 Olly Betts <olly@survex.com> 11785 11786 * configure.ac: Update various URLs. 11787 11788Tue Aug 25 01:52:51 GMT 2009 Olly Betts <olly@survex.com> 11789 11790 * tests/harness/testsuite.cc: Fix not to report heaps of bogus errors 11791 under valgrind 3.5.0. 11792 11793Mon Aug 24 02:19:06 GMT 2009 Olly Betts <olly@survex.com> 11794 11795 * include/xapian/enquire.h: Also update the documentation comment for 11796 set_sort_by_relevance_then_value() to mention sortable_serialise(). 11797 11798Fri Aug 21 14:35:35 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 11799 11800 * Makefile.am: Add generate-exceptions to EXTRA_DIST - was missing 11801 from tarballs. 11802 11803Fri Aug 21 12:21:59 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 11804 11805 * AUTHORS: Add Michael Vogt, who suggested adding a comment about 11806 sortable_serialise to set_sort_by_value(). 11807 11808Fri Aug 21 12:14:13 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 11809 11810 * include/xapian/enquire.h: Update documentation comments for 11811 set_sort_by_value() and set_sort_by_value_then_relevance() to 11812 mention sortable_serialise() as a good way to store values if you 11813 want to sort by them. 11814 11815Mon Aug 17 16:51:10 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 11816 11817 * matcher/multimatch.cc: When sorting by non-pure-relevance, ensure 11818 that the document is shown to the matchspy even if it couldn't 11819 get in the mset. 11820 * tests/api_matchspy.cc: Extend matchspy4 to include a regression 11821 test for this. 11822 11823Mon Aug 17 11:51:24 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 11824 11825 * api/matchspy.cc,include/xapian/matchspy.h: Add overload for 11826 score_evenness to allow a NumericRanges object to be passed to 11827 it. 11828 11829Mon Aug 17 07:36:57 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 11830 11831 * api/matchspy.cc,include/xapian/matchspy.h: Replace 11832 build_numeric_ranges() function with a NumericRanges object, 11833 whose constructor is passed the values and which exposes the 11834 calculated ranges via a getter. 11835 * tests/api_matchspy.cc: Update tests to use new NumericRanges 11836 object instead of build_numeric_ranges(). 11837 11838Wed Aug 12 17:33:53 GMT 2009 Olly Betts <olly@survex.com> 11839 11840 * Makefile.am: Fix generate-exceptions change to work in a VPATH 11841 build. 11842 11843Wed Aug 12 15:57:44 GMT 2009 Olly Betts <olly@survex.com> 11844 11845 * exception_data.pm: Add new SerialisationError. 11846 * common/serialise-double.cc: Throw SerialisationError or InternalError 11847 instead of NetworkError. 11848 11849Wed Aug 12 15:19:05 GMT 2009 Olly Betts <olly@survex.com> 11850 11851 * Makefile.am,configure.ac,generate-exceptions,generate-exceptions.in: 11852 It's not very useful to be able to run generate-exceptions outside 11853 the build system, and it only gets the #! line substituted, so just 11854 move those runes into Makefile.am and reduce the number of files that 11855 configure needs to generate by one. 11856 11857Mon Aug 10 13:25:22 GMT 2009 Olly Betts <olly@survex.com> 11858 11859 * api/matchspy.cc: Use <cfloat> and <cmath> rather than <float.h> and 11860 <math.h> (regression from merging the matchspy branch). 11861 11862Mon Aug 10 13:01:57 GMT 2009 Olly Betts <olly@survex.com> 11863 11864 * api/,bin/xapian-tcpsrv.cc,common/,docs/postingsource.rst, 11865 docs/serialisation.rst,include/Makefile.mk,include/xapian.h, 11866 include/xapian/,net/remoteserver.cc,tests/: Rename 11867 SerialisationContext to Registry. 11868 11869Mon Aug 10 11:23:23 GMT 2009 Olly Betts <olly@survex.com> 11870 11871 * NEWS: Start to update from ChangeLog. 11872 11873Mon Aug 10 10:29:13 GMT 2009 Olly Betts <olly@survex.com> 11874 11875 * api/omenquire.cc,include/xapian/weight.h,matcher/localmatch.cc: 11876 Make Weight::clone() public, and remove Weight::clone_() as it is 11877 no longer required. 11878 11879Mon Aug 10 07:55:04 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 11880 11881 * HACKING: Add section on ordering of include files, and fix a few 11882 formatting issues to make this file into valid restructured text 11883 again. 11884 11885Mon Aug 10 06:55:45 GMT 2009 Olly Betts <olly@survex.com> 11886 11887 * api/serialisationcontext.cc,common/serialisationcontextinternal.h: 11888 Refactor to use a template function to implement the exception safe 11889 approach I implemented for PostingSource, and use it for MatchSpy 11890 and Weight too. 11891 * tests/api_serialise.cc: Add tests for exception safety of MatchSpy 11892 and Weight with SerialisationContext. 11893 11894Mon Aug 10 06:15:23 GMT 2009 Olly Betts <olly@survex.com> 11895 11896 * include/xapian/weight.h,weight/weight.cc: Add default implementations 11897 of Weight methods name(), serialise(), unserialise(), and clone() for 11898 consistency with PostingSource and MatchSpy. 11899 11900Mon Aug 10 03:29:12 GMT 2009 Olly Betts <olly@survex.com> 11901 11902 * tests/api_postingsource.cc: Tweak header include order. 11903 11904Tue Aug 04 15:49:54 GMT 2009 Olly Betts <olly@survex.com> 11905 11906 * include/xapian/queryparser.h: Explicitly document that an empty 11907 prefix argument to QueryParser::add_prefix() means "no prefix". 11908 11909Tue Aug 04 13:11:26 GMT 2009 Olly Betts <olly@survex.com> 11910 11911 * api/postingsource.cc: Throw UnimplementedError rather than 11912 InvalidOperationError from PostingSource::serialise() and 11913 PostingSource::unserialise() for consistency with MatchSpy. 11914 * include/xapian/postingsource.h: Document this behaviour (previously 11915 we didn't say what the default implementation actually did). 11916 * tests/api_serialise.cc: Add test coverage. 11917 11918Mon Aug 03 11:40:31 GMT 2009 Olly Betts <olly@survex.com> 11919 11920 * api/serialisationcontext.cc: Fix to handle the clone() method or dtor 11921 of a PostingSource subclass throwing exceptions. 11922 * tests/api_serialise.cc: Add new testcase serialisationcontext1 as a 11923 regression test for this. 11924 11925Mon Aug 03 06:40:28 GMT 2009 Olly Betts <olly@survex.com> 11926 11927 * tests/api_serialise.cc: Fix copy-and-pasted @brief. 11928 11929Sun Aug 02 16:21:54 GMT 2009 Olly Betts <olly@survex.com> 11930 11931 * common/remoteprotocol.h: Correction: protocol version 33 will debut 11932 in 1.1.3 not 1.1.4. 11933 11934Sun Aug 02 16:20:28 GMT 2009 Olly Betts <olly@survex.com> 11935 11936 * docs/remote_protocol.html: Update to document protocol version 33. 11937 11938Sun Aug 02 16:17:24 GMT 2009 Olly Betts <olly@survex.com> 11939 11940 * backends/remote/remote-database.cc,net/remoteserver.cc: We were 11941 ignoring any trailing junk after the matchspies in MSG_GETMSET, so 11942 change to not send a count of them and just unpack until we run out 11943 of data. 11944 11945Sun Aug 02 15:47:30 GMT 2009 Olly Betts <olly@survex.com> 11946 11947 * common/remoteprotocol.h: Note the versions in which recent protocol 11948 versions were introduced. 11949 11950Sun Aug 02 15:09:13 GMT 2009 Olly Betts <olly@survex.com> 11951 11952 * backends/remote/remote-database.cc,common/serialise.h, 11953 net/remoteserver.cc,net/serialise.cc: Put the serialised MSet last in 11954 REPLY_RESULTS as then it doesn't need to know its own length (so the 11955 encoding is the same size it used to be in the non-matchspy case), 11956 and we avoid having to check for there being "junk" data left over 11957 after unserialising. 11958 11959Sun Aug 02 14:39:18 GMT 2009 Olly Betts <olly@survex.com> 11960 11961 * matcher/remotesubmatch.h: Fix to build with GCC 4.4.1. 11962 11963Sun Aug 02 14:27:44 GMT 2009 Olly Betts <olly@survex.com> 11964 11965 * backends/remote/remote-database.cc: Don't assign a temporary string 11966 object. 11967 11968Sun Aug 02 13:50:14 GMT 2009 Olly Betts <olly@survex.com> 11969 11970 * include/xapian/matchspy.h: Add missing documentation comments. 11971 11972Sun Aug 02 12:15:43 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 11973 11974 Merge from matchspy branch. 11975 * api/,backends/remote/remote-database.cc,common/,docs/Makefile.am, 11976 docs/categorisation.rst,include/Makefile.mk,include/xapian.h, 11977 include/xapian/enquire.h,include/xapian/matchspy.h, 11978 include/xapian/serialisationcontext.h,matcher/multimatch.cc, 11979 matcher/remotesubmatch.cc,matcher/remotesubmatch.h, 11980 net/remoteserver.cc,net/serialise.cc,tests/Makefile.am, 11981 tests/api_matchspy.cc: Add new-style Xapian::MatchSpy class, 11982 which is a pure "spy" class, rather than being able to take a 11983 decision on whether a spy is applied before or after a result. 11984 This class is also designed to work with remote databases, 11985 passing the results back in serialised form. Also, add 11986 ValueCountMatchSpy, which counts the occurrences of each value in 11987 a slot in the search results seen (useful for faceted or 11988 categorisation systems). 11989 11990Fri Jul 31 12:50:57 GMT 2009 Olly Betts <olly@survex.com> 11991 11992 * tests/api_backend.cc,tests/api_wrdb.cc: Move new test 11993 modifiedpostlist1 from api_wrdb.cc to api_backend.cc - we're trying 11994 not to make api-wrdb.cc any larger. Also note the ticket number and 11995 the release this will be fixed in. 11996 11997Thu Jul 30 16:30:06 GMT 2009 Olly Betts <olly@survex.com> 11998 11999 * backends/chert/chert_modifiedpostlist.cc: Fix ChertModifiedPostList 12000 to skip added-but-then-deleted-before-flush documents. (ticket#392) 12001 backends/flint/flint_modifiedpostlist.cc: Same fix for flint. 12002 * tests/api_wrdb.cc: Add regression test modifiedpostlist1. 12003 * AUTHORS: Add Rich Lane for patch. 12004 12005Wed Jul 29 09:44:15 GMT 2009 Olly Betts <olly@survex.com> 12006 12007 * NEWS: Update from ChangeLog. 12008 12009Wed Jul 29 09:29:45 GMT 2009 Olly Betts <olly@survex.com> 12010 12011 * include/xapian/valueiterator.h: Fix typos ("again" -> "and"). 12012 12013Wed Jul 29 06:18:41 GMT 2009 Olly Betts <olly@survex.com> 12014 12015 * tests/Makefile.am: Actually distribute testdata/apitest_declen.txt 12016 - new test data from the postingsources branch merge. 12017 12018Tue Jul 28 16:38:55 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 12019 12020 Merge from postingsources branch: 12021 * tests/generate-api_generated: Test get_description() methods of 12022 Xapian::PostingSource subclasses. 12023 12024Tue Jul 28 16:35:54 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 12025 12026 Merge from postingsources branch: 12027 * api/Makefile.mk,api/decvalwtsource.cc,api/serialisationcontext.cc, 12028 include/xapian/postingsource.h: Add 12029 DecreasingValueWeightPostingSource class, which reads weights 12030 from a value slot in which a significant range of the values are 12031 in decreasing order. This functions similarly to 12032 ValueWeightPostingSource, but can be much more efficient. 12033 * tests/api_valuestream.cc,tests/testdata/apitest_declen.txt: 12034 Tests, and some associated constructed test data, for 12035 DecreasingValueWeightPostingSource. 12036 12037Mon Jul 27 04:50:45 GMT 2009 Olly Betts <olly@survex.com> 12038 12039 * HACKING: Now using autoconf 2.64. 12040 12041Mon Jul 27 04:46:17 GMT 2009 Olly Betts <olly@survex.com> 12042 12043 * HACKING: Add note about preferring std::string::assign(), and also 12044 one about building up strings using +=. 12045 12046Mon Jul 27 04:45:15 GMT 2009 Olly Betts <olly@survex.com> 12047 12048 * backends/chert/chert_lock.cc,backends/chert/chert_utils.h, 12049 backends/flint/flint_lock.cc,backends/flint/flint_utils.h, 12050 backends/remote/remote-database.cc: Use std::string::assign() rather 12051 than constructing a temporary string object to assign. 12052 12053Sun Jul 26 16:08:10 GMT 2009 Olly Betts <olly@survex.com> 12054 12055 * AUTHORS: Update for bugs fixed in 1.0.14. 12056 12057Sun Jul 26 16:03:54 GMT 2009 Olly Betts <olly@survex.com> 12058 12059 * HACKING: Update the release checklist. 12060 12061Sun Jul 26 14:28:25 GMT 2009 Olly Betts <olly@survex.com> 12062 12063 * docs/doxygen_source.conf.in: Update roughly in-line with apidoc 12064 changes. I've not looked at the output much though. 12065 12066Sun Jul 26 14:00:14 GMT 2009 Olly Betts <olly@survex.com> 12067 12068 * include/xapian/database.h: Remove documentation comment for namespace 12069 Xapian - this is now documented in xapian.h. 12070 12071Sun Jul 26 13:59:42 GMT 2009 Olly Betts <olly@survex.com> 12072 12073 * include/xapian/unicode.h: Add documentation comment for namespace 12074 Unicode. 12075 12076Sun Jul 26 13:58:44 GMT 2009 Olly Betts <olly@survex.com> 12077 12078 * include/xapian/dbfactory.h: Add documentation comments for the 12079 backend namespaces (InMemory, etc). 12080 12081Sun Jul 26 13:57:29 GMT 2009 Olly Betts <olly@survex.com> 12082 12083 * include/xapian/version_h.cc: Add documentation comments for the 12084 generated version.h, and all the preprocessor defines it contains. 12085 12086Sun Jul 26 13:56:15 GMT 2009 Olly Betts <olly@survex.com> 12087 12088 * include/xapian.h: Consistently say "linked with" rather than "linked 12089 to" in some cases. Put documentation comment for namespace Xapian 12090 in this file. 12091 12092Sun Jul 26 13:06:45 GMT 2009 Olly Betts <olly@survex.com> 12093 12094 * docs/doxygen_api.conf.in: More fettling to try to get better output: 12095 + Wrap long comments. 12096 + Quote arguments containing @...@ substitutions as they could 12097 conceivably contain spaces. 12098 + ALWAYS_DETAILED_SEC = NO: since a detailed section with no extra 12099 information is pointless. 12100 + STRIP_FROM_PATH, INCLUDE_PATH: Add "@top_builddir@/include" for 12101 VPATH builds. 12102 + HIDE_UNDOC_MEMBERS = YES: otherwise @internal members show up 12103 (with no documentation). 12104 + HIDE_FRIEND_COMPOUNDS = YES: as friend declarations in the API 12105 headers are implementation details. 12106 + SHOW_INCLUDE_FILES = NO: users should just include <xapian.h> 12107 for all their API needs. 12108 + GENERATE_TODOLIST, GENERATE_TESTLIST, GENERATE_BUGLIST: all set to 12109 NO as we don't want these in the API documentation. 12110 + SHOW_NAMESPACES = YES: We have several sub-namespaces so these are 12111 useful to document. 12112 + INPUT: Prepend "@top_builddir@/include/xapian/version.h" so that 12113 XAPIAN_HAS_FLINT_BACKEND, etc are defined before parsing other 12114 headers. 12115 + EXCLUDE: remove all entries and use EXCLUDE_PATTERNS instead. 12116 + EXCLUDE_PATTERNS: Include entries corresponding to those in EXCLUDE 12117 and add */derefwrapper.h and */.* (the latter avoids trying to look 12118 in .svn or any other hidden files or directories). 12119 + REFERENCES_LINK_SOURCE = NO: Improves output. 12120 + VERBATIM_HEADERS = NO: The verbatim headers aren't very 12121 interesting. 12122 + PREDEFINED: Define XAPIAN_VISIBILITY_DEFAULT and 12123 XAPIAN_DEPRECATED(D)=D as doxygen seem reluctant to parse included 12124 files. 12125 + EXPAND_AS_DEFINED: Remove XAPIAN_VISIBILITY_DEFAULT and 12126 XAPIAN_DEPRECATED as these are now handled by PREDEFINED. 12127 + EXTERNAL_GROUPS = NO, GROUP_GRAPHS = NO: We don't use groups so 12128 disable these. 12129 12130Sun Jul 26 10:14:32 GMT 2009 Olly Betts <olly@survex.com> 12131 12132 * docs/doxygen_api.conf.in,docs/doxygen_source.conf.in: Change 12133 @PACKAGE@ to @PACKAGE_NAME@ and @VERSION@ to @PACKAGE_VERSION@ to 12134 reflect modern autotools usage. 12135 12136Fri Jul 24 16:23:31 GMT 2009 Olly Betts <olly@survex.com> 12137 12138 * configure.ac,docs/: Rename doxygen configuration files from "_conf" 12139 to ".conf". Rename doxygen_full.conf to doxygen_source.conf, etc. 12140 12141Fri Jul 24 16:02:39 GMT 2009 Olly Betts <olly@survex.com> 12142 12143 * HACKING: Update to note that doxygen is now installed in-tree, and 12144 that we now use 1.5.9 for 1.1.x snapshots and releases, and that 12145 graphviz ">1.8.10" is now required. 12146 12147Fri Jul 24 16:01:31 GMT 2009 Olly Betts <olly@survex.com> 12148 12149 * include/xapian/: Documentation comment tweaks. 12150 12151Fri Jul 24 15:34:03 GMT 2009 Olly Betts <olly@survex.com> 12152 12153 * include/xapian/unicode.h: Fix @param names to match parameter names. 12154 12155Fri Jul 24 15:33:12 GMT 2009 Olly Betts <olly@survex.com> 12156 12157 * docs/doxygen_api_conf.in: Major doxygen config overhaul: 12158 + STRIP_FROM_PATH: Strip include from header names. 12159 + JAVADOC_AUTOBRIEF: Re-enable as we have lost most of our brief 12160 descriptions - we can fix up the few cases where this caused 12161 problems with an explicit @brief. 12162 + BUILTIN_STL_SUPPORT: Enable for slightly STL-related stuff. 12163 + DISTRIBUTE_GROUP_DOC: Enable so group members get the group's 12164 comments. 12165 + EXTRACT_STATIC, EXTRACT_LOCAL_CLASSES: Disable since we don't 12166 need these. 12167 + SHOW_NAMESPACES: Disable to hide the "Xapian" namespace. 12168 + QUIET: Enable for less doxygen chatter. 12169 + WARN_LOGFILE: Unset so warnings go to stderr to encourage us to 12170 actually fix them! 12171 + EXCLUDE: Hide base.h, deprecated.h, errordispatch.h, visibility.h. 12172 + HTML_DYNAMIC_SECTIONS: Enable so the class diagrams are hidden by 12173 default but can be "expanded" to be viewed. 12174 + COLLABORATION_GRAPH: Disable as these don't ever seem useful in 12175 the API docs. 12176 + TEMPLATE_RELATIONS: Disable as we don't want to see template 12177 instantiations in inheritance diagrams. 12178 + DOT_MULTI_TARGETS: Enable for faster dot processsing. Needs 12179 graphviz ">1.8.10", but that's really old now. 12180 12181Fri Jul 24 13:00:24 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 12182 12183 * bin/xapian-compact.cc: Fix to work with the metainfo key stored 12184 in the latest format of chert databases. 12185 12186Fri Jul 24 10:32:32 GMT 2009 Olly Betts <olly@survex.com> 12187 12188 * backends/chert/chert_values.cc: Avoid doing pointless work by trying 12189 to delete non-existent lists of values when we're just adding 12190 documents. 12191 12192Fri Jul 24 05:32:34 GMT 2009 Olly Betts <olly@survex.com> 12193 12194 * docs/doxygen_api_conf.in: Update with "doxygen -u" using doxygen 12195 1.5.9 and then trim trailing whitespace. 12196 12197Thu Jul 23 04:10:49 GMT 2009 Olly Betts <olly@survex.com> 12198 12199 * NEWS,configure.ac: Update for 1.1.2. 12200 12201Wed Jul 22 13:58:13 GMT 2009 Olly Betts <olly@survex.com> 12202 12203 * backends/chert/chert_databasereplicator.cc, 12204 backends/flint/flint_databasereplicator.cc: Prefer += to + for 12205 building up strings. 12206 12207Wed Jul 22 09:01:57 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 12208 12209 * backends/chert/chert_databasereplicator.cc, 12210 backends/flint/flint_databasereplicator.cc: Check result of 12211 ::open() for -1, and throw an error immediately if this happens, 12212 rather than leaving it to a later call to fail with EBADF. 12213 Should make it easier to diagnose problems, since we'll now see 12214 the reason that the open() failed. 12215 12216Tue Jul 21 17:08:41 GMT 2009 Olly Betts <olly@survex.com> 12217 12218 * NEWS: Update from ChangeLog and sync with 1.0.14. 12219 12220Mon Jul 20 04:48:32 GMT 2009 Olly Betts <olly@survex.com> 12221 12222 * matcher/queryoptimiser.cc: Fix build with assertions enabled. 12223 12224Mon Jul 20 04:47:33 GMT 2009 Olly Betts <olly@survex.com> 12225 12226 * include/xapian/query.h: Update doc comment - OP_SYNONYM can take any 12227 number of subqueries too. 12228 12229Sun Jul 19 17:26:53 GMT 2009 Olly Betts <olly@survex.com> 12230 12231 * api/omqueryinternal.cc,include/xapian/query.h,matcher/localmatch.cc: 12232 Remove wqf member of Xapian::Query::Internal and store the wqf in 12233 the parameter member instead. (ticket#280) 12234 12235Sun Jul 19 17:24:02 GMT 2009 Olly Betts <olly@survex.com> 12236 12237 * api/omqueryinternal.cc,include/xapian/query.h: Remove unused 12238 method Xapian::Query::Internal::swap(). 12239 12240Sun Jul 19 16:22:01 GMT 2009 Olly Betts <olly@survex.com> 12241 12242 * api/valuerangeproc.cc,include/xapian/queryparser.h: Move support for 12243 a prefix/suffix from NumberValueRangeProcessor to 12244 StringValueRangeProcessor, and change NumberValueRangeProcessor and 12245 DateValueRangeProcessor to inherit from StringValueRangeProcessor so 12246 all three now support a prefix/suffix. (ticket#220) 12247 * tests/queryparsertest.cc: Add test coverage for new features. 12248 12249Sun Jul 19 16:05:04 GMT 2009 Olly Betts <olly@survex.com> 12250 12251 * tests/queryparsertest.cc: Reenable tests which require the inmemory 12252 backend to be enabled by fixing typo XAPIAN_HAS_BACKEND_INMEMORY -> 12253 XAPIAN_HAS_INMEMORY_BACKEND. 12254 12255Sun Jul 19 14:56:16 GMT 2009 Olly Betts <olly@survex.com> 12256 12257 * api/documentvaluelist.cc: Use str() instead of om_tostring(). 12258 12259Sun Jul 19 14:42:15 GMT 2009 Olly Betts <olly@survex.com> 12260 12261 * matcher/msetcmp.cc: Eliminate two more relocations. 12262 12263Sun Jul 19 13:46:08 GMT 2009 Olly Betts <olly@survex.com> 12264 12265 * api/omqueryinternal.cc: Factor out "is_distributable()" function. 12266 12267Sun Jul 19 11:11:06 GMT 2009 Olly Betts <olly@survex.com> 12268 12269 * include/xapian/version_h.cc: Fix "dummy" -> "dummy[]" so the code 12270 here is valid C - we only preprocess it, but since the reason for 12271 having the dummy stuff at all is to avoid problems with "smart" 12272 preprocessors which moan if the code isn't valid, this seems worth 12273 fixing. 12274 12275Sun Jul 19 10:21:41 GMT 2009 Olly Betts <olly@survex.com> 12276 12277 * backends/flint/flint_database.cc: Backport the previous change to 12278 flint. 12279 12280Sun Jul 19 08:04:48 GMT 2009 Olly Betts <olly@survex.com> 12281 12282 * backends/chert/chert_database.cc: Instead of dynamically building a 12283 std::list of the leafnames we need to replicate, just list them in a 12284 compact format in the source file. Results in smaller code and 12285 should be faster and smaller at runtime. 12286 12287Sat Jul 18 17:12:58 GMT 2009 Olly Betts <olly@survex.com> 12288 12289 * languages/compiler/generator.c: Merge among table entries which are 12290 substrings of others in the same among. We could be much cleverer 12291 and merge between amongs, and allow overlaps, etc, but this get us 12292 a nice size reduction for a small amount of effort, so it'll do for 12293 now. 12294 12295Sat Jul 18 15:42:48 GMT 2009 Olly Betts <olly@survex.com> 12296 12297 * languages/compiler/generator.c,languages/steminternal.cc, 12298 languages/steminternal.h: Change how snowball generates the data used 12299 by among - instead of using pointers to the strings in struct among, 12300 store an offset into a constant pool, as this reduces the number of 12301 relocations from 5001 to 2706, which should decrease the time taken 12302 by the dynamic linker when loading the library. This also results 12303 in slightly smaller code. 12304 12305Fri Jul 17 16:32:02 GMT 2009 Olly Betts <olly@survex.com> 12306 12307 * tests/api_nodb.cc: Check output of Stem::get_description() for each 12308 supported language. 12309 12310Thu Jul 16 04:34:57 GMT 2009 Olly Betts <olly@survex.com> 12311 12312 * common/fileutils.h: Remove unnecessary XAPIAN_VISIBILITY_DEFAULT 12313 (ticket#63). 12314 * common/fileutils.cc,common/fileutils.h: Make isabspath() static 12315 since it is only used by other functions in the same file. 12316 12317Thu Jul 16 04:13:48 GMT 2009 Olly Betts <olly@survex.com> 12318 12319 * queryparser/queryparser.lemony: Fix comment typo. 12320 12321Thu Jul 16 03:59:49 GMT 2009 Olly Betts <olly@survex.com> 12322 12323 * api/sorter.cc,include/xapian/sorter.h: MultiValueSorter doesn't 12324 need an explicit dtor - it's enough that Sorter has a virtual dtor. 12325 12326Thu Jul 16 03:29:41 GMT 2009 Olly Betts <olly@survex.com> 12327 12328 * AUTHORS: Add Andreas Flöter for the Solaris package howto. 12329 12330Wed Jul 15 14:37:19 GMT 2009 Olly Betts <olly@survex.com> 12331 12332 * matcher/rset.cc: Just pass pointer as AutoPtr constructor parameter 12333 rather constructing a temporary AutoPtr and invoking the assignment 12334 operator. 12335 12336Wed Jul 15 03:43:35 GMT 2009 Olly Betts <olly@survex.com> 12337 12338 * common/omenquireinternal.h: "class" -> "object" in doc comment. 12339 12340Wed Jul 15 03:38:55 GMT 2009 Olly Betts <olly@survex.com> 12341 12342 * tests/runtest.in: Raise the fd limit from 32 to 64 - multi_flint 12343 tests need more than 32 fds. 12344 12345Tue Jul 14 20:32:52 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 12346 12347 * api/omenquire.cc,common/omenquireinternal.h: Revert r13052, which 12348 changed Enquire::Internal::weight not to be mutable. Expand the 12349 comment explaining why it's mutable. 12350 12351Tue Jul 14 18:40:43 GMT 2009 Olly Betts <olly@survex.com> 12352 12353 * tests/runtest.in: Use "ulimit -n" where available to limit the 12354 number of available file descriptors to 32 so we catch file 12355 descriptor leaks sooner. 12356 12357Tue Jul 14 16:53:48 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 12358 12359 * api/omenquire.cc,common/omenquireinternal.h: Tidy up mutable 12360 Weight member on Enquire::Internal class; make it non-mutable, 12361 and just make a temporary BM25Weight object if the weight member 12362 was NULL. 12363 12364Tue Jul 14 12:36:46 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 12365 12366 * common/output.h: Display a "<NULL $CLASSNAME>" message in debug 12367 output when a pointer being output is NULL. Previously, NULL 12368 Query::Internal pointers were causing segfaults with debug 12369 logging for many tests (eg, emptyquery1). 12370 12371Sun Jul 12 14:56:18 GMT 2009 Olly Betts <olly@survex.com> 12372 12373 * backends/chert/chert_database.cc: We no longer have a "value" table 12374 (values are now stored in the postlist and termlist tables) so fix 12375 comments not to refer to it. 12376 12377Sun Jul 12 14:47:17 GMT 2009 Olly Betts <olly@survex.com> 12378 12379 * backends/chert/: Add new ChertLazyTable class and subclass lazy 12380 tables from it so that we only need to implement the common 12381 differences once. 12382 12383Sun Jul 12 13:41:27 GMT 2009 Olly Betts <olly@survex.com> 12384 12385 * api/replication.cc: No point using join_paths() to append a literal 12386 leaf name, especially as we already don't elsewhere. 12387 12388Sun Jul 12 12:01:25 GMT 2009 Olly Betts <olly@survex.com> 12389 12390 * queryparser/queryparser.lemony: Fix memory leak accidentally 12391 introduced in r13005. 12392 12393Sun Jul 12 11:40:26 GMT 2009 Olly Betts <olly@survex.com> 12394 12395 * tests/api_opsynonym.cc: Remove debug "cout" calls. 12396 12397Sun Jul 12 09:43:06 GMT 2009 Olly Betts <olly@survex.com> 12398 12399 * matcher/queryoptimiser.cc: Don't just skip counting subqueries which 12400 are the RHS of OP_AND_NOT - skip based on factor == 0.0, which means 12401 we get the RHS of OP_FILTER too. 12402 * tests/api_percentages.cc: Add topercent4 as a regression test for 12403 this. 12404 12405Sun Jul 12 09:32:11 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 12406 12407 * matcher/andmaybepostlist.cc: Add DEBUGCALL macro to 12408 count_matching_subqs() to fix build with assertions. 12409 12410Sun Jul 12 08:17:02 GMT 2009 Olly Betts <olly@survex.com> 12411 12412 * matcher/remotesubmatch.cc: Percentage scaling for remote results is 12413 handled in a different way, so replace FIXME with comment noting 12414 this. 12415 12416Sun Jul 12 05:48:17 GMT 2009 Olly Betts <olly@survex.com> 12417 12418 * matcher/multimatch.cc: Fix handling of percentage weights in various 12419 cases when we're searching multiple remote databases or a mix of 12420 local and remote databases. 12421 * tests/api_percentages.cc: Add regression test topercent3. 12422 12423Sat Jul 11 13:35:02 GMT 2009 Olly Betts <olly@survex.com> 12424 12425 * matcher/mergepostlist.cc: Fix file description - MergePostList can 12426 merge any number of posting lists, not just two. 12427 12428Sat Jul 11 13:09:40 GMT 2009 Olly Betts <olly@survex.com> 12429 12430 * matcher/extraweightpostlist.h: 12431 ExtraWeightPostList::read_position_list() and 12432 ExtraWeightPostList::open_position_list() aren't used, so remove 12433 them. 12434 12435Sat Jul 11 12:54:30 GMT 2009 Olly Betts <olly@survex.com> 12436 12437 * api/leafpostlist.cc,api/postlist.cc,common/leafpostlist.h, 12438 common/postlist.h,common/submatch.h,matcher/,tests/api_anydb.cc, 12439 tests/api_opsynonym.cc: Count how many leaf subqueries match for the 12440 document with the highest weight when calculating the percentage 12441 weights, instead of using the termlist of that document (ticket#363). 12442 Also fixes XOR with a SYNONYM subquery which could achieve 100% 12443 weight before. 12444 12445Fri Jul 10 08:02:18 GMT 2009 Olly Betts <olly@survex.com> 12446 12447 * api/omdatabase.cc,backends/chert/chert_spelling.cc, 12448 backends/flint/flint_spelling.cc,common/database.h: Deal with the 12449 case of get_spelling_suggestion() with an empty or single character 12450 word up front. 12451 12452Thu Jul 09 16:20:47 GMT 2009 Olly Betts <olly@survex.com> 12453 12454 * tests/harness/backendmanager_remotetcp.cc: In clean_up(), only scan 12455 through the pid_to_fd array once, and disable the signal handler 12456 and call waitpid() for any remaining pids ourselves, rather than 12457 calling sleep(1) and rechecking. This should avoid pointless delays 12458 when the child hasn't exited when we first check. 12459 12460Thu Jul 09 12:40:52 GMT 2009 Olly Betts <olly@survex.com> 12461 12462 * tests/harness/: BackendManager has a virtual dtor, so we don't need 12463 empty virtual dtors in its subclasses. 12464 12465Thu Jul 09 11:40:20 GMT 2009 Olly Betts <olly@survex.com> 12466 12467 * tests/harness/backendmanager_remotetcp.cc, 12468 tests/harness/backendmanager_remotetcp.h: Move the 12469 BackendManagerRemoteTcp ctor back into the header now it is trivial 12470 again. 12471 12472Wed Jul 08 16:56:53 GMT 2009 Olly Betts <olly@survex.com> 12473 12474 * backends/flint/flint_io.h: Backport change to use F_FULLSYNC from 12475 chert. 12476 12477Wed Jul 08 15:30:22 GMT 2009 Olly Betts <olly@survex.com> 12478 12479 * configure.ac: Check that we can find the valgrind/memcheck.h header 12480 as well as the valgrind binary. 12481 12482Wed Jul 08 14:30:53 GMT 2009 Olly Betts <olly@survex.com> 12483 12484 * tests/harness/backendmanager_remotetcp.cc: Sort out the clash 12485 between two different patches to fix leaking file descriptors. 12486 Also, call clean_up() from the destructor to correctly handle the 12487 case when a BackendManagerRemoteTcp is created by a test case 12488 directly. 12489 12490Wed Jul 08 14:17:43 GMT 2009 Olly Betts <olly@survex.com> 12491 12492 * tests/harness/: Rename "posttest()" method to "clean_up()" - I keep 12493 thinking "power-on self-test". 12494 12495Wed Jul 08 05:08:09 GMT 2009 Olly Betts <olly@survex.com> 12496 12497 * backends/chert/chert_io.h: Use F_FULLFSYNC where available (Mac OS X 12498 currently). (ticket#288) 12499 12500Tue Jul 07 09:31:35 GMT 2009 Olly Betts <olly@survex.com> 12501 12502 * queryparser/queryparser.lemony: If default_op is OP_NEAR or OP_PHRASE 12503 then make the default window size (9 + no_of_terms), like it would be 12504 for an explicit NEAR or PHRASE without an explicit window size. 12505 (ticket#254) 12506 * tests/queryparsertest.cc: Add feature tests for this. 12507 12508Tue Jul 07 07:18:15 GMT 2009 Olly Betts <olly@survex.com> 12509 12510 * HACKING,api/,backends/chert/,backends/flint/, 12511 backends/remote/remote-database.cc,common/,languages/steminternal.h, 12512 net/,queryparser/queryparser.cc,tests/harness/,tests/internaltest.cc, 12513 tests/perftest/freemem.cc,tests/perftest/perftest_randomidx.cc, 12514 tests/stemtest.cc,unicode/utf8itor.cc: Update to use C++ forms for 12515 ISO C standard headers (ticket#330). 12516 12517Tue Jul 07 05:30:58 GMT 2009 Olly Betts <olly@survex.com> 12518 12519 * backends/inmemory/inmemory_database.h: Use "omassert.h" not 12520 <omassert.h>. 12521 12522Mon Jul 06 04:30:59 GMT 2009 Olly Betts <olly@survex.com> 12523 12524 * AUTHORS: Add Rolf Köhling for fixes for Omega on MS Windows. 12525 12526Sun Jul 05 16:28:54 GMT 2009 Olly Betts <olly@survex.com> 12527 12528 * backends/flint/flint_database.cc,backends/flint/flint_database.h: 12529 Backport the lazyupdate changes from chert to flint. 12530 12531Sun Jul 05 13:12:53 GMT 2009 Olly Betts <olly@survex.com> 12532 12533 * tests/harness/backendmanager.cc,tests/harness/backendmanager.h: Move 12534 virtual destructor definition out of the header. 12535 12536Sun Jul 05 04:09:04 GMT 2009 Olly Betts <olly@survex.com> 12537 12538 * common/documentterm.h: Add const to OmDocumentTerm::get_wdf() method 12539 (ticket#139). 12540 12541Sat Jul 04 16:45:43 GMT 2009 Olly Betts <olly@survex.com> 12542 12543 * queryparser/lemon.c: Merge upstream "Check-in Number: 6757" - no 12544 functional changes in generated code for our parser. 12545 12546Sat Jul 04 16:39:41 GMT 2009 Olly Betts <olly@survex.com> 12547 12548 * queryparser/lemon.c: Merge upstream "Check-in Number: 6756" - no 12549 functional changes in generated code for our parser. 12550 12551Sat Jul 04 16:36:59 GMT 2009 Olly Betts <olly@survex.com> 12552 12553 * queryparser/lemon.c,queryparser/queryparser.lt: Merge upstream 12554 "Check-in Number: 6755" - no functional changes in generated code for 12555 our parser. 12556 12557Sat Jul 04 16:29:24 GMT 2009 Olly Betts <olly@survex.com> 12558 12559 * queryparser/lemon.c: Merge upstream "Check-in Number: 6754" - no 12560 changes in generated code for our parser. 12561 12562Sat Jul 04 16:24:45 GMT 2009 Olly Betts <olly@survex.com> 12563 12564 * queryparser/queryparser.lt: Merge upstream "Check-in Number: 6749" - 12565 only changes are in code which isn't compiled due to preprocessor 12566 conditionals. 12567 12568Sat Jul 04 16:02:08 GMT 2009 Olly Betts <olly@survex.com> 12569 12570 * api/editdistance.cc: Add const to is_transposed() method 12571 (ticket#139). 12572 12573Sat Jul 04 15:19:55 GMT 2009 Olly Betts <olly@survex.com> 12574 12575 * backends/chert/chert_lock.h,backends/flint/flint_lock.h: Make 12576 ChertLock::operator bool() and FlintLock::operator bool() const 12577 (ticket#139). 12578 12579Sat Jul 04 14:56:42 GMT 2009 Olly Betts <olly@survex.com> 12580 12581 * backends/chert/chert_database.cc,backends/chert/chert_database.h, 12582 backends/flint/flint_database.cc,backends/flint/flint_database.h: 12583 Make ChertDatabase::get_changeset_revisions() and 12584 FlintDatabase::get_changeset_revisions() const (ticket#139). 12585 12586Sat Jul 04 14:10:55 GMT 2009 Olly Betts <olly@survex.com> 12587 12588 * backends/chert/chert_changesetapplier.h, 12589 backends/flint/flint_changesetapplier.h: "the the" -> "the" in 12590 comments. 12591 12592Sat Jul 04 14:06:39 GMT 2009 Olly Betts <olly@survex.com> 12593 12594 * backends/chert/chert_btreebase.cc,backends/chert/chert_btreebase.h: 12595 Make ChertTable_base::do_unpack_uint() just a static non-class 12596 function. Use string::+= to build up the error string in it, and 12597 mark the error case as rare. 12598 12599Wed Jul 01 04:12:22 GMT 2009 Olly Betts <olly@survex.com> 12600 12601 * docs/spelling.rst: Omega now supports spelling correction. 12602 12603Mon Jun 29 08:16:13 GMT 2009 Olly Betts <olly@survex.com> 12604 12605 * queryparser/queryparser.lemony: Reset the begin and end strings 12606 before trying the next ValueRangeProcessor in case they've been 12607 modified. 12608 * tests/queryparsertest.cc: Add regression tests and general coverage 12609 for this area. 12610 12611Mon Jun 29 06:33:45 GMT 2009 Olly Betts <olly@survex.com> 12612 12613 * backends/remote/net_postlist.cc: Remove unused '#include 12614 "serialise-double.h"'. 12615 12616Mon Jun 29 06:32:52 GMT 2009 Olly Betts <olly@survex.com> 12617 12618 * backends/remote/net_postlist.cc: Build up description string using 12619 +=. 12620 12621Sun Jun 28 14:50:56 GMT 2009 Olly Betts <olly@survex.com> 12622 12623 * backends/remote/net_postlist.h: Fix internal doc comment. 12624 12625Sat Jun 27 13:35:45 GMT 2009 Olly Betts <olly@survex.com> 12626 12627 * configure.ac: -Wshadow produces false positives with GCC 4.0, so 12628 only enable it for >= 4.1 since we enable -Werror for 12629 maintainer-mode builds for GCC >= 4.0. 12630 12631Sat Jun 27 13:30:22 GMT 2009 Olly Betts <olly@survex.com> 12632 12633 * backends/multi/multi_termlist.cc,backends/multi/multi_termlist.h: 12634 Fix return type of MultiTermList::positionlist_count() to be 12635 Xapian::termcount rather than Xapian::termpos. 12636 12637Sat Jun 27 12:50:17 GMT 2009 Olly Betts <olly@survex.com> 12638 12639 * backends/flint/flint_alltermslist.h,backends/flint/flint_postlist.cc, 12640 backends/flint/flint_postlist.h: Fix to use Xapian::doccount for 12641 termfreq in flint too. 12642 12643Sat Jun 27 12:28:47 GMT 2009 Olly Betts <olly@survex.com> 12644 12645 * backends/chert/chert_alltermslist.cc: Prefer 'str.resize(0)' to 12646 'str = ""'. 12647 12648Sat Jun 27 12:16:17 GMT 2009 Olly Betts <olly@survex.com> 12649 12650 * backends/chert/chert_alltermslist.h,backends/chert/chert_postlist.h: 12651 Fix to use Xapian::doccount for termfreq in more places. 12652 12653Sat Jun 27 11:51:25 GMT 2009 Olly Betts <olly@survex.com> 12654 12655 * backends/chert/chert_table.cc: Change so add_item_to_block() can 12656 always assume there is another contiguous space in the block 12657 (previously it could assume that there was enough space, but not 12658 that it was necessarily contiguous). 12659 12660Sat Jun 27 09:55:19 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 12661 12662 * include/xapian/postingsource.h,include/xapian/weight.h: Add note 12663 that PostingSource and Weight objects returned by clone() and 12664 unserialise() methods will be deallocated with "delete". 12665 12666Sat Jun 27 07:26:41 GMT 2009 Olly Betts <olly@survex.com> 12667 12668 * backends/chert/chert_postlist.cc: Adjust use of Xapian::doccount vs 12669 Xapian::termcount for consistency so things work better when these 12670 types aren't identical. 12671 12672Sat Jun 27 01:48:39 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 12673 12674 * api/matchspy.cc: Remove unused matchspy.cc - there is an updated 12675 version of this on the matchspy branch; having an old copy here 12676 is just likely to lead to confusion. 12677 12678Fri Jun 26 05:42:26 GMT 2009 Olly Betts <olly@survex.com> 12679 12680 * api/documentvaluelist.cc,api/documentvaluelist.h: Change 12681 DocumentValueList::skip_to()'s parameter type from Xapian::valueno 12682 to Xapian::docid to agree with the type in ValueList::skip_to(). 12683 This is a latent bug - it doesn't matter provided the types are 12684 actually the same (ticket#385). 12685 12686Thu Jun 25 11:20:07 GMT 2009 Olly Betts <olly@survex.com> 12687 12688 * matcher/phrasepostlist.cc: Use Xapian::termcount(1) instead of 1u 12689 so that the code doesn't assume Xapian::termcount is unsigned int. 12690 12691Sun Jun 21 12:09:55 GMT 2009 Olly Betts <olly@survex.com> 12692 12693 * backends/chert/chert_check.cc,backends/chert/chert_table.cc, 12694 backends/chert/chert_table.h: Replace duplicated macros with 12695 a single version in chert_table.h, and use DIR_START instead of 12696 a literal 11 in that header. 12697 * backends/chert/chert_table.h: Add more assertions. Use 12698 BYTES_PER_BLOCK_NUMBER instead of a literal 4 in more places. 12699 12700Sat Jun 20 07:38:56 GMT 2009 Olly Betts <olly@survex.com> 12701 12702 * backends/chert/chert_table.cc,backends/flint/flint_table.cc: Fix 12703 misspelling in comment (neccessary -> necessary). 12704 12705Sat Jun 20 07:38:06 GMT 2009 Olly Betts <olly@survex.com> 12706 12707 * backends/chert/chert_table.cc: Don't reconstruct Item(p, c) when we 12708 already have it as a local variable. 12709 12710Wed Jun 17 01:23:16 GMT 2009 Olly Betts <olly@survex.com> 12711 12712 * common/str.cc: Fix potential warning in signed version of str(). 12713 12714Tue Jun 16 11:20:43 GMT 2009 Olly Betts <olly@survex.com> 12715 12716 * tests/harness/testsuite.cc,tests/harness/testsuite.h: Factor out 12717 writing out what was sent to tout and clearing it into a new 12718 method test_driver::write_and_clear_tout(). 12719 * tests/harness/testsuite.cc: Prefer string() to "". When sending a 12720 colour change code, do it before the preceding space when that allows 12721 string literals to be merged. Always give the full exception message 12722 (was conditional on --verbose). Tidy up output for reporting the 12723 various different exception types and other failures to give more 12724 consistent output. 12725 12726Tue Jun 16 11:01:14 GMT 2009 Olly Betts <olly@survex.com> 12727 12728 * tests/harness/scalability.cc: Increase the number of tests until the 12729 first sample takes more than 0.001 seconds to avoid trying to base 12730 calculations on a length of time we probably can't reliably measure 12731 to start with. 12732 12733Tue Jun 16 10:58:34 GMT 2009 Olly Betts <olly@survex.com> 12734 12735 * tests/harness/cputimer.cc: Don't bother trying to count CPU time 12736 for child processes, as it's hard to ensure that the child processes 12737 have finished with the current framework, and just counting time in 12738 the current process checks most things (the local backend tests cover 12739 much of the work done by the server part of the remote backend). 12740 12741Tue Jun 16 02:15:31 GMT 2009 Olly Betts <olly@survex.com> 12742 12743 * tests/harness/cputimer.h: Don't need '#include <ctime>'. 12744 12745Tue Jun 16 02:10:29 GMT 2009 Olly Betts <olly@survex.com> 12746 12747 * tests/harness/cputimer.h: Fix naming of header multiple-inclusion 12748 protection macro. 12749 12750Sun Jun 14 14:11:51 GMT 2009 Olly Betts <olly@survex.com> 12751 12752 * tests/internaltest.cc: In testcase serialisequery1, use a helper 12753 function rather than wasting effort building a std::list with all the 12754 testcases in just so we can iterate over them. 12755 12756Sun Jun 14 13:52:22 GMT 2009 Olly Betts <olly@survex.com> 12757 12758 * tests/harness/testsuite.cc: <iomanip> isn't used so remove it. 12759 12760Sun Jun 14 13:30:34 GMT 2009 Olly Betts <olly@survex.com> 12761 12762 * tests/harness/testsuite.h: Fix comment typo. 12763 12764Sat Jun 13 06:30:57 GMT 2009 Olly Betts <olly@survex.com> 12765 12766 * tests/api_anydb.cc: Fix reversed conditional in last but one change. 12767 12768Sat Jun 13 04:42:27 GMT 2009 Olly Betts <olly@survex.com> 12769 12770 * tests/api_anydb.cc: Use TEST_EQUAL_DOUBLE() when comparing 12771 get_max_attained() to allow for rounding differences. 12772 12773Sat Jun 13 04:39:49 GMT 2009 Olly Betts <olly@survex.com> 12774 12775 * tests/api_anydb.cc: Use "startswith()" rather than comparing an 12776 extracted substring. 12777 12778Fri Jun 12 12:45:37 GMT 2009 Olly Betts <olly@survex.com> 12779 12780 * tests/harness/backendmanager_remotetcp.cc: Fix the mechanism for 12781 closing the file descriptors used by child xapian-tcpsrv processes 12782 once they exit, which has been broken ever since it was added nearly 12783 two years ago (sigh). Fixes fd leaking which caused "apitest 12784 -bremotetcp" to fail on OpenBSD (ticket#382). 12785 12786Fri Jun 12 03:37:13 GMT 2009 Olly Betts <olly@survex.com> 12787 12788 * tests/harness/backendmanager_remotetcp.cc: Fix comment typo. 12789 12790Wed Jun 10 04:29:43 GMT 2009 Olly Betts <olly@survex.com> 12791 12792 * common/serialise-double.cc,common/serialise-double.h: Relicense as 12793 MIT/X rather than GPLv2+ as these are low level routines which other 12794 projects may find useful. 12795 12796Tue Jun 09 14:34:20 GMT 2009 Olly Betts <olly@survex.com> 12797 12798 * NEWS: Update for 1.1.1. 12799 12800Tue May 26 14:55:05 GMT 2009 Olly Betts <olly@survex.com> 12801 12802 * configure.ac: Update version to 1.1.1. 12803 12804Tue May 26 14:49:23 GMT 2009 Olly Betts <olly@survex.com> 12805 12806 * NEWS: Lick into shape. 12807 12808Mon May 25 11:55:59 GMT 2009 Olly Betts <olly@survex.com> 12809 12810 * PLATFORMS: Sync with changes in 1.0 version. 12811 12812Mon May 25 10:57:59 GMT 2009 Olly Betts <olly@survex.com> 12813 12814 * common/weightinternal.h: Remove declarations of unimplemented 12815 constructors (ticket#379). 12816 12817Sat May 23 16:06:05 GMT 2009 Olly Betts <olly@survex.com> 12818 12819 * NEWS: Update from 1.0.13 and ChangeLog. 12820 12821Sat May 23 15:35:39 GMT 2009 Olly Betts <olly@survex.com> 12822 12823 * HACKING: ValueIterator is now a PIMPL class like TermIterator, etc. 12824 12825Sat May 23 05:24:33 GMT 2009 Olly Betts <olly@survex.com> 12826 12827 * docs/postingsource.rst: Since we are sticking with an recursive 12828 maxweight recalculation for now, add back a warning about the 12829 potential overhead from calling set_maxweight() very frequently, 12830 with an informed estimate for the worst case overhead. 12831 12832Fri May 22 11:44:04 GMT 2009 Olly Betts <olly@survex.com> 12833 12834 * backends/inmemory/inmemory_database.cc: We can trivially make 12835 Database::metadata_keys_begin() work for inmemory in the special 12836 case when there are no keys, so do so. 12837 * tests/api_metadata.cc: Add test coverage for this case. 12838 12839Fri May 22 09:31:07 GMT 2009 Olly Betts <olly@survex.com> 12840 12841 * configure.ac: Only bother passing -Winit-self for GCC >= 4.3, as it 12842 doesn't do anything for GCC <= 4.4 anyway. 12843 12844Fri May 22 07:00:29 GMT 2009 Olly Betts <olly@survex.com> 12845 12846 * backends/flint/flint_version.h: Initialise filename using + not +=. 12847 Fix odd whitespace in recent change. 12848 12849Fri May 22 05:27:56 GMT 2009 Olly Betts <olly@survex.com> 12850 12851 * AUTHORS: Update. 12852 12853Fri May 22 05:24:19 GMT 2009 Olly Betts <olly@survex.com> 12854 12855 * api/postingsource.cc,common/multimatch.h,matcher/multimatch.cc: 12856 Replace MultiMatch::reduce_maxweight_by() with a call to 12857 MultiMatch::recalc_maxweight() and inline the later from the header. 12858 12859Fri May 22 05:16:03 GMT 2009 Olly Betts <olly@survex.com> 12860 12861 * configure.ac: Enable more GCC warnings - "-Woverloaded-virtual" for 12862 all versions, "-Wstrict-null-sentinel" for 4.0+, "-Wlogical-op 12863 -Wmissing-declarations" for 4.3+. Notably "-Wmissing-declarations" 12864 caught that consistency2 wasn't being run. 12865 12866Fri May 22 05:15:08 GMT 2009 Olly Betts <olly@survex.com> 12867 12868 * languages/steminternal.cc,languages/steminternal.h: Inline simple 12869 Stem::Internal::Internal() constructor from header. 12870 12871Thu May 21 16:23:26 GMT 2009 Olly Betts <olly@survex.com> 12872 12873 * tests/harness/backendmanager_remotetcp.cc: Make on_SIGCHLD() static. 12874 12875Thu May 21 16:22:56 GMT 2009 Olly Betts <olly@survex.com> 12876 12877 * tests/api_wrdb.cc: Fix testcase consistency2 to actually be run. 12878 12879Thu May 21 16:22:30 GMT 2009 Olly Betts <olly@survex.com> 12880 12881 * tests/api_transdb.cc: Add missing '#include "api_transdb.h"'. 12882 12883Thu May 21 12:58:22 GMT 2009 Olly Betts <olly@survex.com> 12884 12885 * backends/databasereplicator.cc: Don't bother to check if the 12886 database path works in stat() and is a directory - the case we want 12887 to be fast is when the database does exist, and if path + 12888 "/iamflint" (or "iamchert") exists, then the check for path being a 12889 directory is redundant. If the path isn't a flint or chert database 12890 then a generic message including the path seems sufficient. 12891 12892Thu May 21 09:17:15 GMT 2009 Olly Betts <olly@survex.com> 12893 12894 * backends/databasereplicator.cc,common/databasereplicator.h: Inline 12895 empty DatabaseReplicator default ctor. 12896 12897Thu May 21 08:25:24 GMT 2009 Olly Betts <olly@survex.com> 12898 12899 * api/replication.cc: Cache the result of get_replica_path() when we 12900 are going to need it again. 12901 12902Thu May 21 08:09:51 GMT 2009 Olly Betts <olly@survex.com> 12903 12904 * backends/chert/chert_databasereplicator.h, 12905 backends/flint/flint_databasereplicator.h: Correct parent class name 12906 in doxygen comments. 12907 12908Thu May 21 08:08:06 GMT 2009 Olly Betts <olly@survex.com> 12909 12910 * HACKING: Update list of Debian/Ubuntu packages needed to for a 12911 development environment. 12912 12913Thu May 21 06:28:00 GMT 2009 Olly Betts <olly@survex.com> 12914 12915 * backends/databasereplicator.cc: Fix nested comment start introduced 12916 by the previous commit. 12917 12918Thu May 21 06:21:39 GMT 2009 Olly Betts <olly@survex.com> 12919 12920 * api/replication.cc,backends/databasereplicator.cc, 12921 common/databasereplicator.h: We only keep one pointer to a 12922 DatabaseReplicator, so use AutoPtr not RefCntPtr. 12923 12924Thu May 21 05:00:17 GMT 2009 Olly Betts <olly@survex.com> 12925 12926 * api/replication.cc: Fix SEGV when calling get_description() on a 12927 default constructed DatabaseReplica. 12928 * tests/generate-api_generated: Test DatabaseReplica (regression test 12929 for the above bug) and SerialisationContext. Fix @file in the 12930 generated api_generated.cc. Update (C) dates in generated 12931 api_generated.cc. 12932 12933Thu May 21 03:58:59 GMT 2009 Olly Betts <olly@survex.com> 12934 12935 * tests/generate-api_generated: Call get_description() on the default 12936 constructed object to make sure that works (and doesn't try to 12937 dereference NULL, or fail some assertion, etc). All currently 12938 checked classes are fine - this is to avoid future regressions or 12939 such problems with new classes. 12940 12941Wed May 20 14:19:54 GMT 2009 Olly Betts <olly@survex.com> 12942 12943 * net/tcpclient.cc,net/tcpserver.cc: Fix xapian-tcpsrv --interface 12944 option to work on MacOS X (ticket#373). 12945 12946Wed May 20 13:58:09 GMT 2009 Olly Betts <olly@survex.com> 12947 12948 * api/omdatabase.cc,api/sortable-serialise.cc,backends/chert/, 12949 backends/flint/,backends/remote/remote-database.cc, 12950 common/serialise-double.cc,common/str.cc, 12951 matcher/exactphrasepostlist.cc,net/remoteconnection.cc, 12952 net/remoteserver.cc: Replace C-style casts. Add a few missing casts. 12953 Tweak types used in a few places. 12954 12955Wed May 20 13:55:41 GMT 2009 Olly Betts <olly@survex.com> 12956 12957 * backends/chert/chert_databasereplicator.cc, 12958 backends/flint/flint_databasereplicator.cc: Need <cstdio> for 12959 rename(). Replace C-style cast to off_t. 12960 12961Wed May 20 13:53:25 GMT 2009 Olly Betts <olly@survex.com> 12962 12963 * api/editdistance.cc: Make edist_state class uncopyable and 12964 unassignable. Initialise maxdist in the initialiser list. 12965 12966Wed May 20 11:19:53 GMT 2009 Olly Betts <olly@survex.com> 12967 12968 * languages/steminternal.cc,languages/steminternal.h: Change C-style 12969 casts to C++-style ones. 12970 12971Wed May 20 10:40:03 GMT 2009 Olly Betts <olly@survex.com> 12972 12973 * common/str.h: Add static_cast<char>() to suppress bogus MSVC 12974 warning (ticket#377). 12975 12976Tue May 19 15:26:39 GMT 2009 Olly Betts <olly@survex.com> 12977 12978 * backends/chert/,backends/flint/,common/rset.h,tests/api_anydb.cc: 12979 Pass std::string by const reference rather than value (except in 12980 a few cases where we need a modifiable copy anyway) as benchmarking 12981 shows this is better even with GCC's reference counted std::string 12982 implementation (ticket#140). 12983 * tests/api_anydb.cc: Use string() instead of "" for an empty string. 12984 12985Tue May 19 08:47:55 GMT 2009 Olly Betts <olly@survex.com> 12986 12987 * api/omquery.cc,include/xapian/query.h: Make Xapian::Query::MatchAll 12988 and Xapian::Query::MatchNothing const since they're immutable. All 12989 the public methods are const, so this should be completely API 12990 compatible. 12991 12992Tue May 19 06:25:26 GMT 2009 Olly Betts <olly@survex.com> 12993 12994 * include/xapian/enquire.h: Document what passing maxitems=0 to 12995 get_mset() does. 12996 12997Mon May 18 13:32:49 GMT 2009 Olly Betts <olly@survex.com> 12998 12999 * include/xapian/database.h: Correct doxygen comments for user 13000 metadata functions: get_metadata() can't throw UnimplementedError 13001 but set_metadata() can. 13002 * include/xapian/database.h,tests/api_metadata.cc: Document that 13003 metadata_keys_begin() returns an end iterator if the backend doesn't 13004 support metadata, and add test coverage for this case. 13005 * backends/inmemory/inmemory_database.cc, 13006 backends/inmemory/inmemory_database.h,include/xapian/database.h, 13007 tests/api_metadata.cc,tests/harness/testrunner.cc: The test harness 13008 didn't have the inmemory backend flagged as supporting 13009 user-specified metadata, and so it's perhaps not a great surprise to 13010 discover that inmemory doesn't support it fully - you can't iterate 13011 over metadata keys, but instead get an empty iteration. Fix this 13012 to at least throw UnimplementedError and document that this is the 13013 situation. 13014 13015Mon May 18 11:29:10 GMT 2009 Olly Betts <olly@survex.com> 13016 13017 * tests/Makefile.am,tests/api_metadata.cc,tests/api_wrdb.cc: Split out 13018 tests of user metadata into their own file. 13019 13020Sun May 17 12:52:41 GMT 2009 Olly Betts <olly@survex.com> 13021 13022 * matcher/: Add a new constructor to MultiAndPostList for the "decay 13023 from OrPostList or AndMaybePostList" case which takes the already 13024 know max weights to avoid having to refetch them. Also, we know 13025 that the subpostlists of OrPostList are ordered a particular way 13026 so can avoid needing to check the order in that case. 13027 13028Sat May 16 05:02:35 GMT 2009 Olly Betts <olly@survex.com> 13029 13030 * backends/flint/flint_version.cc: Fix comment - this file doesn't 13031 use memcpy() now. 13032 13033Thu May 14 04:38:47 GMT 2009 Olly Betts <olly@survex.com> 13034 13035 * tests/api_percentages.cc: Remove superfluous explicit std:: 13036 qualifiers. 13037 13038Thu May 14 04:36:29 GMT 2009 Olly Betts <olly@survex.com> 13039 13040 * tests/api_percentages.cc: Update for the PostingSource 13041 get_maxweight() API changes. 13042 13043Tue May 12 14:50:57 GMT 2009 Olly Betts <olly@survex.com> 13044 13045 * matcher/multimatch.cc: Rename "max_weight" variable to "max_possible" 13046 since that is what it is referred to via the MSet API. 13047 13048Tue May 12 12:38:11 GMT 2009 Olly Betts <olly@survex.com> 13049 13050 * common/safeuuid.h: Fix length of buffer to lower case - it's 13051 36, not sizeof(uuid_t). 13052 13053Tue May 12 02:49:34 GMT 2009 Olly Betts <olly@survex.com> 13054 13055 * common/safeuuid.h,configure.ac: Older versions of libuuid don't have 13056 uuid_unparse_lower() so probe for it in configure, and if it isn't 13057 present provide an inline version in safeuuid.h (ticket#368). 13058 13059Mon May 11 13:07:47 GMT 2009 Olly Betts <olly@survex.com> 13060 13061 * tests/api_postingsource.cc: In changemaxweightsource1, set 13062 descending docid order so that the matcher isn't able to terminate 13063 early after 4 documents just because weight == maxweight. 13064 13065Mon May 11 12:00:04 GMT 2009 Olly Betts <olly@survex.com> 13066 13067 * net/serialise.cc: Build up string using +=. 13068 13069Mon May 11 11:39:49 GMT 2009 Olly Betts <olly@survex.com> 13070 13071 * docs/postingsource.rst: Improve documentation for get_maxweight(). 13072 13073Mon May 11 11:26:02 GMT 2009 Olly Betts <olly@survex.com> 13074 13075 * include/xapian/postingsource.h: Initialise max_weight_ to 0 in the 13076 PostingSource constructor in case nobody else sets a value for it. 13077 13078Mon May 11 10:54:47 GMT 2009 Olly Betts <olly@survex.com> 13079 13080 * tests/api_postingsource.cc: Fix class name in FAIL_TEST message. 13081 13082Mon May 11 10:41:31 GMT 2009 Olly Betts <olly@survex.com> 13083 13084 * tests/api_postingsource.cc: Fix get_termfreq_min(), etc for 13085 ChangeMaxweightPostingSource to return 4 not 5. 13086 13087Mon May 11 09:03:14 GMT 2009 Olly Betts <olly@survex.com> 13088 13089 * api/postingsource.cc: Remove assertion checking that set_maxweight() 13090 doesn't set a lower weight - it legitimately can when we call init() 13091 on a non-clone-able PostingSource for reuse. 13092 13093Mon May 11 03:12:00 GMT 2009 Olly Betts <olly@survex.com> 13094 13095 * api/postingsource.cc,common/multimatch.h,docs/postingsource.rst, 13096 include/xapian/postingsource.h,matcher/externalpostlist.cc, 13097 matcher/externalpostlist.h,matcher/msetpostlist.cc, 13098 tests/api_postingsource.cc: Replace PostingSource's 13099 notify_new_maxweight() and virtual get_maxweight() mechanism with a 13100 non-virtual set_maxweight() and get_maxweight(). Currently the 13101 plumbing at the matcher end is much as before, but this API seems 13102 more obvious to the user and will allow the matcher to simply reduce 13103 its maximum weight value rather than having to recursively call 13104 recalc_maxweight() in response to this situation (ticket#340). 13105 13106Mon May 11 02:38:26 GMT 2009 Olly Betts <olly@survex.com> 13107 13108 * docs/postingsource.rst: Fix a typo and reword to avoid "namespaced". 13109 13110Mon May 11 02:30:59 GMT 2009 Olly Betts <olly@survex.com> 13111 13112 * matcher/msetpostlist.cc: Fix typo - MSetPostList::get_maxweight() 13113 with a sort ordered primarily by decreasing relevance was returning 13114 the docid for the maxweight! This could have led to wrong results 13115 when searching multiple databases with the remote backend, but 13116 probably usually didn't matter as with BM25 the weights are usually 13117 small (often all < 1) while docids are inevitably >= 1. No 13118 regression test for this (currently anyway). 13119 13120Sun May 10 07:49:11 GMT 2009 Olly Betts <olly@survex.com> 13121 13122 * backends/dbfactory.cc: Fix comment typo. 13123 13124Sat May 09 14:15:38 GMT 2009 Olly Betts <olly@survex.com> 13125 13126 * tests/api_collapse.cc,tests/perftest/runprocess.cc: Remove unused 13127 include of <iostream>. 13128 13129Sat May 09 14:03:34 GMT 2009 Olly Betts <olly@survex.com> 13130 13131 * api/omquery.cc,matcher/andnotpostlist.cc, 13132 queryparser/termgenerator_internal.cc,tests/api_wrdb.cc: Remove 13133 unused inclusions of <algorithm>. 13134 13135Sat May 09 13:47:54 GMT 2009 Olly Betts <olly@survex.com> 13136 13137 * matcher/multimatch.cc: Remove unused inclusion of <queue>. 13138 13139Sat May 09 13:38:02 GMT 2009 Olly Betts <olly@survex.com> 13140 13141 * api/omquery.cc,api/omqueryinternal.cc,api/replication.cc, 13142 backends/alltermslist.cc,backends/chert/chert_table.cc, 13143 backends/flint/flint_table.cc,bin/xapian-compact.cc, 13144 common/bitstream.cc,common/inmemory_positionlist.h, 13145 common/positionlist.h,matcher/localmatch.h,matcher/queryoptimiser.cc, 13146 matcher/queryoptimiser.h,tests/api_wrdb.cc: Remove unused inclusions 13147 of <list>, <map>, <string>, and <vector>. 13148 13149Sat May 09 12:48:18 GMT 2009 Olly Betts <olly@survex.com> 13150 13151 * api/documentvaluelist.cc,matcher/queryoptimiser.cc: Remove unused 13152 '#include "autoptr.h"'. 13153 13154Sat May 09 09:41:03 GMT 2009 Olly Betts <olly@survex.com> 13155 13156 * queryparser/queryparser.lemony,queryparser/termgenerator.cc, 13157 weight/bm25weight.cc,weight/boolweight.cc,weight/tradweight.cc: 13158 Remove unneeded explicit "std::" qualifiers. 13159 13160Sat May 09 09:35:32 GMT 2009 Olly Betts <olly@survex.com> 13161 13162 * weight/weight.cc: Doesn't use '#include "autoptr.h"'. 13163 13164Fri May 08 19:59:00 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 13165 13166 * configure.ac: Change source file which autoconf looks for, since 13167 I've just removed the old one that it looked for! 13168 13169Fri May 08 19:28:31 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 13170 13171 * matcher/andmaybepostlist.cc,matcher/branchpostlist.h: Call 13172 check() instead of skip_to() on the optional branch of AND_MAYBE. 13173 This can be much faster if that branch is a posting source. 13174 13175Fri May 08 18:31:01 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 13176 13177 * matcher/: Remove AndPostList, in favour of MultiAndPostList. 13178 AndPostList was only used as a decay product (by AndMaybePostList 13179 and OrPostList); for most queries, MultiAnd has pretty much 13180 indistinguishable performance as far as I can test; however, it 13181 uses check() when possible, which makes performance much better 13182 with searches involving external posting sources. Removal also 13183 reduces the amount of code cluttering up the caches during a 13184 search, so may help speed things up in some other situations. 13185 13186Fri May 08 16:00:42 GMT 2009 Olly Betts <olly@survex.com> 13187 13188 * api/postingsource.cc,backends/inmemory/inmemory_database.cc, 13189 examples/delve.cc,include/xapian/postingsource.h: Don't store an 13190 end iterator in a variable just to compare against it - it's now 13191 definitely more efficient to compare against the return value of 13192 the relevant _end() method. 13193 13194Fri May 08 15:44:07 GMT 2009 Olly Betts <olly@survex.com> 13195 13196 * api/valueiterator.cc,include/xapian/database.h, 13197 include/xapian/document.h,include/xapian/valueiterator.h: Create a 13198 new proxy object class ValueIteratorEnd_ which is returned instead 13199 of ValueIterator(NULL) for end iterators. This class will be 13200 converted to ValueIterator(NULL) if assigned to or passed as 13201 ValueIterator, but operator== and operator!= are overloaded to 13202 handle it directly which means that the compiler no longer calls 13203 ~ValueIterator for each call which returns ValueIterator(NULL). 13204 13205Fri May 08 15:42:12 GMT 2009 Olly Betts <olly@survex.com> 13206 13207 * backends/chert/chert_values.cc: Swap two statements for cosmetic 13208 reasons. 13209 13210Fri May 08 14:42:49 GMT 2009 Olly Betts <olly@survex.com> 13211 13212 * api/postingsource.cc,include/xapian/postingsource.h: It is actually 13213 better not to store the end iterator in a member variable - if we 13214 explicitly call db.postlist_end(string()) then that just gets 13215 optimised to PostingSource(NULL). 13216 13217Fri May 08 14:02:21 GMT 2009 Olly Betts <olly@survex.com> 13218 13219 * tests/api_postingsource.cc: We've decided that "going back" with 13220 skip_to() or check() should have unspecified behaviour, so stop 13221 testing how this case behaves! 13222 13223Fri May 08 12:37:33 GMT 2009 Olly Betts <olly@survex.com> 13224 13225 * common/Makefile.mk: Ship common/win32_uuid.cc and common/win32_uuid.h 13226 (ticket#367). 13227 13228Fri May 08 12:30:45 GMT 2009 Olly Betts <olly@survex.com> 13229 13230 * tests/harness/cputimer.cc: Fix typo in the "ftime" case. 13231 13232Fri May 08 10:25:37 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 13233 13234 * matcher/andpostlist.cc: Fix a swap which was the wrong way round, 13235 so that we call next() on the subpostlist with the lower 13236 frequency, rather than the one with the higher frequency. This 13237 should improve performance in many situations, and I don't think 13238 it's likely to slow anything down. It also fixes some cases 13239 where optimisation of an AND_MAYBE to an AND results in a slower 13240 search, such that search times went down when more hits were 13241 requested. 13242 13243Fri May 08 08:48:14 GMT 2009 Olly Betts <olly@survex.com> 13244 13245 * matcher/externalpostlist.cc: ExternalPostList::get_doclength() 13246 should never get called, so make it "Assert(false)". 13247 13248Fri May 08 05:16:50 GMT 2009 Olly Betts <olly@survex.com> 13249 13250 * api/postingsource.cc: Another string concatention. 13251 13252Fri May 08 05:04:55 GMT 2009 Olly Betts <olly@survex.com> 13253 13254 * api/postingsource.cc: Use str() instead of om_tostring() and build 13255 up strings using +=. 13256 13257Fri May 08 04:37:05 GMT 2009 Olly Betts <olly@survex.com> 13258 13259 * api/postingsource.cc: "using namespace std;". 13260 13261Thu May 07 16:46:14 GMT 2009 Olly Betts <olly@survex.com> 13262 13263 * matcher/: Check for collection_size == 0 up front so we don't need 13264 to repeatedly special case it when implementing 13265 get_termfreq_est_using_stats(). 13266 13267Thu May 07 16:28:07 GMT 2009 Olly Betts <olly@survex.com> 13268 13269 * matcher/xorpostlist.cc: Fix typo bug - collection_size should be 13270 rset_size. This would have lead to a floating point division by 13271 zero when XOR was used under a synonym without an RSet, but that 13272 would just give infinity, and so just give a bogus value for the 13273 rel_termfreq rather than aborting instantly. 13274 13275Thu May 07 16:19:52 GMT 2009 Olly Betts <olly@survex.com> 13276 13277 * HACKING: Update auto_ptr information. Mention constructor syntax as 13278 an alternative replacement for some C-style casts. 13279 13280Thu May 07 15:25:00 GMT 2009 Olly Betts <olly@survex.com> 13281 13282 * matcher/localmatch.cc,matcher/localmatch.h: Don't rebuild the 13283 termname -> termfreq and weight map for every subdatabase - just do 13284 it once for the first one. Also eliminate a copy of this map. 13285 This should speed up searches a little, especially those over 13286 multiple databases. 13287 13288Thu May 07 15:01:24 GMT 2009 Olly Betts <olly@survex.com> 13289 13290 * api/omdatabase.cc,api/omqueryinternal.cc, 13291 backends/remote/remote-database.cc,common/autoptr.h, 13292 expand/esetinternal.cc,matcher/localmatch.cc: Make our AutoPtr just 13293 a macro wrapper for std::auto_ptr. Since std::auto_ptr doesn't 13294 allow assignment from a raw pointer, this requires changing such 13295 assignments into calls to auto_ptr::reset(). 13296 13297Thu May 07 14:19:22 GMT 2009 Olly Betts <olly@survex.com> 13298 13299 * api/leafpostlist.cc: Add an assertion that the term in the stats. 13300 Add "using namespace std;" so we can avoid explicit std:: qualifiers. 13301 13302Thu May 07 13:26:21 GMT 2009 Olly Betts <olly@survex.com> 13303 13304 * matcher/: Eliminate EmptySubMatch - we can just store NULL for a 13305 submatch which has failed but which ErrorHandler told us to continue 13306 without. 13307 13308Thu May 07 12:52:24 GMT 2009 Olly Betts <olly@survex.com> 13309 13310 * common/database.h: Update internal documentation comment - 13311 Database::Internal::open_post_list() can no longer return 13312 EmptyPostList as it is no longer a subclass of LeafPostList. 13313 13314Thu May 07 12:13:50 GMT 2009 Olly Betts <olly@survex.com> 13315 13316 * api/leafpostlist.cc,backends/chert/chert_postlist.cc, 13317 backends/chert/chert_postlist.h, 13318 backends/flint/flint_alldocspostlist.h, 13319 backends/flint/flint_postlist.cc,backends/flint/flint_postlist.h, 13320 backends/inmemory/inmemory_database.cc, 13321 backends/inmemory/inmemory_database.h,backends/remote/net_postlist.h, 13322 common/contiguousalldocspostlist.h,common/leafpostlist.h: Squash 13323 TermBasedLeafPostList into LeafPostList since there are no longer 13324 any other subclasses. 13325 13326Thu May 07 11:49:06 GMT 2009 Olly Betts <olly@survex.com> 13327 13328 * api/Makefile.mk,api/emptypostlist.cc,common/emptypostlist.h: 13329 Reimplement EmptyPostList from scratch, and inherit from PostList 13330 not LeafPostList. 13331 13332Thu May 07 11:19:34 GMT 2009 Olly Betts <olly@survex.com> 13333 13334 * matcher/mergepostlist.cc: Add explicit '#include "omassert.h"'. 13335 13336Thu May 07 10:28:33 GMT 2009 Olly Betts <olly@survex.com> 13337 13338 * backends/multi/multi_postlist.cc,backends/multi/multi_postlist.h: 13339 Subclass MultiPostList directly from PostList instead of from 13340 LeafPostList. This gets rid of two unused data members per 13341 MultiPostList in exchange for having to define 5 extra "never 13342 called" methods, but 4 of these just tailcall. 13343 13344Thu May 07 10:26:39 GMT 2009 Olly Betts <olly@survex.com> 13345 13346 * backends/inmemory/inmemory_alltermslist.cc, 13347 backends/inmemory/inmemory_database.cc: Fix assertion failures and 13348 a SEGV in an assertion test. 13349 13350Thu May 07 09:27:35 GMT 2009 Olly Betts <olly@survex.com> 13351 13352 * backends/inmemory/inmemory_alltermslist.cc, 13353 backends/inmemory/inmemory_alltermslist.h, 13354 backends/inmemory/inmemory_database.cc: 13355 Keep a dummy entry in InMemoryDatabase::postlists so that the 13356 implementation of InMemoryAllTermsList doesn't need a "started" 13357 flag, and we can use an InMemoryPostList on the dummy item for 13358 the "term not in database" case. 13359 13360Thu May 07 05:45:48 GMT 2009 Olly Betts <olly@survex.com> 13361 13362 * tests/api_backend.cc: Add tset coverage for alldocs iterator on an 13363 empty database. 13364 * backends/inmemory/inmemory_database.cc: No need to special case an 13365 empty database as InMemoryAllDocsPostList handles this case 13366 correctly. 13367 13368Thu May 07 05:08:07 GMT 2009 Olly Betts <olly@survex.com> 13369 13370 * weight/weightinternal.cc: Use str() instead of om_tostring(), += to 13371 build up strings, and fix a cut-and-paste comment error. 13372 13373Wed May 06 13:03:40 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 13374 13375 * net/serialise.cc: Better serialisation - don't include the 13376 reltermfreqs if the rset_size is 0, since they'll all be 0 too. 13377 13378Wed May 06 12:13:52 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 13379 13380 * common/remoteprotocol.h,net/serialise.cc: When serialising stats, 13381 serialise the termfreq and reltermfreq together, rather than in 13382 separate lists. Results in a smaller serialised form, and 13383 matches the in-memory structure now used better. Fixes ticket 13384 #362. This is an incompatible remote protocol change, however, 13385 so bump the major version to 32. 13386 13387Wed May 06 04:02:43 GMT 2009 Olly Betts <olly@survex.com> 13388 13389 * matcher/multimatch.cc: Check termfreqandwts for MatchAll queries 13390 before we check terms from the document so that the "terminate 13391 early once we've seen all the query terms" test when checking the 13392 document terms can fire in this case. 13393 13394Wed May 06 03:26:05 GMT 2009 Olly Betts <olly@survex.com> 13395 13396 * matcher/multimatch.cc: Remove incorrect comment accidentally 13397 committed in r12623. 13398 13399Wed May 06 03:18:42 GMT 2009 Olly Betts <olly@survex.com> 13400 13401 * tests/api_opsynonym.cc: Fix comment typo. 13402 13403Wed May 06 01:35:14 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 13404 13405 * tests/api_postingsource.cc: changemaxweightsource1 uses 13406 ChangeMaxweightPostingSource, which doesn't work with multi or 13407 remote, so mark the test accordingly. 13408 13409Wed May 06 01:11:25 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 13410 13411 * include/xapian/postingsource.h,api/postingsource.cc: Add 13412 notify_new_maxweight() method to be called by subclasses when they 13413 want to notify the matcher that their maxweight has changed 13414 significantly. Add ExternalPostList as a friend and add 13415 register_externalpl() to be used to associate the ExternalPostList 13416 with the PostingSource. 13417 * matcher/externalpostlist.cc,matcher/externalpostlist.h, 13418 matcher/queryoptimiser.cc: Register the externalpostlist with the 13419 PostingSource it's iterating through. Add 13420 ExternalPostList::notify_new_maxweight() method for 13421 PostingSource::notify_new_maxweight() to call. 13422 * docs/postingsource.rst: Document notify_new_maxweight() and the 13423 reasons for calling it. 13424 * tests/api_postingsource.cc: Test the handling of maxweight. 13425 13426Tue May 05 19:37:56 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 13427 13428 * tests/Makefile.am,tests/api_db.cc,tests/api_postingsource.cc: 13429 Split the tests of PostingSource subclasses out of api_db.cc; I'm 13430 about to add some more, and bloating api_db.cc further is 13431 unworkable. 13432 13433Tue May 05 18:23:02 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 13434 13435 * docs/postingsource.rst,include/xapian/postingsource.h: 13436 Documentation updates to describe way that init() is called 13437 again if a PostingSource is reused. Fixes #352. 13438 13439Tue May 05 16:05:48 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 13440 13441 * tests/api_opsynonym.cc: Test that the top document has a weight 13442 of 100%, which is should do for all the current examples here. 13443 13444Tue May 05 16:03:29 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 13445 13446 * matcher/multimatch.cc: Add logging to keep track of the weights 13447 being added to percent_scale. If the percent_scale total is 0.0, 13448 which can happen if the top document only matches synonym terms, 13449 force percent_scale to 1.0, to avoid an assertion failure. 13450 13451Tue May 05 13:41:57 GMT 2009 Olly Betts <olly@survex.com> 13452 13453 * common/str.h: Fix swapped parameters in string ctor in code for 13454 str(bool) overload which lead to us returning 48 or 49 \x01 13455 characters instead of "0" or "1". 13456 * tests/internaltest.cc: Add regression test strbool1. 13457 * AUTHORS: Thank Peter Kelm for helping us spot this. 13458 13459Tue May 05 12:54:36 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 13460 13461 Merge from opsynonym branch: 13462 * queryparser/queryparser.lemony: Use OP_SYNONYM instead of OP_OR 13463 for synonyms, wildcards, and partial queries. 13464 * tests/queryparsertest.cc: Test use of OP_SYNONYM by query parser. 13465 13466Tue May 05 12:18:06 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 13467 13468 Merge from opsynonym branch: 13469 * api/omqueryinternal.cc,include/xapian/query.h,matcher/, 13470 weight/weight.cc: Implement a new OP_SYNONYM query operator, 13471 which behaves similarly to OP_OR, but produces weights for the 13472 combined set of terms as if they were a single term (by merging 13473 their wdfs). 13474 * tests/Makefile.am,tests/api_opsynonym.cc: Add tests for the 13475 OP_SYNONYM operator. 13476 * include/xapian/weight.h: Add a Weight::init_() method for 13477 synonym, since there isn't a single term involved. Also, 13478 requires a method get_sumpart_needs_wdf_() to check if wdfs are 13479 needed, since the synonym weight calculation requires fetching 13480 the doclength, which is potentially expensive, in order that the 13481 wdf returned can be clamped to a sane range. Mark the weighting 13482 methods which require WDF with need_stat(WDF). 13483 13484Tue May 05 12:04:33 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 13485 13486 * common/remoteprotocol.h: Add comment to remind use to do the 13487 FIXME in serialise_stats() when next breaking remote protocol 13488 compatibility. 13489 13490Tue May 05 10:53:11 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 13491 13492 * common/output.h: Add output function for TermFreqs. 13493 13494Tue May 05 08:23:28 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 13495 13496 * api/leafpostlist.cc,api/postlist.cc,common/emptypostlist.h, 13497 common/leafpostlist.h,common/postlist.h,matcher/: Add 13498 PostList::get_termfreq_est_using_stats() method, with default 13499 implementation which raises an InvalidOperationError. Implement 13500 this for those postlists which it makes sense for. Also, 13501 implement get_wdf() for postlists used by the matcher for 13502 implementing various query operators. This isn't currently used 13503 or tested on trunk, but is used for the opsynonym branch. 13504 13505Tue May 05 07:37:04 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 13506 13507 * common/rset.h,common/weightinternal.h,matcher/rset.cc, 13508 net/serialise.cc,weight/weightinternal.cc: Store termfreqs and 13509 reltermfreqs in a Weight::Internal in a single map; introduce a 13510 new struct (TermFreqs) for the values stored here. 13511 Remove now unused Xapian::TermFreqMap typedef. 13512 13513Tue May 05 07:19:19 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 13514 13515 * backends/chert/chert_postlist.cc,backends/chert/chert_postlist.h, 13516 backends/flint/flint_alldocspostlist.h, 13517 backends/flint/flint_postlist.cc,backends/flint/flint_postlist.h, 13518 backends/inmemory/inmemory_database.cc, 13519 backends/inmemory/inmemory_database.h,backends/remote/net_postlist.h, 13520 common/contiguousalldocspostlist.h,common/leafpostlist.h: 13521 Introduce TermBasedLeafPostList, as a new common base class for 13522 postlists which are derived from a term in the query (including 13523 alldocs postlists which are derived from the empty term). 13524 13525Tue May 05 06:47:11 GMT 2009 Olly Betts <olly@survex.com> 13526 13527 * backends/chert/,backends/flint/flint_modifiedpostlist.cc, 13528 backends/flint/flint_postlist.cc,backends/flint/flint_postlist.h: 13529 Rename "tname" parameters to LeafPostList subclasses to "term". 13530 * backends/inmemory/inmemory_database.cc, 13531 backends/inmemory/inmemory_database.h: Rename term parameter of 13532 type InMemoryTerm to imterm ready for opsynonym branch changes. 13533 13534Tue May 05 04:51:28 GMT 2009 Olly Betts <olly@survex.com> 13535 13536 * backends/chert/chert_alldocspostlist.h,matcher/multimatch.cc: 13537 Remove unused '#include "leafpostlist.h"'. 13538 13539Tue May 05 02:15:35 GMT 2009 Olly Betts <olly@survex.com> 13540 13541 * common/contiguousalldocspostlist.h: Wrap comment. 13542 13543Tue May 05 02:04:02 GMT 2009 Olly Betts <olly@survex.com> 13544 13545 * common/Makefile.mk: Move str.h into alphabetical order. 13546 13547Mon May 04 12:04:16 GMT 2009 Olly Betts <olly@survex.com> 13548 13549 * tests/queryparsertest.cc: Rename qp_stem_scale1 to qp_scale1 as it 13550 has no connection with stemming. Factor out a helper function to 13551 do the timing comparison, and update time_query_parse() to use 13552 CPUTimer rather than OmTime. Tweak the "fudge factor" up from 13553 2 to 2.15 to allow for non-equal ticks due to rounding of an 13554 interval which isn't an exact multiple of 1/CLK_TCK (ticket#308). 13555 13556Mon May 04 12:02:32 GMT 2009 Olly Betts <olly@survex.com> 13557 13558 * tests/harness/cputimer.cc: If we don't have rusage() or times(), but 13559 do have ftime(), use that instead of time() so we at least get 13560 subsecond resolution (as we do currently with OmTime). 13561 13562Mon May 04 03:31:51 GMT 2009 Olly Betts <olly@survex.com> 13563 13564 * docs/queryparser.html: Add examples of using a prefix on a phrase 13565 or subexpression. 13566 13567Sun May 03 14:58:42 GMT 2009 Olly Betts <olly@survex.com> 13568 13569 * tests/api_valuestats.cc: Testcase valuestats4 requires transactions, 13570 so indicate that and remove the explicit SKIP for inmemory. 13571 13572Sun May 03 12:34:30 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 13573 13574 * common/rset.h,common/weightinternal.h,matcher/rset.cc, 13575 weight/weightinternal.cc: Typedef std::map<string, Xapian::doccount> 13576 as TermFreqMap; tidies up code a little here, but mainly useful 13577 for keeping code tidy on branches/opsynonym. 13578 13579Sun May 03 11:49:08 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 13580 13581 * common/multimatch.h: Remove unused include of <map> 13582 13583Sun May 03 05:23:32 GMT 2009 Olly Betts <olly@survex.com> 13584 13585 * tests/api_db.cc: Protect tests which assume Flint is enabled with 13586 #ifdef XAPIAN_HAS_FLINT_BACKEND. 13587 13588Sat May 02 15:49:46 GMT 2009 Olly Betts <olly@survex.com> 13589 13590 * configure.ac,tests/Makefile.am,tests/api_scalability.cc, 13591 tests/api_wrdb.cc,tests/harness/: Add new "test_scalability()" helper 13592 function which checks that an operation scales in CPU time used in 13593 the desired way. Use this to reimplement bigoaddvalue (and rename 13594 to bigoaddvalue1 for consistency). 13595 13596Fri May 01 04:58:41 GMT 2009 Olly Betts <olly@survex.com> 13597 13598 * bin/xapian-check.cc: For chert, check value stats are the correct 13599 format and that the streamed values are consistent with their stats 13600 (ticket#277). 13601 13602Fri May 01 04:53:22 GMT 2009 Olly Betts <olly@survex.com> 13603 13604 * api/omdocument.cc: Don't ever store empty values explicitly, which 13605 eliminates an inconsistently handled corner case which was causing 13606 the "value frequency" to be wrong from at least one point of view. 13607 This is consistent with how user metadata works too. 13608 * include/xapian/document.h: Explicitly document this behaviour. 13609 * tests/api_valuestats.cc: Add regression test for the above change. 13610 13611Fri May 01 03:11:25 GMT 2009 Olly Betts <olly@survex.com> 13612 13613 * bin/xapian-check.cc: Chert doesn't store termlist entries for 13614 documents without terms, which resulted in us reporting an error when 13615 we found document ids in the doclength "postlist" which were greater 13616 than any with an entry in the termlist. Instead compare these 13617 entries against db.get_last_docid() if we are checking a whole db 13618 and able to call it. If not, suppress this check. 13619 13620Thu Apr 30 15:02:41 GMT 2009 Olly Betts <olly@survex.com> 13621 13622 * common/valuestats.h: Fix comment typo. 13623 13624Tue Apr 28 14:01:41 GMT 2009 Olly Betts <olly@survex.com> 13625 13626 * api/omdatabase.cc: Use <cstdlib> rather than <stdlib.h> which means 13627 that there's an overload for abs(long). 13628 13629Tue Apr 28 13:17:48 GMT 2009 Olly Betts <olly@survex.com> 13630 13631 * HACKING,INSTALL,configure.ac,include/xapian/deprecated.h, 13632 include/xapian/version_h.cc,tests/harness/testsuite.cc: Actually, 13633 let's require GCC 3.1 as doing so eliminates some preprocessor 13634 conditionals which we aren't able to test regularly as we don't 13635 have easy access to such old GCC versions. GCC 3.1 is nearly 7 13636 years old now, and GCC3 didn't get widespread use until later 13637 versions anyway. 13638 13639Tue Apr 28 12:47:11 GMT 2009 Olly Betts <olly@survex.com> 13640 13641 * common/debuglog.h: Add missing initialisation of uncaught_exception 13642 in a couple of places. 13643 13644Tue Apr 28 11:24:02 GMT 2009 Olly Betts <olly@survex.com> 13645 13646 * INSTALL: Note that Xapian 1.0.x should build with GCC 2.95.3. 13647 13648Tue Apr 28 11:20:51 GMT 2009 Olly Betts <olly@survex.com> 13649 13650 * HACKING,INSTALL,backends/chert/chert_database.h, 13651 backends/flint/flint_database.h, 13652 backends/inmemory/inmemory_database.h,configure.ac, 13653 include/xapian/version_h.cc,tests/harness/testsuite.cc: Drop support 13654 for GCC 2.95.3 - we now require at least 3.0. 13655 13656Mon Apr 27 12:20:25 GMT 2009 Olly Betts <olly@survex.com> 13657 13658 * include/xapian/weight.h: Add "need_stat(WDF);" for Weight subclasses 13659 which use wdf. Currently this is never actually checked by trunk 13660 (so a regression test for this omission isn't really feasible), but 13661 the opsynonym branch uses it. 13662 13663Sun Apr 26 14:47:57 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 13664 13665 * weight/bm25weight.cc: Add call debugging. 13666 13667Sun Apr 26 10:57:48 GMT 2009 Olly Betts <olly@survex.com> 13668 13669 * tests/api_db.cc: stubdb6 is "inmemory" not "flint || chert || multi". 13670 13671Sun Apr 26 10:51:50 GMT 2009 Olly Betts <olly@survex.com> 13672 13673 * tests/queryparsertest.cc: Fix to build with the inmemory backend 13674 disabled. 13675 13676Sun Apr 26 07:28:47 GMT 2009 Olly Betts <olly@survex.com> 13677 13678 * tests/generate-api_generated: Fix so generated api_generated.cc 13679 builds with the inmemory backend disabled. 13680 13681Sun Apr 26 06:30:57 GMT 2009 Olly Betts <olly@survex.com> 13682 13683 * tests/api_anydb.cc: Fix to build with the inmemory backend disabled. 13684 13685Sat Apr 25 01:10:49 GMT 2009 Olly Betts <olly@survex.com> 13686 13687 * bin/xapian-check.cc: Fix to build with the flint and/or chert 13688 backends disabled. 13689 13690Sat Apr 25 01:06:00 GMT 2009 Olly Betts <olly@survex.com> 13691 13692 * matcher/multimatch.cc: Fix to build with the remote backend 13693 disabled. 13694 13695Sat Apr 25 00:57:41 GMT 2009 Olly Betts <olly@survex.com> 13696 13697 * backends/dbfactory.cc: Fix to build with the inmemory backend 13698 disabled. 13699 13700Fri Apr 24 22:59:34 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 13701 13702 * weight/weight.cc: Add debug logging to Weight::init_() methods. 13703 * net/remoteserver.cc: Fix bounds returned by Weight::Internal 13704 object in get_mset() in remote submatches, by setting the 13705 database used to read the bounds. 13706 13707Fri Apr 24 13:14:50 GMT 2009 Olly Betts <olly@survex.com> 13708 13709 * matcher/branchpostlist.cc,matcher/branchpostlist.h: Remove 13710 BranchPostList::get_wdf() which isn't currently used, and isn't 13711 wanted on branches/opsynonym. 13712 13713Fri Apr 24 12:46:18 GMT 2009 Olly Betts <olly@survex.com> 13714 13715 * queryparser/queryparser.lemony: Apply doxygen comment improvement 13716 from branches/opsynonym. 13717 13718Fri Apr 24 12:31:15 GMT 2009 Olly Betts <olly@survex.com> 13719 13720 * matcher/localmatch.cc: Apply assertion and debug logging 13721 improvements from branches/opsynonym. 13722 13723Thu Apr 23 06:16:05 GMT 2009 Olly Betts <olly@survex.com> 13724 13725 * Makefile.am,configure.ac,docs/Makefile.am,tests/Makefile.am: Fix 13726 things up so that in a bootstrapped SVN tree, automatic regeneration 13727 of autotools-generated files uses the in-tree versions of the 13728 autotools. 13729 13730Thu Apr 23 04:37:31 GMT 2009 Olly Betts <olly@survex.com> 13731 13732 * AUTHORS: Add another bug reporter. 13733 13734Thu Apr 23 04:26:25 GMT 2009 Olly Betts <olly@survex.com> 13735 13736 * Makefile.am,languages/Makefile.mk,queryparser/Makefile.mk, 13737 tests/Makefile.am,tests/perftest/Makefile.mk: Don't remove any 13738 built sources in "make clean" even under --make-maintainer-mode 13739 as that breaks switching a tree away from maintainer-mode with: 13740 make distclean;./configure 13741 13742Thu Apr 23 03:51:03 GMT 2009 Olly Betts <olly@survex.com> 13743 13744 * Makefile.am: Use "--coverage" instead of "-fprofile-arcs 13745 -ftest-coverage" in the test coverage build. 13746 13747Wed Apr 22 14:32:56 GMT 2009 Olly Betts <olly@survex.com> 13748 13749 * PLATFORMS: Sync with 1.0.12; add entry for atreus for 1.1.0. 13750 13751Wed Apr 22 14:27:36 GMT 2009 Olly Betts <olly@survex.com> 13752 13753 * AUTHORS: Add more bug reporters and patch contributors. Remove a 13754 duplicate entry. 13755 13756Wed Apr 22 13:58:31 GMT 2009 Olly Betts <olly@survex.com> 13757 13758 * NEWS: Set release date. 13759 13760Wed Apr 22 13:36:04 GMT 2009 Olly Betts <olly@survex.com> 13761 13762 * NEWS: Update, perhaps even ready for release now. 13763 13764Wed Apr 22 11:00:50 GMT 2009 Olly Betts <olly@survex.com> 13765 13766 * NEWS: More work. 13767 13768Tue Apr 21 17:59:13 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 13769 13770 * docs/queryparser.html: Add closing <code> tag. 13771 13772Tue Apr 21 11:05:17 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 13773 13774 * NEWS: A few minor corrections and adjustments. 13775 13776Tue Apr 21 07:49:49 GMT 2009 Olly Betts <olly@survex.com> 13777 13778 * include/xapian/weight.h: Don't use the term "term" to talk about the 13779 extra weight component as it already has a strong meaning in Xapian. 13780 13781Tue Apr 21 07:16:18 GMT 2009 Olly Betts <olly@survex.com> 13782 13783 * queryparser/lemon.c: Merge upstream "Check-in Number: 6451". 13784 13785Tue Apr 21 06:54:00 GMT 2009 Olly Betts <olly@survex.com> 13786 13787 * matcher/queryoptimiser.h: '#include <map>' isn't required. 13788 13789Tue Apr 21 06:45:14 GMT 2009 Olly Betts <olly@survex.com> 13790 13791 * matcher/queryoptimiser.cc,matcher/queryoptimiser.h: Eliminate 13792 QueryOptimiser::do_leaf() as it is only called from one place 13793 and if only two lines of code. 13794 13795Mon Apr 20 14:10:08 GMT 2009 Olly Betts <olly@survex.com> 13796 13797 * NEWS: Update from ChangeLog and start to lick into shape for a 13798 release. 13799 13800Mon Apr 20 13:06:17 GMT 2009 Olly Betts <olly@survex.com> 13801 13802 * HACKING: XAPIAN_DEBUG_LOG=- send output to stderr, not stdout. 13803 13804Mon Apr 20 11:53:07 GMT 2009 Olly Betts <olly@survex.com> 13805 13806 * common/output.h: Add new macro XAPIAN_OUTPUT_FUNCTION_PTR and use it 13807 so that debug logging of Xapian::Query::Internal* doesn't just 13808 report the pointer value. 13809 13810Mon Apr 20 06:39:42 GMT 2009 Olly Betts <olly@survex.com> 13811 13812 * matcher/multimatch.cc: Apply debug logging change lifted from 13813 branches/opsynonym. 13814 13815Mon Apr 20 05:22:24 GMT 2009 Olly Betts <olly@survex.com> 13816 13817 * tests/harness/testutils.cc: Add FIXME comments about use of internal 13818 macro from a different header. 13819 13820Mon Apr 20 05:08:34 GMT 2009 Olly Betts <olly@survex.com> 13821 13822 * HACKING: Update release checklist. 13823 13824Sun Apr 19 14:50:08 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 13825 13826 * tests/api_nodb.cc: Stick the reciprocal of "factor" into a 13827 volatile double temporary variable to stop compiler using 13828 extended precision calculation on x86, and coming up an answer of 13829 exactly 1.0 when multiplying by "factor" again. 13830 13831Sun Apr 19 14:26:09 GMT 2009 Olly Betts <olly@survex.com> 13832 13833 * NEWS: Sync with 1.0.12 and update from ChangeLog. 13834 13835Sun Apr 19 12:12:19 GMT 2009 Olly Betts <olly@survex.com> 13836 13837 * AUTHORS: Update for 1.0 branch. 13838 13839Thu Apr 16 12:08:24 GMT 2009 Olly Betts <olly@survex.com> 13840 13841 * backends/chert/chert_values.cc: When copying the tail of a value 13842 chunk because did > last_allowed_did, we don't need to check if 13843 the docids being copied are < did, since they should all be <= 13844 last_allowed_did, so just assert the latter. 13845 13846Tue Apr 14 20:32:41 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 13847 13848 * tests/api_wrdb.cc: patch from james to move logging in 13849 modifyvalues1 so it reports the values it's rewriting correctly, 13850 rather than the empty string. Also display the expected value in 13851 tout when checking the value. Also, pull the setting of the random 13852 seed out to the start of the function, and set it to 7 (which 13853 exposed the bug fixed with the previous commit, which that the old 13854 value of 42 didn't, on my machine, at least). 13855 13856Tue Apr 14 18:12:08 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 13857 13858 * backends/chert/chert_values.cc: When we move the reader to a new 13859 chunk, write any trailing values left in it to the stream first. 13860 13861Thu Apr 09 05:01:04 GMT 2009 Olly Betts <olly@survex.com> 13862 13863 * docs/admin_notes.rst: Document the child process used for locking 13864 which exec-s "cat" (ticket #258). 13865 13866Thu Apr 09 03:49:13 GMT 2009 Olly Betts <olly@survex.com> 13867 13868 * bin/: Use C++ forms of C headers in bin (ticket#330). 13869 13870Thu Apr 09 03:47:42 GMT 2009 Olly Betts <olly@survex.com> 13871 13872 * examples/: Use C++ forms of C headers in examples (ticket#330). 13873 13874Mon Apr 06 06:35:03 GMT 2009 Olly Betts <olly@survex.com> 13875 13876 * include/xapian/unicode.h: Fix documentation comment typos. 13877 13878Mon Apr 06 06:03:45 GMT 2009 Olly Betts <olly@survex.com> 13879 13880 * AUTHORS: Add Muayyad Alsadi for reporting #355. 13881 13882Mon Apr 06 05:59:38 GMT 2009 Olly Betts <olly@survex.com> 13883 13884 * tests/api_unicode.cc: Note which characters in the new 13885 unicodepredicate1 testcase are new in Unicode 5.1.0. 13886 13887Sun Apr 05 14:24:47 GMT 2009 Olly Betts <olly@survex.com> 13888 13889 * include/xapian/unicode.h: Add NON_SPACING_MARK to is_wordchar() for 13890 better tokenisation of Arabic, for example. (ticket#355) 13891 * tests/queryparsertest.cc: Add test that this has the desired effect. 13892 * tests/api_unicode.cc: Add feature tests of Unicode::is_wordchar(), 13893 Unicode::is_currency(), and Unicode::is_whitespace(). 13894 13895Sat Apr 04 05:41:47 GMT 2009 Olly Betts <olly@survex.com> 13896 13897 * NEWS: Update from ChangeLog. 13898 13899Wed Apr 01 00:18:02 GMT 2009 Olly Betts <olly@survex.com> 13900 13901 * bin/xapian-compact.cc: Fix totlen overflow test. Refactor lightly 13902 to reduce indenting. 13903 13904Tue Mar 31 17:01:20 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 13905 13906 * bin/xapian-compact.cc: Handle databases which contain no 13907 documents (and hence have no METAINFO item), but do contain some 13908 metadata (so the postlist table is not empty). Fixes ticket 13909 #356. 13910 13911Tue Mar 31 13:49:01 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 13912 13913 * api/postingsource.cc,include/xapian/postingsource.h: Change 13914 return types of clone() and unserialise() methods to be of the 13915 subclass returned; this is a bit more flexible, but the main 13916 reason is to be consistent: previously, the clone() methods 13917 returned the subclass, but the unserialise() methods returned 13918 PostingSource. 13919 13920Tue Mar 31 12:10:03 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 13921 13922 * include/xapian/postingsource.h: Add comment on PostingSource base 13923 class listing it as an experimental feature. 13924 * docs/deprecation.rst: Describe what "experimental" features are, 13925 and why replication and posting sources are currently 13926 experimental. 13927 13928Tue Mar 31 11:34:25 GMT 2009 Olly Betts <olly@survex.com> 13929 13930 * include/xapian/matchspy.h: Removed currently unused header to stop 13931 doxygen from generating documentation for it. 13932 13933Tue Mar 31 11:27:54 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 13934 13935 * docs/replication.rst,include/xapian/replication.h: Note that 13936 replication is currently "experimental". 13937 13938Fri Mar 27 14:29:05 GMT 2009 Olly Betts <olly@survex.com> 13939 13940 * backends/chert/chert_spelling.cc,backends/chert/chert_spelling.h, 13941 backends/flint/flint_spelling.cc,backends/flint/flint_spelling.h: 13942 Fix WritableDatabase::remove_spelling() to not be very broken in 13943 several ways. 13944 * tests/api_spelling.cc: Add test coverage for it. 13945 13946Fri Mar 27 10:43:34 GMT 2009 Olly Betts <olly@survex.com> 13947 13948 * xapian-config.in: Add @LIBRARY_VERSION_SUFFIX@ to -lxapian too. 13949 13950Fri Mar 27 08:22:39 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 13951 13952 * include/xapian/postingsource.h: Update documentation comments to 13953 refer to init() instead of the old name of reset(). 13954 13955Fri Mar 27 08:10:48 GMT 2009 Olly Betts <olly@survex.com> 13956 13957 * HACKING: Document the lcov make targets. 13958 13959Fri Mar 27 07:44:59 GMT 2009 Olly Betts <olly@survex.com> 13960 13961 * Makefile.am: Add two new targets to assist generating test coverage 13962 reports with lcov: coverage-reconfigure which reruns configure in 13963 the source tree and coverage-check which runs "make check" and 13964 generates an HTML report in a directory called "lcov". 13965 13966Thu Mar 26 23:59:36 GMT 2009 Olly Betts <olly@survex.com> 13967 13968 * Makefile.am,m4-macros/xapian.m4,xapian-core.spec.in: Rename 13969 xapian.m4 to xapian-1.1.m4 to avoid clash with Xapian 1.0.x. Both 13970 xapian.m4 and xapian-1.1.m4 will contain XO_LIB_XAPIAN, but aclocal 13971 copes and only copies one of them. We need to avoid incompatible 13972 changes to XO_LIB_XAPIAN though. 13973 13974Thu Mar 26 14:29:54 GMT 2009 Olly Betts <olly@survex.com> 13975 13976 * configure.ac,include/Makefile.mk,xapian-config.in: Install headers 13977 in $prefix/include/xapian-1.1/ so they don't clash with 1.0. 13978 13979Thu Mar 26 13:46:06 GMT 2009 Olly Betts <olly@survex.com> 13980 13981 * configure.ac: Default program suffix to -1.1 if not specified. If 13982 you really want no suffix, "./configure --program-suffix=" will 13983 achieve that. 13984 13985Thu Mar 26 12:49:10 GMT 2009 Olly Betts <olly@survex.com> 13986 13987 * Makefile.am,api/Makefile.mk,backends/Makefile.mk, 13988 backends/chert/Makefile.mk,backends/flint/Makefile.mk, 13989 backends/inmemory/Makefile.mk,backends/multi/Makefile.mk, 13990 backends/remote/Makefile.mk,bin/Makefile.mk,common/Makefile.mk, 13991 configure.ac,examples/Makefile.mk,expand/Makefile.mk, 13992 languages/Makefile.mk,matcher/Makefile.mk,net/Makefile.mk, 13993 queryparser/Makefile.mk,tests/Makefile.am,tests/perftest/Makefile.mk, 13994 unicode/Makefile.mk,weight/Makefile.mk,xapian-config.in, 13995 xapian-core.spec.in: Change library name to libxapian-1.1 as a first 13996 step towards allowing parallel installation with 1.0.x. 13997 13998Thu Mar 26 06:53:27 GMT 2009 Olly Betts <olly@survex.com> 13999 14000 * NEWS: Update from ChangeLog. 14001 14002Thu Mar 26 06:50:44 GMT 2009 Olly Betts <olly@survex.com> 14003 14004 * backends/chert/chert_values.h: Fix class name in file doc comment. 14005 14006Thu Mar 26 00:13:48 GMT 2009 Olly Betts <olly@survex.com> 14007 14008 * backends/chert/chert_database.cc,backends/flint/flint_database.cc: 14009 Call ChertDatabase::close() rather than repeating its code. 14010 14011Wed Mar 25 17:39:01 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 14012 14013 * backends/chert/chert_database.cc,backends/flint/flint_database.cc: 14014 Release the lock when the database is closed (either due to a 14015 call to close() or due to a serious error during modifications). 14016 Should fix ticket #354. 14017 14018Wed Mar 25 16:42:58 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 14019 14020 * tests/harness/testutils.cc: Use TEST_EQUAL_DOUBLE_ for comparison 14021 of weights in mset, to fix test failures due to floating point 14022 differences. (Currently only manifests in some tests in the 14023 matchspy branch, but it's a generally useful fix.) 14024 14025Wed Mar 25 11:44:36 GMT 2009 Olly Betts <olly@survex.com> 14026 14027 * configure.ac: Only put ANSI_CXXFLAGS in CXXFLAGS for the duration of 14028 configure - put it in AM_CXXFLAGS for substituting so that the user 14029 can safely override CXXFLAGS at make-time: "make CXXFLAGS=-Os" 14030 14031Wed Mar 25 10:50:44 GMT 2009 Olly Betts <olly@survex.com> 14032 14033 * configure.ac: Fix comment typo. 14034 14035Wed Mar 25 04:48:50 GMT 2009 Olly Betts <olly@survex.com> 14036 14037 * api/omdatabase.cc,backends/chert/chert_database.h, 14038 backends/flint/flint_database.h, 14039 backends/inmemory/inmemory_database.h, 14040 backends/remote/remote-database.cc,common/const_database_wrapper.h, 14041 common/database.h: Drop the default value of the lazy parameter to 14042 Database::open_document() - it's better to force us to consider 14043 whether a new call should be lazy or not. 14044 * common/database.h: Better description of lazy parameter. 14045 * backends/remote/remote-database.cc: Update comment about when lazy 14046 is set to true. 14047 14048Wed Mar 25 04:20:34 GMT 2009 Olly Betts <olly@survex.com> 14049 14050 * backends/inmemory/inmemory_database.cc: Don't "return false" when 14051 the return type is a pointer! 14052 14053Tue Mar 24 17:42:22 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 14054 14055 * backends/database.cc: Open documents lazily in 14056 collect_document(). 14057 14058Tue Mar 24 11:10:57 GMT 2009 Olly Betts <olly@survex.com> 14059 14060 * backends/multi/multi_postlist.cc,backends/multi/multi_postlist.h: 14061 MultiPostList::read_position_list() is never used, so remove it. 14062 14063Tue Mar 24 10:04:03 GMT 2009 Olly Betts <olly@survex.com> 14064 14065 * backends/multi/multi_postlist.cc: Remove "[" and "]" from the output 14066 of MultiPostList::get_description(). Remove excess "," from output 14067 of MultiPostList::get_description(). 14068 * tests/api_db.cc: Add some test coverage of 14069 PostingIterator::get_wdf() and PostingIterator::get_description(). 14070 14071Tue Mar 24 10:00:23 GMT 2009 Olly Betts <olly@survex.com> 14072 14073 * api/ompostlistiterator.cc: Remove "[" and "]" from 14074 Xapian::PostingIterator::get_description() as they don't add 14075 anything useful. 14076 14077Tue Mar 24 09:57:39 GMT 2009 Olly Betts <olly@survex.com> 14078 14079 * backends/inmemory/inmemory_database.cc: Add a space in the output 14080 of InMemoryPostList::get_description() and 14081 InMemoryAllDocsPostList::get_description(). 14082 14083Tue Mar 24 08:52:46 GMT 2009 Olly Betts <olly@survex.com> 14084 14085 * api/leafpostlist.cc,include/xapian/weight.h,tests/api_db.cc,weight/: 14086 Get rid of the virtual Weight::get_sumpart_needs_doclength() method 14087 - subclasses can call need_stat(DOC_LENGTH) in their constructor if 14088 they need doc lengths. 14089 14090Tue Mar 24 07:55:06 GMT 2009 Olly Betts <olly@survex.com> 14091 14092 * weight/weight.cc: Check stats_needed for stats which aren't just a 14093 simple member variable lookup. 14094 14095Tue Mar 24 06:46:24 GMT 2009 Olly Betts <olly@survex.com> 14096 14097 * backends/multi/multi_postlist.cc,backends/multi/multi_postlist.h: 14098 MultiPostList::get_termfreq() is never used, so remove it. 14099 14100Mon Mar 23 14:09:33 GMT 2009 Olly Betts <olly@survex.com> 14101 14102 * tests/api_unicode.cc: Add test coverage for 14103 Xapian::Unicode::append_utf8(). 14104 14105Mon Mar 23 11:40:09 GMT 2009 Olly Betts <olly@survex.com> 14106 14107 * api/postingsource.cc,docs/postingsource.rst, 14108 include/xapian/postingsource.h,matcher/externalpostlist.cc, 14109 tests/api_db.cc,tests/api_percentages.cc,tests/api_valuestream.cc: 14110 Rename PostingSource::reset() to PostingSource::init(). 14111 14112Mon Mar 23 11:01:02 GMT 2009 Olly Betts <olly@survex.com> 14113 14114 * tests/harness/testsuite.h: Fix documentation comment in line with 14115 the corrected --help output from "Sat Feb 21 08:18:21 GMT 2009". 14116 14117Mon Mar 23 02:24:44 GMT 2009 Olly Betts <olly@survex.com> 14118 14119 * api/omqueryinternal.cc: Fix handling of empty and single subquery 14120 OP_NEAR and OP_PHRASE (was breaking queryparsertest). 14121 14122Sun Mar 22 10:23:37 GMT 2009 Olly Betts <olly@survex.com> 14123 14124 * backends/chert/chert_database.cc,backends/flint/flint_database.cc, 14125 backends/inmemory/inmemory_database.cc, 14126 backends/inmemory/inmemory_positionlist.cc, 14127 common/inmemory_positionlist.h,docs/deprecation.rst, 14128 tests/api_posdb.cc: Change Database::positionlist_begin() not to 14129 throw exceptions if the term or document doesn't exist. 14130 14131Sun Mar 22 09:02:46 GMT 2009 Olly Betts <olly@survex.com> 14132 14133 * docs/deprecation.rst: Fix typo. 14134 14135Sun Mar 22 07:54:30 GMT 2009 Olly Betts <olly@survex.com> 14136 14137 * api/omqueryinternal.cc,include/xapian/query.h,tests/api_nodb.cc, 14138 tests/api_query.cc: Fix valgrind errors on nearsubqueries1 14139 (ticket#349) and enhance distribution of OP_NEAR/OP_PHRASE over 14140 non-leaf subqueries to work when there are multiple non-leaf 14141 subqueries (ticket#201). Extend nearsubqueries1 to test that 14142 trying to distribute OP_NEAR/OP_PHRASE over OP_NEAR/OP_PHRASE 14143 throws UnimplementedError. 14144 14145Fri Mar 20 08:43:20 GMT 2009 Olly Betts <olly@survex.com> 14146 14147 * tests/api_query.cc: Add coverage for OP_AND with MatchNothing 14148 subquery (new testcase matchnothing1). 14149 14150Fri Mar 20 05:16:18 GMT 2009 Olly Betts <olly@survex.com> 14151 14152 * api/omqueryinternal.cc: Fix assertions in previous check-in to 14153 verify the right condition. And return the simplified query in 14154 the case the assertion would have failed, as that means a small 14155 memory leak rather than unpredictable behaviour in a non-assertion 14156 build. 14157 14158Fri Mar 20 04:26:29 GMT 2009 Olly Betts <olly@survex.com> 14159 14160 * api/omqueryinternal.cc: Check that end_construction() returns NULL 14161 when unserialising queries. 14162 14163Fri Mar 20 02:51:32 GMT 2009 Olly Betts <olly@survex.com> 14164 14165 * api/omqueryinternal.cc: Fix return type of 14166 Xapian::Query::Internal::simplify_query() in a debug build. Since 14167 RETURN() isn't used by this function, this is only a cosmetic issue 14168 in the log file. 14169 14170Wed Mar 18 09:26:02 GMT 2009 Olly Betts <olly@survex.com> 14171 14172 * backends/chert/chert_database.cc,backends/flint/flint_database.cc, 14173 docs/deprecation.rst: Move just returning an empty PositionIterator 14174 from Database::positionlist_begin() when the docs or term isn't 14175 present from 1.2.0 to 1.1.0 (has to be 1.1.0 or 1.3.0 really). 14176 14177Wed Mar 18 09:24:27 GMT 2009 Olly Betts <olly@survex.com> 14178 14179 * docs/glossary.rst: Chert as the default backend in 1.2.0 is pretty 14180 much definite. 14181 14182Wed Mar 18 06:42:09 GMT 2009 Olly Betts <olly@survex.com> 14183 14184 * NEWS: Update from ChangeLog. 14185 14186Wed Mar 18 04:36:59 GMT 2009 Olly Betts <olly@survex.com> 14187 14188 * xapian-core.spec.in: Tweak reference to "1.1.0 branch" to make more 14189 sense. 14190 14191Wed Mar 18 04:30:18 GMT 2009 Olly Betts <olly@survex.com> 14192 14193 * api/postingsource.cc,include/xapian/postingsource.h: Remove the 14194 optional "max_weight_" parameter to ValuePostingSource's ctor. 14195 * include/xapian/postingsource.h: Correct a few errors in 14196 documentation comments. 14197 14198Wed Mar 18 04:29:22 GMT 2009 Olly Betts <olly@survex.com> 14199 14200 * docs/postingsource.rst: "ctx" -> "context" in example code. 14201 14202Tue Mar 17 23:45:52 GMT 2009 Olly Betts <olly@survex.com> 14203 14204 * backends/chert/chert_lock.cc,backends/flint/flint_lock.cc: If the 14205 locking attempt fails after we spawn the child process, call 14206 waitpid() in the parent process to avoid creating a zombie process. 14207 * AUTHORS: Add Jim Spath for reporting this. 14208 14209Tue Mar 17 23:34:16 GMT 2009 Olly Betts <olly@survex.com> 14210 14211 * common/Makefile.mk,common/str.cc,common/str.h: New family of 14212 overloaded str() functions for converting types to std::string. 14213 The integer conversion are much faster than the existing 14214 om_tostring(). 14215 * common/omassert.h,common/omdebug.h: Use str() instead of 14216 om_tostring(). 14217 * common/utils.cc,common/utils.h: Make om_tostring() a macro wrapping 14218 str() for now to avoid introducing a lot of conflicts with other 14219 branches and unapplied patches. 14220 14221Tue Mar 17 21:28:54 GMT 2009 Olly Betts <olly@survex.com> 14222 14223 * configure.ac: Fix comment typo. 14224 14225Tue Mar 17 00:47:26 GMT 2009 Olly Betts <olly@survex.com> 14226 14227 * common/utils.cc: Fix previous change to actually compile... 14228 14229Mon Mar 16 20:10:01 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 14230 14231 * common/utils.cc,common/utils.h: Add om_tostring() version of 14232 unsigned long long int, to fix debug build on i686. 14233 14234Mon Mar 16 14:01:02 GMT 2009 Olly Betts <olly@survex.com> 14235 14236 * NEWS: Sync with 1.0.11. 14237 14238Fri Mar 13 06:59:29 GMT 2009 Olly Betts <olly@survex.com> 14239 14240 * weight/weightinternal.cc: Need "utils.h" for om_tostring(). 14241 14242Fri Mar 13 05:47:24 GMT 2009 Olly Betts <olly@survex.com> 14243 14244 * include/xapian/queryparser.h: Note that QueryParser::FLAG_DEFAULT 14245 was new in 1.0.11. 14246 14247Fri Mar 13 04:36:19 GMT 2009 Olly Betts <olly@survex.com> 14248 14249 * weight/weightinternal.cc: Implement 14250 Weight::Internal::get_description(). 14251 14252Thu Mar 12 11:57:02 GMT 2009 Olly Betts <olly@survex.com> 14253 14254 * common/output.h: Fix last commit. 14255 14256Thu Mar 12 11:29:58 GMT 2009 Olly Betts <olly@survex.com> 14257 14258 * common/output.h: Define operator<< for Xapian::Weight::Internal. 14259 14260Thu Mar 12 11:21:09 GMT 2009 Olly Betts <olly@survex.com> 14261 14262 * net/remoteserver.cc: Fix overlooked case which was still sending 14263 REPLY_DOCLENGTH as a double. 14264 14265Wed Mar 11 22:56:59 GMT 2009 Olly Betts <olly@survex.com> 14266 14267 * backends/chert/chert_valuelist.cc: Fix comment typo. 14268 14269Wed Mar 11 22:50:49 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 14270 14271 * tests/api_valuestream.cc: Enable valuestream3 for chert. 14272 * backends/chert/chert_valuelist.cc: Fix return value of 14273 ChertValueList::check() when it needs to move to a new chunk. 14274 Fixes valuestream3 test. 14275 14276Wed Mar 11 13:17:58 GMT 2009 Olly Betts <olly@survex.com> 14277 14278 * include/xapian/weight.h: Mark Weight::init_() methods as "@private 14279 @internal" for doxygen API docs. 14280 14281Wed Mar 11 13:13:32 GMT 2009 Olly Betts <olly@survex.com> 14282 14283 * include/xapian/weight.h,tests/api_db.cc,tests/api_nodb.cc, 14284 weight/bm25weight.cc,weight/boolweight.cc,weight/tradweight.cc: 14285 Make Weight::name() return std::string to allow sane wrapping 14286 with SWIG directors. 14287 14288Wed Mar 11 05:46:40 GMT 2009 Olly Betts <olly@survex.com> 14289 14290 * api/,backends/chert/,backends/contiguousalldocspostlist.cc, 14291 backends/flint/,backends/inmemory/inmemory_database.cc, 14292 backends/inmemory/inmemory_database.h, 14293 backends/multi/multi_postlist.cc,backends/multi/multi_postlist.h, 14294 backends/remote/,common/,docs/remote_protocol.html, 14295 include/xapian/database.h,include/xapian/postingiterator.h,matcher/, 14296 net/remoteserver.cc: Internally, pass around non-normalised document 14297 lengths as Xapian::termcount (unsigned integer) not Xapian::doclength 14298 (double). 14299 14300Wed Mar 11 05:25:40 GMT 2009 Olly Betts <olly@survex.com> 14301 14302 * tests/api_anydb.cc: Use TEST_REL; wrap long comment. 14303 14304Wed Mar 11 04:52:41 GMT 2009 Olly Betts <olly@survex.com> 14305 14306 * Makefile.am,api/,backends/chert/,backends/database.cc, 14307 backends/flint/flint_database.cc,backends/flint/flint_database.h, 14308 backends/inmemory/inmemory_database.cc, 14309 backends/inmemory/inmemory_database.h, 14310 backends/remote/remote-database.cc,common/,docs/remote_protocol.html, 14311 examples/delve.cc,include/Makefile.mk,include/xapian.h, 14312 include/xapian/database.h,include/xapian/enquire.h, 14313 include/xapian/weight.h,matcher/,net/remoteserver.cc, 14314 net/serialise.cc,tests/,weight/: Reimplementation of weighting 14315 schemes which allows user subclasses to access the same stats which 14316 built in schemes can (bug#213) and which also can use lower and 14317 upper bounds of doclength and upper bounds on wdf to give a tighter 14318 maxweight, which should allow the matcher weight-based optimisations 14319 to be more effective. Chert now tracks doclength bounds and a 14320 global (rather than per term) bound on wdf. Other backends 14321 return much less good bounds, but these still lead to better 14322 maxweight bounds. 14323 14324Wed Mar 11 00:13:24 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 14325 14326 * include/xapian/query.h: Rename parameter name from "ctx" to the 14327 more human-friendly "context". 14328 14329Tue Mar 10 14:03:33 GMT 2009 Olly Betts <olly@survex.com> 14330 14331 * tests/harness/testutils.cc: If mset_range_is_same_percents() fails 14332 because the percentages differ, report what they were to tout. 14333 14334Mon Mar 09 12:27:28 GMT 2009 Olly Betts <olly@survex.com> 14335 14336 * matcher/localmatch.cc: Remove special case handling for empty string 14337 being returned from the TermIterator returned by 14338 Query::Internal::get_terms() as this should no longer happen. 14339 14340Mon Mar 09 12:09:21 GMT 2009 Olly Betts <olly@survex.com> 14341 14342 * api/omqueryinternal.cc: Don't return "" from a TermIterator from 14343 Query::get_terms_begin() (happened when Query contained or was 14344 Query::MatchAll). 14345 * tests/Makefile.am,tests/api_query.cc: Add regression testcase 14346 queryterms1. 14347 14348Sun Mar 08 06:16:24 GMT 2009 Olly Betts <olly@survex.com> 14349 14350 * tests/api_backend.cc: Add check that backends don't truncate total 14351 document length to 32 bits. 14352 14353Sun Mar 08 06:02:43 GMT 2009 Olly Betts <olly@survex.com> 14354 14355 * tests/api_backend.cc: Disable lockfileumask1 on Cygwin and on OS/2. 14356 14357Sun Mar 08 05:36:54 GMT 2009 Olly Betts <olly@survex.com> 14358 14359 * matcher/extraweightpostlist.h: Add forward declaration of 14360 Xapian::Weight since we use "Xapian::Weight *". 14361 14362Sun Mar 08 04:39:22 GMT 2009 Olly Betts <olly@survex.com> 14363 14364 * backends/chert/chert_types.h,backends/flint/flint_types.h, 14365 bin/xapian-check-flint.cc,bin/xapian-check.cc,bin/xapian-compact.cc, 14366 common/Makefile.mk,common/database.h,common/internaltypes.h: 14367 Move totlen_t to a new header (internaltypes.h) to avoid needing to 14368 pull in database.h in when we want to use it. Also move int4 and 14369 uint4 there to avoid duplicated definitions and abstract out a 14370 new uint8 from defining totlen_t. 14371 14372Sun Mar 08 00:50:38 GMT 2009 Olly Betts <olly@survex.com> 14373 14374 * backends/chert/chert_database.h,backends/chert/chert_types.h, 14375 backends/flint/flint_database.h,backends/flint/flint_types.h, 14376 bin/xapian-check-flint.cc,bin/xapian-check.cc,bin/xapian-compact.cc, 14377 common/database.h: Replace flint_totlen_t and chert_totlen_t with 14378 a common totlen_t. 14379 14380Sat Mar 07 08:35:27 GMT 2009 Olly Betts <olly@survex.com> 14381 14382 * backends/chert/chert_database.cc: Wrap comment. 14383 14384Sat Mar 07 08:28:17 GMT 2009 Olly Betts <olly@survex.com> 14385 14386 * backends/inmemory/inmemory_database.h: Fix file description 14387 ("multiple database" -> "inmemory database"). 14388 14389Sat Mar 07 08:25:11 GMT 2009 Olly Betts <olly@survex.com> 14390 14391 * backends/inmemory/inmemory_database.cc, 14392 backends/inmemory/inmemory_database.h: Store non-normalised document 14393 lengths as Xapian::termcount (unsigned int) rather than 14394 Xapian::doclength (double). 14395 14396Sat Mar 07 06:56:26 GMT 2009 Olly Betts <olly@survex.com> 14397 14398 * common/database.h: Removed unused forward declarations of classes. 14399 14400Sat Mar 07 06:52:11 GMT 2009 Olly Betts <olly@survex.com> 14401 14402 * common/database.h: Fix comment typo. 14403 14404Sat Mar 07 05:44:18 GMT 2009 Olly Betts <olly@survex.com> 14405 14406 * net/serialise.cc: Fix top of file to actually be a doxygen comment. 14407 Tweak layout of definition of serialise_stats(). 14408 14409Sat Mar 07 05:40:58 GMT 2009 Olly Betts <olly@survex.com> 14410 14411 * net/serialise.cc: c_str() -> data() since we don't need the 14412 nul-termination. 14413 14414Thu Mar 05 11:49:45 GMT 2009 Olly Betts <olly@survex.com> 14415 14416 * tests/api_db.cc,tests/api_nodb.cc: Back out accidentally committed 14417 changes 2 commits ago. 14418 14419Thu Mar 05 10:28:07 GMT 2009 Olly Betts <olly@survex.com> 14420 14421 * AUTHORS: Add Frank J. Bruzzaniti for omindex patches. 14422 14423Thu Mar 05 10:20:38 GMT 2009 Olly Betts <olly@survex.com> 14424 14425 * tests/Makefile.am: If both chert and flint are enabled, run 14426 remoteprog_chert and remotetcp_flint but not the other two 14427 combinations as they don't buy us any useful extra test 14428 coverage, but cost a lot of extra time per testrun. 14429 14430Thu Mar 05 07:51:52 GMT 2009 Olly Betts <olly@survex.com> 14431 14432 * docs/deprecation.rst: Update to reflect that odd minor versions are 14433 now development series. 14434 14435Thu Mar 05 04:20:43 GMT 2009 Olly Betts <olly@survex.com> 14436 14437 * common/serialisationcontextinternal.h: Fix forward declarations. 14438 14439Thu Mar 05 02:11:26 GMT 2009 Olly Betts <olly@survex.com> 14440 14441 * api/omdatabase.cc: "new_uuid" -> "sub_uuid" - it's not really new. 14442 14443Wed Mar 04 22:53:13 GMT 2009 Olly Betts <olly@survex.com> 14444 14445 * include/xapian/queryparser.h,include/xapian/termgenerator.h: Make 14446 default empty std::string parameters use std::string() rather than 14447 "". 14448 14449Wed Mar 04 16:06:11 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 14450 14451 * api/omdatabase.cc: If a sub-database of a multi-database has no 14452 uuid, we cannot return a uuid for the database, so return 14453 string() instead. 14454 * tests/api_anydb.cc: Test for this. 14455 14456Wed Mar 04 13:45:41 GMT 2009 Olly Betts <olly@survex.com> 14457 14458 * HACKING: Conversion to C++ names for ISO C headers will happen in 14459 1.1.x, not 1.1.0. 14460 14461Wed Mar 04 13:37:47 GMT 2009 Olly Betts <olly@survex.com> 14462 14463 * api/omdatabase.cc,backends/database.cc, 14464 backends/remote/remote-database.cc,common/database.h, 14465 include/xapian/database.h,net/remoteserver.cc,tests/api_anydb.cc: 14466 Return an empty string from Database::get_uuid() when then backend 14467 doesn't support UUIDs for consistency with flint when the database 14468 has no UUID. For a multiple database, build a string from the UUIDs 14469 of each subdatabase and return this as the UUID. If there are no 14470 subdatabases return the empty string. 14471 14472Wed Mar 04 11:34:04 GMT 2009 Olly Betts <olly@survex.com> 14473 14474 * backends/remote/remote-database.cc,common/remoteprotocol.h, 14475 common/remoteserver.h,docs/remote_protocol.html,net/remoteserver.cc: 14476 Change the remote server to always default to opening a Database and 14477 having the client request write access explicitly. This allows a 14478 single server to support multiple readers and one writer 14479 simultaneously. (bug#145) 14480 * net/remoteserver.cc,backends/remote/remote-database.cc: For constant 14481 empty string parameters, pass string() rather than "". 14482 * common/remoteserver.h: Remove unused '#include <map>'. Remove 14483 'using namespace std;' and explicitly qualify the few bare mentions 14484 of 'string'. 14485 14486Wed Mar 04 07:24:39 GMT 2009 Olly Betts <olly@survex.com> 14487 14488 * queryparser/queryparser.lt: Sync with latest upstream lempar.c 14489 (only changes were in code which isn't in our version). 14490 14491Wed Mar 04 04:03:44 GMT 2009 Olly Betts <olly@survex.com> 14492 14493 * tests/Makefile.am,tests/api_percentages.cc, 14494 tests/testdata/apitest_sortconsist.txt: Apply regression test patch 14495 from bug#216. 14496 14497Wed Mar 04 03:41:49 GMT 2009 Olly Betts <olly@survex.com> 14498 14499 * include/xapian/enquire.h,matcher/multimatch.cc: Fix inconsistent 14500 percentage scores when sorting primarily by valuei, except when 14501 a MatchDecider is also being used; document this remaining problem 14502 case. (bug#216) 14503 14504Wed Mar 04 01:58:07 GMT 2009 Olly Betts <olly@survex.com> 14505 14506 * backends/chert/chert_table.cc,backends/flint/flint_table.cc: No need 14507 to initialise inflate_zstream->next_out and avail_out twice. 14508 14509Wed Mar 04 01:16:32 GMT 2009 Olly Betts <olly@survex.com> 14510 14511 * backends/chert/chert_table.cc,backends/flint/flint_table.cc: If 14512 deflateReset() or inflateReset() fails, just delete the zstream 14513 take the initialisation codepath - that should mean we recover 14514 if the stream does somehow end up in a bad state and is less 14515 code than throwing an exception. Annotate tests with rare() 14516 or usual() if they are for exceptional conditions. Fix bug 14517 introduced by the laziness patch which was adding an int error 14518 code to a const char * message. If deflateInit2() or inflateInit2() 14519 fails, delete and zero the stream so there's no risk of ending up 14520 wedged on a partly initialised stream. 14521 14522Tue Mar 03 15:32:53 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 14523 14524 * backends/chert/chert_table.cc,backends/flint/flint_table.cc: 14525 Check for errors from deflateReset() and inflateReset() - there 14526 shouldn't be any if we've given them a valid stream, so just 14527 raise InternalError if we get one. 14528 14529Tue Mar 03 09:43:34 GMT 2009 Olly Betts <olly@survex.com> 14530 14531 * NEWS: Updated from ChangeLog. 14532 14533Tue Mar 03 05:52:16 GMT 2009 Olly Betts <olly@survex.com> 14534 14535 * tests/api_closedb.cc: Fix testcase closedb2 not to create a test 14536 database named closedb3. 14537 14538Tue Mar 03 04:31:48 GMT 2009 Olly Betts <olly@survex.com> 14539 14540 * include/xapian/queryparser.h: Add QueryParser::FLAG_DEFAULT to make 14541 it easier to add flags to those set by default. 14542 * tests/queryparsertest.cc: Use FLAG_DEFAULT in a few places to serve 14543 as a feature test. 14544 14545Tue Mar 03 03:45:53 GMT 2009 Olly Betts <olly@survex.com> 14546 14547 * docs/index.html: Add link to new serialisation topic document. 14548 * docs/serialisation.rst: Reword to avoid pluralising class names. 14549 Add link to postingsource document where we reference it. 14550 14551Tue Mar 03 03:35:29 GMT 2009 Olly Betts <olly@survex.com> 14552 14553 * tests/runsrv.in: Use @top_builddir@ rather than relying on it 14554 coming from the environment. 14555 14556Tue Mar 03 03:05:47 GMT 2009 Olly Betts <olly@survex.com> 14557 14558 * tests/api_wrdb.cc: Clear tout regularly in modifyvalues1 as 14559 otherwise the output builds up. Some string stream implementations 14560 get very inefficient with large strings, and also this seems to 14561 interact badly with valgrind's leak detection resulting in the 14562 test having to be rerun to check if it really leaks. Prefer 14563 tout.str(string()) to tout.str("") in existing uses too. 14564 14565Tue Mar 03 01:41:07 GMT 2009 Olly Betts <olly@survex.com> 14566 14567 * backends/flint/flint_table.cc: Update handling of shutting down 14568 the zstream objects in the dtor to match chert. 14569 14570Mon Mar 02 23:57:26 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 14571 14572 * backends/chert/chert_table.h,backends/flint/flint_table.h: Add 14573 documentation comments for the lazy allocation methods, and 14574 separate comments for the zstream members. 14575 14576Mon Mar 02 23:40:20 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 14577 14578 * AUTHORS,backends/chert/chert_table.cc,backends/chert/chert_table.h, 14579 backends/flint/flint_table.cc,backends/flint/flint_table.h: 14580 Reduce allocation of zstreams by allocating them lazily, keeping 14581 them in the table objects, and reuse them, rather than allocating 14582 a new one each time it's wanted. Heavily based on a patch from 14583 Todd Lipcon. Apparently improves performance significantly on 14584 some systems; on my tests it has no perceptible negative impact, 14585 but it makes sense that it could help in some situations, so 14586 let's apply it. Fixes #325. 14587 14588Mon Mar 02 21:10:54 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 14589 14590 * docs/deprecation.rst: Deprecate Stem_get_available_languages() 14591 from the python bindings. 14592 14593Mon Mar 02 19:56:20 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 14594 14595 * common/Makefile.mk,common/const_database_wrapper.cc, 14596 common/const_database_wrapper.h,matcher/queryoptimiser.cc: Avoid 14597 const_cast() on Database::Internal, and exposing 14598 compiler-dependent behaviour if non-const methods are called, by 14599 adding a ConstDatabaseWrapper class, which is a subclass of 14600 Database::Internal, and also takes a Database::Internal as a 14601 parameter, to be wrapped. This class proxies all const methods 14602 to the wrapped Database::Internal, and raises 14603 InvalidOperationError on non-const methods. Fixes #332. 14604 14605Mon Mar 02 18:27:00 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 14606 14607 * include/xapian/postingsource.h: Documentation comment 14608 improvements. Be explicit that Xapian will call reset() before 14609 various methods, and will call next, skip_to or check before 14610 at_end. 14611 * include/xapian/query.h: Wrap over-long line. 14612 14613Mon Mar 02 18:26:37 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 14614 14615 * docs/Makefile.am,docs/serialisation.rst: Add topic document about 14616 serialisation. 14617 14618Mon Mar 02 17:58:28 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 14619 14620 * docs/postingsource.rst: Update documentation with new design. 14621 14622Mon Mar 02 17:16:54 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 14623 14624 * api/omqueryinternal.cc: Change serialisation of queries to use 14625 encode_length() rather than om_tostring(), for a more compact and 14626 easier to parse representation. 14627 14628Mon Mar 02 14:48:08 GMT 2009 Olly Betts <olly@survex.com> 14629 14630 * backends/multi/multi_alltermslist.cc: Fix memory leak which 14631 was causing allterms6 to fail. 14632 14633Mon Mar 02 14:15:11 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 14634 14635 * matcher/externalpostlist.cc: Fix memory leak in external source 14636 postlist (fixes fixedweightsource1). 14637 14638Mon Mar 02 13:41:29 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 14639 14640 * api/postingsource.cc: Don't set max_weight in 14641 ValueMapPostingSource::set_default_weight() - it's set in 14642 reset() before being used, and it's not been set here yet, so 14643 accessing it in std::max() was making valgrind complain. 14644 14645Mon Mar 02 12:23:01 GMT 2009 Olly Betts <olly@survex.com> 14646 14647 * HACKING,configure.ac,tests/runtest.in: Don't use valgrind if it's 14648 < 3.3.0 as that's well over a year old and greatly simplifies the 14649 configure tests. Fix options passed to valgrind so that the 14650 testsuite harness actually reports problems detected by newer 14651 valgrind versions. 14652 14653Mon Mar 02 10:08:25 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 14654 14655 * api/,bin/xapian-tcpsrv.cc,common/Makefile.mk,common/remoteserver.h, 14656 common/serialisationcontextinternal.h,include/Makefile.mk, 14657 include/xapian.h,include/xapian/enquire.h,include/xapian/query.h, 14658 include/xapian/serialisationcontext.h,net/remoteserver.cc, 14659 tests/api_serialise.cc,tests/internaltest.cc: Add 14660 SerialisationContext. This object is used to register 14661 PostingSource or Weight subclasses, so that they can be 14662 serialised and unserialised, and therefore used in remote 14663 searches. Add two-argument form for Query::unserialise() which 14664 takes a serialisation context. Fixes #206. 14665 14666Mon Mar 02 07:13:38 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 14667 14668 * include/xapian/database.h: Further tweak to wording of 14669 documentation about close(). 14670 14671Mon Mar 02 07:05:54 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 14672 14673 * backends/chert/chert_table.cc,backends/chert/chert_table.h, 14674 backends/flint/flint_table.cc,backends/flint/flint_table.h: 14675 Factor out more "throw Xapian::DatabaseError("Database has been 14676 closed")" bits into separate functions: knocks another 20KB off 14677 the shared library size. 14678 14679Mon Mar 02 05:46:15 GMT 2009 Olly Betts <olly@survex.com> 14680 14681 * include/xapian/enquire.h: Document how to get all matches from 14682 Enquire::get_mset(). 14683 14684Mon Mar 02 04:52:17 GMT 2009 Olly Betts <olly@survex.com> 14685 14686 * backends/inmemory/inmemory_alltermslist.cc, 14687 backends/inmemory/inmemory_database.cc, 14688 backends/inmemory/inmemory_database.h: Factor out "throw 14689 Xapian::DatabaseError("Database has been closed") into a separate 14690 function which knocks over 100KB off the shared library size (just 14691 over 0.5%). 14692 14693Mon Mar 02 03:57:17 GMT 2009 Olly Betts <olly@survex.com> 14694 14695 * matcher/phrasepostlist.h: Remove blank line from end of file. 14696 14697Mon Mar 02 03:52:10 GMT 2009 Olly Betts <olly@survex.com> 14698 14699 * api/replication.cc,common/msvc_posix_wrapper.cc: Cuddle braces for 14700 "if" and "switch". 14701 14702Mon Mar 02 03:32:32 GMT 2009 Olly Betts <olly@survex.com> 14703 14704 * tests/api_closedb.cc: Use more conventional uppercase macro parameter 14705 names. Wrap long comments. Remove another unused exception name. 14706 14707Mon Mar 02 03:21:39 GMT 2009 Olly Betts <olly@survex.com> 14708 14709 * api/replication.cc,backends/chert/chert_databasereplicator.cc, 14710 backends/flint/flint_databasereplicator.cc,net/remoteserver.cc, 14711 tests/api_closedb.cc,tests/perftest/perftest_matchdecider.cc: 14712 Don't name the exception being caught if we don't look at it. While 14713 GCC doesn't currently warn "unused variable" here, I'm fairly sure 14714 there are compilers which do. 14715 14716Mon Mar 02 03:20:52 GMT 2009 Olly Betts <olly@survex.com> 14717 14718 * tests/perftest/perftest.cc: Wrap overlong comment. 14719 14720Mon Mar 02 03:17:48 GMT 2009 Olly Betts <olly@survex.com> 14721 14722 * matcher/mergepostlist.cc: Change "do { ... } while (true);" to the 14723 more usual "while (true) { ... }". 14724 14725Sun Mar 01 19:41:16 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 14726 14727 * tests/api_closedb.cc: Merge closedb1 and closedb2 into a single 14728 test, and add lots more checking to it. Rename closedb3 to 14729 closedb2, to avoid leaving an odd gap. closedb1 needs more work, 14730 but is a useful start; committing now, rather than once I've done 14731 this work, since the old test is failing in buildbot, and I don't 14732 want to get in the way of snapshot tarballs. 14733 14734Sun Mar 01 19:27:38 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 14735 14736 * backends/chert/chert_table.cc,backends/flint/flint_table.cc: 14737 Add a few guards to throw DatabaseError when the database has 14738 been permanently closed, rather than behaving as if the table is 14739 empty in that situation. Also, don't delete the resources in the 14740 table when Database::close() is called, because they may still be 14741 used to attempt to look up cached content. 14742 14743Sun Mar 01 18:22:52 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 14744 14745 * include/xapian/database.h: Update documentation comments for 14746 reopen() and close() to document the API we're aiming for (ie, 14747 that closed databases either return the right result from cache, 14748 or raise a DatabaseError). 14749 14750Sun Mar 01 18:20:19 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 14751 14752 * backends/inmemory/inmemory_alltermslist.cc, 14753 backends/inmemory/inmemory_database.cc, 14754 backends/inmemory/inmemory_database.h: Add a flag to mark whether 14755 the database is closed, and add guards before all methods which 14756 access content which goes away when the database is closed, to 14757 raise an exception if the database is closed. 14758 14759Sun Mar 01 18:20:03 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 14760 14761 * backends/inmemory/inmemory_document.h: Fix a typo in a comment. 14762 14763Sun Mar 01 17:49:26 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 14764 14765 * matcher/mergepostlist.cc: Fix ticket #336 by calling 14766 recalc_maxweight when a sub-posting list finishes (other than 14767 after the last one, where there is no point in calling 14768 recalc_maxweight). 14769 14770Sun Mar 01 15:34:46 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 14771 14772 * tests/api_db.cc: Fix MyDontAskWeightPostingSource to use the 14773 database passed to reset(), rather than one passed to its 14774 constructor. This allows externalsource4 to be enabled for 14775 multidatabases. 14776 14777Sun Mar 01 13:07:37 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 14778 14779 * include/xapian/postingsource.h: Add comments as discussed in 14780 ticket #295 to make clear that in a multi-database search, 14781 PostingSources are passed a single sub-database. Also mention 14782 that the returned value of clone() will be deallocated with 14783 delete. 14784 14785Sat Feb 28 08:21:33 GMT 2009 Olly Betts <olly@survex.com> 14786 14787 * api/omdatabase.cc,backends/chert/chert_database.cc, 14788 backends/chert/chert_database.h,backends/database.cc, 14789 backends/flint/flint_database.cc,backends/flint/flint_database.h, 14790 backends/inmemory/inmemory_database.cc, 14791 backends/inmemory/inmemory_database.h, 14792 backends/remote/remote-database.cc,common/,docs/remote_protocol.html, 14793 examples/copydatabase.cc,include/xapian/database.h, 14794 net/remoteserver.cc,tests/,tests/perftest/perftest_matchdecider.cc, 14795 tests/perftest/perftest_randomidx.cc,tests/queryparsertest.cc: Add 14796 WritableDatabase::commit() as a new, preferred alias for 14797 WritableDatabase::flush(). (bug#266) 14798 14799Fri Feb 27 01:59:31 GMT 2009 Olly Betts <olly@survex.com> 14800 14801 * include/xapian/database.h: WritableDatabase::flush() can't throw 14802 DatabaseLockError. WritableDatabase's ctor can throw at least 14803 DatabaseCorruptError or DatabaseLockError. 14804 14805Thu Feb 26 14:54:28 GMT 2009 Olly Betts <olly@survex.com> 14806 14807 * tests/api_db.cc,tests/api_valuestream.cc: Update comments about why 14808 certain tests are disabled for certain backends. Enable 14809 valueweightsource5 for multi and valuemapsource2 for remote. 14810 14811Thu Feb 26 14:53:19 GMT 2009 Olly Betts <olly@survex.com> 14812 14813 * matcher/multiandpostlist.cc: Use AssertRelParanoid() instead 14814 of AssertParanoid() so the values get reported if the assertion 14815 fails. 14816 14817Thu Feb 26 14:18:21 GMT 2009 Olly Betts <olly@survex.com> 14818 14819 * include/xapian/postingsource.h: Tweak word order. 14820 14821Thu Feb 26 12:48:16 GMT 2009 Olly Betts <olly@survex.com> 14822 14823 * tests/api_db.cc: Make the PostingSource subclass ctors which are 14824 only called from clone() private to set a good example for users. 14825 14826Thu Feb 26 12:28:34 GMT 2009 Olly Betts <olly@survex.com> 14827 14828 * include/xapian/postingsource.h: Fix doc comment typo. 14829 14830Thu Feb 26 12:08:40 GMT 2009 Olly Betts <olly@survex.com> 14831 14832 * api/omqueryinternal.cc,include/xapian/query.h: Avoid copying 14833 Query::Internal objects needlessly when unserialising Query 14834 objects. 14835 14836Thu Feb 26 10:07:18 GMT 2009 Olly Betts <olly@survex.com> 14837 14838 * tests/api_db.cc: A couple more uncollapsed tests. 14839 14840Thu Feb 26 08:28:42 GMT 2009 Olly Betts <olly@survex.com> 14841 14842 * tests/api_anydb.cc,tests/api_wrdb.cc,tests/harness/testsuite.h, 14843 tests/perftest/perftest_matchdecider.cc,tests/queryparsertest.cc: 14844 Update to use new TEST_REL() macro. Remove old TEST_LESSER(), 14845 etc. 14846 14847Thu Feb 26 07:51:43 GMT 2009 Olly Betts <olly@survex.com> 14848 14849 * matcher/multimatch.cc: Fix the new 14850 Enquire::get_uncollapsed_matches_lower_bound(), etc methods for 14851 certain cases. 14852 * tests/api_anydb.cc,tests/api_db.cc: Extend existing tests to also 14853 check Enquire::get_uncollapsed_matches_lower_bound(), etc. 14854 14855Thu Feb 26 07:49:23 GMT 2009 Olly Betts <olly@survex.com> 14856 14857 * tests/harness/Makefile.mk,tests/harness/testmacros.h, 14858 tests/harness/testsuite.h: Add new "TEST_REL" macro which can test 14859 for a condition using any relational operator and report a failure 14860 clearly yet concisely. 14861 14862Wed Feb 25 13:43:41 GMT 2009 Olly Betts <olly@survex.com> 14863 14864 * matcher/multimatch.cc: Fix adjustment of the uncollapse bounds and 14865 estimate. 14866 14867Wed Feb 25 12:32:13 GMT 2009 Olly Betts <olly@survex.com> 14868 14869 * configure.ac: GCC --version keeps changing format, and as a result 14870 we were currently getting "g++" as the version. So change to the 14871 (hopefully) more robust technique of using g++ -E to pull out 14872 __GNUC__ and __GNUC_MINOR__. 14873 14874Wed Feb 25 03:14:08 GMT 2009 Olly Betts <olly@survex.com> 14875 14876 * api/omdatabase.cc: Fix for compiling with Sun's compiler 14877 (untested as I no longer have access to it). 14878 14879Mon Feb 23 14:11:12 GMT 2009 Olly Betts <olly@survex.com> 14880 14881 * docs/sorting.rst: Clarify meaning. 14882 14883Mon Feb 23 14:04:50 GMT 2009 Olly Betts <olly@survex.com> 14884 14885 * docs/deprecation.rst,include/xapian/enquire.h,tests/: Rename the 14886 wrongly named "ascending" parameter of the set_sort_by*() methods 14887 of Enquire to "reverse" and deprecate the default value since 14888 defaulting to "reverse=true" is confusing. (bug#311) 14889 14890Mon Feb 23 01:24:23 GMT 2009 Olly Betts <olly@survex.com> 14891 14892 * api/omenquire.cc,backends/remote/remote-database.cc, 14893 common/multimatch.h,common/omenquireinternal.h, 14894 common/remote-database.h,docs/collapsing.rst, 14895 docs/remote_protocol.html,include/xapian/enquire.h,matcher/, 14896 net/remoteserver.cc,net/serialise.cc,tests/Makefile.am, 14897 tests/api_collapse.cc: Replace the collapsing code in the matcher 14898 with a separate Collapser class. This new class can keep more than 14899 one document with each collapse key. Also track bounds and an 14900 estimate of the total number of matches if collapsing wasn't in use. 14901 14902Mon Feb 23 00:52:16 GMT 2009 Olly Betts <olly@survex.com> 14903 14904 * api/omdatabase.cc: Fix AssertionError from apitest testcases 14905 fixedweightsource2 and valueweightsource1. 14906 14907Sun Feb 22 11:02:24 GMT 2009 Olly Betts <olly@survex.com> 14908 14909 * backends/chert/chert_lock.cc,backends/flint/flint_lock.cc: Check for 14910 fork failing *after* we check if we're now the child process. 14911 14912Sun Feb 22 10:06:13 GMT 2009 Olly Betts <olly@survex.com> 14913 14914 * backends/chert/chert_lock.cc,backends/flint/flint_lock.cc: Note 14915 explicitly why we now have the strange empty if (not) checking the 14916 return value of chdir("/") (it's actually newer glibc and 14917 _FORTIFY_SOURCE rather than newer GCC). Retry closing filehandle if 14918 it returns EINTR. Whitespace tweaks. 14919 14920Sat Feb 21 11:04:08 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 14921 14922 * backends/chert/chert_lock.cc,backends/flint/flint_lock.cc: Fix 14923 warning about ignoring result of chdir (with GCC 4.2) 14924 14925Sat Feb 21 08:18:21 GMT 2009 Olly Betts <olly@survex.com> 14926 14927 * tests/harness/testsuite.cc: Fix option usage in --help - "-x=foo" 14928 doesn't work - "-x foo" does. 14929 14930Sat Feb 21 07:37:01 GMT 2009 Olly Betts <olly@survex.com> 14931 14932 * tests/perftest/perftest_randomidx.cc: Use two argument version of 14933 rand_int() where applicable. Reserve length of result string in 14934 gen_word(). Fix truncated comment. 14935 14936Sat Feb 21 04:27:45 GMT 2009 Olly Betts <olly@survex.com> 14937 14938 * backends/chert/chert_lock.cc,backends/flint/flint_lock.cc: In the 14939 locking child process, before we exec /bin/cat change directory to 14940 / so that we don't block unmounting of any partitions and close 14941 any open file descriptors (apart from those we're using) so that if 14942 the files are closed by our parent and deleted the disk space gets 14943 released right away. 14944 14945Sat Feb 21 02:06:56 GMT 2009 Olly Betts <olly@survex.com> 14946 14947 * api/postingsource.cc,include/xapian/postingsource.h: Pass string as 14948 const string &; drop trailing "_" from parameters which don't clash 14949 with member variables; fix brace formatting on a couple of for 14950 loops. 14951 14952Fri Feb 20 14:32:46 GMT 2009 Olly Betts <olly@survex.com> 14953 14954 * tests/api_closedb.cc: Fix testcase closedb3 not to create a test 14955 database named closedb2. 14956 14957Fri Feb 20 01:38:32 GMT 2009 Olly Betts <olly@survex.com> 14958 14959 * include/xapian/enquire.h: Documentation comment improvements. 14960 14961Wed Feb 18 06:48:43 GMT 2009 Olly Betts <olly@survex.com> 14962 14963 * matcher/multimatch.cc: Use AssertRel rather than Assert with an 14964 inequality so that we see the arguments if the assertion fails. 14965 14966Wed Feb 18 06:39:33 GMT 2009 Olly Betts <olly@survex.com> 14967 14968 * matcher/multimatch.cc: "items" -> "rsetitems" to distinguish from 14969 items used elsewhere for the MSet items. 14970 14971Wed Feb 18 06:20:38 GMT 2009 Olly Betts <olly@survex.com> 14972 14973 * matcher/multimatch.cc: Drop superfluous "std::". 14974 14975Wed Feb 18 05:46:59 GMT 2009 Olly Betts <olly@survex.com> 14976 14977 * NEWS: Update from ChangeLog. 14978 14979Tue Feb 17 23:53:54 GMT 2009 Olly Betts <olly@survex.com> 14980 14981 * include/xapian/document.h,include/xapian/query.h: "xapian" -> 14982 "Xapian". 14983 14984Tue Feb 17 15:02:49 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 14985 14986 * include/xapian/document.h,include/xapian/query.h: Soften comment 14987 warning about changes in serialised format between xapian 14988 versions; note that the format won't change unless the remote 14989 database protocol has changed. 14990 14991Tue Feb 17 14:59:29 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 14992 14993 * api/omquery.cc: Return std::string() rather than "" to encourage 14994 compilers to use special empty string representation. 14995 14996Mon Feb 16 14:27:28 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 14997 14998 * api/postingsource.cc: Change the name() methods of the built-in 14999 posting sources to return a full name (starting with Xapian:: and 15000 ending with PostingSource), as documented in the API 15001 documentation comments. 15002 15003Mon Feb 16 13:32:39 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 15004 15005 * api/omqueryinternal.cc,common/remoteserver.h, 15006 matcher/externalpostlist.cc,matcher/externalpostlist.h, 15007 matcher/queryoptimiser.cc,net/remoteserver.cc, 15008 tests/api_percentages.cc,tests/api_valuestream.cc: Add some 15009 copyright lines missed in changeset [11838]. 15010 15011Mon Feb 16 11:56:46 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 15012 15013 * matcher/queryoptimiser.cc: Add another reference from a FIXME to 15014 a ticket number. 15015 15016Mon Feb 16 11:47:21 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 15017 15018 * api/omqueryinternal.cc: Update two FIXMEs to reference the 15019 appropriate ticket. 15020 15021Mon Feb 16 10:11:39 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 15022 15023 * Add support for multi and remote backends with posting sources, 15024 from ticket #295: 15025 * include/xapian/postingsource.h: Add some clarifying comments 15026 about the interface of PostingSources, and add clone(), name(), 15027 serialise() and unserialise() methods to PostingSources, for 15028 remote and multidatabase support. 15029 * include/xapian/query.h: Add internal member to track ownership of 15030 external posting sources, and update some comments. 15031 * api/postingsource.cc: Add implementations of the new methods, so 15032 that all standard PostingSources support remote and multi 15033 database searches. 15034 * api/omquery.cc: Clone external PostingSources if possible. 15035 * api/omqueryinternal.cc: Add serialisation and unserialisation 15036 support for posting sources, and support for keeping track of 15037 whether an external posting source is owned by the query object 15038 or not (ie, whether it needs to be deleted by the destructor). 15039 * matcher/externalpostlist.cc,matcher/externalpostlist.h: (Attempt 15040 to) clone external posting sources at start, and call the reset() 15041 method with the database in use. Delete the posting source 15042 afterwards, if the clone was successful. 15043 * matcher/queryoptimiser.cc: Pass the database to ExternalPostList. 15044 Sadly, this currently requires a const_cast. 15045 * tests/: Update tests of PostingSources to take the db parameter 15046 on the reset() method, and to test behaviour with multi and 15047 remote backends where appropriate. Also, add regression test for 15048 segfault in FixedWeightPostingSource::skip_to() when database is 15049 empty. 15050 * net/remoteserver.cc,common/remoteserver.h: Add the built-in 15051 posting sources to the remote server, and add 15052 register_posting_source() to the remoteserver, for use in 15053 xapian-tcpsrv.cc for user posting sources, analogously to 15054 register_weighting_scheme(). 15055 15056Fri Feb 13 20:09:10 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 15057 15058 * api/postingsource.cc: Fix segfaults which occur if an empty 15059 ValuePostingSource subclass has the skip_to() or check() methods 15060 called on it first. 15061 * tests/api_db.cc tests/api_valuestream.cc: Move valuemapsource1 to 15062 api_valuestream.cc, since that seems like a better place (and 15063 api_db.cc is already rather over-large). Add regression test 15064 "valuemapsource2" to check the behaviour of ValuePostingSource 15065 subclasses on empty lists. 15066 15067Fri Feb 13 19:29:38 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 15068 15069 * api/postingsource.cc,include/xapian/postingsource.h: Add 15070 ValuePostingSource, which is a base class for implementing 15071 posting sources based on reading from a value slot. Convert 15072 ValueWeightPostingSource to be a subclass of this, and add 15073 ValueMapPostingSource, which is a posting source which uses a map 15074 to convert values to weights. 15075 * tests/api_db.cc: Add valuemapsource1, testing the 15076 ValueMapPostingSource. 15077 15078Fri Feb 13 15:14:53 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 15079 15080 * tests/harness/index_utils.cc: Add value 13, containing the first 15081 3 letters of the paragraph - needed for some tests I'm going to 15082 commit shortly. 15083 15084Fri Feb 13 14:05:44 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 15085 15086 * tests/api_sorting.cc: Change slot number used to get an empty 15087 slot from 13 to 100 - we're getting close to using slot 13 now! 15088 15089Sat Feb 07 00:31:12 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 15090 15091 * backends/chert/chert_cursor.cc,backends/flint/flint_cursor.cc: 15092 Return accidentally changed "XAPIAN_ASSERTIONS_VERBOSE" ifdefs to 15093 "XAPIAN_DEBUG_VERBOSE". 15094 15095Sat Feb 07 00:16:43 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 15096 15097 * api/omdocument.cc,api/omquery.cc,include/xapian/document.h, 15098 include/xapian/query.h: Add methods for serialising documents and 15099 queries into strings, and unserialising back from strings. Fixes 15100 most of ticket #206 - missing part is that serialising queries 15101 containing PostingSources doesn't work. 15102 * tests/Makefile.am,tests/api_serialise.cc: Add tests of document 15103 and query serialisation. 15104 15105Fri Feb 06 16:06:50 GMT 2009 Richard Boulton <richard@lemurconsulting.com> 15106 15107 * configure.ac: Set HAVE_PREAD and HAVE_PWRITE if pread and pwrite 15108 are found; turns use of pread and pwrite back on. This improves 15109 the speed of a test case of 10,000 (fully cached) searches from 15110 1.84 seconds to 1.78 seconds for me (on ubuntu hardy) - ie, about 15111 3% speed increase. 15112 15113Tue Jan 20 06:22:20 GMT 2009 Olly Betts <olly@survex.com> 15114 15115 * tests/api_db.cc: Prefer value.empty() to value == "". 15116 15117Mon Jan 19 05:08:48 GMT 2009 Olly Betts <olly@survex.com> 15118 15119 * AUTHORS,queryparser/Makefile.mk: Fix "#line" directives in generated 15120 file queryparser/queryparser_internal.cc to give a relative path - 15121 previously they had a full path when generated by a VPATH build, and 15122 this confused GCC 2.95 and depcomp. 15123 15124Sun Jan 18 23:34:22 GMT 2009 Olly Betts <olly@survex.com> 15125 15126 * api/omenquire.cc: Throw UnimplementedError from Enquire::get_mset() 15127 if we're asked for a percentage cutoff and to sort primarily by 15128 value - this has never been correctly supported and it's better to 15129 warn people than give incorrect results. 15130 * tests/api_percentages.cc: Add test that this error gets thrown. 15131 15132Tue Jan 13 08:20:36 GMT 2009 Olly Betts <olly@survex.com> 15133 15134 * common/omenquireinternal.h: Swap the items vector into the 15135 MSet::Internal object rather than copying it to avoid the overhead 15136 of the copy. 15137 15138Thu Jan 08 05:14:47 GMT 2009 Olly Betts <olly@survex.com> 15139 15140 * backends/chert/chert_cursor.cc,backends/chert/chert_postlist.cc, 15141 backends/flint/flint_cursor.cc,backends/flint/flint_postlist.cc, 15142 backends/multi/multi_postlist.cc,common/omassert.h,configure.ac, 15143 matcher/multimatch.cc: Change preprocessor defines controlling 15144 assertions from XAPIAN_DEBUG->XAPIAN_ASSERTIONS and 15145 XAPIAN_DEBUG_PARANOID->XAPIAN_ASSERTIONS_PARANOID so their purpose 15146 is clearer. 15147 15148Thu Jan 08 02:23:21 GMT 2009 Olly Betts <olly@survex.com> 15149 15150 * NEWS: Update from ChangeLog. 15151 15152Wed Jan 07 03:43:07 GMT 2009 Olly Betts <olly@survex.com> 15153 15154 * api/matchspy.cc: Fix FP rounding bug (bug#321). 15155 * AUTHORS: Add Shane Evans for bug report. 15156 15157Tue Jan 06 22:08:12 GMT 2009 Olly Betts <olly@survex.com> 15158 15159 * backends/inmemory/inmemory_database.cc: Fix comment typo. 15160 15161Tue Jan 06 21:39:30 GMT 2009 Olly Betts <olly@survex.com> 15162 15163 * api/matchspy.cc: Add assertions to try to track down what's causing 15164 bug#321. 15165 15166Tue Jan 06 03:20:27 GMT 2009 Olly Betts <olly@survex.com> 15167 15168 * matcher/exactphrasepostlist.cc,matcher/phrasepostlist.cc: Fix 15169 comment typos. 15170 15171Mon Jan 05 04:42:04 GMT 2009 Olly Betts <olly@survex.com> 15172 15173 * queryparser/queryparser.lt: Merge upstream "Check-in Number: 6016" - 15174 only change is to comment noting the synced version as the changed 15175 code has been deleted in our version. 15176 15177Fri Dec 26 15:05:05 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15178 15179 * include/xapian/database.h: Add Database.close() method, used to 15180 close the resources (in particular, the filehandles) held by a 15181 database before the destructor is called. Particularly useful 15182 for the bindings from other languages. 15183 * api/omdatabase.cc,backends/chert/chert_database.cc, 15184 backends/chert/chert_database.h,backends/flint/flint_database.cc, 15185 backends/flint/flint_database.h, 15186 backends/inmemory/inmemory_database.cc, 15187 backends/inmemory/inmemory_database.h, 15188 backends/remote/remote-database.cc,common/database.h, 15189 common/remote-database.h,net/remoteconnection.cc: Implementation 15190 of close() methods. 15191 * tests/Makefile.am,tests/api_closedb.cc: New test file, for 15192 testing the close method. Could do with being expanded to test 15193 many more methods of databases in the closed state, and to test 15194 the behaviour after the close of objects created from databases 15195 before the database was closed. 15196 15197Fri Dec 26 13:42:14 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15198 15199 * backends/chert/chert_table.cc,backends/flint/flint_table.cc: 15200 Raise error if database has been closed permanently when 15201 cursor_get() is called - a NULL return type isn't checked in 15202 various places (for tables which are never closed temporarily), 15203 so this is the easiest place to add a check to avoid a segfault 15204 without incurring extra overhead. 15205 15206Tue Dec 23 13:42:21 GMT 2008 Olly Betts <olly@survex.com> 15207 15208 * languages/compiler/analyser.c: Fix GCC 4.3 warning. 15209 15210Tue Dec 23 06:35:11 GMT 2008 Olly Betts <olly@survex.com> 15211 15212 * PLATFORMS: Sync with 1.0 branch. 15213 * PLATFORMS: Remove 0.9.x build reports; move 1.0.x build reports 15214 to the "old version" section. 15215 * INSTALL: Adapt old footnotes from PLATFORMS about HP's aCC and IRIX 15216 into new paragraphs here. 15217 15218Tue Dec 23 05:19:52 GMT 2008 Olly Betts <olly@survex.com> 15219 15220 * HACKING,configure.ac: Make automake 1.10.2 a hard minimum 15221 requirement. 15222 15223Tue Dec 23 04:36:27 GMT 2008 Olly Betts <olly@survex.com> 15224 15225 * NEWS: Update from ChangeLog. 15226 15227Mon Dec 22 16:02:58 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15228 15229 * backends/chert/chert_databasereplicator.cc, 15230 backends/databasereplicator.cc, 15231 backends/flint/flint_databasereplicator.cc: Fix some missing bits 15232 for debug compilation. 15233 15234Mon Dec 22 13:30:53 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15235 15236 * api/replication.cc,backends/Makefile.mk,backends/chert/, 15237 backends/database.cc,backends/databasereplicator.cc,backends/flint/, 15238 common/Makefile.mk,common/database.h,common/databasereplicator.h: 15239 Add DatabaseReplicator base class, and subclasses for flint and 15240 chert, to hold parts of database replication code which need to 15241 be applied to a partially replicated database which may not be a 15242 valid database. Move the code for applying changesets and 15243 comparing revision numbers into here, and add code for getting 15244 uuids which simply returns "" if the database is too broken to 15245 have a uuid associated with it. Update the replication code to 15246 use DatabaseReplicator subclasses instead of Database classes 15247 where necessary, to avoid failing if a partial database is 15248 transmitted. Add additional checks to ensure that the UUID of a 15249 replicated databse is equal to that sent in the replication 15250 protocol message introducing a full database copy; if they 15251 differ, a retry of the copy is needed, so ensure that the next 15252 message sent is a new copy of the database. 15253 15254Mon Dec 22 11:24:43 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15255 15256 * docs/replication.rst: Warning about a possible way to confuse the 15257 replication process. 15258 15259Sat Dec 20 14:00:34 GMT 2008 Olly Betts <olly@survex.com> 15260 15261 * tests/api_percentages.cc: Update (C) too. 15262 15263Sat Dec 20 13:51:35 GMT 2008 Olly Betts <olly@survex.com> 15264 15265 * matcher/multimatch.cc: If we're using values for sorting and for 15266 another purpose, cache the Document::Internal object from getting 15267 the value for sorting like we do between other uses. 15268 15269Sat Dec 20 13:09:13 GMT 2008 Olly Betts <olly@survex.com> 15270 15271 * tests/api_percentages.cc: Make formatting of MyPostingSource code 15272 more self-consistent. Remove a superfluous block scope. Wrap a 15273 long comment. 15274 15275Sat Dec 20 12:25:40 GMT 2008 Olly Betts <olly@survex.com> 15276 15277 * exception_data.pm: Build a hash mapping a class to a list of its 15278 subclasses and export this as %subclasses. 15279 15280Sat Dec 20 05:51:50 GMT 2008 Olly Betts <olly@survex.com> 15281 15282 * HACKING: Wrap a long line. 15283 15284Sat Dec 20 05:28:57 GMT 2008 Olly Betts <olly@survex.com> 15285 15286 * queryparser/lemon.c: Merge upstream "Check-in Number: 6016". 15287 15288Fri Dec 19 14:25:10 GMT 2008 Olly Betts <olly@survex.com> 15289 15290 * queryparser/queryparser.lt: Merge upstream "Check-in Number: 6015". 15291 15292Fri Dec 19 14:07:52 GMT 2008 Olly Betts <olly@survex.com> 15293 15294 * queryparser/queryparser.lt: Merge upstream "Check-in Number: 6006". 15295 15296Fri Dec 19 13:51:33 GMT 2008 Olly Betts <olly@survex.com> 15297 15298 * queryparser/queryparser.lt: Merge upstream "Check-in Number: 5919" 15299 - code changes are in deleted code, so no actual code changes for 15300 us. 15301 15302Fri Dec 19 13:46:22 GMT 2008 Olly Betts <olly@survex.com> 15303 15304 * queryparser/lemon.c: Merge upstream "Check-in Number: 6008". 15305 15306Fri Dec 19 11:15:04 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15307 15308 * tests/api_replicate.cc: Fix comment describing test. 15309 15310Thu Dec 18 23:38:50 GMT 2008 Olly Betts <olly@survex.com> 15311 15312 * backends/chert/chert_table.cc,backends/flint/flint_table.cc: Tidy up 15313 comment wrapping and indenting of code wrapped in try blocks by the 15314 previous commit. 15315 15316Thu Dec 18 14:26:30 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15317 15318 * backends/chert/chert_database.cc,backends/chert/chert_table.cc, 15319 backends/chert/chert_table.h,backends/flint/flint_database.cc, 15320 backends/flint/flint_table.cc,backends/flint/flint_table.h: 15321 Improve resilience to unexpected errors during commit. Firstly, 15322 fix FlintTable and ChertTable to close the table if an error 15323 occurs during commit - this avoids the table being left in an 15324 inconsistent state (instead, the table is reopened in a 15325 consistent state the next time it is used). Secondly, add a 15326 "permanent" close state for tables (indicated by handle being set 15327 to -2), which will raise an error if anything tries to do an 15328 action which needs the table to be opened, and set the tables to 15329 this state if we fail to recover the database after error in 15330 commit(). This prevents further actions on the database if we 15331 couldn't recover the state (eg, because we're out of disk space), 15332 avoiding risk of corruption. 15333 15334Thu Dec 18 01:28:06 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15335 15336 * backends/chert/chert_database.cc,backends/chert/chert_database.h, 15337 backends/flint/flint_database.cc,backends/flint/flint_database.h: 15338 Improve the error reporting when modifications fail and we cannot 15339 set the revision numbers in the table to consistent values, to 15340 report the original error too. 15341 15342Wed Dec 17 17:27:24 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15343 15344 * backends/chert/chert_table.cc,backends/flint/flint_table.cc: 15345 Fix construction of the error message when a base can't be 15346 re-read: used to do pointer arithmetic by mistake - now does the 15347 correct string concatenation. 15348 15349Wed Dec 17 15:18:10 GMT 2008 Olly Betts <olly@survex.com> 15350 15351 * tests/api_valuestream.cc: Skip valuestream3 on chert for now so that 15352 snapshots and the tinderbox work again. 15353 15354Wed Dec 17 15:17:07 GMT 2008 Olly Betts <olly@survex.com> 15355 15356 * tests/api_wrdb.cc: Need omassert.h for STATIC_ASSERT. 15357 15358Wed Dec 17 10:45:45 GMT 2008 Olly Betts <olly@survex.com> 15359 15360 * api/omqueryinternal.cc,tests/api_nodb.cc: A NEAR of 2 OR subqueries 15361 shouldn't throw AssertionError - instead throw UnimplementedError. 15362 Addresses the worst aspect of bug#201, but this should really be 15363 implemented. 15364 15365Wed Dec 17 04:44:10 GMT 2008 Olly Betts <olly@survex.com> 15366 15367 * backends/chert/chert_database.cc,backends/chert/chert_database.h: 15368 Implement ChertWritableDatabase::open_value_list(). 15369 * tests/api_valuestream.cc: Add valueweightsource5 testcase which is a 15370 regression test for bug#299 and also exercises the above method. 15371 15372Tue Dec 16 13:30:47 GMT 2008 Olly Betts <olly@survex.com> 15373 15374 * common/expandweight.h,expand/expandweight.cc: Overhaul ExpandWeight 15375 - now we use the "official" formula and don't return terms which it 15376 would give a negative weight to (since that means they are expected 15377 to be harmful not helfpul). 15378 * tests/api_anydb.cc,tests/api_db.cc: Fix unwarranted assumptions in 15379 existing testcases broken by this change. 15380 15381Thu Dec 11 01:02:41 GMT 2008 Olly Betts <olly@survex.com> 15382 15383 * examples/delve.cc: Add missing "and" to --help output. Report 15384 termfreq and collection freq for each term we're asked about. 15385 15386Mon Dec 08 00:52:51 GMT 2008 Olly Betts <olly@survex.com> 15387 15388 * AUTHORS: Add Daniel Andersson for reporting the flintlock 15389 permissions issue. 15390 15391Sun Dec 07 22:50:32 GMT 2008 Olly Betts <olly@survex.com> 15392 15393 * api/sorter.cc,tests/api_sorting.cc: Fix an empty MultiValueSorter 15394 not to SEGV/hang. 15395 15396Fri Dec 05 21:08:08 GMT 2008 Olly Betts <olly@survex.com> 15397 15398 * backends/chert/chert_database.cc,tests/api_backend.cc: Use 15399 "flintlock" rather than "chertlock" for the lockfile in chert. 15400 The locking is compatible and this avoids the possibility of 15401 creating a chert and flint database in the same directory (which 15402 will result in one being corrupt since the Btree filenames overlap). 15403 15404Thu Dec 04 09:00:04 GMT 2008 Olly Betts <olly@survex.com> 15405 15406 * backends/chert/chert_lock.cc,backends/flint/flint_lock.cc: Create 15407 the lockfile with permissions 0666 so that the umask is honoured 15408 just like we do for the other files (previously we used 0600). 15409 * tests/Makefile.am,tests/api_backend.cc: Add regression test 15410 lockfileumask1. 15411 15412Thu Dec 04 08:56:54 GMT 2008 Olly Betts <olly@survex.com> 15413 15414 * tests/stemtest.cc: Use str.resize(0) instead of str = "". 15415 15416Thu Dec 04 04:56:55 GMT 2008 Olly Betts <olly@survex.com> 15417 15418 * tests/queryparsertest.cc: No need to explicitly initialise a 15419 std::string to "". 15420 15421Thu Dec 04 04:55:47 GMT 2008 Olly Betts <olly@survex.com> 15422 15423 * tests/api_db.cc: Prefer str.empty() to str == "". 15424 15425Thu Dec 04 01:50:10 GMT 2008 Olly Betts <olly@survex.com> 15426 15427 * tests/api_wrdb.cc: Make helper function static. Use STATIC_ASSERT 15428 to ensure a constant is coprime with 13. 15429 15430Wed Dec 03 22:56:19 GMT 2008 Olly Betts <olly@survex.com> 15431 15432 * api/omdatabase.cc: Fix API logging. 15433 15434Wed Dec 03 03:11:45 GMT 2008 Olly Betts <olly@survex.com> 15435 15436 * INSTALL: Note that libuuid is required for Xapian 1.1.0 and higher. 15437 15438Wed Dec 03 03:10:59 GMT 2008 Olly Betts <olly@survex.com> 15439 15440 * INSTALL: Remove ':' from the end of headings. 15441 15442Mon Dec 01 08:59:04 GMT 2008 Olly Betts <olly@survex.com> 15443 15444 * HACKING: Explicitly give the commands to install the required 15445 packages for developing on recent Debian or Ubuntu for added 15446 convenience. Update the Debian/Ubuntu packages needed for 15447 documentation to reflect the change from tetex to texlive. Fix 15448 unfinished paragraph about requiring a newline at the end of a 15449 source file and note that this is actually undefined behaviour in 15450 C++. 15451 15452Sun Nov 30 21:46:59 GMT 2008 Olly Betts <olly@survex.com> 15453 15454 * bin/,examples/quest.cc,tests/harness/testsuite.cc: Pull out lists of 15455 short options next to list of long options to help make sure they 15456 are kept in step. xapian-tcpsrv and xapian-progsrv now accept -w 15457 as a short form of --writable, as their long option table had, but 15458 their short option string didn't. 15459 15460Sun Nov 30 20:44:48 GMT 2008 Olly Betts <olly@survex.com> 15461 15462 * docs/postingsource.rst: Wrap a long line. Note that the remote 15463 backend isn't supported yet. 15464 15465Wed Nov 19 11:36:00 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15466 15467 * docs/postingsource.rst: Make it clear that PostingSources must 15468 always return documents in increasing document ID order. 15469 15470Wed Nov 19 08:43:04 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15471 15472 * bin/,examples/delve.cc,examples/quest.cc,tests/harness/testsuite.cc: 15473 Test return type of gnu_getopt_long for being != -1, rather than 15474 == 0, since there are a wide variety of return types other than 0 15475 which may be returned in the successful case (with the builtin 15476 implementation in common/getopt.cc, at least). 15477 15478Tue Nov 18 23:22:09 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15479 15480 * api/omdatabase.cc: Change unknown "DATABASE" debug type to "DB". 15481 15482Mon Nov 17 13:00:12 GMT 2008 Olly Betts <olly@survex.com> 15483 15484 * docs/queryparser.html: Add link to valueranges.html. 15485 15486Fri Nov 14 22:23:10 GMT 2008 Olly Betts <olly@survex.com> 15487 15488 * NEWS: Update revision we're current to. 15489 15490Fri Nov 14 17:43:15 GMT 2008 Olly Betts <olly@survex.com> 15491 15492 * backends/chert/chert_alldocsmodifiedpostlist.cc, 15493 backends/chert/chert_modifiedpostlist.cc, 15494 backends/flint/flint_modifiedpostlist.cc: Correct comments. 15495 15496Fri Nov 14 17:38:33 GMT 2008 Olly Betts <olly@survex.com> 15497 15498 * tests/harness/testsuite.cc: Update comment about valgrind and C++ 15499 STL allocators. 15500 15501Fri Nov 14 17:36:47 GMT 2008 Olly Betts <olly@survex.com> 15502 15503 * bin/,examples/delve.cc,examples/quest.cc,tests/harness/testsuite.cc: 15504 Don't compare return value of gnu_getopt_long() with EOF - it's 15505 documented to simply return -1 or 0, and EOF requires inclusion of 15506 stdio.h. 15507 15508Fri Nov 14 17:30:39 GMT 2008 Olly Betts <olly@survex.com> 15509 15510 * common/serialise-double.cc: Fix "#elif" with no argument to 15511 "#else" - the former surprisingly compiles with most compilers, but 15512 GCC 4.4 snapshots reject it. 15513 15514Fri Nov 14 16:54:15 GMT 2008 Olly Betts <olly@survex.com> 15515 15516 * common/win32_uuid.cc: A few code clean-ups. 15517 15518Fri Nov 14 13:09:16 GMT 2008 Olly Betts <olly@survex.com> 15519 15520 * common/Makefile.mk: Ship common/safeuuid.h to unbreak tarball 15521 snapshot building. 15522 15523Sun Nov 09 13:31:19 GMT 2008 Olly Betts <olly@survex.com> 15524 15525 * api/omquery.cc,api/omqueryinternal.cc,bin/xapian-tcpsrv.cc, 15526 common/omenquireinternal.h,matcher/,net/remoteserver.cc: 15527 Prefer "" to <> for including Xapian API headers from within the 15528 library. Remove so unused xapian/enquire.h inclusions. 15529 15530Fri Nov 07 12:50:22 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15531 15532 * backends/chert/chert_version.cc,backends/chert/chert_version.h, 15533 backends/flint/flint_version.cc,backends/flint/flint_version.h, 15534 common/safeuuid.h,common/win32_uuid.cc,common/win32_uuid.h: Add 15535 implementation of UUID functions for windows (using the built-in 15536 UUID methods in the windows API). Fixes bug #303. 15537 15538Sat Nov 01 01:47:44 GMT 2008 Olly Betts <olly@survex.com> 15539 15540 * NEWS: Sync with 1.0.9 release. 15541 15542Fri Oct 31 18:55:03 GMT 2008 Olly Betts <olly@survex.com> 15543 15544 * include/xapian/database.h: Document XAPIAN_FLUSH_THRESHOLD 15545 (bug#306). 15546 15547Fri Oct 31 18:30:11 GMT 2008 Olly Betts <olly@survex.com> 15548 15549 * configure.ac: Fix whitespace inconsistency with omega's 15550 configure.ac. 15551 15552Fri Oct 31 10:51:06 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15553 15554 * api/postingsource.cc,include/xapian/postingsource.h: Add a new 15555 built-in posting source, FixedWeightSource, which returns every 15556 document in the database, but with a fixed weight. In 15557 particular, this is useful to add a constant weight to every item 15558 in a subquery. Also, in ValueWeightPostingSource, refactor the 15559 "last_docid" member to a bool "started", since this is all it's 15560 used for. 15561 * tests/api_db.cc: Add fixedweightsource1, to test FixedWeightSource. 15562 15563Mon Oct 27 17:05:39 GMT 2008 Olly Betts <olly@survex.com> 15564 15565 * tests/queryparsertest.cc: Skip test if the timer granularity is too 15566 coarse in all cases. 15567 15568Mon Oct 27 08:12:16 GMT 2008 Olly Betts <olly@survex.com> 15569 15570 * tests/api_valuestream.cc: Disable valuestream1 for multi backends. 15571 15572Sun Oct 26 00:30:54 GMT 2008 Olly Betts <olly@survex.com> 15573 15574 * backends/chert/chert_valuelist.cc: Remove incorrect assertions. 15575 15576Sat Oct 25 06:18:37 GMT 2008 Olly Betts <olly@survex.com> 15577 15578 * api/Makefile.mk: Fix typo so we once again ship editdistance.h and 15579 maptermlist.h. 15580 15581Thu Oct 23 17:34:13 GMT 2008 Olly Betts <olly@survex.com> 15582 15583 * tests/queryparsertest.cc: Skip test if the timer granularity is too 15584 coarse. 15585 15586Tue Oct 21 05:00:59 GMT 2008 Olly Betts <olly@survex.com> 15587 15588 * NEWS: Sync with branches/1.0. 15589 15590Tue Oct 21 02:09:18 GMT 2008 Olly Betts <olly@survex.com> 15591 15592 * tests/api_valuestream.cc: Add feature test of ValueIterator::check(). 15593 15594Tue Oct 21 01:36:45 GMT 2008 Olly Betts <olly@survex.com> 15595 15596 * backends/inmemory/inmemory_database.cc, 15597 backends/inmemory/inmemory_database.h: Prefer string() to "", slot 15598 to valno, and not using else after return. 15599 15600Tue Oct 21 01:32:37 GMT 2008 Olly Betts <olly@survex.com> 15601 15602 * tests/api_anydb.cc,tests/api_db.cc: Remove '#include <iomanip>' 15603 which aren't used. 15604 15605Mon Oct 20 13:30:37 GMT 2008 Olly Betts <olly@survex.com> 15606 15607 * api/postingsource.cc,api/valueiterator.cc, 15608 include/xapian/postingsource.h,include/xapian/valueiterator.h: Add 15609 new API method ValueIterator::check() and use it in PostingIterator. 15610 15611Mon Oct 20 12:28:16 GMT 2008 Olly Betts <olly@survex.com> 15612 15613 * tests/api_valuestream.cc: Add test for skip_to() on valuestream 15614 iterator. 15615 15616Mon Oct 20 11:19:12 GMT 2008 Olly Betts <olly@survex.com> 15617 15618 * tests/Makefile.am,tests/api_valuestream.cc: Add a simple test of 15619 valuestream iteration. 15620 15621Mon Oct 20 11:01:26 GMT 2008 Olly Betts <olly@survex.com> 15622 15623 * tests/Makefile.am,tests/collate-test,tests/perftest/Makefile.mk: 15624 Generate the header listing the collated tests so that we can avoid 15625 updating its timestamp when the contents are unchanged, such as in 15626 the common case where you modify tests but don't add, remove, or 15627 change the conditions on any tests. 15628 15629Mon Oct 20 10:01:56 GMT 2008 Olly Betts <olly@survex.com> 15630 15631 * examples/delve.cc: Use valuestream iterator to implement "-V<slot>". 15632 15633Mon Oct 20 02:19:09 GMT 2008 Olly Betts <olly@survex.com> 15634 15635 * backends/multi/multi_postlist.cc,backends/multi/multi_postlist.h: 15636 Remove unused members of MultiPostList: tname, collfreq_initialised, 15637 collfreq, and termweight. 15638 15639Sun Oct 19 14:01:15 GMT 2008 Olly Betts <olly@survex.com> 15640 15641 * api/postingsource.cc,include/xapian/postingsource.h: Update 15642 ValueWeightPostingSource to use a value stream iterator. 15643 15644Sun Oct 19 13:53:51 GMT 2008 Olly Betts <olly@survex.com> 15645 15646 * backends/database.cc: Make use of SlowValueList by default. 15647 15648Sun Oct 19 13:47:10 GMT 2008 Olly Betts <olly@survex.com> 15649 15650 * api/documentvaluelist.cc,api/documentvaluelist.h: Fix so that a 15651 DocumentValueList starts before the first value. 15652 15653Sun Oct 19 13:09:39 GMT 2008 Olly Betts <olly@survex.com> 15654 15655 * api/omdatabase.cc,api/omdocument.cc: Use ValueIterator() instead of 15656 ValueIterator(NULL). 15657 15658Sun Oct 19 11:15:15 GMT 2008 Olly Betts <olly@survex.com> 15659 15660 * NEWS: Update from ChangeLog. 15661 15662Sat Oct 18 01:31:25 GMT 2008 Olly Betts <olly@survex.com> 15663 15664 * NEWS: Update from ChangeLog. 15665 15666Fri Oct 17 15:54:57 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15667 15668 * bin/xapian-compact.cc: Check that pq is not empty before calling 15669 top() on it - if it's empty, we only have one database, so we can 15670 use the code path which doesn't worry about merging tags. Fixes 15671 bug #305. 15672 15673Fri Oct 17 14:22:18 GMT 2008 Olly Betts <olly@survex.com> 15674 15675 * backends/chert/chert_valuelist.cc: Fix ChertValueList to start on 15676 the right key. 15677 15678Fri Oct 17 14:14:14 GMT 2008 Olly Betts <olly@survex.com> 15679 15680 * include/xapian/database.h,include/xapian/document.h: Inline 15681 ValueIterator end iterator as ValueIterator() rather than 15682 ValueIterator(NULL). 15683 * api/valueiterator.cc: Need to call next() on a ValueList to get it 15684 to the first position, so do this in ValueIterator's constructor. 15685 * api/valueiterator.cc,include/xapian/valueiterator.h: Add 15686 ValueIterator::get_docid() method. 15687 15688Fri Oct 17 13:53:26 GMT 2008 Olly Betts <olly@survex.com> 15689 15690 * backends/slowvaluelist.cc,backends/slowvaluelist.h: Add missing 15691 SlowValueList::get_valueno() method. 15692 15693Fri Oct 17 13:16:01 GMT 2008 Olly Betts <olly@survex.com> 15694 15695 * api/omdatabase.cc,include/xapian/database.h: Add 15696 Database::valuestream_begin() and Database::valuestream_end() to 15697 allow iterating over the values in a given slot for each document 15698 in the database (untested so far). 15699 15700Thu Oct 16 13:20:26 GMT 2008 Olly Betts <olly@survex.com> 15701 15702 * backends/multi/multi_postlist.cc: Remove unused '#include <list>' 15703 and uninformative comment. 15704 15705Thu Oct 16 12:47:00 GMT 2008 Olly Betts <olly@survex.com> 15706 15707 * api/omdocument.cc,include/xapian/document.h: Inline 15708 Xapian::Document::values_end() into user code. 15709 15710Thu Oct 16 12:26:29 GMT 2008 Olly Betts <olly@survex.com> 15711 15712 * api/,backends/chert/chert_valuelist.cc, 15713 backends/chert/chert_valuelist.h,common/document.h, 15714 common/valuelist.h,include/Makefile.mk,include/xapian/derefwrapper.h, 15715 include/xapian/termiterator.h,include/xapian/valueiterator.h: 15716 Reimplement ValueIterator to have reference counted internals. One 15717 benefit is that Document::Internal no longer need its value_nos map 15718 member. 15719 15720Thu Oct 16 11:22:13 GMT 2008 Olly Betts <olly@survex.com> 15721 15722 * backends/inmemory/inmemory_database.cc: Fix incorrect method name in 15723 debug messages. 15724 15725Thu Oct 16 01:34:07 GMT 2008 Olly Betts <olly@survex.com> 15726 15727 * HACKING: Note preference for @ rather than \ to introduce doxygen 15728 commands. 15729 15730Thu Oct 16 01:21:19 GMT 2008 Olly Betts <olly@survex.com> 15731 15732 * HACKING: Expand section on public/protected/private a little. 15733 15734Wed Oct 15 11:34:15 GMT 2008 Olly Betts <olly@survex.com> 15735 15736 * include/xapian/database.h: Use std::string() instead of "" as the 15737 default value for std::string method parameters. 15738 15739Wed Oct 15 03:20:01 GMT 2008 Olly Betts <olly@survex.com> 15740 15741 * backends/Makefile.mk,backends/slowvaluelist.cc, 15742 backends/slowvaluelist.h: Support for (slowly) iterating along a 15743 value stream for backends which don't support streamed values 15744 internally (currently unused). 15745 15746Tue Oct 14 11:43:42 GMT 2008 Olly Betts <olly@survex.com> 15747 15748 * api/postingsource.cc,backends/inmemory/inmemory_database.cc, 15749 matcher/multimatch.cc: Database::get_document_lazily() now returns 15750 NULL if the document isn't found for an inmemory database. 15751 * include/xapian/database.h: Document the return value better. 15752 15753Tue Oct 14 03:20:38 GMT 2008 Olly Betts <olly@survex.com> 15754 15755 * api/omdatabase.cc,api/postingsource.cc,include/xapian/database.h, 15756 matcher/multimatch.cc: Add internal 15757 Xapian::Database::get_document_lazily() method and use it in the 15758 matcher and Xapian::PostingSource classes to avoid repeating the 15759 same code lots of times. 15760 15761Mon Oct 13 23:38:34 GMT 2008 Olly Betts <olly@survex.com> 15762 15763 * HACKING: Rename "Miscellaneous Portability Issues" to "C++ 15764 Portability Issues", and add a subsection of that for "Miscellaneous 15765 Portability Issues" with a new note about needing to terminate the 15766 last line of a source file, and a new subsection heading "Header 15767 Portability Issues" for all the header-related stuff. 15768 15769Sat Oct 11 12:19:38 GMT 2008 Olly Betts <olly@survex.com> 15770 15771 * tests/api_wrdb.cc: If the timer for the first test for bigoaddvalue 15772 reports 0.0 seconds, skip the test as the timer doesn't have fine 15773 enough granularity for this test to be useful (bug#300). 15774 15775Fri Oct 10 20:40:14 GMT 2008 Olly Betts <olly@survex.com> 15776 15777 * tests/api_wrdb.cc: Reuse XAPIAN_BIN_PATH to avoid hardcoding more 15778 paths, and so this works in a debug build too. 15779 15780Fri Oct 10 17:52:53 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15781 15782 * tests/api_wrdb.cc: Patch to use a different path in win32 build 15783 to match the different place that the compiled xapian-check is 15784 placed in. Should fix bug #301. 15785 15786Thu Oct 09 05:20:32 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15787 15788 * configure.ac: Change -Wstrict-overflow level to 1 - even level 2 15789 causes a few warnings (notably in chert_table.cc) to appear with 15790 GCC 4.3 which are unreasonably difficult to avoid. 15791 15792Thu Oct 09 05:04:49 GMT 2008 Olly Betts <olly@survex.com> 15793 15794 * HACKING,configure.ac: Raise autoconf requirement to 2.63. 15795 15796Wed Oct 08 14:52:03 GMT 2008 Olly Betts <olly@survex.com> 15797 15798 * docs/valueranges.rst: Fix typos in example code. 15799 * docs/valueranges.rst,tests/queryparsertest.cc: Drop superfluous 15800 empty destructor from ValueRangeProcessor subclass. 15801 15802Wed Oct 08 14:00:04 GMT 2008 Olly Betts <olly@survex.com> 15803 15804 * common/valuelist.h: Add missing get_docid() method. 15805 15806Wed Oct 08 12:11:57 GMT 2008 Olly Betts <olly@survex.com> 15807 15808 * NEWS: Update from ChangeLog. 15809 15810Wed Oct 08 12:00:39 GMT 2008 Olly Betts <olly@survex.com> 15811 15812 * backends/Makefile.mk,backends/chert/,backends/database.cc, 15813 backends/valuelist.cc,common/Makefile.mk,common/database.h, 15814 common/valuelist.h,include/xapian/valueiterator.h: The start of 15815 support for iterating along a value stream (currently unused). 15816 15817Tue Oct 07 10:19:48 GMT 2008 Olly Betts <olly@survex.com> 15818 15819 * configure.ac: Disable -Wconversion for now - it's not useful for 15820 older GCC and is buggy in GCC 4.3. 15821 15822Tue Oct 07 04:53:41 GMT 2008 Olly Betts <olly@survex.com> 15823 15824 * matcher/queryoptimiser.h: Query::MatchAll no longer gives match 15825 results ranked by increasing document length. 15826 * tests/api_db.cc: Extend matchall1 to be a regression test for this. 15827 15828Tue Oct 07 01:04:51 GMT 2008 Olly Betts <olly@survex.com> 15829 15830 * matcher/queryoptimiser.cc: Rewrite comment explaining the excess 15831 precision fix. Drop unnecessary brackets from return to minimise 15832 the diff. 15833 15834Mon Oct 06 07:24:40 GMT 2008 Olly Betts <olly@survex.com> 15835 15836 * matcher/queryoptimiser.cc: Change the excess precision fix to pass 15837 both values through "volatile double" rather than "float" on 15838 platforms where this matters since the former gives better generated 15839 code as well as more consistent results with other platforms. 15840 15841Mon Oct 06 07:24:07 GMT 2008 Olly Betts <olly@survex.com> 15842 15843 * tests/internaltest.cc: Fix comment typo. 15844 15845Mon Oct 06 02:46:39 GMT 2008 Olly Betts <olly@survex.com> 15846 15847 * api/editdistance.cc,api/editdistance.h,api/omdatabase.cc: Pass the 15848 largest edit distance we currently care about into the edit distance 15849 algorithm so it can terminate early once it knows the edit distance 15850 exceeds this. This shortcut is used quite a lot, but there's no 15851 measurable speed-up in tests on the real world data I have to hand. 15852 15853Sun Oct 05 12:34:09 GMT 2008 Olly Betts <olly@survex.com> 15854 15855 * matcher/multimatch.cc: Adjust percent_factor instead of min_weight 15856 so that we don't miss some cases, and make the adjustment actually 15857 correspond with the adjustment in omenquire.cc. 15858 15859Wed Oct 01 14:11:49 GMT 2008 Olly Betts <olly@survex.com> 15860 15861 * backends/alltermslist.cc,common/alltermslist.h: We don't need an 15862 explicit virtual dtor for AllTermsList as it is empty and 15863 AllTermsList inherits from TermList which has one. 15864 15865Wed Oct 01 13:21:22 GMT 2008 Olly Betts <olly@survex.com> 15866 15867 * common/postlist.h,common/termlist.h: Fix comment typo. 15868 15869Wed Oct 01 00:12:02 GMT 2008 Olly Betts <olly@survex.com> 15870 15871 * bin/xapian-compact.cc: Add a comment for the previous fix. 15872 15873Tue Sep 30 22:41:39 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15874 15875 * bin/xapian-compact.cc: Fix bug: if there are both valuestats and 15876 metadata, don't overwrite the last metadata value with the first 15877 valuestats tag. 15878 15879Tue Sep 30 20:31:34 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15880 15881 * configure.ac: Set -Wstrict-overflow to 2 instead of 5, to avoid 15882 unreasonable warnings under GCC 4.3. 15883 15884Tue Sep 30 09:45:22 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15885 15886 * api/omdatabase.cc: Add missing include, to compile on GCC 4.3.0. 15887 15888Mon Sep 29 13:06:42 GMT 2008 Olly Betts <olly@survex.com> 15889 15890 * NEWS: Update from ChangeLog. 15891 15892Mon Sep 29 05:04:57 GMT 2008 Olly Betts <olly@survex.com> 15893 15894 * backends/chert/chert_version.cc: Add VERSIONFILE_SIZE_LITERAL and 15895 use CompileTimeAssert() to ensure it matches the expression in 15896 VERSIONFILE_SIZE. It's very rare for the size to change (it's 15897 happened once ever) and allows us to build the error string 15898 literally at compile time. 15899 15900Sun Sep 28 15:13:11 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15901 15902 * backends/chert/chert_values.cc: Fix bug in lazy update - ensure 15903 that the document has loaded its values before deleting the old 15904 one (previously, there was an assertion to this effect, but it 15905 didn't actually compile, and was also incorrect). 15906 * tests/api_wrdb.cc: Check that replacing a document with itself 15907 doesn't lose the values - regression test for the bug fixed by 15908 this commit. 15909 15910Sun Sep 28 14:04:01 GMT 2008 Olly Betts <olly@survex.com> 15911 15912 * backends/chert/chert_values.cc: Fix bug in value updating - 15913 modifyvalues1 now passes for chert. 15914 15915Sun Sep 28 12:15:14 GMT 2008 Olly Betts <olly@survex.com> 15916 15917 * tests/collate-test: Avoid perl warning when generating files which 15918 don't already exist. 15919 15920Sat Sep 27 10:36:09 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15921 15922 * tests/api_wrdb.cc: Add test "modifyvalues1" - regression test for 15923 a bug in the streaming values implementation, and also a fairly 15924 thorough test of adding and modifying values in databases. 15925 15926Fri Sep 26 19:12:23 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15927 15928 * api/omdatabase.cc: Fix warning with gcc 4.2 about possible signed 15929 overflow, by using an unsigned type for the total. 15930 15931Fri Sep 26 15:48:39 GMT 2008 Olly Betts <olly@survex.com> 15932 15933 * api/omdatabase.cc: Fixed version of: Avoid the relatively expensive 15934 edit distance computation for a candidate spelling correction when 15935 we can reject the candidate as less good than one we've already seen 15936 by looking at the character frequency histograms. In a test on 15937 real-world data, this gave an 15% speed-up in queryparsing time 15938 with FLAG_SPELLING_CORRECTION set. The cheap check rejects 90% 15939 of the words it handles (without the cheap check, the edit distance 15940 check rejects 92%). 15941 15942Fri Sep 26 14:40:50 GMT 2008 Olly Betts <olly@survex.com> 15943 15944 * bin/xapian-check.cc: Check the structure of the value stream chunks. 15945 15946Fri Sep 26 12:21:32 GMT 2008 Olly Betts <olly@survex.com> 15947 15948 * tests/api_spelling.cc: Add a regression test for the bug my recently 15949 added and reverted spelling optimisation introduced. 15950 15951Fri Sep 26 11:55:18 GMT 2008 Olly Betts <olly@survex.com> 15952 15953 * tests/Makefile.am,tests/api_spelling.cc,tests/api_wrdb.cc: Split the 15954 spelling tests out into a separate file. 15955 15956Fri Sep 26 11:53:45 GMT 2008 Olly Betts <olly@survex.com> 15957 15958 * tests/api_unicode.cc: Capitalise brief file description. 15959 15960Fri Sep 26 11:31:46 GMT 2008 Olly Betts <olly@survex.com> 15961 15962 * backends/inmemory/inmemory_document.cc, 15963 backends/inmemory/inmemory_document.h: New simpler InMemoryDocument 15964 class with slightly reduced memory footprint, based on 15965 RemoteDocument class. 15966 15967Fri Sep 26 10:36:02 GMT 2008 Olly Betts <olly@survex.com> 15968 15969 * backends/remote/remote-document.cc,backends/remote/remote-document.h, 15970 common/document.h: Add new files for RemoteDocument class missed 15971 from recent commit. Pass parameter to set_all_values() by non-const 15972 reference so we can just efficiently swap() the value maps rather 15973 than copying. 15974 15975Fri Sep 26 10:31:21 GMT 2008 Olly Betts <olly@survex.com> 15976 15977 * api/omdocument.cc,common/document.h: Remove unused method 15978 Xapian::Document::Index::get_all_values(). 15979 15980Fri Sep 26 10:03:17 GMT 2008 Olly Betts <olly@survex.com> 15981 15982 * backends/remote/,common/document.h: Replace NetDocument with a new 15983 simpler RemoteDocument class which just sets the values and data in 15984 its Document::Internal base class. 15985 15986Fri Sep 26 06:21:08 GMT 2008 Olly Betts <olly@survex.com> 15987 15988 * backends/chert/chert_database.cc,backends/chert/chert_document.cc, 15989 backends/chert/chert_document.h,common/document.h: Overhaul 15990 ChertDocument: Avoid having a reference-counted pointer to the 15991 database in the subclass as well as the one now in the base class. 15992 Also check the lazy flag before we create a ChertDocument object to 15993 avoid a memory allocation in that code path. And make the 15994 now-simple constructor inline-able. 15995 15996Thu Sep 25 17:38:37 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 15997 15998 * Merge lazyupdate branch: 15999 * api/omdocument.cc,backends/chert/chert_database.cc, 16000 backends/chert/chert_database.h,backends/chert/chert_values.cc, 16001 backends/database.cc,common/database.h,common/document.h: Add a 16002 shortcut for calling replace_document() with a document which was 16003 just read from the database. If the document terms were never 16004 accessed, don't bother updating the termlist, postings and 16005 position lists. If the data was never accessed, don't bother 16006 updating the data. If the values were never accessed, don't 16007 bother updating them. Only fires if we know that the document 16008 hasn't been modified (or deleted) since it was read from the 16009 database, to ensure that the lazy access of the data doesn't have 16010 a visible effect - we enforce this by keeping track of the last 16011 document read with open_document(), and only using the shortcut 16012 if this is the document passed to replace_document, and that 16013 document ID hasn't been passed to replace_document or 16014 delete_document since. 16015 16016 Add a method Database::Internal::invalidate_doc_object() which is 16017 called from the destructor of a document, so that we can reset 16018 the pointer to modify_shortcut_document in ChertWritableDatabase 16019 when this happens. 16020 16021 Document::Internal now keeps a ref-count pointer to the database, 16022 to ensure that the database is valid when invalidate_doc_object() 16023 is called on it. 16024 16025Thu Sep 25 17:35:07 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 16026 16027 * Forward-port from branches/lazyupdate: 16028 * tests/api_wrdb.cc: Extend deldoc5 slightly, to check that the 16029 DocNotFoundError for a deleted document is raised before the 16030 flush, as well as after. Also, test a few more cases which are 16031 relevant in the lazyupdate scenario. 16032 16033Thu Sep 25 17:33:21 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 16034 16035 * Forward-port from branches/lazyupdate: 16036 * backends/chert/chert_document.cc,backends/chert/chert_document.h: 16037 Check for existence of a document when opening it by searching 16038 for the document length entry, rather than by reading the record 16039 for the document. Probably slightly slower if the record is 16040 going to be accessed anyway, but much faster if it isn't (though 16041 benchmarking of this is needed). 16042 16043Thu Sep 25 14:27:07 GMT 2008 Olly Betts <olly@survex.com> 16044 16045 * Merge valuestreams branch: 16046 * backends/chert/,bin/xapian-check.cc,bin/xapian-compact.cc, 16047 docs/admin_notes.rst: Change the chert backend to store values in a 16048 chunked stream for each value slot to make access more efficient. 16049 The chunked streams and value stats are now stored in the postlist 16050 table while the list of used value slots for each document is stored 16051 in the termlist table, so we no longer need a special table for 16052 values. 16053 * bin/xapian-check.cc,bin/xapian-check-flint.cc: Don't stop checking 16054 a table after an error in certain cases - instead increment the 16055 error counter and try to continue checking from the next item. 16056 16057Thu Sep 25 13:50:15 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 16058 16059 * matcher/queryoptimiser.cc,tests/api_anydb.cc: Apply fix for 16060 platforms with excess precision - this fixes a potential segfault 16061 on x86 architecture when doing OP_ELITE_SET queries. Also, add a 16062 regression test. 16063 16064Thu Sep 25 03:38:24 GMT 2008 Olly Betts <olly@survex.com> 16065 16066 * examples/copydatabase.cc: Also copy user metadata. 16067 16068Wed Sep 24 17:27:33 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 16069 16070 * api/omdatabase.cc: Back out, for now, Olly's change from 16071 yesterday to avoid some edit distance checks; counting the 16072 frequency of letters doesn't take into account the number of 16073 substitutions, so spelling corrections which involve 16074 substitutions are missed. 16075 16076Wed Sep 24 12:48:39 GMT 2008 Olly Betts <olly@survex.com> 16077 16078 * unicode/tclUniData.cc: Update to Unicode 5.1 (bug#265). 16079 * tests/api_unicode.cc: Add tests for some of the changes 16080 in Unicode 5.1. 16081 16082Tue Sep 23 14:58:54 GMT 2008 Olly Betts <olly@survex.com> 16083 16084 * api/omdatabase.cc: Avoid the relatively expensive edit distance 16085 computation for a candidate spelling correction when we can reject 16086 the candidate as less good than one we've already seen by looking 16087 at the character frequency histograms. 16088 16089Mon Sep 22 09:21:55 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 16090 16091 * Forward-port from branches/lazyupdate: 16092 * backends/chert/chert_postlist.cc: Fix return value of jump_to() 16093 to be true only if the exact item specified was found in the 16094 doclen list (previously also returned true if an item following 16095 the item being searched for was found in the chunk). Note that 16096 there is no test for this fix included in this forward-port, but 16097 an implicit test is included in the lazyupdate branch, and will 16098 be here when that branch is merged to trunk. 16099 16100Mon Sep 22 07:58:06 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 16101 16102 * HACKING: Mention that setting XAPIAN_DEBUG_LOG to '-' has a 16103 special effect. 16104 16105Mon Sep 22 06:27:23 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 16106 16107 * docs/remote_protocol.html: Update documentation of remote 16108 protocol to mention UUID being passed in REPLY_GREETING and 16109 REPLY_UPDATE (added in revision [11369]). 16110 16111Thu Sep 18 11:52:05 GMT 2008 Olly Betts <olly@survex.com> 16112 16113 * tests/api_wrdb.cc: Fix cursordelbug1 to hopefully work on Microsoft 16114 Windows. 16115 16116Thu Sep 18 11:50:04 GMT 2008 Olly Betts <olly@survex.com> 16117 16118 * backends/chert/chert_cursor.cc,backends/chert/chert_table.cc, 16119 backends/chert/chert_table.h: More assertions and improved debug 16120 logging coverage. Use rare() to mark a couple of checks which 16121 almost always have the same result. Make an assertion about the 16122 level of a Btree block into an always-compiled-in check which throws 16123 an exception, as this isn't a sanity check of internal state. 16124 16125Thu Sep 18 05:26:27 GMT 2008 Olly Betts <olly@survex.com> 16126 16127 * backends/chert/chert_postlist.cc,backends/flint/flint_postlist.cc: 16128 Fix comment describing format of postlist chunk (collection freq 16129 was missing). 16130 16131Wed Sep 17 12:38:51 GMT 2008 Olly Betts <olly@survex.com> 16132 16133 * HACKING: Fix typos in XAPIAN_DEBUG_FLAGS documentation. 16134 16135Sat Sep 13 11:14:02 GMT 2008 Olly Betts <olly@survex.com> 16136 16137 * HACKING,configure.ac: Upgrade libtool requirement to 2.2.6a. 16138 16139Fri Sep 05 11:40:55 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 16140 16141 * tests/api_replicate.cc: Test that the UUID of a replica is equal 16142 to the UUID of the original database. 16143 16144Fri Sep 05 09:38:35 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 16145 16146 * include/xapian/database.h,api/omdatabase.cc: Add 16147 Database.get_uuid() which returns a unique identifier for the 16148 database. 16149 * tests/api_anydb.cc: Add test uuid1 to test basic get_uuid() 16150 behaviour. 16151 * common/database.h: Extend documentation comment for get_uuid() a 16152 bit. 16153 * backends/remote/remote-database.cc,common/remote-database.h, 16154 net/remoteserver.cc: Add support for get_uuid() to remote 16155 databases. 16156 16157Thu Sep 04 11:37:54 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 16158 16159 * tests/Makefile.am: Remove accidentally committed reference to 16160 apitest_sortconsist.txt, which only exists in my local checkout 16161 and in a patch in ticket #216. 16162 16163Thu Sep 04 04:39:32 GMT 2008 Olly Betts <olly@survex.com> 16164 16165 * HACKING,configure.ac: We now hard require autoconf 2.62, so it's 16166 safe to use AC_TYPE_SSIZE_T. (bug#135) 16167 16168Thu Sep 04 04:26:59 GMT 2008 Olly Betts <olly@survex.com> 16169 16170 * configure.ac: Set version to 1.1.0. 16171 16172Thu Sep 04 03:32:06 GMT 2008 Olly Betts <olly@survex.com> 16173 16174 * AUTHORS,NEWS,configure.ac: Sync with 1.0.8. 16175 16176Wed Sep 03 15:23:54 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 16177 16178 * tests/Makefile.am,tests/api_percentages.cc: Add new test file for 16179 tests related to percentage weights (there are a few around which 16180 could be moved here, and there's another one in the patch in 16181 ticket #216). Add test in this file which uses a PostingSource 16182 with carefully constructed weights to check the rounding 16183 behaviour for percentage cutoffs. 16184 16185Wed Sep 03 07:58:29 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 16186 16187 * matcher/multimatch.cc: Adjust min_weight values calculated for 16188 percent_cutoff in the same manner as in omenquire.cc, to allow 16189 for excess precision in the same way. 16190 16191Wed Sep 03 07:15:49 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 16192 16193 * backends/chert/chert_version.cc: Display numerical value of 16194 correct size of chert version file in error message if size is 16195 incorrect, rather than a complicated expression giving the 16196 correct size. 16197 16198Tue Sep 02 10:41:46 GMT 2008 Olly Betts <olly@survex.com> 16199 16200 * matcher/multimatch.cc: Remove FIXME for pushing check_at_least 16201 handling into the remote backend, which was done for 1.0.2. 16202 16203Tue Sep 02 06:48:50 GMT 2008 Olly Betts <olly@survex.com> 16204 16205 * bin/xapian-inspect.cc: Show the help message on start-up. Correct 16206 the alias for next from ' ' to ''. Avoid reading outside of input 16207 string when it is empty. Bug#286. 16208 16209Tue Sep 02 04:19:34 GMT 2008 Olly Betts <olly@survex.com> 16210 16211 * tests/stemtest.cc: Handle the new supplemental stemming data. 16212 16213Tue Sep 02 03:05:10 GMT 2008 Olly Betts <olly@survex.com> 16214 16215 * tests/stemtest.cc: Update for new xapian-data directory structure. 16216 16217Tue Aug 26 09:26:49 GMT 2008 Olly Betts <olly@survex.com> 16218 16219 * common/debuglog.h: Handle logging from ctor, dtor, and 16220 void-returning functions/methods with a separate class 16221 (DebugLogFuncVoid). Fix outdent handling for non-logged message 16222 types. Fix detection of active exceptions to check if the exception 16223 was already active when we entered the current function. This 16224 probably means that "RETURN_VOID" is no longer needed, so comment 16225 it out. 16226 16227Tue Aug 26 07:34:16 GMT 2008 Olly Betts <olly@survex.com> 16228 16229 * HACKING: Document explicitly that XAPIAN_DEBUG_FLAGS=- gives you all 16230 debug messages. 16231 16232Tue Aug 26 00:57:32 GMT 2008 Olly Betts <olly@survex.com> 16233 16234 * bin/xapian-check.cc: Fix reversed check for whether a table is in a 16235 flint or chert database. 16236 16237Mon Aug 25 12:03:36 GMT 2008 Olly Betts <olly@survex.com> 16238 16239 * backends/flint/flint_termlisttable.cc: Remove FIXME about dropping 16240 something if we make an incompatible database version bump - that's 16241 not going to happen now for flint. Avoid packing doclen for an 16242 empty termlist. Add explicit cast for char for prev_term.size(). 16243 16244Sun Aug 24 11:42:21 GMT 2008 Olly Betts <olly@survex.com> 16245 16246 * common/Makefile.mk: Fix build with --enable-log=profile. 16247 16248Sun Aug 24 12:41:22 BST 2008 Olly Betts <olly@survex.com> 16249 16250 * HACKING: Add a bit of discussion of --enable-log=profile. Tweak 16251 formatting in one place and wording in another. 16252 16253Sat Aug 23 00:48:40 GMT 2008 Olly Betts <olly@survex.com> 16254 16255 * tests/collate-test: Only update files which have changed to avoid 16256 rebuilding all apitest's source files when only one has changed. 16257 16258Fri Aug 22 01:02:57 GMT 2008 Olly Betts <olly@survex.com> 16259 16260 * queryparser/queryparser.lt: Merge upstream "Check-in Number: 5571" 16261 (no code changes in our modified version). 16262 16263Fri Aug 22 01:00:15 GMT 2008 Olly Betts <olly@survex.com> 16264 16265 * queryparser/lemon.c: Fix comment typo. 16266 16267Fri Aug 22 00:55:26 GMT 2008 Olly Betts <olly@survex.com> 16268 16269 * queryparser/lemon.c: Merge upstream "Check-in Number: 5564". 16270 16271Fri Aug 22 00:44:14 GMT 2008 Olly Betts <olly@survex.com> 16272 16273 * queryparser/lemon.c,queryparser/queryparser.lt: Merge upstream 16274 "Check-in Number: 5488" and "5563". 16275 * queryparser/queryparser.lt: Fix compilation for previous merge 16276 (I fixed it in the generated file before!) 16277 16278Fri Aug 22 00:07:22 GMT 2008 Olly Betts <olly@survex.com> 16279 16280 * queryparser/queryparser.lt: Merge upstream "Check-in Number: 5472". 16281 16282Thu Aug 21 04:15:41 GMT 2008 Olly Betts <olly@survex.com> 16283 16284 * configure.ac: Remove code which checks for --enable-debug and 16285 --enable-debug-verbose (deprecated since 1.0.0) and gives an error 16286 pointing to the replacements. 16287 * docs/deprecation.rst: Document the replacements here. 16288 16289Thu Aug 21 00:57:52 GMT 2008 Olly Betts <olly@survex.com> 16290 16291 * common/omdebug.h: Remove DEBUGLINE completely. 16292 * backends/flint/flint_table.cc,backends/inmemory/inmemory_database.cc, 16293 queryparser/queryparser.lt: Replace remaining DEBUGLINE uses. 16294 * backends/inmemory/inmemory_database.cc: Don't need <list>. 16295 16296Thu Aug 21 00:37:08 GMT 2008 Olly Betts <olly@survex.com> 16297 16298 * common/debuglog.h,common/omdebug.h: Define LOGLINE, etc to no-op 16299 versions when XAPIAN_DEBUG_VERBOSE isn't defined. 16300 * api/,backends/chert/,backends/flint/, 16301 backends/inmemory/inmemory_database.cc, 16302 backends/multi/multi_postlist.cc,backends/multi/multi_termlist.cc, 16303 expand/esetinternal.cc,expand/expandweight.cc,matcher/, 16304 net/remoteconnection.cc: Use LOGLINE or LOGVALUE instead of 16305 DEBUGLINE. 16306 16307Wed Aug 20 13:33:56 GMT 2008 Olly Betts <olly@survex.com> 16308 16309 * common/debuglog.h: Don't need omtime.h. 16310 16311Wed Aug 20 06:11:31 GMT 2008 Olly Betts <olly@survex.com> 16312 16313 * examples/quest.cc: Fix to catch QueryParserError instead of const 16314 char * which Xapian < 1.0.0 threw instead. 16315 16316Wed Aug 20 05:50:26 GMT 2008 Olly Betts <olly@survex.com> 16317 16318 * docs/valueranges.rst: Expand on some sections. 16319 16320Wed Aug 20 04:43:07 GMT 2008 Olly Betts <olly@survex.com> 16321 16322 * tests/api_nodb.cc: Clarify in comments that this affected 1.0.7. 16323 16324Wed Aug 20 04:33:22 GMT 2008 Olly Betts <olly@survex.com> 16325 16326 * api/omenquire.cc: Simplify RSet::remove_document() and 16327 RSet::contains() a little. Fix output of RSet::get_description(). 16328 * tests/api_nodb.cc: Add regression test rset4 for 16329 RSet::get_description() fix. 16330 16331Wed Aug 20 02:45:04 GMT 2008 Olly Betts <olly@survex.com> 16332 16333 * common/omdebug.h: Remove DebugMsg() macro which is no longer used. 16334 16335Tue Aug 12 05:03:34 GMT 2008 Olly Betts <olly@survex.com> 16336 16337 * backends/flint/flint_table.cc,backends/flint/flint_table.h: 16338 Backport elimination of find_tag() to flint. 16339 16340Tue Aug 12 04:10:41 GMT 2008 Olly Betts <olly@survex.com> 16341 16342 * backends/chert/chert_table.cc,backends/chert/chert_table.h: 16343 ChertTable::find_tag() is only used by ChertTable::get_exact_entry() 16344 so remove the former folding its code into the latter. 16345 16346Mon Aug 11 03:06:10 GMT 2008 Olly Betts <olly@survex.com> 16347 16348 * backends/chert/chert_spelling.h,backends/chert/chert_synonym.h: 16349 Remove random closing bracket from a couple of comments. 16350 16351Mon Aug 11 03:03:19 GMT 2008 Olly Betts <olly@survex.com> 16352 16353 * api/postingsource.cc: Always initialise max_value in the constructor 16354 body for consistency. 16355 16356Sat Aug 09 09:56:06 GMT 2008 Olly Betts <olly@survex.com> 16357 16358 * tests/api_valuestats.cc: Add valuestats4 as a regression test for 16359 the previous fix. 16360 16361Sat Aug 09 06:10:49 GMT 2008 Olly Betts <olly@survex.com> 16362 16363 * backends/chert/chert_database.cc,backends/chert/chert_database.h: 16364 Write cached valuestats changes to disk when we automatically flush 16365 changes due to the number of documents indexed. 16366 16367Wed Aug 06 11:27:29 GMT 2008 Olly Betts <olly@survex.com> 16368 16369 * api/omdocument.cc,backends/chert/chert_document.cc, 16370 backends/chert/chert_document.h,backends/flint/flint_document.cc, 16371 backends/flint/flint_document.h, 16372 backends/inmemory/inmemory_document.cc, 16373 backends/inmemory/inmemory_document.h, 16374 backends/remote/net_document.cc,backends/remote/net_document.h, 16375 common/document.h: Change do_get_all_values() to pass a reference 16376 to the std::map to return the result in rather than returning the 16377 std::map. 16378 16379Wed Aug 06 07:39:08 GMT 2008 Olly Betts <olly@survex.com> 16380 16381 * docs/replication.rst: Adding missing (C) for new section addded 16382 recently. 16383 16384Wed Aug 06 06:27:59 GMT 2008 Olly Betts <olly@survex.com> 16385 16386 * backends/alltermslist.cc,backends/chert/,backends/flint/, 16387 backends/inmemory/inmemory_alltermslist.cc, 16388 backends/inmemory/inmemory_alltermslist.h, 16389 backends/multi/multi_alltermslist.cc,common/alltermslist.h, 16390 common/multialltermslist.h: Add a default "not implemented" 16391 implementation of AllTermsList::get_approx_size() and remove the 16392 "not implemented" versions in all the subclasses. Remove empty 16393 destructors for ChertSpellingTermList, and FlintSpellingTermList. 16394 * api/maptermlist.h,api/omdocument.cc: MapTermList::get_approx_size() 16395 should never be used, so make it "Assert(false); return 0;". 16396 16397Wed Aug 06 02:24:48 GMT 2008 Olly Betts <olly@survex.com> 16398 16399 * api/omdatabase.cc,backends/multi/multi_alltermslist.cc, 16400 common/multialltermslist.h: Reimplement MultiAllTermsList to use a 16401 heap rather than linearly scanning - operations during iteration 16402 should now be O(log(n)) rather than O(n) where n is the number of 16403 databases. 16404 16405Tue Aug 05 23:50:19 GMT 2008 Olly Betts <olly@survex.com> 16406 16407 * tests/Makefile.am: Fix "make clean" to remove cached databases again 16408 and "make check" to remove cached databases like the previous change 16409 aimed to do. 16410 16411Tue Aug 05 23:48:52 GMT 2008 Olly Betts <olly@survex.com> 16412 16413 * tests/api_db.cc: Use TEST_EQUAL(a, b) rather than TEST(a == b). 16414 16415Tue Aug 05 12:44:58 GMT 2008 Olly Betts <olly@survex.com> 16416 16417 * common/alltermslist.h: Fix parameter name in doxygen comment. 16418 16419Tue Aug 05 06:28:15 GMT 2008 Olly Betts <olly@survex.com> 16420 16421 * backends/chert/chert_database.cc,backends/flint/flint_database.cc: 16422 Don't generate a changeset file for the first revision of a database 16423 (since we might as well just send the whole database) - addresses 16424 part of bug#278. Clean up exceptions to pass errno in the errno 16425 parameter rather than incorporating strerror(errno) in the message 16426 parameter. 16427 16428Tue Aug 05 06:00:11 GMT 2008 Olly Betts <olly@survex.com> 16429 16430 * tests/api_replicate.cc: Remove "sleep(1);" from testcase replicate1 16431 which is no longer required now we generate proper UUIDs. 16432 16433Tue Aug 05 03:07:11 GMT 2008 Olly Betts <olly@survex.com> 16434 16435 * api/replication.cc,include/xapian/replication.h: Remove 16436 DatabaseReplica::get_parameter() and set_parameter() as they're no 16437 longer used for storing the database UUID, and Richard said the 16438 thinking behind wanting them was "flawed". 16439 16440Tue Aug 05 02:03:24 GMT 2008 Olly Betts <olly@survex.com> 16441 16442 * backends/chert/chert_version.cc: Comment tweak. 16443 16444Tue Aug 05 02:02:29 GMT 2008 Olly Betts <olly@survex.com> 16445 16446 * api/replication.cc,backends/flint/flint_database.cc,common/utils.cc, 16447 common/utils.h: Use the UUID stored by the backend rather than 16448 storing it ourselves as a database replica parameter. 16449 16450Mon Aug 04 14:58:21 GMT 2008 Olly Betts <olly@survex.com> 16451 16452 * backends/flint/flint_database.cc,backends/flint/flint_version.cc, 16453 backends/flint/flint_version.h: Generate a UUID when a new flint 16454 database is created, and lazily generate one for existing flint 16455 databases which don't have one. Store the UUID in a new "uuid" 16456 file in the database directory to avoid having to change the 16457 flint database format incompatibly. 16458 16459Mon Aug 04 14:13:53 GMT 2008 Olly Betts <olly@survex.com> 16460 16461 * backends/chert/chert_database.cc,backends/chert/chert_version.cc, 16462 backends/chert/chert_version.h,configure.ac: Generate a UUID when 16463 a chert database is created, and store it in the version file. 16464 16465Mon Aug 04 12:16:54 GMT 2008 Olly Betts <olly@survex.com> 16466 16467 * backends/chert/chert_version.cc: Make exception messages more 16468 consistent. 16469 16470Mon Aug 04 12:15:14 GMT 2008 Olly Betts <olly@survex.com> 16471 16472 * backends/chert/chert_database.cc,backends/chert/chert_version.cc, 16473 backends/chert/chert_version.h: Remove the code to handle upgrading 16474 flint versions >= 200704230 and < 200709120 as it's just dead code 16475 for chert. 16476 16477Sun Aug 03 14:34:31 GMT 2008 Olly Betts <olly@survex.com> 16478 16479 * api/replication.cc: Track the replica numbers using an int rather 16480 than two strings. Eliminate two racey uses of file_exists(). 16481 16482Sun Aug 03 11:37:06 GMT 2008 Olly Betts <olly@survex.com> 16483 16484 * docs/replication.rst: Add section on backend support. Make FIXME a 16485 comment. Fix erroneous reference to '"-h" parameter'. 16486 16487Sun Aug 03 11:28:27 GMT 2008 Olly Betts <olly@survex.com> 16488 16489 * api/replication.cc,tests/harness/testrunner.cc: Make replication 16490 work for the chert backend. 16491 16492Sat Aug 02 16:47:04 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 16493 16494 * include/xapian/enquire.h: Correct documentation comment (iterator 16495 doesn't return terms, it returns mset items). 16496 16497Sat Aug 02 14:16:24 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 16498 16499 * docs/admin_notes.rst: Fix a typo. 16500 16501Sat Aug 02 14:06:37 GMT 2008 Olly Betts <olly@survex.com> 16502 16503 * backends/chert/chert_cursor.cc,backends/flint/flint_cursor.cc: 16504 Fix comment typo in previous commit. 16505 16506Sat Aug 02 13:04:05 GMT 2008 Olly Betts <olly@survex.com> 16507 16508 * backends/chert/chert_cursor.cc,backends/flint/flint_cursor.cc: Fix 16509 FlintCursor::del() and ChertCursor::del() to leave the cursor on the 16510 next key when iterating over the unflushed revision (previously the 16511 cursor would end up an extra key along in this case). (Bug#287) 16512 * tests/api_wrdb.cc: Add regression test cursordelbug1. 16513 16514Sat Aug 02 05:09:38 GMT 2008 Olly Betts <olly@survex.com> 16515 16516 * api/replication.cc,common/utils.cc,common/utils.h: Change 16517 removedir() to just return if passed a non-existent path and 16518 document this. Make use of this to avoid having to call 16519 dir_exists() before remove_dir(). 16520 16521Sat Aug 02 04:43:45 GMT 2008 Olly Betts <olly@survex.com> 16522 16523 * tests/api_db.cc,tests/apitest.cc: Make use of new 16524 BackendManager::get_database_path() to eliminate knowledge of 16525 BackendManagerFlint's implementation from test stubdb1. Put the 16526 stubdb files in a .stub subdirectory and don't remove them after 16527 each test to aid debugging failing tests. Also now run stubdb tests 16528 under chert and multi backends. Add more stubdb tests for the 16529 recently added features. 16530 16531Sat Aug 02 04:39:08 GMT 2008 Olly Betts <olly@survex.com> 16532 16533 * tests/harness/: Adjust the BackendManager interface to reduce code 16534 duplication in subclasses - for backends where the concept of a 16535 path to the database makes sense, we now support a 16536 get_database_path() method and use this in the default 16537 implementation of get_database() in the base class. 16538 16539Sat Aug 02 04:36:48 GMT 2008 Olly Betts <olly@survex.com> 16540 16541 * tests/apitest.h: Use std::string() in preference to "". 16542 16543Sat Aug 02 04:35:13 GMT 2008 Olly Betts <olly@survex.com> 16544 16545 * backends/dbfactory.cc: Fix handling of new "inmemory" type in stub 16546 databases. 16547 16548Sat Aug 02 01:49:35 GMT 2008 Olly Betts <olly@survex.com> 16549 16550 * tests/Makefile.am: Remove the cached test databases in before 16551 running the testsuite by making check-local do the same as 16552 clean-local. 16553 16554Sat Aug 02 01:42:36 GMT 2008 Olly Betts <olly@survex.com> 16555 16556 * backends/dbfactory.cc: Add support for "inmemory" to stub database 16557 files (it's useful now they can be writable). Don't just ignore 16558 lines with no spaces in in stub database files. 16559 16560Thu Jul 31 13:13:30 GMT 2008 Olly Betts <olly@survex.com> 16561 16562 * backends/Makefile.mk,backends/database.cc,backends/dbfactory.cc, 16563 common/database.h,include/xapian/dbfactory.h: Add new 16564 Auto::open_stub() overload which opens a stub database file 16565 containing a single entry as a WritableDatabase. Move the 16566 non-remote database factory API functions from backends/database.cc 16567 to new file backends/dbfactory.cc, leaving the former solely for 16568 methods of Database::Internal. A stub database file is now allowed 16569 to contain no database entries, which results in an empty Database 16570 object (this avoids user code having to special case to handle "0 or 16571 more" databases). 16572 * tests/api_nodb.cc: Tidy up #include directives. Enhance nosuchdb1 16573 to check that we get a reasonable error message - previously we 16574 got "Couldn't detect type of database". 16575 * include/xapian/dbfactory.h: Improve doxygen comment for 16576 InMemory::open(). 16577 16578Thu Jul 31 09:36:41 GMT 2008 Olly Betts <olly@survex.com> 16579 16580 * tests/api_replicate.cc: This is a new file, so use <cstdlib> rather 16581 than <stdlib.h>. 16582 16583Wed Jul 30 23:10:19 GMT 2008 Olly Betts <olly@survex.com> 16584 16585 * backends/database.cc: Bad lines in a stub file were being ignored 16586 after we'd seen a good entry. 16587 * tests/api_db.cc: Add regression test. 16588 16589Wed Jul 30 14:42:04 GMT 2008 Olly Betts <olly@survex.com> 16590 16591 * generate-exceptions.in: Use std::string() in preference to "". 16592 16593Tue Jul 29 23:55:21 GMT 2008 Olly Betts <olly@survex.com> 16594 16595 * AUTHORS: Add Henrik Brix Andersen. 16596 16597Tue Jul 22 06:01:44 GMT 2008 Olly Betts <olly@survex.com> 16598 16599 * backends/flint/flint_table.cc,backends/flint/flint_table.h: 16600 Eliminate other_base_letter member of FlintTable - its value can 16601 always be easily determined from base_letter. 16602 16603Mon Jul 21 12:33:54 GMT 2008 Olly Betts <olly@survex.com> 16604 16605 * xapian-config.in: Add bug report URL to xapian-config --help output. 16606 16607Mon Jul 21 11:55:18 GMT 2008 Olly Betts <olly@survex.com> 16608 16609 * configure.ac: Put the bug report URL as the third parameter to 16610 AC_INIT. Add proper m4 quoting in a few places (nowhere that 16611 should actually change behaviour). 16612 16613Mon Jul 21 01:03:12 GMT 2008 Olly Betts <olly@survex.com> 16614 16615 * tests/apitest.cc,tests/harness/testsuite.cc, 16616 tests/harness/testsuite.h: Report subtotals per backend, rather than 16617 per testgroup per backend to make the output much clearer to scan. 16618 16619Mon Jul 21 00:36:07 GMT 2008 Olly Betts <olly@survex.com> 16620 16621 * tests/apitest.cc: Use startswith(). 16622 16623Sun Jul 20 14:16:18 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 16624 16625 * tests/harness/testsuite.h: Add missing "iomanip" header needed 16626 for setprecision calls. 16627 16628Sun Jul 20 11:35:35 GMT 2008 Olly Betts <olly@survex.com> 16629 16630 * include/xapian/enquire.h,include/xapian/matchspy.h, 16631 include/xapian/valueiterator.h: Remove explicit empty non-virtual 16632 destructors since the compiler will create them by default anyway. 16633 16634Sun Jul 20 10:18:52 GMT 2008 Olly Betts <olly@survex.com> 16635 16636 * NEWS: Update from ChangeLog. 16637 16638Sun Jul 20 10:09:36 GMT 2008 Olly Betts <olly@survex.com> 16639 16640 * Forward-port change from branches/1.0: 16641 * api/omenquire.cc: Fix percentage calculation to cope with excess 16642 precision on x86. Fix method name for convert_to_percent_internal 16643 in debug logging. 16644 16645Sun Jul 20 09:13:32 GMT 2008 Olly Betts <olly@survex.com> 16646 16647 * backends/flint/,bin/xapian-check-flint.cc,bin/xapian-check-flint.h, 16648 bin/xapian-compact.cc: Store the tablename in FlintTable as a const 16649 char * - it's a constant string and std::string adds a needless 16650 space overhead. 16651 16652Sun Jul 20 09:10:49 GMT 2008 Olly Betts <olly@survex.com> 16653 16654 * bin/xapian-check.cc: Follow-on fix for last change - we need to use 16655 strcmp() to compare C strings. 16656 16657Sun Jul 20 07:09:38 GMT 2008 Olly Betts <olly@survex.com> 16658 16659 * backends/chert/,bin/xapian-check.cc: Store the tablename in 16660 ChertTable as a const char * - it's a constant string and 16661 std::string adds a needless space overhead. 16662 16663Sat Jul 19 14:19:58 GMT 2008 Olly Betts <olly@survex.com> 16664 16665 * backends/chert/chert_database.cc,backends/chert/chert_values.cc, 16666 backends/chert/chert_values.h: Fix WritableDatabase::add_document() 16667 and replace_document() not to be O(n*n) in the number of values in 16668 the new document. 16669 * backends/flint/flint_database.cc,backends/flint/flint_values.cc, 16670 backends/flint/flint_values.h: Backport fix to flint. 16671 * tests/api_wrdb.cc: Add testcase bigoaddvalue to make sure we don't 16672 regress to O(n*n) (or worse!) 16673 16674Fri Jul 18 13:24:43 GMT 2008 Olly Betts <olly@survex.com> 16675 16676 * tests/api_wrdb.cc: Rewrite lazytablebug1 testcase to avoid having 16677 to run xapian-compact. 16678 16679Fri Jul 18 11:59:42 GMT 2008 Olly Betts <olly@survex.com> 16680 16681 * backends/chert/chert_table.cc: Fix handling of a table created 16682 lazily after the database has had commits, and which is then 16683 cursored while still in sequential mode. 16684 * backends/flint/flint_table.cc: Backport fix to flint. 16685 * tests/api_wrdb.cc: Add testcase lazytablebug1. 16686 16687Fri Jul 18 02:52:55 GMT 2008 Olly Betts <olly@survex.com> 16688 16689 * tests/api_wrdb.cc: Enable test crashrecovery1 for chert. Finish off 16690 unfinished comment. 16691 16692Fri Jul 18 02:38:22 GMT 2008 Olly Betts <olly@survex.com> 16693 16694 * tests/api_wrdb.cc,tests/harness/testrunner.cc, 16695 tests/harness/testrunner.h: Add "synonyms" test backend property 16696 and use it to decide where to run synonym tests so they get run on 16697 chert too. Move virtual TestRunner destructor out of the header. 16698 Don't skip all the spelling tests on chert. 16699 16700Fri Jul 18 00:56:17 GMT 2008 Olly Betts <olly@survex.com> 16701 16702 * tests/api_wrdb.cc: Eliminate literal top-bit-set characters. 16703 16704Fri Jul 18 00:40:06 GMT 2008 Olly Betts <olly@survex.com> 16705 16706 * backends/chert/chert_values.cc: Kill superfluous else tokens. 16707 16708Thu Jul 17 13:00:55 GMT 2008 Olly Betts <olly@survex.com> 16709 16710 * backends/chert/chert_table.cc,backends/chert/chert_table.h: 16711 Eliminate other_base_letter member of ChertTable - its value can 16712 always be easily determined from base_letter. 16713 16714Thu Jul 17 12:24:19 GMT 2008 Olly Betts <olly@survex.com> 16715 16716 * backends/chert/chert_database.cc: Add space after catch for 16717 consistency. 16718 16719Thu Jul 17 11:51:57 GMT 2008 Olly Betts <olly@survex.com> 16720 16721 * examples/copydatabase.cc: Use C++ forms of C headers. Only treat 16722 '\' as a directory separator on platforms where it is. Update 16723 counter every 13 counting up to the end so that the digits all 16724 "rotate" and the counter ends up on the exact total. 16725 16726Wed Jul 16 10:10:32 GMT 2008 Olly Betts <olly@survex.com> 16727 16728 * tests/perftest/perftest.cc: Use uname() or gethostname() to get the 16729 hostname on Unix, rather than piping output from uname -n. Use 16730 startswith() where appropriate. Prefer resize() and erase() to 16731 assigning a string a substring of itself. Make internal functions 16732 static. Prefer string() to "". Fold sed | sed and grep | sed into 16733 single sed invocations. 16734 16735Wed Jul 16 05:16:00 GMT 2008 Olly Betts <olly@survex.com> 16736 16737 * queryparser/lemon.c,queryparser/queryparser.lt: Merge upstream 16738 "Check-in Number: 5404" and "5405". 16739 16740Wed Jul 16 04:48:45 GMT 2008 Olly Betts <olly@survex.com> 16741 16742 * NEWS: Sync with 1.0.7 release. Start to clean up ChangeLog entry 16743 pile. 16744 16745Mon Jul 14 05:13:55 GMT 2008 Olly Betts <olly@survex.com> 16746 16747 * queryparser/lemon.c: Fix a typo, remove "\n" from the end of 16748 ErrorMsg() calls since it will get stripped anyway, and escape 16749 literal '%' in ErrorMsg() third arguments. 16750 16751Sun Jul 13 13:04:58 GMT 2008 Olly Betts <olly@survex.com> 16752 16753 * queryparser/lemon.c: Update note of upstream version we're synced 16754 against. 16755 16756Sun Jul 13 12:56:58 GMT 2008 Olly Betts <olly@survex.com> 16757 16758 * queryparser/lemon.c: Tweak previous merged patch so that we still 16759 get #line directives for code in %include directives. 16760 16761Sun Jul 13 12:54:03 GMT 2008 Olly Betts <olly@survex.com> 16762 16763 * queryparser/lemon.c: Merge upstream "Check-in Number: 5335". 16764 Reduces the size of the stripped object file for 16765 queryparser_internal.cc by about 0.5%. 16766 16767Sun Jul 13 12:32:06 GMT 2008 Olly Betts <olly@survex.com> 16768 16769 * queryparser/lemon.c: Fix typo in comment. 16770 16771Sun Jul 13 12:30:38 GMT 2008 Olly Betts <olly@survex.com> 16772 16773 * queryparser/lemon.c: Merge upstream "Check-in Number: 5334". No 16774 change to the generated code in our case. 16775 16776Sun Jul 13 12:24:13 GMT 2008 Olly Betts <olly@survex.com> 16777 16778 * configure.ac: Add missing hard requirement for libtool 2.2.4. 16779 16780Sun Jul 13 12:09:40 GMT 2008 Olly Betts <olly@survex.com> 16781 16782 * configure.ac,HACKING: Hard require autoconf 2.62 and automake 1.10.1. 16783 Move all information about particular autoconf and automake versions 16784 to HACKING. 16785 * configure.ac: Use LT_INIT in preference to AC_PROG_LIBTOOL. On 16786 Linux and k*bsd-gnu, override libtool's link_all_deplibs_CXX to 16787 "no". On Linux, override libtool's sys_lib_dlsearch_path_spec to a 16788 list generated in a more reliable way which includes *all* the 16789 default directories. Remove workaround which sets docdir for 16790 autoconf < 2.60 since we now require 2.62. 16791 * xapian-core.spec.in: We no longer need to run autoreconf to work 16792 around libtool's incomplete sys_lib_dlsearch_path_spec or to pick 16793 up distro-specific patches for link_all_deplibs. 16794 16795Sun Jul 13 11:33:33 GMT 2008 Olly Betts <olly@survex.com> 16796 16797 * Makefile.am: No need to explicitly list m4/*.m4 in EXTRA_DIST as 16798 automake will automatically ship any such files which are needed. 16799 16800Sun Jul 13 09:15:34 GMT 2008 Olly Betts <olly@survex.com> 16801 16802 * api/omenquire.cc: Back out the rounding of percentages change (at 16803 least for now), as it makes percentage cut-offs work inconsistently. 16804 * tests/api_anydb.cc: Add test pctcutoff3 which demonstrates the issue. 16805 16806Sun Jul 13 07:01:02 GMT 2008 Olly Betts <olly@survex.com> 16807 16808 * include/xapian/enquire.h: Fix documentation comment for 16809 MSet::get_rank() - the 'document judged "most relevant" will have 16810 rank of 0' only when ordering primarily by relevance. 16811 16812Sun Jul 13 06:17:13 GMT 2008 Olly Betts <olly@survex.com> 16813 16814 * matcher/multimatch.cc: Tweak layout (makes the backport diff 16815 much smaller and clearer, and reduces indentation by a level for a 16816 chunk of code). 16817 16818Fri Jul 11 13:44:56 GMT 2008 Olly Betts <olly@survex.com> 16819 16820 * tests/harness/testutils.cc: Fix typos in recent improved output. 16821 16822Fri Jul 11 13:04:41 GMT 2008 Olly Betts <olly@survex.com> 16823 16824 * matcher/multimatch.cc: Collect up all the scaling factors we apply 16825 to the estimated number of matches and apply them in one go to avoid 16826 rounding the result more than once. 16827 16828Fri Jul 11 12:21:11 GMT 2008 Olly Betts <olly@survex.com> 16829 16830 * tests/api_anydb.cc: Add testcase for percent cutoff plus collapsing 16831 which most likely would have failed before Richard's recent fix 16832 for the lower bound with collapsing and a matchdecider. 16833 16834Fri Jul 11 05:30:02 GMT 2008 Olly Betts <olly@survex.com> 16835 16836 * backends/database.cc: Add support for XAPIAN_PREFER_CHERT 16837 environmental variable. 16838 16839Thu Jul 10 22:21:46 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 16840 16841 * api/postingsource.cc: Fix skip_to() so that it doesn't advance if 16842 it's already in a suitable position. 16843 * include/xapian/postingsource.h: Specify that skip_to() should 16844 stay in the same position if the current position is equal to 16845 the docid argument of skip_to(). 16846 * tests/api_db.cc: Add valueweightsource3 to check that skip_to() 16847 stays in the same position in this case. 16848 16849Thu Jul 10 13:14:14 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 16850 16851 * api/postingsource.cc: Performance improvement - open documents 16852 lazily (using the internal interface) so that we don't access 16853 the record table for each one - we now just access the value 16854 table. Leads to considerable speed up for me (of the order of 5 16855 times faster). 16856 16857Thu Jul 10 09:49:39 GMT 2008 Olly Betts <olly@survex.com> 16858 16859 * HACKING: Overhaul the sections on building from SVN. Remove ':' 16860 from the end of headings. 16861 16862Wed Jul 09 10:43:01 GMT 2008 Olly Betts <olly@survex.com> 16863 16864 * configure.ac: The workaround to avoid probe code for F77, GCJ, and 16865 RC being added to configure is no longer required now that we're 16866 using libtool 2.2 so remove it. 16867 16868Wed Jul 09 09:40:43 GMT 2008 Olly Betts <olly@survex.com> 16869 16870 * Makefile.am,acinclude.m4,autoconf/dir_contents, 16871 autoconf/rjb_find_stlport.m4,autoconf/type_socklen_t.m4, 16872 m4/dir_contents,m4/rjb_find_stlport.m4,m4/type_socklen_t.m4: Move 16873 the m4 macros which we ship for building configure from into the m4 16874 subdirectory and remove acinclude.m4 - now aclocal will pull in the 16875 required macros automatically. 16876 16877Wed Jul 09 09:14:31 GMT 2008 Olly Betts <olly@survex.com> 16878 16879 * Makefile.am: Update for m4 -> m4-macros change. 16880 16881Wed Jul 09 09:11:45 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 16882 16883 * matcher/externalpostlist.cc: Fix segfault if get_maxweight() is 16884 called when the postlist has reached end. This happens if the 16885 end is reached during decay of an AND_MAYBE postlist to an AND. 16886 * common/postlist.h,matcher/: Add comments documenting that 16887 recalc_maxweight() may be called after the postlist has reached 16888 the end, and noting why this is safe in various cases. 16889 16890Wed Jul 09 09:02:08 GMT 2008 Olly Betts <olly@survex.com> 16891 16892 * m4-macros/dir_contents,m4-macros/xapian.m4,m4/dir_contents, 16893 m4/xapian.m4: Move xapain.m4 to a new subdirectory (m4-macros) since 16894 libtoolize now installs m4 files into subdirectory m4 which we don't 16895 really want picking up by applications building against an 16896 uninstalled xapian-core. 16897 16898Wed Jul 09 08:03:11 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 16899 16900 * Makefile.am,m4/dir_contents,xapian.m4: Move xapian.m4 back into 16901 the m4 subdirectory. For uninstalled builds, we need xapian.m4 16902 to be in a directory without any other .m4 files, or we'll be 16903 likely to pull in the wrong versions of other macros. The top 16904 level directory contains aclocal.m4 and acinclude.m4, so isn't 16905 suitable for this. Also, the xapian-bindings and omega 16906 compilations hadn't been updated with the new xapian.m4 location, 16907 so this fixes the build for them. 16908 16909Wed Jul 09 07:17:38 GMT 2008 Olly Betts <olly@survex.com> 16910 16911 * Makefile.am,configure.ac: Use AC_CONFIG_MACRO_DIR and 16912 ACLOCAL_AMFLAGS as libtoolize 2.2.4 recommends. 16913 16914Wed Jul 09 06:37:21 GMT 2008 Olly Betts <olly@survex.com> 16915 16916 * acinclude.m4: Remove reference to definedir.m4. 16917 16918Wed Jul 09 05:32:24 GMT 2008 Olly Betts <olly@survex.com> 16919 16920 * Makefile.am,m4/dir_contents,m4/xapian.m4,xapian.m4: Move xapian.m4 16921 to the top level rather than devoting a whole directory to a single 16922 file. 16923 16924Wed Jul 09 05:23:02 GMT 2008 Olly Betts <olly@survex.com> 16925 16926 * Makefile.am,autoconf/definedir.m4,configure.ac: AC_DEFINE_DIR() 16927 hasn't been used for years so remove it. 16928 16929Wed Jul 09 02:32:38 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 16930 16931 * api/postingsource.cc,include/xapian/postingsource.h: Add an 16932 alternative constructor for ValueWeightPostingSource which allows 16933 the upper bound on the weights stored to be specified manually. 16934 This is useful for database formats like flint which don't have 16935 an upper bound available. It could conceivably also be useful if 16936 you know that a query will only be accessing a subset of 16937 documents for which you know a more precise upper bound than the 16938 database-wide upper bound. 16939 16940Wed Jul 09 01:59:56 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 16941 16942 * matcher/externalpostlist.cc: Add DEBUGCALL macros to enable 16943 easier debugging. 16944 16945Mon Jul 07 12:40:20 GMT 2008 Olly Betts <olly@survex.com> 16946 16947 * HACKING,NEWS: Update to reflect the autotools now being in the SVN 16948 tree, and the versions we are now bootstrapping with. 16949 * NEWS: Update from ChangeLog. 16950 16951Sun Jul 06 22:59:04 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 16952 16953 * matcher/multimatch.cc,matcher/remotesubmatch.cc, 16954 matcher/remotesubmatch.h: Apply patch from ticker #279 to improve 16955 performance of matches with multiple remote databases. This adds 16956 a special case for the top match being from a remote database, to 16957 avoid accessing the termlist to calculate the percentage scaling 16958 factor. 16959 16960Sun Jul 06 22:55:17 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 16961 16962 * api/omenquire.cc: When calculating percentages, round to the 16963 nearest integer, rather than rounding down. There was a FIXME 16964 about this, but no explanation of why it hadn't already been 16965 done, and I can see no bad side effects so far. The most obvious 16966 positive effect is that queries which should get precisely 100% 16967 will no longer be assigned 99% due to rounding errors. 16968 16969Sun Jul 06 22:48:30 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 16970 16971 * tests/api_anydb.cc: Add new test, topercent2, checking the 16972 percentage values returned by standard searches, both against 16973 known current values for some of the hits, and against a search 16974 with a "local" backend. Also, in rsetmultidb1, test the return 16975 value of mset_range_is_same_weights(). 16976 * tests/api_db.cc: In rsetmultidb2, test the return value of 16977 mset_range_is_same_weights(). 16978 16979Sun Jul 06 22:46:23 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 16980 16981 * tests/harness/testutils.cc,tests/harness/testutils.h: Add 16982 function to test if two mset ranges have the same percentages, 16983 and slightly improve the messages on failure of the mset range 16984 comparison tests. 16985 16986Fri Jul 04 23:31:14 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 16987 16988 * NEWS: Swap two words to make a sentence make sense. 16989 16990Fri Jul 04 11:40:13 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 16991 16992 * matcher/multimatch.cc: Fix calculation of lower bound when 16993 collapsing and match deciders are used. (Only tended to manifest 16994 when the collapsing threw away a lot of documents, and when also 16995 using a custom sort order, but I don't think that was required.) 16996 Also, perform the adjustments due to percentage cutoffs after the 16997 other adjustments, to avoid the lower bound setting for 16998 collapsing overriding the lower bound from the percentage cutoff. 16999 * tests/harness/index_utils.cc: Add a value to value slot 12, which 17000 only has 5 different values, for testing this bug. 17001 * tests/api_db.cc: Add regression test for calculation of the lower 17002 bound. 17003 17004Fri Jul 04 10:24:16 GMT 2008 Olly Betts <olly@survex.com> 17005 17006 * Makefile.am,bin/Makefile.mk,examples/Makefile.mk: Remove 17007 extra_cleandirs as automake 1.10.1 fixes the bug which it was working 17008 around. 17009 17010Fri Jul 04 04:36:59 GMT 2008 Olly Betts <olly@survex.com> 17011 17012 * HACKING: Synchronise tiny change from branches/1.0 which isn't 17013 on trunk for some reason. 17014 17015Fri Jul 04 04:35:19 GMT 2008 Olly Betts <olly@survex.com> 17016 17017 * HACKING: Bootstrap with newer versions of the autotools: 17018 + autoconf 2.61 -> 2.62: faster 17019 + automake 1.10 -> 1.10.1: "make clean" cleans all .libs 17020 directories. 17021 + libtool 1.5.24 -> 2.2.4: many improvements; faster. 17022 17023Thu Jul 03 03:17:42 GMT 2008 Olly Betts <olly@survex.com> 17024 17025 * docs/glossary.rst,docs/intro_ir.html: Improve intro_ir a bit, and 17026 link to the definition of RSet in the glossary. 17027 17028Thu Jul 03 01:30:56 GMT 2008 Olly Betts <olly@survex.com> 17029 17030 * examples/quest.cc: Output get_description() of the parsed query. 17031 17032Sun Jun 29 18:56:06 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 17033 17034 * matcher/multimatch.cc: Rename percent_factor variable, used here 17035 as part of the percent_cutoff mechanism, to make its purpose 17036 clearer, and to avoid confusing it with percent_scale in this 17037 file, and percent_factor used elsewhere in matcher/. 17038 17039Sat Jun 28 21:51:42 GMT 2008 Olly Betts <olly@survex.com> 17040 17041 * docs/doxygen_api_conf.in,docs/doxygen_full_conf.in: Disable 17042 "JAVADOC_AUTOBRIEF" since we always try to write a brief 17043 description explicitly, and it causes problems in some cases. 17044 17045Sat Jun 28 21:32:21 GMT 2008 Olly Betts <olly@survex.com> 17046 17047 * common/: Fix typos in doxygen comments. 17048 17049Sat Jun 28 10:33:06 GMT 2008 Olly Betts <olly@survex.com> 17050 17051 * languages/stem.cc: Add "nl" for selecting the Dutch stemmer, which 17052 was accidentally missing from the list of language codes recognised. 17053 Reported by Joey Hess in Debian bug #484458. 17054 * tests/api_nodb.cc: Extend stemlangs1 to check that all the language 17055 codes work, and so does Stem(""). 17056 17057Fri Jun 27 00:27:31 GMT 2008 Olly Betts <olly@survex.com> 17058 17059 * NEWS: Update from ChangeLog and against 1.0 branch. 17060 17061Thu Jun 26 17:17:41 GMT 2008 Olly Betts <olly@survex.com> 17062 17063 * net/remoteconnection.cc: The "already done" check in do_close() is 17064 no longer useful, so remove it. Shrink the try block to only cover 17065 the call to send_message(). 17066 17067Thu Jun 26 08:19:41 GMT 2008 Olly Betts <olly@survex.com> 17068 17069 * net/remoteconnection.cc: Don't bother to send MSG_SHUTDOWN for a 17070 read-only Database - just closing the connection is enough. 17071 17072Thu Jun 26 04:49:06 GMT 2008 Olly Betts <olly@survex.com> 17073 17074 * backends/chert/chert_btreebase.cc: Don't need <string.h> as well as 17075 <cstring>. 17076 * backends/flint/flint_btreebase.cc,bin/xapian-replicate-server.cc: 17077 Prefer <cXXX> to <XXX.h>. 17078 17079Tue Jun 24 04:31:10 GMT 2008 Olly Betts <olly@survex.com> 17080 17081 * tests/harness/testsuite.cc: Use resize() to truncate a string. 17082 17083Tue Jun 24 04:23:59 GMT 2008 Olly Betts <olly@survex.com> 17084 17085 * net/remoteconnection.cc: Fill in a guess at the __WIN32__ version of 17086 the code needed in RemoteConnection::do_close(). 17087 17088Tue Jun 24 04:06:02 GMT 2008 Olly Betts <olly@survex.com> 17089 17090 * net/progclient.cc: Fix debug logging for __WIN32__. 17091 17092Tue Jun 24 03:11:09 GMT 2008 Olly Betts <olly@survex.com> 17093 17094 * net/remoteserver.cc: Just delete the Database * pointer db. The 17095 Database dtor is virtual, so it's fine to delete a WritableDatabase 17096 via a Database * pointer. 17097 17098Tue Jun 24 01:29:12 GMT 2008 Olly Betts <olly@survex.com> 17099 17100 * backends/remote/remote-database.cc,common/remoteconnection.h, 17101 net/remoteconnection.cc,net/replicatetcpclient.cc: Wait for the 17102 connection to close rather than using a different shutdown message 17103 which requires a reply. Mostly this is more backport-friendly, but 17104 it also avoids a message reply (albeit it not in a performance 17105 sensitive situation). Needs implementing for __WIN32__. 17106 17107Tue Jun 24 01:07:16 GMT 2008 Olly Betts <olly@survex.com> 17108 17109 * net/remoteserver.cc: Unwrap comment. 17110 17111Tue Jun 24 00:52:02 GMT 2008 Olly Betts <olly@survex.com> 17112 17113 * net/remoteserver.cc: Kill a blank line. 17114 17115Tue Jun 24 00:49:50 GMT 2008 Olly Betts <olly@survex.com> 17116 17117 * backends/remote/remote-database.cc,common/remoteconnection.h, 17118 common/remoteprotocol.h,docs/remote_protocol.html, 17119 net/remoteconnection.cc,net/remoteserver.cc, 17120 net/replicatetcpclient.cc: Revert r10713 in preparation for applying 17121 an alternative fix. 17122 17123Mon Jun 23 21:51:42 GMT 2008 Olly Betts <olly@survex.com> 17124 17125 * HACKING: Expand list of keywords for brace cuddling. Add rationale. 17126 17127Mon Jun 23 01:53:03 GMT 2008 Olly Betts <olly@survex.com> 17128 17129 * tests/queryparsertest.cc: Cuddle braces after for loops for 17130 consistency with the rest of the code. Use string::resize() to 17131 shrink a string rather than assigning the result of substr(0, x). 17132 * HACKING: Explicitly document that braces should be cuddled after 17133 control flow structures. 17134 17135Mon Jun 23 01:34:39 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 17136 17137 * tests/perftest/perftest_matchdecider.cc: Reworked performance 17138 test to include a test of an alldocspostingiterator, and to only 17139 rebuild the database involved if it's not up-to-date. 17140 17141Mon Jun 23 01:20:25 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 17142 17143 * common/valuestats.h: Add missing #include. 17144 17145Mon Jun 23 01:10:19 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 17146 17147 * bin/xapian-compact.cc: Add support for the valuestats which are 17148 now held in the value table for chert. 17149 17150Sun Jun 22 23:44:46 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 17151 17152 * backends/chert/: Change ChertAllDocsPostList to inherit from 17153 ChertPostList and use the doclen list from the posting table 17154 rather than using the termlist table. This helps towards making 17155 the termlist table optional, reduces the amount of data read in 17156 the process of iterating through an alldocs postlist, and can 17157 make a massive difference in performance: I've measured the time 17158 to iterate through all the documents in a 1000000 document 17159 database, and the patch speeds this operation up by a factor of 17160 6. 17161 17162 Add `keep_reference` parameter to the ChertPostList constructor, 17163 instead of not keeping a reference if the term is empty. 17164 ChertAllDocsPostList uses this to keep a reference to the 17165 database while using an empty term. 17166 17167 Add ChertAllDocsModifiedPostList class, inspired by 17168 ChertModifiedPostList, (with corresponding new source files) to 17169 handle alldocs postlist with modifications: this wasn't needed 17170 before since the termlist is updated immediately after changes. 17171 17172Sun Jun 22 21:37:00 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 17173 17174 * tests/harness/: Add "name" parameter to 17175 BackendManager::get_writable_database_as_database(), and 17176 BackendManager::get_writable_database_again(), (and subclasses) 17177 so that old databases can be revived. Useful for the performance 17178 tests. 17179 17180Sun Jun 22 09:30:44 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 17181 17182 * tests/api_anydb.cc: Expand tests for alldocspostlist, covering 17183 iteration of modified databases. 17184 17185Fri Jun 20 08:28:12 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 17186 17187 * backends/remote/remote-database.cc,common/remoteconnection.h, 17188 common/remoteprotocol.h,docs/remote_protocol.html, 17189 net/remoteconnection.cc,net/remoteserver.cc, 17190 net/replicatetcpclient.cc: Add new message 17191 "MSG_SHUTDOWNANDCONFIRM" which causes a reply of 17192 "REPLY_SHUTDOWNCONFIRMATION" to be sent after the database has 17193 been closed. Use this message when closing a writable database, 17194 to ensure that the destructor doesn't return until the lock on 17195 the database has been released. 17196 17197Tue Jun 17 14:28:46 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 17198 17199 * tests/perftest/freemem.cc,tests/perftest/perftest.cc: Patches 17200 from Charlie to allow perftest to compile on windows. 17201 17202Tue Jun 17 13:23:18 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 17203 17204 * backends/chert/chert_btreebase.cc,backends/chert/chert_lock.cc, 17205 backends/flint/flint_btreebase.cc,backends/flint/flint_lock.cc, 17206 bin/xapian-replicate-server.cc: Add some missing includes, needed 17207 for GCC 4.3. 17208 17209Tue Jun 17 11:00:56 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 17210 17211 * tests/perftest/get_machine_info.in: Updates to hopefully get 17212 useful version information on windows. 17213 17214Mon Jun 16 12:13:48 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 17215 17216 * tests/harness/testsuite.cc: Don't call backendmanager->posttest() 17217 if no backendmanager is in use. 17218 17219Sun Jun 15 02:19:03 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 17220 17221 * tests/harness/: Wait for subprocesses to finish at end of tests, 17222 with remotetcp backend, to avoid test failures due to final flush 17223 of a subprocess writing to the database used for the next test. 17224 17225Thu Jun 12 09:09:44 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 17226 17227 * common/unaligned.h: Add some casts to make GCC 4.3.0 happy. 17228 17229Thu Jun 12 09:06:21 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 17230 17231 * backends/chert/chert_btreebase.cc: Add missing #include (needed 17232 for compilation with GCC 4.3.0). 17233 17234Tue Jun 10 17:38:07 GMT 2008 Olly Betts <olly@survex.com> 17235 17236 * tests/harness/testrunner.cc: Use startswith(). Fix memory leak. 17237 17238Fri Jun 06 11:02:56 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 17239 17240 * Makefile.am,tests/Makefile.am: Fix make check-* targets to match 17241 the current set of backends. Add .multichert and .multiflint to 17242 the clean-local hook in tests/. Leave .multi there for now, to 17243 clean up existing .multi directories in the automated build trees. 17244 17245Fri Jun 06 08:26:49 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 17246 17247 * common/Makefile.mk: Add valuestats.h to distribution. 17248 17249Thu Jun 05 23:37:37 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 17250 17251 * backends/chert/chert_values.cc: Fix compile error in assertion in 17252 recently added code for calculating value statistics. 17253 17254Thu Jun 05 21:38:01 GMT 2008 Olly Betts <olly@survex.com> 17255 17256 * queryparser/queryparser.lemony: Use std::vector<Term *> rather than 17257 std::list<Term *> so that size() is O(1) with any (sane) compiler 17258 and because a list of pointers isn't space efficient (and we don't 17259 need to splice here). Factor out common code in if branches in 17260 TermGroup::as_group(). 17261 17262Thu Jun 05 17:04:23 GMT 2008 Olly Betts <olly@survex.com> 17263 17264 * queryparser/queryparser.lemony: Use "startswith()" to avoid creating 17265 a new string object. 17266 17267Thu Jun 05 09:09:54 GMT 2008 Olly Betts <olly@survex.com> 17268 17269 * queryparser/queryparser.lemony: Remove variable which is set but 17270 never otherwise used. 17271 17272Thu Jun 05 09:08:22 GMT 2008 Olly Betts <olly@survex.com> 17273 17274 * api/omqueryinternal.cc: Don't call find() twice - reuse the result 17275 we just got. Use AssertEq() rather than Assert() on an equality 17276 test. Clarify a comment. 17277 17278Wed Jun 04 21:32:11 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 17279 17280 * queryparser/queryparser.lemony: Fix more O(N*N) scaling, this 17281 time in the way in which auto multiword synonyms are detected. 17282 Instead of trying all possible sub-sequences of terms for 17283 synonyms, use synonym_keys and the skip_to() method to check for 17284 synonyms which actually exist in the synonyms table. 17285 * tests/queryparsertest.cc: Extend the scaling test to check this 17286 case. 17287 17288Wed Jun 04 12:42:32 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 17289 17290 * queryparser/queryparser.lemony: Fix various cases where queries 17291 were constructed pair-wise within a loop, which leads to O(N*N) 17292 scaling behaviour (because each intermediate query construction 17293 is O(M) where M is the size of that query, and there are N of 17294 them). 17295 * tests/queryparsertest.cc: Add test to check that parsing of a 17296 query scales roughly linearly with query size. 17297 * common/omtime.h: Add method to get an OmTime as a double - used 17298 by the new query parser test. 17299 17300Wed Jun 04 12:18:35 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 17301 17302 * tests/harness/testsuite.h: Fix TEST_LESSER_OR_EQUAL and 17303 TEST_LESSER macros to compare in the right direction (these 17304 macros are, so far, unused). 17305 17306Mon Jun 02 18:19:22 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 17307 17308 * api/postingsource.cc: Make ValueWeightPostingSource use value 17309 statistics, if they're available, to return accurate term 17310 frequency statistics, and a better maxweight. 17311 * tests/api_db.cc: Add valueweightsource2, to test the bounds and 17312 maxweight returned by a ValueWeightPostingSource for backends 17313 with valuestats support. Replace !multi condition in 17314 valueweightsource1 with a SKIP_TEST_FOR_BACKEND invocation, since 17315 this is a shortcoming we should fix at some point. 17316 17317Mon Jun 02 18:16:52 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 17318 17319 * tests/harness/testrunner.cc,tests/harness/testrunner.h: Replace 17320 DO_TESTS_FOR_BACKEND macro with a do_tests_for_backend method; 17321 the method version takes a BackendManager * and gets the backend 17322 name from that, rather than requiring it to be specified. 17323 Requires addition of a couple of extra private members to the 17324 TestRunner class. 17325 17326Mon Jun 02 10:27:45 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 17327 17328 * include/xapian/database.h: Add get_value_freq(), 17329 get_value_lower_bound() and get_value_upper_bound() methods to 17330 Database, to get statistics about the values stored in a slot. 17331 * api/omdatabase.cc,backends/chert/,backends/database.cc, 17332 backends/inmemory/inmemory_database.cc, 17333 backends/inmemory/inmemory_database.h, 17334 backends/remote/remote-database.cc,common/, 17335 net/remoteserver.cc: Add support for the value statistics methods 17336 to chert, inmemory, multi and remote databases. 17337 * tests/Makefile.am,tests/api_valuestats.cc, 17338 tests/harness/testrunner.cc,tests/harness/testrunner.h: Add test 17339 of the value statistics code, and a "valuestats" backend property 17340 to select only backends supporting this. 17341 17342Mon Jun 02 10:26:12 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 17343 17344 * tests/harness/backendmanager.cc,tests/harness/backendmanager.h: 17345 Move implementation of get_dbtype() method out of header. 17346 17347Mon Jun 02 09:44:34 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 17348 17349 * rests/harness/: Make flint and chert subtypes for the remote and 17350 multi backend types. These are specified (on the command line 17351 and elsewhere) by the main type (multi, remotetcp or remoteprog), 17352 followed by an underscore, followed by the subtype (flint or 17353 chert). Change return type of BackendManager::get_dbtype() to a 17354 string instead of a const char *, to allow backend managers which 17355 have subtypes to generate the result dynamically. 17356 * tests/harness/backendmanager_remote.cc, 17357 tests/harness/backendmanager_remote.h, 17358 tests/harness/backendmanager_remoteprog.cc, 17359 tests/harness/backendmanager_remoteprog.h, 17360 tests/harness/backendmanager_remotetcp.cc, 17361 tests/harness/backendmanager_remotetcp.h: Add new 17362 BackendManagerRemote class as a common base for the two remote 17363 backend managers, and move duplicated code into it. Add 17364 parameter to its constructor, and to the constructors of the 17365 remote backend manager subclasses, to control the type of 17366 database to use at the remote end. 17367 * tests/harness/backendmanager_multi.cc, 17368 tests/harness/backendmanager_multi.h: Add parameter to 17369 constructor of BackendManagerMulti, controlling the type of 17370 database to use for sub databases. Put the generated database 17371 files in ".multiflint" and ".multichert" instead of ".multi". 17372 * tests/harness/testrunner.cc: Update list of backend properties to 17373 contain the new subtypes. Modify use_backend() to allow either 17374 the full backend type, or just the main part of the backend type, 17375 to be specified, so that, for example "-b multi" will run both 17376 the multi_chert and multi_flint tests. Add test runs for all the 17377 subtypes now supported. Catch string exceptions thrown by the 17378 test runner - these can currently occur when neither flint or 17379 chert are compiled in. 17380 * tests/apitest.cc,tests/apitest.h: Adjust return type of 17381 get_dbtype(), implement skip_test_*_backend functions which just 17382 check the prefix of the type, and implement SKIP_TEST_*_BACKEND 17383 macros using these. 17384 * tests/api_anydb.cc: Modify check for running on a multi backend 17385 to copy with getting a string back from get_dbtype(). 17386 17387Sat May 31 00:55:03 GMT 2008 Olly Betts <olly@survex.com> 17388 17389 * tests/Makefile.am,tests/perftest/Makefile.mk: Remove unnecessary 17390 quotes. 17391 17392Thu May 29 16:04:56 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 17393 17394 * tests/perftest/: Update svn:ignore property for perftest changes. 17395 17396Thu May 29 14:33:51 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 17397 17398 * tests/perftest/perftest.cc: Include the xapian version string in 17399 the test output. For runs from SVN, also include the subversion 17400 revision number and branch in the output. 17401 17402Wed May 28 21:47:37 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 17403 17404 * matcher/valuegepostlist.cc,matcher/valuerangepostlist.cc, 17405 matcher/valuerangepostlist.h: Apply patch from ticket #270 to 17406 implement ValueRangePostList::next() by using an alldocs posting 17407 list, instead of trying docids in turn. This is much more 17408 efficient if document IDs are sparse. Since both methods require 17409 accessing the termlist table to check for the next document, and 17410 some cursory performance tests don't show a measurable difference 17411 in speed, I think this approach is at least safe, and probably 17412 superior. 17413 17414Wed May 28 21:28:38 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 17415 17416 * tests/perftest/perftest.cc: Log the flush threshold for indexing 17417 runs. 17418 * tests/perftest/perftest_randomidx.cc: Set the run size back to a 17419 reasonably large value. 17420 17421Wed May 28 20:48:10 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 17422 17423 * configure.ac,tests/,tests/perftest/,tests/perftest_matchdecider.cc, 17424 tests/perftest_randomidx.cc: Move performance test source files 17425 into a subdirectory. Modify output of performance tests to 17426 include some basic system information, and also to include 17427 details of the parameters used to perform indexing tests. 17428 17429Wed May 28 20:42:56 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 17430 17431 * HACKING: Fix numbering in checklist for developers so that it 17432 doesn't repeat section 5. 17433 17434Sun May 25 14:21:40 GMT 2008 Olly Betts <olly@survex.com> 17435 17436 * NEWS: Update to match 1.0 branch. 17437 17438Sun May 25 00:24:09 GMT 2008 Olly Betts <olly@survex.com> 17439 17440 * NEWS: Start to update from ChangeLog, stripping out backported 17441 changes. 17442 17443Sat May 24 16:38:49 GMT 2008 Olly Betts <olly@survex.com> 17444 17445 * NEWS,configure.ac: Update to match 1.0 branch. 17446 17447Sat May 24 16:33:19 GMT 2008 Olly Betts <olly@survex.com> 17448 17449 * tests/termgentest.cc: Pass Xapian::Document by const reference. 17450 17451Sat May 24 14:30:59 GMT 2008 Olly Betts <olly@survex.com> 17452 17453 * bin/xapian-compact.cc: Only warn about duplicate user metadata keys 17454 if the tags aren't the same. 17455 17456Sat May 24 12:14:55 GMT 2008 Olly Betts <olly@survex.com> 17457 17458 * bin/Makefile.am: Put special -I options in foo_CPPFLAGS not 17459 foo_CXXFLAGS. As well as being the more correct place, this also 17460 means that AM_CXXFLAGS is now used when compiling xapian-check and 17461 xapian-compact, which in particular enables compiler warnings. 17462 * bin/xapian-check.cc,bin/xapian-compact.cc,bin/xapian-check-flint.cc: 17463 Fix warnings (one unused variable and a few cases of a variable 17464 masking another with the same name - none problematic in practice). 17465 17466Fri May 23 09:22:24 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 17467 17468 * backends/inmemory/inmemory_database.cc: Fix bug in inmemory 17469 database, which resulted in the values not being stored correctly 17470 if document IDs were sparse. 17471 * matcher/valuerangepostlist.cc: Fix the next() method not to 17472 return document IDs which aren't present in the database - this 17473 used to happen if the document IDs were sparse. 17474 * tests/api_anydb.cc: Add "valuerange2", a regression test for 17475 OP_VALUE_LE returning document IDs which aren't present in the 17476 database, and "alldocspl1", which does a generic test of an 17477 alldocs postlist in a sparse database (this passed before the 17478 above changes, but might as well be added anyway). 17479 17480Wed May 21 19:33:12 GMT 2008 Olly Betts <olly@survex.com> 17481 17482 * docs/Makefile.am: test == isn't portable - use test = instead. 17483 17484Wed May 21 13:22:23 GMT 2008 Olly Betts <olly@survex.com> 17485 17486 * HACKING: Fix path for atreus. 17487 17488Wed May 21 13:21:08 GMT 2008 Olly Betts <olly@survex.com> 17489 17490 * HACKING: Fix search&replace error - the CVS module is still called 17491 www.xapian.org. 17492 17493Wed May 21 13:16:39 GMT 2008 Olly Betts <olly@survex.com> 17494 17495 * HACKING: Reword, since environmental variable PATH isn't "set by 17496 $PATH". 17497 17498Wed May 21 13:16:21 GMT 2008 Olly Betts <olly@survex.com> 17499 17500 * HACKING: ixion -> atreus. 17501 17502Wed May 21 13:12:07 GMT 2008 Olly Betts <olly@survex.com> 17503 17504 * include/xapian/database.h: Improve documentation comment. 17505 17506Sun May 18 05:20:29 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 17507 17508 * docs/remote_protocol.html: Remove spurious "i" at end of line. 17509 17510Sat May 17 11:53:54 GMT 2008 Olly Betts <olly@survex.com> 17511 17512 * tests/harness/testutils.h: Layout and macro parameter name tweaks. 17513 17514Fri May 16 20:42:05 GMT 2008 Olly Betts <olly@survex.com> 17515 17516 * bin/xapian-compact.cc: Check that all source databases are the same 17517 type (flint or chert). Copy over "iamchert" for chert. Update 17518 terminology - the "meta file" is now called the "version file". 17519 17520Fri May 16 17:33:22 GMT 2008 Olly Betts <olly@survex.com> 17521 17522 * backends/chert/chert_database.cc,backends/chert/chert_version.cc: 17523 Need <cstdio> for rename(). 17524 17525Fri May 16 17:27:56 GMT 2008 Olly Betts <olly@survex.com> 17526 17527 * backends/chert/chert_database.cc: Correct FIXME comment and mark 17528 as "FIXME:1.2.0". 17529 17530Fri May 16 17:21:59 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 17531 17532 * tests/harness/testrunner.cc,tests/harness/testrunner.h: Add 17533 condition to test if the backend is "inmemory". 17534 * tests/perftest_randomidx.cc: Change the run size from 1000 17535 documents to 1000000. Disable this test for the inmemory 17536 backend, because it will quickly use up all the memory on the 17537 machine. 17538 17539Fri May 16 16:56:25 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 17540 17541 * HACKING: Add note about some more PDF generation tools which are 17542 needed, and that doxygen requires them to be on PATH. 17543 17544Fri May 16 16:38:40 GMT 2008 Olly Betts <olly@survex.com> 17545 17546 * HACKING: Ubuntu now needs tetex-extra too. 17547 17548Fri May 16 10:05:30 GMT 2008 Olly Betts <olly@survex.com> 17549 17550 * bin/xapian-compact.cc: Fix to not reject chert databases during the 17551 "up front" check. 17552 17553Thu May 15 20:20:14 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 17554 17555 * net/progclient.cc: Set namespace for close methods (to avoid 17556 conflicting with the close method I'm working on adding to 17557 database internal). 17558 17559Wed May 14 17:14:53 GMT 2008 Olly Betts <olly@survex.com> 17560 17561 * backends/database.cc: Default to flint not chert for a new database. 17562 17563Wed May 14 17:11:56 GMT 2008 Olly Betts <olly@survex.com> 17564 17565 * api/postingsource.cc,docs/postingsource.rst, 17566 include/xapian/postingsource.h,matcher/externalpostlist.cc: 17567 PostingSource::check() now returns the valid flag rather than 17568 passing it in by reference to be set. Change "should" to "must" 17569 for the get_termfreq_est() requirement at Richard's suggestion. 17570 Add parameter names to PostingSource method prototypes and update 17571 documentation comments to match. 17572 17573Wed May 14 15:34:38 GMT 2008 Olly Betts <olly@survex.com> 17574 17575 * docs/Makefile.am,docs/index.html,docs/postingsource.rst: Add 17576 topic document for PostingSource. 17577 17578Mon May 12 17:27:13 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 17579 17580 * include/xapian/postingsource.h: Add documentation comments for 17581 ValueWeightPostingSource, and tweak 17582 PostingSource::get_maxweight() comment a bit more. 17583 17584Mon May 12 16:51:01 GMT 2008 Olly Betts <olly@survex.com> 17585 17586 * include/xapian/postingsource.h: Clarify get_maxweight() if the 17587 maximum from now on. 17588 17589Mon May 12 06:51:53 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 17590 17591 * api/postingsource.cc,include/xapian/postingsource.h,tests/api_db.cc, 17592 tests/harness/index_utils.cc: Add ValueWeightPostingSource, which 17593 reads a value, applies sortable_unserialise() to it, and returns 17594 that as the weight for each document. 17595 17596Sun May 11 23:49:07 GMT 2008 Olly Betts <olly@survex.com> 17597 17598 * queryparser/lemon.c,queryparser/queryparser.lt: Do a final sync by 17599 comparing our versions to the latest vanilla upstream. Add a note 17600 to each file of the latest revision sync-ed against. 17601 * queryparser/lemon.c: Enable '#define PRIVATE static'. 17602 17603Sun May 11 22:48:27 GMT 2008 Olly Betts <olly@survex.com> 17604 17605 * NEWS: Add a note of the speed-up that the recent QueryParser changes 17606 have given. 17607 17608Sun May 11 22:10:19 GMT 2008 Olly Betts <olly@survex.com> 17609 17610 * queryparser/lemon.c: Merge upstream "Check-in Number: 5053". 17611 17612Sun May 11 22:01:48 GMT 2008 Olly Betts <olly@survex.com> 17613 17614 * queryparser/queryparser.lt: Merge upstream "Check-in Number: 5052". 17615 17616Sun May 11 21:56:03 GMT 2008 Olly Betts <olly@survex.com> 17617 17618 * queryparser/queryparser.lt: Fix a comment typo. 17619 17620Sun May 11 21:52:30 GMT 2008 Olly Betts <olly@survex.com> 17621 17622 * queryparser/lemon.c: Merge upstream "Check-in Number: 4751". 17623 17624Sun May 11 21:51:18 GMT 2008 Olly Betts <olly@survex.com> 17625 17626 * queryparser/queryparser.lt: Merge upstream "Check-in Number: 4745". 17627 17628Sun May 11 21:47:03 GMT 2008 Olly Betts <olly@survex.com> 17629 17630 * queryparser/queryparser.lt: Comment out memset() call added by 17631 one of the earlier merged upstream changes - a later comment on 17632 the ticket referred to notes that this was actually a bug in the 17633 grammar of the people who reported it. 17634 17635Sun May 11 21:44:46 GMT 2008 Olly Betts <olly@survex.com> 17636 17637 * queryparser/queryparser.lt: Merge upstream "Check-in Number: 4743". 17638 17639Sun May 11 21:41:55 GMT 2008 Olly Betts <olly@survex.com> 17640 17641 * queryparser/queryparser.lt: Merge upstream "Check-in Number: 4738". 17642 17643Sun May 11 21:33:13 GMT 2008 Olly Betts <olly@survex.com> 17644 17645 * queryparser/lemon.c,queryparser/queryparser.lt: Merge upstream 17646 "Check-in Number: 4736". 17647 * queryparser/lemon.c: Add %syntax_error directive since lemon has 17648 changed it's error recovery strategy if you don't have one. 17649 17650Sun May 11 20:54:31 GMT 2008 Olly Betts <olly@survex.com> 17651 17652 * queryparser/queryparser.lemony: If we hit a syntax error, don't 17653 bother feeding further tokens to the parser! 17654 17655Sat May 10 21:42:44 GMT 2008 Olly Betts <olly@survex.com> 17656 17657 * queryparser/lemon.c: Merge upstream "Check-in Number: 4641". 17658 17659Sat May 10 21:33:10 GMT 2008 Olly Betts <olly@survex.com> 17660 17661 * queryparser/lemon.c: Merge upstream "Check-in Number: 4473". 17662 17663Sat May 10 21:31:25 GMT 2008 Olly Betts <olly@survex.com> 17664 17665 * queryparser/lemon.c: Merge upstream "Check-in Number: 4439". 17666 17667Sat May 10 21:28:27 GMT 2008 Olly Betts <olly@survex.com> 17668 17669 * queryparser/lemon.c: Merge upstream "Check-in Number: 4274". 17670 17671Sat May 10 21:25:35 GMT 2008 Olly Betts <olly@survex.com> 17672 17673 * queryparser/lemon.c: Merge upstream "Check-in Number: 4190". 17674 17675Sat May 10 21:20:16 GMT 2008 Olly Betts <olly@survex.com> 17676 17677 * queryparser/lemon.c: Merge upstream "Check-in Number: 4160". 17678 17679Sat May 10 21:07:15 GMT 2008 Olly Betts <olly@survex.com> 17680 17681 * queryparser/lemon.c: Merge upstream "Check-in Number: 3753". 17682 17683Sat May 10 21:03:19 GMT 2008 Olly Betts <olly@survex.com> 17684 17685 * queryparser/lemon.c,queryparser/queryparser.lt: Merge upstream 17686 "Check-in Number: 3738". 17687 17688Sat May 10 20:00:09 GMT 2008 Olly Betts <olly@survex.com> 17689 17690 * queryparser/lemon.c: Merge upstream "Check-in Number: 3654". 17691 17692Sat May 10 19:55:32 GMT 2008 Olly Betts <olly@survex.com> 17693 17694 * queryparser/lemon.c: Merge upstream "Check-in Number: 3594". 17695 17696Sat May 10 19:46:05 GMT 2008 Olly Betts <olly@survex.com> 17697 17698 * queryparser/lemon.c: Merge upstream "Check-in Number: 3593". 17699 17700Sat May 10 19:44:15 GMT 2008 Olly Betts <olly@survex.com> 17701 17702 * queryparser/lemon.c: Merge upstream "Check-in Number: 3591". 17703 17704Sat May 10 19:40:12 GMT 2008 Olly Betts <olly@survex.com> 17705 17706 * queryparser/lemon.c: Merge upstream "Check-in Number: 3528". 17707 17708Sat May 10 19:38:36 GMT 2008 Olly Betts <olly@survex.com> 17709 17710 * queryparser/lemon.c: Merge upstream "Check-in Number: 3476". 17711 17712Sat May 10 19:36:06 GMT 2008 Olly Betts <olly@survex.com> 17713 17714 * queryparser/lemon.c: Merge upstream "Check-in Number: 3333". 17715 17716Sat May 10 19:33:33 GMT 2008 Olly Betts <olly@survex.com> 17717 17718 * queryparser/queryparser.lt: Merge upstream "Check-in Number: 3244". 17719 17720Sat May 10 19:29:18 GMT 2008 Olly Betts <olly@survex.com> 17721 17722 * queryparser/lemon.c: Merge upstream "Check-in Number: 3226". 17723 17724Sat May 10 19:19:48 GMT 2008 Olly Betts <olly@survex.com> 17725 17726 * queryparser/queryparser.lt: Merge upstream "Check-in Number: 3224". 17727 17728Sat May 10 19:14:18 GMT 2008 Olly Betts <olly@survex.com> 17729 17730 * queryparser/lemon.c,queryparser/queryparser.lt: Merge upstream 17731 "Check-in Number: 3210". 17732 17733Sat May 10 18:56:50 GMT 2008 Olly Betts <olly@survex.com> 17734 17735 * queryparser/queryparser.lt: Merge upstream "Check-in Number: 3181". 17736 17737Sat May 10 17:05:35 GMT 2008 Olly Betts <olly@survex.com> 17738 17739 * queryparser/lemon.c: Merge upstream "Check-in Number: 3126". 17740 17741Sat May 10 16:51:31 GMT 2008 Olly Betts <olly@survex.com> 17742 17743 * queryparser/lemon.c: Merge upstream "Check-in Number: 2764". 17744 17745Sat May 10 16:40:48 GMT 2008 Olly Betts <olly@survex.com> 17746 17747 * queryparser/lemon.c,queryparser/queryparser.lt: Merge upstream 17748 "Check-in Number: 2761". 17749 17750Sat May 10 16:32:45 GMT 2008 Olly Betts <olly@survex.com> 17751 17752 * queryparser/queryparser.lt: Merge upstream "Check-in Number: 2458". 17753 17754Sat May 10 16:29:55 GMT 2008 Olly Betts <olly@survex.com> 17755 17756 * queryparser/lemon.c: Merge upstream "Check-in Number: 2345". 17757 17758Sat May 10 16:08:28 GMT 2008 Olly Betts <olly@survex.com> 17759 17760 * queryparser/queryparser.lt: Merge upstream "Check-in Number: 2302". 17761 17762Sat May 10 15:50:23 GMT 2008 Olly Betts <olly@survex.com> 17763 17764 * queryparser/lemon.c: Merge upstream "Check-in Number: 2208". 17765 17766Sat May 10 15:03:59 GMT 2008 Olly Betts <olly@survex.com> 17767 17768 * tests/harness/testsuite.cc: Prefer `str.assign(ptr)' to `str = 17769 string(ptr)'. 17770 17771Sat May 10 14:48:38 GMT 2008 Olly Betts <olly@survex.com> 17772 17773 * api/matchspy.cc,api/replication.cc: Prefer `str.assign(ptr, len)' to 17774 `str = string(ptr, len)'. 17775 17776Fri May 09 16:53:19 GMT 2008 Olly Betts <olly@survex.com> 17777 17778 * net/remoteserver.cc: No entries in dispatch[] are NULL, so there's 17779 no point testing for it. 17780 17781Fri May 09 16:51:10 GMT 2008 Olly Betts <olly@survex.com> 17782 17783 * net/remoteconnection.cc: Remove pointless conversion to size_t which 17784 breaks GCC 2.95 build. 17785 17786Fri May 09 16:22:46 GMT 2008 Olly Betts <olly@survex.com> 17787 17788 * api/replication.cc: Needs <cstdio> for rename(). 17789 17790Fri May 09 15:41:08 GMT 2008 Olly Betts <olly@survex.com> 17791 17792 * tests/harness/testutils.cc: No need for an explicit std::endl when 17793 calling TEST_AND_EXPLAIN(). 17794 17795Fri May 09 15:38:22 GMT 2008 Olly Betts <olly@survex.com> 17796 17797 * api/replication.cc: Use '\n' rather than endl in the middle of 17798 writing stuff, since endl forces a flush which just adds useless 17799 overhead. 17800 17801Fri May 09 15:24:42 GMT 2008 Olly Betts <olly@survex.com> 17802 17803 * common/omdebug.h: Fix RETURN macro to work on GCC 2.95 for the case 17804 `RETURN(string())'. 17805 17806Fri May 09 08:33:35 GMT 2008 Olly Betts <olly@survex.com> 17807 17808 * include/xapian/postingsource.h: Add a protected default ctor so that 17809 code subclassing PostingSource actually compiles! 17810 17811Thu May 08 16:41:59 GMT 2008 Olly Betts <olly@survex.com> 17812 17813 * include/xapian/postingsource.h: Add doxygen comments for 17814 Xapian::PostingSource. Add private assignment operator and 17815 copy constructor to prevent copying. 17816 17817Thu May 08 16:40:49 GMT 2008 Olly Betts <olly@survex.com> 17818 17819 * common/postlist.h: Fix one doxygen comment and improve another. 17820 17821Mon May 05 15:22:24 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 17822 17823 * tests/Makefile.am: Clean up .chert in clean-local. 17824 17825Mon May 05 14:52:34 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 17826 17827 * docs/Makefile.am: Adapt the dist-check hook to work with a VPATH 17828 build in non-maintainer mode. 17829 17830Mon May 05 13:18:19 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 17831 17832 * docs/Makefile.am: Fix "make distcheck" by using dist-hook to 17833 install generated files, with the appropriate dependency, instead 17834 of wildcards in EXTRA_DIST which don't give the correct expansion 17835 unless the files happened to be generated already by another 17836 rule. Also, ensure that the documentation is generated before 17837 attempting to install it. 17838 17839Sun May 04 09:30:53 GMT 2008 Olly Betts <olly@survex.com> 17840 17841 * backends/chert/chert_version.cc,backends/flint/flint_version.cc, 17842 common/stringutils.h: Move CONST_STRLEN() into stringutils.h. 17843 * backends/chert/chert_database.cc,backends/flint/flint_database.cc: 17844 Use CONST_STRLEN(). 17845 17846Sat May 03 18:56:34 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 17847 17848 * api/omenquire.cc: Reset the internal sorter pointer to NULL when 17849 changing to a sort by value. Fixes #256. 17850 * tests/api_sorting.cc: Add regression test. 17851 17852Sat May 03 18:52:27 GMT 2008 Olly Betts <olly@survex.com> 17853 17854 * include/xapian/unicode.h: Mark internal functions as @internal. 17855 17856Sat May 03 18:43:12 GMT 2008 Olly Betts <olly@survex.com> 17857 17858 * docs/doxygen_api_conf.in: Disable header and directory relationship 17859 graphs in the API documentation as they aren't interesting to users. 17860 17861Sat May 03 18:12:30 GMT 2008 Olly Betts <olly@survex.com> 17862 17863 * docs/gen_codestructure_doc.in: Link to trac instead of viewvc. 17864 17865Sat May 03 17:25:02 GMT 2008 Olly Betts <olly@survex.com> 17866 17867 * docs/replication_protocol.rst: Fix a few typos. 17868 17869Sat May 03 15:53:24 GMT 2008 Olly Betts <olly@survex.com> 17870 17871 * backends/chert/chert_database.cc,backends/flint/flint_database.cc: 17872 If Database::reopen() is called and the database revision on disk 17873 hasn't changed, then do as little work as possible. Even if it 17874 has changed, don't bother to recheck the version file (bug#261). 17875 17876Sat May 03 10:28:30 GMT 2008 Olly Betts <olly@survex.com> 17877 17878 * configure.ac: Improve code to prevent probing for f77, etc. 17879 17880Sat May 03 10:17:05 GMT 2008 Olly Betts <olly@survex.com> 17881 17882 * matcher/rset.cc: Missing change from last commit. 17883 17884Sat May 03 09:25:29 GMT 2008 Olly Betts <olly@survex.com> 17885 17886 * api/omenquire.cc,common/,expand/Makefile.mk,expand/esetinternal.cc, 17887 expand/expand.cc: Rewrite class ESet::Internal, incorporating the 17888 functionality which used to be in the internal OmExpand class. The 17889 expand operation now uses a min heap rather than calling 17890 nth_element() repeatedly - this should reduce the complexity of the 17891 expand operation by a factor of n/log(n) where n is the requested 17892 ESet size. 17893 17894Fri May 02 15:51:29 GMT 2008 Olly Betts <olly@survex.com> 17895 17896 * common/ortermlist.h,expand/ortermlist.cc: Kill FreqAdderOrTermList's 17897 explicit empty dtor. 17898 17899Thu May 01 16:38:40 GMT 2008 Olly Betts <olly@survex.com> 17900 17901 * api/omqueryinternal.cc,api/replication.cc,backends/chert/, 17902 backends/flint/,backends/inmemory/inmemory_positionlist.cc, 17903 common/utils.cc,matcher/stats.cc,tests/perftest_matchdecider.cc, 17904 tests/perftest_randomidx.cc: Assorted formatting tweaks. 17905 17906Thu May 01 16:32:58 GMT 2008 Olly Betts <olly@survex.com> 17907 17908 * common/unaligned.h: Fix ";;" to ";" after AssertRel calls. 17909 17910Thu May 01 16:12:05 GMT 2008 Olly Betts <olly@survex.com> 17911 17912 * docs/doxygen_api_conf.in,docs/doxygen_full_conf.in: Tell doxygen to 17913 expand XAPIAN_VISIBILITY_DEFAULT so it doesn't appear in collated 17914 API documentation. 17915 17916Wed Apr 30 10:57:53 GMT 2008 Olly Betts <olly@survex.com> 17917 17918 * HACKING: Update bugzilla references and URLs to reflect the move 17919 to trac. Update the "fixing a bug" checklist to mention backporting 17920 and updating the release notes. 17921 17922Wed Apr 30 10:40:30 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 17923 17924 * backends/remote/remote-database.cc: Fix error message displayed 17925 when remote protocol version doesn't match to display the minor 17926 part of the version number supplied by the server correctly. 17927 17928Tue Apr 29 17:37:10 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 17929 17930 * AUTHORS: Add Alexandre Gauthier, for supplying a method for doing 17931 python packaging for Windows. 17932 17933Tue Apr 29 16:20:47 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 17934 17935 * common/fileutils.cc: Fix variable name for windows compilation. 17936 17937Tue Apr 29 06:50:53 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 17938 17939 * backends/chert/chert_table.cc,backends/flint/flint_table.cc: 17940 Remove some debugging code, left over from writing the 17941 replication code. 17942 17943Mon Apr 28 12:11:38 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 17944 17945 * backends/chert/chert_btreebase.cc,backends/chert/chert_table.cc, 17946 backends/flint/flint_btreebase.cc,backends/flint/flint_table.cc: 17947 Fix issue #259 - update the last_block value whenever allocating 17948 a new value, so that next_for_sequential doesn't give up too 17949 early. Also, in both next_for_sequential and 17950 prev_for_sequential, for writable databases, check the built-in 17951 cursor at all levels for the new block rather than just reading 17952 from disk, since newly allocated blocks won't have been written 17953 to disk yet. Also, test the return type of next() when reading 17954 subsequent parts of tags, and raise DatabaseCorruptError if it 17955 returns false; this prevents incorrect data being returned, 17956 leading to a zlib error. 17957 * tests/api_wrdb.cc: Add regression test. 17958 17959Fri Apr 25 08:39:28 GMT 2008 Olly Betts <olly@survex.com> 17960 17961 * api/postingsource.cc: Missed change from last but one commit. 17962 17963Thu Apr 24 13:44:48 GMT 2008 Olly Betts <olly@survex.com> 17964 17965 * matcher/queryoptimiser.cc: Reserve size of postlists vector. 17966 17967Thu Apr 24 13:38:51 GMT 2008 Olly Betts <olly@survex.com> 17968 17969 * include/xapian/postingsource.h,matcher/externalpostlist.cc, 17970 matcher/externalpostlist.h,tests/api_db.cc: Add a default 17971 PostingSource::get_description() method so users who don't care 17972 aren't forced to define one. Make PostingSource::reset() a standard 17973 method and call it automatically so that a PostingSource-using 17974 Query can be run more than once without extra work. 17975 17976Thu Apr 24 11:24:30 GMT 2008 Olly Betts <olly@survex.com> 17977 17978 * matcher/queryoptimiser.cc: Don't need <queue>. 17979 17980Thu Apr 24 04:50:43 GMT 2008 Olly Betts <olly@survex.com> 17981 17982 * tests/api_db.cc: Add test that boolean branches of matches don't 17983 cause Xapian::PostingSource to be asked for weights. 17984 17985Thu Apr 24 03:27:39 GMT 2008 Olly Betts <olly@survex.com> 17986 17987 * matcher/externalpostlist.cc,matcher/externalpostlist.h, 17988 matcher/queryoptimiser.cc: ExternalPostList now takes the 17989 factor into account, so works with OP_SCALE_WEIGHT, and 17990 doesn't call get_weight()/get_maxweight() for a boolean 17991 branch. 17992 * tests/api_db.cc: Add tests for OP_SCALE_WEIGHT. 17993 17994Thu Apr 24 02:16:08 GMT 2008 Olly Betts <olly@survex.com> 17995 17996 * xapian-config.in: Back out --swigheaders. 17997 17998Wed Apr 23 11:37:45 GMT 2008 Olly Betts <olly@survex.com> 17999 18000 * matcher/externalpostlist.h: Need to initialise current. 18001 18002Wed Apr 23 07:57:35 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 18003 18004 * tests/termgentest.cc: Put the inclusion of "utils.h" back; needed 18005 for om_tostring(). 18006 18007Wed Apr 23 04:20:55 GMT 2008 Olly Betts <olly@survex.com> 18008 18009 * include/xapian/replication.h: Eliminate reference to FlintDatabase 18010 from doc comment since it's not user-visible, and chert supports 18011 replication too. No need for '#include <xapian/database.h>' so 18012 remove. Remove references to non-existent parameter 'remotename'. 18013 'DatabaseCorrupt error' -> 'DatabaseCorruptError'. 18014 18015Wed Apr 23 04:19:53 GMT 2008 Olly Betts <olly@survex.com> 18016 18017 * include/xapian/query.h: Wrap Xapian::Query::Internal class 18018 definition in "#ifndef SWIG" ... "#endif" in preparation for getting 18019 SWIG to directly parse it. 18020 18021Wed Apr 23 02:16:53 GMT 2008 Olly Betts <olly@survex.com> 18022 18023 * api/omquery.cc: Prefer string() to "". 18024 18025Wed Apr 23 02:16:10 GMT 2008 Olly Betts <olly@survex.com> 18026 18027 * include/xapian/query.h: Fix doc comment typo (doesn't affect API 18028 docs). 18029 18030Wed Apr 23 00:59:40 GMT 2008 Olly Betts <olly@survex.com> 18031 18032 * api/postingsource.cc: Another missing file. 18033 18034Wed Apr 23 00:34:34 GMT 2008 Olly Betts <olly@survex.com> 18035 18036 * include/xapian/postingsource.h: New file missing from previous 18037 commit. 18038 18039Wed Apr 23 00:30:34 GMT 2008 Olly Betts <olly@survex.com> 18040 18041 * api/Makefile.mk,api/omquery.cc,api/omqueryinternal.cc, 18042 include/Makefile.mk,include/xapian.h,include/xapian/query.h,matcher/, 18043 tests/api_db.cc: Add support for Xapian::PostingSource. 18044 18045Wed Apr 23 00:21:25 GMT 2008 Olly Betts <olly@survex.com> 18046 18047 * include/xapian.h: Fix misplaced comment. Tweak doxygen comments for 18048 version functions to be more consistent with others. 18049 18050Wed Apr 23 00:16:14 GMT 2008 Olly Betts <olly@survex.com> 18051 18052 * matcher/queryoptimiser.cc: Remove bogus comment from cut-and-paste. 18053 18054Wed Apr 23 00:14:30 GMT 2008 Olly Betts <olly@survex.com> 18055 18056 * common/omassert.h: Add AssertEqDoubleParanoid(). 18057 * matcher/multimatch.cc: Use it instead of home-brewed version. 18058 18059Tue Apr 22 23:30:50 GMT 2008 Olly Betts <olly@survex.com> 18060 18061 * common/utils.h: Stop exporting internal functions needlessly. 18062 18063Tue Apr 22 12:53:55 GMT 2008 Olly Betts <olly@survex.com> 18064 18065 * bin/xapian-compact.cc: Fix to work again (broken by the splitting of 18066 FlintTable::commit() into flush_db() and commit() in the replication 18067 changes). Don't bother passing tablename to functions where it 18068 always has the same value. Tweak the user-metadata copying loop to 18069 make it clearer. Reserve the right size for the vector used for 18070 merging spellings. 18071 18072Tue Apr 22 12:28:17 GMT 2008 Olly Betts <olly@survex.com> 18073 18074 * backends/chert/chert_table.h,backends/flint/flint_table.h, 18075 bin/xapian-compact.cc: Default commit's changes_fd parameter to -1. 18076 18077Tue Apr 22 11:39:10 GMT 2008 Olly Betts <olly@survex.com> 18078 18079 * common/omassert.h: Fix comment typo. 18080 18081Tue Apr 22 10:54:35 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 18082 18083 * tests/queryparsertest.cc: Add "utils.h" back - needed for 18084 om_tostring() and mkdir(). 18085 18086Mon Apr 21 07:48:45 GMT 2008 Olly Betts <olly@survex.com> 18087 18088 * tests/api_db.cc: Don't need <list>. Wrap comment. 18089 18090Mon Apr 21 07:04:12 GMT 2008 Olly Betts <olly@survex.com> 18091 18092 * api/omqueryinternal.cc,backends/chert/chert_check.cc, 18093 backends/flint/flint_check.cc,tests/: Remove various needless 18094 inclusions of headers (especially <iostream>). Reorder headers. 18095 Wrap a couple of comments. Append single characters to strings 18096 using character constants. 18097 18098Mon Apr 21 06:26:49 GMT 2008 Olly Betts <olly@survex.com> 18099 18100 * api/Makefile.mk,api/valuerangeproccompat.cc, 18101 include/xapian/queryparser.h: Remove the 18102 v102::NumberValueRangeProcessor ABI-preserving machinery since it's 18103 OK to change the ABI for 1.1.0. 18104 18105Mon Apr 21 04:42:52 GMT 2008 Olly Betts <olly@survex.com> 18106 18107 * api/,queryparser/queryparser.cc: Remove debug log tracing from 18108 get_description() methods since the debug log call tracing *calls* 18109 get_description() methods on parameters, so logging these calls just 18110 makes for more confusing debug logs. A get_description() method 18111 should have no side-effects so it's not very interesting even when 18112 explicitly called by the user. 18113 * common/omdebug.h: Replace "OM_DEBUG_INTRO" class with dummy 18114 placeholder (to preserve numbering), to help prevent accidentally 18115 adding these back. 18116 18117Sun Apr 20 09:46:11 GMT 2008 Olly Betts <olly@survex.com> 18118 18119 * api/omqueryinternal.cc,common/: Stop describing get_description() as 18120 an "Introspection method" internal (matching earlier change to stop 18121 doing so externally). This doesn't help to explain what it does, 18122 and get_description() doesn't actually fall under any of the formal 18123 definitions of "introspection" I can find. 18124 18125Fri Apr 18 10:26:18 GMT 2008 Olly Betts <olly@survex.com> 18126 18127 * backends/chert/chert_metadata.cc: Fix renamed parameter in debug 18128 logging. 18129 18130Fri Apr 18 10:18:35 GMT 2008 Olly Betts <olly@survex.com> 18131 18132 * HACKING,INSTALL,Makefile.am,backends/Makefile.mk,backends/chert/, 18133 backends/database.cc,backends/flint/,backends/remote/net_postlist.cc, 18134 backends/remote/net_postlist.h,bin/,common/,configure.ac,docs/, 18135 include/xapian/dbfactory.h,include/xapian/version_h.cc, 18136 net/remoteserver.cc,tests/Makefile.am,tests/harness/: Start new 18137 development backend "chert". Currently the change over flint is 18138 that in the postlist table, doclengths are stored once in a 18139 chunked postlist-like form, rather than once per posting. 18140 18141Tue Apr 15 23:24:39 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 18142 18143 * api/omenquire.cc,tests/api_nodb.cc: Fix segfault introduced by 18144 previous change when asking for the termfreq on an empty mset. 18145 Include a regression test. 18146 18147Tue Apr 15 06:02:12 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 18148 18149 * include/xapian/enquire.h: Change definition of MSet::get_termfreq 18150 such that it will fall back to looking the term frequency up in 18151 the database rather than raising an exception if the term is not 18152 present in the mset. 18153 * api/omenquire.cc,common/omenquireinternal.h: Implementation of 18154 the above. 18155 * tests/api_anydb.cc: Test the above. 18156 18157Mon Apr 14 21:29:59 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 18158 18159 * tests/: Use copies of freemem.cc and freemem.h from omega to report 18160 the free physical memory at each stage of indexing. Also, add a 18161 get_total_physical_memory() function to this, and report it's 18162 value at the top of the results file (only tested on Linux so 18163 far). 18164 18165Mon Apr 14 19:17:22 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 18166 18167 * tests/api_wrdb.cc: Make skip_to() test a bit more comprehensive. 18168 18169Mon Apr 14 19:08:49 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 18170 18171 * backends/flint/flint_metadata.cc,backends/flint/flint_metadata.h: 18172 Fix a bug in the skip_to() implementation, and set the parameter 18173 name to "key" instead of "tname", since it's not a term. 18174 * tests/api_wrdb.cc: Add a test of the metadata iterators. 18175 18176Mon Apr 14 14:22:16 GMT 2008 Olly Betts <olly@survex.com> 18177 18178 * backends/Makefile.mk,backends/flint/Makefile.mk, 18179 backends/flint/contiguousalldocspostlist.cc, 18180 backends/flint/contiguousalldocspostlist.h,common/Makefile.mk: 18181 The ContiguousAllDocsPostList class isn't flint-specific, so move 18182 it out of backends/flint. 18183 18184Mon Apr 14 13:56:51 GMT 2008 Olly Betts <olly@survex.com> 18185 18186 * backends/flint/flint_database.cc: Removed duplicate 18187 '#include "flint_database.h"', ironically added by Richard's recent 18188 change. Fix a couple of errors in alphabetical ordering, and 18189 move autoptr.h and the "safe" headers to where the standard headers 18190 they replace would go. 18191 18192Mon Apr 14 13:44:37 GMT 2008 Olly Betts <olly@survex.com> 18193 18194 * Makefile.am,tests/Makefile.am: List check-perf in .PHONY. 18195 * HACKING: Document the need to list non-file targets in .PHONY. 18196 18197Mon Apr 14 07:59:56 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 18198 18199 * api/omdatabase.cc: Correct return type in a DEBUGAPICALL macro. 18200 18201Mon Apr 14 07:14:01 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 18202 18203 * api/omdatabase.cc,backends/database.cc,backends/flint/, 18204 common/database.h,include/xapian/database.h: Add 18205 metadata_keys_begin() and metadata_keys_end() methods to 18206 Database, to allow the complete list of metadata in a database to 18207 be retrieved. Supports a prefix argument to obtain a limited 18208 subset of the keys, since that may be useful in some situations 18209 and is very easy to implement. Only accesses the keys in the 18210 first database in a multidatabase situation (which corresponds 18211 with the current behaviour of get_metadata()). 18212 Also, reorder the includes in flint_database.cc to be largely 18213 alphabetical, and remove a duplicated #include of 18214 <xapian/error.h>. 18215 18216Mon Apr 14 06:51:48 GMT 2008 Olly Betts <olly@survex.com> 18217 18218 * common/fileutils.cc: Use endswith(). 18219 18220Mon Apr 14 06:14:44 GMT 2008 Olly Betts <olly@survex.com> 18221 18222 * api/replication.cc,backends/database.cc, 18223 backends/flint/flint_database.cc,common/fileutils.cc, 18224 tests/queryparsertest.cc: Use empty() rather than comparing size() 18225 to 0. Use startswith() in a couple of places. Tweak an Assert 18226 to AssertEq. 18227 18228Sun Apr 13 14:30:55 GMT 2008 Olly Betts <olly@survex.com> 18229 18230 * api/omdatabase.cc: Replace uses of DEBUGLINE(SPELLING, ...) in 18231 Database::get_spelling_suggestion() with standard 18232 DEBUGAPICALL/RETURN tracing. Add DEBUGAPICALL/RETURN tracing to 18233 a few Database methods which were missing it. 18234 18235Sun Apr 13 14:15:00 GMT 2008 Olly Betts <olly@survex.com> 18236 18237 * backends/flint/flint_cursor.cc: Use RETURN() in a few places which 18238 weren't. 18239 18240Sun Apr 13 13:59:57 GMT 2008 Olly Betts <olly@survex.com> 18241 18242 * backends/inmemory/inmemory_database.cc: Remove long-time commented 18243 out uses of DebugMsg. 18244 18245Sun Apr 13 13:52:32 GMT 2008 Olly Betts <olly@survex.com> 18246 18247 * expand/expandweight.cc: Use DEBUGLINE() instead of DEBUGMSG(). 18248 18249Sun Apr 13 11:23:56 GMT 2008 Olly Betts <olly@survex.com> 18250 18251 * backends/flint/flint_database.cc: Include corresponding header right 18252 after config.h. 18253 18254Sun Apr 13 10:28:27 GMT 2008 Olly Betts <olly@survex.com> 18255 18256 * backends/flint/flint_database.cc: Tweak brace formatting and wrap a 18257 comment. 18258 18259Fri Apr 11 16:18:14 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 18260 18261 * common/fileutils.cc: Fix typo in windows specific code. 18262 18263Fri Apr 11 12:44:25 GMT 2008 Olly Betts <olly@survex.com> 18264 18265 * backends/flint/flint_cursor.cc: Include corresponding header right 18266 after config.h. 18267 18268Fri Apr 11 10:25:03 GMT 2008 Olly Betts <olly@survex.com> 18269 18270 * backends/flint/flint_cursor.h: Fix filename in header comment. 18271 18272Fri Apr 11 04:49:03 GMT 2008 Olly Betts <olly@survex.com> 18273 18274 * configure.ac,tests/submitperftest.in,tests/submitperftest.py.in: 18275 Rename submitperftest.py to submitperftest. 18276 * HACKING: Document that scripts shouldn't generally have an 18277 extension, and the reason for this policy. 18278 18279Fri Apr 11 04:32:15 2008 Olly Betts <olly@survex.com> 18280 18281 * HACKING: Note that GCC 4.3 no longer supports pre-ISO forms of 18282 standard headers, such as <list.h>. GCC on Solaris now seems 18283 to support throwing exceptions across shared library boundaries. 18284 18285Fri Apr 11 03:24:47 GMT 2008 Olly Betts <olly@survex.com> 18286 18287 * tests/Makefile.am: "make up" in tests now does "make" in the 18288 top-level. 18289 18290Thu Apr 10 08:33:06 GMT 2008 Olly Betts <olly@survex.com> 18291 18292 * backends/flint/flint_postlist.cc: Fix debug logging message: ostList 18293 -> FlintPostList. 18294 18295Thu Apr 10 05:47:37 GMT 2008 Olly Betts <olly@survex.com> 18296 18297 * net/remoteconnection.cc: Remove erroneous FIXME comments talking 18298 about ReadFile() not updating WSAOVERLAPPED's Offset/OffsetHigh 18299 being a problem with using _get_osfhandle() - ReadFile is documented 18300 to behave this way on MSDN. Factor out update of Offset/OffsetHigh 18301 and tweak this code not to rely on off_t being 64 bits. 18302 18303Thu Apr 10 05:24:11 GMT 2008 Olly Betts <olly@survex.com> 18304 18305 * backends/flint/flint_record.cc,backends/flint/flint_utils.h: Use 18306 the new STATIC_ASSERT family of macros instead of CASSERT and 18307 CASSERT_TYPE_UNSIGNED. 18308 18309Thu Apr 10 04:46:40 GMT 2008 Olly Betts <olly@survex.com> 18310 18311 * common/omassert.h: Add "compile-time assertion" macros: 18312 STATIC_ASSERT(COND), STATIC_ASSERT_UNSIGNED_TYPE(TYPE), 18313 STATIC_ASSERT_TYPE_DOMINATES(TYPE1, TYPE2). 18314 * tests/internaltest.cc: Test these. 18315 18316Thu Apr 10 01:07:34 GMT 2008 Olly Betts <olly@survex.com> 18317 18318 * common/remoteprotocol.h,net/remoteserver.cc: Clean up a couple more 18319 things now we've moved to major protocol version 31. 18320 18321Wed Apr 09 06:50:44 GMT 2008 Olly Betts <olly@survex.com> 18322 18323 * backends/remote/remote-database.cc: Add missing explicit include of 18324 remote-database.h. 18325 18326Wed Apr 09 04:48:54 GMT 2008 Olly Betts <olly@survex.com> 18327 18328 * bin/xapian-check.cc,bin/xapian-compact.cc: Fix check for user 18329 metadata key to not match other key types we may add in the future. 18330 When compacting, we can't assume how we should handle them. When 18331 checking, they currently shouldn't be present, so we should flag 18332 an error for them. 18333 18334Tue Apr 08 15:27:09 GMT 2008 Olly Betts <olly@survex.com> 18335 18336 * NEWS: Fix missing line in old entry. 18337 18338Mon Apr 07 07:49:56 GMT 2008 Olly Betts <olly@survex.com> 18339 18340 * backends/flint/flint_btreeutil.h: Use AssertRel rather than Assert. 18341 18342Mon Apr 07 06:20:42 GMT 2008 Olly Betts <olly@survex.com> 18343 18344 * api/error.cc,api/valuerangeproc.cc,backends/flint/flint_table.cc, 18345 backends/multi/multi_postlist.cc,backends/remote/net_termlist.cc, 18346 bin/xapian-inspect.cc,common/omdebug.cc,common/utils.cc, 18347 languages/stem.cc,languages/steminternal.cc, 18348 tests/harness/backendmanager_multi.cc, 18349 tests/harness/backendmanager_remotetcp.cc: Header inclusions tidying 18350 - remove a few redundant inclusions; prefer cstdio to stdio.h, etc 18351 in a few places; note why certain headers are required in cases 18352 where it's less obvious; in a .cc file, include the corresponding .h 18353 second (after <config.h>). 18354 18355Mon Apr 07 04:23:30 GMT 2008 Olly Betts <olly@survex.com> 18356 18357 * configure.ac: Fix --enable-log=profile to be recognised. 18358 * common/omdebug.cc,common/omdebug.h: Fix build with 18359 --enable-log=profile. 18360 * HACKING: Actually document --enable-log=profile. 18361 18362Sat Apr 05 21:07:38 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 18363 18364 * tests/perftest.cc: Flush after each write, so we can monitor 18365 progress of long running tests (we might need to remove this 18366 again later, if profiling shows it has a noticeable impact). Fix 18367 two calls to write() to be a single call. 18368 * tests/perftest_randomidx.cc: Add values to different slots; I'd 18369 added them all to slot 0 by mistake, so they were overwriting 18370 each other. 18371 18372Sat Apr 05 20:17:43 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 18373 18374 * tests/Makefile.am,tests/perftest_randomidx.cc: Add a new 18375 performance test which builds a randomly generated index, and 18376 times the index run. Probably wants a bit more tweaking to make 18377 it slightly more representative, but should be a useful test to 18378 run on systems where downloading a large amount of data is 18379 impractical. 18380 * ChangeLog: Add missing log message for last commit. 18381 18382Sat Apr 05 20:16:58 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 18383 18384 * tests/perftest.cc,tests/perftest.h: Log indexing runs every 5 18385 seconds, as well as after every 1000 documents - gives useful 18386 information for slow index runs. 18387 18388Thu Apr 03 20:58:31 GMT 2008 Olly Betts <olly@survex.com> 18389 18390 * backends/database.cc,include/xapian/dbfactory.h, 18391 include/xapian/version_h.cc: Remove lingering traces of quartz. 18392 18393Thu Apr 03 07:59:53 GMT 2008 Olly Betts <olly@survex.com> 18394 18395 * bin/xapian-inspect.cc: Print top-bit-set characters as escaped 18396 hex forms as they often won't be valid UTF-8 sequences. 18397 18398Thu Apr 03 03:53:37 GMT 2008 Olly Betts <olly@survex.com> 18399 18400 * bin/xapian-inspect.cc: Check for the user passing a database 18401 directory and issue a special error message since this is an obvious 18402 mistake to make. 18403 18404Wed Apr 02 07:00:36 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 18405 18406 * matcher/multimatch.cc: Modify the estimate for the number of hits 18407 based on the rate at which a match decider has been denying 18408 documents. Also, reduce the upper bound based on the number of 18409 documents denied. 18410 * tests/api_db.cc: Check that the upper bound when a match decider 18411 is used is within the valid range, rather than a particular 18412 value. 18413 18414Tue Apr 01 22:40:19 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 18415 18416 * configure.ac,tests/perftest.cc,tests/submitperftest.py.in, 18417 tests/urllib2_file.py: Fix display of upper bound on number of 18418 results of search (was showing lower bound). Fix display of 18419 closing <repetition> tags. Add script to submit the results of a 18420 performance test to a central server. 18421 18422Tue Apr 01 11:19:58 GMT 2008 Olly Betts <olly@survex.com> 18423 18424 * backends/flint/flint_table.cc,backends/flint/flint_table.h: 18425 Gently rearrange where and how we check for overlong keys. 18426 * tests/api_wrdb.cc: Extend termtoolong1 to test that the "term too 18427 long" exception messages contain the length correctly. 18428 18429Tue Apr 01 06:06:43 GMT 2008 Olly Betts <olly@survex.com> 18430 18431 * AUTHORS,HACKING,INSTALL,README,debian/control.in,debian/copyright, 18432 docs/install.html,xapian-core.spec.in: Standardise URLs on our 18433 website to be xapian.org not www.xapian.org. 18434 18435Tue Apr 01 03:44:32 GMT 2008 Olly Betts <olly@survex.com> 18436 18437 * backends/flint/flint_record.cc,backends/flint/flint_values.cc, 18438 common/,docs/quickstartexpand.cc.html,docs/quickstartindex.cc.html, 18439 docs/quickstartsearch.cc.html,matcher/: Update the FSF address for 18440 the small number of files which still have the old one. Remove the 18441 "START_LICENCE" and "END_LICENCE" markers from the small number of 18442 files which still have them. 18443 18444Tue Apr 01 02:23:27 GMT 2008 Olly Betts <olly@survex.com> 18445 18446 * backends/remote/remote-database.cc,common/remoteprotocol.h, 18447 common/remoteserver.h,common/serialise.h,docs/remote_protocol.html, 18448 net/remoteserver.cc,net/serialise.cc: Update remote protocol to 18449 a new major version (31) and strip out all the gunk that's only 18450 there to keep it compatible with older version 30 clients. 18451 18452Tue Apr 01 00:12:38 GMT 2008 Olly Betts <olly@survex.com> 18453 18454 * api/ompostlistiterator.cc,include/xapian/postingiterator.h: Remove 18455 the method Xapian::PostingIterator::get_weight() which has been 18456 commented out almost forever. Weight-handling isn't really 18457 appropriate here. 18458 * api/ompostlistiterator.cc: Remove "\todo" since it's already done! 18459 18460Mon Mar 31 13:24:11 GMT 2008 Olly Betts <olly@survex.com> 18461 18462 * backends/flint/: Remove unnecessary default dtors. 18463 18464Mon Mar 31 13:21:55 GMT 2008 Olly Betts <olly@survex.com> 18465 18466 * HACKING: Document to prefer "new SomeClass" to "new SomeClass()". 18467 * api/omdocument.cc,api/omenquire.cc,backends/database.cc, 18468 backends/flint/flint_database.cc, 18469 backends/inmemory/inmemory_database.cc,matcher/multimatch.cc, 18470 matcher/queryoptimiser.cc,net/remoteserver.cc: Fix instances of 18471 the latter form to use the former form. 18472 18473Mon Mar 31 12:11:09 GMT 2008 Olly Betts <olly@survex.com> 18474 18475 * tests/: Update svn:ignore property for perftest changes and remove 18476 quartz-related entries. 18477 * tests/perftest.cc: Add missing '#include "utils.h"'. 18478 18479Mon Mar 31 09:22:35 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 18480 18481 * Makefile.am,tests/,tests/harness/,tests/perftest.cc,tests/perftest.h, 18482 tests/perftest_matchdecider.cc: Rework the test collation 18483 mechanism slightly to allow it to be used by other testsuites: 18484 rename collate-apitest to collate-test, and add a parameter to it 18485 naming the output file. Add new "testrunner.h" and 18486 "testrunner.cc" which are an equivalent to the old mechanism in 18487 apitest for running tests with various properties; the properties 18488 for each backend are now held as member variables of a TestRunner 18489 class, and testsuites (eg, apitest) subclass this and implement a 18490 "run()" method, which will be called for each backend with the 18491 appropriate properties set. Move definition of DEFINE_TESTCASE 18492 macro into testsuite.h. Add new testsuite "perftest", which is 18493 intended to contain potentially time consuming performance tests, 18494 logging the results to an XML file for later analysis. Add a 18495 simple test of the ValueSetMatchDeciders to this testsuite. 18496 "perftest" isn't run by make check, because it is likely to take 18497 some hours to complete in future - instead, there's a new 18498 top-level target "check-perf" which builds and runs perftest. 18499 18500Mon Mar 31 08:13:21 GMT 2008 Olly Betts <olly@survex.com> 18501 18502 * HACKING: Recommend using the "svn-ci" script. Update the date 18503 command which produces the correct format timestamp for ChangeLog 18504 entries. 18505 18506Mon Mar 31 08:00:58 GMT 2008 Olly Betts <olly@survex.com> 18507 18508 * backends/flint/flint_btreeutil.h: Fix some out-of-date comments. 18509 * configure.ac: Use AC_CHECK_SIZEOF to define SIZEOF_INT and 18510 SIZEOF_LONG. 18511 * backends/flint/flint_types.h: Use SIZEOF_INT and SIZEOF_LONG to 18512 determine the type of uint4 rather than always using unsigned long 18513 (which is 64 bits on most 64 bit Unix platforms). Drop int4 for 18514 the time being, as we don't actually use it. 18515 18516Mon Mar 31 06:34:20 GMT 2008 Olly Betts <olly@survex.com> 18517 18518 * backends/flint/flint_positionlist.cc: Refactor BitWriter::encode() 18519 to have a single call to write_bits(), and don't include it inline 18520 in the class as it's really a bit big to inline (and write_bits() 18521 should now be inlined into it, or at least tail-called). 18522 18523Mon Mar 31 05:33:02 GMT 2008 Olly Betts <olly@survex.com> 18524 18525 * backends/flint/flint_positionlist.cc: Reorder header includes to 18526 match our new standard more closely. Indent class definitions to 18527 match our coding standards. 18528 18529Mon Mar 31 05:31:59 GMT 2008 Olly Betts <olly@survex.com> 18530 18531 * backends/flint/flint_positionlist.h: Remove unnecessary default 18532 dtor. 18533 18534Mon Mar 31 04:55:59 GMT 2008 Olly Betts <olly@survex.com> 18535 18536 * backends/remote/net_document.cc,backends/remote/net_document.h: 18537 Rename "doc" member to "data" since it actually holds the document 18538 data. 18539 18540Mon Mar 31 03:25:21 GMT 2008 Olly Betts <olly@survex.com> 18541 18542 * backends/flint/flint_document.cc,backends/flint/flint_document.h: 18543 Remove unnecessary default dtor. 18544 18545Mon Mar 31 02:53:48 GMT 2008 Olly Betts <olly@survex.com> 18546 18547 * backends/inmemory/inmemory_alltermslist.cc, 18548 backends/inmemory/inmemory_alltermslist.h: Remove unnecessary 18549 default dtor. 18550 * backends/inmemory/inmemory_alltermslist.h: Fix bogus cut-and-pasted 18551 doxygen comment for ctor. 18552 18553Mon Mar 31 02:33:15 GMT 2008 Olly Betts <olly@survex.com> 18554 18555 * common/inmemory_positionlist.h: Remove unnecessary default 18556 destructor. Fix comment type ("inemory" -> "inmemory"). 18557 18558Sun Mar 30 12:47:50 GMT 2008 Olly Betts <olly@survex.com> 18559 18560 * include/xapian/queryparser.h: Drop explicit dtor for SimpleStopper 18561 which does nothing. 18562 18563Sun Mar 30 12:12:12 GMT 2008 Olly Betts <olly@survex.com> 18564 18565 * include/xapian/valuesetmatchdecider.h: Don't bother checking if an 18566 element is present before calling std::set::erase(). Don't bother 18567 defining an explicit dtor which does nothing. 18568 18569Sat Mar 29 00:46:13 GMT 2008 Olly Betts <olly@survex.com> 18570 18571 * tests/api_db.cc: Test matchfunctor bounds in combination with 18572 collapsing and percentage cutoff. Also, range check 18573 get_matches_estimated rather than checking it's exactly the value 18574 currently returned. 18575 18576Fri Mar 28 21:37:27 GMT 2008 Olly Betts <olly@survex.com> 18577 18578 * tests/api_nodb.cc: Test ValueSetMatchDecider::remove_value() for a 18579 value which isn't in the set. Test that removing a value doesn't 18580 affect other values in the set. 18581 18582Fri Mar 28 21:03:30 GMT 2008 Olly Betts <olly@survex.com> 18583 18584 * matcher/multimatch.cc: Avoid needless call to pl->get_termfreq_est() 18585 if we're using a matchdecider or matchspy. 18586 18587Fri Mar 28 10:28:51 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 18588 18589 * matcher/multimatch.cc: Set matches_lower_bound to 0 before 18590 starting the match process if there is a match decider or spy; 18591 previously, the lower_bound wasn't being reduced in the presence 18592 of a match decider unless all the potential results were 18593 retrieved. 18594 * tests/api_db.cc: Extend matchfunctor1 to check the bounds and 18595 estimates returned; includes a regression test for the above. 18596 18597Fri Mar 28 09:09:54 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 18598 18599 * tests/api_nodb.cc: Extend tests to check ValueSetMatchDecider 18600 remove_value and also ValueSetMatchDeciders holding more than one 18601 value. 18602 18603Fri Mar 28 02:41:45 GMT 2008 Olly Betts <olly@survex.com> 18604 18605 * configure.ac: Update version info to match 1.0.6. 18606 18607Fri Mar 28 00:12:48 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 18608 18609 * api/omenquire.cc,include/xapian/enquire.h: Merge two of the 18610 get_mset() variants into one, with default arguments, which has 18611 exactly the same effect. We added the two variants to preserve 18612 ABI compatibility, and now we're branched for 1.1 this is no 18613 longer necessary. 18614 18615Thu Mar 27 23:54:39 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 18616 18617 * api/valuesetmatchdecider.cc,include/xapian.h, 18618 include/xapian/valuesetmatchdecider.h: Add ValueSetMatchDecider, 18619 which is a matchdecider which is intended to be passed a set of 18620 values to look for in documents, and selects documents based on 18621 the presence of those values. 18622 * tests/api_db.cc,tests/api_nodb.cc: Add tests for the 18623 ValueSetMatchDecider - both for calling it standalone, and when 18624 passed to get_mset(). 18625 * api/Makefile.mk,include/Makefile.mk: Tell build system about new 18626 files. 18627 18628Thu Mar 27 06:18:52 GMT 2008 Olly Betts <olly@survex.com> 18629 18630 * api/omqueryinternal.cc: Initialise term_pos in previous change to 18631 fix valgrind-detected error. 18632 18633Thu Mar 27 06:13:01 GMT 2008 Olly Betts <olly@survex.com> 18634 18635 * api/omqueryinternal.cc: Optimise Query(OP_VALUE_GE, <n>, "") to 18636 Query::MatchAll. 18637 * tests/api_nodb.cc: Add testcase for this case. 18638 18639Thu Mar 27 04:34:40 GMT 2008 Olly Betts <olly@survex.com> 18640 18641 * backends/inmemory/inmemory_document.cc, 18642 backends/inmemory/inmemory_document.h: Rename "doc" member to 18643 "data" since it actually holds the document data. 18644 * backends/inmemory/inmemory_database.cc: Remove unused <stdio.h>. 18645 Include "inmemory_database.h" right after <config.h>. 18646 18647Wed Mar 26 23:44:03 GMT 2008 Olly Betts <olly@survex.com> 18648 18649 * api/omenquire.cc: Throw InvalidArgumentError upon 18650 RSet::add_document(0). 18651 * tests/api_nodb.cc: Add regression test for this. 18652 * matcher/rset.cc: Add assertion that we don't see a zero docid when 18653 calculating rtermfreqs. 18654 * api/omdocument.cc: Use RETURN not return so debug logging sees the 18655 return value. 18656 * backends/inmemory/inmemory_database.cc, 18657 backends/remote/remote-database.cc: Change exception throwing for 18658 a zero docid to assertions since zero docids should be checked for 18659 before we get to here. 18660 18661Wed Mar 26 06:17:51 GMT 2008 Olly Betts <olly@survex.com> 18662 18663 * common/postlist.h: Decree that PostList::check() must be passed a 18664 docid which actually exists in the database (which is always true 18665 currently and seems unlikely to be an onerous requirement). 18666 * matcher/valuegepostlist.cc,matcher/valuerangepostlist.cc: Take 18667 advantage of this new precondition to simplify the code. 18668 * matcher/valuegepostlist.cc,matcher/valuerangepostlist.cc: Move the 18669 corresponding header first as our header inclusion order guidelines 18670 recommend. 18671 18672Thu Mar 13 01:58:18 GMT 2008 Olly Betts <olly@survex.com> 18673 18674 * common/stats.h,include/xapian/enquire.h,matcher/localmatch.cc, 18675 matcher/weight.cc: Untangle Xapian::Weight to just initialise 18676 internal to 0 in its ctor, which is an ABI change. Resolves 18677 a load of FIXME:1.1 comments. 18678 18679Thu Mar 13 00:50:06 GMT 2008 Olly Betts <olly@survex.com> 18680 18681 * backends/flint/flint_lock.cc: Remove workaround for newlib which we 18682 don't seem to need elsewhere and was marked "FIXME:1.1". 18683 18684Thu Mar 13 00:49:27 GMT 2008 Olly Betts <olly@survex.com> 18685 18686 * docs/deprecation.rst: Fix footnote ids after deprecation updates. 18687 18688Wed Mar 12 10:08:37 GMT 2008 Olly Betts <olly@survex.com> 18689 18690 * tests/stemtest.cc: Remove support for OM_STEMTEST_SKIP_RANDOM, 18691 OM_STEMTEST_LANGUAGES, and OM_STEMTEST_SEED. 18692 18693Wed Mar 12 08:30:48 GMT 2008 Olly Betts <olly@survex.com> 18694 18695 * docs/deprecation.rst: Update for bindings removals for 1.1.0. 18696 18697Wed Mar 12 06:59:25 GMT 2008 Olly Betts <olly@survex.com> 18698 18699 * docs/deprecation.rst: Update for Omega removals for 1.1.0. 18700 18701Wed Mar 12 05:11:53 GMT 2008 Olly Betts <olly@survex.com> 18702 18703 * api/omenquire.cc,api/omquery.cc,api/version.cc,docs/, 18704 generate-exceptions.in,include/xapian.h,include/xapian/enquire.h, 18705 include/xapian/query.h,tests/api_db.cc,tests/api_wrdb.cc, 18706 tests/apitest.cc,tests/harness/,tests/internaltest.cc: Remove all 18707 xapian-core features marked for removal in 1.1.0. 18708 18709Wed Mar 12 03:28:18 GMT 2008 Olly Betts <olly@survex.com> 18710 18711 * HACKING,INSTALL,Makefile.am,backends/Makefile.mk, 18712 backends/dir_contents,backends/quartz/,bin/,configure.ac,docs/, 18713 tests/,tests/harness/,tests/quartztest.cc,tests/testdata/, 18714 xapian-core.spec.in: Remove the quartz backend. 18715 18716Wed Mar 12 02:14:33 GMT 2008 Olly Betts <olly@survex.com> 18717 18718 * m4/xapian.m4: Improve wording of the error message when we can't 18719 find xapian-config. 18720 18721Wed Mar 12 02:13:32 GMT 2008 Olly Betts <olly@survex.com> 18722 18723 * INSTALL: Minor wording tweak. 18724 18725Wed Mar 12 01:44:42 GMT 2008 Olly Betts <olly@survex.com> 18726 18727 * bin/xapian-compact.cc: Initialise PostlistCursor member firstdid to 18728 avoid using it uninitialised when merging user metadata and the same 18729 key is present in more than one source database. If the same user 18730 metadata key is present in more than one source database, copy an 18731 arbitrary tag value. 18732 18733Wed Mar 12 00:34:04 GMT 2008 Olly Betts <olly@survex.com> 18734 18735 * bin/xapian-compact.cc: Fix potential SEGV (which I think can occur 18736 when compacting database(s) with user metadata but no postings). 18737 18738Fri Mar 07 09:46:38 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 18739 18740 * common/serialise.h: Add missing std:: before string. 18741 18742Fri Mar 07 00:47:06 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 18743 18744 * api/replication.cc: Tidy up a line which was wider than 80 18745 columns, and improve the error message returned when a database 18746 replica doesn't contain exactly one subdatabase. 18747 18748Fri Mar 07 00:34:28 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 18749 18750 * common/serialise.h,net/remoteconnection.cc,net/serialise.cc: 18751 Change encode_length() to a template, to allow the full range of 18752 off_t values to be encoded. Also, adjust 18753 RemoteConnection::get_message_chunked() to allow the message 18754 length to be a 64 bit quantity. Also, make a couple of type 18755 conversions to size_t explicit, to remove some warnings on 18756 windows. 18757 18758Thu Mar 06 01:57:04 GMT 2008 Olly Betts <olly@survex.com> 18759 18760 * NEWS: Update from ChangeLog. 18761 18762Thu Mar 06 01:44:07 GMT 2008 Olly Betts <olly@survex.com> 18763 18764 * bin/xapian-check.cc: Fix terminology - "user metadata" not "user 18765 metainfo". Fix bug - need to invoke is_user_metadata rather than 18766 using the function pointer as the if condition! 18767 18768Thu Mar 06 01:41:09 GMT 2008 Olly Betts <olly@survex.com> 18769 18770 * bin/xapian-compact.cc: Fix terminology - "user metadata" not "user 18771 metainfo". 18772 18773Wed Mar 05 21:17:02 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 18774 18775 * net/remoteconnection.cc: Add some casts (in the windows-specific 18776 code) to fix some warnings from MSVC. 18777 18778Wed Mar 05 19:01:35 GMT 2008 Olly Betts <olly@survex.com> 18779 18780 * NEWS: Update to 1.0 branch point. 18781 18782Wed Mar 05 19:00:07 GMT 2008 Olly Betts <olly@survex.com> 18783 18784 * common/msvc_dirent.cc: Tweak to bring comment back into 80 columns. 18785 18786Wed Mar 05 16:35:33 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 18787 18788 * common/msvc_dirent.cc: Fix sense of check for ENOENT after 18789 calling _findnext() - it should be checked for when an error code 18790 is returned, not when the call succeeds. 18791 * tests/api_replicate.cc: Fix tiny capitalisation typo. 18792 18793Wed Mar 05 16:29:47 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 18794 18795 * common/fileutils.cc: Check case where a backslash isn't found in 18796 calc_dirname, and don't replace slash with backslash in this 18797 case. 18798 18799Wed Mar 05 09:30:42 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 18800 18801 * bin/xapian-check.cc: Add understanding of user metainfo keys in 18802 the postlist table. Allow the METAINFO key to be absent if the 18803 table only contains user metainfo keys. 18804 18805Wed Mar 05 09:01:48 GMT 2008 Olly Betts <olly@survex.com> 18806 18807 * common/msvc_dirent.cc,common/msvc_dirent.h: Move licence boilerplate 18808 up front where we have it in every other file. Move header guards 18809 to the usual location. Detail the fix we've made for not setting 18810 errno to ENOENT erroneously. Push the setting of orig_errno down 18811 a bit. 18812 18813Wed Mar 05 04:57:44 GMT 2008 Olly Betts <olly@survex.com> 18814 18815 * configure.ac: -pedantic isn't actually very useful so just drop it 18816 rather than testing for known problem cases and risking unknown 18817 problem cases. 18818 18819Wed Mar 05 03:10:24 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 18820 18821 * matcher/valuegepostlist.cc,matcher/valuegepostlist.h: Implement 18822 skip_to method for ValueGePostList. Previously, the 18823 ValueRangePostList::skip_to method was used, which would 18824 return incorrect documents. 18825 18826Wed Mar 05 02:54:27 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 18827 18828 * common/fileutils.cc: Search for \ instead of / when looking for a 18829 backslash! 18830 18831Wed Mar 05 02:51:49 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 18832 18833 * common/fileutils.cc: Fix incorrect docstring. 18834 18835Tue Mar 04 18:48:25 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 18836 18837 * common/msvc_dirent.cc: Fix readdir() so that it doesn't change 18838 errno to ENOENT on reaching the end of the directory, as 18839 specified by POSIX. 18840 18841Tue Mar 04 17:54:56 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 18842 18843 * net/remoteconnection.cc: Fix for a problem with windows. Because 18844 we're using mixed styles of windows file IO, if a file descriptor 18845 which actually corresponds to a file was supplied to remote 18846 connection, the file pointer wasn't being adjusted after each 18847 call to ReadFile or WriteFile. This manifested in the test case 18848 for replication, resulting in a (corrupt) 2048 byte changeset 18849 file being written (instead of a considerably longer changeset). 18850 To work around this, we explicitly move the file pointer 18851 ourselves. 18852 18853Tue Mar 04 17:41:38 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 18854 18855 * tests/api_replicate.cc: Close the replica before removing the 18856 temporary directory, to allow the rmdir to work on windows. 18857 18858Thu Feb 28 16:41:34 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 18859 18860 * common/remoteconnection.h: Include safeunistd.h, to get correct 18861 typedef for off_t on windows - previously, the size of the 18862 RemoteConnection class was varying depending on the order in 18863 which header files were included, resulting in memory corruption. 18864 * net/remoteserver.cc: Remove incorrect comment about what the 18865 problem was. 18866 18867Sat Feb 23 23:40:56 GMT 2008 Olly Betts <olly@survex.com> 18868 18869 * xapian-config.in: Use globbing rather than iterating over the output 18870 of ls. 18871 18872Sat Feb 23 23:33:39 GMT 2008 Olly Betts <olly@survex.com> 18873 18874 * xapian-config.in: Fix not to repeated headers in --swigheaders in a 18875 non-VPATH build. 18876 18877Fri Feb 22 17:20:19 GMT 2008 Olly Betts <olly@survex.com> 18878 18879 * HACKING: Add note about preferring std::string(). 18880 18881Fri Feb 22 17:05:11 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 18882 18883 * net/remoteserver.cc: Use std::string() instead of 18884 std::string(""), since it's a bit cleaner. 18885 18886Fri Feb 22 16:50:32 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 18887 18888 * net/remoteserver.cc: Add workaround for bug in MSVC 2005. 18889 18890Fri Feb 22 14:39:03 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 18891 18892 * backends/flint/flint_database.cc,backends/flint/flint_table.cc, 18893 backends/quartz/btree.cc: Use msvc_posix_rename() instead of 18894 rename() when renaming base files, so that an error isn't 18895 returned if the destination already exists. 18896 18897Thu Feb 21 17:24:14 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 18898 18899 * common/msvc_dirent.cc: Include msvc_dirent.h instead of dirent.h 18900 18901Thu Feb 21 17:09:01 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 18902 18903 * common/database.h: ReplicationInfo is a struct, not a class, so 18904 forward declare it as such. 18905 18906Thu Feb 21 12:16:23 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 18907 18908 * common/Makefile.mk: Add common/safedirent.h to distribution. 18909 18910Thu Feb 21 00:25:33 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 18911 18912 * xapian-config.in: Add swigheaders option, listing the header 18913 files used by swig, so that we can add the appropriate 18914 dependencies to the makefiles in the bindings. 18915 18916Wed Feb 20 20:59:55 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 18917 18918 * include/xapian/replication.h: Add a ReplicationInfo structure, 18919 and use it to return information about what has been done when 18920 the replication methods are called. 18921 * api/replication.cc,backends/database.cc, 18922 backends/flint/flint_database.cc,backends/flint/flint_database.h, 18923 common/database.h,common/replicatetcpclient.h, 18924 common/replicatetcpserver.h,net/replicatetcpclient.cc, 18925 net/replicatetcpserver.cc: Populate a ReplicationInfo structure 18926 when updating a replica, or sending changes to a file descriptor. 18927 Also, fix a bug with reading the replication parameters from a 18928 file, which caused a full database copy to be performed on every 18929 replication request on a newly opened DatabaseReplica object. 18930 * bin/xapian-replicate.cc: When doing verbose logging, display the 18931 number of database copies and changesets applied, and whether the 18932 live database has been updated. 18933 * tests/api_replicate.cc: Check that the information returned by 18934 the replication methods is as is should be, and add a regression 18935 test for always copying the database. 18936 18937Wed Feb 20 11:20:55 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 18938 18939 * backends/flint/: Improve reporting of failures to obtain lock due 18940 to unexpected errors - the error messages included in the 18941 exceptions raised are now more verbose in many situations. Also, 18942 if the lock can't be obtained when a database is being created, 18943 report the lock failure, not a DatabaseOpeningError - it's more 18944 useful to know that the lock attempt failed than that the 18945 database wasn't present before the attempt to create it. 18946 18947Tue Feb 19 11:58:22 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 18948 18949 * bin/xapian-compact.cc: Fix compaction for database which contain 18950 user metadata keys. 18951 18952Sat Feb 16 19:53:44 GMT 2008 Olly Betts <olly@survex.com> 18953 18954 * include/xapian/queryparser.h: Fix incorrect example in doccomment. 18955 18956Sat Feb 16 14:46:08 GMT 2008 Olly Betts <olly@survex.com> 18957 18958 * AUTHORS: Add Matthew Somerville for Search::Xapian patches. 18959 18960Tue Feb 12 16:34:52 GMT 2008 Olly Betts <olly@survex.com> 18961 18962 * docs/quickstart.html: Remove information covered by INSTALL since 18963 there's no good reason to repeat it and two copies just risks one 18964 getting out of date (as has happened here!) 18965 18966Tue Feb 12 16:27:30 GMT 2008 Olly Betts <olly@survex.com> 18967 18968 * AUTHORS: Add David Spencer for reporting bug#237. 18969 18970Tue Feb 12 16:25:00 GMT 2008 Olly Betts <olly@survex.com> 18971 18972 * docs/quickstart.html: Fix very out of date reference to MSet::items 18973 (bug#237). 18974 18975Tue Feb 12 12:40:47 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 18976 18977 * bin/xapian-compact.cc: Fix incorrect parameters passed to 18978 FlintTable constructor. 18979 18980Sat Feb 09 11:56:40 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 18981 18982 * common/socket_utils.h,net/remoteconnection.cc: More fixes for 18983 windows. 18984 18985Sat Feb 09 11:31:30 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 18986 18987 * common/msvc_dirent.cc,common/msvc_dirent.h: Hopefully this is a 18988 better implementation of dirent functions. 18989 18990Sat Feb 09 10:59:50 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 18991 18992 * common/: Add implementation of dirent.h for use with MSVC; this 18993 is copied from the mingw implementation, which has been placed in 18994 the public domain. Add "safedirent.h" header for easy inclusion 18995 of this implementation. 18996 18997Sat Feb 09 10:43:49 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 18998 18999 * tests/api_replicate.cc: Use _putenv instead of setenv on windows. 19000 19001Sat Feb 09 09:56:08 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 19002 19003 * common/socket_utils.cc,common/socket_utils.h: More fixes for 19004 windows. 19005 19006Fri Feb 08 16:40:56 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 19007 19008 * common/Makefile.mk,common/socket_utils.cc,common/socket_utils.h, 19009 net/remoteconnection.cc,net/tcpclient.cc: Move windows-specific 19010 socket handling code from remoteconnection.cc into a separate 19011 file, provides the inline close_fd_or_socket for unix in the 19012 header file. Use this in tcpclient.cc instead of close to close 19013 sockets correctly on windows. 19014 19015Fri Feb 08 16:40:29 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 19016 19017 * common/fileutils.cc,common/replicatetcpclient.h: Correct typos in 19018 windows only sections of code. 19019 19020Fri Feb 08 15:29:28 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 19021 19022 * net/remoteconnection.cc: Fixes for windows - always include 19023 "safesysselect.h", and include <io.h> on windows. 19024 Also, remove definition of an unused variable (probably due to a 19025 copy and paste error). 19026 19027Wed Feb 06 13:45:59 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 19028 19029 * bin/xapian-replicate.cc: Include "safeunistd.h" - needed for 19030 sleep, if nothing else. 19031 19032Tue Feb 05 18:10:23 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 19033 19034 * configure.ac: Set -pedantic in CXXFLAGS not AM_CXXFLAGS when 19035 testing for problem with it - AM_CXXFLAGS is an automake thing, 19036 and isn't used by the autoconf test. 19037 19038Tue Feb 05 17:50:55 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 19039 19040 * configure.ac: Cleaner patch for the test of compilation with 19041 -pedantic - cache the result using AC_CACHE_VAL(). 19042 19043Tue Feb 05 17:32:11 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 19044 19045 * configure.ac: Check whether compilation of a cast of INFINITY to 19046 a double, and comparison with HUGE_VAL, causes a problem if 19047 -pedantic is specified (which it does on at least some Mac OSX 19048 versions). If so, don't use the -pedantic compiler flag. 19049 19050Tue Feb 05 09:24:36 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 19051 19052 * backends/flint/flint_cursor.cc,backends/flint/flint_database.cc, 19053 backends/quartz/bcursor.cc: More fixes for debug logging - rename 19054 the "hex_encode" functions used for logging to 19055 "hex_display_encode" to avoid name clash. Fix return type 19056 declared in flint_database.cc's DEBUGCALL macro. 19057 19058Tue Feb 05 09:18:29 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 19059 19060 * api/replication.cc: Fix for logging compiles: don't check return 19061 value of a void function. 19062 19063Tue Feb 05 09:14:34 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 19064 19065 * api/replication.cc: Reopen database after replication, to fix bug 19066 with applying a chain of changesets. 19067 * backends/flint/flint_database.cc: Don't use O_TRUNC (or O_CREAT) 19068 when modifying the DB files! 19069 * tests/api_replicate.cc: Don't call function from inside 19070 TEST_EQUAL, because that's a macro and the function will be 19071 double-evaluated. 19072 19073Tue Feb 05 02:07:08 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 19074 19075 * api/replication.cc,backends/database.cc,backends/flint/, 19076 common/database.h: Many fixes to the replication code. Now 19077 parses replication changesets correctly and applies them to the 19078 databases. Also, correct one bug with the generation of 19079 changesets. 19080 * docs/replication.rst,docs/replication_protocol.rst: Update. 19081 * tests/api_replicate.cc: Add test of two changesets being applied 19082 at once. 19083 19084Sun Feb 03 13:31:10 GMT 2008 Olly Betts <olly@survex.com> 19085 19086 * backends/quartz/btree.cc: Backport atomic base update fix from 19087 flint. 19088 19089Sat Feb 02 22:47:56 GMT 2008 Olly Betts <olly@survex.com> 19090 19091 * AUTHORS: Add Thomas Viehmann. 19092 19093Sat Feb 02 03:39:33 GMT 2008 Olly Betts <olly@survex.com> 19094 19095 * backends/flint/flint_table.cc: Update the base files atomically to 19096 avoid problems with reading processes finding partially written 19097 ones. 19098 19099Sat Feb 02 03:38:00 GMT 2008 Olly Betts <olly@survex.com> 19100 19101 * api/replication.cc: Don't leak the RemoteConnection object. 19102 19103Fri Feb 01 23:15:38 GMT 2008 Olly Betts <olly@survex.com> 19104 19105 * backends/flint/flint_btreebase.cc,backends/flint/flint_btreebase.h: 19106 Fix assorted comment errors. 19107 19108Fri Feb 01 20:20:23 GMT 2008 Olly Betts <olly@survex.com> 19109 19110 * bin/xapian-replicate.cc: Fix comment. 19111 19112Fri Feb 01 20:13:23 GMT 2008 Olly Betts <olly@survex.com> 19113 19114 * bin/xapian-replicate.cc: Document the default interval in --help. 19115 19116Fri Feb 01 20:05:08 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 19117 19118 * bin/xapian-replicate.cc: Remove the "return 0;" I added at the 19119 end of the function - I didn't realise this, but in C++ it's not 19120 necessary to have a return at the end of main(). Tidier without 19121 it, so it's gone. 19122 19123Fri Feb 01 19:44:05 GMT 2008 Olly Betts <olly@survex.com> 19124 19125 * include/xapian/unicode.h: Add Unicode::toupper() to complement 19126 Unicode::tolower(). 19127 * tests/api_unicode.cc: Add caseconvert1 testcase to test 19128 Unicode::tolower() and Unicode::toupper(). 19129 19130Fri Feb 01 19:36:47 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 19131 19132 * bin/xapian-replicate.cc: Add one-shot and verbose options to 19133 replication client. 19134 19135Fri Feb 01 17:52:36 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 19136 19137 * api/replication.cc,backends/flint/flint_database.cc, 19138 include/xapian/replication.h,net/replicatetcpclient.cc, 19139 tests/api_replicate.cc: Keep the RemoteConnection in the 19140 DatabaseReplica object, so that any data which is read ahead 19141 doesn't get lost. If an error occurs opening the database on 19142 the server, send a FAIL message over the connection, rather than 19143 just shutting it. 19144 19145Fri Feb 01 16:51:05 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 19146 19147 * backends/flint/flint_table.cc: Fix a database corruption bug: see 19148 bugzilla entry #232. Was caused by lazy tables not being created 19149 at the right revision. 19150 * tests/api_wrdb.cc: Regression test for bug. 19151 19152Fri Feb 01 15:10:23 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 19153 19154 * api/replication.cc,backends/database.cc, 19155 backends/flint/flint_database.cc,backends/flint/flint_database.h, 19156 common/database.h,docs/replication_protocol.rst, 19157 tests/api_replicate.cc: Add the UUID of the new database to the 19158 DB_HEADER message, and move the code which compares UUIDs out of 19159 flint_database.cc and into replication.cc. Fix testcase which 19160 missed incorrect comparison of UUIDs. Store the UUID of the 19161 live database which has been replicated in the config file - this 19162 isn't an ideal place, but will do until the UUID is stored in the 19163 iamflint file, and we can parse it from there. Remove debug 19164 printfs. 19165 19166Fri Feb 01 15:09:12 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 19167 19168 * bin/quartzdump.cc: Rename hex_encode() to hex_display_encode() to 19169 avoid collision. (The hex encoding produced by this doesn't 19170 encode spaces, so isn't quite the same as the functions just 19171 added to utils.cc). 19172 19173Fri Feb 01 15:08:06 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 19174 19175 * common/utils.cc,common/utils.h: Add utility functions to 19176 hex-encode and decode a string, so we can store UUIDs in the 19177 config file in replicated DB directories. 19178 19179Fri Feb 01 12:49:34 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 19180 19181 * tests/harness/backendmanager_multi.cc: Make the multi 19182 backendmanager use relative paths in its stub databases. 19183 19184Fri Feb 01 12:17:38 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 19185 19186 * common/Makefile.mk: Add replicationprotocol.h to distribution. 19187 19188Fri Feb 01 12:10:19 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 19189 19190 * backends/database.cc: Stub databases used to 19191 assume that any relative paths were relative to the current 19192 working directory. They now assume that relative paths are 19193 relative to the directory holding the stub database file. 19194 Also, lines which begin with a '#' character are ignored, so we 19195 can place comments in the stub database files. Also, recognise a 19196 new database type: a "stub directory", which is a directory 19197 containing a stub database file named "XAPIANDB". 19198 * api/replication.cc: Replica databases are now created as 19199 directories containing a "XAPIANDB" stub file, so all the 19200 workings are internal. 19201 * common/Makefile.mk,common/fileutils.cc,common/fileutils.h: Add 19202 new set of utilities to manipulate path names - extracting 19203 directory names, and joining paths. 19204 * tests/api_replicate.cc: Enable test properly, now that 19205 it passes. Test needs to be expanded to check that the database 19206 copy succeeded better. 19207 19208Fri Feb 01 09:47:00 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 19209 19210 * backends/flint/flint_database.cc: Fix warning about unused 19211 variable. 19212 19213Fri Feb 01 03:49:56 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 19214 19215 * api/replication.cc,backends/database.cc, 19216 backends/flint/flint_database.cc,backends/flint/flint_database.h, 19217 common/database.h,common/replicationprotocol.h: Move replication 19218 protocol definition into a separate file. Add (virtual) support 19219 methods for applying changesets to Database::Internal. Sort out 19220 atomic swapping of old database for new after a database copy. 19221 19222Fri Feb 01 03:49:09 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 19223 19224 * tests/quartztest.cc: Rename removedir to removedir_recursive() to 19225 avoid conflict with my new function. 19226 19227Fri Feb 01 03:09:45 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 19228 19229 * docs/replication_protocol.rst: Specify (though not in much 19230 detail) what we mean by "packed" strings and integers. 19231 19232Fri Feb 01 03:09:06 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 19233 19234 * include/xapian/replication.h: Be more precise in documentation 19235 comment. 19236 19237Fri Feb 01 03:07:29 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 19238 19239 * net/remoteconnection.cc: Remove debug printfs() 19240 19241Fri Feb 01 03:03:59 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 19242 19243 * common/utils.cc,common/utils.h: Add overloaded rmdir() which 19244 works directly on C++ strings. Add removedir() method which 19245 removes a directory and its contents (as long as the directory 19246 only contains files, not subdirectories). 19247 19248Fri Feb 01 01:51:22 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 19249 19250 * common/remoteconnection.h,net/remoteconnection.cc: Add 19251 "sniff_next_message_type" method to RemoteConnection, and replace 19252 the hardcoded "4096" size of the chunks used for the remote 19253 connection confersation with a #define. Fix file mode when 19254 creating a file with receive_file(), and bugs with writing too 19255 much data to the file. 19256 19257Thu Jan 31 03:41:42 GMT 2008 Olly Betts <olly@survex.com> 19258 19259 * bin/Makefile.mk,bin/xapian-replicate-server.cc, 19260 common/replicatetcpserver.h: Add xapian-replicate-server server 19261 program. 19262 19263Thu Jan 31 02:46:38 GMT 2008 Olly Betts <olly@survex.com> 19264 19265 * bin/Makefile.mk,bin/xapian-replicate.cc,common/replicatetcpclient.h, 19266 net/replicatetcpclient.cc,net/replicatetcpserver.cc: Add 19267 xapian-replicate client program. 19268 19269Wed Jan 30 19:13:08 GMT 2008 Olly Betts <olly@survex.com> 19270 19271 * include/xapian/replication.h: Correct name of parameter in doxygen 19272 comment. 19273 19274Wed Jan 30 15:58:44 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 19275 19276 * api/replication.cc,backends/database.cc, 19277 backends/flint/flint_database.cc,backends/flint/flint_database.h, 19278 common/database.h: Hook up the apply_changeset function from the 19279 API through to flint. (The flint layer currently doesn't work, 19280 though.) Also, implement the get_uuid() function for flint, by 19281 using the mtime of the iamflint file. 19282 * tests/api_replicate.cc: Finish implementation of the "replicate" 19283 function, and add a test of a replication of a database using 19284 this. The return value test is commented out for now, because 19285 the flint layer doesn't work, but this puts the machinery needed 19286 to test this in place. 19287 19288Wed Jan 30 15:10:37 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 19289 19290 * backends/flint/flint_database.cc: Implement sending of the whole 19291 database copy. 19292 19293Wed Jan 30 14:45:01 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 19294 19295 * tests/,tests/harness/: Add new testcase file (api_replicate.cc) 19296 to hold tests of the replication functionality. Currently has 19297 one partially written test. Also, add new function to apitest.h: 19298 get_named_writable_database_path(), which allows the path to a 19299 writable database to be obtained; throws an exception for those 19300 backend types for which that isn't meaningful. Add a new 19301 variable for use in the conditions for tests: "replicas", which 19302 should be set to true for all backends which support replication. 19303 19304Wed Jan 30 14:42:26 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 19305 19306 * net/remoteconnection.cc: Fix the calls to fcntl() in 19307 send_message() and send_file() to use fdout instead of fdin. 19308 This has probably been stopping timeouts working very well. 19309 19310Tue Jan 29 15:05:09 GMT 2008 Olly Betts <olly@survex.com> 19311 19312 * common/remoteconnection.h,net/remoteconnection.cc: Add 19313 receive_file() method. 19314 19315Tue Jan 29 14:37:36 GMT 2008 Olly Betts <olly@survex.com> 19316 19317 * common/remoteconnection.h,net/remoteconnection.cc: Add the ability 19318 to read a message in chunks. 19319 19320Tue Jan 29 10:08:02 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 19321 19322 * include/xapian/replication.h: Expand documentation comment. 19323 * api/replication.cc,backends/database.cc, 19324 backends/flint/flint_database.cc,backends/flint/flint_database.h, 19325 common/database.h: Add a write_changesets_to_fd() function to 19326 Database::Internal, with a default implementation to raise an 19327 UnimplementedError. Hook 19328 DatabaseMaster::write_changesets_to_fd() up to this, and 19329 implement it for flint databases (the code to send a copy of a 19330 database still needs work). 19331 19332Tue Jan 29 10:01:39 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 19333 19334 * docs/replication_protocol.rst: Document that a FAIL message ends 19335 the conversation. 19336 19337Tue Jan 29 09:59:01 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 19338 19339 * docs/replication_protocol.rst: Document the protocol used to 19340 transfer the updates. 19341 19342Tue Jan 29 09:57:14 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 19343 19344 * net/remoteconnection.cc: Fix typo. 19345 19346Tue Jan 29 09:48:15 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 19347 19348 * net/remoteconnection.cc: For win32, use msvc_posix_open() to open 19349 the file descriptor, so other things can delete the file while 19350 the sending is in progress. 19351 19352Tue Jan 29 01:23:19 GMT 2008 Olly Betts <olly@survex.com> 19353 19354 * net/remoteconnection.cc: Add an assertion. 19355 19356Tue Jan 29 01:14:07 GMT 2008 Olly Betts <olly@survex.com> 19357 19358 * common/remoteconnection.h,net/remoteconnection.cc: Add send_file() 19359 method to RemoteConnection to allow the contents of a file to be 19360 sent as a message. 19361 19362Tue Jan 29 00:28:18 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 19363 19364 * api/replication.cc,include/xapian/replication.h: Add methods to 19365 allow parameters to be stored associated with a DatabaseReplica. 19366 19367Tue Jan 29 00:16:42 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 19368 19369 * backends/flint/flint_database.cc,backends/flint/flint_database.h: 19370 Change write_changesets_to_fd() to take the revision information 19371 as a string - it now includes a UUID. Add get_uuid() method to 19372 FlintDatabase - currently always returns "FIXME", but will 19373 eventually return an ID for the database. 19374 19375Mon Jan 28 19:07:20 GMT 2008 Olly Betts <olly@survex.com> 19376 19377 * common/Makefile.mk,common/replicatetcpclient.h,net/Makefile.mk, 19378 net/replicatetcpclient.cc,net/replicatetcpserver.cc: Add 19379 ReplicateTcpClient class implementing a replication client over 19380 TCP/IP. 19381 19382Mon Jan 28 17:13:09 GMT 2008 Olly Betts <olly@survex.com> 19383 19384 * common/Makefile.mk,common/replicatetcpserver.h,net/Makefile.mk, 19385 net/replicatetcpserver.cc: Add ReplicateTcpServer class implementing 19386 a replication server over TCP/IP. 19387 19388Mon Jan 28 17:01:02 GMT 2008 Olly Betts <olly@survex.com> 19389 19390 * common/remoteconnection.h,net/remoteconnection.cc: Minor tweaks 19391 to allow unidirectional connections. 19392 19393Mon Jan 28 16:26:22 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 19394 19395 * api/replication.cc: Fix overly hasty commit - add 19396 get_description() method for internal class, and use that instead 19397 of trying to access a private member. 19398 19399Mon Jan 28 16:22:18 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 19400 19401 * api/replication.cc,common/output.h,include/xapian/replication.h: 19402 Add get_description() methods to DatabaseMaster and 19403 DatabaseReplica, and add XAPIAN_OUTPUT_FUNCTION methods for them 19404 so that they can be displayed in debugging methods. Should fix 19405 build with logging enabled. 19406 19407Mon Jan 28 11:52:24 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 19408 19409 * api/replication.cc,include/xapian/replication.h: Add 19410 DatabaseReplica::close() method, to allow the write lock to be 19411 released easily. 19412 19413Mon Jan 28 11:21:36 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 19414 19415 * api/replication.cc,include/xapian/replication.h: Change 19416 DatabaseReplica into a PIMPL style class, now that it has more 19417 than one member. Add visibility annotations to DatabaseMaster 19418 and DatabaseReplica. 19419 19420Mon Jan 28 10:44:51 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 19421 19422 * api/replication.cc,include/xapian/replication.h: Add code to swap 19423 stub database files over atomically, and to track the current 19424 real database path. 19425 19426Mon Jan 28 04:52:12 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 19427 19428 * api/replication.cc,backends/database.cc, 19429 backends/flint/flint_changesetapplier.h, 19430 backends/flint/flint_database.cc,backends/flint/flint_database.h, 19431 common/database.h: Implement opening of the database underlying 19432 DatabaseReplica objects, and hook up the get_revision_info() 19433 method for it. 19434 19435Mon Jan 28 04:17:21 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 19436 19437 * common/utils.cc,common/utils.h: Add "dir_exists" function, to 19438 check for presence of a directory at a given path. 19439 19440Mon Jan 28 03:48:46 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 19441 19442 * backends/flint/flint_table.cc: Change a "+= 1" to ++ - this isn't 19443 Python! 19444 19445Mon Jan 28 03:08:45 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 19446 19447 * api/Makefile.mk,api/replication.cc,include/Makefile.mk, 19448 include/xapian/replication.h: Add interface to replication 19449 functionality. (Currently just unimplemented stubs.) 19450 19451Mon Jan 28 02:01:02 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 19452 19453 * backends/flint/flint_btreebase.h: Add a missing std:: 19454 19455Mon Jan 28 01:59:55 GMT 2008 Olly Betts <olly@survex.com> 19456 19457 * common/remotetcpserver.h: Fix typo in doxygen comment: `@port' -> 19458 `@param port'. Update comment - socket is no longer closed by 19459 handle_one_connection(). 19460 19461Mon Jan 28 01:28:00 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 19462 19463 * backends/flint/: Add support for recording the changes made to a 19464 database in "changeset" files. These are currently not produced 19465 by default - for now, the "XAPIAN_MAX_CHANGESETS" environment 19466 variable can be set to control production of them. As part of 19467 these changes, the FlintTable constructor now takes the 19468 tablename, so that this can be stored in changesets produced from 19469 the table. 19470 * bin/xapian-check.cc,bin/xapian-compact.cc,bin/xapian-inspect.cc: 19471 Update to match changes in FlintTable constructor. 19472 * docs/Makefile.am,docs/replication.rst,docs/replication_protocol.rst: 19473 Add basic documentation of the replication protocol (though this 19474 isn't yet definitive, since the protocol isn't finished!) 19475 19476Sun Jan 27 21:10:24 GMT 2008 Olly Betts <olly@survex.com> 19477 19478 * net/remotetcpserver.cc,net/tcpserver.cc: The job of closing the 19479 socket connected to the client more naturally belongs to the 19480 framework TcpServer class. 19481 19482Sun Jan 27 20:32:55 GMT 2008 Olly Betts <olly@survex.com> 19483 19484 * backends/flint/flint_table.cc: Call flint_io_sync() in commit() 19485 rather than flush_db(), as that gives more time for written blocks 19486 to get written to disk before we block on waiting for them to be. 19487 This should tend to speed up WritableDatabase::flush() in I/O bound 19488 situations. 19489 19490Sun Jan 27 19:35:08 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 19491 19492 * backends/flint/flint_spelling.h,backends/flint/flint_synonym.h: 19493 Merge changes to the spelling and synonym tables just before 19494 calling FlintTable::flush_db(), rather than just before calling 19495 FlintTable::commit(), so that they don't get forgotten. 19496 19497Sun Jan 27 14:29:30 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 19498 19499 * backends/flint/flint_database.cc,backends/flint/flint_table.cc, 19500 backends/flint/flint_table.h: Separate step which flushes 19501 modified blocks from cursors to the DB file from the rest of 19502 commit. This will allow me to insert the changeset writing code 19503 between the two steps, so it can assume that the DB file is fully 19504 up-to-date. Also remove an out-of-date FIXME about trying to 19505 avoid updating the value and position tables if they're not used: 19506 these tables are now lazily created anyway. 19507 19508Sun Jan 27 12:53:51 GMT 2008 Olly Betts <olly@survex.com> 19509 19510 * net/tcpserver.cc: Change explicit references to xapian-tcpsrv. 19511 19512Sun Jan 27 12:26:24 GMT 2008 Olly Betts <olly@survex.com> 19513 19514 * common/tcpclient.h,common/tcpserver.h,net/: Make use of TCP_NODELAY 19515 optional at the class level. No user-visible changes. 19516 19517Sat Jan 26 17:18:09 GMT 2008 Olly Betts <olly@survex.com> 19518 19519 * backends/dbfactory_remote.cc,common/Makefile.mk, 19520 common/remotetcpclient.h,common/tcpclient.h,net/Makefile.mk, 19521 net/remotetcpclient.cc,net/tcpclient.cc: Split out the "open 19522 a connection" part of TcpClient and rename the rest to 19523 RemoteTcpClient. 19524 19525Sat Jan 26 14:01:34 GMT 2008 Olly Betts <olly@survex.com> 19526 19527 * bin/xapian-tcpsrv.cc,common/Makefile.mk,common/remotetcpserver.h, 19528 common/tcpserver.h,net/Makefile.mk,net/remotetcpserver.cc, 19529 net/tcpserver.cc: Split TcpServer into a generic TCP server 19530 class (TcpServer) and a subclass of this which implements the 19531 remote backend TCP server (RemoteTcpServer). 19532 19533Sat Jan 26 11:06:30 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 19534 19535 * backends/flint/flint_btreebase.cc,backends/quartz/btree_util.h, 19536 common/utils.h: Move fdcloser into utils.h, since it's generally 19537 useful, and it's better not to have multiple copies of it 19538 scattered through the code. 19539 19540Fri Jan 25 15:06:30 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 19541 19542 * backends/flint/flint_table.cc,backends/quartz/btree.cc: Use 19543 msvc_posix_unlink() on windows in sys_unlink_if_exists() 19544 functions, so that they will work even if the file is still open. 19545 This probably changes no behaviour, because 19546 sys_unlink_if_exists() is probably never called in such a 19547 situation, but this may not be true in future. 19548 19549Thu Jan 24 13:31:20 GMT 2008 Olly Betts <olly@survex.com> 19550 19551 * docs/overview.html: Remove commented-out comment about OP_XOR. 19552 19553Thu Jan 24 13:30:04 GMT 2008 Olly Betts <olly@survex.com> 19554 19555 * docs/intro_ir.html: Briefly mention how pure boolean retrieval is 19556 supported. 19557 19558Thu Jan 24 13:28:44 GMT 2008 Olly Betts <olly@survex.com> 19559 19560 * HACKING: Move "debian/patch" update earlier in the checklist. 19561 19562Thu Jan 24 13:26:45 GMT 2008 Olly Betts <olly@survex.com> 19563 19564 * NEWS: Partly update from ChangeLog. 19565 19566Thu Jan 17 22:32:08 GMT 2008 Olly Betts <olly@survex.com> 19567 19568 * backends/flint/flint_lock.cc,backends/flint/flint_lock.h, 19569 bin/xapian-check.cc: Apply tweaked version of patch for OS/2 support 19570 by Yuri Dario. 19571 * AUTHORS: Add Yuri Dario. 19572 * PLATFORMS: Mention OS/2. 19573 19574Mon Jan 14 11:03:05 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 19575 19576 * backends/flint/flint_table.cc,backends/quartz/btree.cc: Fix more 19577 assertions to avoid overflowing int. 19578 19579Mon Jan 14 09:29:51 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 19580 19581 * backends/flint/flint_btreeutil.h: Fix assertions to not overflow 19582 int. 19583 19584Mon Jan 14 09:23:54 GMT 2008 Olly Betts <olly@survex.com> 19585 19586 * backends/quartz/btree_util.h: Fix assertions to not overflow int. 19587 19588Mon Jan 14 08:47:33 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 19589 19590 * configure.ac: Fix test for gcc being 4.0.x or 4.1.x, so we don't 19591 use -Wstrict-overflow with them. 19592 19593Sun Jan 13 23:28:04 GMT 2008 Olly Betts <olly@survex.com> 19594 19595 * configure.ac: GCC warning flag overhaul. Stop passing 19596 "-Wno-multichar" since any multi-character character literal is 19597 bound to be a typo (I believe we were only passing it after 19598 misinterpreting its sense!) Pass "-Wformat-security", 19599 "-Wconversion", and "-pedantic" for all GCC versions. Add 19600 "-Winit-self" and "-Wstrict-overflow=5" for GCC >= 4.2. The 19601 latter may be too aggressive, but it's hard to know without 19602 trying it more widely. 19603 19604Sun Jan 13 00:25:25 GMT 2008 Olly Betts <olly@survex.com> 19605 19606 * backends/flint/flint_check.h,backends/flint/flint_table.h, 19607 backends/quartz/btree.h,net/tcpserver.cc,tests/harness/testsuite.cc: 19608 Add XAPIAN_NORETURN() annotations to functions and non-virtual 19609 methods which don't return. 19610 * net/remoteserver.cc: Assign bool variable using a comparison rather 19611 than subtraction, so the intent is clearer. 19612 19613Sun Jan 13 00:23:41 GMT 2008 Olly Betts <olly@survex.com> 19614 19615 * backends/flint/flint_check.cc: Tweak a comparison so all the 19616 constants are on the same side (micro-optimisation). 19617 * backends/quartz/btreecheck.cc: Equivalent change for quartz. 19618 19619Sun Jan 13 00:20:08 GMT 2008 Olly Betts <olly@survex.com> 19620 19621 * tests/queryparsertest.cc: Add a couple of testcases I wrote for a 19622 reported problem which turned out to work correctly already. Still, 19623 they add to our test coverage. 19624 19625Thu Jan 10 02:04:55 GMT 2008 Olly Betts <olly@survex.com> 19626 19627 * tests/runtest.in: Cope with "@EXEEXT" extension on test programs. 19628 19629Wed Jan 09 21:57:59 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 19630 19631 * api/omquery.cc,api/omqueryinternal.cc,common/remoteprotocol.h, 19632 include/xapian/query.h,matcher/queryoptimiser.cc,tests/api_anydb.cc: 19633 Add OP_VALUE_LE operator, for symmetry with OP_VALUE_GE. 19634 Currently implemented internally using a ValueRangePostList with 19635 an empty string as the start of the range. 19636 19637Wed Jan 09 19:36:37 GMT 2008 Richard Boulton <richard@lemurconsulting.com> 19638 19639 * api/omquery.cc,api/omqueryinternal.cc,include/xapian/query.h: Add 19640 new query operator OP_VALUE_GE, for performing "return documents 19641 with a value greater than this" searches. Also add a new 19642 constructor to go with this which takes a value number and a 19643 single string argument. 19644 * matcher/: Add ValueGePostList class, as a subclass of 19645 ValueRangePostList. Change internal members of 19646 ValueRangePostList to be protected instead of private. Add 19647 support for making ValueGePostLists from OP_VALUE_GE queries. 19648 * tests/api_anydb.cc: Add valuege1 testcase of OP_VALUE_GE queries. 19649 * common/remoteprotocol.h: Bump minor protocol number, due to 19650 additional operator being possible in serialised queries. 19651 19652Wed Jan 09 15:18:16 GMT 2008 Olly Betts <olly@survex.com> 19653 19654 * PLATFORMS: Update from Debian buildd logs. 19655 19656Wed Jan 09 13:53:34 GMT 2008 Olly Betts <olly@survex.com> 19657 19658 * tests/harness/backendmanager_remotetcp.cc: Fix XAPIAN_NORETURN() to 19659 wrap a declaration, not the definition, to fix compile failure on 19660 mingw "make check". Correct file documentation comment to refer 19661 to "remotetcp" not "remoteprog". 19662 19663Mon Jan 07 01:28:14 GMT 2008 Olly Betts <olly@survex.com> 19664 19665 * PLATFORMS: Remove reports for 0.8.x as they're too old to be 19666 interesting. Separate out 0.9.x reports. 19667 19668Mon Jan 07 00:23:10 GMT 2008 Olly Betts <olly@survex.com> 19669 19670 * PLATFORMS: Add Solaris 9 and 10 success reports from James Aylett. 19671 19672Sat Jan 05 19:13:12 GMT 2008 Olly Betts <olly@survex.com> 19673 19674 * languages/compiler/generator.c: In generate_call(), if the failure 19675 case would just be "if (ret == 0) return 0;" then combine it with 19676 the test for the called method returning signal `f'. 19677 19678Sat Jan 05 18:28:31 GMT 2008 Olly Betts <olly@survex.com> 19679 19680 * languages/compiler/generator.c: Generate more readable code for the 19681 inlined single ASCII character literal string check. 19682 19683Sat Jan 05 18:27:07 GMT 2008 Olly Betts <olly@survex.com> 19684 19685 * languages/steminternal.cc: Tweak skip_utf8() to save ~0.5% on 19686 stemtest. 19687 19688Sat Jan 05 02:20:57 GMT 2008 Olly Betts <olly@survex.com> 19689 19690 * languages/compiler/generator.c: Optimise a single ASCII character 19691 literalstring check by inlining the check. This makes stemtest run 19692 about 2% faster. 19693 19694Fri Dec 21 21:57:11 GMT 2007 Olly Betts <olly@survex.com> 19695 19696 * docs/valueranges.rst: Fix example of using multiple VRPs to come out 19697 as a "program listing". 19698 19699Fri Dec 21 15:31:35 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 19700 19701 * common/stringutils.h,common/utils.h: Move declaration of 19702 within_DBL_EPSILON back into utils.h to fix builds with 19703 --enable-assertions, and since it's not string-related. 19704 19705Fri Dec 21 02:12:49 GMT 2007 Olly Betts <olly@survex.com> 19706 19707 * NEWS: Note that one change was "(bug#45)". Bump release date. 19708 19709Thu Dec 20 22:00:41 GMT 2007 Olly Betts <olly@survex.com> 19710 19711 * NEWS: Update again for 1.0.5. 19712 19713Thu Dec 20 17:50:26 GMT 2007 Olly Betts <olly@survex.com> 19714 19715 * common/stringutils.cc: Add new file I failed to commit. 19716 19717Thu Dec 20 17:17:28 GMT 2007 Olly Betts <olly@survex.com> 19718 19719 * tests/queryparsertest.cc: Add feature tests to ensure that ':' is 19720 inserted between prefix and term when it should be. 19721 19722Thu Dec 20 13:58:18 GMT 2007 Olly Betts <olly@survex.com> 19723 19724 * common/,queryparser/queryparser.lemony, 19725 queryparser/termgenerator_internal.cc,tests/harness/index_utils.cc, 19726 tests/harness/unixcmds.cc: Move C_isupper(), C_toupper(), etc from 19727 utils.cc/utils.h to stringutils.cc/stringutils.h, since they are 19728 string-related. 19729 19730Thu Dec 20 03:00:08 GMT 2007 Olly Betts <olly@survex.com> 19731 19732 * HACKING: Remove details of issues with autoconf < 2.57 and 19733 automake < 1.5 as these versions are antiques compared to our 19734 current requirements of autoconf >= 2.59 and automake >= 1.8.3. 19735 19736Wed Dec 19 03:41:42 GMT 2007 Olly Betts <olly@survex.com> 19737 19738 * AUTHORS,NEWS,configure.ac: Update for 1.0.5. 19739 19740Wed Dec 19 03:36:30 GMT 2007 Olly Betts <olly@survex.com> 19741 19742 * api/omdatabase.cc: Calling WritableDatabase methods when we don't 19743 have exactly one subdatabase now throws InvalidOperationError. 19744 * tests/termgentest.cc: Add regression test to check that we now get 19745 InvalidOperationError (previously this case gave a segmentation 19746 fault). 19747 19748Wed Dec 19 01:39:01 GMT 2007 Olly Betts <olly@survex.com> 19749 19750 * PLATFORMS: Update from tinderbox. 19751 19752Tue Dec 18 23:17:37 GMT 2007 Olly Betts <olly@survex.com> 19753 19754 * backends/flint/flint_lock.cc,backends/flint/flint_lock.h: Move lots 19755 of headers included by flint_lock.h to flint_lock.cc since 19756 flint_lock.h doesn't need them. Add a "FIXME:1.1:" comment about 19757 an odd special-case for newlib. 19758 19759Thu Dec 13 17:34:19 GMT 2007 Olly Betts <olly@survex.com> 19760 19761 * tests/stemtest.cc: Mark undocumented OM_STEMTEST_* environmental 19762 variables for removal in 1.1. 19763 19764Thu Dec 13 01:27:15 GMT 2007 Olly Betts <olly@survex.com> 19765 19766 * HACKING: Need to check RPM packaging with Tim Brody too. 19767 19768Thu Dec 13 01:26:16 GMT 2007 Olly Betts <olly@survex.com> 19769 19770 * configure.ac: Note that we check for <streambuf> because GCC 2.95 19771 only has <streambuf.h>. 19772 19773Thu Dec 13 01:23:27 GMT 2007 Olly Betts <olly@survex.com> 19774 19775 * AUTHORS: Add Ralf Wildenhues for suggesting a way to factor out 19776 the boilerplate in multitarget rules. 19777 19778Wed Dec 12 02:02:51 GMT 2007 Olly Betts <olly@survex.com> 19779 19780 * NEWS: Update for ChangeLog in preparation for 1.0.5. 19781 19782Wed Dec 12 01:02:29 GMT 2007 Olly Betts <olly@survex.com> 19783 19784 * docs/admin_notes.rst: Mark as up to date for Xapian 1.0.5. Minor 19785 wording improvements. 19786 19787Sun Dec 09 01:09:19 GMT 2007 Olly Betts <olly@survex.com> 19788 19789 * tests/collate-apitest: Check for sources in the build directory 19790 first, and only if not there prepend "$srcdir/". The recently 19791 added api_generated.cc will be in the build directory when using an 19792 SVN checkout. 19793 19794Fri Dec 07 12:37:08 GMT 2007 Olly Betts <olly@survex.com> 19795 19796 * docs/sorting.rst,docs/valueranges.rst: State explicitly that 19797 Xapian::sortable_serialise() is used to encode values at index time 19798 and give an example of how it is called. 19799 19800Thu Dec 06 15:55:31 GMT 2007 Olly Betts <olly@survex.com> 19801 19802 * tests/Makefile.am,tests/collate-apitest, 19803 tests/generate-api_generated: Add automatically generated tests to 19804 ensure that API classes generally have copy ctors and assignment 19805 operators, and also generally have a default ctor. 19806 19807Thu Dec 06 15:32:23 GMT 2007 Olly Betts <olly@survex.com> 19808 19809 * docs/sorting.rst: Fill in the remaining items in the outline. 19810 19811Thu Dec 06 12:50:46 GMT 2007 Olly Betts <olly@survex.com> 19812 19813 * tests/valgrind.supp: Another variant of the zlib suppression. 19814 19815Wed Dec 05 18:31:12 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 19816 19817 * Makefile.am,docs/Makefile.am,tests/Makefile.am: Add dir_contents, 19818 docs/dir_contents and tests/dir_contents to distribution 19819 tarballs. 19820 19821Wed Dec 05 18:28:12 GMT 2007 Olly Betts <olly@survex.com> 19822 19823 * preautoreconf: Really fix handling of version.h. 19824 19825Wed Dec 05 18:20:54 GMT 2007 Olly Betts <olly@survex.com> 19826 19827 * preautoreconf: Handle make pattern substitutions. 19828 19829Wed Dec 05 18:11:31 GMT 2007 Olly Betts <olly@survex.com> 19830 19831 * preautoreconf: Fix special-case handling of include/xapian/version.h. 19832 19833Wed Dec 05 18:01:34 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 19834 19835 * matcher/multiandpostlist.cc,matcher/multiandpostlist.h: Implement 19836 get_wdf() method for MultiAndPostList (by adding together the 19837 wdfs of the subpostlists). Not currently used (but will be by 19838 SynonymPostList). 19839 19840Wed Dec 05 17:43:24 GMT 2007 Olly Betts <olly@survex.com> 19841 19842 * preautoreconf: Special-case version.h. 19843 19844Wed Dec 05 17:31:47 GMT 2007 Olly Betts <olly@survex.com> 19845 19846 * preautoreconf: Fix errors in previous check-in. 19847 19848Wed Dec 05 17:18:26 GMT 2007 Olly Betts <olly@survex.com> 19849 19850 * preautoreconf: Parse BUILT_SOURCES to determine which files are 19851 generated and so need looking for in the build directory - this 19852 won't need updating when new files are generated, or existing 19853 ones stop being. 19854 19855Wed Dec 05 16:55:26 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 19856 19857 * preautoreconf: Fix "make doxygen_docs" with VPATH build: look for 19858 generated code files in build dir, and make rule which re-runs 19859 preautoreconf change to srcdir first. 19860 19861Wed Dec 05 14:59:52 GMT 2007 Olly Betts <olly@survex.com> 19862 19863 * docs/sorting.rst: Document set_sort_by_value() and friends. 19864 19865Wed Dec 05 11:31:27 GMT 2007 Olly Betts <olly@survex.com> 19866 19867 * docs/sorting.rst: More work. 19868 19869Tue Dec 04 14:42:57 GMT 2007 Olly Betts <olly@survex.com> 19870 19871 * docs/bm25.html: Improve wording. 19872 19873Mon Dec 03 17:11:01 GMT 2007 Olly Betts <olly@survex.com> 19874 19875 * docs/Makefile.am,docs/index.html,docs/sorting.rst: Add the start of 19876 a topic document on sorting. 19877 19878Mon Dec 03 17:10:04 GMT 2007 Olly Betts <olly@survex.com> 19879 19880 * common/stats.h: Fix comment typos. 19881 19882Sun Dec 02 14:36:47 GMT 2007 Olly Betts <olly@survex.com> 19883 19884 * docs/synonyms.rst: Minor wording clarification. 19885 19886Sun Dec 02 14:23:37 GMT 2007 Olly Betts <olly@survex.com> 19887 19888 * tests/collate-apitest: Fix reversed conditional for deciding 19889 which generated headers to update. 19890 19891Sun Dec 02 03:47:44 GMT 2007 Olly Betts <olly@survex.com> 19892 19893 * tests/apitest.cc: Include api_all.h instead of the individual 19894 generated headers. 19895 19896Sun Dec 02 03:44:56 GMT 2007 Olly Betts <olly@survex.com> 19897 19898 * tests/collate-apitest: Add licence and (C). Only update .h files 19899 which may have changed. Generate api_all.h which just includes 19900 the generated headers corresponding to all the sources processed. 19901 Strip spaces from conditions. 19902 * tests/Makefile.am: Update for api_all.h. 19903 19904Sun Dec 02 03:21:59 GMT 2007 Olly Betts <olly@survex.com> 19905 19906 * matcher/weight.cc: Wrap comment. 19907 19908Sun Dec 02 03:21:25 GMT 2007 Olly Betts <olly@survex.com> 19909 19910 * AUTHORS: Thank Petr Ročkai. 19911 19912Sun Dec 02 02:40:58 GMT 2007 Olly Betts <olly@survex.com> 19913 19914 * api/omenquire.cc: Oops, this file also part of previous change. 19915 19916Sun Dec 02 02:14:27 GMT 2007 Olly Betts <olly@survex.com> 19917 19918 * include/xapian/enquire.h: Implement copy ctor and assignment 19919 operator for Xapian::Enquire (bug#219). 19920 * configure.ac: Note what this means in terms of library versioning. 19921 19922Sat Dec 01 02:54:51 GMT 2007 Olly Betts <olly@survex.com> 19923 19924 * include/xapian/: Stop describing get_description() as an 19925 "Introspection method", as this doesn't help to explain what it 19926 does, and get_description() doesn't actually fall under any of the 19927 formal definitions of "introspection" I can find. 19928 19929Sat Dec 01 02:45:16 GMT 2007 Olly Betts <olly@survex.com> 19930 19931 * tests/harness/index_utils.h: Overlooked (C) update. 19932 19933Sat Dec 01 02:34:59 GMT 2007 Olly Betts <olly@survex.com> 19934 19935 * HACKING,INSTALL,common/,configure.ac,tests/api_anydb.cc, 19936 tests/api_db.cc,tests/btreetest.cc,tests/harness/testsuite.cc, 19937 tests/harness/testsuite.h,tests/harness/testutils.cc, 19938 tests/internaltest.cc: Raise the minimum supported GCC version 19939 to 2.95.3 and strip out om_ostringstream which is no longer 19940 required. 19941 19942Sat Dec 01 01:10:04 GMT 2007 Olly Betts <olly@survex.com> 19943 19944 * tests/api_sorting.cc,tests/api_wrdb.cc: Move sortfunctor2 from 19945 api_wrdb.cc to api_sorting.cc. 19946 19947Sat Dec 01 00:43:31 GMT 2007 Olly Betts <olly@survex.com> 19948 19949 * tests/valgrind.supp: Add version of the valgrind zlib suppression 19950 for 64 bit hosts. 19951 19952Fri Nov 30 18:06:49 GMT 2007 Olly Betts <olly@survex.com> 19953 19954 * tests/harness/index_utils.cc: Workaround MSVC which doesn't clear 19955 the fail bit when a stream is reopened. 19956 19957Fri Nov 30 00:44:21 GMT 2007 Olly Betts <olly@survex.com> 19958 19959 * matcher/queryoptimiser.cc: Make delete_ptr<> a functor rather than 19960 a function. This fixes the build with SGI's compiler, and 19961 apparently a functor allows more compilers to inline the call. 19962 19963Thu Nov 29 19:24:22 GMT 2007 Olly Betts <olly@survex.com> 19964 19965 * configure.ac: Fix previous change to work. 19966 19967Thu Nov 29 18:53:09 GMT 2007 Olly Betts <olly@survex.com> 19968 19969 * configure.ac: Assume we have <sstream> and hardwire HAVE_SSTREAM to 19970 be 1. If this assumption proves correct for all platforms we care 19971 about, we can rip out the old om_ostringstream code. 19972 19973Thu Nov 29 17:51:11 GMT 2007 Olly Betts <olly@survex.com> 19974 19975 * tests/harness/index_utils.cc: Work around MSVC. 19976 19977Wed Nov 28 03:17:06 GMT 2007 Olly Betts <olly@survex.com> 19978 19979 * api/sorter.cc: Fix reverse sorting of value strings with different 19980 lengths. 19981 * tests/api_wrdb.cc: Add test sortfunctor2 to check this actually 19982 works. 19983 19984Wed Nov 28 02:27:37 GMT 2007 Olly Betts <olly@survex.com> 19985 19986 * tests/api_wrdb.cc,tests/apitest.cc,tests/apitest.h,tests/harness/: 19987 Add get_named_writable_database() and use it to fix spell3 on 19988 Microsoft Windows. 19989 19990Tue Nov 27 16:56:12 GMT 2007 Olly Betts <olly@survex.com> 19991 19992 * xapian-config.in: Factor out the code to check if we need explicit 19993 dependencies into a function. On platforms we know don't need 19994 explicit dependencies, --ltlibs now gives the same output as --libs. 19995 19996Tue Nov 27 00:24:18 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 19997 19998 * tests/Makefile.am: Remove api_regressions.cc from list - didn't 19999 mean to commit that (yet). 20000 20001Tue Nov 27 00:17:40 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 20002 20003 * tests/Makefile.am: Use $(collated_apitest_sources) in list of 20004 apitest_SOURCES; now a new test file can be added just by adding 20005 it to this variable. 20006 20007Mon Nov 26 23:04:00 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 20008 20009 * tests/Makefile.am: Add generated apitest .h files to targets of 20010 rule which calls collate-apitest, since they're also generated by 20011 it. Change the rule to use a .stamp and a .lock file as 20012 described in HACKING, to fix parallel builds. 20013 20014Mon Nov 26 18:48:20 GMT 2007 Olly Betts <olly@survex.com> 20015 20016 * Makefile.am: Distribute preautoreconf. 20017 20018Mon Nov 26 17:24:15 GMT 2007 Olly Betts <olly@survex.com> 20019 20020 * HACKING,configure.ac,docs/Makefile.am: Use pngcrush to reduce the 20021 size of PNG files in the doxygen-generated HTML docs. 20022 20023Mon Nov 26 15:39:58 GMT 2007 Olly Betts <olly@survex.com> 20024 20025 * docs/Makefile.am: Don't package or install various intermediate 20026 files which doxygen generates. 20027 20028Mon Nov 26 13:14:19 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 20029 20030 * tests/api_db.cc: Ensure that the database needed for stubdb1 is 20031 present, by creating it first (with get_database()). This 20032 requires that the database type is flint, but the test doesn't 20033 depend on any particular database type anyway, so this doesn't 20034 lose us anything. 20035 20036Mon Nov 26 13:08:08 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 20037 20038 * tests/collate-apitest: Display the name of the backend which a 20039 set of tests is for. 20040 20041Mon Nov 26 09:45:39 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 20042 20043 * tests/Makefile.am,tests/collate-apitest: Fix with VPATH builds - 20044 pass srcdir as the first argument to collate-apitest, so it can 20045 find the sources. Also, use srcdir to form the path to 20046 collate-apitest when calling it from the make rule. 20047 20048Mon Nov 26 02:22:08 GMT 2007 Olly Betts <olly@survex.com> 20049 20050 * tests/api_db.cc,tests/apitest.cc,tests/apitest.h: Convert the 20051 remaining tests to be collated. 20052 20053Mon Nov 26 02:08:18 GMT 2007 Olly Betts <olly@survex.com> 20054 20055 * tests/api_db.cc,tests/apitest.cc,tests/apitest.h: Collate the 20056 localdb and remotedb tests. 20057 20058Mon Nov 26 01:40:59 GMT 2007 Olly Betts <olly@survex.com> 20059 20060 * tests/: Collate the specchar, doclendb, collfreq, allterms, and 20061 multivalue tests. 20062 20063Mon Nov 26 01:21:35 GMT 2007 Olly Betts <olly@survex.com> 20064 20065 * tests/: Collate the anydb tests. Remove the generated files upon 20066 "make clean" in maintainer-mode. 20067 20068Mon Nov 26 00:34:03 GMT 2007 Olly Betts <olly@survex.com> 20069 20070 * tests/: Collate the wrdb tests. 20071 20072Mon Nov 26 00:18:18 GMT 2007 Olly Betts <olly@survex.com> 20073 20074 * tests/api_posdb.cc,tests/apitest.cc: Add "writable" flag and use it 20075 for poslist2 and poslist3. 20076 20077Mon Nov 26 00:13:43 GMT 2007 Olly Betts <olly@survex.com> 20078 20079 * tests/: Collate the posdb tests. 20080 20081Mon Nov 26 00:03:29 GMT 2007 Olly Betts <olly@survex.com> 20082 20083 * tests/: Collate the nodb tests. 20084 20085Sun Nov 25 23:55:02 GMT 2007 Olly Betts <olly@survex.com> 20086 20087 * tests/: Collate the transaction tests. 20088 20089Sun Nov 25 23:49:26 GMT 2007 Olly Betts <olly@survex.com> 20090 20091 * tests/: Collate the unicode tests. 20092 20093Sun Nov 25 23:35:40 GMT 2007 Olly Betts <olly@survex.com> 20094 20095 * tests/: Make a start on automatically collating test cases. 20096 20097Sun Nov 25 22:41:52 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 20098 20099 * api/weightinternal.cc: Initialise all members of 20100 Xapian::Weight::Internal, and use initialisers rather than 20101 assignment to do so. Fixes an error reported by valgrind. 20102 20103Sun Nov 25 16:48:21 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 20104 20105 * matcher/weight.cc: Add another note of a FIXME needed for 1.1 20106 20107Sun Nov 25 16:40:28 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 20108 20109 * matcher/bm25weight.cc,matcher/tradweight.cc: Add some missing 20110 "using namespace std;" lines which are needed due to earlier 20111 changes in header file inclusions. Also, remove some unnecessary 20112 std:: prefixes. 20113 20114Sun Nov 25 16:35:30 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 20115 20116 * common/stats.h,include/xapian/enquire.h,matcher/localmatch.cc, 20117 matcher/weight.cc: Undo ABI change introduced in previous commit 20118 with a nasty workaround; we can't initialise Weight::internal 20119 reliably, because applications complied with earlier versions of 20120 the library may have inlined the constructor of the Weight class. 20121 Therefore, we can't delete Weight::internal in the destructor, 20122 because we don't know if it was initialised. Instead, we 20123 add factory methods for making Weight::Internal objects to Stats, 20124 register all the Weight::Internal objects made by these factory 20125 methods in a list is the Stats object, and delete them when Stats 20126 is deleted (which conveniently happens after the match has 20127 finished). Mark all this with FIXME:1.1: so that we can easily 20128 convert it to nicer code once we branch for 1.1. 20129 20130Sun Nov 25 15:14:04 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 20131 20132 * api/Makefile.mk,api/weightinternal.cc,common/, 20133 include/xapian/enquire.h,matcher/: Split Stats and 20134 Xapian::Weight::Internal into different classes: Stats remains 20135 with the same members (but becomes a concrete class, rather than 20136 a typedef of another class), and Xapian::Weight::Internal becomes 20137 a simple container for exactly those statistics which are 20138 relevant for a weight object (ie, it holds just one termfreq and 20139 reltermfreq, rather than a map of all of them). This is 20140 dynamically allocated, so Xapian::Weight now owns the object 20141 pointed to by its "internal" member, and deletes it in its 20142 destructor. Add a new header file "weightinternal.h" so that the 20143 full "stats.h" stuff doesn't need to be included for definitions 20144 of weighting schemes. Replace #include "stats.h" lines with 20145 forward declarations of Stats, where possible. 20146 20147Sun Nov 25 15:09:29 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 20148 20149 * api/omenquire.cc: Add missing include of stats.h 20150 * matcher/queryoptimiser.cc,net/tcpserver.cc: Remove unnecessary 20151 include of stats.h 20152 * net/remoteserver.cc: Include missing includes of omassert.h and 20153 stats.h, and change an Assert to AssertEq. 20154 * matcher/multimatch.cc: Output the contents of the stats object in 20155 debugging code. 20156 20157Sun Nov 25 04:22:05 GMT 2007 Olly Betts <olly@survex.com> 20158 20159 * common/multimatch.h: No longer need "autoptr.h" here. 20160 20161Sun Nov 25 04:07:04 GMT 2007 Olly Betts <olly@survex.com> 20162 20163 * common/multimatch.h: Fix typo in documentation comment. 20164 20165Sun Nov 25 03:58:21 GMT 2007 Olly Betts <olly@survex.com> 20166 20167 * common/remoteserver.h,matcher/localmatch.cc,matcher/multimatch.cc: 20168 Remove lingering traces of StatsGatherer. 20169 20170Sat Nov 24 20:44:03 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 20171 20172 * common/stats.h,matcher/Makefile.mk,matcher/stats.cc: Add 20173 get_description() method for Xapian::Weight::Internal, and add 20174 stats.cc back to hold it's implementation. 20175 * common/output.h: Add an output function for Stats (aka 20176 Xapian::Weight::Internal) to fix the build when debug logging is 20177 enabled. 20178 20179Sat Nov 24 01:21:56 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 20180 20181 * api/omenquire.cc,common/,matcher/,net/remoteserver.cc: Remove 20182 StatsGatherer and its subclasses completely. Instead of a 20183 StatsGatherer subclass, MultiMatch is now simply passed a Stats 20184 object, and passes this to the prepare_match() methods of the sub 20185 matchers to be populated with statistics. OmEnquire then passes 20186 the same Stats object to MultiMatch::get_mset(), whereas a remote 20187 submatch sends the Stats object to the parent match, to be 20188 combined with the global statistics, and then passes the returned 20189 global statistics to MultiMatch::get_mset(). Remove stats.cc 20190 since it only contained implementations of StatsGatherer methods, 20191 and networkstats.h which only contained the definition of the 20192 NetworkStatsGatherer. 20193 * matcher/rset.cc: Add the rset size to the database - we now 20194 compute the global rset size the same way as we compute the 20195 global collection size: by adding the sizes in the sub 20196 collections together. We have the total rset size easily 20197 available in the code, but building the total rset size up from 20198 the sub-databases makes the code simpler. 20199 20200Sat Nov 24 01:21:18 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 20201 20202 * matcher/andnotpostlist.cc: Add a missing #include "omdebug.h". 20203 20204Fri Nov 23 23:13:12 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 20205 20206 * common/stats.h,matcher/: Remove the StatsSource class entirely. 20207 LocalSubMatch and RemoteSubMatch now contribute their stats 20208 directly to the gatherer in the prepare_match() method, so the 20209 gatherer doesn't need to worry about keeping track of the sources 20210 of statistics. 20211 20212Fri Nov 23 21:46:32 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 20213 20214 * common/submatch.h,matcher/: Change SubMatch::start_match() (and 20215 all start_match() methods in subclasses) to take the statistics 20216 for the whole collection as an additional parameter. MultiMatch 20217 now gets the statistics from the gatherer and passes it to 20218 start_match(). 20219 20220Fri Nov 23 17:38:28 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 20221 20222 * common/stats.h: Add set_termfreq() and set_reltermfreq() 20223 convenience methods to Stats; and remote the take_my_stats(), 20224 my_termfreq_is() and my_reltermfreq_is() methods from 20225 StatsSource. 20226 * common/rset.h,matcher/rset.cc: Rename give_stats_to_statssource() 20227 to contribute_stats(), and give it take a Stats object instead of 20228 a StatsSource object. Can't forward declare Stats, so we need to 20229 #include "stats.h" in rset.h now, unfortunately. 20230 * matcher/localmatch.cc,matcher/localmatch.h: Move register_term() 20231 implementation inline into prepare_match(). Build up the 20232 statistics in a local Stats object, rather than passing them 20233 piecemeal to the StatsSource object, and then use 20234 StatsSource::get_my_stats() to set them, just like 20235 RemoteSubMatcher. 20236 20237Fri Nov 23 14:35:49 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 20238 20239 * matcher/localmatch.cc,matcher/localmatch.h: Get the total 20240 statistics from the gatherer directly and store them in a new 20241 member of LocalSubMatch, rather than getting them via the 20242 StatsSource when we need them. This bypasses the 20243 get_total_stats() and set_total_stats() methods of StatsSource. 20244 * common/stats.h,matcher/stats.cc: Remove the (newly) unused 20245 methods StatsSource::set_total_stats() and 20246 StatsSource::get_total_stats(). 20247 20248Fri Nov 23 11:40:54 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 20249 20250 * common/,include/xapian/enquire.h,matcher/: Rename 20251 Xapian::Weight::Internal to StatsSource (which I hope to be able 20252 to remove shortly), and rename the Stats class to 20253 Xapian::Weight::Internal. Requires minimal plumbing changes - 20254 TradWeight and BM25Weight classes now query the internals 20255 directly for the statistics, LocalSubMatch now gets the 20256 statistics from StatsSource and passes them to wt_factory. 20257 common/remote-database.h and common/serialise.h now need to 20258 #include stats.h unfortunately, because a forward declaration 20259 can't be used for Xapian::Weight::Internal (unless I'm missing 20260 something). 20261 20262Fri Nov 23 10:15:43 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 20263 20264 * common/stats.h,matcher/bm25weight.cc,matcher/localmatch.cc, 20265 matcher/tradweight.cc: Remove the Xapian::Weight::Internal 20266 get_total_* methods: instead, add a get_total_stats() method 20267 which returns a Stats object representing the whole collection. 20268 Add get_termfreq() and get_reltermfreq() convenience methods to 20269 Stats for looking up individual term's statistics. Also, change 20270 protected members of Xapian::Weight::Internal to private members, 20271 since we're no longer subclassed. Also, in tradweight.cc, avoid 20272 division by zero in the (rare) situation of the average length 20273 being zero; in the same way as this is handled by bm25weight.cc. 20274 20275Thu Nov 22 12:58:02 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 20276 20277 * common/stats.h,matcher/localmatch.cc,matcher/localmatch.h, 20278 matcher/stats.cc: Replay Xapian::Weight::Internal's 20279 perform_request() method with set_total_stats(). The replacement 20280 takes the stats as a parameter, rather than magically getting 20281 them from the gatherer. The LocalSubMatch now needs to call the 20282 gatherer to get the stats, and then pass it to set_total_stats(), 20283 so needs to keep a reference to the gatherer. However, we are 20284 now one step closer to decoupling the gatherer from the stats. 20285 20286Thu Nov 22 11:47:56 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 20287 20288 * common/stats.h,matcher/localmatch.cc: Remove automatic 20289 just-in-time calls to statssource.perform_request() - instead, 20290 make it public, and call it explicitly before the postlist tree 20291 is constructed. Also, make Xapian::Weight::Internal's destructor 20292 non-virtual, since it's no longer subclassed anywhere. 20293 20294Thu Nov 22 11:02:39 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 20295 20296 * common/networkstats.h,matcher/stats.cc: Remove 20297 fetch_local_stats() method, and use of have_gathered flag for 20298 caching result of gathering the stats - instead, simply Assert 20299 that have_gathered is false before gathering; we currently only 20300 call get_local_stats() once for a given gatherer. 20301 20302Thu Nov 22 10:04:40 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 20303 20304 * common/rset.h: Change multiline "///" comments to use "/**", 20305 style. 20306 20307Thu Nov 22 09:27:42 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 20308 20309 * matcher/localmatch.cc,matcher/queryoptimiser.h: Update a couple 20310 of comments. 20311 20312Thu Nov 22 08:29:19 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 20313 20314 * common/networkstats.h,common/stats.h,matcher/: Remove the 20315 LocalStatsSource and NetworkStatsSource classes - just use the 20316 base class (Xapian::Weight::Internal) instead. LocalStatsSource 20317 had no extra members whatsoever, whereas NetworkStatsSource had 20318 various members which weren't used, and a single method 20319 "take_remote_stats" which simply sets the statistics held - I've 20320 renamed this method "set_my_stats" and added it to the base 20321 class. 20322 20323Thu Nov 22 00:05:06 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 20324 20325 * common/networkstats.h,common/stats.h,matcher/stats.cc: Replace 20326 StatsGatherer::contrib_my_stats() and 20327 StatsSource::contrib_stats() methods; instead add a 20328 get_my_stats() method to StatsSource and simply call this. 20329 20330Wed Nov 21 16:37:10 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 20331 20332 * common/networkstats.h,common/remoteserver.h,matcher/stats.cc, 20333 net/remoteserver.cc: Rework NetworkStatsGatherer - it no longer 20334 needs to have the RemoteServer passed into it; instead, the 20335 RemoteServer calls NetworkStatsGatherer::set_global_stats() with 20336 the global statistics as soon as it gets them. This new method 20337 replaces fetch_global_stats(). As a result, the RemoteServer no 20338 longer needs to remember the global_stats received from the 20339 network - it just passes them straight to the gatherer - so 20340 remove the global_stats and get_global_stats() methods from 20341 RemoteServer. 20342 20343Wed Nov 21 15:42:40 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 20344 20345 * common/rset.h,matcher/rset.cc: Document the member functions of 20346 RSetI, and remove the totally unused "get_reltermfreq()" member. 20347 Also remove an ancient, commented out, implementation of an 20348 "add_document()" member, and add copyright lines. 20349 20350Wed Nov 21 15:26:11 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 20351 20352 * common/rset.h,matcher/localmatch.cc,matcher/rset.cc: Make 20353 RSet::calculate_stats() private, and call it only from 20354 RSet::give_stats_to_statssource(). Was previously called 20355 directly from localmatch.cc, but this way it's clear that it's 20356 only called once. 20357 20358Wed Nov 21 14:30:17 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 20359 20360 * matcher/remotesubmatch.h: Move implementation of constructor into 20361 .cc file (accidentally missed this file from the last-but-one 20362 commit, which did the necessary changes to the .cc file). 20363 20364Wed Nov 21 14:28:48 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 20365 20366 * matcher/rset.cc: Improve debugging messages. 20367 20368Wed Nov 21 14:26:44 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 20369 20370 * matcher/remotesubmatch.cc: Add some debugging, and reorder the 20371 header includes. 20372 20373Wed Nov 21 13:21:35 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 20374 20375 * matcher/multimatch.cc: Add DEBUGCALL_STATIC macros to the new 20376 functions, and tidy some code in the constructor slightly. 20377 20378Wed Nov 21 10:00:48 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 20379 20380 * matcher/multimatch.cc: Split the loop which calls prepare_match() 20381 out of the constructor into a separate static function. 20382 20383Tue Nov 20 18:23:53 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 20384 20385 * matcher/multimatch.cc: Refactor code which splits the RSet into 20386 sub RSets (one for each sub database) into a separate function. 20387 No functional change. 20388 20389Tue Nov 20 17:56:47 GMT 2007 Olly Betts <olly@survex.com> 20390 20391 * common/remoteserver.h: Remove unused '#include "omassert.h"'. 20392 20393Tue Nov 20 12:53:06 GMT 2007 Olly Betts <olly@survex.com> 20394 20395 * AUTHORS: Thank Marcus Rueckert for GCC 4.3 fixes. 20396 20397Tue Nov 20 10:22:28 GMT 2007 Olly Betts <olly@survex.com> 20398 20399 * bin/quartzcompact.cc: Recent GCC 4.3 snapshots thinks cf and tf 20400 might be used uninitialised. They won't be, but we only need to 20401 initialise them once per run to silence the warning, so just do 20402 that. 20403 20404Tue Nov 20 10:20:13 GMT 2007 Olly Betts <olly@survex.com> 20405 20406 * bin/quartzcompact.cc: Fix equality testing of C strings to use 20407 strcmp() rather than '=='. In practice, using '==' often gives 20408 the desired effect due to pooling of constant strings, but this may 20409 have resulted in bugs on some platforms. 20410 20411Tue Nov 20 01:47:16 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 20412 20413 * tests/harness/backendmanager_remotetcp.cc: Add missing "#include 20414 <cstring>". 20415 20416Tue Nov 20 01:26:40 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 20417 20418 * tests/harness/unixcmds.cc: Add #include of cstring, to get 20419 strchr, needed for gcc 4.3 snapshot. 20420 20421Tue Nov 20 01:25:22 GMT 2007 Olly Betts <olly@survex.com> 20422 20423 * api/maptermlist.h,api/termlist.cc,backends/alltermslist.cc, 20424 backends/flint/flint_spelling.cc,backends/flint/flint_spelling.h, 20425 common/alltermslist.h,common/termlist.h,common/vectortermlist.h: 20426 Provide a default implementation of accumulate_stats() in the 20427 virtual base class TermIterator::Internal instead of repeating it 20428 in each subclass which doesn't get used for generating an ESet, and 20429 don't call abort() in the default implementation - an Assert(false) 20430 is sufficient, and more consistent with how we handle other similar 20431 cases. 20432 20433Tue Nov 20 01:24:17 GMT 2007 Olly Betts <olly@survex.com> 20434 20435 * bin/xapian-progsrv.cc: Add missing '#include <cstdlib>'. 20436 20437Mon Nov 19 23:54:53 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 20438 20439 * backends/flint/flint_postlist.cc,backends/quartz/quartz_postlist.cc: 20440 Add NORETURN macro to report_read_error(); fixes warnings from 20441 GCC 4.3 about possibly uninitialised values. Reorder header 20442 includes to follow proposed policy. 20443 * backends/flint/flint_postlist.h: Add include of omdebug.h which 20444 previously needed to be done before including this. Tidy up 20445 order of includes. 20446 20447Mon Nov 12 14:06:38 GMT 2007 Olly Betts <olly@survex.com> 20448 20449 * api/Makefile.mk,api/omenquire.cc,api/sorter.cc,common/multimatch.h, 20450 common/omenquireinternal.h,include/Makefile.mk,include/xapian.h, 20451 include/xapian/enquire.h,include/xapian/sorter.h, 20452 matcher/multimatch.cc,net/remoteserver.cc,tests/: Add new functor 20453 class to allow more sophisticated sorting options. 20454 20455Mon Nov 12 14:03:06 GMT 2007 Olly Betts <olly@survex.com> 20456 20457 * HACKING: Improved wording. 20458 20459Sun Nov 11 07:51:57 GMT 2007 Olly Betts <olly@survex.com> 20460 20461 * include/xapian/queryparser.h: Hide the v102 namespace from Doxygen 20462 as it isn't user visible. 20463 20464Sat Nov 10 21:53:21 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 20465 20466 * tests/Makefile.am: Remove .multi in clean-local rule; should fix 20467 distcheck. 20468 20469Sat Nov 10 15:34:25 GMT 2007 Olly Betts <olly@survex.com> 20470 20471 * tests/harness/testutils.cc,tests/harness/testutils.h: 20472 mset_expect_order_begins() is never used, so remove it. 20473 * tests/harness/testutils.cc: Don't need <iostream>, only <fstream>. 20474 20475Sat Nov 10 11:09:22 GMT 2007 Olly Betts <olly@survex.com> 20476 20477 * docs/index.html: Add a list of documents on particular features and 20478 include links to previously unlinked-to documents. Weed down the 20479 top navigation bar which had grown to unwieldy length. 20480 20481Sat Nov 10 10:17:42 GMT 2007 Olly Betts <olly@survex.com> 20482 20483 * PLATFORMS: Update for Debian buildds. 20484 20485Sat Nov 10 02:13:07 GMT 2007 Olly Betts <olly@survex.com> 20486 20487 * matcher/multimatch.cc: If "first" is non-zero, then use nth_element 20488 with vector::reverse_iterator to partition items such that the 20489 unwanted ones are at the end not the start. This means the call 20490 to vector::erase() no longer needs to copy all the wanted items. 20491 20492Fri Nov 09 19:01:38 GMT 2007 Olly Betts <olly@survex.com> 20493 20494 * tests/api_db.cc: collapsekey3 is too strict - even if the value 20495 never occurs, lower_bound may drop as we may reject potential 20496 matches before applying the collapse test. 20497 20498Fri Nov 09 16:36:39 GMT 2007 Olly Betts <olly@survex.com> 20499 20500 * include/xapian/termiterator.h: Clarify get_wdf() versus 20501 get_termfreq() in documentation comments. 20502 20503Fri Nov 09 00:07:02 GMT 2007 Olly Betts <olly@survex.com> 20504 20505 * tests/api_db.cc: Fix comment typo. 20506 20507Fri Nov 09 00:04:45 GMT 2007 Olly Betts <olly@survex.com> 20508 20509 * HACKING,Makefile.am,tests/Makefile.am: New make target 20510 'check-multi'. 20511 20512Thu Nov 08 23:54:47 GMT 2007 Olly Betts <olly@survex.com> 20513 20514 * tests/api_anydb.cc: Re-enable test case allpostlist1 for multi 20515 since it works fine (presumably thanks to the multi_postlist.cc 20516 fix). 20517 20518Thu Nov 08 23:44:29 GMT 2007 Olly Betts <olly@survex.com> 20519 20520 * tests/,tests/harness/: Add new "multi" test backend which indexes 20521 the specified text file(s) to two databases which will look just 20522 like the equivalent single database when searched together. Since 20523 writing isn't supported, a number of tests which require this are 20524 disabled, as are any tests which explicitly use a multi-database 20525 since a multi-of-multis isn't equivalent to a multi of equivalent 20526 individual databases. A handful of testcases are also currently 20527 disabled because they fail for reasons not yet fully explored. 20528 Existing tests run with the new backend provide regression tests 20529 for the two recent fixes. 20530 20531Thu Nov 08 23:42:33 GMT 2007 Olly Betts <olly@survex.com> 20532 20533 * backends/multi/multi_postlist.cc: Fix PostingIterator::skip_to() 20534 when running over multiple databases. Regression test to follow. 20535 20536Thu Nov 08 23:37:51 GMT 2007 Olly Betts <olly@survex.com> 20537 20538 * docs/overview.html: Mention the "auto" backend. 20539 20540Thu Nov 08 23:28:30 GMT 2007 Olly Betts <olly@survex.com> 20541 20542 * matcher/multimatch.cc: Fix bug in handling a pure boolen match over 20543 more than one database under set_docid_order(ASCENDING) - we can't 20544 shortcut in this case because MergePostList generally doesn't return 20545 docids in order. Regression test to follow. 20546 20547Thu Nov 08 21:07:09 GMT 2007 Olly Betts <olly@survex.com> 20548 20549 * matcher/queryoptimiser.cc: Fix comment typo. 20550 20551Thu Nov 08 07:40:48 GMT 2007 Olly Betts <olly@survex.com> 20552 20553 * api/omdatabase.cc: Don't use MultiPostList when there's only one 20554 subdatabase. 20555 20556Thu Nov 08 05:40:17 GMT 2007 Olly Betts <olly@survex.com> 20557 20558 * tests/api_db.cc: Run sortrel1 for inmemory too. 20559 20560Thu Nov 08 03:43:50 GMT 2007 Olly Betts <olly@survex.com> 20561 20562 * tests/harness/backendmanager.cc,tests/harness/index_utils.cc, 20563 tests/harness/index_utils.h: New class FileIndexer which acts like 20564 an iterator returning a Xapian::Document object for each paragraph 20565 in some specified files. 20566 20567Wed Nov 07 16:30:49 GMT 2007 Olly Betts <olly@survex.com> 20568 20569 * common/,docs/remote_protocol.html,matcher/,net/remoteserver.cc, 20570 net/serialise.cc: If we're doing a match with only one database 20571 which is remote then just return the unserialised MSet from the 20572 remote match. This requires that we include 20573 internal->percent_factor in the MSet serialisation, which requires 20574 a minor remote protocol version bump. 20575 20576Wed Nov 07 09:47:28 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 20577 20578 * matcher/multimatch.cc: Fix logging build (a change to the logging 20579 code introduced in r9644 didn't compile) 20580 20581Tue Nov 06 17:10:51 GMT 2007 Olly Betts <olly@survex.com> 20582 20583 * include/xapian/document.h: Better documentation comment for 20584 Document::termlist_count(). 20585 20586Tue Nov 06 12:32:16 GMT 2007 Olly Betts <olly@survex.com> 20587 20588 * Makefile.am,docs/Makefile.am,languages/Makefile.mk: No need to set 20589 SUFFIXES manually for suffixes used in implicit rules. 20590 20591Tue Nov 06 10:41:14 GMT 2007 Olly Betts <olly@survex.com> 20592 20593 * matcher/multimatch.cc: If we're collapsing on a value, keep track of 20594 the number of empty collapse values seen, since that allows us to 20595 give a better lower bound on the number of matches. 20596 * tests/api_db.cc: This change breaks an (incorrect) assumption in 20597 collapsekey3, so change that test case to be a regression test for 20598 the improved estimate. Add a new test as (the previously missing) 20599 collapsekey2, but disable it for now as we don't seem to have a 20600 suitable existing database. 20601 20602Tue Nov 06 07:58:34 GMT 2007 Olly Betts <olly@survex.com> 20603 20604 * matcher/tradweight.cc: Make sure lenpart has been calculated in 20605 TradWeight::get_sumpart_needs_doclength() (this doesn't appear to 20606 actually be a problem in current use, but it might become an issue 20607 if the code which uses TradWeight changes. 20608 20609Tue Nov 06 07:49:18 GMT 2007 Olly Betts <olly@survex.com> 20610 20611 * tests/api_anydb.cc: Add simple feature test for TradWeight being 20612 used to run a query. 20613 20614Tue Nov 06 07:26:28 GMT 2007 Olly Betts <olly@survex.com> 20615 20616 * common/stats.h,matcher/bm25weight.cc,tests/api_anydb.cc: Fix bug in 20617 BM25Weight - in the case where k2 is non-zero, a non-initialised 20618 value influenced the weight calculations. By default k2 is zero, so 20619 this bug probably won't affect most users. 20620 20621Tue Nov 06 07:22:27 GMT 2007 Olly Betts <olly@survex.com> 20622 20623 * api/omenquire.cc,common/multimatch.h,matcher/multimatch.cc, 20624 net/remoteserver.cc: Modify MultiMatch::MultiMatch() to take a const 20625 pointer to Xapian::RSet rather than a const reference. This makes 20626 the code simpler for the case where we don't have an RSet. 20627 20628Tue Nov 06 05:47:38 GMT 2007 Olly Betts <olly@survex.com> 20629 20630 * api/omenquire.cc: Use ".empty()" not ".size() == 0". 20631 20632Mon Nov 05 21:05:45 GMT 2007 Olly Betts <olly@survex.com> 20633 20634 * m4/xapian.m4: Hook LT_INIT as well as AC_PROG_LIBTOOL and 20635 AM_PROG_LIBTOOL. 20636 20637Mon Nov 05 11:17:23 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 20638 20639 * docs/termgenerator.rst: Change a couple of instances of "terms" 20640 to "words" for clarity; the item from the input text is a word, 20641 and the result of processing is a term. 20642 20643Mon Nov 05 09:46:53 GMT 2007 Olly Betts <olly@survex.com> 20644 20645 * docs/admin_notes.rst: Note that this document is up-to-date for 20646 1.0.4. Improve the formatting a bit and fix a the odd typo. 20647 20648Mon Nov 05 06:24:01 GMT 2007 Olly Betts <olly@survex.com> 20649 20650 * tests/api_wrdb.cc: Fix MSVC warning. 20651 20652Mon Nov 05 06:21:09 GMT 2007 Olly Betts <olly@survex.com> 20653 20654 * matcher/queryoptimiser.h: Forward declare PosFilter as "struct" 20655 rather than "class", since it's defined as "struct". 20656 20657Mon Nov 05 05:41:01 GMT 2007 Olly Betts <olly@survex.com> 20658 20659 * api/sortable-serialise.cc: Suppress MSVC warning. 20660 20661Mon Nov 05 04:55:48 GMT 2007 Olly Betts <olly@survex.com> 20662 20663 * docs/quickstart.html: Improved. 20664 20665Mon Nov 05 04:43:13 GMT 2007 Olly Betts <olly@survex.com> 20666 20667 * docs/overview.html: More improvements from Jenny Black. 20668 20669Sun Nov 04 22:59:28 GMT 2007 Olly Betts <olly@survex.com> 20670 20671 * docs/overview.html: Assorted improvements to the start of this 20672 document. 20673 20674Sun Nov 04 22:54:13 GMT 2007 Olly Betts <olly@survex.com> 20675 20676 * api/omdocument.cc,tests/api_wrdb.cc: values_begin() didn't ensure 20677 that values had been read. However, values_end() did (and so did 20678 values_count()) so this wasn't generally an issue, but it shouldn't 20679 happen anyway. 20680 * tests/api_wrdb.cc: Extend adddoc5 to include a regression test for 20681 this bug. 20682 20683Sun Nov 04 22:44:39 GMT 2007 Olly Betts <olly@survex.com> 20684 20685 * tests/quartztest.cc: Remove 'FIXME' suggesting more value tests. 20686 * tests/api_nodb.cc: Add the suggested tests we don't already have. 20687 20688Sun Nov 04 19:23:52 GMT 2007 Olly Betts <olly@survex.com> 20689 20690 * tests/api_posdb.cc,tests/api_wrdb.cc: Use get_writable_database() 20691 instead of get_writable_database(""). 20692 * tests/api_wrdb.cc: Rework test_spell3 so it works under __WIN32__ 20693 (bug#177). 20694 20695Sun Nov 04 07:31:04 GMT 2007 Olly Betts <olly@survex.com> 20696 20697 * tests/harness/backendmanager.h: Make BackendManager dtor virtual as 20698 intended. 20699 20700Sun Nov 04 07:05:12 GMT 2007 Olly Betts <olly@survex.com> 20701 20702 * tests/api_wrdb.cc,tests/apitest.cc,tests/apitest.h,tests/harness/, 20703 tests/quartztest.cc: Extend BackendManager to allow opening a 20704 WritableDatabase as a Database as well, and to allow reopening a 20705 closed WritableDatabase as a WritableDatabase. With these new 20706 features, rework quartztest's adddoc2 and adddoc3 as apitest 20707 testcases adddoc5 and adddoc6. 20708 20709Sun Nov 04 06:08:42 GMT 2007 Olly Betts <olly@survex.com> 20710 20711 * tests/api_wrdb.cc,tests/apitest.cc,tests/apitest.h,tests/harness/: 20712 Add BackendManager::get_writable_database_as_database() and use it 20713 instead of assuming what the WritableDatabase path will be. 20714 20715Sun Nov 04 05:31:30 GMT 2007 Olly Betts <olly@survex.com> 20716 20717 * tests/,tests/harness/: Subclass BackendManager for each database 20718 backend supported, which should provide a better foundation on 20719 which we can rebuild to fix the nastier bits of the test harness. 20720 20721Fri Nov 02 17:39:58 GMT 2007 Olly Betts <olly@survex.com> 20722 20723 * INSTALL: zlib 1.2.0 apparently fixes a memory leak in deflateInit2, 20724 which we use, so that's another reason to prefer 1.2.x. 20725 20726Fri Nov 02 06:34:36 GMT 2007 Olly Betts <olly@survex.com> 20727 20728 * tests/harness/testsuite.cc: Fix extracting of valgrind error 20729 messages. 20730 20731Fri Nov 02 05:09:05 GMT 2007 Olly Betts <olly@survex.com> 20732 20733 * docs/bm25.html,docs/scalability.html: Remove references to Muscat 20734 3.6. 20735 20736Thu Nov 01 18:51:20 GMT 2007 Olly Betts <olly@survex.com> 20737 20738 * NEWS: Fix to talk about OP_VALUE_RANGE rather than 20739 ValueRangePostList since the later isn't user-visible. 20740 20741Thu Nov 01 18:16:20 GMT 2007 Olly Betts <olly@survex.com> 20742 20743 * matcher/exactphrasepostlist.cc: Fix memory leak if second memory 20744 allocation fails. 20745 20746Thu Nov 01 17:54:09 GMT 2007 Olly Betts <olly@survex.com> 20747 20748 * docs/intro_ir.html: Move the section on stemming to a better 20749 location. 20750 20751Thu Nov 01 17:37:40 GMT 2007 Jenny Black 20752 20753 * docs/glossary.rst: Fix typo. 20754 20755Thu Nov 01 06:34:58 GMT 2007 Olly Betts <olly@survex.com> 20756 20757 * matcher/multimatch.cc: Minor code simplification. 20758 20759Wed Oct 31 16:17:08 GMT 2007 Olly Betts <olly@survex.com> 20760 20761 * bin/xapian-check.cc: Fix to handle the special case of a term which 20762 is 48 characters long. Fix not to go into an infinite loop if 20763 certain checks fail. 20764 20765Wed Oct 31 15:56:45 GMT 2007 Olly Betts <olly@survex.com> 20766 20767 * matcher/multiandpostlist.cc: If the subpostlists are ORs and pruning 20768 or operator decay happens within them, then get_termfreq_est() can 20769 change such that the first postlist returns a higher value than 20770 the second, so remove a bogus assertion which assumed this didn't 20771 happen (bug#209). 20772 20773Wed Oct 31 15:43:58 GMT 2007 Olly Betts <olly@survex.com> 20774 20775 * backends/flint/flint_version.cc: I documented an increase in 20776 FLINT_VERSION but didn't increase it - luckily the previous version 20777 wasn't in a released version, so just adjust the comment to match 20778 what actually happened. 20779 20780Wed Oct 31 15:24:48 GMT 2007 Olly Betts <olly@survex.com> 20781 20782 * net/remoteconnection.cc: Add '#include <safeunistd.h>' (bug#208). 20783 20784Wed Oct 31 15:01:53 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 20785 20786 * bin/xapian-check.cc: Update the checking of the termlist table to 20787 stop checking for the "has_termfreqs" flag, which is no longer 20788 stored in termlists. 20789 20790Wed Oct 31 14:31:38 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 20791 20792 * backends/quartz/quartz_positionlist.cc: Add missing #include, 20793 which is needed only when configured with --enable-log and with 20794 --disable-assertions. 20795 20796Tue Oct 30 04:52:53 GMT 2007 Olly Betts <olly@survex.com> 20797 20798 * NEWS,configure.ac: Update for 1.0.4. 20799 20800Tue Oct 30 04:10:32 GMT 2007 Olly Betts <olly@survex.com> 20801 20802 * queryparser/queryparser.lemony: Code tweak. 20803 20804Tue Oct 30 03:04:04 GMT 2007 Olly Betts <olly@survex.com> 20805 20806 * tests/queryparsertest.cc: Add two more test cases to improve 20807 coverage. 20808 20809Tue Oct 30 00:13:42 GMT 2007 Olly Betts <olly@survex.com> 20810 20811 * tests/harness/testsuite.cc: abi::__cxa_demangle() requires GCC 3.1 20812 it seems. 20813 20814Mon Oct 29 23:14:41 GMT 2007 Olly Betts <olly@survex.com> 20815 20816 * docs/scalability.html: Update size of gmane. 20817 20818Mon Oct 29 23:13:00 GMT 2007 Olly Betts <olly@survex.com> 20819 20820 * docs/quartzdesign.html: Note that Quartz is now deprecated. 20821 20822Mon Oct 29 21:09:12 GMT 2007 Olly Betts <olly@survex.com> 20823 20824 * configure.ac,tests/harness/testsuite.cc: Demangle the name of 20825 the std::exception subclass for GCC, and handle compilation with 20826 -fno-rtti. 20827 20828Mon Oct 29 19:50:05 GMT 2007 Olly Betts <olly@survex.com> 20829 20830 * tests/harness/testsuite.cc: Catch std::exception subclasses 20831 explicitly and report e.what() (which gives the method name which 20832 threw, at least under GCC). 20833 20834Mon Oct 29 18:46:57 GMT 2007 Olly Betts <olly@survex.com> 20835 20836 * NEWS: Updated. 20837 20838Mon Oct 29 18:36:12 GMT 2007 Olly Betts <olly@survex.com> 20839 20840 * matcher/multimatch.cc: Pull out old_item.wt into a variable. 20841 20842Mon Oct 29 18:24:46 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 20843 20844 * queryparser/queryparser.lemony: Fix problem with spelling 20845 correction of hyphenated terms (or other terms joined with phrase 20846 generators): the position of the start of the term wasn't being 20847 reset for the second term in the generated phrase, resulting in 20848 out of bounds errors when substituting the new value in the 20849 corrected query string. 20850 * tests/queryparsertest.cc: Test the fix. 20851 20852Mon Oct 29 17:34:17 GMT 2007 Olly Betts <olly@survex.com> 20853 20854 * docs/deprecation.rst: Move "Stem::stem_word(word)" in the bindings 20855 to the right section (it was done in 1.0.0, as already indicated). 20856 Deprecate the non-pythonic iterators in favour of the pythonic ones. 20857 20858Mon Oct 29 02:54:09 GMT 2007 Olly Betts <olly@survex.com> 20859 20860 * NEWS,api/Makefile.mk,docs/Makefile.am,include/Makefile.mk, 20861 include/xapian.h,tests/api_db.cc,tests/api_nodb.cc, 20862 tests/api_wrdb.cc: Back out match spy changes in preparation for 20863 creating a branch for them. 20864 20865Mon Oct 29 02:37:31 GMT 2007 Olly Betts <olly@survex.com> 20866 20867 * matcher/valuerangepostlist.cc: Fix 20868 ValueRangeProcessor::get_termfreq_est() and get_termfreq_max() to 20869 work when at_end() when paranoid assertions are enabled. 20870 20871Mon Oct 29 01:51:07 GMT 2007 Olly Betts <olly@survex.com> 20872 20873 * common/omenquireinternal.h: Add ESetItem::swap() and 20874 MSetItem::swap(). 20875 20876Sun Oct 28 16:33:34 GMT 2007 Olly Betts <olly@survex.com> 20877 20878 * PLATFORMS: Update from tinderbox and buildbot. 20879 20880Sun Oct 28 06:00:23 GMT 2007 Olly Betts <olly@survex.com> 20881 20882 * matcher/queryoptimiser.cc: Remove unused variable. 20883 20884Sun Oct 28 05:46:28 GMT 2007 Olly Betts <olly@survex.com> 20885 20886 * docs/remote.html: xapian-tcpsrv can handle concurrent read access 20887 so update the out-of-date information here. Also, some new features 20888 aren't supported by the remote backend yet. 20889 20890Sun Oct 28 05:20:02 GMT 2007 Olly Betts <olly@survex.com> 20891 20892 * include/xapian/queryparser.h: Update documentation comment for 20893 QueryParser::set_stemming_strategy(). 20894 20895Sun Oct 28 05:03:03 GMT 2007 Olly Betts <olly@survex.com> 20896 20897 * queryparser/queryparser.lemony: Fix handling of STEM_ALL. 20898 * tests/queryparsertest.cc: Update tests. Move tables of queries to 20899 before the test functions which use them. 20900 20901Sat Oct 27 20:50:57 BST 2007 Olly Betts <olly@survex.com> 20902 20903 * api/omqueryinternal.cc,include/xapian/query.h, 20904 matcher/queryoptimiser.cc: Eliminate Query::Internal::dbl_parameter 20905 to avoid any risk of ABI breakage. 20906 20907Sat Oct 27 17:08:46 BST 2007 Olly Betts <olly@survex.com> 20908 20909 * include/xapian/query.h: Pull in <xapian/deprecated.h> explicitly. 20910 Add @deprecated note to Query::Query(Query::op, Query) explaining 20911 why it is deprecated. 20912 * include/xapian/queryparser.h: Wrap comment better. 20913 20914Sat Oct 27 05:37:33 BST 2007 Olly Betts <olly@survex.com> 20915 20916 * NEWS: Merge two "testsuite" sections in draft 1.0.4 entry. 20917 20918Sat Oct 27 02:34:10 BST 2007 Olly Betts <olly@survex.com> 20919 20920 * HACKING: Note specifically that std::list::size() is O(n) for GCC. 20921 Update the debian packaging checklist. 20922 20923Sat Oct 27 02:33:14 BST 2007 Olly Betts <olly@survex.com> 20924 20925 * docs/intro_ir.html: Add link to the forthcoming book 20926 "Introduction to Information Retrieval", which can be read online. 20927 20928Sat Oct 27 02:22:36 BST 2007 Olly Betts <olly@survex.com> 20929 20930 * docs/Makefile.am: We no longer build sourcedoc.pdf so remove it from 20931 MAINTAINERCLEANFILES. 20932 20933Sat Oct 27 02:20:31 BST 2007 Olly Betts <olly@survex.com> 20934 20935 * NEWS: Mostly updated for 1.0.4. 20936 20937Fri Oct 26 04:57:31 BST 2007 Olly Betts <olly@survex.com> 20938 20939 * api/omqueryinternal.cc: OP_SCALE_WEIGHT applied to MatchNothing is 20940 now handled by the Query ctor, so replace the code to handle 20941 OP_SCALE_WEIGHT in Query::Internal::simplify_matchnothing() by an 20942 assertion that the subquery isn't MatchNothing. 20943 20944Fri Oct 26 04:50:37 BST 2007 Olly Betts <olly@survex.com> 20945 20946 * include/xapian/query.h: Deprecate the essentially useless 20947 constructor Query(Query::op, Query). 20948 * docs/deprecation.rst: Note this deprecation, and since the feature 20949 doesn't actually have a use, schedule it for 1.1.0. Also schedule 20950 Enquire::register_match_decider() for 1.1.0 for the same reason. 20951 20952Fri Oct 26 01:00:08 BST 2007 Olly Betts <olly@survex.com> 20953 20954 * api/omquery.cc,include/xapian/query.h: OP_SCALE_WEIGHT applied to 20955 OP_VALUE_RANGE can have no effect so ignore it. 20956 * tests/queryparsertest.cc: Update expected query descriptions. 20957 20958Fri Oct 26 00:23:55 BST 2007 Olly Betts <olly@survex.com> 20959 20960 * matcher/multimatch.cc: When checkatleast is set, and we're sorting 20961 by relevance with forward ordering by docid, and the query is pure 20962 boolean, we were exiting before the checkatleast requirement was 20963 satisfied. Then the adjustments made to the estimated and max 20964 statistics based on checkatleast meant we claimed there were 20965 exactly msize results. 20966 20967Thu Oct 25 00:34:14 BST 2007 Olly Betts <olly@survex.com> 20968 20969 * matcher/localmatch.cc,matcher/multiandpostlist.cc, 20970 matcher/queryoptimiser.cc,queryparser/queryparser.cc: Fix build 20971 with --enable-assertions and --enable-log. 20972 20973Wed Oct 24 06:29:03 BST 2007 Olly Betts <olly@survex.com> 20974 20975 * queryparser/queryparser.lemony: Drop out of IN_GROUP mode when we 20976 generate a BOOLEAN_FILTER token. 20977 * tests/queryparsertest.cc: Add regression test. 20978 20979Wed Oct 24 06:08:29 BST 2007 Olly Betts <olly@survex.com> 20980 20981 * queryparser/queryparser.lemony: Drop special treatment for unmatched 20982 ')' at the start of the query, as it seems rather arbitrary and not 20983 particularly useful. Reparsing seems a better approach here. 20984 * tests/queryparsertest.cc: Add regression test case for bug which 20985 dropping this special case fixes. 20986 20987Wed Oct 24 05:25:40 BST 2007 Olly Betts <olly@survex.com> 20988 20989 * AUTHORS: Add Ron Kass for several bug reports. 20990 20991Wed Oct 24 05:13:01 BST 2007 Olly Betts <olly@survex.com> 20992 20993 * queryparser/queryparser.lemony: Fix parsing of queries which consist 20994 only of boolean filter terms and HATE-d terms. 20995 * tests/queryparsertest.cc: Add regression tests, and a few more cases 20996 which passed before too. Fix descriptions of queries which now give 20997 different (but equivalent) Xapian::Query object hierarchies. 20998 20999Wed Oct 24 04:51:56 BST 2007 Olly Betts <olly@survex.com> 21000 21001 * queryparser/queryparser.lt: Fix warning in debug log build. 21002 21003Wed Oct 24 04:41:08 BST 2007 Olly Betts <olly@survex.com> 21004 21005 * backends/flint/flint_table.cc,backends/flint/flint_table.h: Don't 21006 use class member function pointers to implement FlintTable::next() 21007 and FlintTable::prev() as we can just call the methods directly 21008 based on the sequential flag. Profiling suggests this speeds up 21009 searches a little, the two pointers take up 16 bytes each (on 21010 x86_64) so it reduces the class size by up to 32 bytes, and the code 21011 is simpler because we no longer need to update prev_ptr and 21012 next_ptr. 21013 21014Wed Oct 24 00:16:06 BST 2007 Olly Betts <olly@survex.com> 21015 21016 * api/omqueryinternal.cc: Tweak Query::get_description() to describe 21017 OP_SCALE_WEIGHT queries as '<factor> * <subquery>' rather than 21018 '<subquery> * <factor>' as the former results in more readable 21019 descriptions. 21020 * queryparser/queryparser.lemony: Use OP_SCALE_WEIGHT with factor 0.0 21021 for queries which should be purely boolean which resolves a FIXME 21022 comment in the code. 21023 * tests/queryparsertest.cc: Fix expected results for this change. 21024 21025Tue Oct 23 19:13:08 BST 2007 Olly Betts <olly@survex.com> 21026 21027 * queryparser/queryparser.lemony: Some as_XXX() methods delete the 21028 object they are called on, while others don't, so rename the ones 21029 which don't to get_XXX() to make the code clearer, and make them 21030 all return Query rather than Query *. Eliminate Term::as_query() 21031 completely - when we actually want a new object we can just call 21032 new in the caller. op_window_query() now takes the difference 21033 between the number of terms and the total window size, and we now 21034 use a std::vector to store the generated Query objects rather than 21035 a std::list, since we know how many there will be and can reserve 21036 the required size in advance. 21037 21038Tue Oct 23 18:33:49 BST 2007 Olly Betts <olly@survex.com> 21039 21040 * queryparser/queryparser.lemony: Improve comment. 21041 21042Mon Oct 22 21:00:05 BST 2007 Olly Betts <olly@survex.com> 21043 21044 * queryparser/queryparser.lemony: Fix handling of LOVE and HATE 21045 following a quoted phrase. 21046 * tests/queryparsertest.cc: Add regression test. 21047 21048Mon Oct 22 05:23:23 BST 2007 Olly Betts <olly@survex.com> 21049 21050 * queryparser/queryparser.lemony: Refactor so Term::as_query() calls 21051 Term::as_query_object() instead of vice versa, as this avoids 21052 calling 'new Query' quite a bit and makes a measurable difference 21053 to the speed of the QueryParser. Fix a call to as_query() which 21054 can be as_query_object(). 21055 21056Mon Oct 22 04:10:17 BST 2007 Olly Betts <olly@survex.com> 21057 21058 * queryparser/queryparser.lemony: FLAG_PARTIAL with multi-prefixes 21059 would result in inflated wqf for the "normal" version of the term 21060 treated as partial. 21061 * tests/queryparsertest.cc: Add regression test. 21062 21063Mon Oct 22 02:34:58 BST 2007 Olly Betts <olly@survex.com> 21064 21065 * queryparser/queryparser.lemony,queryparser/queryparser_internal.h: 21066 Rename QueryParser::Internal::prefixes to prefixmap to avoid 21067 confusion with all the other variables which are now called 21068 "prefixes" in queryparser.lemony. Eliminate have_prefix and 21069 instead just set prefixinfo to NULL by default. 21070 21071Sun Oct 21 23:56:57 BST 2007 Olly Betts <olly@survex.com> 21072 21073 * common/omenquireinternal.h,include/xapian/enquire.h, 21074 include/xapian/query.h,matcher/: Implement a new QueryOptimiser 21075 class which can hoist the positional filters of OP_PHRASE and 21076 OP_NEAR higher up the tree and merge the "AND" inside them into 21077 any neighbouring OP_AND or OP_FILTER (bug#23). This shaves 10% of 21078 the execution time of real world queries on real world data. On 21079 particularly slow cases, the saving can be more dramatic - it 21080 saves 50% when tested on a log of slow cases. OP_SCALE_WEIGHT 21081 scaling factors are now pushed down to the leaves and any leaf 21082 we a factor other than 0.0 (boolean) or 1.0 (unscaled) has 21083 its weights scaled using a ScaleWeight wrapper around the normal 21084 weighting object (bug#203). 21085 21086Sun Oct 21 23:46:11 BST 2007 Olly Betts <olly@survex.com> 21087 21088 * include/xapian/query.h: Fix documentation of OP_SCALE_WEIGHT. 21089 Negative scaling factors aren't now clipped to 0, instead we 21090 throw Xapian::InvalidArgumentError. Remove the explicit setting of 21091 OP_ELITE_SET to 10 which is no longer required. Wrap a long comment 21092 line. 21093 21094Sun Oct 21 23:20:23 BST 2007 Olly Betts <olly@survex.com> 21095 21096 * tests/api_anydb.cc: Tweak code and wrap comment. 21097 21098Sun Oct 21 04:53:40 BST 2007 Olly Betts <olly@survex.com> 21099 21100 * matcher/extraweightpostlist.h: Add missing '#include "multimatch.h"' 21101 which is pulled in implicitly by some other header which always 21102 happens to be included before this one. 21103 21104Fri Oct 19 03:52:17 BST 2007 Olly Betts <olly@survex.com> 21105 21106 * docs/deprecation.rst: Remove deprecation of 21107 QueryParser::add_prefix() and QueryParser::add_boolean_prefix(). 21108 Reformat the tables to use the "simple table" style, and to all be 21109 126 columns wide, since that fits in a maximised terminal window 21110 without wrapping (at least on my machine!) 21111 21112Fri Oct 19 03:44:33 BST 2007 Olly Betts <olly@survex.com> 21113 21114 * include/xapian/queryparser.h,queryparser/queryparser.cc, 21115 queryparser/queryparser.lemony,queryparser/queryparser_internal.h, 21116 tests/queryparsertest.cc: Since calling QueryParser::add_prefix() 21117 or QueryParser::add_boolean_prefix() a second time with the same 21118 field name was ignored before (rather than overriding as we had 21119 thought) it seems reasonable to change this behaviour. This 21120 also avoids the need to deprecate these methods which will force all 21121 users to update their code. Change the semantics of default_prefix 21122 - it's more useful if this overrides any default prefixes set with 21123 add_prefix(), since this allows the same QueryParser object to 21124 parse both a "general" search input which searches several fields 21125 and also a "title" search input. Trying to set the same field 21126 as probabilistic and boolean now throws InvalidOperationError 21127 rather than UnimplementedError. 21128 21129Fri Oct 19 03:29:53 BST 2007 Olly Betts <olly@survex.com> 21130 21131 * queryparser/queryparser.lt: Fix compilation. 21132 21133Fri Oct 19 03:28:37 BST 2007 Olly Betts <olly@survex.com> 21134 21135 * docs/Makefile.am: We're still getting "info" messages in the 21136 generated HTML. It seems to be impossible to get rst2html to 21137 report "info" messages to stdout without adding them to the 21138 generated document, so just drop "--verbose" to disable them 21139 completely. 21140 21141Thu Oct 18 18:27:28 BST 2007 Olly Betts <olly@survex.com> 21142 21143 * queryparser/queryparser.lt: Use std::vector<> for the stack in the 21144 lemon-generated parser. This means that the stack is no longer a 21145 fixed size, so we needn't worry about overflow, and that in typical 21146 use it'll actually use less memory (lemon defaults to a 100 entry 21147 stack). 21148 21149Thu Oct 18 17:23:45 BST 2007 Olly Betts <olly@survex.com> 21150 21151 * languages/turkish.sbl: Minimise differences with Snowball SVN HEAD 21152 by stripping trailing whitespace. 21153 21154Mon Oct 15 15:39:26 BST 2007 Olly Betts <olly@survex.com> 21155 21156 * backends/quartz/btree_util.h: Need "safeunistd.h" for close(). 21157 Fixes build errors on mingw and with SGI's CC on IRIX. 21158 21159Mon Oct 15 05:30:23 BST 2007 Olly Betts <olly@survex.com> 21160 21161 * matcher/localmatch.cc: Fix typo in comment. 21162 21163Mon Oct 15 05:26:35 BST 2007 Olly Betts <olly@survex.com> 21164 21165 * common/omassert.h: Rewritten from scratch. The new version only 21166 includes headers if assertions are enabled, which should help 21167 to speed up non-assertion builds by reducing unnecessary header 21168 inclusion. Also, float.h and math.h are never now pulled in - 21169 instead we use the new within_DBL_EPSILON() function. AssertNe() 21170 and AssertNeParanoid() are never actually used, so replace them with 21171 AssertRel() and AssertRelParanoid which allow the user to assert any 21172 binary relation, not just inequality. Also, we now use rare() to 21173 give branch prediction hints for assertion tests (since the failure 21174 branch should never be taken). 21175 * common/omdebug.h,common/stringutils.h,tests/harness/testsuite.h: 21176 Replace several definitions of the STRINGIZE macro with a single 21177 version in common/stringutils.h. 21178 * backends/flint/,backends/inmemory/inmemory_database.cc, 21179 backends/multi/multi_postlist.cc,backends/quartz/, 21180 backends/remote/remote-database.cc,bin/quartzcheck.cc, 21181 bin/xapian-compact.cc,common/stringutils.h,expand/expandweight.cc, 21182 expand/ortermlist.cc,matcher/phrasepostlist.cc, 21183 matcher/scaleweightpostlist.cc,net/remoteconnection.cc, 21184 net/tcpserver.cc: Explicitly include headers which were previously 21185 being pulled in implicitly by omassert.h. 21186 * HACKING: Update the documentation for assertion calls, and document 21187 CompileTimeAssert() (which previously wasn't documented here). 21188 21189Mon Oct 15 05:09:15 BST 2007 Olly Betts <olly@survex.com> 21190 21191 * common/utils.cc,common/utils.h: Add within_DBL_EPSILON() function 21192 which returns true if its two double arguments differ by less 21193 than DBL_EPSILON (currently not used anywhere). 21194 21195Mon Oct 15 05:03:50 BST 2007 Olly Betts <olly@survex.com> 21196 21197 * matcher/multiandpostlist.cc: If check sets valid to true, we can't 21198 be at_end(), so check valid first as at_end() is a rare event. 21199 21200Mon Oct 15 05:00:18 BST 2007 Olly Betts <olly@survex.com> 21201 21202 * matcher/: Remove code for FilterPostList, which has been unused for 21203 ages. 21204 21205Sun Oct 14 02:13:57 BST 2007 Olly Betts <olly@survex.com> 21206 21207 * matcher/andpostlist.cc: AndPostList now ensures that its left is 21208 less frequent than its right (it can still be produced as an 21209 operator decay product, and sometimes left is more frequent when 21210 this happens). 21211 21212Sun Oct 14 00:58:20 BST 2007 Olly Betts <olly@survex.com> 21213 21214 * matcher/multimatch.cc: Use rare() to mark rarely taken branches. 21215 21216Sun Oct 14 00:30:46 BST 2007 Olly Betts <olly@survex.com> 21217 21218 * configure.ac: Add rare() and usual() macros to config.h which allow 21219 branch prediction hints to be given for compilers which support this 21220 (currently GCC and Intel C++). 21221 * HACKING: Document rare() and usual(). 21222 21223Sat Oct 13 22:37:32 BST 2007 Olly Betts <olly@survex.com> 21224 21225 * HACKING: Improve wording. 21226 21227Sat Oct 13 16:42:26 BST 2007 Olly Betts <olly@survex.com> 21228 21229 * api/postlist.cc,common/postlist.h,matcher/: Implement a variant of 21230 PostList::skip_to() called PostList::check() which isn't required 21231 to leave the PostList on a particular docid. This allows queries 21232 filtered by a ValueRangePostList to run around 3.5 times faster. 21233 Fixes buf#164, though there's probably scope for at least some 21234 further improvement. 21235 21236Sat Oct 13 16:08:07 BST 2007 Olly Betts <olly@survex.com> 21237 21238 * matcher/multiandpostlist.cc: Fix typo bug (get_termfreq_min 21239 should be get_termfreq_max!) 21240 21241Sat Oct 13 15:53:52 BST 2007 Olly Betts <olly@survex.com> 21242 21243 * matcher/multiandpostlist.cc: Fix assertion (should be <= not <). 21244 21245Fri Oct 12 01:20:05 BST 2007 Olly Betts <olly@survex.com> 21246 21247 * HACKING: Note that rst2html may be installed as rst2html.py. 21248 21249Fri Oct 12 01:10:11 BST 2007 Olly Betts <olly@survex.com> 21250 21251 * matcher/localmatch.cc: Tweak formatting. 21252 21253Thu Oct 11 22:58:36 BST 2007 Olly Betts <olly@survex.com> 21254 21255 * tests/: svn:ignore: Add termgentest and termgentest.exe. 21256 21257Thu Oct 11 16:18:03 BST 2007 Olly Betts <olly@survex.com> 21258 21259 * configure.ac: If rst2html isn't found, also look for rst2html.py, 21260 which archlinux reportedly installs it as. 21261 21262Thu Oct 11 16:09:20 BST 2007 Olly Betts <olly@survex.com> 21263 21264 * matcher/: Round the result of all get_termfreq_est() calculations to 21265 the nearest integer instead of rounding down. 21266 21267Thu Oct 11 15:40:48 BST 2007 Olly Betts <olly@survex.com> 21268 21269 * matcher/: Add new PostList subclass MultiAndPostList which handles 21270 a multi-way AND operation in a single class. This allows us to 21271 optimise some cases of 3 or more way AND operations much better 21272 and gives a 16-17% performance improvement in tests using real-world 21273 query logs. 21274 * tests/api_anydb.cc: MultiAndPostList rounds get_termfreq_est() 21275 calculations to the nearest integer (rather than always rounding 21276 down) so adjust the expected answers in test_matches. 21277 21278Thu Oct 11 15:14:27 BST 2007 Olly Betts <olly@survex.com> 21279 21280 * matcher/selectpostlist.cc: Explicitly qualify next() as 21281 SelectPostList::next(). 21282 21283Thu Oct 11 13:04:40 BST 2007 Olly Betts <olly@survex.com> 21284 21285 * README: Remove the ancient history lesson - this material is better 21286 left to the history page on the website. 21287 21288Thu Oct 11 00:33:34 BST 2007 Olly Betts <olly@survex.com> 21289 21290 * matcher/branchpostlist.h: Fix comment typo. 21291 21292Thu Oct 11 00:28:29 BST 2007 Olly Betts <olly@survex.com> 21293 21294 * api/postlist.cc,backends/flint/flint_alldocspostlist.cc, 21295 backends/flint/flint_alldocspostlist.h,common/postlist.h,matcher/: 21296 Eliminate several implementations of open_position_list and 21297 read_position_list in favour of default ones in the PostList base 21298 class which throw InvalidOperationError. Change the default 21299 get_wdf implementation to also throw InvalidOperationError. 21300 21301Wed Oct 10 22:27:44 BST 2007 Olly Betts <olly@survex.com> 21302 21303 * docs/install.html: Improve the remainder. This documents now just 21304 gives a brief overview of building, suitable for most common cases, 21305 and defers to the INSTALL document in each tarball for more details. 21306 21307Wed Oct 10 21:51:39 BST 2007 Olly Betts <olly@survex.com> 21308 21309 * common/leafpostlist.h: Rewrite header. 21310 * api/Makefile.mk,api/leafpostlist.cc: Add new source file for 21311 virtual, and non-trivial, non-virtual, methods of LeafPostList. 21312 * api/omdatabase.cc,backends/inmemory/inmemory_database.h, 21313 backends/multi/multi_postlist.cc,backends/multi/multi_postlist.h, 21314 backends/remote/net_postlist.h,common/emptypostlist.h: Add missing 21315 '#include "omassert.h"' which was previously pulled in implicitly 21316 via '#include "leafpostlist.h"'. 21317 * backends/inmemory/inmemory_database.h: Remove unused '#include 21318 <stdlib.h>'. 21319 * backends/multi/multi_postlist.cc,backends/multi/multi_postlist.h: 21320 MultiPostList::set_termweight() is never used, so eliminate it. 21321 * backends/remote/net_postlist.cc: Rename parameter "weight" to 21322 "min_weight" to avoid clash with new member variable of 21323 LeafPostList. 21324 * matcher/emptysubmatch.cc,matcher/localmatch.cc: Don't call 21325 LeafPostList::set_termweight() with a BoolWeight object - the 21326 default behaviour is now equivalent. 21327 21328Wed Oct 10 18:18:09 BST 2007 Olly Betts <olly@survex.com> 21329 21330 * docs/install.html: Improve the first half. 21331 21332Wed Oct 10 16:32:57 BST 2007 Olly Betts <olly@survex.com> 21333 21334 * common/postlist.h: Rewrite header. 21335 * api/Makefile.mk,api/postlist.cc: Add new source file for virtual 21336 methods of Xapian::PostingIterator::Internal. 21337 * api/omdatabase.cc,backends/flint/flint_postlist.h, 21338 backends/quartz/quartz_alldocspostlist.cc, 21339 backends/quartz/quartz_postlist.h,matcher/valuerangepostlist.cc: 21340 Add missing '#include "autoptr.h"' which was previously pulled in 21341 implicitly via '#include "postlist.h"'. 21342 21343Wed Oct 10 16:25:08 BST 2007 Olly Betts <olly@survex.com> 21344 21345 * tests/quartztest.cc: Remove quartztest's test_postlist1 and 21346 test_postlist2. 21347 * tests/api_db.cc: Enhance test_termstats to cover part of the removed 21348 tests. Enhance test_postlist1 to check more long terms. Eliminate 21349 the helper function from test_postlist3. 21350 * tests/api_wrdb.cc: Add test_postlist7 to cover the rest of what the 21351 removed tests checked which isn't already checked elsewhere. 21352 21353Wed Oct 10 02:29:44 BST 2007 Olly Betts <olly@survex.com> 21354 21355 * HACKING: Update the release checklist. 21356 21357Wed Oct 10 02:01:03 BST 2007 Olly Betts <olly@survex.com> 21358 21359 * matcher/scaleweightpostlist.cc,matcher/scaleweightpostlist.h: Move 21360 virtual dtor definition out of header. 21361 21362Wed Oct 10 01:41:05 BST 2007 Olly Betts <olly@survex.com> 21363 21364 * matcher/msetpostlist.cc: Avoid virtual method overhead in 21365 MSetPostList::recalc_maxweight(). 21366 21367Wed Oct 10 00:16:00 BST 2007 Olly Betts <olly@survex.com> 21368 21369 * common/expandweight.h,expand/expand.cc,expand/expandweight.cc: We 21370 never actually use ExpandWeight::get_maxweight(), so remove it. 21371 21372Tue Oct 09 16:27:54 BST 2007 Olly Betts <olly@survex.com> 21373 21374 * backends/flint/flint_database.cc,backends/flint/flint_version.cc, 21375 backends/flint/flint_version.h: Don't try to upgrade a flint 21376 database if we're only reading it, or it's already the latest 21377 version. 21378 21379Mon Oct 08 10:14:57 BST 2007 Richard Boulton <richard@lemurconsulting.com> 21380 21381 * tests/api_nodb.cc: Rename test_scaleweightmatchnothing1 to 21382 test_scaleweight3 so all the scaleweight tests can be run 21383 together more easily. Add test_scaleweight4 to test that scaling 21384 by a weight close to 1 is optimised away. 21385 21386Sun Oct 07 12:20:14 BST 2007 Olly Betts <olly@survex.com> 21387 21388 * include/xapian/database.h: Add explicit note that 21389 Database::get_metadata() returns an empty string when the backend 21390 doesn't support user-specified metadata, and that 21391 WritableDatabase::set_metadata() throws UnimplementedError in this 21392 case. Add note about current behaviour with multidatabases. 21393 21394Sun Oct 07 10:58:24 BST 2007 Olly Betts <olly@survex.com> 21395 21396 * api/omqueryinternal.cc: No need to use AutoPtr<> here now. 21397 21398Sun Oct 07 10:54:05 BST 2007 Richard Boulton <richard@lemurconsulting.com> 21399 21400 * common/remoteprotocol.h: Bump the network protocol minor 21401 revision, since we've added a query operator (OP_SCALE_WEIGHT) 21402 and the server will need to be updated to understand serialised 21403 queries containing it. 21404 21405Sun Oct 07 01:54:43 BST 2007 Richard Boulton <richard@lemurconsulting.com> 21406 21407 * api/omqueryinternal.cc,include/xapian/query.h,matcher/, 21408 tests/api_anydb.cc,tests/api_nodb.cc,tests/internaltest.cc: 21409 Rename OP_MULT_WEIGHT to OP_SCALE_WEIGHT and MultWeight to 21410 ScaleWeight, and move it to before OP_MULT_WEIGHT (to remove the 21411 gap in the enum). 21412 Don't do an epsilon test to compare the weight to zero (when 21413 checking if it's effectively a boolean query) - do an exact 21414 comparison instead. Raise an exception if the parameter for 21415 OP_SCALE_WEIGHT is < 0 (instead of clipping it to 0). Adjust 21416 weights accordingly. 21417 Add test_scaleweight2() to test a query with some weights 21418 multiplied by 0, and some by a different factor. 21419 21420Wed Oct 03 17:23:02 BST 2007 Richard Boulton <richard@lemurconsulting.com> 21421 21422 * api/omqueryinternal.cc,tests/api_nodb.cc: Fix (and test) for a 21423 double delete if OP_MULT_WEIGHT was applied to an empty query. 21424 21425Mon Oct 01 13:20:39 BST 2007 Richard Boulton <richard@lemurconsulting.com> 21426 21427 * NEWS: Update 21428 * net/remoteconnection.cc: Back out previous change - I was 21429 confused, the code was previously fine, and the change broke it. 21430 21431Mon Oct 01 13:13:48 BST 2007 Richard Boulton <richard@lemurconsulting.com> 21432 21433 * api/omqueryinternal.cc: Fix access of uninitialised member when 21434 unserialising a mult-weight query. 21435 * tests/internaltest.cc: Add a regression test for unserialisationg 21436 of mult-weight queries. 21437 21438Mon Oct 01 13:11:24 BST 2007 Richard Boulton <richard@lemurconsulting.com> 21439 21440 * net/remoteconnection.cc: After calling read(), check for received 21441 == 0 after checking for errors, so that if an EINTR occurs in 21442 read, we don't report EOF instead of retrying. 21443 21444Sun Sep 30 23:20:34 BST 2007 Richard Boulton <richard@lemurconsulting.com> 21445 21446 * api/omquery.cc,api/omqueryinternal.cc,include/xapian/query.h: Add 21447 OP_MULT_WEIGHT operator, and a new Query constructor which takes 21448 a single subquery and a "double" parameter - currently only 21449 useful for OP_MULT_WEIGHT. Add dbl_parameter to Query::Internal, 21450 to hold this parameter. Add serialisation of OP_MULT_WEIGHT 21451 using "." to represent the operator. Drop OP_MULT_WEIGHT 21452 operators which have a parameter of 1 (or very close) when 21453 simplifying, since these have no effect. 21454 * matcher/multweightpostlist.cc,matcher/multweightpostlist.h: New 21455 files, implementing a postlist which multiplies the weights from 21456 its single sub-postlist by a parameter. 21457 * matcher/Makefile.mk: Add new files. 21458 * matcher/localmatch.cc: Add support for the OP_MULT_WEIGHT query 21459 operator, which produces a MultWeightPostList if the associated 21460 parameter is greater than DBL_EPSILON, and produces a boolean query 21461 otherwise. 21462 * tests/api_anydb.cc: Add tests for OP_MULT_WEIGHT operator with 21463 various queries, and various multipliers. 21464 * NEWS: Update 21465 21466Sun Sep 30 23:13:29 BST 2007 Richard Boulton <richard@lemurconsulting.com> 21467 21468 * tests/harness/testsuite.h: Add TEST_NOT_EQUAL_DOUBLE() macro. 21469 * tests/harness/testsuite.cc: Add special 21470 case to TEST_EQUAL_DOUBLE_() for exact equality of the supplied 21471 arguments. This is tidier in general, because it avoids "inf" 21472 being produces by the calculation, but is only actually necessary 21473 in the case where the arguments are both exactly 0; it all works 21474 out nicely for other values of the arguments. 21475 21476Sun Sep 30 21:12:40 BST 2007 Richard Boulton <richard@lemurconsulting.com> 21477 21478 * tests/queryparsertest.cc: #define XAPIAN_DEPRECATED to disable 21479 compiler warnings about the deprecated forms of add_prefix() and 21480 add_boolean_prefix(). 21481 21482Sun Sep 30 21:07:25 BST 2007 Richard Boulton <richard@lemurconsulting.com> 21483 21484 * api/Makefile.mk,docs/Makefile.am,docs/deprecation.rst, 21485 include/Makefile.mk,include/xapian.h,include/xapian/queryparser.h, 21486 queryparser/queryparser.cc,queryparser/queryparser.lemony, 21487 queryparser/queryparser_internal.h,tests/: Re-apply changes which 21488 needed more thought or more work before being included in a 21489 release. 21490 * NEWS: Update with current descriptions of these changes. 21491 21492Sun Sep 30 20:22:25 BST 2007 Richard Boulton <richard@lemurconsulting.com> 21493 21494 * tests/valgrind.supp: Add further suppressions needed for the 21495 version of zlib on ubuntu gutsy. 21496 21497Fri Sep 28 15:38:18 BST 2007 Olly Betts <olly@survex.com> 21498 21499 * NEWS: Final (?) update for 1.0.3. 21500 21501Fri Sep 28 15:37:22 BST 2007 Olly Betts <olly@survex.com> 21502 21503 * PLATFORMS: Another small update. 21504 21505Fri Sep 28 15:30:17 BST 2007 Olly Betts <olly@survex.com> 21506 21507 * HACKING: Add link to the 1.0.N tracker bug. 21508 21509Fri Sep 28 14:04:06 BST 2007 Olly Betts <olly@survex.com> 21510 21511 * PLATFORMS: More updates. 21512 21513Fri Sep 28 13:45:51 BST 2007 Richard Boulton <richard@lemurconsulting.com> 21514 21515 * include/xapian/database.h: Document that empty metadata keys will 21516 cause an exception from get_metadata() and set_metadata(). 21517 * api/omdatabase.cc: Cause empty metadata keys to raise an 21518 InvalidArgumentError if they're passed to set_metadata() or 21519 get_metadata(). 21520 * tests/api_wrdb.cc: Add test_metadata3, to check behaviour with an 21521 empty metadata key. 21522 21523Fri Sep 28 13:30:49 BST 2007 Olly Betts <olly@survex.com> 21524 21525 * PLATFORMS: Updates from tinderbox. 21526 21527Fri Sep 28 13:22:16 BST 2007 Olly Betts <olly@survex.com> 21528 21529 * include/xapian/database.h: Clarify support for empty metadata keys. 21530 21531Fri Sep 28 11:00:08 BST 2007 Richard Boulton <richard@lemurconsulting.com> 21532 21533 * tests/valgrind.supp: Add second version of the zlib end condition 21534 check which works for the version of zlib in Ubuntu gutsy; ie, 21535 version 1.2.3.3, where the error occurs in the function called 21536 directly by deflate, rather than two levels below it. 21537 21538Fri Sep 28 03:11:11 BST 2007 Olly Betts <olly@survex.com> 21539 21540 * configure.ac: Update for 1.0.3. 21541 21542Fri Sep 28 03:05:10 BST 2007 Olly Betts <olly@survex.com> 21543 21544 * api/Makefile.mk,docs/Makefile.am,docs/deprecation.rst, 21545 include/Makefile.mk,include/xapian.h,include/xapian/queryparser.h, 21546 queryparser/queryparser.cc,queryparser/queryparser.lemony, 21547 queryparser/queryparser_internal.h,tests/: Back out changes which 21548 need more thought or more work in the interests of getting 1.0.3 21549 out this month. 21550 21551Fri Sep 28 03:04:19 BST 2007 Olly Betts <olly@survex.com> 21552 21553 * NEWS: Update with recent changes. 21554 21555Fri Sep 28 01:55:42 BST 2007 Olly Betts <olly@survex.com> 21556 21557 * docs/deprecation.rst: Revert to the previous deprecation policy. 21558 21559Fri Sep 28 01:20:34 BST 2007 Olly Betts <olly@survex.com> 21560 21561 * include/xapian/enquire.h: Rephrase since "should be in the MSet" 21562 might be misunderstood. 21563 21564Fri Sep 28 01:12:47 BST 2007 Olly Betts <olly@survex.com> 21565 21566 * AUTHORS,docs/Makefile.am,docs/glossary.rst,docs/index.html: Add 21567 glossary put together by Jenny Black, also incorporating entries 21568 from Deron Meranda's glossary on the wiki. 21569 21570Thu Sep 27 23:06:30 BST 2007 Olly Betts <olly@survex.com> 21571 21572 * docs/stemming.html: Reorder the initial paragraphs so we actually 21573 answer the question "What is a stemming algorithm?" up front. 21574 21575Thu Sep 27 22:15:36 BST 2007 Olly Betts <olly@survex.com> 21576 21577 * matcher/valuerangepostlist.cc: Call ValueRangePostList::next() 21578 explicitly to avoid the overhead of virtual method dispatch. 21579 21580Thu Sep 27 14:43:25 BST 2007 Olly Betts <olly@survex.com> 21581 21582 * common/termlist.h: Don't need to forward declare 21583 Xapian::Internal::ExpandWeight here. 21584 21585Thu Sep 27 14:36:00 BST 2007 Olly Betts <olly@survex.com> 21586 21587 * common/termlist.h: Add missing (but indirectly included) '#include 21588 <xapian/base.h>'. 21589 21590Fri Sep 21 18:00:34 BST 2007 Richard Boulton <richard@lemurconsulting.com> 21591 21592 * docs/deprecation.rst: Add deprecation for 21593 Database::positionlist_begin() throwing DocNotFoundError , for 21594 same reason as deprecating it throwing RangeError. Also, add 21595 deprecation for QueryParser::add_prefix(f, p) and 21596 add_boolean_prefix() - replaced by three argument form of 21597 add_prefix. Also, add a policy that we don't add 21598 XAPIAN_DEPRECATED when there's no replacement for the deprecated 21599 feature in the last x.x.0 release. 21600 * include/xapian/queryparser.h: Add @deprecated to documentation 21601 comments for add_prefix(f, p) and add_boolean_prefix() (but don't 21602 add XAPIAN_DEPRECATED() macro for now). 21603 21604Fri Sep 21 16:13:25 BST 2007 Richard Boulton <richard@lemurconsulting.com> 21605 21606 * include/xapian/queryparser.h: Fix copy and paste errors in 21607 documentation comment, and hopefully clarify it somewhat. 21608 21609Fri Sep 21 15:50:40 BST 2007 Richard Boulton <richard@lemurconsulting.com> 21610 21611 * tests/queryparsertest.cc: Initialise the default prefix from 21612 prefixes.find(""), allowing multiple default prefixes to be set 21613 by calling add_prefix() with an empty field name. 21614 * queryparser/queryparser.lemony: Several more tests; mainly for 21615 the new default_prefix functionality, but also a bit more 21616 coverage for multiple prefixes in general. 21617 21618Fri Sep 21 15:04:02 BST 2007 Richard Boulton <richard@lemurconsulting.com> 21619 21620 * include/xapian/queryparser.h,queryparser/queryparser.cc: API 21621 addition: Revert previous change to behaviour of 21622 QueryParser::add_prefix and QueryParser::add_boolean_prefix 21623 methods, to avoid API change within a release series. Add new 21624 QueryParser::add_prefix() form which takes three parameters; the 21625 third parameter is a value from a new "prefix_type" enum. 21626 * queryparser/queryparser.lemony,queryparser/queryparser_internal.h: 21627 Internal changes to allow multiple filters to be set for a single 21628 field: 21629 - Remove the PrefixInfoList object again - instead add a list of 21630 prefixes to PrefixInfo. We only aim to support one type of 21631 prefix for a given field, so the extra flexibility given by 21632 PrefixInfoList is a districation. 21633 - Change filter_group_id to be based on a list of prefixes, 21634 instead of a single prefix. 21635 - Change Term objects to store a list of prefixes instead of a 21636 single prefix. make_term() now takes a prefix argument and 21637 makes a single term. Term::as_... methods iterate through the 21638 prefix list and OR together the resulting terms. 21639 - Change TermList object to store a list of Terms instead of 21640 Queries, and also to keep track of whether the prefix lists 21641 for those Terms are all the same. When they are the same, 21642 generate separate phrases for each prefix, and OR them 21643 togeher, instead of generating phrases of "OR" groups of 21644 terms. Remove the unused "TermList::add_term()" method. 21645 * tests/queryparsertest.cc: Add simple tests of repeated inline 21646 fields, phrases with multiple prefixed fields, tests of backwards 21647 compatible behaviour of add_prefix(field, prefix), and 21648 add_boolean_prefix(), and of the new add_prefix() form with 21649 incompatible types. 21650 21651Thu Sep 20 02:13:36 BST 2007 Olly Betts <olly@survex.com> 21652 21653 * NEWS: Update with changes since 1.0.2. 21654 21655Wed Sep 19 20:00:43 BST 2007 Olly Betts <olly@survex.com> 21656 21657 * backends/flint/flint_table.cc: Fix "Key_" in exception message to 21658 say "Key" (the result of overzealous search-and-replace). 21659 21660Wed Sep 19 17:08:16 BST 2007 Richard Boulton <richard@lemurconsulting.com> 21661 21662 * include/xapian/queryparser.h,queryparser/queryparser.cc, 21663 queryparser/queryparser.lemony,queryparser/queryparser_internal.h: 21664 Handle repeated calls to QueryParser::add_boolean_prefix() with 21665 the same field - this will generate multiple terms for each 21666 occurrence of the field in the query. Involves reorganising the 21667 internal representation of prefixes, to hold a list of PrefixInfo 21668 objects for each field, instead of a single object. This also 21669 paves the way towards handling for multiple calls to 21670 QueryParser:add_prefix() with the same field, and allowing 21671 add_{boolean_}prefix() with an empty field to set the default 21672 prefix handling, but the behaviour of this are currently 21673 unchanged. Technically, this could be considered an API change, 21674 but the previous behaviour (of using only the most recent value 21675 set by add_boolean_prefix) was unintentional and undocumented, 21676 and seems unlikely to have been deliberately used. 21677 * tests/queryparsertest.cc: Add a very simple test for repeated 21678 boolean_prefix fields; several more are needed. Also, a 21679 commented out test of repeated non-boolean prefix fields. 21680 21681Tue Sep 18 23:28:48 BST 2007 Richard Boulton <richard@lemurconsulting.com> 21682 21683 * queryparser/queryparser.lemony: Remove unused variable 21684 "term_group". 21685 21686Tue Sep 18 16:56:37 BST 2007 Olly Betts <olly@survex.com> 21687 21688 * api/matchspy.cc,include/xapian/matchspy.h: Use a set rather than a 21689 map to store the "multivalues" flags. 21690 21691Mon Sep 17 14:10:47 BST 2007 Olly Betts <olly@survex.com> 21692 21693 * include/xapian/matchspy.h: Fix documentation comment typo. 21694 21695Sun Sep 16 04:13:20 BST 2007 Olly Betts <olly@survex.com> 21696 21697 * net/remoteconnection.cc: Fix compiler warning in mingw build. 21698 21699Sun Sep 16 02:59:54 BST 2007 Olly Betts <olly@survex.com> 21700 21701 * backends/flint/flint_database.cc,tests/api_wrdb.cc: Check length of 21702 new terms is at most 245 bytes for flint in add_document() and 21703 replace_document() so that the API user gets an error there rather 21704 than when flush() is called (explicitly or implicitly). Fixes 21705 bug#44. 21706 21707Sat Sep 15 20:11:36 BST 2007 Olly Betts <olly@survex.com> 21708 21709 * backends/flint/flint_version.cc: Add missing include of 21710 msvc_posix_wrapper.h. 21711 21712Sat Sep 15 17:58:35 BST 2007 Olly Betts <olly@survex.com> 21713 21714 * api/omdatabase.cc,backends/database.cc, 21715 backends/flint/flint_database.cc,backends/flint/flint_database.h, 21716 backends/flint/flint_version.cc, 21717 backends/inmemory/inmemory_database.cc, 21718 backends/inmemory/inmemory_database.h,common/database.h, 21719 include/xapian/database.h,tests/api_wrdb.cc: Add support for user 21720 specified metadata (bug#143). 21721 21722Sat Sep 15 02:26:40 BST 2007 Olly Betts <olly@survex.com> 21723 21724 * backends/flint/flint_cursor.cc,backends/flint/flint_cursor.h: 21725 Implement FlintCursor::find_entry_ge() a little more efficiently 21726 (we could do better still by modifying FlintTable too). 21727 21728Sat Sep 15 00:56:54 BST 2007 Olly Betts <olly@survex.com> 21729 21730 * backends/flint/flint_cursor.cc: If we found the exact key, just copy 21731 it to current_key. 21732 21733Fri Sep 14 21:52:45 BST 2007 Olly Betts <olly@survex.com> 21734 21735 * backends/flint/: Overhaul FlintAllDocsPostList. 21736 21737Fri Sep 14 19:20:56 BST 2007 Olly Betts <olly@survex.com> 21738 21739 * backends/flint/flint_alltermslist.cc: Rework 21740 FlintAllTermsList::skip_to() to use FlintCursor::find_entry_ge(). 21741 21742Fri Sep 14 17:45:06 BST 2007 Olly Betts <olly@survex.com> 21743 21744 * backends/flint/flint_cursor.h: Improve documentation comment. 21745 21746Fri Sep 14 17:28:17 BST 2007 Olly Betts <olly@survex.com> 21747 21748 * backends/flint/flint_spellingwordslist.cc, 21749 backends/flint/flint_synonym.cc: Use FlintCursor::find_entry_ge(). 21750 * backends/flint/flint_synonym.h: Use FlintCursor::find_entry_lt(). 21751 * backends/flint/flint_alltermslist.h: Use FlintCursor::find_entry_lt() 21752 and skip any keys before "\x00\xff" to allow for extra metadata 21753 keys. 21754 21755Fri Sep 14 15:26:04 BST 2007 Olly Betts <olly@survex.com> 21756 21757 * backends/flint/flint_cursor.cc,backends/flint/flint_cursor.h: The 21758 reason why a deleted key is still visible to the cursor is that it 21759 is running over the previous revision of the tree. So we don't 21760 need to call find_entry() at all - we can just call next(). Also 21761 extend FlintCursor::del() to return whether the cursor is positioned 21762 (like FlintCursor::next() does). 21763 * backends/flint/flint_postlist.cc: Use the return value of 21764 FlintCursor::del(). 21765 21766Fri Sep 14 15:10:39 BST 2007 Olly Betts <olly@survex.com> 21767 21768 * tests/Makefile.am: Reorder the testdata/flint-x.y.z files 21769 consistently. 21770 21771Fri Sep 14 12:48:04 BST 2007 Richard Boulton <richard@lemurconsulting.com> 21772 21773 * configure.ac: Add "tar-ustar" option to AM_INIT_AUTOMAKE. This 21774 is needed to avoid a failure of make dist due to filepaths of 21775 more than 99 characters (in the generated documentation: the 21776 relevant filepaths are for the NumberValueRangeProcessor class, 21777 and extend to 103 characters). Automake documentation implies 21778 that tar-v7 is the default format, which doesn't support 21779 filepaths longer than 99 characters portably; ustar allows 256 21780 characters. The automake documentation says that the ustar 21781 format "is believed to be old enough to be portable"; if we come 21782 across problems due to the format change we could consider 21783 renaming files to reduce the filepath length. 21784 * tests/Makefile.am: Remove 21785 testdata/flint-1.0.2/{value,position}.{baseA,DB} from 21786 distribution, since they don't actually exist. Fixes make dist. 21787 21788Fri Sep 14 10:45:35 BST 2007 Richard Boulton <richard@lemurconsulting.com> 21789 21790 * backends/flint/flint_cursor.cc,backends/flint/flint_cursor.h: Add 21791 FlintCursor::find_entry_gt(), and use it instead of 21792 flint_entry_ge() in FlintCuror::del(). This fixes failure of 21793 deldoc4 test. I'm not sure why find_entry() can return true 21794 immediately after the key it's searching for was deleted with 21795 B->del(), though: that merits further investigation. 21796 21797Fri Sep 14 04:57:14 BST 2007 Olly Betts <olly@survex.com> 21798 21799 * bin/xapian-inspect.cc: Avoid comparing char with 0 - on platforms 21800 where char is unsigned by default this can give a compiler warning. 21801 21802Fri Sep 14 03:40:18 BST 2007 Olly Betts <olly@survex.com> 21803 21804 * bin/xapian-compact.cc: Removed unused variable. 21805 21806Fri Sep 14 01:56:36 BST 2007 Olly Betts <olly@survex.com> 21807 21808 * backends/flint/flint_alltermslist.cc: Fix comment typo. 21809 21810Fri Sep 14 01:51:52 BST 2007 Olly Betts <olly@survex.com> 21811 21812 * backends/flint/flint_cursor.cc,backends/flint/flint_cursor.h: Add 21813 FlintCursor::find_entry_lt() and FlintCursor::find_entry_ge() 21814 which we can implement more efficiently (in the future) than 21815 user code calling FlintCursor::find_entry() and then having to 21816 adjust the cursor position in some cases. 21817 21818Thu Sep 13 14:52:34 BST 2007 Olly Betts <olly@survex.com> 21819 21820 * backends/flint/flint_alltermslist.cc: FlintCursor::after_end() is 21821 never true after FlintCursor::find_entry() so remove check for this 21822 case! 21823 21824Thu Sep 13 03:11:19 BST 2007 Olly Betts <olly@survex.com> 21825 21826 * backends/flint/flint_alltermslist.h,backends/flint/flint_database.cc, 21827 backends/flint/flint_database.h: Don't pass FlintPostListTable 21828 pointer to FlintAllTermsList - it can find this via the database 21829 if we make it FlintDatabase instead of Database::Internal. 21830 21831Thu Sep 13 02:07:19 BST 2007 Olly Betts <olly@survex.com> 21832 21833 * backends/flint/: Read/write the metainfo key from FlintDatabase to 21834 avoid having to pass a huge long list of values across once we start 21835 to store more statistics. 21836 21837Thu Sep 13 02:03:46 BST 2007 Olly Betts <olly@survex.com> 21838 21839 * backends/database.cc,common/database.h: Move definitions of virtual 21840 methods out of the header file. 21841 21842Thu Sep 13 01:33:49 BST 2007 Olly Betts <olly@survex.com> 21843 21844 * backends/flint/flint_database.cc,backends/flint/flint_database.h: 21845 Store the total_length and lastdocid values in FlintDatabase object. 21846 21847Wed Sep 12 20:27:49 BST 2007 Olly Betts <olly@survex.com> 21848 21849 * matcher/multimatch.cc: Eliminate a block which used to scope some 21850 variables which have now moved. Unify debug output from different 21851 cases after the match. Remove half-finished comment which doesn't 21852 seem to be trying to say anything useful. 21853 21854Wed Sep 12 20:20:18 BST 2007 Olly Betts <olly@survex.com> 21855 21856 * tests/api_anydb.cc: In checkatleast2, the total number of matching 21857 documents in the database is 5, so use TEST_EQUAL instead of 21858 TEST_GREATER_OR_EQUAL to compare get_matches_lower_bound() with 5. 21859 21860Wed Sep 12 17:55:00 BST 2007 Olly Betts <olly@survex.com> 21861 21862 * backends/flint/flint_database.h: Fix some comment typos and 21863 outdated information. Remove some superfluous uses of "virtual". 21864 21865Wed Sep 12 17:15:58 BST 2007 Olly Betts <olly@survex.com> 21866 21867 * backends/flint/flint_database.cc,backends/quartz/quartz_database.cc: 21868 Failing to create a flint or quartz database because we couldn't 21869 create the directory for it now throws DatabaseCreateError not 21870 DatabaseOpeningError. 21871 * tests/api_db.cc: Update test cases. 21872 21873Wed Sep 12 15:40:16 BST 2007 Olly Betts <olly@survex.com> 21874 21875 * backends/flint/flint_database.cc,backends/flint/flint_database.h: 21876 If we reach the flush threshold during a transaction, flush the 21877 postlist changes, but don't actually commit them. 21878 21879Wed Sep 12 14:12:52 BST 2007 Olly Betts <olly@survex.com> 21880 21881 * common/msvc_posix_wrapper.cc,common/msvc_posix_wrapper.h: Add 21882 msvc_posix_rename() which can rename a file on top of another file. 21883 * common/stringutils.h: Add common_prefix_length() function. 21884 * backends/flint/: Clean up FlintWritableDatabase - it now just 21885 inherits from FlintDatabase which allows several virtual methods 21886 which just forwarded to FlintDatabase to be dropped. Also, we 21887 now no longer need to pass FlintTable objects to other classes 21888 - they can just find the tables they want via the database pointer. 21889 The never-used "store_termfreqs" flag has been dropped from the 21890 termlist table entries - existing 1.0.x flint databases will be 21891 automatically upgraded to the new version. Opening a database 21892 now calls stat() less, so should be slightly more efficient. 21893 And TermIterator::positionlist_count() now works for the flint 21894 backend. 21895 * tests/Makefile.am,tests/api_db.cc,tests/testdata/flint-1.0.2/: New 21896 test flintbackwardcompat2 which tests that we can open a flint 21897 database from 1.0.2. 21898 * tests/api_wrdb.cc: New test adddoc4 which checks that termlists 21899 handle an initial term of any valid length correctly. 21900 * tests/testdata/flint-1.0.1/postlist.DB: Mark as a binary file in 21901 SVN. 21902 21903Tue Sep 11 23:02:56 BST 2007 Olly Betts <olly@survex.com> 21904 21905 * backends/inmemory/inmemory_database.cc, 21906 backends/inmemory/inmemory_database.h: Implement 21907 TermIterator::positionlist_count() for the inmemory backend. 21908 * tests/api_posdb.cc: Add feature test for 21909 TermIterator::positionlist_count() (which currently skips for all 21910 backends except inmemory). 21911 21912Tue Sep 11 03:43:30 BST 2007 Olly Betts <olly@survex.com> 21913 21914 * backends/flint/flint_database.cc: Make sure flush_threshold gets 21915 initialised. 21916 * backends/flint/flint_database.h: Change type of flush_threshold from 21917 `size_t' to `Xapian::doccount' for consistency with the type of 21918 changes_made. 21919 21920Tue Sep 11 03:19:37 BST 2007 Richard Boulton <richard@lemurconsulting.com> 21921 21922 * backends/flint/flint_database.cc,backends/flint/flint_database.h: 21923 Change flush_threshold from static to non-static, and set it for 21924 each FlintWritableDatabase based on the value of the 21925 XAPIAN_FLUSH_THRESHOLD environment variable at the time the 21926 database was opened, instead of caching the value for each future 21927 database which is opened. 21928 21929Tue Sep 11 02:59:45 BST 2007 Olly Betts <olly@survex.com> 21930 21931 * docs/Makefile.am: When running rst2html, use "--exit-status=warning" 21932 rather than "--strict". The former actually gives a non-zero exit 21933 status for a warning or worse, while the former doesn't, but does 21934 include any "info" messages in the output HTML. 21935 21936Tue Sep 11 02:38:30 BST 2007 Olly Betts <olly@survex.com> 21937 21938 * docs/deprecation.rst: Add "Database::positionlist_begin() throwing 21939 RangeError". 21940 21941Tue Sep 11 00:52:27 BST 2007 Olly Betts <olly@survex.com> 21942 21943 * HACKING: Document a few more "coding standards". 21944 21945Mon Sep 10 21:34:23 BST 2007 Olly Betts <olly@survex.com> 21946 21947 * examples/delve.cc,examples/simpleexpand.cc,net/tcpserver.cc, 21948 queryparser/queryparser.cc,queryparser/queryparser.lemony: Add more 21949 missing "#include <string.h>" instances. 21950 21951Mon Sep 10 20:24:25 BST 2007 Olly Betts <olly@survex.com> 21952 21953 * net/serialise.cc: Add missing "#include <string.h>". 21954 21955Sun Sep 09 15:38:11 BST 2007 Olly Betts <olly@survex.com> 21956 21957 * backends/flint/flint_spelling.h,backends/flint/flint_synonym.h, 21958 backends/flint/flint_table.h: Fix typo (Z_DEFAULT_COMPRESSION 21959 where it should be Z_DEFAULT_STRATEGY) which meant that zlib 21960 compression wasn't enabled for the spelling or synonym tables. 21961 21962Fri Sep 07 19:31:44 BST 2007 Olly Betts <olly@survex.com> 21963 21964 * docs/spelling.rst: Fix typo. 21965 21966Thu Sep 06 15:02:43 BST 2007 Richard Boulton <richard@lemurconsulting.com> 21967 21968 * api/editdistance.cc: Fix off-by-one error in loop bounds when 21969 setting up fkp array initially. Fixes bug #194. 21970 * tests/api_wrdb.cc: Add regression test for #194, spell5. 21971 21972Thu Sep 06 14:31:15 BST 2007 Olly Betts <olly@survex.com> 21973 21974 * tests/harness/testsuite.cc: More localised fix for preserving the 21975 start of the valgrind report when in verbose mode. Rework the code 21976 which pulls out the start of the report to summarise why the test 21977 failed. 21978 21979Thu Sep 06 14:17:44 BST 2007 Richard Boulton <richard@lemurconsulting.com> 21980 21981 * tests/harness/testsuite.cc: When displaying valgrind output, seek 21982 back to the start of the valgrind output for the current test 21983 before dumping it to stdout: previously, the earlier check for the 21984 valgrind error message to display (when not using -v) caused the 21985 first 1024 bytes of the valgrind output to get dropped. 21986 21987Tue Sep 04 20:13:29 BST 2007 Richard Boulton <richard@lemurconsulting.com> 21988 21989 * matcher/multimatch.cc: For remote submatches, keep a count of 21990 matches which we know exist, but we don't get passed from the 21991 submatch. These can be detected by checking for the lowerbound 21992 on the matches in the submatch being greater than the index of 21993 the last item in the returned submset. When the match is over, 21994 use this count, together with docs_matched, to adjust the lower 21995 bound and estimate (and upper bound, if we've not seen as many 21996 documents as we were asked to check for). Fixes checkatleast2 21997 and checkatleast3 in the remote database case. 21998 * tests/harness/testsuite.h: Add TEST_GREATER_OR_EQUAL, 21999 TEST_GREATER, TEST_LESSER_OR_EQUAL and TEST_LESSER macros, which 22000 display the values of the arguments if they fail. 22001 * tests/api_anydb.cc: Use TEST_GREATER_OR_EQUAL and TEST_EQUAL in 22002 checkatleast2 and checkatleast3, to make failures easier to 22003 debug. 22004 22005Tue Sep 04 18:16:49 BST 2007 Olly Betts <olly@survex.com> 22006 22007 * matcher/multimatch.cc: Restructure to make the control flow clearer. 22008 Rewrap some comments which got wrapped to ~82 columns somehow. 22009 22010Tue Sep 04 17:21:49 BST 2007 Olly Betts <olly@survex.com> 22011 22012 * docs/overview.html: Restore the HTML header I accidentally deleted 22013 in November 2006. 22014 22015Tue Sep 04 17:15:30 BST 2007 Olly Betts <olly@survex.com> 22016 22017 * docs/overview.html: Fix typo. 22018 22019Tue Sep 04 13:47:27 BST 2007 Richard Boulton <richard@lemurconsulting.com> 22020 22021 * tests/api_anydb.cc: Tighten test_checkatleast3 to check for 22022 previous bug (now fixed). 22023 22024Tue Sep 04 13:37:01 BST 2007 Richard Boulton <richard@lemurconsulting.com> 22025 22026 * matcher/multimatch.cc: If check_at_least is greater than 22027 maxitems, but there are fewer results than check_at_least, the 22028 lower and upper bounds reported should be equal (and exact). Fix 22029 a bug which caused this not to be the case, by checking if 22030 docs_matched < check_at_least, and forcing the bounds (and 22031 estimate) to be docs_matched in this case. 22032 22033 Also, fix a bug when sorting by anything other than relevance, 22034 which was causing potential matches which are too low in the 22035 ranking to make the mset not to be added to the count of 22036 docs_matched, even when docs_matched < check_at_least. 22037 22038 Also, add a few extra explanatory comments and debug log messages 22039 in get_mset(). 22040 22041Tue Sep 04 12:43:03 BST 2007 Olly Betts <olly@survex.com> 22042 22043 * PLATFORMS: Update from debian buildd logs. 22044 22045Tue Sep 04 09:57:25 BST 2007 Richard Boulton <richard@lemurconsulting.com> 22046 22047 * Makefile.am,configure.ac,msvc/genversion.pl,msvc/version.h.in: 22048 Move msvc/genversion.pl and msvc/version.h.in to win32msvc in 22049 xapian-maintainer-tools. Remove generation of msvc/version.h 22050 from configure.in, and AC_SUBST() of MAJOR_VERSION, 22051 MINOR_VERSION and REVISION, which were only in place for this 22052 generation. Remove msvc/version.h from distribution tarballs. 22053 22054Tue Sep 04 02:56:00 BST 2007 Olly Betts <olly@survex.com> 22055 22056 * matcher/andpostlist.cc: If the database has > 2G documents then the 22057 sum of termfreq_min can overflow, so handle this case correctly. 22058 22059Tue Sep 04 00:05:47 BST 2007 Olly Betts <olly@survex.com> 22060 22061 * xapian-config.in: We always need to include dependency_libs in the 22062 output of `xapian-config --libs` if shared libraries are disabled. 22063 22064Mon Sep 03 16:28:33 BST 2007 Olly Betts <olly@survex.com> 22065 22066 * bin/xapian-check.cc: Allow "xapian-check db/record." and 22067 "xapian-check db/record.DB". 22068 22069Mon Sep 03 02:16:43 BST 2007 Olly Betts <olly@survex.com> 22070 22071 * docs/deprecation.rst,include/xapian/enquire.h: Deprecate 22072 Enquire::register_match_decider(). 22073 * api/omenquire.cc,common/omenquireinternal.h: Remove mdecider_map 22074 since the set values are never used anywhere. 22075 22076Sun Sep 02 20:54:33 BST 2007 Olly Betts <olly@survex.com> 22077 22078 * HACKING: Add "update the 1.0.N tracker bug" to the release 22079 checklist. 22080 22081Fri Aug 31 10:44:19 BST 2007 Richard Boulton <richard@lemurconsulting.com> 22082 22083 * tests/api_db.cc,tests/api_wrdb.cc: Fix compilation of apitest, 22084 which was broken on 64 bit platforms due to size_t instead of 22085 doccount bug. 22086 22087Fri Aug 24 11:56:18 BST 2007 Richard Boulton <richard@lemurconsulting.com> 22088 22089 * api/matchspy.cc,include/xapian/matchspy.h: Fix uses of size_t 22090 which should have been Xapian::doccount. Was causing compile 22091 errors on platforms where size_t and Xapian::doccount were 22092 different sizes. 22093 22094Fri Aug 03 20:10:15 BST 2007 Richard Boulton <richard@lemurconsulting.com> 22095 22096 * tests/api_nodb.cc: Add test_stringlistserialise1() to test the 22097 StringListSerialiser and StringListUnserialiser. Change the list 22098 of testcases to use the TESTCASE and END_OF_TESTCASES macros. 22099 22100Fri Aug 03 19:53:26 BST 2007 Richard Boulton <richard@lemurconsulting.com> 22101 22102 * api/matchspy.cc,include/xapian/matchspy.h: Add StringListSerialiser 22103 and StringListUnserialiser classes which can be used to serialise 22104 a list of strings into a single string. Add flag to 22105 ValueCountMatchSpy to use this to unserialise the values read 22106 from the database into multiple strings, allowing several values 22107 to be stored for a particular slot in a database: this allows 22108 multiple values of a particular facet to be stored. 22109 22110Thu Jul 26 16:55:18 BST 2007 Richard Boulton <richard@lemurconsulting.com> 22111 22112 * backends/flint/flint_table.cc: Change STRINGIZE to om_tostring() 22113 in error message about a key which is too long; STRINGIZE doesn't 22114 work since FLINT_BTREE_MAX_KEY_LEN is no longer a preprocessor 22115 constant - it's a C++ constant; before this change, the error 22116 message contained the literal text "FLINT_BTREE_MAX_KEY_LEN". 22117 22118Tue Jul 17 12:20:55 BST 2007 Richard Boulton <richard@lemurconsulting.com> 22119 22120 * api/matchspy.cc,include/xapian/matchspy.h: Add a 22121 MultipleMatchDecider, which calls a list of deciders in order, 22122 until one returns false. 22123 * include/xapian/enquire.h: Expand comment to say which way round 22124 the return values of the MatchDecider operator are. 22125 * tests/api_db.cc: Add test_matchfunctor3() to test the 22126 MultipleMatchDecider - also tests the ValueCountMatchSpy, 22127 incidentally. 22128 22129Tue Jul 17 11:10:42 BST 2007 Richard Boulton <richard@lemurconsulting.com> 22130 22131 * api/matchspy.cc,include/xapian/matchspy.h: Make 22132 get_most_frequent_items() private, since I'm not convinced it's 22133 useful to make it available externally. We can always make it 22134 public again if it's useful to do so. 22135 * test/api_wrdb.cc: Update tests accordingly. 22136 22137Sat Jul 14 00:17:06 BST 2007 Richard Boulton <richard@lemurconsulting.com> 22138 22139 * api/matchspy.cc,include/xapian/matchspy.h: Get rid of the 22140 TopValueMatchSpy in favour of a new function 22141 "get_most_frequent_items", which processes the output of a 22142 ValueCountMatchSpy. Add a TermCountMatchSpy which counts the 22143 occurrences of terms with a given prefix, and gives output in 22144 the same form as ValueCountMatchSpy. Add convenience methods 22145 ValueCountMatchSpy::get_top_values() and 22146 TermCountMatchSpy::get_top_terms() which use this to return the 22147 most frequent items seen by the matchspy. 22148 * tests/api_wrdb.cc: Test the ValueCountMatchSpy, and the 22149 get_most_frequent_items() function. 22150 22151Fri Jul 13 18:57:30 BST 2007 Richard Boulton <richard@lemurconsulting.com> 22152 22153 * matcher/andpostlist.cc,tests/api_anydb.cc: Improve the lower 22154 bound on the number of matching documents for an AND query - if 22155 the sum of the lower bounds for the two sides is greater than the 22156 number of documents in the database, then some of them must have 22157 both terms. This greatly improves the lower bound for queries of 22158 the form "<alldocuments> FILTER foo" (since FILTER is a subclass 22159 of AND, and uses the same method), but is probably a useful 22160 improvement elsewhere. 22161 22162Fri Jul 13 17:53:46 BST 2007 Richard Boulton <richard@lemurconsulting.com> 22163 22164 * docs/valueranges.rst: Correct out-of-date reference to 22165 float_to_string, spotted by Enrico Zini. 22166 22167Wed Jul 11 22:54:43 BST 2007 Richard Boulton <richard@lemurconsulting.com> 22168 22169 * api/matchspy.cc,include/xapian/matchspy.h,tests/api_wrdb.cc: 22170 Move ValueAndFrequency out of the TopValueMatchSpy class - it 22171 doesn't seem to be possible to wrap it with swig without doing 22172 this, and it doesn't seem much less tidy. 22173 22174Wed Jul 11 18:03:18 BST 2007 Richard Boulton <richard@lemurconsulting.com> 22175 22176 * api/matchspy.cc,include/xapian/matchspy.h: Split MatchSpy into a 22177 base class (ValueCountMatchSpy), which just counts the values in 22178 the documents it sees, and a subclass (CategorySelectMatchSpy) 22179 which does the grouping into categories, and scores the 22180 categories. Add another subclass (TopValueMatchSpy) which 22181 calculates a sorted vector holding the most frequent values. 22182 * tests/api_wrdb.cc: Update matchspy1 and matchspy2 to use 22183 CategorySelectMatchSpy instead of MatchSpy, and corresponding 22184 changes to the methods. Add matchspy3 to test the 22185 TopValueMatchSpy. 22186 22187Mon Jul 09 15:40:58 BST 2007 Richard Boulton <richard@lemurconsulting.com> 22188 22189 * tests/termgentest.cc: Fix copyright: everything I've done in 2007 22190 has been for Lemur. 22191 22192Mon Jul 09 15:40:38 BST 2007 Richard Boulton <richard@lemurconsulting.com> 22193 22194 * include/xapian/version_h.cc: Fix type in comment. 22195 22196Fri Jul 06 12:14:48 BST 2007 Richard Boulton <richard@lemurconsulting.com> 22197 22198 * include/xapian/enquire.h: Add note to register_match_decider() 22199 documentation comment of what this function is for, and also that 22200 it doesn't currently do anything (other than store the values 22201 passed to it in the enquire internals). 22202 22203Thu Jul 05 20:52:52 BST 2007 Richard Boulton <richard@lemurconsulting.com> 22204 22205 * docs/categorisation.rst: Fix typo. 22206 22207Thu Jul 05 20:41:49 BST 2007 Richard Boulton <richard@lemurconsulting.com> 22208 22209 * tests/api_wrdb.cc: Rework matchspy2 to use approximate values to 22210 avoid failing on some platform due to differing precision. 22211 22212Thu Jul 05 12:21:48 BST 2007 Olly Betts <olly@survex.com> 22213 22214 * docs/categorisation.rst: Complete half sentence. 22215 22216Thu Jul 05 12:17:20 BST 2007 Olly Betts <olly@survex.com> 22217 22218 * docs/categorisation.rst: Add section on restricting by category 22219 values. 22220 22221Thu Jul 05 04:47:18 BST 2007 Olly Betts <olly@survex.com> 22222 22223 * docs/Makefile.am,docs/categorisation.rst: Add topic document 22224 discussing use of Xapian::MatchSpy. 22225 22226Thu Jul 05 02:08:13 BST 2007 Olly Betts <olly@survex.com> 22227 22228 * include/xapian.h,tests/api_wrdb.cc: Restore MatchSpy stuff. 22229 22230Thu Jul 05 01:38:38 BST 2007 Olly Betts <olly@survex.com> 22231 22232 * HACKING: Note that RoadMap on the wiki needs updating for each 22233 release. 22234 22235Thu Jul 05 01:03:05 BST 2007 Olly Betts <olly@survex.com> 22236 22237 * AUTHORS: Update. 22238 22239Thu Jul 05 00:31:00 BST 2007 Olly Betts <olly@survex.com> 22240 22241 * NEWS: Minor tweaks and clarifications. 22242 22243Thu Jul 05 00:29:53 BST 2007 Olly Betts <olly@survex.com> 22244 22245 * include/xapian.h,tests/api_wrdb.cc: Disable MatchSpy class for 1.0.2 22246 as it's not ready for release yet. 22247 22248Wed Jul 04 21:20:59 BST 2007 Richard Boulton <richard@lemurconsulting.com> 22249 22250 * NEWS: Update with release date for release 1.0.2 22251 22252Wed Jul 04 21:09:18 BST 2007 Richard Boulton <richard@lemurconsulting.com> 22253 22254 * AUTHORS: Add Tomek Jackowiak, for reporting bug #166 (missing 22255 Xapian::Query documentation). 22256 22257Wed Jul 04 20:45:56 BST 2007 Olly Betts <olly@survex.com> 22258 22259 * configure.ac: Updated version and library version for 1.0.2. 22260 22261Wed Jul 04 20:36:07 BST 2007 Olly Betts <olly@survex.com> 22262 22263 * api/matchspy.cc,include/xapian/matchspy.h,tests/api_wrdb.cc: 22264 Tidy up API for MatchSpy::build_numeric_ranges() and add tests. 22265 22266Wed Jul 04 19:40:31 BST 2007 Richard Boulton <richard@lemurconsulting.com> 22267 22268 * NEWS: Fully updated. 22269 22270Wed Jul 04 18:33:59 BST 2007 Richard Boulton <richard@lemurconsulting.com> 22271 22272 * NEWS: Move some of the changelog entries into news-style comments. 22273 22274Wed Jul 04 17:50:19 BST 2007 Richard Boulton <richard@lemurconsulting.com> 22275 22276 * tests/api_wrdb.cc: SKIP_TEST() spell3 on windows - it doesn't 22277 work there due to trying to delete (and then overwrite) an open 22278 database. We shouldn't be doing this, so add a long FIXME 22279 explaining what we should be doing instead. 22280 22281Wed Jul 04 17:27:22 BST 2007 Olly Betts <olly@survex.com> 22282 22283 * NEWS: Partly update. 22284 22285Wed Jul 04 17:19:51 BST 2007 Olly Betts <olly@survex.com> 22286 22287 * AUTHORS: Add Simon Tatham for spotting the -INFINITY issue, and for 22288 a lot of useful advice during the CVS to SVN transition. 22289 22290Wed Jul 04 17:16:59 BST 2007 Olly Betts <olly@survex.com> 22291 22292 * api/,include/xapian/queryparser.h,tests/queryparsertest.cc: Rename 22293 Xapian::NumberValueRangeProcessor::float_to_string() to 22294 Xapian::sortable_serialise() and 22295 Xapian::NumberValueRangeProcessor::string_to_float() to 22296 Xapian::sortable_unserialise(). 22297 22298Wed Jul 04 17:16:16 BST 2007 Olly Betts <olly@survex.com> 22299 22300 * HACKING: Add rationale for 2 space indents for "public", etc. 22301 22302Wed Jul 04 14:09:57 BST 2007 Olly Betts <olly@survex.com> 22303 22304 * tests/queryparsertest.cc: Loops on integers and scale to doubles 22305 rather than looping on doubles and scaling to get integers. 22306 22307Wed Jul 04 13:01:11 BST 2007 Olly Betts <olly@survex.com> 22308 22309 * tests/queryparsertest.cc: If the NumberValueRangeProcessor 22310 string encodings don't sort the same way, there's no need to report 22311 the string encodings in the error message as they are written to 22312 "tout" just before, along with the respective numbers they came 22313 from. The string encodings can contain control characters, so are 22314 liable to corrupt the test failure message. 22315 22316Wed Jul 04 12:25:15 BST 2007 Richard Boulton <richard@lemurconsulting.com> 22317 22318 * api/valuerangeproc.cc: Fix encoding of extremely large, negative, 22319 non-IEEE representation to be -INFINITY, not +INFINITY. Thanks 22320 to Simon Tatham for pointing this out. 22321 * include/xapian/queryparser.h: Add a documentation comment note 22322 that zero and -zero will be transformed to the same value. 22323 22324Wed Jul 04 10:09:33 BST 2007 Richard Boulton <richard@lemurconsulting.com> 22325 22326 * api/valuerangeproc.cc: Change encoding used for doubles to a much 22327 more compact scheme, and add support for +-INFINITY. Also, some 22328 other tweaks to avoid unnecessary computation. 22329 * tests/queryparsertest.cc: Update test cases to expect new 22330 encoding of doubles, and add values for INFINITY and DBL_MAX and 22331 some other special numbers to the list of numbers that are 22332 specifically checked. 22333 22334Wed Jul 04 03:29:10 BST 2007 Olly Betts <olly@survex.com> 22335 22336 * api/matchspy.cc,include/xapian/matchspy.h,tests/api_wrdb.cc: 22337 Category score now explicitly weights for having nearer the 22338 requested number of categories. Category score is now normalised 22339 so values should be roughly comparable between different sized 22340 collections. Add untested code to build ranges. 22341 22342Wed Jul 04 00:48:07 BST 2007 Olly Betts <olly@survex.com> 22343 22344 * bin/xapian-compact.cc: Add new "--no-renumber" option to preserve 22345 document ids from source databases. Fix bug in change to add 22346 support for spelling and synonym tables which was preventing any 22347 renumbering from happening! 22348 22349Wed Jul 04 00:25:52 BST 2007 Olly Betts <olly@survex.com> 22350 22351 * backends/inmemory/inmemory_database.cc, 22352 backends/inmemory/inmemory_database.h,tests/api_wrdb.cc: Fix bug in 22353 inmemory backend - using replace_document() to add a document with a 22354 specific document id above the highest currently used would create 22355 empty documents for all document ids in between. 22356 22357Tue Jul 03 09:27:36 BST 2007 Richard Boulton <richard@lemurconsulting.com> 22358 22359 * HACKING: Add note that protection level declarations in classes 22360 and structs should only be indented by 2 spaces. 22361 22362Tue Jul 03 03:53:11 BST 2007 Olly Betts <olly@survex.com> 22363 22364 * api/Makefile.mk,api/matchspy.cc,include/xapian/matchspy.h, 22365 tests/api_wrdb.cc: Add MatchSpy method to score how good a 22366 categorisation is. 22367 22368Tue Jul 03 01:24:19 BST 2007 Olly Betts <olly@survex.com> 22369 22370 * include/xapian/queryparser.h: Replace `#include <xapian/stem.h>' 22371 with forward declaration of Stem. 22372 22373Tue Jul 03 01:14:12 BST 2007 Olly Betts <olly@survex.com> 22374 22375 * include/xapian/errorhandler.h: Replace `#include <xapian/error.h>' 22376 with forward declaration of Error. 22377 * api/errorhandler.cc: Now needs to explicitly `#include 22378 <xapian/error.h>'. 22379 22380Tue Jul 03 01:08:30 BST 2007 Olly Betts <olly@survex.com> 22381 22382 * include/xapian/dbfactory.h: Replace `#include <xapian/database.h>' 22383 with forward declarations of Database and WritableDatabase. 22384 22385Tue Jul 03 00:59:57 BST 2007 Olly Betts <olly@survex.com> 22386 22387 * include/xapian/enquire.h: Remove `#include <xapian/error.h>'. 22388 22389Mon Jul 02 23:25:55 BST 2007 Olly Betts <olly@survex.com> 22390 22391 * include/Makefile.mk,include/xapian.h,include/xapian/matchspy.h, 22392 tests/api_wrdb.cc: Implement "MatchSpy" class to tally values 22393 in matching documents. 22394 22395Mon Jul 02 18:15:18 BST 2007 Olly Betts <olly@survex.com> 22396 22397 * api/omenquire.cc,include/xapian/enquire.h: Fix last change to 22398 preserve ABI compatibility. 22399 22400Mon Jul 02 17:52:10 BST 2007 Olly Betts <olly@survex.com> 22401 22402 * api/omenquire.cc,common/multimatch.h,common/omenquireinternal.h, 22403 include/xapian/enquire.h,matcher/multimatch.cc,net/remoteserver.cc, 22404 tests/api_db.cc: Add support for a "matchspy" - a MatchDecider which 22405 is documented to be tested on ever candidate document. We plan to 22406 optimise the current matchdecider to be used as little as possible. 22407 22408Mon Jul 02 17:35:12 BST 2007 Olly Betts <olly@survex.com> 22409 22410 * tests/api_db.cc: Enhance matchfunctor1 to test that the functor 22411 returns ALL matching documents, not just that all documents returned 22412 match. 22413 22414Mon Jul 02 16:36:57 BST 2007 Richard Boulton <richard@lemurconsulting.com> 22415 22416 * common/omassert.h: Fix to avoid warning in gcc-snapshot; use 22417 do{}while(0) to protect assertions, and remove the old "if (a) {} 22418 else {fail}" constructions which tried to do the same job. 22419 22420Mon Jul 02 14:56:58 BST 2007 Richard Boulton <richard@lemurconsulting.com> 22421 22422 * bin/xapian-inspect.cc: Add missing #include of <stdio.h> - fixes 22423 gcc-2.95 compilation. 22424 22425Mon Jul 02 14:54:50 BST 2007 Richard Boulton <richard@lemurconsulting.com> 22426 22427 * queryparser/termgenerator_internal.h: Fix for gcc-2.95 22428 compilation. 22429 22430Mon Jul 02 14:09:22 BST 2007 Olly Betts <olly@survex.com> 22431 22432 * api/Makefile.mk,api/valuerangeproccompat.cc, 22433 include/xapian/queryparser.h: Put the new NumberValueRangeProcessor 22434 in a sub-namespace which we then import it from. Restore the old 22435 NumberValueRangeProcessor implementation inside the library so that 22436 it is available to code linked against 1.0.0 or 1.0.1 to keep ABI 22437 compatibility. 22438 22439Sun Jul 01 15:32:30 BST 2007 Olly Betts <olly@survex.com> 22440 22441 * include/xapian/queryparser.h: Clearer description of 22442 NumberValueRangeProcessor. Don't document the number format in 22443 terms of strtod() - that's a bug, not a feature we want to be tied 22444 to. 22445 * include/xapian/query.h,include/xapian/queryparser.h: Use "@a" not 22446 "\a" for consistency with existing usage. 22447 22448Sun Jul 01 10:09:42 BST 2007 Richard Boulton <richard@lemurconsulting.com> 22449 22450 * matcher/localmatch.cc: When registering a term, check if it's 22451 empty, and if so use the document count as the term frequency, 22452 rather than calling the database to get the term frequency of an 22453 empty term (most database backends have an assertion that the 22454 term is not empty, and an empty term isn't a valid parameter to 22455 pass to get_termfreq() anyway). 22456 * matcher/multimatch.cc: For MatchAll queries, the "" term will not 22457 be found in the termlist of the top document, so check if a "" 22458 term is present in the query, and use it to increase the 22459 percent_scale if so. This fixes an Assertion which checked that 22460 percent_scale was not 0. 22461 * tests/api_db.cc: Add test_matchall1() which tests running a query 22462 with a MatchAll query. 22463 * tests/api_nodb.cc: Rename test_emptyquery1 and test_emptyquery2 22464 to test_emptyquery2 and test_emptyquery3, respectively. There 22465 was already a (different) test_emptyquery1 in api_anydb.cc. 22466 22467Sat Jun 30 18:04:06 BST 2007 Olly Betts <olly@survex.com> 22468 22469 * tests/queryparsertest.cc: Write `2.0' rather than `(double)2'. 22470 22471Sat Jun 30 16:12:49 BST 2007 Olly Betts <olly@survex.com> 22472 22473 * docs/valueranges.rst: Fix typo. Fix ".. note:" to ".. note::" so 22474 it appears visibly in the HTML output rather than in an HTML 22475 comment! 22476 22477Sat Jun 30 15:14:33 BST 2007 Olly Betts <olly@survex.com> 22478 22479 * api/omdocument.cc,common/document.h,include/xapian/document.h: 22480 Add Xapian::Document::get_docid() method. 22481 22482Sat Jun 30 04:00:57 BST 2007 Olly Betts <olly@survex.com> 22483 22484 * matcher/multimatch.cc: If there's only one term in the query (a 22485 pretty common case) we don't need to look at the top document's 22486 termlist to determine that it matches all the query terms. 22487 22488Sat Jun 30 00:37:09 BST 2007 Olly Betts <olly@survex.com> 22489 22490 * INSTALL: Add note that zlib must be installed before you can build 22491 Xapian. 22492 22493Fri Jun 29 22:40:58 BST 2007 Olly Betts <olly@survex.com> 22494 22495 * backends/flint/: If doccount == lastdocid, all document ids up to 22496 lastdocid are used, so we provide a special really efficient version 22497 implementation of iterating all documents for this common case for 22498 flint. 22499 22500Fri Jun 29 00:39:04 BST 2007 Olly Betts <olly@survex.com> 22501 22502 * common/stringutils.h: Add startswith() and endswith() overloads 22503 which take a single character. 22504 * backends/flint/flint_spellingwordslist.cc,bin/xapian-inspect.cc: 22505 Use new forms. 22506 * backends/flint/flint_spellingwordslist.cc: Fix comment typo. 22507 22508Thu Jun 28 21:43:49 BST 2007 Olly Betts <olly@survex.com> 22509 22510 * backends/flint/flint_spellingwordslist.cc: Another begins_with() 22511 which I somehow missed. 22512 22513Thu Jun 28 19:51:03 BST 2007 Olly Betts <olly@survex.com> 22514 22515 * api/valuerangeproc.cc,backends/flint/flint_alltermslist.cc, 22516 backends/flint/flint_synonym.cc, 22517 backends/inmemory/inmemory_alltermslist.cc, 22518 backends/quartz/quartz_alltermslist.cc, 22519 backends/quartz/quartz_metafile.cc,bin/xapian-inspect.cc, 22520 common/stringutils.h,tests/harness/testsuite.cc: Rename 22521 begins_with() to startswith() and ends_with() to endswith() for 22522 consistency with Python string operations. 22523 22524Thu Jun 28 18:49:50 BST 2007 Olly Betts <olly@survex.com> 22525 22526 * queryparser/queryparser.lemony: Don't put a Z prefix on terms if the 22527 stemmer is "none", which matches what TermGenerator generates. 22528 22529Thu Jun 28 02:22:04 BST 2007 Olly Betts <olly@survex.com> 22530 22531 * api/omqueryinternal.cc: Don't SEGV when Query::MatchNothing is used 22532 with OP_AND_NOT (fixes bug#176). 22533 * tests/api_nodb.cc: Add regression test emptyquery2. 22534 * AUTHORS: Thank bug reporter (Krzysztof Klemm). 22535 22536Wed Jun 27 13:05:55 BST 2007 Richard Boulton <richard@lemurconsulting.com> 22537 22538 * NEWS: Updated. 22539 22540Wed Jun 27 13:04:19 BST 2007 Richard Boulton <richard@lemurconsulting.com> 22541 22542 * examples/copydatabase.cc: Add support for copying the spelling 22543 data. 22544 22545Wed Jun 27 12:46:54 BST 2007 Richard Boulton <richard@lemurconsulting.com> 22546 22547 * NEWS: Updated. 22548 22549Wed Jun 27 12:13:50 BST 2007 Olly Betts <olly@survex.com> 22550 22551 * bin/xapian-check.cc: Check spelling and synonym Btrees. 22552 22553Wed Jun 27 12:10:47 BST 2007 Olly Betts <olly@survex.com> 22554 22555 * bin/xapian-compact.cc: Add merging for spelling and synonym tables. 22556 22557Wed Jun 27 12:09:34 BST 2007 Olly Betts <olly@survex.com> 22558 22559 * backends/flint/flint_spelling.cc: Fix PrefixCompressedStringItor to 22560 not ignore the last entry. 22561 * tests/api_wrdb.cc: Regression test (spell4). 22562 22563Wed Jun 27 11:51:10 BST 2007 Olly Betts <olly@survex.com> 22564 22565 * tests/api_wrdb.cc: Remove bogus comment. 22566 22567Wed Jun 27 04:12:56 BST 2007 Olly Betts <olly@survex.com> 22568 22569 * backends/flint/flint_cursor.h: Make FlintCursor::after_end() const. 22570 22571Tue Jun 26 22:31:24 BST 2007 Richard Boulton <richard@lemurconsulting.com> 22572 22573 * tests/api_wrdb.cc: Add test_spell3(), which tests spelling 22574 correction with multi databases, and the results of the iterator 22575 from Database::spellings_begin() with single and multi databases. 22576 22577Tue Jun 26 20:51:13 BST 2007 Richard Boulton <richard@lemurconsulting.com> 22578 22579 * api/omtermlistiterator.cc: Handle pruning, so that multi-database 22580 spelling word iterators work. Pruning should arguably always 22581 have been handled, but it's never been possible for the TermList 22582 passed to TermIterator to prune before, so it's not been an 22583 issue. 22584 22585Tue Jun 26 20:50:06 BST 2007 Richard Boulton <richard@lemurconsulting.com> 22586 22587 * backends/flint/flint_spellingwordslist.h: Don't bother testing 22588 whether we found an entry which was exactly "W" - if we do, the 22589 database is corrupt, but the best recovery strategy would just be 22590 to continue at the next matching entry. 22591 22592Tue Jun 26 20:26:03 BST 2007 Richard Boulton <richard@lemurconsulting.com> 22593 22594 * api/omdatabase.cc: Remove mistaken skip_to("W") - should be done 22595 by open_spelling_wordlist() rather than here. 22596 * backends/flint/flint_spellingwordslist.h: Only call 22597 cursor->prev() if find_entry("W") finds an entry. 22598 22599Tue Jun 26 17:46:27 BST 2007 Richard Boulton <richard@lemurconsulting.com> 22600 22601 * backends/flint/flint_alltermslist.cc, 22602 backends/flint/flint_spellingwordslist.cc, 22603 backends/flint/flint_synonym.cc: Remove calls to abort() which 22604 are followed immediately by an Assert() which checks the same 22605 condition. 22606 22607Tue Jun 26 17:26:02 BST 2007 Richard Boulton <richard@lemurconsulting.com> 22608 22609 * include/xapian/database.h: Add spellings_begin() and 22610 spellings_end(), to iterate through the spelling correction 22611 target words. 22612 * api/omdatabase.cc: Implement spellings_begin(), using the newly 22613 added FreqAdderOrTermList to join the spellings lists. 22614 * common/database.h,backends/database.cc: Add 22615 open_spelling_wordlist() to get iterator of spelling targets, if 22616 any, with default implementation which returns NULL. 22617 * backends/flint/flint_database.h,backends/flint/flint_database.cc: 22618 Implement open_spelling_wordlist() for flint. 22619 * backends/flint/flint_spelling.h: Make merge_changes() public, so 22620 it can be called when a writable database needs to open a 22621 spelling wordlist. 22622 * backends/flint/flint_spellingwordslist.h, 22623 backends/flint/flint_spellingwordslist.cc: New files, 22624 implementing an iterator over the spelling targets. 22625 22626Tue Jun 26 17:25:09 BST 2007 Richard Boulton <richard@lemurconsulting.com> 22627 22628 * common/ortermlist.h,expand/ortermlist.cc: Add a 22629 "FreqAdderOrTermList", which adds the term frequencies of the 22630 sublists, rather than requiring that they're equal for terms 22631 which are in both. 22632 22633Tue Jun 26 17:22:03 BST 2007 Olly Betts <olly@survex.com> 22634 22635 * docs/admin_notes.rst: Update to mention spelling and synonym tables, 22636 and to document optional tables more clearly. 22637 22638Tue Jun 26 16:23:25 BST 2007 Olly Betts <olly@survex.com> 22639 22640 * tests/termgentest.cc: Add feature test for TermGenerator spelling 22641 integration. 22642 22643Tue Jun 26 16:14:56 BST 2007 Olly Betts <olly@survex.com> 22644 22645 * tests/termgentest.cc: Fix comment paste-o. 22646 22647Tue Jun 26 16:11:11 BST 2007 Olly Betts <olly@survex.com> 22648 22649 * include/xapian/termgenerator.h,queryparser/termgenerator.cc, 22650 queryparser/termgenerator_internal.cc, 22651 queryparser/termgenerator_internal.h: Add support for generating 22652 spelling data to TermGenerator class. 22653 22654Tue Jun 26 15:22:12 BST 2007 Olly Betts <olly@survex.com> 22655 22656 * bin/xapian-compact.cc: Don't skip "empty" source databases, as they 22657 may have spelling and/or synonym data. Warn if more than one source 22658 database has spelling data and ignore all but the first. Similarly 22659 warn and ignore for synonym data. 22660 22661Tue Jun 26 13:52:15 BST 2007 Olly Betts <olly@survex.com> 22662 22663 * examples/copydatabase.cc: Fix code which extracts the leafname to 22664 handle a trailing directory separator. 22665 * examples/copydatabase.cc: Copy synonym data across. Print warning 22666 that spelling data isn't copied (as there's no API to access it 22667 currently). 22668 22669Tue Jun 26 13:21:13 BST 2007 Olly Betts <olly@survex.com> 22670 22671 * bin/xapian-compact.cc: Fix to compact spelling and synonym tables. 22672 22673Tue Jun 26 02:20:50 BST 2007 Olly Betts <olly@survex.com> 22674 22675 * tests/api_wrdb.cc: Fix randomly indented line. 22676 22677Tue Jun 26 02:20:01 BST 2007 Olly Betts <olly@survex.com> 22678 22679 * include/xapian/document.h: Change parameter name for 22680 Document::get_value() to match other parameter names in the class. 22681 22682Tue Jun 26 02:19:16 BST 2007 Olly Betts <olly@survex.com> 22683 22684 * include/xapian/queryparser.h: FLAG_AUTO_MULTIWORD_SYNONYMS now 22685 implies FLAG_AUTO_SYNONYMS. 22686 22687Tue Jun 26 02:18:02 BST 2007 Olly Betts <olly@survex.com> 22688 22689 * tests/queryparsertest.cc: Add test for a single word synonym in 22690 multi-synonym mode. 22691 22692Tue Jun 26 02:08:47 BST 2007 Olly Betts <olly@survex.com> 22693 22694 * common/ortermlist.h,queryparser/termgenerator_internal.h: Fix 22695 warnings from Intel's C++ compiler. 22696 22697Tue Jun 26 01:45:09 BST 2007 Olly Betts <olly@survex.com> 22698 22699 * HACKING: Snapshots and releases are now bootstrapped with libtool 22700 1.5.24, which includes all the patches we were applying on top of 22701 1.5.22. 22702 * HACKING: Expand note about preferring pre-increment to 22703 post-increment to mention preferring it to adding one, and to cover 22704 decrementing too. 22705 22706Tue Jun 26 01:34:41 BST 2007 Olly Betts <olly@survex.com> 22707 22708 * backends/flint/flint_spelling.cc: Fix bug appending spelling data to 22709 an existing trigram. 22710 22711Tue Jun 26 01:34:07 BST 2007 Olly Betts <olly@survex.com> 22712 22713 * backends/flint/flint_database.cc: Fix handling of exceptions during 22714 commit. 22715 22716Mon Jun 25 17:01:40 BST 2007 Olly Betts <olly@survex.com> 22717 22718 * docs/spelling.rst: Update for Unicode spelling correction. 22719 22720Mon Jun 25 15:41:43 BST 2007 Olly Betts <olly@survex.com> 22721 22722 * api/editdistance.cc,api/editdistance.h,api/omdatabase.cc: 22723 Convert to UTF-32 before calculating edit distances. 22724 * tests/api_wrdb.cc: Add test coverage for Unicode spelling 22725 correction. 22726 22727Mon Jun 25 14:03:34 BST 2007 Olly Betts <olly@survex.com> 22728 22729 * tests/quartztest.cc: Remove tests for removed method 22730 QuartzPostList::get_collection_freq(). 22731 22732Mon Jun 25 12:32:07 BST 2007 Olly Betts <olly@survex.com> 22733 22734 * backends/flint/flint_spelling.cc: Replace abort() with exception 22735 throwing. 22736 22737Mon Jun 25 03:01:20 BST 2007 Olly Betts <olly@survex.com> 22738 22739 * tests/harness/backendmanager.cc: Track the fd used to communicate 22740 with a xapian-tcpsrv child process so we can close it when we reap 22741 the child pid. 22742 22743Mon Jun 25 02:44:04 BST 2007 Olly Betts <olly@survex.com> 22744 22745 * docs/valueranges.rst: Fix bad RST markup. 22746 22747Sun Jun 24 23:24:26 BST 2007 Olly Betts <olly@survex.com> 22748 22749 * tests/harness/backendmanager.cc: Fix memory leak in test harness 22750 launching of xapian-tcpsrv so that "apitest -b remotetcp" now passes 22751 under valgrind. 22752 22753Sun Jun 24 19:39:59 BST 2007 Richard Boulton <richard@lemurconsulting.com> 22754 22755 * docs/valueranges.rst: Add documentation for the 22756 NumberValueRangeProcessor, now that it is fixed. 22757 22758Sun Jun 24 14:29:06 BST 2007 Olly Betts <olly@survex.com> 22759 22760 * backends/remote/net_postlist.cc,backends/remote/net_postlist.h: 22761 Move NetworkPostList virtual methods out of the header. Move the 22762 constructor into the header, since that can be inlined. 22763 22764Sun Jun 24 14:15:43 BST 2007 Olly Betts <olly@survex.com> 22765 22766 * backends/flint/,backends/multi/multi_postlist.cc, 22767 backends/multi/multi_postlist.h,backends/quartz/, 22768 backends/remote/net_postlist.cc,backends/remote/net_postlist.h, 22769 backends/remote/remote-database.cc,common/emptypostlist.h, 22770 common/postlist.h,common/remote-database.h: For Flint and Quartz, 22771 refactor so we no longer create a postlist just to find the termfreq 22772 or collection frequency. These were the only places which used 22773 PostList::get_collection_freq(), so eliminate it (bug#124). 22774 22775Sun Jun 24 09:40:51 BST 2007 Richard Boulton <richard@lemurconsulting.com> 22776 22777 * msvc/genversion.pl: Add a script to generate the version.h file 22778 for MSVC builds by parsing configure.ac to extract the version 22779 number, and then performing the appropriate substitutions on 22780 msvc/version.h.in. Shouldn't be used for tarball builds (because 22781 version.h already exists) or for builds which use configure. 22782 22783Sun Jun 24 02:25:38 BST 2007 Olly Betts <olly@survex.com> 22784 22785 * matcher/multimatch.cc: The check_at_least parameter to 22786 Enquire::get_mset() is now handled in a more efficient way - no 22787 extra memory is now required, and CPU overhead should be reduced 22788 (bug#174). 22789 22790Sun Jun 24 02:00:07 BST 2007 Olly Betts <olly@survex.com> 22791 22792 * docs/synonyms.rst,docs/Makefile.am: New "topic" document describing 22793 synonym support. 22794 * docs/Makefile.am: HTML documentation generated from RST files wasn't 22795 being installed. 22796 22797Sun Jun 24 00:45:46 BST 2007 Olly Betts <olly@survex.com> 22798 22799 * backends/remote/remote-database.cc,common/remote-database.h, 22800 common/remoteprotocol.h,common/submatch.h,docs/remote_protocol.html, 22801 matcher/,net/remoteserver.cc: Pass check_at_least to the remote 22802 server to reduce the amount of work required to produce the match 22803 on the remote server, and also reduce the serialised size of the 22804 returned MSet. 22805 22806Sun Jun 24 00:17:18 BST 2007 Olly Betts <olly@survex.com> 22807 22808 * tests/api_anydb.cc: More check_at_least tests. 22809 22810Sat Jun 23 20:02:48 BST 2007 Olly Betts <olly@survex.com> 22811 22812 * api/omdatabase.cc,tests/api_wrdb.cc: Add multi-database support 22813 for synonyms. 22814 22815Sat Jun 23 18:50:59 BST 2007 Richard Boulton <richard@lemurconsulting.com> 22816 22817 * include/xapian/database.h: Tiny fix to a documentation comment. 22818 22819Sat Jun 23 17:35:37 BST 2007 Olly Betts <olly@survex.com> 22820 22821 * common/ortermlist.h,expand/ortermlist.cc: Comment out unused method 22822 OrTermList::get_collection_freq(). The same dummy implementation 22823 is provided by the parent class (TermList). 22824 22825Sat Jun 23 17:07:40 BST 2007 Olly Betts <olly@survex.com> 22826 22827 * api/omdatabase.cc,backends/database.cc,backends/flint/, 22828 common/database.h,include/xapian/database.h,tests/api_wrdb.cc: 22829 Implement Database::synonym_keys_begin() to allow iteration over all 22830 the terms for which synonyms have been added. 22831 22832Sat Jun 23 04:19:54 BST 2007 Olly Betts <olly@survex.com> 22833 22834 * matcher/multimatch.cc: Fix handling of check_at_least parameter - 22835 we weren't discarding matches above the requested MSet size 22836 correctly. 22837 * tests/api_anydb.cc: Add regression test checkatleast2. 22838 22839Sat Jun 23 03:00:45 BST 2007 Olly Betts <olly@survex.com> 22840 22841 * docs/queryparser.html: Document synonyms. 22842 22843Sat Jun 23 02:50:55 BST 2007 Olly Betts <olly@survex.com> 22844 22845 * queryparser/queryparser.lemony: Unapply commented out fragments 22846 towards supporting '~' on phrases, which I didn't mean to apply. 22847 22848Sat Jun 23 02:25:32 BST 2007 Olly Betts <olly@survex.com> 22849 22850 * include/xapian/queryparser.h,queryparser/queryparser.lemony, 22851 tests/queryparsertest.cc: Add support for synonym operator ('~') 22852 to the QueryParser. 22853 22854Sat Jun 23 01:52:51 BST 2007 Olly Betts <olly@survex.com> 22855 22856 * queryparser/queryparser.lemony: Fix two bugs in the query parser - 22857 now '+' and '-' work on bracketed subexpressions as documented. 22858 * tests/queryparsertest.cc: Add regression tests. 22859 22860Sat Jun 23 01:47:30 BST 2007 Olly Betts <olly@survex.com> 22861 22862 * queryparser/queryparser.cc: Use "using namespace std;". 22863 22864Fri Jun 22 18:48:21 BST 2007 Olly Betts <olly@survex.com> 22865 22866 * backends/flint/flint_synonym.cc: Fix iteration of unflushed 22867 synonyms. 22868 22869Fri Jun 22 18:21:39 BST 2007 Richard Boulton <richard@lemurconsulting.com> 22870 22871 * docs/deprecation.rst: Fix typo. 22872 22873Fri Jun 22 18:02:21 BST 2007 Olly Betts <olly@survex.com> 22874 22875 * api/omdatabase.cc,backends/database.cc,backends/flint/, 22876 common/database.h,include/xapian/database.h, 22877 include/xapian/queryparser.h,queryparser/queryparser.lemony: 22878 Add support for storing synonyms for terms in a new optional Btree 22879 table in flint databases, and using them in the QueryParser. 22880 * tests/queryparsertest.cc: Feature tests for synonyms. 22881 22882Fri Jun 22 17:58:37 BST 2007 Olly Betts <olly@survex.com> 22883 22884 * queryparser/queryparser.lemony: Removed superfluous "private:" in 22885 class State. Make State::get_database() const. 22886 22887Fri Jun 22 17:58:15 BST 2007 Olly Betts <olly@survex.com> 22888 22889 * tests/queryparsertest.cc: Make sure .flint subdirectory exists. 22890 22891Fri Jun 22 17:52:53 BST 2007 Olly Betts <olly@survex.com> 22892 22893 * bin/xapian-inspect.cc: Don't die with an error if the user tries to 22894 move forward twice from the end. Also, make "prev" from the end 22895 work. 22896 22897Fri Jun 22 17:47:36 BST 2007 Olly Betts <olly@survex.com> 22898 22899 * queryparser/queryparser.lt: If an input token has a yyminor, report 22900 its name in the debug output. 22901 22902Fri Jun 22 14:47:17 BST 2007 Olly Betts <olly@survex.com> 22903 22904 * NEWS: Updated with changes since 1.0.1. 22905 22906Thu Jun 21 21:12:49 BST 2007 Olly Betts <olly@survex.com> 22907 22908 * backends/remote/remote-database.cc,common/remoteprotocol.h, 22909 common/remoteserver.h,net/remoteserver.cc: Protocol version 22910 increased to 30.2. This difference from 30.1 is that 22911 MSG_DELETEDOCUMENT now send REPLY_DONE to allow DocNotFoundError 22912 to be propagated. MSG_DELETEDOCUMENT now has a new number and 22913 the old number for MSG_DELETEDOCUMENT is now 22914 MSG_DELETEDOCUMENT_PRE_30_2 which is handled by the server so 22915 that older clients will continue to work. 22916 * docs/remote_protocol.html: Update. 22917 * tests/api_wrdb.cc: Add regression test for DocNotFoundError bug. 22918 22919Thu Jun 21 17:22:53 BST 2007 Olly Betts <olly@survex.com> 22920 22921 * api/omdatabase.cc,tests/queryparsertest.cc,docs/spelling.rst: Add 22922 support for spelling correction when using multiple databases. 22923 22924Thu Jun 21 16:15:22 BST 2007 Olly Betts <olly@survex.com> 22925 22926 * tests/queryparsertest.cc: Add feature tests for correcting spelling 22927 errors in the QueryParser. 22928 22929Thu Jun 21 15:01:00 BST 2007 Olly Betts <olly@survex.com> 22930 22931 * tests/api_wrdb.cc: Check the edit distance 3 words are found if 22932 asked for. 22933 22934Thu Jun 21 14:59:15 BST 2007 Olly Betts <olly@survex.com> 22935 22936 * api/omdatabase.cc,common/omdebug.h: Add some debug tracing for the 22937 spelling correction. 22938 22939Thu Jun 21 13:45:12 BST 2007 Olly Betts <olly@survex.com> 22940 22941 * backends/flint/flint_spelling.cc,docs/spelling.rst: Generate 22942 "bookends" for four character words too, so that we suggest 22943 "fuor" -> "four". 22944 * tests/api_wrdb.cc: More testcases. 22945 22946Thu Jun 21 13:08:07 BST 2007 Olly Betts <olly@survex.com> 22947 22948 * docs/spelling.rst: Assorted minor improvements. Add note about not 22949 detecting single character substitutions in two character words. 22950 22951Thu Jun 21 13:02:57 BST 2007 Olly Betts <olly@survex.com> 22952 22953 * tests/api_wrdb.cc: Check cases for single edits to a two character 22954 word work as expected. 22955 22956Thu Jun 21 04:13:46 BST 2007 Olly Betts <olly@survex.com> 22957 22958 * tests/api_wrdb.cc: Add test cases to check we find all single edit 22959 errors for a three letter word. 22960 22961Thu Jun 21 04:08:11 BST 2007 Olly Betts <olly@survex.com> 22962 22963 * backends/flint/flint_spelling.h: Now that 22964 FlintSpellingTable::merge_changes() is only called from within the 22965 class, make it a private method. discard_changes() is only used 22966 once, and from within the class, so just inline it as that's 22967 clearer. Make the comment about the overridden methods a doxygen 22968 grouping comment, 22969 22970Thu Jun 21 04:02:51 BST 2007 Olly Betts <olly@survex.com> 22971 22972 * docs/spelling.rst: Update to mention "bookend" bigrams. 22973 22974Thu Jun 21 03:56:52 BST 2007 Olly Betts <olly@survex.com> 22975 22976 * backends/flint/flint_spelling.cc: Generate "bookend" spelling 22977 entries for two and three letter terms, consisting of the prefix 'B' 22978 followed by the first and last letters. This allows us to handle 22979 substitution or deletion of the middle character of a three letter 22980 word, or insertion in the middle of a two letter word. 22981 22982Thu Jun 21 03:18:28 BST 2007 Olly Betts <olly@survex.com> 22983 22984 * tests/queryparsertest.cc: Some doubles in the list which 22985 value_range_serialise1 tests have the same values on some platforms, 22986 so test that adjacent numbers and their string counterparts compare 22987 the same way rather than that both are "<". 22988 22989Thu Jun 21 02:46:01 BST 2007 Olly Betts <olly@survex.com> 22990 22991 * tests/api_wrdb.cc: Add "spell1" - a simple feature test for spelling 22992 based on Richard's python test. Use TESTCASE() and END_OF_TESTCASES 22993 macros. 22994 22995Wed Jun 20 21:57:01 BST 2007 Olly Betts <olly@survex.com> 22996 22997 * backends/flint/flint_database.cc: WritableDatabase::delete_document() 22998 no longer cancels pending changes if the document doesn't exist. 22999 * backends/quartz/quartz_database.cc: Same fix. 23000 23001Wed Jun 20 20:53:52 BST 2007 Olly Betts <olly@survex.com> 23002 23003 * backends/flint/flint_database.cc: We may now need to flush even if 23004 there have been no documents added/replaced/deleted, as there may be 23005 changes to the spelling table. 23006 23007Wed Jun 20 20:46:30 BST 2007 Olly Betts <olly@survex.com> 23008 23009 * backends/flint/flint_table.cc: Fix a function name in the debug 23010 loggging. 23011 23012Wed Jun 20 20:39:43 BST 2007 Olly Betts <olly@survex.com> 23013 23014 * backends/flint/flint_spelling.cc: Fix FlintSpellingTermList not to 23015 report at_end() one entry too early. 23016 23017Wed Jun 20 19:21:45 BST 2007 Olly Betts <olly@survex.com> 23018 23019 * tests/harness/backendmanager.cc: Don't touch <dbdir>/log for flint 23020 as flint doesn't create a log like quartz does. 23021 23022Wed Jun 20 17:10:29 BST 2007 Olly Betts <olly@survex.com> 23023 23024 * backends/flint/flint_database.cc,backends/flint/flint_spelling.h: 23025 Push special handling for spelling_table into the FlintSpellingTable 23026 class. This fixes "is_modified()" to take into account unflushed 23027 changes held in memory. 23028 23029Wed Jun 20 13:59:01 BST 2007 Olly Betts <olly@survex.com> 23030 23031 * api/omdatabase.cc: Don't use RETURN() in methods which return void. 23032 23033Wed Jun 20 11:56:30 BST 2007 Richard Boulton <richard@lemurconsulting.com> 23034 23035 * api/editdistance.cc: Change an Assert in is_transposed() (which 23036 fails in some cases) to a test, since it seems legitimate that 23037 a value of pos2 <= 0 might be supplied to the function (though 23038 the answer will always be "false" in that case). 23039 23040Wed Jun 20 02:38:51 BST 2007 Olly Betts <olly@survex.com> 23041 23042 * api/omdatabase.cc: Fix two incorrect return types in debug logging. 23043 23044Wed Jun 20 02:14:40 BST 2007 Olly Betts <olly@survex.com> 23045 23046 * api/omdatabase.cc: Add missing implementations of 23047 WritableDatabase::add_spelling() and 23048 WritableDatabase::remove_spelling(). 23049 23050Wed Jun 20 00:58:46 BST 2007 Olly Betts <olly@survex.com> 23051 23052 * backends/flint/flint_spelling.h: Make the maps private. 23053 23054Wed Jun 20 00:05:15 BST 2007 Olly Betts <olly@survex.com> 23055 23056 * HACKING: Snapshots now bootstrapped with automake 1.10. 23057 23058Wed Jun 20 00:03:42 BST 2007 Olly Betts <olly@survex.com> 23059 23060 * backends/flint/flint_spelling.cc,common/Makefile.mk, 23061 expand/Makefile.mk,expand/ortermlist.h: Move ortermlist.h from 23062 "expand/" to "common/" so we can included it from flint_spelling.cc 23063 without a relative path. 23064 23065Tue Jun 19 22:41:08 BST 2007 Olly Betts <olly@survex.com> 23066 23067 * api/,backends/database.cc,backends/flint/,common/database.h, 23068 docs/Makefile.am,docs/spelling.rst,include/xapian/database.h, 23069 include/xapian/queryparser.h,queryparser/queryparser.cc, 23070 queryparser/queryparser.lemony,queryparser/queryparser_internal.h: 23071 Add support for spelling correction. 23072 23073Tue Jun 19 19:18:40 BST 2007 Olly Betts <olly@survex.com> 23074 23075 * backends/flint/flint_database.cc,backends/flint/flint_table.cc, 23076 backends/flint/flint_table.h: Add new method 23077 FlintTable::key_exists() so we don't need to create a cursor to 23078 check if a key exists in FlintDatabase::term_exists() (the other 23079 alternative previously was to read the key and tag and ignore the 23080 tag, but that could involve reading more blocks if the tag is 23081 long, and it could involve uncompressing the tag too). 23082 23083Tue Jun 19 17:49:09 BST 2007 Richard Boulton <richard@lemurconsulting.com> 23084 23085 * tests/queryparsertest.cc: Cast the input to pow() to a double, to 23086 fix a problem on windows (which has several versions of pow(), 23087 and the version taking a float was being used by default, 23088 resulting in some of the tests overflowing the range of float). 23089 23090Tue Jun 19 17:48:42 BST 2007 Richard Boulton <richard@lemurconsulting.com> 23091 23092 * api/valuerangeproc.cc: Fix assertions, so that the code works 23093 with assertions turned on. 23094 23095Tue Jun 19 12:35:46 BST 2007 Olly Betts <olly@survex.com> 23096 23097 * matcher/branchpostlist.cc: Add missing #include <config.h>. 23098 * matcher/branchpostlist.cc,matcher/branchpostlist.h: Move other 23099 virtual method definitions out of the header. 23100 23101Mon Jun 18 21:41:15 BST 2007 Richard Boulton <richard@lemurconsulting.com> 23102 23103 * matcher/branchpostlist.h: Add missed copyright statement. 23104 23105Mon Jun 18 21:36:31 BST 2007 Richard Boulton <richard@lemurconsulting.com> 23106 23107 * matcher/branchpostlist.cc,matcher/branchpostlist.h: Add get_wdf() 23108 method to BranchPostList (which just sums the wdf, which is 23109 useful for a synonym postlist, which is the only situation in 23110 which this will be called). Add the method definition in a 23111 separate file, as per the comment I just added to HACKING. 23112 * matcher/Makefile.mk: Add branchpostlist.cc 23113 23114Mon Jun 18 21:33:56 BST 2007 Richard Boulton <richard@lemurconsulting.com> 23115 23116 * HACKING: Add note about virtual methods (saying that the 23117 shouldn't be defined in header files). 23118 23119Mon Jun 18 20:15:18 BST 2007 Richard Boulton <richard@lemurconsulting.com> 23120 23121 * matcher/phrasepostlist.cc,matcher/phrasepostlist.h, 23122 matcher/exactphrasepostlist.cc,matcher/exactphrasepostlist.cc: 23123 Add get_wdf() methods to NearPostList, PhrasePostList and 23124 ExactPhrasePostList - these use a very rough approximation (but 23125 there's a big long comment justifying it). 23126 23127Mon Jun 18 18:38:43 BST 2007 Richard Boulton <richard@lemurconsulting.com> 23128 23129 * matcher/mergepostlist.cc,matcher/mergepostlist.h: Add copyright 23130 statements for previous commit (and update license while I'm at 23131 it). 23132 23133Mon Jun 18 18:24:43 BST 2007 Richard Boulton <richard@lemurconsulting.com> 23134 23135 * matcher/mergepostlist.cc,matcher/mergepostlist.h: Add get_wdf() 23136 method to MergePostList (just passes through the value from the 23137 current postlist). Not currently needed, but the expected 23138 behaviour is obvious, and this will be needed if there's a 23139 synonym postlist higher in the query tree (when synonym postlists 23140 are implemented). Also, correct a documentation comment typo. 23141 23142Mon Jun 18 13:09:36 BST 2007 Richard Boulton <richard@lemurconsulting.com> 23143 23144 * api/valuerangeproc.cc: Cast the first parameter to ldexp() to 23145 double to fix compilation on some platforms, and add a few more 23146 explanatory code comments to 23147 NumberValueRangeProcessor::string_to_float() 23148 23149Mon Jun 18 11:33:49 BST 2007 Richard Boulton <richard@lemurconsulting.com> 23150 23151 * api/valuerangeproc.cc: Add static methods to 23152 NumberValueRangeProcessor to serialise and unserialise doubles. 23153 Change the code which tests a term for being a number to use 23154 strtod, and accept any string which strtod thinks is a number. 23155 If NumberValueRangeProcessor accepts a range, it now converts the 23156 begin and end values to strings using the serialise method. 23157 Also, expand some of the code comments. 23158 * include/xapian/queryparser.h: Add documentation comments to 23159 NumberValueRangeProcessor. 23160 * tests/queryparsertest.cc: Update value_range2_queries to expect 23161 new serialised forms in its output. Update test_qp_value_range3 23162 to test a wider range of values (including negative, fractional, 23163 and more-than-single-digit). 23164 23165Mon Jun 18 03:36:38 BST 2007 Olly Betts <olly@survex.com> 23166 23167 * queryparser/queryparser.lemony: Fix comment typo, and add brackets 23168 to make intended precedence clearer. 23169 23170Mon Jun 18 03:36:04 BST 2007 Olly Betts <olly@survex.com> 23171 23172 * include/xapian/queryparser.h: Tweak wording of a couple of 23173 documentation comments. 23174 23175Mon Jun 18 02:00:31 BST 2007 Olly Betts <olly@survex.com> 23176 23177 * docs/queryparser.html: Mention "AND NOT" as an alternative way to 23178 write "NOT". 23179 23180Mon Jun 18 01:43:00 BST 2007 Olly Betts <olly@survex.com> 23181 23182 * queryparser/queryparser.lemony: Adjust precedence of boolean 23183 operators to match those in maths and programming languages. 23184 "NOT" now binds as tightly as "AND" (previously "AND NOT" would 23185 bind like "AND", but just "NOT" would bind like "OR"!) Also 23186 "XOR" now binds more tightly than "OR", but less tightly than 23187 "AND" (previously it bound just like "OR"). 23188 * tests/queryparsertest.cc: Add testcases for the new behaviour. 23189 23190Mon Jun 18 01:16:18 BST 2007 Olly Betts <olly@survex.com> 23191 23192 * tests/queryparsertest.cc: Better test coverage of handling of random 23193 double quotes in queries. 23194 23195Sun Jun 17 16:17:34 BST 2007 Olly Betts <olly@survex.com> 23196 23197 * include/xapian/unicode.h: Don't call operator++(0) from operator() 23198 as it does more work than we need. 23199 23200Sun Jun 17 14:14:16 BST 2007 Olly Betts <olly@survex.com> 23201 23202 * bin/xapian-inspect.cc: Fix so that Ctrl+D doesn't cause an infinite 23203 loop! 23204 23205Sat Jun 16 22:19:11 BST 2007 Olly Betts <olly@survex.com> 23206 23207 * bin/Makefile.mk,bin/xapian-inspect.cc,xapian-core.spec.in: 23208 New utility 'xapian-inspect' allowing interactive inspection of 23209 key/tag pairs in a flint Btree. Useful for development and 23210 debugging, and an approximate replacement for quartzdump. 23211 23212Sat Jun 16 17:03:57 BST 2007 Olly Betts <olly@survex.com> 23213 23214 * docs/doxygen_api_conf.in,docs/doxygen_full_conf.in: Update for 23215 doxygen 1.5.2 (using "doxygen -u"). 23216 23217Sat Jun 16 10:17:32 BST 2007 Richard Boulton <richard@lemurconsulting.com> 23218 23219 * tests/Makefile.am: The "check-none" target should run all the 23220 tests which don't need a database, not just those in apitest: add 23221 internaltest, stemtest, queryparsertest and termgentest to the 23222 list of tests it runs. 23223 23224Sat Jun 16 09:36:10 BST 2007 Richard Boulton <richard@lemurconsulting.com> 23225 23226 * Makefile.am,bin/Makefile.mk,examples/Makefile.mk: Work around an 23227 apparent bug in automake which causes the entries in .libs 23228 subdirectories generated for targets of bin_PROGRAMS not to be 23229 removed on make clean. (This was causing make distcheck to 23230 fail.) 23231 23232Sat Jun 16 04:42:16 BST 2007 Olly Betts <olly@survex.com> 23233 23234 * HACKING,Makefile.am,tests/Makefile.am,tests/apitest.cc, 23235 tests/harness/backendmanager.cc,tests/harness/backendmanager.h: In 23236 the testsuite, rename the "void" pseudo-backend to "none" to more 23237 clearly reflect what it is. And rename the "remote" backend to 23238 "remoteprog", to better differentiate it from "remotetcp". 23239 * HACKING: Fix error - "apitest -b=flint" doesn't work - it must be 23240 "apitest -bflint". 23241 23242Sat Jun 16 04:40:28 BST 2007 Olly Betts <olly@survex.com> 23243 23244 * HACKING: Now using doxygen 1.5.2. 23245 23246Sat Jun 16 02:08:20 BST 2007 Olly Betts <olly@survex.com> 23247 23248 * backends/flint/flint_table.cc: Fix to build with older zlib. Not 23249 hugely important as zlib security fixes mean any well maintained 23250 box will be running a recent zlib, but the fix is trivial. 23251 23252Fri Jun 15 19:39:03 BST 2007 Richard Boulton <richard@lemurconsulting.com> 23253 23254 * HACKING: Document the new check-void, check-inmemory, 23255 check-remoteprog and check-remotetcp targets. 23256 23257Fri Jun 15 19:34:13 BST 2007 Richard Boulton <richard@lemurconsulting.com> 23258 23259 * Makefile.am,tests/Makefile.am: Add check-void, check-inmemory, 23260 check-remoteprog and check-remotetcp targets, to allow the tests 23261 for any of the backends to be performed in isolation. 23262 23263Fri Jun 15 19:29:19 BST 2007 Olly Betts <olly@survex.com> 23264 23265 * Makefile.am,configure.ac,xapian-core.spec.in,xapian.spec.in: 23266 Rename xapian.spec to xapian-core.spec to match tarball name. 23267 Append the user name to BuildRoot. 23268 23269Fri Jun 15 14:51:13 BST 2007 Richard Boulton <richard@lemurconsulting.com> 23270 23271 * net/progclient.cc: Open the file handle pointing to /dev/null as 23272 O_WRONLY instead of O_RDONLY: doesn't affect whether the test 23273 passes (since nothing gets written to stderr in theory anyway), 23274 but makes more sense. 23275 23276Fri Jun 15 13:21:56 BST 2007 Richard Boulton <richard@lemurconsulting.com> 23277 23278 * net/progclient.cc: Better fix - rather than leaving stderr open, 23279 we close it, and then reopen it pointing to /dev/null. 23280 23281Fri Jun 15 12:55:07 BST 2007 Richard Boulton <richard@lemurconsulting.com> 23282 23283 * net/progclient.cc: Don't close stderr in the child before we call 23284 execve() - with this change, apitest passes under valgrind with 23285 the remote database backend: before it, the child seemed to be 23286 exiting without writing anything to the socket, causing the test 23287 to fail with a NetworkError (due to an unexpected EOF). 23288 23289Thu Jun 14 23:47:52 BST 2007 Olly Betts <olly@survex.com> 23290 23291 * backends/flint/flint_database.cc: Replace duplicated code with calls 23292 to existing method set_revision_number(new_revision). 23293 23294Thu Jun 14 18:51:03 BST 2007 Olly Betts <olly@survex.com> 23295 23296 * backends/flint/flint_database.cc: Stop including <sys/utsname.h> 23297 which we don't use here. 23298 23299Thu Jun 14 18:22:24 BST 2007 Olly Betts <olly@survex.com> 23300 23301 * tests/Makefile.am: Fix typo from copy&paste. 23302 23303Thu Jun 14 16:46:45 BST 2007 Olly Betts <olly@survex.com> 23304 23305 * docs/admin_notes.rst: Update for the "lazy table" changes. Correct 23306 the description of xapian-compact --multipass (only the postlist 23307 tables are merged in multiple passes), correct description of how 23308 to use xapian-check on a single table (no trailing '.' should be 23309 specified). Change the "how to upgrade 0.9.x flint databases" to 23310 talk about 1.0.y rather than 1.0.0. 23311 23312Thu Jun 14 16:25:55 BST 2007 Olly Betts <olly@survex.com> 23313 23314 * backends/flint/: The value and position tables are now only created 23315 if there is anything to add to them. So if you never use document 23316 values, there's no value_DB, value.baseA, or value.baseB. This 23317 means the table doesn't need to be opened for searching (saving a 23318 file handle) and when flushing changes, we don't need to update 23319 baseA/baseB just to keep the revisions in step. The flint database 23320 version has been increased, but the new code will happily open and 23321 read/update flint databases from Xapian 1.0.0 and 1.0.1. 23322 * bin/xapian-check.cc,bin/xapian-compact.cc: Update to handle 23323 databases without value and/or position tables. 23324 * tests/testdata/flint-1.0.1/: Empty example of a flint 1.0.1 format 23325 database. 23326 * tests/Makefile.am,tests/api_db.cc: Add check that a flint 1.0.1 23327 format database can be opened. 23328 23329Wed Jun 13 22:40:15 BST 2007 Richard Boulton <richard@lemurconsulting.com> 23330 23331 * include/xapian/queryparser.h: Document set_stemmer() and 23332 set_stemming_strategy() better - in particular, make it clear 23333 that the default value for the stemming strategy is STEM_NONE. 23334 23335Wed Jun 13 17:16:52 BST 2007 Olly Betts <olly@survex.com> 23336 23337 * HACKING: Wrap overlong line. 23338 23339Wed Jun 13 16:47:07 BST 2007 Olly Betts <olly@survex.com> 23340 23341 * msvc/version.h.in: Remote backend is now supported in the MSVC 23342 build. 23343 23344Wed Jun 13 04:18:51 BST 2007 Olly Betts <olly@survex.com> 23345 23346 * backends/flint/flint_table.cc,backends/flint/flint_table.h: 23347 Eliminate dont_close_handle as it's always false. 23348 23349Wed Jun 13 02:53:28 BST 2007 Olly Betts <olly@survex.com> 23350 23351 * backends/flint/flint_btreebase.cc,backends/flint/flint_btreebase.h: 23352 Remove unused FlintTable_base constructor. 23353 23354Tue Jun 12 18:27:54 BST 2007 Olly Betts <olly@survex.com> 23355 23356 * backends/flint/flint_table.cc: Add fix to allow compilation on 23357 OpenBSD, which uses off_t instead of uLong for total_out in 23358 zlib.h. Remove Assert() which is followed by a better check of 23359 the same condition. 23360 * AUTHORS: Add Julien Touche for help with this fix. 23361 23362Tue Jun 12 13:34:59 BST 2007 Richard Boulton <richard@lemurconsulting.com> 23363 23364 * tests/harness/unixcmds.cc: On unix builds, set access permissions 23365 on copied directories to allow writes. This fixes make 23366 distcheck, which was failing on tests because the copied 23367 directory was set to read-only, causing the later "rm -rf" 23368 command to fail. 23369 23370Mon Jun 11 20:10:26 BST 2007 Olly Betts <olly@survex.com> 23371 23372 * docs/overview.html: Fix typo. 23373 23374Mon Jun 11 20:08:42 BST 2007 Olly Betts <olly@survex.com> 23375 23376 * docs/Makefile.am: Ship and install internals.html. 23377 23378Mon Jun 11 17:46:04 BST 2007 Olly Betts <olly@survex.com> 23379 23380 * docs/Makefile.am,docs/doxygen_full_conf.in: Disable generation of 23381 PDF version of doxygen-collated documentation of internals. It 23382 keeps overflowing TeX limits and it seems likely that most people 23383 would prefer the HTML version of this anyway. 23384 23385Mon Jun 11 17:45:12 BST 2007 Olly Betts <olly@survex.com> 23386 23387 * tests/internaltest.cc: Remove duplicated code. 23388 23389Mon Jun 11 03:55:53 BST 2007 Olly Betts <olly@survex.com> 23390 23391 * NEWS: Probably the final update for 1.0.1. 23392 23393Mon Jun 11 03:47:37 BST 2007 Olly Betts <olly@survex.com> 23394 23395 * examples/simpleindex.cc: Tweak the logic to be clearer. 23396 23397Sun Jun 10 21:59:21 BST 2007 Olly Betts <olly@survex.com> 23398 23399 * HACKING,configure.ac: Drop automake requirement to 1.8.3 to allow 23400 RPM spec file to work on SLES 9. 23401 23402Sun Jun 10 21:48:51 BST 2007 Olly Betts <olly@survex.com> 23403 23404 * configure.ac: Bump version to 1.0.1 and LIBRARY_VERSION_INFO to 23405 15:0:0. 23406 23407Sun Jun 10 21:46:57 BST 2007 Olly Betts <olly@survex.com> 23408 23409 * xapian.spec.in: Add "# norootforbuild" comment which SuSE's build 23410 scripts look for. Rename "Source0:" to "Source:" as there's only 23411 one tarball now. Add gcc-c++ and zlib-devel to "Build-Requires:". 23412 23413Sun Jun 10 21:43:45 BST 2007 Olly Betts <olly@survex.com> 23414 23415 * PLATFORMS: More updates. 23416 23417Sun Jun 10 18:01:19 BST 2007 Olly Betts <olly@survex.com> 23418 23419 * api/error.cc,generate-exceptions.in: Make Error::error_string member 23420 std::string rather than char * to avoid problems with double free() 23421 with copied Error objects. Also, Error::get_description() now 23422 converts my_errno to error_string if it hasn't been already. 23423 * tests/internaltest.cc: Add regression tests for both bugs. 23424 23425Sun Jun 10 13:33:21 BST 2007 Olly Betts <olly@survex.com> 23426 23427 * tests/api_db.cc: New testcase in allterms6. 23428 23429Sun Jun 10 13:20:37 BST 2007 Olly Betts <olly@survex.com> 23430 23431 * xapian-config.in: Add special case check for host_os matching linux* 23432 or k*bsd-gnu since vanilla libtool doesn't identify them as needing 23433 link_all_deplibs_CXX=no. 23434 23435Sun Jun 10 03:32:54 BST 2007 Olly Betts <olly@survex.com> 23436 23437 * PLATFORMS: Updated from tinderbox. 23438 23439Sun Jun 10 02:14:58 BST 2007 Olly Betts <olly@survex.com> 23440 23441 * NEWS: Updated. 23442 23443Sat Jun 09 17:28:32 BST 2007 Olly Betts <olly@survex.com> 23444 23445 * queryparser/queryparser.lemony: Add the unstem entry for boolean 23446 prefixed terms in Term::make_term() as we do for other terms. 23447 23448Sat Jun 09 17:27:55 BST 2007 Olly Betts <olly@survex.com> 23449 23450 * tests/queryparsertest.cc: Replace reference to Xapian "1.0" with 23451 "1.0.0". 23452 23453Sat Jun 09 17:12:44 BST 2007 Olly Betts <olly@survex.com> 23454 23455 * queryparser/queryparser.lemony,queryparser/queryparser_internal.h: 23456 Factor out the code which actually parses a term into a separate 23457 method. 23458 23459Fri Jun 08 23:31:23 BST 2007 Olly Betts <olly@survex.com> 23460 23461 * tests/Makefile.am: Distribute tests/testdata/flint-0.9.9/. 23462 23463Fri Jun 08 19:20:36 BST 2007 Olly Betts <olly@survex.com> 23464 23465 * NEWS: Updated. 23466 23467Fri Jun 08 18:55:43 BST 2007 Olly Betts <olly@survex.com> 23468 23469 * examples/simplesearch.cc: Report "Matches 1-<N>:". 23470 23471Fri Jun 08 18:46:02 BST 2007 Richard Boulton <richard@lemurconsulting.com> 23472 23473 * api/omenquire.cc: Fix issue brought to my attention by Enrico 23474 Zini: if an uninitialised database is supplied to Enquire, 23475 performing a search will cause a segfualt. It isn't completely 23476 clear whether using an uninitialised database should cause an 23477 error, or whether the search should return an empty result list, 23478 but for ease of implementation, and to avoid application errors 23479 going unnoticed, I've made Enquire's constructor report an 23480 InvalidArgumentError if the supplied database is uninitialised. 23481 * include/xapian/enquire.h: Document new exception case, and 23482 workaround if you want a search in this situation to return an 23483 empty result set, instead of getting an error. 23484 * tests/api_nodb.cc: Regression test for this fix. 23485 * AUTHORS: Mention Enrico Zini. 23486 23487Fri Jun 08 18:33:19 BST 2007 Olly Betts <olly@survex.com> 23488 23489 * NEWS: Updated. 23490 23491Fri Jun 08 17:09:22 BST 2007 Olly Betts <olly@survex.com> 23492 23493 * common/Makefile.mk: Distribute common/stringutils.h. 23494 23495Thu Jun 07 20:44:36 BST 2007 Olly Betts <olly@survex.com> 23496 23497 * tests/harness/unixcmds.cc: It appears we need to create the target 23498 directory for xcopy to behave as we want. 23499 23500Thu Jun 07 19:34:18 BST 2007 Olly Betts <olly@survex.com> 23501 23502 * tests/harness/unixcmds.cc: Fix typo to unbreak testsuite on Windows 23503 NT derivatives. 23504 23505Thu Jun 07 19:02:36 BST 2007 Olly Betts <olly@survex.com> 23506 23507 * backends/inmemory/inmemory_alltermslist.cc: Another tweak - don't 23508 call map::lower_bound() in the ctor at all. Also, prevent skip_to() 23509 from moving backwards, since that behaviour is user-visible. 23510 23511Thu Jun 07 18:36:49 BST 2007 Olly Betts <olly@survex.com> 23512 23513 * common/stringutils.h: New header, providing inline functions 23514 begins_with() and ends_with() to check if a std::string has 23515 a given prefix or suffix. 23516 * api/valuerangeproc.cc,backends/flint/flint_alltermslist.cc, 23517 backends/inmemory/inmemory_alltermslist.cc, 23518 backends/quartz/quartz_alltermslist.cc, 23519 backends/quartz/quartz_metafile.cc,tests/harness/testsuite.cc: 23520 Make use of begins_with() and ends_with(). 23521 * tests/harness/testsuite.cc: Tidy up guessing of srcdir. In 23522 particular, fix comments to reflect that libtool won't create a 23523 wrapper script for the test programs on most platforms (because 23524 we now use --no-install when linking). 23525 * backends/inmemory/inmemory_alltermslist.cc: In the ctor, use 23526 std::map::lower_bound() to find the first term matching the 23527 given prefix, rather than iterating through from the start of 23528 the map. Also, don't skip deleted terms here, but instead do 23529 that in next() - this avoids duplicating code, and the first 23530 operation might be skip_to() in which case we can avoid wasting 23531 effort. 23532 23533Thu Jun 07 17:16:12 BST 2007 Olly Betts <olly@survex.com> 23534 23535 * queryparser/queryparser.lemony: Eliminate the QpQuery class and 23536 simplify various bits of the code. 23537 23538Thu Jun 07 14:32:22 BST 2007 Olly Betts <olly@survex.com> 23539 23540 * tests/queryparsertest.cc: Enhance qp_value_customrange1. 23541 23542Thu Jun 07 14:31:40 BST 2007 Olly Betts <olly@survex.com> 23543 23544 * docs/Makefile.am,docs/index.html,docs/valueranges.rst: Add document 23545 describing how to use Xapian::ValueRangeProcessor. 23546 23547Thu Jun 07 14:16:01 BST 2007 Olly Betts <olly@survex.com> 23548 23549 * tests/queryparsertest.cc: Add test of custom ValueRangeProcessor 23550 subclass (qp_value_customrange1). 23551 23552Thu Jun 07 10:01:46 BST 2007 Olly Betts <olly@survex.com> 23553 23554 * common/serialise.h,tests/harness/testsuite.h: Use XAPIAN_NORETURN() 23555 to mark functions which never return. 23556 23557Thu Jun 07 01:28:00 BST 2007 Olly Betts <olly@survex.com> 23558 23559 * NEWS: Update. 23560 23561Thu Jun 07 01:02:22 BST 2007 Olly Betts <olly@survex.com> 23562 23563 * examples/simpleexpand.cc: Fix off-by-one error when creating the 23564 fake RSet (picked up to 4 documents, not up to 5). 23565 23566Wed Jun 06 17:17:05 BST 2007 Olly Betts <olly@survex.com> 23567 23568 * include/xapian/queryparser.h: Add documentation comments for 23569 ValueRangeProcessor and subclasses (mostly fixes bug#155, but 23570 I'd like to add an overview document too). 23571 23572Wed Jun 06 16:04:08 BST 2007 Olly Betts <olly@survex.com> 23573 23574 * tests/testdata/flint-0.9.9/: Minimal example of a Flint database 23575 from Xapian 0.9.9. 23576 * tests/api_db.cc: Use a real 0.9.9 flint database instead of faking 23577 it by fudging with the "iamflint" file in a current one. 23578 flintdatabaseformaterror1 now also checks for opening with the 23579 Database ctor as well as with Flint::open(). The writing test from 23580 flintdatabaseformaterror1 is now flintdatabaseformaterror2 which 23581 additionally tests opening with the WritableDatabase ctor as well as 23582 with Flint::open(). The old flintdatabaseformaterror2 is now 23583 flintdatabaseformaterror3. 23584 23585Wed Jun 06 15:44:08 BST 2007 Olly Betts <olly@survex.com> 23586 23587 * backends/flint/flint_database.cc: Don't check for pre-0.6 databases 23588 here (since they'll be quartz format anyway - the check is just an 23589 overenthusiastic cut-and-paste from quartz). 23590 23591Wed Jun 06 12:35:16 BST 2007 Richard Boulton <richard@lemurconsulting.com> 23592 23593 * matcher/valuerangepostlist.cc: Avoid calling db->get_lastdocid() 23594 repeatedly in ValueRangePostList::next() - was taking 25% of the 23595 time for a particular test case. 23596 23597Wed Jun 06 12:17:51 BST 2007 Olly Betts <olly@survex.com> 23598 23599 * tests/harness/unixcmds.cc,tests/harness/unixcmds.h: Add "cp_R()" 23600 which does much the same as "cp -R" on Unix. 23601 23602Wed Jun 06 12:12:50 BST 2007 Olly Betts <olly@survex.com> 23603 23604 * include/xapian/Makefile: New stub makefile for include/xapian. 23605 * bin/Makefile.mk,examples/Makefile.mk,include/Makefile.mk: Distribute 23606 missing stub Makefile and dir_contents files. 23607 23608Tue Jun 05 16:44:51 BST 2007 Olly Betts <olly@survex.com> 23609 23610 * tests/harness/index_utils.cc: Back out linger line from r7758. 23611 Fix undefined behaviour in cases where a paragraph has <= 2 23612 characters. 23613 23614Mon Jun 04 15:31:08 BST 2007 Richard Boulton <richard@lemurconsulting.com> 23615 23616 * tests/harness/backendmanager.cc,tests/harness/index_utils.cc: 23617 Revert the recent changes to the indexing code, and also the 23618 change from revision r7758 which was intended to fix a problem 23619 with eof handling on windows (which is what broke the indexing of 23620 etext.txt). Then, change backendmanager.cc to test "!from.eof()" 23621 instead of "from" to check for eof - hopefully this will work on 23622 windows - if not, we can investigate further. 23623 23624Mon Jun 04 13:13:29 BST 2007 Richard Boulton <richard@lemurconsulting.com> 23625 23626 * tests/harness/backendmanager.cc: Undo previous patch - only the 23627 patch to index_utils.cc was necessary; I mistakenly committed 23628 both files I'd been modifying. 23629 23630Mon Jun 04 09:06:24 BST 2007 Richard Boulton <richard@lemurconsulting.com> 23631 23632 * tests/api_db.cc: Add a check to consistency1 that the full mset 23633 size is as big as it should be, to make sure that we notice in 23634 future if the indexing goes wrong again. 23635 23636Mon Jun 04 08:59:22 BST 2007 Richard Boulton <richard@lemurconsulting.com> 23637 23638 * tests/harness/backendmanager.cc,tests/harness/index_utils.cc: 23639 Fix the indexing of the testdata, so that the "etext" example is 23640 properly indexed (previously, only the first line was being 23641 indexed, due to faulty end-of-file handling). This only affects 23642 the "consistency1" test, which now runs a lot slower (but still 23643 passes, fortunately). 23644 23645Fri Jun 01 23:47:42 BST 2007 Olly Betts <olly@survex.com> 23646 23647 * examples/simpleexpand.cc: Rewrite based on new simplesearch.cc. 23648 23649Fri Jun 01 00:50:00 BST 2007 Olly Betts <olly@survex.com> 23650 23651 * examples/simpleindex.cc: Replacement "simpleindex" example which 23652 uses the TermGenerator class, which makes for a much smaller and 23653 simpler example. It's also much more typical of what most users 23654 will want to do. 23655 23656Thu May 31 23:01:47 BST 2007 Olly Betts <olly@survex.com> 23657 23658 * examples/simplesearch.cc: Replacement "simplesearch" example which 23659 uses the QueryParser. That makes for a simpler example, and it's 23660 much more typical of what most users will want to do. 23661 23662Thu May 31 19:31:40 BST 2007 Olly Betts <olly@survex.com> 23663 23664 * NEWS: Update. 23665 23666Thu May 31 19:18:41 BST 2007 Olly Betts <olly@survex.com> 23667 23668 * HACKING,configure.ac: Relax automake requirement to 1.9.2 to allow 23669 RPM building on RHEL 4. 23670 * HACKING: automake 1.10 seems to work fine with Xapian. 23671 23672Thu May 31 03:04:42 BST 2007 Olly Betts <olly@survex.com> 23673 23674 * backends/flint/flint_database.cc,backends/quartz/quartz_database.cc: 23675 Check if the docid counter wraps and if it does throw DatabaseError 23676 (fixes bug#152). 23677 * tests/api_wrdb.cc: Add regression test (nomoredocids1). 23678 23679Thu May 31 02:01:31 BST 2007 Olly Betts <olly@survex.com> 23680 23681 * backends/dbfactory_remote.cc,backends/remote/remote-database.cc, 23682 common/progclient.h,common/remote-database.h,common/tcpclient.h, 23683 net/progclient.cc: Stop a non-writable remote database from calling 23684 dtor_called() when it is destroyed, since that causes MSG_FLUSH to 23685 be sent to the server (fixes bug#149). 23686 23687Wed May 30 19:47:43 BST 2007 Richard Boulton <richard@lemurconsulting.com> 23688 23689 * include/xapian/query.h: New accessor method 23690 Xapian::Query::Internal::get_parameter(). 23691 * queryparser/queryparser.lemony: Multiple boolean prefixed terms 23692 with the same term prefix are now combined with OR before such 23693 groups are combined with AND. Similarly for multiple value ranges 23694 on the same value (fixes bug#157). 23695 * include/xapian/queryparser.h: Document new handling of multiple 23696 boolean prefixed terms. 23697 * tests/queryparsertest.cc: Testcases for new handling of multiple 23698 boolean prefixed terms and value ranges. 23699 23700Wed May 30 14:45:19 BST 2007 Richard Boulton <richard@lemurconsulting.com> 23701 23702 * docs/deprecation.rst: Update comment about QueryParserError to 23703 point out that you'll need to compile conditionally to work with 23704 0.9.x 23705 23706Wed May 30 14:33:29 BST 2007 Olly Betts <olly@survex.com> 23707 23708 * NEWS: Update. Put all the subheadings in the standard order used 23709 for previous releases. 23710 23711Wed May 30 12:58:01 BST 2007 Richard Boulton <richard@lemurconsulting.com> 23712 23713 * include/xapian/database.h,api/omdatabase.cc,backends/flint/, 23714 backends/inmemory/,backends/quartz/, 23715 backends/remote/remote-database.cc, 23716 common/database.h,common/remote-database.h,common/remoteprotocol.h, 23717 net/remoteserver.cc: Add a prefixed form of allterms_begin() and 23718 allterms_end(), which allows efficient iteration over only those 23719 terms which begin with the given prefix. Requires bumping the 23720 remote protocol minor version number, but doesn't change any 23721 database formats. 23722 * queryparser/queryparser.lemony: Update the wildcard and partial 23723 query routines to use the prefixed form of allterms_begin(). 23724 This fixes the performance problems noted in bug #153. 23725 * tests/api_db.cc: Add test_allterms6() to test the prefixed form 23726 of allterms iterators. 23727 23728Wed May 30 12:23:25 BST 2007 Richard Boulton <richard@lemurconsulting.com> 23729 23730 * backends/remote/remote-database.cc,common/remoteprotocol.h, 23731 docs/remote_protocol.html,net/remoteserver.cc: Apply patch from 23732 Olly (from bug #153) which implements minor version numbers for 23733 the remove protocol. This will allow us to add new features to 23734 the protocol in future without forcing all clients to upgrade to 23735 exactly the same version as the servers. Bump the major version 23736 to 30, since this is an incompatible change itself, though. 23737 23738Wed May 30 12:12:14 BST 2007 Richard Boulton <richard@lemurconsulting.com> 23739 23740 * include/xapian/query.h: Expand documentation of value range 23741 query constructor. 23742 23743Wed May 30 10:28:39 BST 2007 Olly Betts <olly@survex.com> 23744 23745 * docs/deprecation.rst: Improve entry for QueryParserError. 23746 23747Wed May 30 01:30:35 BST 2007 Olly Betts <olly@survex.com> 23748 23749 * backends/flint/,bin/xapian-compact.cc: Don't uncompress and 23750 recompress tags when compacting a database. This speeds up 23751 xapian-compact rather a lot (by more than 50% in my quick test). 23752 23753Tue May 29 20:58:13 BST 2007 Richard Boulton <richard@lemurconsulting.com> 23754 23755 * queryparser/Makefile.mk: Fix multiple target rule for generating 23756 the queryparser source files in parallel builds, as described in 23757 HACKING, and as done for the SWIG rules in xapian-bindings. 23758 * queryparser/: Add queryparser_internal.lock and 23759 queryparser_internal.stamp to SVN ignores. 23760 23761Tue May 29 18:30:25 BST 2007 Richard Boulton <richard@lemurconsulting.com> 23762 23763 * tests/queryparsertest.cc: Use TEST_STRINGS_EQUAL when comparing 23764 queries against their expected output, since this makes it much 23765 easier to see the differences. 23766 23767Tue May 29 18:13:26 BST 2007 Richard Boulton <richard@lemurconsulting.com> 23768 23769 * NEWS: Bring up-to-date. 23770 23771Mon May 28 09:27:43 BST 2007 Olly Betts <olly@survex.com> 23772 23773 * examples/copydatabase.cc: Fix to compile with GCC 2.95. 23774 23775Mon May 28 01:28:23 BST 2007 Olly Betts <olly@survex.com> 23776 23777 * examples/copydatabase.cc: Rewrite to take advantage of 23778 being able to iterate over all the documents in a database. 23779 23780Sun May 27 12:20:03 BST 2007 Olly Betts <olly@survex.com> 23781 23782 * include/xapian/termgenerator.h: Improve documentation comments 23783 for TermGenerator class. 23784 23785Sun May 27 12:15:02 BST 2007 Olly Betts <olly@survex.com> 23786 23787 * backends/quartz/quartz_database.cc,bin/,examples/,net/tcpserver.cc, 23788 tests/api_db.cc,tests/harness/testsuite.cc,tests/harness/testutils.h, 23789 tests/queryparsertest.cc,tests/termgentest.cc: Make use of 23790 Xapian::Error::get_description(), which improves error reporting 23791 in a number of places. 23792 * tests/harness/testsuite.cc: If we get an exception with a long 23793 message in verbose mode, just report the whole message rather than 23794 reporting the truncated message followed by the whole message. 23795 * tests/queryparsertest.cc: Handle Xapian::QueryParserError specially 23796 (as we previously handled all Xapian::Error exceptions). Other 23797 Xapian::Error exceptions now report the description not just the 23798 message. 23799 23800Sun May 27 11:33:11 BST 2007 Olly Betts <olly@survex.com> 23801 23802 * api/error.cc,generate-exceptions.in: Add new API method 23803 Xapian::Error::get_description() to allow removal of 23804 essentially duplicated code in many places. Also useful for 23805 users for the same reason. 23806 23807Sun May 27 09:56:21 BST 2007 Olly Betts <olly@survex.com> 23808 23809 * generate-exceptions.in: Add vim modeline to force perl syntax 23810 highlighting. 23811 23812Sat May 26 22:53:52 BST 2007 Richard Boulton <richard@lemurconsulting.com> 23813 23814 * NEWS: Bring up-to-date. 23815 23816Sat May 26 22:49:20 BST 2007 Richard Boulton <richard@lemurconsulting.com> 23817 23818 * docs/deprecation.rst: Fix typo in deprecation list for the 23819 bindings pointed out by Thomas Waldmann. 23820 23821Sat May 26 09:39:36 BST 2007 Olly Betts <olly@survex.com> 23822 23823 * HACKING: Add note about reasons for avoiding std::pair<> with an STL 23824 class as one or both members. 23825 23826Thu May 24 17:28:20 BST 2007 Richard Boulton <richard@lemurconsulting.com> 23827 23828 * queryparser/Makefile.mk: $(top_builddir)/queryparser is only 23829 required in include path for maintainer mode, so make it so for 23830 neatness. 23831 23832Tue May 22 11:04:04 BST 2007 Richard Boulton <richard@lemurconsulting.com> 23833 23834 * queryparser/Makefile.mk: Add $(top_builddir)/queryparser to include 23835 path for VPATH builds, to fix a problem with depcomp (triggered 23836 when compiling with gcc-2.95). 23837 * NEWS: Keep up to date. 23838 23839Mon May 21 13:38:58 BST 2007 Richard Boulton <richard@lemurconsulting.com> 23840 23841 * tests/queryparsertest.cc: Reduce the range of the test, so that 23842 it passes again, to let the autobuilders work and unbreak HEAD. 23843 23844Mon May 21 10:26:01 BST 2007 Richard Boulton <richard@lemurconsulting.com> 23845 23846 * tests/queryparsertest.cc: Remove FIXME from test_qp_flag_partial1: 23847 I've checked that the results look correct. New test 23848 test_qp_value_range3, to test the NumberValueRangeProcessors - 23849 currently fails because "10" is considered to be between "1" and 23850 "2". 23851 * include/xapian/query.h: Fix typo in documentation comment. 23852 23853Mon May 21 10:09:34 BST 2007 Olly Betts <olly@survex.com> 23854 23855 * tests/harness/testsuite.h: Put quotes around strings when reporting 23856 a failure in TEST_STRINGS_EQUAL(). 23857 23858Mon May 21 10:08:18 BST 2007 Olly Betts <olly@survex.com> 23859 23860 * tests/internaltest.cc: New tests serialiseerror1 which checks that 23861 the handling of errno/error_string. 23862 * common/serialise.h: Make unserialise_error externally visible for 23863 new test. 23864 23865Mon May 21 08:40:06 BST 2007 Olly Betts <olly@survex.com> 23866 23867 * HACKING: Update release checklist. 23868 23869Fri May 18 02:10:39 BST 2007 Olly Betts <olly@survex.com> 23870 23871 * generate-exceptions.in: Fix grammatical errors in Error::get_errno() 23872 deprecation explanation. 23873 23874Thu May 17 23:51:17 BST 2007 Olly Betts <olly@survex.com> 23875 23876 * api/error.cc: Need <stdlib.h> for free() to build with GCC 4.3 23877 snapshot. 23878 23879Thu May 17 23:11:53 BST 2007 Olly Betts <olly@survex.com> 23880 23881 * NEWS: Fix line wrapping (ok, isn't wasn't final!) 23882 23883Thu May 17 22:28:44 BST 2007 Olly Betts <olly@survex.com> 23884 23885 * NEWS: Final update before release. 23886 23887Thu May 17 19:10:27 BST 2007 Olly Betts <olly@survex.com> 23888 23889 * configure.ac: Bump version to 1.0.0 and update LIBRARY_VERSION_INFO. 23890 23891Thu May 17 19:10:11 BST 2007 Olly Betts <olly@survex.com> 23892 23893 * NEWS: Minor wording tweak. 23894 23895Thu May 17 19:06:34 BST 2007 Olly Betts <olly@survex.com> 23896 23897 * docs/Makefile.am: Run rst2html with --strict --verbose options to 23898 reject .rst files with problems. 23899 * docs/deprecation.rst: Add more entries gleaned from the NEWS file. 23900 23901Thu May 17 18:30:01 BST 2007 Olly Betts <olly@survex.com> 23902 23903 * NEWS: Update with fixes from Jenny's proof-reading and a few other 23904 tweaks. 23905 23906Thu May 17 18:27:53 BST 2007 Olly Betts <olly@survex.com> 23907 23908 * AUTHORS: Update. 23909 23910Thu May 17 18:25:39 BST 2007 Olly Betts <olly@survex.com> 23911 23912 * PLATFORMS: Updates from the tinderbox. 23913 23914Thu May 17 18:08:13 BST 2007 Olly Betts <olly@survex.com> 23915 23916 * common/safesysstat.h: Need the 2 argument mkdir() wrapper for Mingw 23917 too. Define S_ISDIR() and S_ISREG() if they aren't already defined 23918 rather than conditional on _MSC_VER. 23919 23920Thu May 17 17:58:43 BST 2007 Olly Betts <olly@survex.com> 23921 23922 * docs/admin_notes.rst: "flint-check" -> "xapian-check". 23923 23924Thu May 17 17:46:36 BST 2007 Olly Betts <olly@survex.com> 23925 23926 * NEWS: Update for Xapian 1.0.0. 23927 23928Thu May 17 17:41:15 BST 2007 Olly Betts <olly@survex.com> 23929 23930 * docs/: Update documentation for 1.0.0; add new document describing 23931 new term generation strategy as implemented by TermGenerator class; 23932 link in "lost" documents to the index page. 23933 23934Thu May 17 03:54:36 BST 2007 Olly Betts <olly@survex.com> 23935 23936 * exception_data.pm: Fix to work with Perl 5.6. 23937 23938Thu May 17 01:20:16 BST 2007 Richard Boulton <richard@lemurconsulting.com> 23939 23940 * backends/multi/multi_alltermslist.cc: Check that iterators are 23941 not at_end() before calling skip_to() on them. 23942 23943Thu May 17 00:49:03 BST 2007 Olly Betts <olly@survex.com> 23944 23945 * backends/flint/flint_btreebase.cc,backends/flint/flint_table.cc, 23946 backends/quartz/btree.cc,common/Makefile.mk, 23947 common/msvc_posix_wrapper.cc,common/msvc_posix_wrapper.h: Use 23948 msvc_posix_wrapper.h functions for all __WIN32__ builds, not just 23949 for MSVC. 23950 23951Wed May 16 23:55:46 BST 2007 Richard Boulton <richard@lemurconsulting.com> 23952 23953 * api/omdatabase.cc: Fix return type in debug macro in 23954 replace_document(). 23955 23956Wed May 16 23:45:20 BST 2007 Richard Boulton <richard@lemurconsulting.com> 23957 23958 * tests/apitest.cc: Add collfreq and allterms tests to the tests 23959 for the remote and remotetcp backends. They all pass. 23960 23961Wed May 16 15:11:00 BST 2007 Olly Betts <olly@survex.com> 23962 23963 * configure.ac: Need to try -zdll for mingw as well. 23964 23965Wed May 16 14:45:23 BST 2007 Olly Betts <olly@survex.com> 23966 23967 * tests/queryparsertest.cc: Add two more testcases. 23968 23969Wed May 16 14:32:46 BST 2007 Olly Betts <olly@survex.com> 23970 23971 * queryparser/queryparser.lemony,tests/queryparsertest.cc: Fix 23972 double-free on invalid range query. 23973 23974Wed May 16 10:08:02 BST 2007 Richard Boulton <richard@lemurconsulting.com> 23975 23976 * tests/queryparsertest.cc: Add some more test cases to the value 23977 range processor. These currently fail with a SIGSEGV message. 23978 23979Wed May 16 02:22:17 BST 2007 Olly Betts <olly@survex.com> 23980 23981 * queryparser/termgenerator_internal.cc: Fix handling of stemming of 23982 prefixed terms. 23983 * tests/termgentest.cc: Fix testcases. 23984 23985Wed May 16 01:54:25 BST 2007 Richard Boulton <richard@lemurconsulting.com> 23986 23987 * tests/termgentest.cc: Add a test for parsing of capitalised words 23988 with a prefix, which currently fails. 23989 23990Wed May 16 01:09:39 BST 2007 Richard Boulton <richard@lemurconsulting.com> 23991 23992 * include/xapian/termgenerator.h,queryparser/termgenerator.cc: Add 23993 a method to get the current document from the term generator. 23994 Helps avoid users having to pass around a structure encapsulating 23995 the generator and the document assigned to it. 23996 23997Wed May 16 00:50:07 BST 2007 Olly Betts <olly@survex.com> 23998 23999 * docs/deprecation.rst: Add <xapian/output.h>. 24000 24001Tue May 15 22:46:39 BST 2007 Richard Boulton <richard@lemurconsulting.com> 24002 24003 * tests/termgentest.cc: Use resize(0) instead of clear(), for g++2.95 24004 24005Tue May 15 20:25:07 BST 2007 Richard Boulton <richard@lemurconsulting.com> 24006 24007 * net/remoteconnection.cc: Add a comment noting why we test 24008 __STDC_SECURE_LIB__ even though its an undocumented macro. 24009 24010Tue May 15 20:14:51 BST 2007 Richard Boulton <richard@lemurconsulting.com> 24011 24012 * tests/termgentest.cc: Add several more tests - some converted 24013 from the query tests, some more initial tests, and some number 24014 tests. 24015 24016Tue May 15 18:31:21 BST 2007 Olly Betts <olly@survex.com> 24017 24018 * queryparser/termgenerator_internal.cc: Revert previous change - we 24019 need to generate Zibm and Zpc from text `I.B.M. P.C.' or else a 24020 search for `ibm pc' won't match. 24021 24022Tue May 15 18:22:44 BST 2007 Olly Betts <olly@survex.com> 24023 24024 * queryparser/termgenerator_internal.cc: Sort out stemming of 24025 initials. 24026 24027Tue May 15 18:04:17 BST 2007 Richard Boulton <richard@lemurconsulting.com> 24028 24029 * tests/termgentest.cc: Add some more tests, and rework the array 24030 of tests so that there's just a single string holding any options 24031 we want to set for the following tests. 24032 24033Tue May 15 16:49:17 BST 2007 Richard Boulton <richard@lemurconsulting.com> 24034 24035 * tests/Makefile.am,tests/termgentest.cc: Add new test file, for 24036 testing the term generator. Only has a single test so far. 24037 24038Tue May 15 16:20:20 BST 2007 Olly Betts <olly@survex.com> 24039 24040 * include/xapian/unicode.h: Make single parameter ctor explicit. 24041 24042Tue May 15 16:00:24 BST 2007 Olly Betts <olly@survex.com> 24043 24044 * queryparser/termgenerator_internal.cc: Add special handling for 24045 acronyms/initialisms, so I.B.M -> term ibm, etc. 24046 24047Tue May 15 14:07:27 BST 2007 Richard Boulton <richard@lemurconsulting.com> 24048 24049 * include/xapian/termgenerator.h,queryparser/termgenerator.cc: Add 24050 a set_termpos() method, too. 24051 24052Tue May 15 13:54:34 BST 2007 Olly Betts <olly@survex.com> 24053 24054 * include/xapian/database.h: Document the issue of the monotonic 24055 docid counter wrapping around. 24056 24057Tue May 15 10:58:37 BST 2007 Richard Boulton <richard@lemurconsulting.com> 24058 24059 * include/xapian/termgenerator.h,queryparser/termgenerator.cc: Add 24060 get_termpos() method to get the current value of the termpos. 24061 Makes it easier to integrate with different term generators. 24062 24063Tue May 15 03:44:50 BST 2007 Olly Betts <olly@survex.com> 24064 24065 * queryparser/queryparser.lemony,queryparser/termgenerator_internal.cc: 24066 Include '.', ',', and a few other characters in terms if they are 24067 between two decimal digits. 24068 * queryparser/termgenerator_internal.cc: Don't stem terms which start 24069 with a number. 24070 * tests/queryparsertest.cc: Update results for real world queries to 24071 match new results (better in every case but one!) 24072 24073Tue May 15 01:24:08 BST 2007 Olly Betts <olly@survex.com> 24074 24075 * HACKING: Fix a few typos. Add "feisty" to the list of debs to 24076 build. 24077 24078Tue May 15 00:51:35 BST 2007 Richard Boulton <richard@lemurconsulting.com> 24079 24080 * HACKING: Document that the bootstrap script should be run from 24081 srcdir, and that the generated configure can be run from a 24082 different builddir. Tidy up a few other lines. 24083 24084Mon May 14 23:52:33 BST 2007 Olly Betts <olly@survex.com> 24085 24086 * queryparser/queryparser.lemony,queryparser/termgenerator_internal.cc: 24087 Expand check_infix to include some of characters Unicode does. 24088 * tests/queryparsertest.cc: Update the single test query which now 24089 parses differently. 24090 24091Mon May 14 23:42:53 BST 2007 Olly Betts <olly@survex.com> 24092 24093 * tests/harness/testsuite.h: New macro TEST_STRINGS_EQUAL() which 24094 displays the strings on separate lines so the differences can 24095 be clearly seen. 24096 * tests/queryparsertest.cc: Use TEST_STRINGS_EQUAL(). 24097 24098Mon May 14 20:14:17 BST 2007 Olly Betts <olly@survex.com> 24099 24100 * include/xapian/enquire.h: Make the "uses string sort" warning in 24101 the documentation for the methods which enable sorting by value 24102 more prominent, and fix several miscellaneous typos. 24103 24104Mon May 14 19:28:21 BST 2007 Olly Betts <olly@survex.com> 24105 24106 * queryparser/dir_contents: Update to mention TermGenerator. 24107 24108Mon May 14 19:12:12 BST 2007 Olly Betts <olly@survex.com> 24109 24110 * queryparser/queryparser.lemony: Fix handling of WILDCARD_TERM and 24111 PARTIAL_TERM for prefixed terms. 24112 * tests/queryparsertest.cc: Add test coverage for this. 24113 24114Mon May 14 18:02:22 BST 2007 Olly Betts <olly@survex.com> 24115 24116 * tests/queryparsertest.cc: Add more testcases for wildcarded queries. 24117 24118Mon May 14 17:39:30 BST 2007 Olly Betts <olly@survex.com> 24119 24120 * queryparser/queryparser.lemony: Fix handling of partial queries. 24121 24122Mon May 14 16:49:46 BST 2007 Olly Betts <olly@survex.com> 24123 24124 * net/remoteconnection.cc: closesocket() seems to work equally as 24125 well as CloseHandle() but it's what we use elsewhere and Charlie 24126 thinks it's a better choice here too so use that instead. Rename 24127 the wrapper call from close_fd_or_handle() to close_fd_or_socket(). 24128 And mark close_fd_or_socket() as "inline" under UNIX, since it 24129 should always be inlined. 24130 24131Mon May 14 15:30:13 BST 2007 Olly Betts <olly@survex.com> 24132 24133 * tests/api_anydb.cc: Add FIXME about moving wildquery1. 24134 24135Mon May 14 15:21:59 BST 2007 Olly Betts <olly@survex.com> 24136 24137 * bin/xapian-progsrv.cc: Improve comments. 24138 24139Mon May 14 11:29:14 BST 2007 Richard Boulton <richard@lemurconsulting.com> 24140 24141 * net/remoteconnection.cc: Deal with invalid parameter exceptions 24142 on windows when closing file descriptors or handles. 24143 24144Mon May 14 05:04:16 BST 2007 Olly Betts <olly@survex.com> 24145 24146 * tests/api_anydb.cc: Fix wildquery1 to work with the new term 24147 stemming scheme. 24148 24149Sun May 13 19:15:17 BST 2007 Olly Betts <olly@survex.com> 24150 24151 * include/xapian/unicode.h: Count control characters as whitespace 24152 (which is certainly what we want for TAB, CR, LF, and FF). 24153 24154Sun May 13 17:50:19 BST 2007 Olly Betts <olly@survex.com> 24155 24156 * include/xapian/unicode.h: Add CONNECTOR_PUNCTUATION to is_wordchar() 24157 - this category includes '_' and characters which fulfil similar 24158 roles. 24159 * queryparser/queryparser.lemony,queryparser/termgenerator_internal.cc: 24160 No longer need to special case '_'. 24161 * queryparser/queryparser.lemony: Test for Unicode "whitespace" rather 24162 than just ASCII. 24163 24164Sun May 13 04:43:37 BST 2007 Olly Betts <olly@survex.com> 24165 24166 * queryparser/queryparser.lemony: Normalise Unicode characters used 24167 for apostrophe to ASCII apostrophe. 24168 24169Sun May 13 03:56:17 BST 2007 Olly Betts <olly@survex.com> 24170 24171 * include/xapian/unicode.h,unicode/tclUniData.cc: Update Unicode 24172 routines to use Unicode 5.0.0 and support characters outside the BMP 24173 (so we now support all Unicode characters in the latest version of 24174 the standard). 24175 * tests/api_unicode.cc: Add test unicode1 which performs some simple 24176 tests of the categorisation function, include one which tests for a 24177 character added in Unicode 5.0.0. 24178 24179Sat May 12 06:01:50 BST 2007 Olly Betts <olly@survex.com> 24180 24181 * queryparser/queryparser.lemony: Update comment. 24182 24183Sat May 12 04:23:01 BST 2007 Olly Betts <olly@survex.com> 24184 24185 * queryparser/queryparser.lemony: Improve description of Term class. 24186 24187Sat May 12 04:16:47 BST 2007 Olly Betts <olly@survex.com> 24188 24189 * queryparser/queryparser.lemony: Update to implement the new stemming 24190 scheme. 24191 * tests/queryparsertest.cc: Update testcases, and check that the new 24192 parses are all reasonable. 24193 24194Sat May 12 04:03:55 BST 2007 Olly Betts <olly@survex.com> 24195 24196 * include/xapian/unicode.h: Xapian::Unicode::get_category() now checks 24197 for characters outside the BMP, and assumes they're of category 24198 OTHER_LETTER. Remove BMP check from all functions which use 24199 Xapian::Unicode::get_category(). 24200 24201Sat May 12 04:02:52 BST 2007 Olly Betts <olly@survex.com> 24202 24203 * include/xapian/queryparser.h: Fix typo in comment. 24204 24205Fri May 11 05:45:38 BST 2007 Olly Betts <olly@survex.com> 24206 24207 * net/remoteserver.cc: Make "Server is read-only" be of type 24208 InvalidOperationError not NetworkError. This is arguably more 24209 appropriate anyway, but in particular it avoids a worrying looking 24210 (but harmless) warning when a read-only connection is closed, due 24211 dtor_called() calling flush() on a read-only database. 24212 24213Fri May 11 01:35:31 BST 2007 Olly Betts <olly@survex.com> 24214 24215 * docs/Makefile.am: Disable more documentation rules if 24216 MAINTAINER_NO_DOCS is true. 24217 24218Thu May 10 23:01:13 BST 2007 Richard Boulton <richard@lemurconsulting.com> 24219 24220 * net/remoteconnection.cc: Remove definition of unused macro 24221 XAPIAN_MSVC_INVALID_PARAMETER_HANDLER. 24222 24223Thu May 10 19:24:23 BST 2007 Olly Betts <olly@survex.com> 24224 24225 * include/xapian/enquire.h: Try quoting qualified identifiers in 24226 #pragma deprecated. 24227 24228Thu May 10 15:58:37 BST 2007 Olly Betts <olly@survex.com> 24229 24230 * include/xapian/enquire.h: Give full scope in '#pragma deprecated' 24231 to try to avoid false positives. 24232 24233Thu May 10 14:53:08 BST 2007 Olly Betts <olly@survex.com> 24234 24235 * include/xapian/enquire.h: Use '#pragma deprecated' to work around 24236 MSVC stupidity (you get a warning for deprecating a declaration). 24237 24238Thu May 10 13:42:49 BST 2007 Olly Betts <olly@survex.com> 24239 24240 * configure.ac: Some GCC 3.x versions produce bogus warnings, so only 24241 automatically enable -Werror on --enable-maintainer-mode under GCC 24242 if we're using GCC >= 4.0. Most developers will be using GCC 4.x 24243 soon if they aren't already anyway. 24244 * HACKING: Update documentation in line with the above. Mention that 24245 we also enable -Werror for Intel's C++ compiler. 24246 24247Thu May 10 05:06:22 BST 2007 Olly Betts <olly@survex.com> 24248 24249 * configure.ac: Detect __WIN32__ by running the preprocessor so we 24250 don't get confused by building mingw in a cygwin environment. 24251 24252Thu May 10 04:52:21 BST 2007 Olly Betts <olly@survex.com> 24253 24254 * net/tcpserver.cc: Exit with EX_UNAVAILABLE if the mutex tells us 24255 xapian-tcpsrv is already running on this port. 24256 24257Thu May 10 04:44:10 BST 2007 Olly Betts <olly@survex.com> 24258 24259 * common/Makefile.mk,common/safe.cc,common/safeunistd.h: Pulling 24260 in safewindows.h from safeunistd.h causes clashes with NEAR 24261 in the QueryParser, so use a helper function to call Sleep 24262 and just call that from the header. 24263 24264Thu May 10 04:36:19 BST 2007 Olly Betts <olly@survex.com> 24265 24266 * net/tcpserver.cc: Fix compilation error. 24267 24268Thu May 10 04:26:31 BST 2007 Olly Betts <olly@survex.com> 24269 24270 * common/tcpserver.h,net/tcpserver.cc: Just pass the mutex to 24271 get_listening_socket() by reference to avoid MSVC warnings. 24272 24273Thu May 10 04:19:13 BST 2007 Olly Betts <olly@survex.com> 24274 24275 * common/safeunistd.h: Use Sleep() instead of _sleep() as the latter 24276 gives deprecation warnings. Sadly that means that safeunistd.h 24277 now has to pull in safewindows.h. 24278 24279Thu May 10 04:07:53 BST 2007 Olly Betts <olly@survex.com> 24280 24281 * common/tcpserver.h,net/tcpserver.cc: Keep track of the mutex so 24282 we can release it right after we close the listening socket. 24283 Throw an error if we fail to get the mutex to avoid a possible 24284 race condition (we might end up with the socket listening but 24285 without the mutex locked). Always call closesocket() on the 24286 listening socket under __WIN32__ to ensure resources are released. 24287 24288Thu May 10 02:48:31 BST 2007 Olly Betts <olly@survex.com> 24289 24290 * net/tcpserver.cc: Use a mutex under Cygwin and WIN32 to allow use to 24291 use Microsoft's broken SO_REUSEADDR on our listening socket, but 24292 avoid being able to run two copies of xapian-tcpsrv on the same port 24293 at once (tweaked patch from MarkH). 24294 * net/tcpserver.cc: Don't try to set SO_EXCLUSIVEADDRUSE if a previous 24295 setsockopt() call failed as we might stomp on the error code. 24296 24297Thu May 10 02:15:20 BST 2007 Olly Betts <olly@survex.com> 24298 24299 * Makefile.am,bin/Makefile.mk,configure.ac,docs/Makefile.am, 24300 examples/Makefile.mk: Add new Automake conditional 24301 "MAINTAINER_NO_DOCS" to allow use to disable references to built 24302 documentation in maintainer builds if --disable-documentation is 24303 specified. This allows Mark's buildbot to work without installing 24304 so many tools, some of which aren't packaged for Cygwin. 24305 24306Thu May 10 02:03:44 BST 2007 Olly Betts <olly@survex.com> 24307 24308 * Makefile.am: Build rules for running generate-exceptions should be 24309 controlled by MAINTAINER_MODE not DOCUMENTATION_RULES, part II. 24310 24311Thu May 10 01:49:42 BST 2007 Olly Betts <olly@survex.com> 24312 24313 * docs/deprecation.rst: Add Error::get_type(). 24314 24315Thu May 10 01:25:37 BST 2007 Olly Betts <olly@survex.com> 24316 24317 * api/error.cc,generate-exceptions.in: Add new constructors which 24318 allow error_string to be set directly, for use by the Xapian::Error 24319 unserialising code. 24320 * generate-exceptions.in: Xapian::Error::get_type() now returns 24321 const char * not std::string. 24322 * backends/quartz/quartz_database.cc: Fix code to handle changed 24323 return type of Xapian::Error::get_type(). 24324 * net/serialise.cc: Include error_string in the serialisation. 24325 * common/remoteprotocol.h,docs/remote_protocol.html: Bump protocol 24326 version to 29 because of change in Xapian::Error serialisation. 24327 24328Wed May 09 14:42:33 BST 2007 Olly Betts <olly@survex.com> 24329 24330 * queryparser/queryparser.lemony: Renaming match_nothing_ 24331 member of QpQuery to match_nothing. Comment out unused 24332 QpQuery::get_description(). Add FIXME comment about 24333 apparently redundant logic (now's not really the time 24334 to be fiddling with such things). 24335 24336Wed May 09 14:27:02 BST 2007 Olly Betts <olly@survex.com> 24337 24338 * queryparser/queryparser.lemony: Update to match new TermGenerator 24339 class. '_' is now a term character, not a phrase generator. We 24340 only keep a suffix which has 3 or fewer characters, and we no longer 24341 count '-' as a suffix character. 24342 * tests/queryparsertest.cc: Update test cases to match new behaviour. 24343 In almost every case the new rules give a better result. 24344 24345Wed May 09 14:15:38 BST 2007 Olly Betts <olly@survex.com> 24346 24347 * languages/compiler/space.c: Add sanity check to b_to_s(), 24348 highlighted by MSVC warning. 24349 24350Wed May 09 14:06:24 BST 2007 Olly Betts <olly@survex.com> 24351 24352 * tests/btreetest.cc: Return filesize as off_t to avoid MSVC warning 24353 about truncating from 64 to 32 bits (the filesize will never be 24354 more than a few K here, so this is essentially a cosmetic issue). 24355 24356Wed May 09 04:04:03 BST 2007 Olly Betts <olly@survex.com> 24357 24358 * common/tcpserver.h,net/tcpserver.cc: Always starting the server in a 24359 new thread in "one-shot" mode is trickier than it looked, so revert 24360 that change for now. Always call closesocket() on our sockets under 24361 __WIN32__. 24362 24363Wed May 09 01:53:43 BST 2007 Olly Betts <olly@survex.com> 24364 24365 * common/tcpserver.h,net/tcpserver.cc: Make UNIX signal handling 24366 functions and WIN32 CrtlHandler static. TcpServer::run() is now 24367 generic, calling an OS-specific TcpServer::run_once(). Now we 24368 always run the server in a new thread in "one-shot" mode, which 24369 gives better code coverage in apitest as it runs more like a normal 24370 xapian-tcpsrv would. CtrlHandler now lets the OS handle the event 24371 if it doesn't have a socket to close, or if closesocket() fails. 24372 24373Wed May 09 01:42:33 BST 2007 Olly Betts <olly@survex.com> 24374 24375 * net/remoteconnection.cc: DWORD is unsigned, so received can't be 24376 negative - tidy up the ReadFile() loop taking this into account. 24377 24378Wed May 09 01:28:48 BST 2007 Olly Betts <olly@survex.com> 24379 24380 * net/remoteconnection.cc: ReadFile() doesn't set errno, so remove 24381 test for EINTR which is just a hangover from the UNIX code. 24382 24383Tue May 08 23:50:33 BST 2007 Olly Betts <olly@survex.com> 24384 24385 * queryparser/termgenerator_internal.cc: Treat '_' as a word character 24386 which seems to be the correct thing to do in general. Generate 24387 unstemmed terms with positional information for all words without a 24388 prefix, and stemmed terms without positional information for 24389 non-stopwords with a 'Z' prefix. This means we can implement exact 24390 phrase search, and prefixing stemmed forms (rather than unstemmed 24391 as Omega < 1.0 does) means fewer terms with the prefix. Only 24392 stemming non-stopwords cuts a significant amount of the database 24393 size in my tests. 24394 24395Tue May 08 18:22:30 BST 2007 Olly Betts <olly@survex.com> 24396 24397 * net/tcpserver.cc: Fix remaining use of handle_one_request in 24398 __WIN32__-specific code. 24399 24400Tue May 08 18:10:12 BST 2007 Olly Betts <olly@survex.com> 24401 24402 * api/error.cc: Really fix it... 24403 24404Tue May 08 17:38:04 BST 2007 Olly Betts <olly@survex.com> 24405 24406 * api/error.cc: Fix another paste-o! 24407 24408Tue May 08 17:28:29 BST 2007 Olly Betts <olly@survex.com> 24409 24410 * api/error.cc: Remove bogus statement in __WIN32__ case left over 24411 from cut-and-paste. 24412 24413Tue May 08 17:10:53 BST 2007 Olly Betts <olly@survex.com> 24414 24415 * common/tcpserver.h,net/tcpserver.cc: Rename 24416 TcpServer::handle_one_request() to 24417 TcpServer::handle_one_connection() (to make it clearer that it 24418 handles a connection rather than a single MSG/REPLY exchange), and 24419 use it in UNIX builds too to avoid duplicating its code. Catch 24420 NetworkTimeoutError here and report it if we're in verbose mode. 24421 * net/remoteserver.cc: If we catch NetworkTimeoutError then try to 24422 propagate it only if we can send it right away, then rethrow it 24423 to close the connection and let the caller log it. If we catch 24424 any other NetworkError then just rethrow it. 24425 24426Tue May 08 16:52:50 BST 2007 Olly Betts <olly@survex.com> 24427 24428 * common/noreturn.h: Add missing '#endif'. 24429 24430Tue May 08 16:19:05 BST 2007 Olly Betts <olly@survex.com> 24431 24432 * common/Makefile.mk,common/noreturn.h: New header which defines 24433 XAPIAN_NORETURN() to allow functions which don't return to be 24434 marked as such so the compiler can take this into account when 24435 generating code. 24436 * api/error.cc,tests/harness/backendmanager.cc: Remove any trailing 24437 "\r\n" from the output of FormatMessage(). 24438 24439Tue May 08 16:16:55 BST 2007 Olly Betts <olly@survex.com> 24440 24441 * include/xapian/deprecated.h: Use `__attribute__((__deprecated__))' 24442 instead of `__attribute__((deprecated))' so we're even robust 24443 against some clown doing `#define deprecated foo'. 24444 24445Tue May 08 16:15:30 BST 2007 Olly Betts <olly@survex.com> 24446 24447 * bin/quartzcheck.cc,tests/harness/backendmanager.cc: In these files 24448 we have to disable XAPIAN_DEPRECATED() since we need to be able to 24449 use Quartz::open() - move this to the start of the #include block 24450 to avoid problems with any intermediate header implicitly including 24451 <xapian.h>. 24452 24453Tue May 08 14:51:37 BST 2007 Olly Betts <olly@survex.com> 24454 24455 * HACKING: Move section on "Configure Options" to a more logical spot 24456 just before "Makefile Portability". Add section on how to use 24457 XAPIAN_DEPRECATED() noting the issue with GCC 3.3.5 not allowing 24458 it to be used on an inline method definition. 24459 * include/xapian/deprecated.h: Add pointers to HACKING and 24460 docs/deprecated.rst. 24461 24462Tue May 08 13:57:17 BST 2007 Olly Betts <olly@survex.com> 24463 24464 * generate-exceptions.in: We can't use XAPIAN_DEPRECATED() on 24465 a function definition with GCC 3.3.5, so use it on a declaration 24466 and then define inline but out of the class. 24467 24468Tue May 08 13:45:48 BST 2007 Olly Betts <olly@survex.com> 24469 24470 * net/tcpserver.cc: We must call closesocket() (instead of just 24471 close()) under __WIN32__ or else the socket remains in the 24472 CLOSE_WAIT state. 24473 24474Tue May 08 12:17:19 BST 2007 Richard Boulton <richard@lemurconsulting.com> 24475 24476 * docs/deprecation.rst: Add Error::get_errno() to the deprecation 24477 list for the bindings, too. 24478 24479Tue May 08 10:09:27 BST 2007 Richard Boulton <richard@lemurconsulting.com> 24480 24481 * docs/deprecation.rst: Change the xapian_version functions to be 24482 marked for removal in 1.1.0, and also note them in the bindings 24483 section. 24484 24485Tue May 08 04:27:37 BST 2007 Olly Betts <olly@survex.com> 24486 24487 * backends/remote/remote-database.cc,common/remote-database.h: The 24488 timeout parameter to RemoteDatabase wasn't being used, instead the 24489 client would wait indefinitely for the server to respond. 24490 24491Tue May 08 04:16:45 BST 2007 Olly Betts <olly@survex.com> 24492 24493 * generate-exceptions.in: Initialise error_string in Xapian::Error 24494 ctor. 24495 24496Tue May 08 03:48:47 BST 2007 Olly Betts <olly@survex.com> 24497 24498 * api/error.cc: Fix compilation when HAVE_HSTRERROR isn't defined. 24499 24500Tue May 08 02:35:04 BST 2007 Olly Betts <olly@survex.com> 24501 24502 * api/error.cc,bin/xapian-tcpsrv.cc,examples/delve.cc, 24503 generate-exceptions.in,tests/harness/testsuite.cc: Error subclasses 24504 now store the error_string in the class, converting it from the 24505 error code in my_errno lazily. Also, get_error_string() now returns 24506 const char *. 24507 24508Tue May 08 01:34:56 BST 2007 Olly Betts <olly@survex.com> 24509 24510 * Makefile.am: Build rules for running generate-exceptions should be 24511 controlled by MAINTAINER_MODE not DOCUMENTATION_RULES. 24512 24513Tue May 08 01:23:22 BST 2007 Olly Betts <olly@survex.com> 24514 24515 * bin/xapian-tcpsrv.cc,docs/deprecation.rst,generate-exceptions.in, 24516 net/tcpserver.cc,tests/harness/testsuite.cc: Deprecate 24517 Error::get_errno() in favour of Error::get_error_string(). We can't 24518 pass errno values from remote server to client as they aren't 24519 portable and the server and client may be running on entirely 24520 different platforms! 24521 * generate-exceptions.in: Mark as generated with @configure_input@. 24522 24523Tue May 08 01:20:43 BST 2007 Olly Betts <olly@survex.com> 24524 24525 * backends/flint/flint_database.cc,backends/flint/flint_lock.h: Make 24526 FlintLock's dtor release the lock (if held) which avoids the need 24527 for any special handling in FlintDatabase. 24528 24529Mon May 07 21:15:33 BST 2007 Olly Betts <olly@survex.com> 24530 24531 * tests/harness/unixcmds.cc: Use O_BINARY when opening a file to 24532 "touch" it. 24533 24534Mon May 07 17:28:43 BST 2007 Richard Boulton <richard@lemurconsulting.com> 24535 24536 * backends/flint/flint_database.cc: Add try{}catch(...){} block to 24537 ensure that lock is released if an exception occurs in the 24538 FlintDatabase() constructor. 24539 * tests/api_db.cc: Add regression test for releasing lock on error 24540 in constructor. 24541 24542Mon May 07 11:10:33 BST 2007 Richard Boulton <richard@lemurconsulting.com> 24543 24544 * HACKING: Update section on multiple output rules to detail the 24545 workaround described in the automake manual. 24546 24547Mon May 07 10:03:50 BST 2007 Richard Boulton <richard@lemurconsulting.com> 24548 24549 * backends/flint/flint_database.cc,backends/flint/flint_database.h, 24550 backends/flint/flint_version.cc,backends/quartz/,exception_data.pm, 24551 include/xapian/database.h,tests/api_db.cc: Throw 24552 DatabaseVersionError instead of DatabaseOpeningError when database 24553 version is unsupported. This is a new error class, which is a 24554 subclass of DatabaseOpeningError, so most existing scripts 24555 shouldn't need changing, but makes it easy for application 24556 writers to determine whether a database needs upgrading or 24557 whether the problem is something else. Should fix #144. 24558 24559Mon May 07 09:22:01 BST 2007 Olly Betts <olly@survex.com> 24560 24561 * net/progclient.cc: Under __WIN32__, use byte mode on pipes because 24562 message mode fails for message > 256 bytes, and use "overlapped" 24563 mode so we don't block waiting for a reply so that timeouts work. 24564 (Patch from Mark Hammond). 24565 24566Mon May 07 03:03:10 BST 2007 Olly Betts <olly@survex.com> 24567 24568 * tests/api_anydb.cc,tests/apitest.cc,tests/harness/: Now 24569 TEST_EQUAL_DOUBLE() should work everywhere. Move the helper 24570 function out of the header. Use TEST_EQUAL_DOUBLE() instead 24571 of doubles_are_equal_enough() and weights_are_equal_enough() 24572 which do much the same job. 24573 24574Mon May 07 01:13:29 BST 2007 Olly Betts <olly@survex.com> 24575 24576 * tests/harness/testsuite.h: Report extra info to try to work out why 24577 MSVC build is failing expandweights1. 24578 24579Mon May 07 00:26:59 BST 2007 Olly Betts <olly@survex.com> 24580 24581 * tests/harness/testsuite.h: Another tweak to TEST_EQUAL_DOUBLE(). 24582 24583Sun May 06 22:30:26 BST 2007 Olly Betts <olly@survex.com> 24584 24585 * docs/quickstart.html: Remove reference to DA databases since the 24586 muscat36 backend has been removed. Update to recommend GCC 3.3 24587 or later, as we do elsewhere. Change references to "quartz" to 24588 say "flint", or remove them. 24589 24590Sun May 06 16:02:28 BST 2007 Olly Betts <olly@survex.com> 24591 24592 * configure.ac: Set version to mythical 0.9.99. 24593 24594Sun May 06 15:06:01 BST 2007 Richard Boulton <richard@lemurconsulting.com> 24595 24596 * tests/api_db.cc: Add test_flintdatabaseformaterror1() which 24597 checks what happens when an old-format flint database is opened. 24598 It generates the old-format database by making a fake "iamflint" 24599 file containing an old version number. 24600 24601Sun May 06 04:00:39 BST 2007 Olly Betts <olly@survex.com> 24602 24603 * expand/ortermlist.cc: Remove incorrect assertion check in 24604 OrTermList::next(), replacing it with anexplanatory comment. 24605 24606Sun May 06 02:42:30 BST 2007 Olly Betts <olly@survex.com> 24607 24608 * net/remoteconnection.cc: Fix typo. 24609 24610Sun May 06 02:39:23 BST 2007 Olly Betts <olly@survex.com> 24611 24612 * net/remoteconnection.cc: Aha! Richard's patch failed to compile 24613 because stdlib.h was in "#ifndef __WIN32__" not "#ifdef __WIN32__". 24614 24615Sun May 06 02:27:18 BST 2007 Olly Betts <olly@survex.com> 24616 24617 * net/remoteconnection.cc: Protect _set_invalid_parameter_handler, etc 24618 by _MSC_VER >= 1400 (MSVC 2005) and __STDC_SECURE_LIB__ (undocumented 24619 but cribbed from the Python sources). Refactor into a handy class 24620 (MSVCIgnoreInvalidParameter) which just needs to be instantiated in 24621 the scope where you want to allow invalid parameters to be passed. 24622 24623Sun May 06 01:42:06 BST 2007 Olly Betts <olly@survex.com> 24624 24625 * net/remoteconnection.cc: Rework use of _invalid_parameter_handler to 24626 only apply when _MSC_VER is defined, to fix the mingw build. 24627 24628Sat May 05 22:30:01 BST 2007 Richard Boulton <richard@lemurconsulting.com> 24629 24630 * net/remoteconnection.cc: Under __WIN32__, add an invalid 24631 parameter handler which ignores the error and use it for the 24632 calls to _get_osfhandle() which are sometimes expected to fail. 24633 Requires stdlib.h according to msdn, so also #include that. 24634 24635Sat May 05 20:43:29 BST 2007 Olly Betts <olly@survex.com> 24636 24637 * bin/xapian-progsrv.cc,bin/xapian-tcpsrv.cc,common/remoteconnection.h, 24638 common/remoteserver.h,common/tcpserver.h,net/remoteserver.cc, 24639 net/tcpserver.cc: Open a fresh copy of the database(s) on each 24640 connection to a xapian-tcpsrv rather than relying on being able to 24641 share a database across fork() or between threads (which we don't 24642 promise will work). Largely based on patch from Mark Hammond. 24643 Fixes some of bug#141 and all of bug#142. 24644 24645Sat May 05 02:19:39 BST 2007 Olly Betts <olly@survex.com> 24646 24647 * api/omdatabase.cc: Use RETURN() not return in methods with debug 24648 logging. 24649 24650Sat May 05 02:19:11 BST 2007 Olly Betts <olly@survex.com> 24651 24652 * bin/xapian-compact.cc: Fix typo in comment. 24653 24654Fri May 04 23:59:54 BST 2007 Olly Betts <olly@survex.com> 24655 24656 * backends/flint/flint_version.cc: Remove the "u" suffix from 24657 FLINT_VERSION as it's confusing in the "wrong format version" 24658 error message and doesn't seem needed in the code. 24659 24660Fri May 04 23:56:32 BST 2007 Richard Boulton <richard@lemurconsulting.com> 24661 24662 * backends/flint/: Revert patch from revision 8426 (except for the 24663 bit which removed the unused prototypes), to avoid the 24664 possibility that it introduces bugs into the code just before 24665 1.0.0. The patch is attached to bug #143 for later reference. 24666 24667Fri May 04 23:50:39 BST 2007 Olly Betts <olly@survex.com> 24668 24669 * examples/delve.cc: Report the error string if we catch Xapian::Error 24670 while trying to open a database. 24671 24672Fri May 04 22:50:54 BST 2007 Olly Betts <olly@survex.com> 24673 24674 * docs/intro_ir.html: Fix a few typos; elaborate on a few points. 24675 24676Fri May 04 20:07:44 BST 2007 Richard Boulton <richard@lemurconsulting.com> 24677 24678 * queryparser/termgenerator_internal.cc: Fix bug in termgenerator - 24679 arguments to add_posting were the wrong way round. 24680 24681Fri May 04 20:00:40 BST 2007 Olly Betts <olly@survex.com> 24682 24683 * queryparser/termgenerator_internal.cc: Limit term length, handle 24684 infix and suffix characters, and convert apostrophes to ASCII 24685 representation. 24686 24687Fri May 04 19:47:43 BST 2007 Olly Betts <olly@survex.com> 24688 24689 * include/xapian/unicode.h: Fill in remaining missing documentation 24690 comments. 24691 24692Fri May 04 19:30:56 BST 2007 Olly Betts <olly@survex.com> 24693 24694 * include/xapian/termgenerator.h: Add convenience version of 24695 index_text() and index_text_without_positions() which take a 24696 std::string instead of a Utf8Iterator. 24697 24698Fri May 04 17:11:11 BST 2007 Richard Boulton <richard@lemurconsulting.com> 24699 24700 * unicode/utf8itor.cc: Fix segfault bug in Utf8Iterator::operator*(). 24701 If this was called when the iterator had reached end, invalid 24702 memory was accessed because p was compared to end, p will always 24703 be set to NULL when the iterator reaches the end. No regression 24704 test, but the smoketest tests I'm implementing in the bindings 24705 will exercise this code. 24706 24707Fri May 04 16:29:51 BST 2007 Richard Boulton <richard@lemurconsulting.com> 24708 24709 * include/xapian/unicode.h: Add documentation comments to 24710 Utf8Iterator, so I don't have to work out how it works again. 24711 24712Fri May 04 14:55:32 BST 2007 Richard Boulton <richard@lemurconsulting.com> 24713 24714 * include/xapian/unicode.h: Add assign() function which takes a 24715 string, for symmetry with the constructors. Also makes 24716 implementing the bindings easier. 24717 24718Fri May 04 13:04:52 BST 2007 Richard Boulton <richard@lemurconsulting.com> 24719 24720 * include/Makefile.mk: Add termgenerator.h to distribution 24721 tarballs. 24722 24723Fri May 04 03:41:56 BST 2007 Olly Betts <olly@survex.com> 24724 24725 * tests/harness/testsuite.h: Test against pow(10, -DBL_DIG) rather 24726 than DBL_EPSILON. DBL_EPSILON is a little bit smaller, but we use 24727 DBL_DIG for displaying the numbers and it looks stupid to say two 24728 numbers which are displayed identically should be nearly the same! 24729 24730Fri May 04 03:33:51 BST 2007 Olly Betts <olly@survex.com> 24731 24732 * HACKING: Fix reference to --enable-maitainer-mode and documentation 24733 rebuilding. 24734 24735Fri May 04 03:32:57 BST 2007 Olly Betts <olly@survex.com> 24736 24737 * configure.ac: Fix now erroneous references to tools "required in 24738 maintainer mode" to "required to build documentation". 24739 24740Fri May 04 01:49:05 BST 2007 Olly Betts <olly@survex.com> 24741 24742 * HACKING: Document --enable-documentation. 24743 24744Fri May 04 01:38:44 BST 2007 Olly Betts <olly@survex.com> 24745 24746 * Makefile.am,bin/Makefile.mk,configure.ac,docs/Makefile.am, 24747 examples/Makefile.mk: Add new configure option 24748 "--enable-documentation" which enables the make rules to rebuild the 24749 documentation. By default this follows the setting of 24750 "--enable-maintainer-mode" (so giving much the same behaviour as 24751 currently), but the documentation rules can now be controlled 24752 independently. Also, if documentation isn't being built, the 24753 configure probes for tools required to rebuild it are no longer run 24754 which should shorten configure time a bit for end-users building 24755 releases. 24756 24757Thu May 03 22:07:39 BST 2007 Olly Betts <olly@survex.com> 24758 24759 * common/remoteserver.h: Remove unused default values for 24760 active_timeout_ and idle_timeout_ parameters. Fix repeated typo 24761 in documentation comments ('millisrconds' -> 'milliseconds'). 24762 24763Thu May 03 15:05:24 BST 2007 Olly Betts <olly@survex.com> 24764 24765 * include/xapian.h,include/xapian/termgenerator.h,queryparser/: 24766 Initial cut of TermGenerator class. 24767 24768Thu May 03 15:04:09 BST 2007 Olly Betts <olly@survex.com> 24769 24770 * generate-exceptions.in: Hide the internal constructors of generated 24771 error classes in the doxygen-generated API docs. 24772 24773Thu May 03 04:37:51 BST 2007 Olly Betts <olly@survex.com> 24774 24775 * expand/ortermlist.cc,expand/ortermlist.h: Fix compilation error when 24776 --enable-assertions is used. 24777 24778Thu May 03 03:57:42 BST 2007 Olly Betts <olly@survex.com> 24779 24780 * common/safeunistd.h: Provide a POSIX-compatible sleep() function. 24781 * common/utils.h: Remove inferior POSIX-compatible sleep() function. 24782 24783Thu May 03 03:17:02 BST 2007 Olly Betts <olly@survex.com> 24784 24785 * include/xapian/: Mark all @internal member variables and functions 24786 which aren't private with @private so doxygen doesn't document them. 24787 24788Thu May 03 02:33:09 BST 2007 Olly Betts <olly@survex.com> 24789 24790 * include/xapian/: Mark DocIDWrapper, RefCntBase, RefCntPtr, 24791 TermNameWrapper, and TermPosWrapper as "@internal" so that they don't 24792 show up in the doxygen-generated API documentation. In particular, 24793 this makes the class collaboration diagrams much more useful. 24794 * include/xapian/errorhandler.h: Declare the class in namespace Xapian 24795 rather than with namespace Xapian:: since the latter seems to 24796 confuse doxygen. 24797 24798Thu May 03 02:31:33 BST 2007 Olly Betts <olly@survex.com> 24799 24800 * include/xapian/unicode.h: Fix wrapping of comment. 24801 24802Thu May 03 00:05:23 BST 2007 Richard Boulton <richard@lemurconsulting.com> 24803 24804 * backends/flint/: Remove unused (and unimplemented) declarations 24805 of begin_transaction_(), commit_transaction_() and 24806 cancel_transaction_() from FlintWritableDatabase class. Tidy up 24807 handling of metainfo (total_length and lastdocid) to avoid 24808 repeatedly parsing the special record, and make it easier to 24809 store additional metainfo in future. 24810 Also, remove code which ensures that there is always a special 24811 record - this was added in revision 5459 when the special record 24812 was stored in the record table, so that the number of documents 24813 in the database could always be calculated by subtracting 1 from 24814 the number of entries in the record table. Now that the special 24815 record is stored in the postlist table, this is no longer 24816 necessary. 24817 24818Wed May 02 17:56:39 BST 2007 Olly Betts <olly@survex.com> 24819 24820 * backends/dbfactory_remote.cc,include/xapian/dbfactory.h: 24821 Remote::open_writable() now defaults to no (active) timeout. The 24822 connection timeouts for Remote::open() and Remote::open_writable() 24823 now default to 10 seconds rather than defaulting to the same as 24824 the active timeout (which defaults to 10 seconds). 24825 24826Wed May 02 16:00:22 BST 2007 Richard Boulton <richard@lemurconsulting.com> 24827 24828 * common/safeunistd.h,tests/harness/backendmanager.cc: Fix 24829 compilation on windows - safeunistd.h was undefining ssize_t 24830 and thus overriding the definition in config.h, and include 24831 safewindows.h for backendmanager.cc 24832 24833Wed May 02 15:34:33 BST 2007 Olly Betts <olly@survex.com> 24834 24835 * common/safeunistd.h: Don't define ssize_t here for MSVC - do it in 24836 config.h instead. This avoids pulling in <windows.h> which will 24837 hopefully fix another macro redefinition warning under MSVC. 24838 24839Wed May 02 15:20:56 BST 2007 Olly Betts <olly@survex.com> 24840 24841 * common/safewindows.h: Define NOGDI before including windows.h to 24842 prevent it from defining a macro called "ERROR" which collides with 24843 the generated queryparser sources, causing a warning in the MSVC 24844 build. 24845 24846Wed May 02 14:38:33 BST 2007 Olly Betts <olly@survex.com> 24847 24848 * common/termlist.h: Forward declare ExpandStats as "class" not 24849 "struct" for consistency with the actual declaration. 24850 24851Wed May 02 14:30:41 BST 2007 Olly Betts <olly@survex.com> 24852 24853 * configure.ac: Try '-lzlib' for zlib, which mingw reportedly needs. 24854 24855Wed May 02 14:21:40 BST 2007 Olly Betts <olly@survex.com> 24856 24857 * common/remoteconnection.h,include/xapian/dbfactory.h, 24858 net/remoteserver.cc: A timeout of `0' in the remote backend now 24859 means "no timeout" (code patch from Mark Hammond). 24860 24861Wed May 02 04:17:28 BST 2007 Olly Betts <olly@survex.com> 24862 24863 * Makefile.am,api/,backends/alltermslist.cc,backends/flint/, 24864 backends/inmemory/inmemory_database.cc, 24865 backends/inmemory/inmemory_database.h, 24866 backends/multi/multi_termlist.cc,backends/multi/multi_termlist.h, 24867 backends/quartz/,backends/remote/net_termlist.cc, 24868 backends/remote/net_termlist.h,backends/remote/remote-database.cc, 24869 common/,expand/,matcher/: Split expand functionality out of 24870 "matcher" subdirectory into new "expand" subdirectory since it's 24871 not really connected to query matching and the matcher subdirectory 24872 is one of the largest. Rewrite OrTermList, eliminating 24873 BranchTermList entirely. Alter expand to pass in an object (of 24874 class Xapian::Internal::ExpandWeight) which accumulates statistics 24875 instead of returning OmExpandBits objects which we then have to 24876 merge (and eliminating the need for LeafTermList entirely). Query 24877 expansion for multiple databases should now give results more like 24878 that for a single database with the same documents (if 24879 USE_EXACT_TERMFREQ is used, the results should be the same). Debug 24880 logging from expand is now all of type EXPAND (some was of types 24881 MATCHER and WTCALC before). 24882 24883Wed May 02 03:35:17 BST 2007 Olly Betts <olly@survex.com> 24884 24885 * docs/deprecation.rst: Add deprecation info for Omega too. 24886 24887Wed May 02 00:24:13 BST 2007 Olly Betts <olly@survex.com> 24888 24889 * tests/api_anydb.cc: Add test expandweights1 as a regression test for 24890 the previous commit. 24891 * tests/harness/testsuite.h: Set the precision for TEST_EQUAL_DOUBLE 24892 so we don't claim two numbers to be different yet display them the 24893 same! 24894 24895Tue May 01 23:27:10 BST 2007 Olly Betts <olly@survex.com> 24896 24897 * backends/remote/net_termlist.cc,backends/remote/remote-database.cc, 24898 common/remoteprotocol.h,docs/remote_protocol.html, 24899 net/remoteserver.cc: Fix handling of the document length in the 24900 termlist for the remote backend. 24901 24902Tue May 01 23:17:28 BST 2007 Olly Betts <olly@survex.com> 24903 24904 * tests/api_db.cc: Several tests were marked as "local db only" for 24905 historical reasons. Enable them for remote backends too. 24906 * backends/remote/net_postlist.cc,tests/api_db.cc: Fix a bug in 24907 NetworkPostList::skip_to() which apitest's postlist4 reveals. 24908 24909Tue May 01 21:00:26 BST 2007 Olly Betts <olly@survex.com> 24910 24911 * api/omtermlistiterator.cc,api/omvalueiterator.cc, 24912 backends/multi/multi_alltermslist.cc: Add explicit 24913 `#include "omassert.h"'. 24914 * backends/multi/multi_alltermslist.cc: Remove all explicit 24915 std:: qualifiers and add `using namespace std;'. 24916 24917Tue May 01 20:56:10 BST 2007 Olly Betts <olly@survex.com> 24918 24919 * common/multialltermslist.h: Add explicit std:: qualifiers for 24920 string, for consistency with std::vector in this header. 24921 24922Tue May 01 15:19:53 BST 2007 Olly Betts <olly@survex.com> 24923 24924 * matcher/branchpostlist.h: Don't check for NULL pointer before 24925 calling delete. 24926 24927Tue May 01 02:29:10 BST 2007 Olly Betts <olly@survex.com> 24928 24929 * common/document.h,common/documentterm.h,common/multialltermslist.h, 24930 matcher/rset.cc,queryparser/queryparser.cc: Add some explicit 24931 includes for headers which were previously only implicitly included 24932 (in preparation for a forthcoming change which removes some of the 24933 implicit inclusions). 24934 24935Tue May 01 01:20:53 BST 2007 Olly Betts <olly@survex.com> 24936 24937 * backends/database.cc,bin/quartzcheck.cc,docs/deprecation.rst, 24938 include/xapian/dbfactory.h,tests/api_db.cc, 24939 tests/harness/backendmanager.cc,tests/quartztest.cc: Deprecate 24940 the Quartz backend and related functions and utilities. 24941 24942Fri Apr 27 12:56:13 BST 2007 Olly Betts <olly@survex.com> 24943 24944 * tests/Makefile.am: Pass '-no-install' when linking test programs, 24945 since we don't ever install them. This means libtool doesn't need 24946 to generate shell script wrappers on most platforms. Also prefer 24947 '$(ldflags)' to '@ldflags' as the former allows the user to override 24948 when they run 'make' which is sometimes useful. 24949 24950Fri Apr 27 03:44:15 BST 2007 Olly Betts <olly@survex.com> 24951 24952 * docs/intro_ir.html: Add links for the various researchers mentioned 24953 by name. 24954 24955Thu Apr 26 17:57:10 BST 2007 Olly Betts <olly@survex.com> 24956 24957 * docs/bm25.html,docs/intro_ir.html: Assorted documentation 24958 improvements. 24959 24960Thu Apr 26 15:43:24 BST 2007 Richard Boulton <richard@lemurconsulting.com> 24961 24962 * docs/deprecation.rst: Update with changes to Python bindings. 24963 24964Thu Apr 26 06:01:45 BST 2007 Olly Betts <olly@survex.com> 24965 24966 * common/expandweight.h,matcher/expandweight.cc: Better handling of 24967 expand with multiple databases. 24968 24969Wed Apr 25 18:35:13 BST 2007 Olly Betts <olly@survex.com> 24970 24971 * api/omenquire.cc: Delete nonsensical comment. 24972 24973Wed Apr 25 17:41:58 BST 2007 Olly Betts <olly@survex.com> 24974 24975 * docs/deprecation.rst: Use the collective term "features" rather than 24976 overloading the term "functions". Casual readers may miss the 24977 definition altogether, and even dedicated readers will probably 24978 already have a strong mental image of what a "function" is in the 24979 context of an API. 24980 24981Wed Apr 25 14:52:11 BST 2007 Olly Betts <olly@survex.com> 24982 24983 * docs/intro_ir.html: Improve the look of the formulae. 24984 24985Wed Apr 25 03:56:18 BST 2007 Olly Betts <olly@survex.com> 24986 24987 * common/omqueryinternal.h,languages/generate-allsnowballheaders.in, 24988 matcher/msetcmp.h,queryparser/queryparser_internal.h: Add missing 24989 multiple inclusion guards. 24990 24991Wed Apr 25 03:12:50 BST 2007 Olly Betts <olly@survex.com> 24992 24993 * queryparser/queryparser_internal.h: Don't include <config.h> in 24994 a header file. 24995 24996Wed Apr 25 03:05:09 BST 2007 Olly Betts <olly@survex.com> 24997 24998 * queryparser/queryparser.cc: Initialise `internal' member inline 24999 for consistency with other classes. 25000 25001Tue Apr 24 04:55:45 BST 2007 Olly Betts <olly@survex.com> 25002 25003 * configure.ac: Add missing ')' to the error messages when zlib stuff 25004 isn't found. 25005 25006Tue Apr 24 02:56:57 BST 2007 Olly Betts <olly@survex.com> 25007 25008 * backends/flint/flint_database.h, 25009 backends/inmemory/inmemory_database.h, 25010 backends/quartz/quartz_database.h: MSVC doesn't handle using 25011 properly. 25012 25013Tue Apr 24 01:25:34 BST 2007 Olly Betts <olly@survex.com> 25014 25015 * matcher/bm25weight.cc,matcher/expandweight.cc: Fix typo in comments: 25016 'releveant' -> 'relevant'. 25017 25018Mon Apr 23 23:00:23 BST 2007 Olly Betts <olly@survex.com> 25019 25020 * api/omenquire.cc,docs/deprecation.rst,include/xapian/enquire.h, 25021 tests/api_anydb.cc,tests/api_db.cc: Deprecate 25022 Enquire::include_query_terms and Enquire::use_exact_termfreq in 25023 favour of capitalised versions Enquire::INCLUDE_QUERY_TERMS and 25024 Enquire::USE_EXACT_TERMFREQ (for consistency with our other 25025 manifest constants, and general C/C++ conventions). 25026 25027Mon Apr 23 18:14:20 BST 2007 Olly Betts <olly@survex.com> 25028 25029 * backends/flint/flint_table.cc,backends/quartz/btree.cc: Support for 25030 VLAs in C++ is a GCC extension, so eliminate the need for them. 25031 25032Mon Apr 23 16:32:07 BST 2007 Olly Betts <olly@survex.com> 25033 25034 * docs/: svn:ignore deprecation.html. svn:ignore apidoc.pdf and 25035 sourcedoc.pdf rather than *.pdf. 25036 25037Mon Apr 23 16:08:53 BST 2007 Olly Betts <olly@survex.com> 25038 25039 * tests/quartztest.cc: Resolve FIXME about MapTermList. 25040 25041Mon Apr 23 16:06:38 BST 2007 Olly Betts <olly@survex.com> 25042 25043 * api/valuerangeproc.cc,backends/flint/flint_check.cc, 25044 backends/flint/flint_table.cc,backends/quartz/btree.cc, 25045 backends/quartz/btreecheck.cc,bin/xapian-tcpsrv.cc,examples/, 25046 languages/steminternal.h,tests/harness/testsuite.cc, 25047 tests/harness/testsuite.h,tests/stemtest.cc: Fix compilation with 25048 GCC 4.3 snapshot. 25049 25050Mon Apr 23 15:20:55 BST 2007 Olly Betts <olly@survex.com> 25051 25052 * common/safeunistd.h: Comment tweaks. 25053 25054Mon Apr 23 11:54:14 BST 2007 Richard Boulton <richard@lemurconsulting.com> 25055 25056 * common/safeunistd.h: Include <process.h> on windows to get 25057 getpid() instead of using a #define. 25058 25059Mon Apr 23 11:30:56 BST 2007 Richard Boulton <richard@lemurconsulting.com> 25060 25061 * api/maptermlist.h: Fix typo in error message. 25062 25063Mon Apr 23 11:08:01 BST 2007 Richard Boulton <richard@lemurconsulting.com> 25064 25065 * api/maptermlist.h: Throw an InvalidOperationError() if 25066 MapTermList::get_termfreq() is called, instead of simply having 25067 Assert(false): this gets called if a term iterator is accessed 25068 for a freshly created Document, and the get_termfreq() method is 25069 called on it. The error message is specific to this situation, 25070 since this is the only place in which MapTermList is used. 25071 25072Mon Apr 23 03:22:54 BST 2007 Olly Betts <olly@survex.com> 25073 25074 * backends/flint/flint_database.cc,backends/flint/flint_lock.cc, 25075 backends/flint/flint_lock.h: Report why we failed to get a write 25076 lock on a flint database. 25077 25078Mon Apr 23 01:44:13 BST 2007 Olly Betts <olly@survex.com> 25079 25080 * backends/flint/flint_version.cc: Update the flint format version 25081 since older flint versions can't read compressed tags. 25082 25083Mon Apr 23 01:25:25 BST 2007 Olly Betts <olly@survex.com> 25084 25085 * configure.ac: Probe for zlib.h and -lz. 25086 * backends/flint/,bin/xapian-compact.cc: Use zlib to compress tags 25087 in the record and termlist tables. 25088 * tests/Makefile.am,tests/runtest.in,tests/valgrind.supp: Add a 25089 valgrind suppression for zlib (a known issue - for speed zlib 25090 deliberately reads past the end of the buffer in some cases). 25091 25092Sun Apr 22 04:24:06 BST 2007 Olly Betts <olly@survex.com> 25093 25094 * backends/flint/: Remove documentation for blocksize_ parameters 25095 which were removed some time ago. 25096 25097Sun Apr 22 00:02:13 BST 2007 Olly Betts <olly@survex.com> 25098 25099 * matcher/multimatch.cc: Track the minimum weight required to be 25100 considered for the MSet separately from the minimum item which 25101 could be considered. Trying to combine the two is causing subtle 25102 bugs (fixed bug#86). 25103 25104Sun Apr 22 00:00:39 BST 2007 Olly Betts <olly@survex.com> 25105 25106 * HACKING: Add notes about the files Omega uses from xapian-core. 25107 25108Sat Apr 21 23:49:58 BST 2007 Olly Betts <olly@survex.com> 25109 25110 * queryparser/queryparser.cc: Clear the stoplist when we parse a new 25111 query. 25112 * tests/queryparsertest.cc: Add regression test. 25113 25114Sat Apr 21 23:27:33 BST 2007 Olly Betts <olly@survex.com> 25115 25116 * Makefile.am,common/Makefile.mk,getopt/: Move getopt.cc from getopt/ 25117 to common/. Having a whole directory for a single source file 25118 is a bit extravagant, and putting it in common/ allows us to share a 25119 copy with omega easily. 25120 25121Sat Apr 21 21:38:20 BST 2007 Olly Betts <olly@survex.com> 25122 25123 * backends/flint/flint_database.cc,backends/quartz/quartz_database.cc, 25124 backends/quartz/quartz_log.cc,common/omdebug.h,common/safeunistd.h, 25125 tests/harness/testsuite.cc: safeunistd.h now defines getpid() to 25126 GetCurrentProcessId() for MSVC, and we now include this where we 25127 want to use getpid() rather than conditionally defining getpid(). 25128 25129Sat Apr 21 04:13:12 BST 2007 Olly Betts <olly@survex.com> 25130 25131 * configure.ac: Explicitly set AM_CXXFLAGS to an empty value to start 25132 with to avoid issues if it's set in the environment. Cache the 25133 results of the test to see if the C++ compiler actually works, and 25134 in the XAPIAN_TEST_LINKER_FLAG macro. 25135 * configure.ac, include/xapian/visibility.h: Add --disable-visibility 25136 option to configure to completely disable use of -fvisibility. 25137 * INSTALL: Document all --enable-backend-* options explicitly. 25138 Document how to disable use of -fvisibility and 25139 -Bsymbolic-functions should you want/need to. Improve wording in 25140 a few places. 25141 25142Fri Apr 20 19:20:23 BST 2007 Olly Betts <olly@survex.com> 25143 25144 * HACKING,configure.ac: Revert to requiring autoconf 2.59 so that the 25145 .spec file for building RPMs can run `autoreconf' to work around a 25146 libtool bug. 25147 25148Fri Apr 20 18:12:51 BST 2007 Olly Betts <olly@survex.com> 25149 25150 * docs/deprecation.rst: Document return type of ExpandDecider::Apply() 25151 and MatchDecider::Apply() in C# is now bool instead of int. 25152 25153Fri Apr 20 18:01:18 BST 2007 Olly Betts <olly@survex.com> 25154 25155 * xapian.spec.in: Package xapian-check and its man page. 25156 25157Fri Apr 20 14:38:00 BST 2007 Olly Betts <olly@survex.com> 25158 25159 * docs/deprecation.rst: Note changed return type of 25160 ExpandDecider::operator() and MatchDecider::operator(). 25161 25162Fri Apr 20 14:28:39 BST 2007 Olly Betts <olly@survex.com> 25163 25164 * include/xapian/enquire.h: MatchDecider::operator() now returns 25165 `bool' not `int'. Remove declaraction of ExpandDecider. 25166 * include/xapian/expanddecider.h: Move declaration of ExpandDecider 25167 to here. ExpandDecider::operator() now returns `bool' not `int'. 25168 ExpandDeciderAnd now names parameters `first' and `second' and 25169 documents the order in which they are applied (useful if you have 25170 an expensive and a cheap test). ExpandDeciderAnd can now take 25171 parameters by reference instead of pointer. 25172 * api/Makefile.mk,include/xapian/enquire.h,api/omenquire.cc, 25173 api/expanddecider.cc: New home for definitions of virtual methods of 25174 ExpandDecider and subclasses. 25175 * api/omenquire.cc,common/expand.h,matcher/expand.cc: Eliminate 25176 internal class ExpandDeciderAlways - just test pointer against NULL 25177 instead. 25178 * tests/api_anydb.cc,tests/api_db.cc: Update for change in return 25179 type from MatchDecider::operator() and ExpandDecider::operator(). 25180 25181Fri Apr 20 10:35:09 BST 2007 Richard Boulton <richard@lemurconsulting.com> 25182 25183 * HACKING: Add note on rules with multiple targets. 25184 25185Thu Apr 19 19:02:42 BST 2007 Olly Betts <olly@survex.com> 25186 25187 * PLATFORMS: Remove reports for 0.7.* and demote reports for 0.8.* to 25188 "older reports" status. All SF compilefarm machines are now "no 25189 longer available", so update the symbols and key to reflect this. 25190 25191Thu Apr 19 13:27:59 BST 2007 Olly Betts <olly@survex.com> 25192 25193 * HACKING: Fix vim magic comment. Add space after URL to stop 25194 '::' getting glued to it. 25195 25196Thu Apr 19 11:36:19 BST 2007 Richard Boulton <richard@lemurconsulting.com> 25197 25198 * HACKING: Turn syntax highlighting off, since it's broken for the 25199 restructured text in this file anyway. 25200 25201Thu Apr 19 03:26:28 BST 2007 Olly Betts <olly@survex.com> 25202 25203 * backends/flint/flint_database.h, 25204 backends/inmemory/inmemory_database.h, 25205 backends/quartz/quartz_database.h: 25206 The trick of importing base class methods with 'using' breaks 25207 compilation with GCC 2.95 which doesn't issue the warning we're 25208 trying to avoid, so add a preprocessor check, 25209 25210Thu Apr 19 03:20:31 BST 2007 Olly Betts <olly@survex.com> 25211 25212 * common/progclient.h,net/progclient.cc: Always use pid_t not int for 25213 holding a process id. 25214 25215Thu Apr 19 01:08:57 BST 2007 Olly Betts <olly@survex.com> 25216 25217 * docs/deprecation.rst: Update '#callable' footnote. 25218 25219Thu Apr 19 00:07:02 BST 2007 Olly Betts <olly@survex.com> 25220 25221 * backends/flint/flint_database.h, 25222 backends/inmemory/inmemory_database.h, 25223 backends/quartz/quartz_database.h: Add using declarations to 25224 subclasses of Xapian::Database::Internal which don't override the 25225 term forms of delete_document() and replace_document() to prevent 25226 compiler warnings about these methods being hidden. 25227 25228Wed Apr 18 23:22:29 BST 2007 Olly Betts <olly@survex.com> 25229 25230 * net/remoteconnection.cc: Remove code which can't actually be 25231 reached, which fixes a warning in the mingw build. 25232 25233Wed Apr 18 23:07:45 BST 2007 Olly Betts <olly@survex.com> 25234 25235 * api/omenquire.cc,common/multimatch.h,common/omenquireinternal.h, 25236 include/xapian/enquire.h,matcher/Makefile.mk, 25237 matcher/biaspostlist.h,matcher/multimatch.cc,net/remoteserver.cc: 25238 Remove Enquire::set_bias(). 25239 * docs/deprecation.rst: Update wrt Enquire::set_bias(). Fix typo. 25240 25241Wed Apr 18 18:51:42 BST 2007 Olly Betts <olly@survex.com> 25242 25243 * configure.ac: Require autoconf 2.60 or newer. Drop docdir 25244 compatibility hack which is no longer required. 25245 * HACKING: Document requirement. Fix typo (or out-of-date info) for 25246 automake requirement (we require 1.9.5 not 1.8.5). 25247 25248Wed Apr 18 18:27:35 BST 2007 Richard Boulton <richard@lemurconsulting.com> 25249 25250 * docs/deprecation.rst: Note the deprecation of get_description() 25251 methods for Python. 25252 25253Wed Apr 18 14:57:03 BST 2007 Richard Boulton <richard@lemurconsulting.com> 25254 25255 * HACKING: Minimal changes to make this into valid restructured 25256 text. 25257 25258Wed Apr 18 11:27:57 BST 2007 Richard Boulton <richard@lemurconsulting.com> 25259 25260 * configure.ac: Require autoconf version 2.59c or later: 25261 AC_TYPE_SSIZE_T isn't present in earlier versions. 25262 25263Wed Apr 18 11:08:13 BST 2007 Richard Boulton <richard@lemurconsulting.com> 25264 25265 * docs/deprecation.rst: Fix table formatting error 25266 25267Wed Apr 18 01:32:48 BST 2007 Richard Boulton <richard@lemurconsulting.com> 25268 25269 * docs/deprecation.rst: Update with methods which have been removed 25270 from the bindings. 25271 25272Wed Apr 18 00:24:00 BST 2007 Richard Boulton <richard@lemurconsulting.com> 25273 25274 * docs/deprecation.rst: Move methods which have just been removed 25275 from the list of deprecated methods to the list of removed 25276 methods. 25277 25278Tue Apr 17 23:58:53 BST 2007 Olly Betts <olly@survex.com> 25279 25280 * api/omdocument.cc,api/omenquire.cc,api/omquery.cc,include/xapian/, 25281 languages/stem.cc,tests/api_db.cc: Remove methods we're deprecating 25282 for 1.0. 25283 25284Tue Apr 17 23:50:06 BST 2007 Richard Boulton <richard@lemurconsulting.com> 25285 25286 * docs/deprecation.rst: Note that is_empty() is not deprecated for 25287 PHP after all! 25288 25289Tue Apr 17 22:17:41 BST 2007 Olly Betts <olly@survex.com> 25290 25291 * queryparser/queryparser.lemony: GCC 2.95 doesn't support 25292 std::string::clear(), so use resize(0) instead. 25293 * HACKING: Document the above issue in a reworked section on C++ 25294 STL features. Update the section on safeXXX.h headers. 25295 25296Tue Apr 17 22:07:39 BST 2007 Olly Betts <olly@survex.com> 25297 25298 * common/safesysselect.h: Correct typo in #error message. 25299 25300Tue Apr 17 19:18:00 BST 2007 Olly Betts <olly@survex.com> 25301 25302 * configure.ac: Factor out code to test for a linker flag into macro 25303 XAPIAN_TEST_LINKER_FLAG. With g++, use XAPIAN_TEST_LINKER_FLAG to 25304 see if -Bsymbolic-functions is supported (it requires a very recent 25305 version of ld currently). This option reduces the size and load 25306 time of the shared library by resolving references within the 25307 library when it's created. Currently untested on a box which 25308 supports -Bsymbolic-functions. 25309 25310Tue Apr 17 12:01:46 BST 2007 Olly Betts <olly@survex.com> 25311 25312 * unicode/utf8itor.cc: Tidy up code layout. 25313 25314Tue Apr 17 02:06:39 BST 2007 Olly Betts <olly@survex.com> 25315 25316 * include/xapian/unicode.h,unicode/utf8itor.cc: Make nonascii_to_utf8 25317 a public method. Make get_case_type(), get_category(), and 25318 get_delta() internal, but provide a public get_category() function 25319 which takes a Unicode character value. 25320 25321Tue Apr 17 02:05:32 BST 2007 Olly Betts <olly@survex.com> 25322 25323 * backends/flint/Makefile.mk: Distribute flint_check.h. 25324 25325Tue Apr 17 01:47:05 BST 2007 Olly Betts <olly@survex.com> 25326 25327 * tests/api_posdb.cc: The remote backend now supports all database 25328 operations, so merge localpositionaldb_tests into 25329 positionaldb_tests. 25330 * tests/: Remove the trivial separate api_XXXdb.h headers, some of 25331 which were out-of-step with their respective .cc sources. Instead 25332 just keep the array external declarations in apitest.h. 25333 * tests/apitest.h,tests/api_transdb.cc: Move TESTCASE and 25334 END_OF_TESTCASES macros into header. 25335 * tests/api_db.cc: Remove test collapsekey2 - it's only relevant for 25336 the Muscat 3.6 backend, so it's unused now that has been removed. 25337 * tests/: Add unicode tests, adapted from Omega's utftest. 25338 25339Tue Apr 17 00:14:16 BST 2007 Olly Betts <olly@survex.com> 25340 25341 * Makefile.am,include/Makefile.mk,include/xapian.h, 25342 include/xapian/unicode.h,queryparser/,unicode/: Expose Unicode and 25343 UTF-8 related classes and functions as a public API. 25344 25345Mon Apr 16 16:06:22 BST 2007 Richard Boulton <richard@lemurconsulting.com> 25346 25347 * docs/deprecation.rst: Bring document fully up-to-date, listing 25348 all the planned deprecations for the bindings. Also, include the 25349 full upgrade notes in the listings, so they can be preserved 25350 accessibly for posterity. I even retrieved the notes for the 25351 already-removed QueryParser::set_stemming_options from 0.9.10. 25352 25353Mon Apr 16 11:36:18 BST 2007 Olly Betts <olly@survex.com> 25354 25355 * net/tcpclient.cc: Call WSAGetLastError() instead of socket_errno() 25356 when we want to compare the result against WSAEWOULDBLOCK. 25357 25358Mon Apr 16 11:19:21 BST 2007 Olly Betts <olly@survex.com> 25359 25360 * common/remoteconnection.h,common/safewinsock2.h: Need to negate the 25361 POSIX error codes we define in terms of winsock ones. 25362 25363Fri Apr 13 16:24:29 BST 2007 Richard Boulton <richard@lemurconsulting.com> 25364 25365 * docs/doxygen_api_conf.in: Turn on XML output, so that we can use 25366 it to populate docstrings for the python bindings. 25367 25368Fri Apr 13 11:38:39 BST 2007 Olly Betts <olly@survex.com> 25369 25370 * backends/Makefile.mk,backends/alltermslist.cc,common/alltermslist.h: 25371 Split AllTermsList into header and code. AllTermsList::get_wdf() 25372 now throws InvalidOperationError() rather than asserting in a 25373 debug build and returning 0 in a non-debug build. 25374 * backends/Makefile.mk: Correct list for "how to add a new backend". 25375 25376Fri Apr 13 10:17:46 BST 2007 Olly Betts <olly@survex.com> 25377 25378 * api/version.cc: Simpler and cleaner fix - the prototypes for the 25379 version functions had moved from xapian/version.h to xapian.h so we 25380 were including the wrong header and not seeing the prototypes with 25381 visibility markup! 25382 25383Fri Apr 13 09:29:17 BST 2007 Richard Boulton <richard@lemurconsulting.com> 25384 25385 * api/version.cc: Add visibility annotations to definitions of 25386 version functions: the annotation apparently needs to be applied 25387 to the definition as well as the declaration or it is ignored: 25388 possibly the annotation on the declaration is ignored anyway, 25389 but it should be kept there for documentation purposes in any 25390 case. Fixes link error with bindings under gcc 4.1. 25391 25392Fri Apr 13 01:39:57 BST 2007 Olly Betts <olly@survex.com> 25393 25394 * common/remoteconnection.h,net/progclient.cc,net/remoteconnection.cc: 25395 GetLastError() has an unsigned return type, so need to cast to int 25396 before negating. 25397 25398Fri Apr 13 01:39:20 BST 2007 Olly Betts <olly@survex.com> 25399 25400 * docs/deprecation.rst: Add xapian_version_string() and friends. 25401 25402Fri Apr 13 01:24:53 BST 2007 Olly Betts <olly@survex.com> 25403 25404 * tests/api_nodb.cc: More 'tout' output. 25405 25406Fri Apr 13 01:19:20 BST 2007 Olly Betts <olly@survex.com> 25407 25408 * api/Makefile.mk,api/error.cc,bin/xapian-tcpsrv.cc, 25409 common/remoteconnection.h,common/safeerrno.h,configure.ac, 25410 generate-exceptions.in,net/,tests/harness/testsuite.cc: On 25411 MS Windows, if Xapian::Error::my_errno is the result of 25412 GetLastError() or WSAGetLastError(), negate it (the error codes can 25413 overlap with errno codes). On UNIX, put h_errno negated in my_errno 25414 if a call to gethostbyname() fails. Add 25415 Xapian::Error::get_error_string() method which decodes my_errno 25416 in the appropriate way to give a string, and use this instead of 25417 strerror(error.get_errno()). 25418 25419Fri Apr 13 01:17:08 BST 2007 Olly Betts <olly@survex.com> 25420 25421 * languages/generate-allsnowballheaders.in: win32 makefiles don't keep 25422 the snowball header list in sorted order like we do, so fix that 25423 here. Also allow for '\' as path separator. 25424 25425Fri Apr 13 00:58:09 BST 2007 Olly Betts <olly@survex.com> 25426 25427 * tests/api_nodb.cc: Add "tout" debug output to stemlangs1. 25428 25429Thu Apr 12 21:37:04 BST 2007 Olly Betts <olly@survex.com> 25430 25431 * tests/Makefile.am: Add support for QUIET= and QUIET=y arguments to 25432 "make". 25433 25434Thu Apr 12 21:35:50 BST 2007 Olly Betts <olly@survex.com> 25435 25436 * docs/Makefile.am: Use a substitution for RSTHTML (like we do for the 25437 snowball generated sources). 25438 25439Thu Apr 12 20:41:18 BST 2007 Olly Betts <olly@survex.com> 25440 25441 * api/omqueryinternal.cc: Add validate_query() calls to the "term" and 25442 "value range" constructors. 25443 25444Thu Apr 12 20:00:14 BST 2007 Olly Betts <olly@survex.com> 25445 25446 * api/omqueryinternal.cc,include/xapian/query.h: Only validate a 25447 Query object when it's either constructed or changed to avoid O(n^2) 25448 behaviour in some cases. 25449 25450Thu Apr 12 19:59:13 BST 2007 Olly Betts <olly@survex.com> 25451 25452 * queryparser/lemon.c: Fix nasty function casting for argument to 25453 qsort - it's (at least technically) not portable. 25454 25455Thu Apr 12 17:47:47 BST 2007 Olly Betts <olly@survex.com> 25456 25457 * configure.ac: Fix GCC version test to only turn on 25458 -fvisibility=hidden for GCC >= 4. 25459 25460Thu Apr 12 16:47:56 BST 2007 Olly Betts <olly@survex.com> 25461 25462 * backends/flint/flint_btreebase.h,backends/flint/flint_cursor.h, 25463 backends/flint/flint_table.h,backends/quartz/,common/,configure.ac, 25464 generate-exceptions.in,include/Makefile.mk,include/xapian.h, 25465 include/xapian/: Add visibility annotations to the library, which 25466 when using GCC >= 4 reduces the size and load time of the library 25467 and increase the runtime speed a little. Under x86_64, the stripped 25468 library is 6.4% smaller (1.5% smaller with debug information). 25469 25470Thu Apr 12 16:45:57 BST 2007 Olly Betts <olly@survex.com> 25471 25472 * api/version.cc: Add missing "#include <config.h>". 25473 25474Thu Apr 12 13:41:52 BST 2007 Richard Boulton <richard@lemurconsulting.com> 25475 25476 * tests/quartztest.cc: Put removedir() function back for now to fix 25477 build. 25478 25479Thu Apr 12 13:02:30 BST 2007 Richard Boulton <richard@lemurconsulting.com> 25480 25481 * net/progclient.cc: Some (but not all) versions of MSVC need 25482 "#include <io.h>" to get the _open_osfhandle identifier. Add it. 25483 25484Thu Apr 12 12:00:34 BST 2007 Richard Boulton <richard@lemurconsulting.com> 25485 25486 * backends/remote/net_postlist.cc: Include config.h 25487 25488Thu Apr 12 11:54:50 BST 2007 Richard Boulton <richard@lemurconsulting.com> 25489 25490 * backends/multi/multi_termlist.cc: Include config.h to get system 25491 specific defines. 25492 * common/safesysstat.h: Change signature of mkdir to take mode_t 25493 instead of int, to match unixy definition. 25494 25495Thu Apr 12 10:19:49 BST 2007 Olly Betts <olly@survex.com> 25496 25497 * configure.ac: Probe for mode_t. 25498 25499Thu Apr 12 01:10:18 BST 2007 Olly Betts <olly@survex.com> 25500 25501 * backends/flint/flint_positionlist.cc: Move BitReader class inside 25502 Xapian namespace to avoid namespace pollution. 25503 * bin/xapian-check.cc: Include BitReader::decode_interpolative() 25504 - previously we were relying on using the copy from the library. 25505 25506Thu Apr 12 01:02:53 BST 2007 Olly Betts <olly@survex.com> 25507 25508 * common/safesysstat.h: Under __WIN32__, provide a POSIX-like mkdir() 25509 wrapper which takes 2 arguments, but ignores the file mode, so we 25510 can just call mkdir with a mode argument everywhere. 25511 * common/utils.h: Remove special case handling of mkdir. 25512 * bin/xapian-compact.cc: Replace uses of om_tostring() with a call 25513 to sprintf. No longer need to `#include "utils.h"'. 25514 25515Thu Apr 12 00:44:18 BST 2007 Olly Betts <olly@survex.com> 25516 25517 * api/,backends/inmemory/inmemory_positionlist.cc,common/,matcher/, 25518 net/remoteconnection.cc,net/serialise.cc: omdebug.h only includes 25519 omassert.h for the trivial "STRINGIZE" macro, so just duplicate 25520 that rather than pulling in an extra header everywhere. Then fix 25521 up the two dozen files which were relying on this implicit 25522 inclusion! 25523 25524Thu Apr 12 00:10:48 BST 2007 Olly Betts <olly@survex.com> 25525 25526 * tests/harness/testsuite.cc: Tweak #ifdef XAPIAN_DEBUG_VERBOSE to 25527 include DEBUGLINE() for clarity (no change in behaviour). 25528 25529Wed Apr 11 23:36:10 BST 2007 Olly Betts <olly@survex.com> 25530 25531 * queryparser/queryparser.lemony: Fix regression introduced by 25532 Richard's change, and restructure to make the handling for each case 25533 more obvious. 25534 * tests/queryparsertest.cc: Add a couple of testcases for the 25535 regression. 25536 * queryparser/queryparser_internal.h: Remove reference to "bool" in 25537 comment which no longer applies. 25538 25539Wed Apr 11 21:25:36 BST 2007 Richard Boulton <richard@lemurconsulting.com> 25540 25541 * queryparser/queryparser_internal.h: Refactor boolean "flag" 25542 member in BoolAndString class into an enum of possible prefix 25543 types. Rename "flag" to "type". Rename BoolAndString to 25544 PrefixInfo. 25545 * queryparser/queryparser.cc: Change add_prefix() and 25546 add_boolean_prefix() to match changes to queryparser_internal.h 25547 * queryparser/queryparser.lemony: Refactor handling of prefixed 25548 terms to match queryparser_internal, and to use a switch() 25549 structure: no functional changes, but code is considerably more 25550 readable (I hope). 25551 25552Wed Apr 11 21:13:31 BST 2007 Olly Betts <olly@survex.com> 25553 25554 * tests/api_db.cc,tests/quartztest.cc: Rework quartztest's "open1" 25555 into API level tests for quartz and flint in apitest. 25556 25557Wed Apr 11 14:01:31 BST 2007 Richard Boulton <richard@lemurconsulting.com> 25558 25559 * docs/deprecation.rst: Remove documentation of the "#define 25560 XAPIAN_DEPRECATED(D) D" hack, and clarify documentation on how 25561 long we support deprecated functions. 25562 25563Wed Apr 11 09:25:55 BST 2007 Richard Boulton <richard@lemurconsulting.com> 25564 25565 * docs/Makefile.am,docs/deprecation.rst: Add initial draft of 25566 deprecation policy document, with list of all API items currently 25567 marked for deprecation. 25568 * HACKING: Add note about keeping deprecation.rst up-to-date when 25569 making a release. 25570 25571Tue Apr 10 19:07:24 BST 2007 Olly Betts <olly@survex.com> 25572 25573 * configure.ac: --enable-quiet now uses AS_HELP_STRING. 25574 25575Tue Apr 10 18:53:32 BST 2007 Olly Betts <olly@survex.com> 25576 25577 * tests/harness/index_utils.cc: Return the empty document we already 25578 have rather than constructing another. 25579 25580Tue Apr 10 17:45:11 BST 2007 Olly Betts <olly@survex.com> 25581 25582 * net/remoteconnection.cc: Fix typo in comment. 25583 25584Tue Apr 10 17:35:57 BST 2007 Olly Betts <olly@survex.com> 25585 25586 * tests/harness/backendmanager.cc: Fix "if" to "is" typo in 3 25587 comments. 25588 25589Tue Apr 10 16:46:09 BST 2007 Olly Betts <olly@survex.com> 25590 25591 * tests/harness/backendmanager.cc: Define XAPIAN_TCPSRV and 25592 XAPIAN_PROGSRV under UNIX too, and use them everywhere. 25593 25594Tue Apr 10 16:33:48 BST 2007 Olly Betts <olly@survex.com> 25595 25596 * tests/harness/backendmanager.h: Remove "BackendManager::" from 25597 method declaration. 25598 25599Tue Apr 10 15:35:50 BST 2007 Olly Betts <olly@survex.com> 25600 25601 * configure.ac: Define HAVE_SOCKETPAIR if we have socketpair(). 25602 25603Tue Apr 10 15:29:49 BST 2007 Olly Betts <olly@survex.com> 25604 25605 * net/progclient.cc: Fix #endif placement so it compiles on UNIX. 25606 25607Tue Apr 10 14:18:06 BST 2007 Olly Betts <olly@survex.com> 25608 25609 * net/remoteconnection.cc: Remove debugging code. 25610 25611Tue Apr 10 12:57:51 BST 2007 Olly Betts <olly@survex.com> 25612 25613 * backends/dbfactory_remote.cc,common/progclient.h,net/progclient.cc, 25614 net/remoteconnection.cc,tests/api_db.cc,tests/apitest.cc, 25615 tests/harness/backendmanager.cc,tests/harness/backendmanager.h: 25616 Add support for the "prog" variant of the remote backend (patch 25617 started by me, finished by Mark Hammond). 25618 25619Tue Apr 10 12:23:46 BST 2007 Olly Betts <olly@survex.com> 25620 25621 * api/omqueryinternal.cc,backends/inmemory/inmemory_database.cc, 25622 backends/quartz/quartz_alldocspostlist.cc,matcher/localmatch.cc, 25623 matcher/multimatch.cc,tests/harness/testutils.cc: Prefer 25624 `CONTAINER.empty()' to `CONTAINER.size() == 0'. 25625 25626Tue Apr 10 12:09:45 BST 2007 Olly Betts <olly@survex.com> 25627 25628 * api/omqueryinternal.cc: Tighten up an assertion. 25629 25630Mon Apr 09 20:56:23 BST 2007 Olly Betts <olly@survex.com> 25631 25632 * configure.ac,tests/harness/backendmanager.cc,tests/runsrv.in, 25633 tests/runtest.in: Run the remote backend server using new "runsrv" 25634 script instead of "runtest". This doesn't echo anything to stdout, 25635 and if valgrind is in use, runs the remote server under 25636 "--tool=none" which is much quicker than using valgrind's default 25637 memcheck tool (we need to run the remote server under valgrind 25638 because valgrind's emulation of excess FP precision isn't exact and 25639 otherwise we get tests failing because of these differences). 25640 25641Mon Apr 09 20:24:30 BST 2007 Olly Betts <olly@survex.com> 25642 25643 * tests/api_anydb.cc,tests/api_nodb.cc: Move test poscollapse2 to the 25644 "no database" category, since it doesn't require a database! 25645 25646Mon Apr 09 18:04:40 BST 2007 Olly Betts <olly@survex.com> 25647 25648 * docs/remote_protocol.html: Correct documentation - MSG_REOPEN gives 25649 a response of REPLY_UPDATE. 25650 25651Mon Apr 09 15:08:44 BST 2007 Olly Betts <olly@survex.com> 25652 25653 * ./: svn:eol-style not svn:eolstyle. 25654 25655Mon Apr 09 15:00:30 BST 2007 Olly Betts <olly@survex.com> 25656 25657 * ./: Set svn:eolstyle to native for most text files. 25658 25659Mon Apr 09 14:50:40 BST 2007 Olly Betts <olly@survex.com> 25660 25661 * backends/flint/flint_database.cc: Delete the corresponding entry 25662 (if any) from doclens in delete_document(). Add assertion to 25663 add_document_() that the corresponding entry in doclens isn't 25664 already set, but in a non-debug build overwrite any existing 25665 entry as that's more likely to be correct. 25666 * backends/quartz/quartz_database.cc: Ditto. 25667 25668Mon Apr 09 14:08:55 BST 2007 Olly Betts <olly@survex.com> 25669 25670 * backends/quartz/quartz_database.cc: Just assign to doclens[did]. 25671 25672Mon Apr 09 14:06:58 BST 2007 Olly Betts <olly@survex.com> 25673 25674 * backends/flint/flint_database.cc: Just assign to doclens[did]. 25675 25676Mon Apr 09 11:29:22 BST 2007 Richard Boulton <richard@lemurconsulting.com> 25677 25678 * backends/quartz/quartz_database.cc: Apply same change to quartz. 25679 25680Mon Apr 09 11:24:31 BST 2007 Richard Boulton <richard@lemurconsulting.com> 25681 25682 * backends/flint/flint_database.cc: Fix bug with document lengths 25683 in replace document. Was using doclens.insert() to set the new 25684 document length, but this has no effect if the entry already 25685 exists. This fixes replacedoc3 for flint (and thus for remote 25686 databases), but the same change is needed for quartz. 25687 * backends/flint/flint_postlist.cc: Add some debugging lines. 25688 25689Mon Apr 09 01:43:02 BST 2007 Richard Boulton <richard@lemurconsulting.com> 25690 25691 * backends/flint/: Add some more debugging messages to help track 25692 down the problem with document lengths shown up by previous 25693 change. 25694 25695Mon Apr 09 01:40:34 BST 2007 Richard Boulton <richard@lemurconsulting.com> 25696 25697 * tests/api_wrdb.cc: Add asserts to check that the value of 25698 get_doclength() on the database and on the posting list are 25699 correct. Currently fails with the value from the posting list 25700 for the document which has been replaced (or sooner if assertions 25701 are turned on). 25702 25703Sun Apr 08 23:24:20 BST 2007 Olly Betts <olly@survex.com> 25704 25705 * Makefile.am,configure.ac: `./configure --enable-quiet' allows you to 25706 specify at configure time to pass `--quiet' to libtool. Now you can 25707 override this at make-time by using `make QUIET=' (to turn off 25708 `--quiet') or `make QUIET=y' (to turn on `--quiet'). 25709 25710Sun Apr 08 23:23:50 BST 2007 Olly Betts <olly@survex.com> 25711 25712 * HACKING: Mention AssertEqParanoid and AssertNeParanoid. 25713 25714Sun Apr 08 22:45:45 BST 2007 Olly Betts <olly@survex.com> 25715 25716 * common/omassert.h: Add AssertEqParanoid and AssertNeParanoid macros. 25717 * backends/flint/flint_table.cc,backends/inmemory/inmemory_database.cc, 25718 backends/multi/multi_postlist.cc,backends/quartz/btree.cc: Use them. 25719 * backends/multi/multi_postlist.cc: Add extra assertions to 25720 MultiPostList::get_doclength(). 25721 25722Sun Apr 08 22:16:11 BST 2007 Olly Betts <olly@survex.com> 25723 25724 * configure.ac: Fix typos: `AC_CHECK_SSIZE_T' -> `AC_TYPE_SSIZE_T'; 25725 `AC_CHECK_PID_T' -> `AC_TYPE_PID_T'. 25726 25727Sun Apr 08 22:04:54 BST 2007 Olly Betts <olly@survex.com> 25728 25729 * HACKING: Snapshots and releases are now generated with autoconf 2.61. 25730 25731Sun Apr 08 21:42:03 BST 2007 Olly Betts <olly@survex.com> 25732 25733 * configure.ac: Use AC_CHECK_SSIZE_T instead of our own test. Add 25734 AC_CHECK_PID_T for any platforms which don't have `pid_t'. 25735 * net/tcpserver.cc: Use `pid_t' instead of `int'. 25736 * common/progclient.h,net/progclient.cc: Cleaner rewritten version of 25737 progclient.h. 25738 25739Sun Apr 08 19:59:43 BST 2007 Olly Betts <olly@survex.com> 25740 25741 * backends/flint/flint_lock.cc: If kill() fails, don't bother calling 25742 waitpid(). 25743 25744Sun Apr 08 19:41:11 BST 2007 Olly Betts <olly@survex.com> 25745 25746 * net/remoteconnection.cc: Don't explicitly pass "0" for errno. 25747 25748Sun Apr 08 16:58:58 BST 2007 Richard Boulton <richard@lemurconsulting.com> 25749 25750 * queryparser/queryparser.lt: Fix warnings in debugging builds on 25751 gcc 4.1 due to comparison of signed and unsigned types. Also, 25752 use the ParseTokenName function instead of explicitly doing a 25753 range check each time an entry is looked up in yyTokenName, and 25754 add a ParseRuleName function for looking up things in yyRuleName, 25755 and use it similarly. 25756 25757Sun Apr 08 15:55:42 BST 2007 Olly Betts <olly@survex.com> 25758 25759 * configure.ac: Fix lingering references to enable_debug. 25760 25761Sun Apr 08 15:48:13 BST 2007 Olly Betts <olly@survex.com> 25762 25763 * tests/api_anydb.cc,tests/api_wrdb.cc: Remove hacks to automatically 25764 SKIP tests which failed because of lack of support for some features 25765 by the remote backend. 25766 25767Sun Apr 08 15:14:11 BST 2007 Olly Betts <olly@survex.com> 25768 25769 * queryparser/queryparser.lemony,queryparser/queryparser.lt: More 25770 tweaks. 25771 25772Sun Apr 08 15:04:49 BST 2007 Richard Boulton <richard@lemurconsulting.com> 25773 25774 * queryparser/queryparser.lt: Always include "omdebug.h", and put 25775 one of the pieces of debugging code in #ifdef 25776 XAPIAN_DEBUG_VERBOSE, to fix non-logging message builds. 25777 25778Sun Apr 08 14:23:06 BST 2007 Richard Boulton <richard@lemurconsulting.com> 25779 25780 * docs/remote_protocol.html: Update for protocol version 27 by 25781 adding documentation for MSG_POSTLIST and replies. Also, fix a 25782 typo. 25783 25784Sun Apr 08 13:50:20 BST 2007 Olly Betts <olly@survex.com> 25785 25786 * common/omdebug.h,queryparser/queryparser.lemony, 25787 queryparser/queryparser.lt: Hook the debug tracing in the lemon 25788 generated parser into Xapian's debug logging framework. 25789 25790Sun Apr 08 12:35:29 BST 2007 Richard Boulton <richard@lemurconsulting.com> 25791 25792 * backends/remote/,common/remote-database.h,common/remoteprotocol.h, 25793 common/remoteserver.h,net/remoteserver.cc: Implement postlists 25794 for the remote database. Increases 25795 XAPIAN_REMOTE_PROTOCOL_VERSION to 27. 25796 25797Sun Apr 08 12:33:02 BST 2007 Olly Betts <olly@survex.com> 25798 25799 * HACKING,INSTALL,configure.ac: Rename --enable-debug* - conflating the 25800 options to "turn on assertions" and "turn on logging" still confuses 25801 me to the extent I need to read the documentation every time I use 25802 them. `--enable-debug[=partial]' become `--enable-assertions'; 25803 `--enable-debug-verbose' becomes `--enable-log' and 25804 `--enable-debug=full' becomes `--enable-assertions --enable-log'. 25805 For now the old options give an error telling you the new 25806 equivalent. 25807 25808Sun Apr 08 10:45:40 BST 2007 Olly Betts <olly@survex.com> 25809 25810 * configure.ac: Eliminate use_quiet - just use enable_quiet instead. 25811 25812Fri Apr 06 19:06:07 BST 2007 Olly Betts <olly@survex.com> 25813 25814 * net/progclient.cc: Close stderr of the spawned backend program. 25815 25816Fri Apr 06 18:59:24 BST 2007 Olly Betts <olly@survex.com> 25817 25818 * net/progclient.cc: msecs_timeout_ -> msecs_timeout. 25819 25820Fri Apr 06 18:12:36 BST 2007 Olly Betts <olly@survex.com> 25821 25822 * net/remoteconnection.cc: Fix comment grammar. 25823 25824Fri Apr 06 18:10:31 BST 2007 Olly Betts <olly@survex.com> 25825 25826 * net/remoteconnection.cc: Deal with the exceptional case first. 25827 25828Fri Apr 06 17:51:20 BST 2007 Olly Betts <olly@survex.com> 25829 25830 * net/remoteconnection.cc: Use string::append(ptr, size) in preference 25831 to string::append(ptr, ptr + size). 25832 25833Fri Apr 06 11:45:39 BST 2007 Olly Betts <olly@survex.com> 25834 25835 * api/omqueryinternal.cc,backends/flint/flint_database.cc, 25836 backends/flint/flint_database.h,backends/flint/flint_postlist.cc, 25837 backends/inmemory/inmemory_database.cc, 25838 backends/inmemory/inmemory_database.h, 25839 backends/quartz/quartz_database.cc,backends/quartz/quartz_database.h, 25840 backends/quartz/quartz_postlist.cc, 25841 backends/remote/remote-database.cc,common/database.h, 25842 common/remote-database.h: Refactor to eliminate do_open_post_list 25843 and any unnecessary call to term_exists(). 25844 25845Fri Apr 06 11:44:25 BST 2007 Olly Betts <olly@survex.com> 25846 25847 * tests/api_wrdb.cc: Just use TEST on a boolean value rather than 25848 TEST_EQUAL against true/false. 25849 25850Fri Apr 06 08:53:46 BST 2007 Olly Betts <olly@survex.com> 25851 25852 * net/remoteserver.cc: Remove "N" which we calculate but never use! 25853 25854Fri Apr 06 08:17:00 BST 2007 Olly Betts <olly@survex.com> 25855 25856 * backends/flint/Makefile.mk,backends/flint/flint_check.cc, 25857 backends/flint/flint_check.h,bin/Makefile.mk,bin/xapian-check.cc: 25858 Fix xapian-check not to use libquartzcheck.la. 25859 25860Fri Apr 06 07:20:47 BST 2007 Olly Betts <olly@survex.com> 25861 25862 * bin/Makefile.mk,bin/xapian-check.cc: Add new "xapian-check" program 25863 which performs consistency checks on a flint database. 25864 25865Fri Apr 06 06:25:36 BST 2007 Olly Betts <olly@survex.com> 25866 25867 * bin/quartzcheck.cc: Test if this is a quartz database by looking at 25868 "meta" not "record_DB". If "record_DB" is >= 2GB and we don't have 25869 a LFS aware stat function then stat can fail even though the file is 25870 there. Also open the database explicitly as a Quartz database for 25871 extra robustness. 25872 25873Fri Apr 06 06:23:33 BST 2007 Olly Betts <olly@survex.com> 25874 25875 * AUTHORS: Thank Daniel Ménard. 25876 25877Thu Apr 05 18:20:53 BST 2007 Olly Betts <olly@survex.com> 25878 25879 * tests/harness/testsuite.cc: No need to explicitly initialise 25880 std::string to ""; not doing so results in a smaller object 25881 file. 25882 25883Thu Apr 05 18:20:12 BST 2007 Olly Betts <olly@survex.com> 25884 25885 * common/remoteprotocol.h: Note other changes in protocol version 26. 25886 25887Thu Apr 05 17:34:10 BST 2007 Olly Betts <olly@survex.com> 25888 25889 * tests/runtest.in: Pass "--leak-resolution=high" to valgrind to 25890 prevent unrelated leak reports related to STL classes from being 25891 combined. 25892 25893Thu Apr 05 17:26:39 BST 2007 Olly Betts <olly@survex.com> 25894 25895 * tests/api_wrdb.cc: Remove stray line left over from debugging. 25896 25897Thu Apr 05 16:47:36 BST 2007 Richard Boulton <richard@lemurconsulting.com> 25898 25899 * tests/internaltest.cc: Fix test_serialiselength2: implementation 25900 was correct, but test was failing. Needed special casing for n=0 25901 and 1, and was using arguments to string::append(size_type, 25902 charT) the wrong way round (stupid C++ API). Also, make it check 25903 the return value of decode_length(), since we know what the 25904 answer ought to be. 25905 25906Thu Apr 05 14:26:30 BST 2007 Olly Betts <olly@survex.com> 25907 25908 * api/omqueryinternal.cc,backends/remote/remote-database.cc, 25909 common/serialise.h,net/remoteserver.cc,net/serialise.cc, 25910 tests/internaltest.cc: Add a flag parameter to decode_length() 25911 to indicate if the decoded value indicates the length of a 25912 string in the protocol stream, and if it does, check it against 25913 p_end - p after the length has been decoded (fixes bug#117). 25914 25915Thu Apr 05 14:08:02 BST 2007 Olly Betts <olly@survex.com> 25916 25917 * tests/api_wrdb.cc: In test uniqueterm1, check the document length 25918 after every delete or replace for better coverage. 25919 25920Thu Apr 05 12:41:04 BST 2007 Olly Betts <olly@survex.com> 25921 25922 * net/serialise.cc: Encode deltas between docids (rather than the 25923 docids themselves) in the RSet serialisation which reduces the 25924 size of the encoding if a lot of large docids with small gaps 25925 between them are present. 25926 * backends/remote/remote-database.cc,net/remoteserver.cc: Encode 25927 deltas between termpositions in REPLY_POSITIONLIST, for similar 25928 reasons. No need to encode the term length for 25929 MSG_DELETEDOCUMENTTERM as it's the last (indeed only) item, and more 25930 consistent not to. 25931 * common/remoteprotocol.h: Bump protocol version to 26. 25932 * docs/remote_protocol.html: Document the new messages 25933 MSG_DELETEDOCUMENTTERM and MSG_REPLACEDOCUMENTTERM. Correct 25934 reference to REPLY_DOCUMENT to REPLY_DOCDATA. Fix documentation for 25935 MSG_QUERY to include the serialised Weight and RSet objects. Fix 25936 "copy and paste" error in the description of Flush (should of course 25937 be MSG_FLUSH not MSG_CANCEL). Update for changes above. 25938 25939Thu Apr 05 12:18:19 BST 2007 Richard Boulton <richard@lemurconsulting.com> 25940 25941 * backends/database.cc: Keep a RefCntPtr to the LeafPostList used 25942 in implementations of delete_document and replace_document with a 25943 unique term, so that the postlist isn't leaked. 25944 25945Thu Apr 05 11:56:57 BST 2007 Olly Betts <olly@survex.com> 25946 25947 * backends/database.cc: Database::Internal can't call the 25948 PostingIterator(PostingIterator::Internal*) ctor (at least under 25949 g++ 3.3.5) because it isn't a friend (only class Database is). 25950 Can't seem to forward define Database::Internal to make 25951 Database::Internal a friend so just use LeafPostList directly 25952 as that seems less bad than pulling in the whole of database.h 25953 or making PostingIterator::internal public. 25954 25955Thu Apr 05 08:27:26 BST 2007 Olly Betts <olly@survex.com> 25956 25957 * HACKING: Need to run svn-tag-release on ixion. 25958 25959Thu Apr 05 01:50:10 BST 2007 Richard Boulton <richard@lemurconsulting.com> 25960 25961 * backends/remote/remote-database.cc,common/remote-database.h, 25962 common/remoteprotocol.h,common/remoteserver.h,net/remoteserver.cc: 25963 Implement unique term variants of delete and replace document for 25964 the remote database. Involves adding two new message types to the 25965 protocol (and therefore bumping the protocol version to 25), and 25966 overriding the standard implementations of delete_document(term) 25967 and replace_document(term) in RemoteDatabase. 25968 * tests/api_wrdb.cc: Correct text in SKIP_TEST() message. 25969 25970Thu Apr 05 01:04:19 BST 2007 Richard Boulton <richard@lemurconsulting.com> 25971 25972 * api/omdatabase.cc,backends/database.cc,common/database.h: Move 25973 implementation of delete_document and replace_document with a 25974 unique_term from WritableDatabase to Xapian::Database::Internal. 25975 This will allow it to be overridden for databases which need a 25976 special implementation (such as the remote database). 25977 25978Tue Apr 03 14:30:45 BST 2007 Olly Betts <olly@survex.com> 25979 25980 * common/remote-database.h: Remove unused and undefined method 25981 RemoteDatabase::get_spawned_socket(). 25982 25983Tue Apr 03 09:18:51 BST 2007 Olly Betts <olly@survex.com> 25984 25985 * tests/harness/backendmanager.cc: Under __WIN32__, launch 25986 xapian-tcpsrv as a child process communicating via a pipe and handle 25987 the port being already in use by trying the next port up (as we do 25988 under UNIX). 25989 25990Tue Apr 03 06:50:48 BST 2007 Olly Betts <olly@survex.com> 25991 25992 * net/tcpserver.cc: For __WIN32__ and __CYGWIN__, use 25993 SO_EXCLUSIVEADDRUSE (if available) on on listening sockets for 25994 xapian-tcpsrv. 25995 25996Tue Apr 03 04:37:02 BST 2007 Olly Betts <olly@survex.com> 25997 25998 * include/xapian/positioniterator.h,include/xapian/postingiterator.h: 25999 Fix mangled comment start in (C) headers. 26000 26001Tue Apr 03 03:27:12 BST 2007 Olly Betts <olly@survex.com> 26002 26003 * include/xapian/,generate-exceptions.in: Mark the following 26004 constructors 'explicit': DocIDWrapper(docid), TermPosWrapper(const 26005 std::string &), Query::Internal(const std::string &), Database(const 26006 std::string &), all Error subclass constructors taking const 26007 std::string &. Only the Database and Error subclass changes should 26008 be able to affect user code at all. 26009 * include/xapian/,api/omenquire.cc: Make the following methods 26010 'const': RSet::contains(MSetIterator), Enquire::get_query(). This 26011 shouldn't affect the validity of any user code. 26012 26013Mon Apr 02 11:44:26 BST 2007 Richard Boulton <richard@lemurconsulting.com> 26014 26015 * HACKING: Add note on "Building from SVN on Windows with MSVC" 26016 26017Mon Apr 02 11:32:51 BST 2007 Olly Betts <olly@survex.com> 26018 26019 * api/omqueryinternal.cc: Fix assertion to allow for OP_VALUE_RANGE. 26020 26021Mon Apr 02 11:14:10 BST 2007 Olly Betts <olly@survex.com> 26022 26023 * autoconf/rjb_find_stlport.m4: Fix check that the user didn't say 26024 `./configure --with-stlport-compiler' (without `=gcc' or similar 26025 after it). 26026 26027Mon Apr 02 10:38:35 BST 2007 Olly Betts <olly@survex.com> 26028 26029 * tests/api_db.cc,tests/apitest.cc: Under __WIN32__ disable tests 26030 which require the prog variant of the remote backend. 26031 26032Mon Apr 02 09:44:13 BST 2007 Olly Betts <olly@survex.com> 26033 26034 * net/tcpserver.cc: Don't use SO_REUSEADDR under __CYGWIN__ or 26035 __WIN32__ as it has incorrect semantics. 26036 26037Mon Apr 02 09:37:14 BST 2007 Olly Betts <olly@survex.com> 26038 26039 * tests/harness/backendmanager.cc: Pull `1239' out as `DEFAULT_PORT'. 26040 On Windows, cycle through 10 ports starting at DEFAULT_PORT so that 26041 we can have multiple databases open at once. Add a monotonic count 26042 to the name of the log file created from the output of each 26043 xapian-tcpsrv to avoid failures because the log file is already 26044 open. 26045 26046Mon Apr 02 07:41:57 BST 2007 Olly Betts <olly@survex.com> 26047 26048 * tests/api_anydb.cc: Avoid having the same database open twice at 26049 once. Xapian itself copes, but the BackendManager class in the test 26050 harness struggles in the remotetcp case under mingw. 26051 26052Mon Apr 02 07:14:13 BST 2007 Olly Betts <olly@survex.com> 26053 26054 * include/xapian/enquire.h: Make Enquire constructor explicit since 26055 it can take a single parameter (of type Database). 26056 26057Mon Apr 02 02:32:23 BST 2007 Olly Betts <olly@survex.com> 26058 26059 * net/tcpserver.cc: Add "#error" if neither HAVE_FORK nor __WIN32__ 26060 is defined (otherwise we'd failed with a rather obscure link error 26061 much later!) 26062 26063Mon Apr 02 01:54:20 BST 2007 Olly Betts <olly@survex.com> 26064 26065 * matcher/multimatch.cc: Remove unused variable left over from 26066 recent change. 26067 26068Mon Apr 02 01:22:56 BST 2007 Olly Betts <olly@survex.com> 26069 26070 * net/tcpserver.cc: Actually remove SOCKOPT_OPTIONS_TYPE. 26071 26072Mon Apr 02 01:16:03 BST 2007 Olly Betts <olly@survex.com> 26073 26074 * net/tcpclient.cc,net/tcpserver.cc: Pass the 4th parameter of 26075 setsockopt() as char* which works whether the function actually 26076 takes char* or void* (since C++ allows implicit conversion from 26077 char* to void*). Only call socket_errno() after gethostbyname() 26078 under __WIN32__ - on UNIX the error code is in h_errno (with 26079 incompatible values to errno) and we don't want to confuse things by 26080 reporting some random value of errno. 26081 26082Mon Apr 02 00:44:56 BST 2007 Olly Betts <olly@survex.com> 26083 26084 * tests/harness/backendmanager.cc: Factor out localhost address into 26085 LOCALHOST. Use new xapian-tcpsrv --interface option to only listen 26086 for connections on localhost. Run xapian-tcpsrv with "start /B" on 26087 MS Windows (this stops the "flickbook of console windows" effect). 26088 26089Mon Apr 02 00:41:31 BST 2007 Olly Betts <olly@survex.com> 26090 26091 * common/Makefile.mk,common/safesyssocket.h: Oops, I checked 26092 in safesysselect.h as safesyssocket.h! 26093 26094Mon Apr 02 00:30:54 BST 2007 Olly Betts <olly@survex.com> 26095 26096 * include/xapian/queryparser.h: Fix SimpleStopper::add to take 26097 `const std::string &' not `const std::string'. 26098 26099Mon Apr 02 00:20:45 BST 2007 Olly Betts <olly@survex.com> 26100 26101 * bin/xapian-tcpsrv.cc,net/tcpserver.cc: Add "--interface" option to 26102 allow the hostname or address of the interface to listen on to be 26103 specified (default is the previous behaviour of listening on all 26104 interfaces). 26105 * net/remoteconnection.cc,net/tcpclient.cc,common/safesysselect.h: 26106 Factor out portability code for sys/select.h. 26107 * common/Makefile.mk: Ship common/safesysselect.h. 26108 * net/tcpserver.cc: Rename parameter of run_thread from "_param" to 26109 "param_" (identifiers with leading underscores are reserved for the 26110 compiler). 26111 * common/tcpclient.h,net/tcpclient.cc,common/tcpserver.h: Rewrite 26112 headers with comments which are actually accurate and up-to-date! 26113 TcpClient ctor is small so put inline in the header. Pass 26114 std::string by const reference. 26115 * common/tcpclient.h,common/tcpserver.h: TcpClient and TcpServer 26116 classes now inherit from WinsockInitializer under __WIN32__ (as 26117 a mixin class) instead of having a member of type WinsockInitializer 26118 (the member is initialised too late, at least under mingw). 26119 26120Sun Apr 01 19:14:11 BST 2007 Olly Betts <olly@survex.com> 26121 26122 * common/omdebug.cc: Fix retrying of write to retry the part of 26123 the string not already written! 26124 26125Sun Apr 01 18:37:15 BST 2007 Olly Betts <olly@survex.com> 26126 26127 * common/remoteconnection.h: Note in comments about use as a "mixin" 26128 class. 26129 26130Sun Apr 01 17:42:19 BST 2007 Olly Betts <olly@survex.com> 26131 26132 * tests,examples,bin: Add .exe versions of built executables to 26133 svn:ignore. 26134 26135Sun Apr 01 16:28:26 BST 2007 Olly Betts <olly@survex.com> 26136 26137 * common/omdebug.cc: Remove unused '#include <stdio.h>' - we switched 26138 to using unbuffered I/O for logging long ago! 26139 26140Sun Apr 01 15:21:04 BST 2007 Olly Betts <olly@survex.com> 26141 26142 * common/safewinsock2.h: No, don't typedef socklen_t here - we use 26143 SOCKLEN_T everywhere and have `#define SOCKLEN_T int' in 26144 config.h.win32. 26145 26146Sun Apr 01 13:32:21 BST 2007 Richard Boulton <richard@lemurconsulting.com> 26147 26148 * common/omdebug.cc: Include necessary headers to get O_CREAT and 26149 friends defined (according to documentation in linux manpage), 26150 to fix compile error. Also, don't ignore the return value of 26151 write() to fix compile warning (and to ensure that the whole 26152 output gets written if possible). 26153 26154Sun Apr 01 13:19:52 BST 2007 Richard Boulton <richard@lemurconsulting.com> 26155 26156 * queryparser/queryparser.cc: Fix Assert() on a RefCountPtr to 26157 check the value of the pointer, to fix compile with asserts 26158 turned on. 26159 26160Sun Apr 01 12:57:06 BST 2007 Richard Boulton <richard@lemurconsulting.com> 26161 26162 * common/safewinsock2.h: Define socklen_t under MS compiler (since 26163 Olly reported build success with mingw, presumably it's not 26164 needed there). 26165 26166Sun Apr 01 06:42:14 BST 2007 Olly Betts <olly@survex.com> 26167 26168 * languages/Makefile.mk: $(snowball_algorithms:.sbl=.cc) is portable 26169 according to the automake list so use that so we only need to list 26170 the .sbl sources. 26171 26172Sun Apr 01 05:53:29 BST 2007 Olly Betts <olly@survex.com> 26173 26174 * common/tcpserver.h,net/tcpserver.cc: TcpServer's port member 26175 variable is set but never used so remove it. 26176 26177Sun Apr 01 03:27:30 BST 2007 Olly Betts <olly@survex.com> 26178 26179 * bin/Makefile.mk,examples/Makefile.mk: Add $(EXEEXT) to dependency on 26180 binaries in man page generation rules so they work on Windows. 26181 26182Sat Mar 31 22:17:55 BST 2007 Olly Betts <olly@survex.com> 26183 26184 * common/multimatch.h,matcher/multimatch.cc: When using a MatchDecider 26185 with remote database(s), don't rerun the MatchDecider on documents 26186 which a remote server has already checked. 26187 26188Sat Mar 31 10:44:26 BST 2007 Olly Betts <olly@survex.com> 26189 26190 * tests/harness/backendmanager.cc: Sort out path to xapian-tcpsrv 26191 under mingw. If neither HAVE_FORK nor __WIN32__ is defined, 26192 make compilation fail with a suitable #error. 26193 26194Sat Mar 31 10:17:06 BST 2007 Olly Betts <olly@survex.com> 26195 26196 * api/Makefile,backends/Makefile,backends/flint/Makefile, 26197 backends/inmemory/Makefile,backends/multi/Makefile, 26198 backends/quartz/Makefile,backends/remote/Makefile,bin/Makefile, 26199 common/Makefile,examples/Makefile,getopt/Makefile,include/Makefile, 26200 languages/Makefile,matcher/Makefile,net/Makefile, 26201 queryparser/Makefile,tests/harness/Makefile: Don't pass $(MAKEFLAGS) 26202 on the command line to $(MAKE) when invoking the top level Makefile 26203 from a static Makefile. It's passed automatically anyway, and also 26204 $(MAKEFLAGS) doesn't have a leading '-' so "make -s" tries to do 26205 "make s" at the top level. 26206 26207Sat Mar 31 09:28:06 BST 2007 Olly Betts <olly@survex.com> 26208 26209 * tests/api_nodb.cc: Fix end of loop handling. 26210 26211Sat Mar 31 09:03:26 BST 2007 Olly Betts <olly@survex.com> 26212 26213 * tests/api_nodb.cc: Fix to compile. 26214 26215Sat Mar 31 07:53:25 BST 2007 Olly Betts <olly@survex.com> 26216 26217 * common/safewindows.h,common/safewinsock2.h: safewindows.h is 26218 included by a lot of files so we want to keep it lightweight 26219 so split winsock2.h related stuff into safewinsock2.h. 26220 * common/remoteconnection.h: Move WinsockInitializer here. 26221 * common/safeerrno.h: #include "safewinsock2.h" not <winsock2.h>. 26222 26223Sat Mar 31 07:19:06 BST 2007 Olly Betts <olly@survex.com> 26224 26225 * common/remoteserver.h: Stop trying to include "remoteserver.h" 26226 because that's the SAME HEADER! 26227 26228Sat Mar 31 07:16:23 BST 2007 Olly Betts <olly@survex.com> 26229 26230 * common/tcpclient.h,common/tcpserver.h: Fix comments - the class is 26231 called WinsockInitializer not WinsockInitialiser. 26232 26233Sat Mar 31 06:54:22 BST 2007 Olly Betts <olly@survex.com> 26234 26235 * net/progclient.cc: Don't compile any code from this file if 26236 __WIN32__ is defined (for mingw). 26237 26238Sat Mar 31 06:52:27 BST 2007 Olly Betts <olly@survex.com> 26239 26240 * tests/api_nodb.cc: Simplify code in test_stemlangs1(). 26241 26242Sat Mar 31 06:22:26 BST 2007 Olly Betts <olly@survex.com> 26243 26244 * net/remoteconnection.cc: Use const_cast to avoid GCC warning 26245 about casting away const. Use string::data() rather than 26246 string::c_str() since we don't need a terminating zero byte. 26247 26248Sat Mar 31 06:20:07 BST 2007 Olly Betts <olly@survex.com> 26249 26250 * backends/dbfactory_remote.cc: Suppress "unused parameter" warnings. 26251 26252Sat Mar 31 06:17:35 BST 2007 Olly Betts <olly@survex.com> 26253 26254 * net/tcpserver.cc: Make global variable and function used only in 26255 this file static. Don't call delete on a void* (that's undefined 26256 behaviour) - delete the cast version of the pointer instead. 26257 26258Sat Mar 31 06:17:20 BST 2007 Olly Betts <olly@survex.com> 26259 26260 * AUTHORS: Add a number of bug reporters I missed before. 26261 26262Sat Mar 31 04:49:27 BST 2007 Olly Betts <olly@survex.com> 26263 26264 * configure.ac: Clean up handling of --enable-backend-* options. Let 26265 mingw try to build the remote backend. 26266 26267Sat Mar 31 03:47:49 BST 2007 Olly Betts <olly@survex.com> 26268 26269 * tests/internaltest.cc: Don't compile test_serialisequery1 26270 if the remote backend is disabled to avoid an "unused 26271 function" warning (we were already disabling the use of 26272 it). 26273 26274Fri Mar 30 22:43:27 BST 2007 Olly Betts <olly@survex.com> 26275 26276 * HACKING: Correct several inaccuracies: --enable-debug and 26277 --enable-debug=partial don't cause the build system to compile in 26278 debugging symbols (configure defaults to adding "-g" for GCC, while 26279 for other compilers you must enable them by hand). Also, 26280 --enable-debug doesn't "produce warnings", but causes 26281 Xapian::AssertionError to be thrown. Add explanation for why 26282 --enable-debug=partial" exists. CC_FOR_BUILD is now needed for 26283 snowball as well as lemon. 26284 26285Fri Mar 30 19:53:05 BST 2007 Olly Betts <olly@survex.com> 26286 26287 * common/utils.cc: Avoid GCC warning on format string "%I64d". 26288 26289Fri Mar 30 16:48:46 BST 2007 Richard Boulton <richard@lemurconsulting.com> 26290 26291 * common/tcpserver.h,net/tcpserver.cc: Patch from Mark Hammond: 26292 implement for windows. 26293 26294Fri Mar 30 16:21:03 BST 2007 Richard Boulton <richard@lemurconsulting.com> 26295 26296 * common/tcpclient.h,net/tcpclient.cc: Patch from Mark Hammond: 26297 implement for windows. 26298 26299Fri Mar 30 15:52:57 BST 2007 Richard Boulton <richard@lemurconsulting.com> 26300 26301 * tests/harness/backendmanager.cc: Patch from Mark Hammond: 26302 implement launcher for tcpserver, so that remotetcp tests can run 26303 on windows. 26304 26305Fri Mar 30 15:42:49 BST 2007 Richard Boulton <richard@lemurconsulting.com> 26306 26307 * common/safewindows.h: Include xapian/error.h so 26308 WinsockInitialiser can throw an exception. 26309 26310Fri Mar 30 14:59:40 BST 2007 Richard Boulton <richard@lemurconsulting.com> 26311 26312 * More code from Mark Hammond's patch 26313 * common/remoteconnection.h: Add explicit destructor and (for 26314 windows compiles) a declare a helper method to calculate the 26315 number of milliseconds until a timeout. 26316 * net/remoteconnection.cc: Implement windows versions for functions 26317 which need it: constructor and destructor now do create and close 26318 the overlapped IO stuff, read_at_least() and send_message() have 26319 windows specific implementations. 26320 26321Fri Mar 30 13:05:27 BST 2007 Richard Boulton <richard@lemurconsulting.com> 26322 26323 * More code adapted from Mark Hammond's patch 26324 * common/safewindows.h: When remote databases are compiled in, 26325 include the winsock stuff, and define some useful bits and pieces 26326 for using it. 26327 * common/remoteconnection.h: Add a member to RemoteConnection on 26328 windows to hold an overlapped IO structure. 26329 * net/progclient.cc: Don't include winsock stuff directly (it's now 26330 brought in by "safewindows.h"), and don't include <sys/wait.h> on 26331 windows. 26332 * net/remoteserver.cc: Ignore more SIGPIPE stuff on windows. 26333 26334Fri Mar 30 12:37:15 BST 2007 Richard Boulton <richard@lemurconsulting.com> 26335 26336 * Patch from Mark Hammond 26337 * backends/dbfactory_remote.cc: Ignore code to handle SIGPIPE on 26338 windows, where it doesn't exist. 26339 * backends/remote/remote-database.cc: Raise UnimplementedError on 26340 windows if a progclient backend is requested. 26341 26342Fri Mar 30 12:11:50 BST 2007 Richard Boulton <richard@lemurconsulting.com> 26343 26344 * tests/harness/testsuite.cc: Fix srcdir guessing on windows - 26345 search for windows style directory separators, and remove .exe 26346 suffix from executable name. Adapted from Mark Hammond's patch. 26347 26348Thu Mar 29 18:32:18 BST 2007 Richard Boulton <richard@lemurconsulting.com> 26349 26350 * Changes related to Mark Hammond's patch: 26351 * common/safeerrno.h: Define a new inline function "socket_errno()" 26352 which returns an error number relating to the last error caused 26353 by a socket function on platforms which make such a distinction, 26354 and the value of errno on other platforms. 26355 * net/tcpclient.cc,net/tcpserver.cc: Use the socket_errno() 26356 function instead of checking the value of errno. Also, check for 26357 WSAEWOULDBLOCK instead of EINPROGRESS on windows. 26358 26359Thu Mar 29 15:36:45 BST 2007 Richard Boulton <richard@lemurconsulting.com> 26360 26361 * bin/xapian-tcpsrv.cc,tests/harness/testsuite.cc: First of many 26362 parts of a large patch from Mark Hammond working towards enabling 26363 remote databases on windows. When displaying errors which might 26364 be socket errors, display the error number as well as the output 26365 of strerror - on windows, strerror doesn't display useful 26366 information for socket errors. 26367 * AUTHORS: Add Mark Hammond 26368 26369Thu Mar 29 06:07:35 BST 2007 Olly Betts <olly@survex.com> 26370 26371 * api/omqueryinternal.cc: Unserialisation shouldn't reject a 26372 serialised query which ends after a termname. 26373 * tests/internaltest.cc: Add regression test. 26374 26375Wed Mar 28 17:17:42 BST 2007 Olly Betts <olly@survex.com> 26376 26377 * tests/queryparsertest.cc: Add feature tests for "prefer_mdy" and 26378 "epoch" arguments of DateValueRangeProcessor. 26379 26380Wed Mar 28 04:52:34 BST 2007 Olly Betts <olly@survex.com> 26381 26382 * tests/queryparsertest.cc: Add more test cases for parsing of value 26383 ranges. 26384 26385Wed Mar 28 04:18:14 BST 2007 Olly Betts <olly@survex.com> 26386 26387 * languages/compiler/generator.c,languages/compiler/header.h, 26388 languages/steminternal.cc,languages/steminternal.h: For among with 26389 functions (only used by finnish and lovins stemmers currently), 26390 change to generating an array of unsigned byte offsets into an array 26391 of function pointers rather than just an array of function pointers 26392 - this generally requires a lot less space. 26393 26394Wed Mar 28 03:28:37 BST 2007 Olly Betts <olly@survex.com> 26395 26396 * queryparser/queryparser.lemony: Fix parsing of `hello a..b'. 26397 * tests/queryparsertest.cc: Add regression test for above. Refactor 26398 qp_value_range1 to use a table of queries. 26399 26400Wed Mar 28 00:35:50 BST 2007 Olly Betts <olly@survex.com> 26401 26402 * languages: Update svn:ignore for recent romanian changes. 26403 26404Wed Mar 28 00:08:11 BST 2007 Olly Betts <olly@survex.com> 26405 26406 * api/valuerangeproc.cc: Need #include <stdio.h> for snprintf or 26407 sprintf. 26408 26409Tue Mar 27 23:53:18 BST 2007 Olly Betts <olly@survex.com> 26410 26411 * queryparser/queryparser.lemony: Fix infinite loop in value range 26412 processing. Fix value range to work as a filter when used with a 26413 probabilistic query. 26414 * tests/queryparsertest.cc: Add regression tests for the above two 26415 issues. Refactor qp_value_range2 to use a table of queries. 26416 26417Tue Mar 27 22:09:57 BST 2007 Olly Betts <olly@survex.com> 26418 26419 * api/valuerangeproc.cc: Assume that the start date is before the 26420 end date to help decide ambiguous cases. 26421 26422Tue Mar 27 21:49:15 BST 2007 Olly Betts <olly@survex.com> 26423 26424 * api/valuerangeproc.cc: Refactor to simplify and reduce duplication. 26425 26426Tue Mar 27 21:41:38 BST 2007 Olly Betts <olly@survex.com> 26427 26428 * configure.ac: datarootdir is new in 2.60 too, so use datadir when 26429 setting docdir for 2.59. 26430 26431Tue Mar 27 18:39:11 BST 2007 Olly Betts <olly@survex.com> 26432 26433 * api/Makefile.mk,api/valuerangeproc.cc,include/xapian/queryparser.h: 26434 Move NumberValueRangeProcessor::operator()() out of the header as 26435 it's too complex for sane inlining. Implement handling of dmy and 26436 mdy dates and epochs for 2 digit years. 26437 * tests/queryparsertest.cc: Add tests. 26438 26439Tue Mar 27 11:57:53 BST 2007 Richard Boulton <richard@lemurconsulting.com> 26440 26441 * languages/romanian.sbl: Add Martin Porter's new romanian stemming 26442 algorithm. 26443 * languages/romanian1.sbl,languages/romanian2.sbl: Remove old 26444 romanian stemming algorithms. 26445 * languages/Makefile.mk: Replace romanian1 and romanian2 by 26446 romanian. 26447 * languages/stem.cc: Use romanian stemmer when asked for "ro" or 26448 "romanian". No longer give a stemmer for "romanian1" or 26449 "romanian2". 26450 26451Tue Mar 27 04:50:36 BST 2007 Olly Betts <olly@survex.com> 26452 26453 * languages/german2.sbl: Copy over "hop 3" in utf-8 case from 26454 snowball's latest version. 26455 26456Tue Mar 27 04:44:52 BST 2007 Olly Betts <olly@survex.com> 26457 26458 * tests/stemtest.cc: Remove lower casing of dictionary words before 26459 stemming - instead we'll make sure the dictionary is already the 26460 right case. 26461 26462Tue Mar 27 04:28:10 BST 2007 Olly Betts <olly@survex.com> 26463 26464 * languages/compiler/analyser.c,languages/compiler/generator.c, 26465 languages/compiler/header.h,languages/steminternal.cc, 26466 languages/steminternal.h: Add handling of among with functions. 26467 We use a "shim" functions for each method we want to call in 26468 this way. The shim function is passed the "this" pointer and 26469 calls a particular method on this. Split the functions into 26470 an optional separate array, since they're not used by most of 26471 the stemming algorithms. 26472 * languages/Makefile.mk,languages/stem.cc: Enable the finnish 26473 and lovins stemmers. 26474 26475Tue Mar 27 04:24:37 BST 2007 Olly Betts <olly@survex.com> 26476 26477 * languages/steminternal.cc: Fix typo bug in slice_to - if we needed 26478 to increase the capacity of a snowball string variable, we trashed 26479 the variable with p (bug discovered while trying to enable the 26480 finnish stemmer). 26481 26482Tue Mar 27 02:55:51 BST 2007 Olly Betts <olly@survex.com> 26483 26484 * include/xapian/queryparser.h: Implement handling of ISO format dates 26485 in DateValueRangeProcessor. 26486 * tests/queryparsertest.cc: Add feature tests. 26487 26488Tue Mar 27 01:47:36 BST 2007 Olly Betts <olly@survex.com> 26489 26490 * include/xapian/queryparser.h: Implement prefix and suffix handling 26491 for NumberValueRangeProcessor. 26492 * tests/queryparsertest.cc: Add feature tests. 26493 26494Mon Mar 26 22:26:48 BST 2007 Olly Betts <olly@survex.com> 26495 26496 * queryparser/utf8itor.h: Add is_currency() predicate function. 26497 * queryparser/queryparser.lemony: Rejig parsing of RANGE_START to 26498 allow all characters which are likely to be required. 26499 * tests/queryparsertest.cc: Test RANGE_START can contain "/". 26500 * queryparser/queryparser.lemony: Set "syntax=yacc" for vim, which 26501 give fairly decent syntax highlighting. 26502 26503Mon Mar 26 15:43:50 BST 2007 Olly Betts <olly@survex.com> 26504 26505 * configure.ac: Use m4 comments not shell (dnl not #). 26506 26507Mon Mar 26 15:41:41 BST 2007 Olly Betts <olly@survex.com> 26508 26509 * configure.ac: Add code to ensure that docdir is set for autoconf 26510 2.59 (starting from 2.60, it is defined as standard). 26511 * docs/Makefile.am: Use docdir for installing docs. 26512 26513Sun Mar 25 15:41:16 BST 2007 Olly Betts <olly@survex.com> 26514 26515 * bin/xapian-compact.cc: Prune unused docids off the start of each 26516 source database's range of docid. 26517 26518Sat Mar 24 23:07:42 GMT 2007 Olly Betts <olly@survex.com> 26519 26520 * include/xapian/base.h: Add a note explaining why it's OK that 26521 RefCntBase doesn't have a virtual destructor. 26522 26523Sat Mar 24 01:30:17 GMT 2007 Olly Betts <olly@survex.com> 26524 26525 * HACKING,configure.ac: Bump the automake required version to 1.9.5. 26526 It was in Debian sarge, so any modern Linux distro should include 26527 packages, and we've actually been bootstrapping with 1.9.6 for ages. 26528 26529Thu Mar 22 00:53:35 GMT 2007 Olly Betts <olly@survex.com> 26530 26531 * configure.ac: Disable probes for f77 more completely by preventing 26532 the probe code from even appearing in configure. Similarly 26533 eliminate the code for gcj and rc probes - in total these changes 26534 reduce the size of configure by 209KB (~25%). 26535 26536Fri Mar 09 14:28:01 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 26537 26538 * Makefile.am: Add include/xapian/error.h to list of headers to 26539 install. 26540 26541Thu Mar 08 17:16:08 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 26542 26543 * generate-exceptions.in,exception_data.pm: Split definitions of 26544 the exception hierarchy into a separate file, so it can be reused 26545 elsewhere. 26546 * Makefile.am: Add exception_data.pm as a dependency for generating 26547 error.h, and add it to EXTRA_DIST. 26548 26549Fri Mar 09 06:42:40 GMT 2007 Olly Betts <olly@survex.com> 26550 26551 * backends/flint/flint_cursor.cc,backends/flint/flint_cursor.h: We 26552 always ignore the return value from FlintCursor::get_key() because 26553 we only call it when it shouldn't fail, so restructure the code so 26554 it can't fail and change the return value to void. 26555 26556Fri Mar 09 06:33:09 GMT 2007 Olly Betts <olly@survex.com> 26557 26558 * configure.ac: Suppress another aCC warning. 26559 26560Thu Mar 08 20:39:46 GMT 2007 Olly Betts <olly@survex.com> 26561 26562 * queryparser/queryparser.lemony,tests/queryparsertest.cc: Allow 26563 arbitrary characters in a range end (anything except whitespace 26564 and ')'). 26565 26566Thu Mar 08 19:46:46 GMT 2007 Olly Betts <olly@survex.com> 26567 26568 * Makefile.am,languages/Makefile.mk: Depend on the autoconf 26569 substituted version of a script, not the template version. The 26570 only thing we substitute is @PERL@, but configure won't update 26571 a substituted file which hasn't changed so it's better to put 26572 the dependency on the script itself where it belongs. 26573 26574Thu Mar 08 17:09:21 GMT 2007 Olly Betts <olly@survex.com> 26575 26576 * queryparser/queryparser.lemony,tests/queryparsertest.cc: Keep any 26577 non-whitespace, non-term prefix for a term in case it turns out 26578 to be the start of a range, so "$50..100" works. 26579 26580Thu Mar 08 16:21:14 GMT 2007 Olly Betts <olly@survex.com> 26581 26582 * HACKING: Add my "create docs/GNUmakefile" trick to avoid doxygen 26583 delays. 26584 26585Thu Mar 08 16:13:39 GMT 2007 Olly Betts <olly@survex.com> 26586 26587 * HACKING: A few more coding guidelines. 26588 26589Thu Mar 08 14:26:21 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 26590 26591 * HACKING: Adjust wording to indicate that the build system is 26592 indended not to break after SVN updates. 26593 26594Thu Mar 08 07:34:22 GMT 2007 Olly Betts <olly@survex.com> 26595 26596 * include/xapian/queryparser.h,tests/queryparsertest.cc: Add simple 26597 implementations of DateValueRangeProcessor and 26598 NumberValueRangeProcessor and add qp_value_range2 to check that 26599 chaining ValueRangeProcessor subclasses works as intended. 26600 26601Thu Mar 08 06:06:15 GMT 2007 Olly Betts <olly@survex.com> 26602 26603 * docs/overview.html: Fix links to error classes in generated API 26604 documentation. 26605 26606Thu Mar 08 05:37:13 GMT 2007 Olly Betts <olly@survex.com> 26607 26608 * include/xapian/queryparser.h,queryparser/queryparser.cc, 26609 queryparser/queryparser.lemony,queryparser/queryparser_internal.h, 26610 tests/queryparsertest.cc: Add the ability to parse "value ranges" 26611 to the QueryParser (e.g. "10..50") which translate into a Query 26612 with operator OP_VALUE_RANGE. 26613 26614Thu Mar 08 04:27:54 GMT 2007 Olly Betts <olly@survex.com> 26615 26616 * include/xapian/queryparser.h,queryparser/queryparser.cc: Remove 26617 QueryParser::set_stemming_options() which has been deprecated 26618 since 0.9.0. 26619 26620Thu Mar 08 03:37:07 GMT 2007 Olly Betts <olly@survex.com> 26621 26622 * backends/flint/flint_lock.cc: Handle write failing to send a single 26623 byte down down the pipe to tell the parent we've got the lock (a 26624 potential bug noticed by _FORTIFY_SOURCE!) Handle read() failing 26625 with an unexpected error on the parent side by failing the lock 26626 attempt rather than risking an infinite loop. 26627 26628Thu Mar 08 02:52:26 GMT 2007 Olly Betts <olly@survex.com> 26629 26630 * include/xapian/types.h: Rewritten, with more accurate documentation 26631 comments. Add constant Xapian::BAD_VALUENO which is -1 cast to 26632 Xapian::valueno. 26633 * api/omenquire.cc,include/xapian/enquire.h,matcher/multimatch.cc: Use 26634 Xapian::BAD_VALUENO instead of Xapian::valueno(-1). 26635 26636Thu Mar 08 01:47:08 GMT 2007 Olly Betts <olly@survex.com> 26637 26638 * docs/Makefile.am: Try putting apidoc/html in EXTRA_DIST instead of 26639 using dist-hook. 26640 26641Wed Mar 07 23:16:52 GMT 2007 Olly Betts <olly@survex.com> 26642 26643 * docs/Makefile.am: Stop shipping docs/apidoc/latex/* in the 26644 xapian-core tarballs since it's just useless bloat. Removing it 26645 more than halves the size of the tarball (55% reduction!) 26646 26647Wed Mar 07 22:07:31 GMT 2007 Olly Betts <olly@survex.com> 26648 26649 * tests/runtest.in: If we aren't using valgrind, turn on 26650 MALLOC_CHECK_ and MALLOC_PERTURB_ for glibc. 26651 26652Wed Mar 07 20:02:31 GMT 2007 Olly Betts <olly@survex.com> 26653 26654 * INSTALL: CVS -> SVN. 26655 26656Wed Mar 07 20:00:37 GMT 2007 Olly Betts <olly@survex.com> 26657 26658 * configure.ac: Define _FORTIFY_SOURCE in config.h if GCC is in use 26659 and it's not already set. That way the user can easily override. 26660 * INSTALL: Document this. 26661 26662Wed Mar 07 19:53:15 GMT 2007 Olly Betts <olly@survex.com> 26663 26664 * INSTALL: Remove reference to muscat36 backend. 26665 26666Wed Mar 07 17:37:07 GMT 2007 Olly Betts <olly@survex.com> 26667 26668 * configure.ac: Note GCC and glibc versions needed for _FORTIFY_SOURCE 26669 support. 26670 26671Wed Mar 07 16:29:02 GMT 2007 Olly Betts <olly@survex.com> 26672 26673 * queryparser/lemon.c: Increase the length allowed for the filename 26674 in an error message, as it was being truncated which makes for a 26675 confusing error message and stops editors jumping to the line with 26676 the error in. 26677 26678Wed Mar 07 15:57:15 GMT 2007 Olly Betts <olly@survex.com> 26679 26680 * common/Makefile.mk: Ship common/msvc_posix_wrapper.h and 26681 common/msvc_posix_wrapper.cc. 26682 26683Wed Mar 07 10:01:31 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 26684 26685 * configure.ac: Add -D_FORTIFY_SOURCE to AM_CXXFLAGS for GCC 26686 builds. According to glibc CVS support for this was added in 26687 October 2004, but it doesn't seem to be documented very well, 26688 other than in features.h. This adds some extra checking for 26689 array bounds, partially at compile time, but doesn't currently 26690 find any problems (or cause any noticeable slowdown). 26691 26692Wed Mar 07 04:49:01 GMT 2007 Olly Betts <olly@survex.com> 26693 26694 * api/omqueryinternal.cc: Include str_parameter in swap() and the copy 26695 constructor. 26696 * tests/api_anydb.cc: get_mset(0, 20) not get_mset(1, 20)! Also check 26697 that we didn't miss any documents which should match the filter, not 26698 just that we didn't get any documents which shouldn't. 26699 26700Wed Mar 07 03:07:49 GMT 2007 Olly Betts <olly@survex.com> 26701 26702 * tests/harness/unixcmds.h: Fixed reverse sense include guard test. 26703 * tests/api_db.cc: Still need #include "utils.h". 26704 * tests/harness/backendmanager.cc: Update for rmdir.h -> unixcmds.h 26705 and rmdir() -> rm_rf(). 26706 26707Wed Mar 07 02:22:30 GMT 2007 Olly Betts <olly@survex.com> 26708 26709 * backends/quartz/btree.cc,backends/quartz/quartz_database.cc, 26710 backends/quartz/quartz_log.cc,common/utils.h,net/remoteconnection.cc, 26711 net/tcpclient.cc,tests/api_db.cc,tests/btreetest.cc,tests/harness/, 26712 tests/quartztest.cc: Rename rmdir() to rm_rf() since it does the 26713 same as "rm -rf" not "rmdir". The "touch()" function is only used 26714 in the testsuite so move it from common/utils.h into 26715 tests/harness/rmdir.cc and rename rmdir.cc to unixcmds.cc. 26716 common/utils.h no longer include safefcntl.h, so add explicit 26717 includes to the files which were previous relying on utils.h pulling 26718 it in. 26719 26720Wed Mar 07 02:21:18 GMT 2007 Olly Betts <olly@survex.com> 26721 26722 * xapian.spec.in: Include ChangeLog.examples. 26723 26724Wed Mar 07 02:17:59 GMT 2007 Olly Betts <olly@survex.com> 26725 26726 * docs/index.html,docs/internals.html: Create a separate index page 26727 for the "internal" documentation. 26728 26729Tue Mar 06 23:47:58 GMT 2007 Olly Betts <olly@survex.com> 26730 26731 * common/utils.cc,common/utils.h: Remove map_string_to_value() which 26732 is no longer used. 26733 * common/utils.h: Remove prototype for rmdir() which I failed to 26734 remove with the earlier commit. 26735 26736Tue Mar 06 22:51:51 GMT 2007 Olly Betts <olly@survex.com> 26737 26738 * tests/harness/rmdir.cc: Fix rmdir() on Unix to not be O(n^2) in the 26739 worst case. 26740 26741Tue Mar 06 22:46:30 GMT 2007 Olly Betts <olly@survex.com> 26742 26743 * docs/Makefile.am: Use the "inline test || echo" idiom to merge the 26744 VPATH and non-VPATH cases for distributing and installing the HTML 26745 apidocs. 26746 26747Tue Mar 06 22:13:03 GMT 2007 Olly Betts <olly@survex.com> 26748 26749 * api/omqueryinternal.cc: Fix Query::get_description() on an 26750 OP_VALUE_RANGE query. 26751 26752Tue Mar 06 09:03:33 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 26753 26754 * HACKING: Note on running preautoreconf and autoreconf to keep SVN 26755 builds working. 26756 * PLATFORMS: Update with success reports for windows builds. 26757 26758Tue Mar 06 01:57:23 GMT 2007 Olly Betts <olly@survex.com> 26759 26760 * tests/internaltest.cc: Comment out the "unsigned long long" testcase 26761 in tostring1 since the library doesn't currently have (or need) the 26762 utility function for that case. 26763 26764Tue Mar 06 01:49:55 GMT 2007 Olly Betts <olly@survex.com> 26765 26766 * common/utils.cc,tests/btreetest.cc,tests/harness/, 26767 tests/quartztest.cc: rmdir() is only used in the test suite, and not 26768 in the library code, so move it into the testsuite. Also, bow out 26769 early if the pathname passed is empty, and on Unix protect against 26770 filenames which start with "-". 26771 26772Mon Mar 05 02:52:49 GMT 2007 Olly Betts <olly@survex.com> 26773 26774 * configure.ac: Suppress more unhelpful aCC warnings. 26775 26776Mon Mar 05 02:15:29 GMT 2007 Olly Betts <olly@survex.com> 26777 26778 * tests/internaltest.cc: Add testcase autoptr1 which tests that an 26779 autoptr correctly handles self-assignment. 26780 26781Mon Mar 05 02:05:53 GMT 2007 Olly Betts <olly@survex.com> 26782 26783 * tests/internaltest.cc: Rename "omtostring1" to "tostring1" (we don't 26784 want to perpetuate references to "om"!) Add more test cases to this 26785 test. 26786 26787Mon Mar 05 01:18:17 GMT 2007 Olly Betts <olly@survex.com> 26788 26789 * configure.ac: Update in line with 0.9.10. 26790 26791Sun Mar 04 23:58:29 GMT 2007 Olly Betts <olly@survex.com> 26792 26793 * AUTHORS: Add reporters of bugs fixed in 0.9.10 to the "thanks" list. 26794 26795Sun Mar 04 00:44:17 GMT 2007 Olly Betts <olly@survex.com> 26796 26797 * api/errorhandler.cc,include/xapian/errorhandler.h: Move virtual 26798 dtor for ErrorHandler out of the header. Same reasons as previous 26799 commit. 26800 26801Sun Mar 04 00:40:44 GMT 2007 Olly Betts <olly@survex.com> 26802 26803 * api/omenquire.cc,include/xapian/enquire.h,matcher/Makefile.mk, 26804 matcher/weight.cc: Move virtual method definitions out of headers 26805 for MatchDecider, ExpandDecider, Weight, BoolWeight. This fixes 26806 warnings from aCC, and it's rare that the compiler would be able 26807 to inline a virtual method anyway. 26808 26809Sat Mar 03 21:40:43 GMT 2007 Olly Betts <olly@survex.com> 26810 26811 * configure.ac: For HP's aCC, we no longer need to suppress warning 26812 #336 (empty translation unit) since dummy.cc is history. But we 26813 do want to suppress a couple of frequently reported "remarks" which 26814 are unavoidable and don't indicate a problem. Experimentally, add 26815 "+wlint" for "link-like" warnings. 26816 26817Sat Mar 03 21:38:52 GMT 2007 Olly Betts <olly@survex.com> 26818 26819 * include/xapian.h,include/xapian/version_h.cc: Move function 26820 prototypes into a non-generated header. 26821 * configure.ac,msvc/version.h.in: Generate version.h suitable for use 26822 with MSVC. 26823 * Makefile.am: Distribute msvc/version.h. 26824 26825Sat Mar 03 19:49:11 GMT 2007 Olly Betts <olly@survex.com> 26826 26827 * tests/harness/backendmanager.cc: Rework how we start and handle 26828 xapian-tcpsrv - it's now started by exec from a child process. 26829 This means that the mechanism to try higher port numbers works 26830 reliably, and we no longer leak file descriptors (which was causing 26831 tests to fail on some platforms). 26832 26833Sat Mar 03 19:46:03 GMT 2007 Olly Betts <olly@survex.com> 26834 26835 * bin/xapian-tcpsrv.cc: Put "e.get_errno()" in a variable for clearer 26836 code. 26837 26838Sat Mar 03 16:01:17 GMT 2007 Olly Betts <olly@survex.com> 26839 26840 * common/msvc_posix_wrapper.cc: Change `#include <fcntl.h>' to 26841 `#include "safefcntl.h"' (currently makes no difference on 26842 Windows, but it's more consistent to always use the safeXXX 26843 headers). 26844 * common/msvc_posix_wrapper.cc: Merge two ECHILD cases. 26845 * common/msvc_posix_wrapper.cc: Make sure dwCreationDisposition 26846 is initialised even if flags has a bogus value. 26847 * common/msvc_posix_wrapper.cc: Be consistent and always use O_CREAT, 26848 etc, instead of sometimes using the MS alternative forms _O_CREAT, 26849 etc. 26850 26851Sat Mar 03 03:25:05 GMT 2007 Olly Betts <olly@survex.com> 26852 26853 * generate-exceptions.in: The GCC visibility docs aren't clear whether 26854 you need to make *thrown* exception types visible, or also *caught* 26855 exception types. But I've just been having odd problems catching 26856 Xapian::DocNotFoundError with "const Xapian::Error &", so let's mark 26857 the exception virtual baseclass Xapian::Error as visible too. 26858 26859Fri Mar 02 22:34:04 GMT 2007 Olly Betts <olly@survex.com> 26860 26861 * languages/Makefile.mk,languages/generate-allsnowballheaders.in: 26862 Convert unreadable make rule for generating allsnowballheaders.h 26863 to a perl script. 26864 * configure.ac: Substitute languages/allsnowballheaders. 26865 26866Fri Mar 02 14:31:11 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 26867 26868 * tests/internaltest.cc: Add a test for om_tostring(), mainly 26869 aimed at 64 bit types on windows platforms. Mingw builds report 26870 a warning in this code, which merits further investigation - see 26871 Bug #112 for details. 26872 26873Fri Mar 02 14:15:44 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 26874 26875 * common/msvc_posix_wrapper.cc: Improve accuracy of emulation of 26876 posix open, and fix a bug which caused it to misinterpret the 26877 "flags" argument - files were always being opened for writing: 26878 O_RDONLY is 0, so the old test (flags & O_RDONLY) always 26879 failed. 26880 26881Fri Mar 02 12:44:33 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 26882 26883 * common/msvc_posix_wrapper.cc: Fix whitespace issues. 26884 26885Fri Mar 02 12:18:42 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 26886 26887 * HACKING: Add note about how to generate ChangeLog timestamps 26888 using the unix date command - and I've started generating them in 26889 the same format as Olly is. (I hope.) 26890 26891Fri Mar 2 11:49:11 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 26892 26893 * common/msvc_posix_wrapper.h,common/safeerrno.h, 26894 common/msvc_posix_wrapper.cc,backends/quartz/btree.cc, 26895 backends/flint/flint_table.cc,backends/flint/flint_btreebase.cc: 26896 Move MSVC specific code for opening files into 26897 msvc_posix_wrapper.cc, and just leave a few conditional includes 26898 and function calls elsewhere. 26899 26900Thu Mar 01 22:51:42 GMT 2007 Olly Betts <olly@survex.com> 26901 26902 * queryparser/queryparser.lemony: Add casts to U_isupper(), etc to 26903 suppress warnings from aCC. 26904 * queryparser/queryparser.lemony: Use U_isdigit() instead of 26905 C_isdigit(), etc - the truncation to a char can cause false 26906 positives. 26907 * tests/queryparsertest.cc: Add a (rather contrived) regression test 26908 for the above change. 26909 26910Thu Mar 01 21:49:37 GMT 2007 Olly Betts <olly@survex.com> 26911 26912 * queryparser/utf8itor.h: Add cast to suppress warning from aCC. 26913 26914Thu Mar 1 15:27:09 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 26915 26916 * common/utils.c,common/utils.h: For windows, add an om_tostring() 26917 function for 64 bit integers: time() and GetProcessId() return 26918 these, and without this, backends/quartz/quartz_log.cc reports 26919 an error. 26920 26921Thu Mar 1 13:48:46 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 26922 26923 * queryparser/queryparser.lemony: Fix handling of hated wildcards 26924 which don't expand to any terms. 26925 26926Thu Mar 1 13:45:04 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 26927 26928 * tests/queryparsertest.cc: Fix last two test cases for hated 26929 wildcards to check for exactly what should be returned. 26930 26931Thu Mar 1 12:02:04 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 26932 26933 * common/safeerrno.h: Some of Microsoft's C++ compiler versions 26934 earlier than 2005 do not have _set_errno, so #define it in this 26935 case. 26936 26937Thu Mar 01 04:28:23 GMT 2007 Olly Betts <olly@survex.com> 26938 26939 * backends/quartz/btree.h: Correct comment ("read" -> "write"). 26940 26941Thu Mar 01 04:21:52 GMT 2007 Olly Betts <olly@survex.com> 26942 26943 * backends/flint/flint_table.h: Correct comment ("read" -> "write"). 26944 26945Thu Mar 01 01:30:02 GMT 2007 Olly Betts <olly@survex.com> 26946 26947 * tests/queryparsertest.cc: Add some test cases for hated wildcards 26948 which don't expand to any terms. 26949 26950Thu Mar 01 01:21:42 GMT 2007 Olly Betts <olly@survex.com> 26951 26952 * api/omqueryinternal.cc: Complete truncated comment. Prefer 26953 preincrement to postincrement. 26954 26955Wed Feb 28 20:13:35 GMT 2007 Olly Betts <olly@survex.com> 26956 26957 * api/omdocument.cc: Really tweak OmDocumentTerm::add_position() so 26958 that adding position 0 to an empty termlist takes the shortcut. 26959 26960Wed Feb 28 15:04:25 GMT 2007 Olly Betts <olly@survex.com> 26961 26962 * common/safeerrno.h: Correct <safeerrno.h> to "safeerrno.h" in 26963 message in #error directive. 26964 26965Wed Feb 28 14:59:29 GMT 2007 Olly Betts <olly@survex.com> 26966 26967 * include/xapian/query.h: Removed documentation comment for 26968 Xapian::Query::Internal which is no longer relevant (Query objects 26969 are now immutable once constructed, so parameters can no longer be 26970 set separately). 26971 26972Wed Feb 28 02:42:31 GMT 2007 Olly Betts <olly@survex.com> 26973 26974 * api/omqueryinternal.cc: Add support for serialising OP_VALUE_RANGE 26975 queries. Add support for OP_VALUE_RANGE queries to 26976 Query::get_description(). If an OP_VALUE_RANGE query has a start 26977 bound strictly greater than its end bound, simplify it by knowing 26978 that it can't match anything. 26979 * common/remoteprotocol.h,docs/remote_protocol.html: Bump remote 26980 protocol version to 24. 26981 26982Wed Feb 28 01:15:00 GMT 2007 Olly Betts <olly@survex.com> 26983 26984 * api/omquery.cc,api/omqueryinternal.cc,include/xapian/query.h, 26985 matcher/: Add new Query operator OP_VALUE_RANGE which allows 26986 a query to be filtered by checking if a value lies between 26987 two limits. 26988 * tests/api_anydb.cc: Add feature test valuerange1. 26989 26990Wed Feb 28 01:07:53 GMT 2007 Olly Betts <olly@survex.com> 26991 26992 * tests/harness/testsuite.cc: Only hook the testsuite into valgrind if 26993 env var XAPIAN_TESTSUITE_VALGRIND is set, to make it simple to run a 26994 test program under valgrind normally. 26995 * tests/runtest.in: Set XAPIAN_TESTSUITE_VALGRIND if automatically 26996 running a test program under valgrind. 26997 26998Tue Feb 27 23:51:34 GMT 2007 Olly Betts <olly@survex.com> 26999 27000 * tests/Makefile.am: Turn subdir-objects back on here so that the 27001 harness objects end up in the harness subdirectory. 27002 27003Tue Feb 27 22:45:04 GMT 2007 Olly Betts <olly@survex.com> 27004 27005 * examples/delve.cc: Rename "-k" to "-V" since "keys" were renamed to 27006 "values" long ago. Keep "-k" as an alias for now, but don't 27007 advertise it. Add handling so "-V3" shows value #3 for every 27008 document in the database. 27009 27010Tue Feb 27 21:35:35 GMT 2007 Olly Betts <olly@survex.com> 27011 27012 * tests/Makefile.am,tests/remotetest.cc: Get rid of remotetest since 27013 it no longer does anything. 27014 27015Tue Feb 27 21:28:28 GMT 2007 Olly Betts <olly@survex.com> 27016 27017 * tests/api_db.cc,tests/remotetest.cc: Move netstats1 from remotetest 27018 to apitest. It will now run for "remotetcp" as well as "remote". 27019 27020Tue Feb 27 21:27:17 GMT 2007 Olly Betts <olly@survex.com> 27021 27022 * tests/harness/backendmanager.cc,tests/harness/backendmanager.h: 27023 Inline trivial getter and setter methods in the header. Make 27024 getter method const. 27025 27026Tue Feb 27 20:22:58 GMT 2007 Olly Betts <olly@survex.com> 27027 27028 * examples/delve.cc: Change to not stem terms by default. Add 27029 "-s/--stemmer" option to allow a stemmer to be specified. 27030 27031Tue Feb 27 17:50:13 GMT 2007 Olly Betts <olly@survex.com> 27032 27033 * backends/flint/flint_table.cc: Test revision_supplied rather than 27034 revision_ so that behaviour matches comments. 27035 27036Tue Feb 27 16:58:56 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 27037 27038 * tests/api_wrdb.cc: Enhance crashrecovery1 to check that the 27039 readers reference a database with the expected number of 27040 documents. This checks that the base files which were removed 27041 were the correct ones to leave the current database valid. 27042 27043Tue Feb 27 16:54:31 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 27044 27045 * backends/quartz/btree.cc,backends/quartz/btree.h, 27046 backends/quartz/quartz_database.cc: Apply fix for opening 27047 databases while under heavy modification to quartz, using Olly's 27048 attachment to bug #108: 27049 http://www.xapian.org/cgi-bin/bugzilla/attachment.cgi?id=43 27050 Verified with loadtest that this resolves the issue. 27051 27052Tue Feb 27 13:12:31 GMT 2007 Olly Betts <olly@survex.com> 27053 27054 * tests/harness/backendmanager.h: Add get_dbtype() method to allow the 27055 current backend type to be read. 27056 * tests/apitest.cc,tests/apitest.h: Add get_dbtype() function to allow 27057 BackendManager::get_dbtype() to be called by tests. 27058 * tests/api_wrdb.cc: Add new test crashrecovery1 to verify that the 27059 backend can recover from the latest revision missing some of the 27060 base files. 27061 27062Tue Feb 27 12:45:00 GMT 2007 Olly Betts <olly@survex.com> 27063 27064 * tests/harness/backendmanager.cc: Fix how we start xapian-progsrv 27065 when running under valgrind. 27066 27067Tue Feb 27 11:34:22 GMT 2007 Olly Betts <olly@survex.com> 27068 27069 * backends/flint/flint_database.cc: Remove the old throw for 27070 DatabaseOpeningError so the new throw for DatabaseModifiedError will 27071 actually be used. 27072 27073Tue Feb 27 09:22:52 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 27074 27075 * flint_table.cc,flint_table.h,flint_database.cc: If a database is 27076 being frequently modified (ie, transactions committed extremely 27077 frequently), flint can fail open all the tables at a consistent 27078 revision on the first attempt. The code to handle this in 27079 flint_database.cc was not firing because flint_table.cc was 27080 reporting all failures to open a table for reading by throwing an 27081 exception. This commit changes flint_table.cc to report failure 27082 to open at a specific revision by returning false. 27083 27084 In addition, there was a bug in flint_database.cc which caused 27085 the attempts to re-try opening a database in this situation to 27086 fail. This is now fixed. 27087 27088 Finally, flint_database.cc now throws a DatabaseModified error if 27089 100 attempts to reopen the database fail because of continual 27090 modifications - previously, it would have thrown a 27091 DatabaseOpening error. 27092 27093 There is no easy regression test - but my "loadtest.cc" program 27094 attached to bug #108 shows the problem (if you comment out the 27095 code which ignores DatabaseOpeningErrors). 27096 27097Tue Feb 27 01:25:00 GMT 2007 Olly Betts <olly@survex.com> 27098 27099 * docs/doxygen_api_conf.in,docs/doxygen_full_conf.in: Need to 27100 define DOXYGEN so that the previous change to the generated 27101 errordispatch.h works. Remove obsolete macros from 27102 EXPAND_AS_DEFINED and PREDEFINED. 27103 * docs/doxygen_full_conf.in: Increase MAX_DOT_GRAPH_WIDTH from 27104 800 to 1024 to match doxygen_api_conf.in. 27105 27106Tue Feb 27 00:41:47 GMT 2007 Olly Betts <olly@survex.com> 27107 27108 * matcher/multimatch.cc: Fix warning with SGI's CC. 27109 27110Tue Feb 27 00:35:06 GMT 2007 Olly Betts <olly@survex.com> 27111 27112 * generate-exceptions.in: Wrap errordispatch.h in "#ifndef DOXYGEN" 27113 and "#endif" because doxygen gets confused by a header full of 27114 code. 27115 27116Mon Feb 26 21:53:41 GMT 2007 Olly Betts <olly@survex.com> 27117 27118 * tests/findheaders.pl: Remove long unused perl script. 27119 27120Mon Feb 26 19:23:50 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 27121 27122 * tests/api_wrdb.c: test_emptyterm2 used to delete a writable 27123 database whilst the database was open. Unfortunately, this 27124 doesn't work on windows (and it doesn't seem to be easy to make 27125 it work), so this patch changes the test to close each database 27126 before opening the next writable database at the same path. 27127 Fortunately, this seems to be the only test which behaves like 27128 this. Also, added a note to the win32 README file to document 27129 this restriction. 27130 27131Mon Feb 26 19:19:34 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 27132 27133 * docs/Makefile.am: touch apidoc/html/index.html after apidoc.pdf 27134 is created so that make doesn't attempt to regenerate it due to 27135 the dependency of apidoc/html/index.html on apidoc.pdf. 27136 Similarly for sourcedoc/html/index.html. 27137 27138Mon Feb 26 18:36:22 GMT 2007 Olly Betts <olly@survex.com> 27139 27140 * tests/harness/backendmanager.cc: Indent with tabs not spaces. 27141 * tests/harness/index_utils.cc: Add missing space after "if"; 27142 prefer "X.empty()" to "X.size() == 0". 27143 27144Mon Feb 26 16:10:31 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 27145 27146 * tests/harness/index_utils.cc,tests/harness/backendmanager.cc: 27147 Fix for windows: windows file handling seems to have a bug 27148 causing end of file conditions in ifstream to be missed. As a 27149 result, an empty string was being returned from the get_paragraph 27150 function in the test harness, resulting in an out-of-bounds error 27151 when generating a value from the paragraph. Add a check that the 27152 paragraph returned isn't empty, and return an empty document if 27153 it is. Then, check for empty documents (ie, contain some terms) 27154 before adding them to the test database. 27155 27156Mon Feb 26 16:05:07 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 27157 27158 * backends/quartz/btree_base.cc,backends/flint/flint_btreebase.cc: 27159 Fix for windows: string append method with a pointer and length 27160 causes a segfault-type error on windows if the pointer is NULL, 27161 even if the length is also 0. Check for this case when appending 27162 the bitmap to the base block, since a NULL pointer is passed for 27163 an empty bitmap when a new database is being created. 27164 27165 Also, initialise the bit_map0 and bitmap members to 0 in the 27166 FlintTable_base constructor which takes a string and a char 27167 argument - they had been omitted from this and were only being 27168 initialised by the constructor which takes no argument. This 27169 didn't seem to be having any negative effect, but doing it makes 27170 the code neater. 27171 27172Sun Feb 25 23:21:11 GMT 2007 Olly Betts <olly@survex.com> 27173 27174 * backends/inmemory/inmemory_database.cc: Create the RefCntPtr to this 27175 as an explicit variable to make the code more readable. 27176 27177Sun Feb 25 19:20:33 GMT 2007 Olly Betts <olly@survex.com> 27178 27179 * matcher/multimatch.cc: Fix inconsistent ordering between pages with 27180 set_sort_by_value_then_relevance (fixes bug#110). 27181 * tests/api_wrdb.cc: Enabled test consistency2. 27182 27183Sun Feb 25 17:28:09 GMT 2007 Olly Betts <olly@survex.com> 27184 27185 * matcher/: Also apply the "decreasing weights with remote database" 27186 optimisations which we use in the sort_by_relevance case in the 27187 sort_by_relevance_then_value case. 27188 27189Sat Feb 24 19:35:41 GMT 2007 Olly Betts <olly@survex.com> 27190 27191 * backends/inmemory/inmemory_database.cc: If replace_document is used 27192 to set the docid of a newly added document which has previously 27193 existed, then we need to mark that document as valid (caught by 27194 existing test replacedoc4 in a debug build). 27195 27196Sat Feb 24 17:11:22 GMT 2007 Olly Betts <olly@survex.com> 27197 27198 * tests/api_wrdb.cc: Add regression test consistency2 for bug#110 27199 (currently skipped since the bug isn't fixed yet). 27200 27201Thu Feb 22 15:18:53 GMT 2007 Olly Betts <olly@survex.com> 27202 27203 * configure.ac: Add proper detection for SGI's C++ (check stderr 27204 output of "CC -v"). Automatically pass -ptused in CXXFLAGS for 27205 xapian-core and any applications using xapian-config --cxxflags 27206 since it seems to be required to avoid template linking errors. 27207 27208Thu Feb 22 09:04:30 GMT 2007 Olly Betts <olly@survex.com> 27209 27210 * docs/Makefile.am: Ship generated RSTHTML files. 27211 27212Wed Feb 21 19:01:06 GMT 2007 Olly Betts <olly@survex.com> 27213 27214 * languages/turkish.sbl: Make some simplifications to the code of the 27215 turkish stemmer. 27216 27217Wed Feb 21 19:00:11 GMT 2007 Olly Betts <olly@survex.com> 27218 27219 * languages/Makefile.mk,languages/stem.cc,languages/turkish.sbl: 27220 Add turkish stemmer. 27221 27222Wed Feb 21 18:55:03 GMT 2007 Olly Betts <olly@survex.com> 27223 27224 * languages/compiler/generator.c: Number m_test and c_test variables 27225 to avoid variable shadowing warnings. 27226 27227Wed Feb 21 18:07:50 GMT 2007 Olly Betts <olly@survex.com> 27228 27229 * languages/compiler/generator.c: Remove duplicate copy of function 27230 resulting from ham-fisted reverting and applying of patches. 27231 27232Wed Feb 21 18:03:12 GMT 2007 Olly Betts <olly@survex.com> 27233 27234 * languages/compiler/generator.c,languages/compiler/header.h: Number 27235 mlimit variables to avoid variable shadowing warnings. 27236 * languages/compiler/generator.c: Use "if (foo() == -1) return -1;" 27237 which avoids a temporary variable (improving readability of 27238 generated code) and producing very slightly faster code. 27239 * languages/compiler/header.h: Use "#ifdef DISABLE_JAVA" around Java 27240 generator specific struct members and prototypes. 27241 27242Wed Feb 21 17:47:13 GMT 2007 Olly Betts <olly@survex.com> 27243 27244 * languages/compiler/generator.c: Add "~C" comments to generated 27245 source for more operations. 27246 27247Tue Feb 20 20:24:30 GMT 2007 Olly Betts <olly@survex.com> 27248 27249 * backends/flint/flint_table.cc,backends/quartz/btree.cc: Ensure 27250 both_bases is set to false if we don't have both bases when 27251 opening a table using an existing object. 27252 27253Tue Feb 20 15:57:05 GMT 2007 Olly Betts <olly@survex.com> 27254 27255 * preautoreconf: Fix to handle generating dependencies on generated 27256 objects, at least for the "checked out tree from SVN" case. Fixing 27257 this fully is trickier, but currently this is stopped snapshots 27258 from bootstrapping. 27259 27260Tue Feb 20 14:28:02 GMT 2007 Charlie Hull 27261 27262 * backends/flint/flint_btreebase.cc,backends/flint/flint_table.cc, 27263 backends/quartz/btree.cc: Use MS Windows API calls to delete 27264 files and open files we might want to delete while they are 27265 still open (i.e. the flint and quartz btree base files). This 27266 fixes a problem when a writer can't discard an old revision at the 27267 exact moment a reader is opening it (bug #108). 27268 27269Tue Feb 20 14:13:43 GMT 2007 Richard Boulton <richard@tartarus.org> 27270 27271 * .: Add generate-exceptions to svn:ignore property. 27272 27273Tue Feb 20 13:36:27 GMT 2007 Olly Betts <olly@survex.com> 27274 27275 * generate-exceptions.in: Add missing '}' to close 'namespace Xapian' 27276 in generated header 'xapian/error.h'. 27277 27278Tue Feb 20 13:26:19 GMT 2007 Olly Betts <olly@survex.com> 27279 27280 * Makefile.am: Put generated exception headers in BUILT_SOURCES. 27281 27282Tue Feb 20 12:10:18 GMT 2007 Olly Betts <olly@survex.com> 27283 27284 * Makefile.am,configure.ac,generate-exceptions.in,include/Makefile.mk, 27285 include/xapian/error.h,include/xapian/errortypes.h,net/serialise.cc: 27286 Replace macro gymnastics with errortypes.h by a perl script which 27287 generates the headers we require. It's more flexible, and easier to 27288 get doxygen to generate documentation from. 27289 * queryparser/queryparser.cc,tests/queryparsertest.cc: Throw new 27290 Error subclass QueryParserError instead of throwing const char * 27291 (fixes bug#101). 27292 27293Tue Feb 20 10:37:54 GMT 2007 Olly Betts <olly@survex.com> 27294 27295 * languages/steminternal.cc: p is never NULL once the class is 27296 successfully constructed, so just use Assert() to confirm this. 27297 27298Tue Feb 20 10:29:25 GMT 2007 Olly Betts <olly@survex.com> 27299 27300 * queryparser/lemon.c: Fix compiler warnings. 27301 27302Mon Feb 19 18:50:12 GMT 2007 Olly Betts <olly@survex.com> 27303 27304 * common/serialise-double.cc,net/remoteconnection.cc: Throw 27305 NetworkError rather than InternalError for invalid data received 27306 over the remote protocol. 27307 27308Mon Feb 19 18:12:21 GMT 2007 Olly Betts <olly@survex.com> 27309 27310 * tests/internaltest.cc: Just disable serialisequery1 if the remote 27311 backend is disabled, like we do for serialiselength1 and 27312 serialisedoc1 rather than assuming InternalError is due to the 27313 code being disabled. 27314 27315Mon Feb 19 09:48:02 GMT 2007 Olly Betts <olly@survex.com> 27316 27317 * docs/Makefile.am,docs/XapianAdminNotes.txt,docs/admin_notes.rst: 27318 Generated file "XapianAdminNotes.html" doesn't fit the naming 27319 conventions of other files at all, so renamed to "admin_notes.html". 27320 Rename the source to ".rst" so we can use an implicit rule for 27321 the conversion, in anticipation of other documentation in ReST 27322 format. 27323 27324Mon Feb 19 09:10:48 GMT 2007 Olly Betts <olly@survex.com> 27325 27326 * docs/Makefile.am: Fix typos which stopped parallel make from working 27327 correctly in "docs" subdirectory. 27328 27329Sun Feb 18 22:36:46 GMT 2007 Olly Betts <olly@survex.com> 27330 27331 * common/Makefile.mk,common/omstringstream.h,common/output.h, 27332 include/Makefile.mk,include/xapian/output.h: Move 27333 "<xapian/output.h>" to being an internal header in "common/" since 27334 it hasn't been included by "<xapian.h>" since 0.7.0. 27335 27336Sun Feb 18 22:18:33 GMT 2007 Olly Betts <olly@survex.com> 27337 27338 * include/xapian/dbfactory.h: Add documentation comment for the "prog" 27339 form of Remote::open_writable(). 27340 27341Sun Feb 18 19:31:20 GMT 2007 Olly Betts <olly@survex.com> 27342 27343 * tests/queryparsertest.cc: Add test for "associative NEAR". 27344 27345Sun Feb 18 18:27:40 GMT 2007 Olly Betts <olly@survex.com> 27346 27347 * tests/harness/backendmanager.cc,tests/harness/backendmanager.h: 27348 Merge BackendManager::change_names_to_paths() into 27349 index_files_to_database() and make the latter a method of 27350 class BackendManager. 27351 * tests/harness/backendmanager.cc: Remove mention of muscat36 backends 27352 from error message listing valid backends. 27353 * tests/harness/backendmanager.h: Comment out prototypes for currently 27354 disabled methods getdb_inmemoryerr, getwritedb_inmemory, etc. 27355 27356Sat Feb 17 15:38:05 GMT 2007 Olly Betts <olly@survex.com> 27357 27358 * backends/flint/flint_table.cc: new throws if allocation fails 27359 so we don't need to check the return value. 27360 27361Sat Feb 17 02:08:22 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 27362 27363 * backends/flint/flint_table.cc: Fix memory double-frees if 27364 FlintTable::close() is called twice on a table (without an open() 27365 being called in between). This was happening after a transaction 27366 failed when the table was next opened. 27367 * backends/quartz/btree.cc: Fix double-frees, similarly. 27368 27369Fri Feb 16 20:11:13 GMT 2007 Olly Betts <olly@survex.com> 27370 27371 * languages/compiler/generator.c: Add missing "~Z" for compatibility 27372 with C code generation (which we don't use for Xapian). 27373 27374Fri Feb 16 19:51:26 GMT 2007 Olly Betts <olly@survex.com> 27375 27376 * queryparser/tclUniData.h,queryparser/utf8itor.h: The tcl unicode 27377 routines only have tables for characters in the BMP. For other 27378 characters, assume they're word characters, but can't be forced to 27379 lowercase. 27380 27381Fri Feb 16 19:26:00 GMT 2007 Olly Betts <olly@survex.com> 27382 27383 * queryparser/utf8itor.cc: Fix bug in decoding of 4 byte utf-8 27384 sequences - the returned value was 0x400000 too large! 27385 27386Thu Feb 15 19:37:26 GMT 2007 Olly Betts <olly@survex.com> 27387 27388 * queryparser/queryparser.lemony,tests/queryparsertest.cc: Keep 27389 embedded apostrophe's in terms rather than generating a phrase 27390 search for them. 27391 27392Thu Feb 15 18:42:49 GMT 2007 Olly Betts <olly@survex.com> 27393 27394 * languages/compiler/generator.c,languages/steminternal.cc, 27395 languages/steminternal.h: Tweak the "grouping" functions to allow 27396 skipping past multiple occurrences and use this to implement "goto" 27397 or "gopast" followed by a grouping or "non" grouping more 27398 efficiently. 27399 27400Thu Feb 15 17:57:43 GMT 2007 Olly Betts <olly@survex.com> 27401 27402 * languages/compiler/generator.c,languages/steminternal.cc, 27403 languages/steminternal.h: Inline lose_s(). Since lose_s() 27404 checks if p is NULL, remove checks prior to calling lose_s(). 27405 * languages/steminternal.h: Cast from symbol * to int * via 27406 void * to try to suppress over-eager warnings about alignment. 27407 27408Thu Feb 15 12:43:04 GMT 2007 Olly Betts <olly@survex.com> 27409 27410 * languages/stem.cc: Add support for two letter ISO 639 codes. 27411 27412Thu Feb 15 10:40:40 GMT 2007 Olly Betts <olly@survex.com> 27413 27414 * docs/Makefile.am: Don't try to ship mkdoc.pl. 27415 27416Thu Feb 15 09:58:48 GMT 2007 Olly Betts <olly@survex.com> 27417 27418 * docs/gen_codestructure_doc.in: Fix to work in a VPATH build. 27419 27420Thu Feb 15 09:54:55 GMT 2007 Olly Betts <olly@survex.com> 27421 27422 * languages/compiler/generator.c: Fix Stem::get_description() to 27423 return the right string. 27424 27425Thu Feb 15 09:44:54 GMT 2007 Olly Betts <olly@survex.com> 27426 27427 * docs/gen_codestructure_doc.in: Add links to viewvcs on 27428 svn.xapian.org. 27429 27430Thu Feb 15 09:26:07 GMT 2007 Olly Betts <olly@survex.com> 27431 27432 * configure.ac,docs/Makefile.am,docs/gen_codestructure_doc.in, 27433 docs/mkdoc.pl,preautoreconf: Rework how code_structure.html 27434 is generated. Nicer output, and the html document is now 27435 regenerated if any of the dir_contents files change. 27436 27437Thu Feb 15 07:43:39 GMT 2007 Olly Betts <olly@survex.com> 27438 27439 * Makefile.am,bin/Makefile.mk,configure.ac,examples/Makefile.mk, 27440 makemanpage.in: Add "makemanpage" script which takes care of all 27441 the magic needed to generate a man page using help2man. This 27442 script is written in perl, but so is help2man, and they're both 27443 only used in maintainer-mode. 27444 27445Thu Feb 15 06:33:41 GMT 2007 Olly Betts <olly@survex.com> 27446 27447 * bin/Makefile.mk: Fix typos in man page generation rules. 27448 27449Thu Feb 15 06:30:54 GMT 2007 Olly Betts <olly@survex.com> 27450 27451 * examples/Makefile.mk: Fix typos in previous commit. 27452 27453Thu Feb 15 06:03:35 GMT 2007 Olly Betts <olly@survex.com> 27454 27455 * Makefile.am,configure.ac,examples/Makefile,examples/Makefile.am, 27456 examples/Makefile.mk: Convert examples subdirectory to use 27457 non-recursive make. Fixes wishlist bug#97. 27458 27459Thu Feb 15 05:48:38 GMT 2007 Olly Betts <olly@survex.com> 27460 27461 * Makefile.am,bin/Makefile,bin/Makefile.am,bin/Makefile.mk, 27462 configure.ac: Convert bin subdirectory to use non-recursive make. 27463 27464Wed Feb 14 19:08:49 GMT 2007 Olly Betts <olly@survex.com> 27465 27466 * tests/Makefile.am: There's no longer a need to remove the temporary 27467 directories for muscat36 backend tests, since we've removed the 27468 muscat36 backend code. 27469 27470Wed Feb 14 18:58:31 GMT 2007 Olly Betts <olly@survex.com> 27471 27472 * languages/Makefile.mk: Move adjusting of INCLUDES to the top of the 27473 file. 27474 * queryparser/Makefile.mk: Adjust INCLUDES for a VPATH build. 27475 27476Wed Feb 14 18:38:16 GMT 2007 Olly Betts <olly@survex.com> 27477 27478 * languages/Makefile.mk: Need -Ilanguages for VPATH builds from SVN. 27479 27480Wed Feb 14 18:37:54 GMT 2007 Olly Betts <olly@survex.com> 27481 27482 * languages/steminternal.cc,languages/steminternal.h: Add 27483 SET_CAPACITY() macro. 27484 27485Wed Feb 14 17:39:50 GMT 2007 Olly Betts <olly@survex.com> 27486 27487 * languages/steminternal.h: Don't cast away const. 27488 27489Wed Feb 14 17:14:14 GMT 2007 Olly Betts <olly@survex.com> 27490 27491 * include/Makefile: Add stub makefile. 27492 27493Wed Feb 14 17:12:41 GMT 2007 Olly Betts <olly@survex.com> 27494 27495 * configure.ac: ac_abs_srcdir, etc aren't available in configure 27496 itself, so we have to do the work ourselves. 27497 27498Wed Feb 14 12:54:26 GMT 2007 Olly Betts <olly@survex.com> 27499 27500 * configure.ac: Fix typo in last commit. 27501 27502Wed Feb 14 12:19:18 GMT 2007 Olly Betts <olly@survex.com> 27503 27504 * Makefile.am,configure.ac,languages/Makefile.mk: Define automake 27505 conditional VPATH_BUILD so we can only add extra entries to 27506 INCLUDES in VPATH builds. 27507 27508Wed Feb 14 11:59:02 GMT 2007 Olly Betts <olly@survex.com> 27509 27510 * languages/Makefile.mk: Ick, we need $(top_srcdir)/languages in 27511 INCLUDES as the generated sources need to find non-generated 27512 headers. 27513 27514Wed Feb 14 11:46:43 GMT 2007 Olly Betts <olly@survex.com> 27515 27516 * backends/database.cc,backends/remote/remote-database.cc, 27517 common/database.h,common/remote-database.h,common/remoteprotocol.h, 27518 docs/remote_protocol.html,net/remoteserver.cc: Support 27519 get_lastdocid() on remote databases. 27520 27521Wed Feb 14 11:20:33 GMT 2007 Olly Betts <olly@survex.com> 27522 27523 * Makefile.am,configure.ac,include/Makefile.am,include/Makefile.mk: 27524 Convert include subdirectory to use non-recursive make. 27525 27526Wed Feb 14 11:05:00 GMT 2007 Olly Betts <olly@survex.com> 27527 27528 * Makefile.am,bin/Makefile.am,configure.ac,examples/Makefile.am, 27529 getopt/Makefile,getopt/Makefile.am,getopt/Makefile.mk, 27530 tests/Makefile.am: Convert getopt subdirectory to use non-recursive 27531 make. 27532 27533Wed Feb 14 10:56:15 GMT 2007 Olly Betts <olly@survex.com> 27534 27535 * tests/harness/Makefile.am: Remove as no longer used. 27536 27537Wed Feb 14 10:38:27 GMT 2007 Olly Betts <olly@survex.com> 27538 27539 * backends/quartz/Makefile.mk,bin/Makefile.am,tests/Makefile.am: Move 27540 backends/quartz/libbtreecheck.la to libquartzcheck.la. 27541 * getopt/Makefile.am: Distribute getopt/dir_contents. 27542 27543Wed Feb 14 10:20:14 GMT 2007 Olly Betts <olly@survex.com> 27544 27545 * preautoreconf: Handle variables set with "+=" and ":=". 27546 27547Wed Feb 14 10:16:29 GMT 2007 Olly Betts <olly@survex.com> 27548 27549 * include/xapian/database.h: Add documentation comments for DB_* 27550 constants. 27551 27552Wed Feb 14 10:11:37 GMT 2007 Olly Betts <olly@survex.com> 27553 27554 * examples/.cvsignore: Remove lingering relic of CVS days. 27555 27556Wed Feb 14 10:07:14 GMT 2007 Olly Betts <olly@survex.com> 27557 27558 * Makefile.am,configure.ac,net/Makefile,net/Makefile.am, 27559 net/Makefile.mk: Convert net subdirectory to use non-recursive make. 27560 Now libxapian.la is built completely non-recursively. 27561 * docs/Makefile.am,docs/mkdoc.pl: Fix mkdoc.pl to handle directories 27562 which use non-recursive make. 27563 27564Wed Feb 14 09:10:27 GMT 2007 Olly Betts <olly@survex.com> 27565 27566 * Makefile.am,backends/Makefile,backends/Makefile.am, 27567 backends/Makefile.mk,backends/flint/Makefile, 27568 backends/flint/Makefile.am,backends/flint/Makefile.mk, 27569 backends/inmemory/Makefile,backends/inmemory/Makefile.am, 27570 backends/inmemory/Makefile.mk,backends/multi/Makefile, 27571 backends/multi/Makefile.am,backends/multi/Makefile.mk, 27572 backends/quartz/Makefile,backends/quartz/Makefile.am, 27573 backends/quartz/Makefile.mk,backends/remote/Makefile, 27574 backends/remote/Makefile.am,backends/remote/Makefile.mk, 27575 configure.ac: Convert backends subdirectory (and subdirectories 27576 thereof) to non-recursive make. 27577 27578Wed Feb 14 08:49:02 GMT 2007 Olly Betts <olly@survex.com> 27579 27580 * preautoreconf: Fix handling of backslash at the end of a line in 27581 included files. 27582 * preautoreconf: Our handling of which directory a nested include is 27583 sought from is consistent with automake, so remove the FIXME comment 27584 about it. 27585 27586Wed Feb 14 08:07:07 GMT 2007 Olly Betts <olly@survex.com> 27587 27588 * Makefile.am,configure.ac,matcher/Makefile,matcher/Makefile.am, 27589 matcher/Makefile.mk: Convert matcher subdirectory to non-recursive 27590 make. 27591 27592Wed Feb 14 07:50:19 GMT 2007 Olly Betts <olly@survex.com> 27593 27594 * Makefile.am,api/Makefile,api/Makefile.am,api/Makefile.mk, 27595 configure.ac: Convert api subdirectory to non-recursive make. 27596 27597Wed Feb 14 07:48:45 GMT 2007 Olly Betts <olly@survex.com> 27598 27599 * preautoreconf: No need to `chdir' to the current directory. 27600 * preautoreconf: Don't bother looking at the file we generate 27601 when considering included files. 27602 * preautoreconf: Add included files to the dependency list. 27603 27604Wed Feb 14 07:38:19 GMT 2007 Olly Betts <olly@survex.com> 27605 27606 * preautoreconf: Generate dummy rules for the files which 27607 preautoreconf depends on, so that "make" still works if one 27608 of them is removed (by build system restructuring). 27609 27610Wed Feb 14 07:24:07 GMT 2007 Olly Betts <olly@survex.com> 27611 27612 * common,languages,tests/harness: svn:ignore: We do need to ignore 27613 .dirstamp files after all. 27614 27615Wed Feb 14 07:22:29 GMT 2007 Olly Betts <olly@survex.com> 27616 27617 * Makefile.am,common/Makefile,common/Makefile.am,common/Makefile.mk, 27618 configure.ac: Convert common subdirectory to non-recursive make. 27619 27620Wed Feb 14 07:03:27 GMT 2007 Olly Betts <olly@survex.com> 27621 27622 * .: svn:ignore: Ignore all vim swapfiles. No need to ignore .deps 27623 now that dummy.cc is history. 27624 27625Wed Feb 14 06:34:44 GMT 2007 Olly Betts <olly@survex.com> 27626 27627 * tests/stemtest.cc: Force ASCII capitals in sample vocabulary to 27628 lower case before stemming. 27629 27630Wed Feb 14 06:14:42 GMT 2007 Olly Betts <olly@survex.com> 27631 27632 * Makefile.am,configure.ac,queryparser/Makefile, 27633 queryparser/Makefile.am,queryparser/Makefile.mk: 27634 Convert queryparser subdirectory to non-recursive make. 27635 * Makefile.am: Enable automake option "subdir-objects" so 27636 that built objects for a non-recursively made directory 27637 go into that directory. 27638 27639Wed Feb 14 06:12:29 GMT 2007 Olly Betts <olly@survex.com> 27640 27641 * tests/harness: svn:ignore: remove .dirstamp and depcomp. 27642 27643Wed Feb 14 06:10:44 GMT 2007 Olly Betts <olly@survex.com> 27644 27645 * languages/Makefile.mk: In maintainer-mode, remove snowball and 27646 generated allsnowballheaders.h on "make clean". When not in 27647 maintainer-mode, remove them on "make maintainer-clean". 27648 * languages/: svn:ignore all vim swap files. 27649 27650Wed Feb 14 05:54:32 GMT 2007 Olly Betts <olly@survex.com> 27651 27652 * languages/Makefile.mk: Distribute the stub languages/Makefile. 27653 * tests/harness/Makefile.mk: No need to explicitly distribute 27654 harness/Makefile.mk. 27655 27656Wed Feb 14 05:52:08 GMT 2007 Olly Betts <olly@survex.com> 27657 27658 * languages/Makefile.mk: Distribute languages/dir_contents. 27659 27660Wed Feb 14 05:44:10 GMT 2007 Olly Betts <olly@survex.com> 27661 27662 * api/Makefile.am,api/vectortermlist.h,common/Makefile.am, 27663 queryparser/Makefile.am: We use vectortermlist.h from the 27664 queryparser directory, so move it from api to common. 27665 27666Wed Feb 14 05:27:13 GMT 2007 Olly Betts <olly@survex.com> 27667 27668 * languages/Makefile.mk,languages/stem.cc: Disable finnish and lovins 27669 temporarily, until I sort out merging the support for among with 27670 functions properly. 27671 27672Wed Feb 14 05:24:36 GMT 2007 Olly Betts <olly@survex.com> 27673 27674 * languages/steminternal.cc,languages/steminternal.h: Temporarily 27675 back out the changes to handling of among with functions. 27676 27677Tue Feb 13 19:11:57 GMT 2007 Olly Betts <olly@survex.com> 27678 27679 * tests/harness/testsuite.cc: If a test throws an unknwon exception, 27680 say so in the test failure message. If it throws std::string, 27681 report the first 40 character (or first line) of the string. 27682 27683Tue Feb 13 17:48:11 GMT 2007 Olly Betts <olly@survex.com> 27684 27685 * languages/steminternal.cc: Fix decoding of 3 byte utf-8 sequences. 27686 27687Tue Feb 13 17:47:22 GMT 2007 Olly Betts <olly@survex.com> 27688 27689 * languages/Makefile.mk: Fix dependency of generated 27690 languages/allsnowballheaders.h to be on languages/Makefile.mk. 27691 27692Tue Feb 13 17:46:42 GMT 2007 Olly Betts <olly@survex.com> 27693 27694 * languages/compiler/generator.c: Fix missing ";" in generated 27695 code. 27696 27697Tue Feb 13 15:40:15 GMT 2007 Olly Betts <olly@survex.com> 27698 27699 * languages/Makefile.mk,languages/compiler/driver.c, 27700 languages/compiler/generator.c,languages/compiler/header.h: 27701 Changes towards getting C++ generation working. 27702 27703Tue Feb 13 15:39:23 GMT 2007 Olly Betts <olly@survex.com> 27704 27705 * languages/steminternal.cc,languages/steminternal.h: Revert to match 27706 currently generated code. 27707 27708Tue Feb 13 14:09:31 GMT 2007 Olly Betts <olly@survex.com> 27709 27710 * languages/compiler/: Sync with current snowball SVN + submitted 27711 patches. 27712 27713Tue Feb 13 10:53:34 GMT 2007 Olly Betts <olly@survex.com> 27714 27715 * tests/harness/backendmanager.cc: If we fail to start 27716 xapian-tcpsrv, report why (give errno or the error output). 27717 27718Tue Feb 13 10:28:43 GMT 2007 Olly Betts <olly@survex.com> 27719 27720 * tests/remotetest.cc: Prune test cases which are redundant now that 27721 apitest tests remote and remotetcp: apitest's simplequery1 performs 27722 a superset of what netmatch1 and tcpmatch1 do; apitest's multidb1 27723 performs a superset of what netmatch2 does; and the coverage given 27724 by our netexpand1 is provided by various apitest tests. 27725 27726Mon Feb 12 06:36:58 GMT 2007 Olly Betts <olly@survex.com> 27727 27728 * languages/compiler/generator.c: In backward mode, among 27729 can't match if there are fewer characters before the current 27730 position than the minimum length string in the among. 27731 27732Mon Feb 12 05:56:31 GMT 2007 Olly Betts <olly@survex.com> 27733 27734 * configure.ac: Make sure that the languages subdirectory exists in 27735 case this is a fresh SVN checkout and srcdir != builddir. 27736 27737Mon Feb 12 05:46:49 GMT 2007 Olly Betts <olly@survex.com> 27738 27739 * languages/Makefile.mk,languages/compiler/driver.c: -DDISABLE_JAVA 27740 to not compile in Java support (inline with Richard's patch to 27741 the upstream snowball sources). 27742 * languages/Makefile.mk: Remove inaccurate comment about processing 27743 with automake. Fix -n option we pass (remove directory name). 27744 Use "" instead of <> in generated file allsnowballheaders.h. Remove 27745 snowball compiler and generated files on "make maintainer-clean". 27746 27747Mon Feb 12 01:08:50 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 27748 27749 * languages/compiler/header.h: Remove commented out header for 27750 sort() prototype, to match snowball sources. 27751 27752Sun Feb 11 19:28:50 GMT 2007 Olly Betts <olly@survex.com> 27753 27754 * languages/api.h,languages/header.h: Remove headers which are no 27755 longer used. 27756 27757Sun Feb 11 19:26:50 GMT 2007 Olly Betts <olly@survex.com> 27758 27759 * languages/api.cc,languages/utilities.cc: Remove sources which are 27760 no longer used. 27761 27762Sun Feb 11 16:22:16 GMT 2007 Olly Betts <olly@survex.com> 27763 27764 * languages/compiler/driver.c: Use #ifdef instead of #if. 27765 27766Sun Feb 11 16:20:44 GMT 2007 Olly Betts <olly@survex.com> 27767 27768 * languages/compiler/driver.c: Disable java support, since we don't 27769 use it and it means one less source file. 27770 27771Sun Feb 11 16:08:49 GMT 2007 Olly Betts <olly@survex.com> 27772 27773 * languages/compiler/analyser.c,languages/compiler/header.h: Use qsort 27774 instead the snowball's own sort implementation to reduce the number 27775 of source files we need for the snowball compiler. 27776 27777Sun Feb 11 16:04:19 GMT 2007 Olly Betts <olly@survex.com> 27778 27779 * languages/Makefile: Add stub Makefile to allow "make", "make check", 27780 and "make clean" from the languages subdirectory. 27781 27782Sun Feb 11 16:00:51 GMT 2007 Olly Betts <olly@survex.com> 27783 27784 * languages/compiler/analyser.c: Cast the arguments, not the function 27785 pointer as ISO C allows `void*' and `struct amongvec*' to have 27786 different representations. 27787 27788Sun Feb 11 15:43:49 GMT 2007 Olly Betts <olly@survex.com> 27789 27790 * languages/compiler/space.c: Fix a typo of a function name in a 27791 comment. 27792 27793Sun Feb 11 15:23:51 GMT 2007 Olly Betts <olly@survex.com> 27794 27795 * languages/compiler/header.h,languages/compiler/tokeniser.c: Give 27796 syswords and syswords2 .h extensions for clarity. 27797 27798Sun Feb 11 15:17:28 GMT 2007 Olly Betts <olly@survex.com> 27799 27800 * Makefile.am,api/Makefile.am,api/omstem.cc,configure.ac,dummy.cc, 27801 languages/Makefile.am,languages/Makefile.mk,languages/compiler/, 27802 languages/: Update the stemmers to use utf-8 and the latest snowball 27803 version (based on r421 from snowball SVN). Further patches are 27804 required to generate C++ classes from snowball, I'm checking in the 27805 vanilla compiler first to help us track the patches. 27806 27807Sun Feb 11 14:16:35 GMT 2007 Olly Betts <olly@survex.com> 27808 27809 * api/omstem.cc: Add definition for Xapian::Stem::stem_word(). 27810 27811Sun Feb 11 13:15:11 GMT 2007 Olly Betts <olly@survex.com> 27812 27813 * tests/api_anydb.cc,tests/api_db.cc,tests/api_posdb.cc: Prefer 27814 Xapian::Stem::operator() to Xapian::Stem::stem_word(). 27815 27816Sat Feb 10 19:10:31 GMT 2007 Olly Betts <olly@survex.com> 27817 27818 * queryparser/queryparser.lemony: Prefer Xapian::Stem::operator() to 27819 Xapian::Stem::stem_word(). 27820 27821Sat Feb 10 18:34:41 GMT 2007 Olly Betts <olly@survex.com> 27822 27823 * include/xapian/stem.h: Make Xapian::Stem::Internal as @internal for 27824 doxygen. Mark Xapian::Stem::stem_word() as deprecated. 27825 27826Sat Feb 10 18:34:05 GMT 2007 Olly Betts <olly@survex.com> 27827 27828 * HACKING: Add brief note about coding style. 27829 27830Sat Feb 10 18:24:28 GMT 2007 Olly Betts <olly@survex.com> 27831 27832 * preautoreconf: Add licence and copyright notice. Add support for 27833 automake include directives. Warn about unknown variables. 27834 27835Sat Feb 10 18:19:26 GMT 2007 Olly Betts <olly@survex.com> 27836 27837 * tests/harness/testsuite.cc: Conditionalise all the valgrind specific 27838 code on RUNNING_ON_VALGRIND to minimise the overhead if valgrind 27839 is installed but we aren't running tests under it. 27840 27841Sat Feb 10 17:42:05 GMT 2007 Olly Betts <olly@survex.com> 27842 27843 * tests/harness/index_utils.cc,tests/stemtest.cc: Prefer 27844 Xapian::Stem::operator() to Xapian::Stem::stem_word(). 27845 27846Sat Feb 10 17:27:27 GMT 2007 Olly Betts <olly@survex.com> 27847 27848 * examples/delve.cc,examples/simpleindex.cc,examples/simplesearch.cc: 27849 Prefer Xapian::Stem::operator() to Xapian::Stem::stem_word(). 27850 27851Wed Feb 07 04:23:09 GMT 2007 Olly Betts <olly@survex.com> 27852 27853 * queryparser/queryparser.lemony,queryparser/queryparser.lt: Use 27854 new/delete instead of malloc/free to allocate struct yyParser 27855 and pass it around as "yyParser *" instead of "void *". 27856 27857Wed Feb 07 03:44:16 GMT 2007 Olly Betts <olly@survex.com> 27858 27859 * include/xapian/queryparser.h,queryparser/queryparser.cc, 27860 queryparser/queryparser.lemony,queryparser/queryparser_internal.h, 27861 tests/queryparsertest.cc: Allow the default prefix to be specified 27862 so you can use QueryParser to parse a text entry box for "author" 27863 etc. 27864 * configure.ac: Note API change for LIBRARY_VERSION_INFO updating. 27865 27866Wed Feb 07 01:14:37 GMT 2007 Olly Betts <olly@survex.com> 27867 27868 * common/safeunistd.h: Add '#include <sys/types.h>' so that we've seen 27869 a typedef for off_t before we hide it behind a #define to avoid a 27870 compilation error if <sys/types.h> or <wchar.h> is included after 27871 we are. 27872 27873Tue Feb 06 06:26:24 GMT 2007 Olly Betts <olly@survex.com> 27874 27875 * INSTALL: Mention MSVC makefiles. Note that we still test build with 27876 GCC 2.95.4 even though we recommend using a newer version. 27877 27878Tue Feb 06 06:13:48 GMT 2007 Olly Betts <olly@survex.com> 27879 27880 * AUTHORS,HACKING,backends/flint/,backends/quartz/btree.cc, 27881 backends/quartz/quartz_database.cc,bin/quartzcompact.cc, 27882 bin/xapian-compact.cc,common/,tests/btreetest.cc, 27883 tests/harness/backendmanager.cc,tests/harness/testsuite.cc, 27884 tests/quartztest.cc: Support large files in stat() and fstat() 27885 when building with MSVC. Factor MSVC specific header magic 27886 into new replacement headers "safeunistd.h" and "safesysstat.h". 27887 * AUTHORS: Thanks to Charlie Hull for the original patch to support 27888 stat() on large files with MSVC (and past MSVC related stuff!) 27889 27890Sat Jan 13 02:06:15 GMT 2007 Olly Betts <olly@survex.com> 27891 27892 * include/xapian/database.h: Add pointer from 27893 WritableDatabase::add_document() to replace_document() in case the 27894 user wants to specify the docid themselves. Also improve the 27895 wording of the warning about changes not being committed to disk 27896 right away. 27897 27898Tue Jan 2 15:49:43 GMT 2007 Richard Boulton <richard@lemurconsulting.com> 27899 27900 * backends/quartz/btree.cc,backends/flint/flint_io.h: Patches from 27901 Charlie Hull to allow 2GB+ index files work when compiled using 27902 Visual C++. 27903 27904Sat Dec 30 13:48:54 GMT 2006 Richard Boulton <richard@lemurconsulting.com> 27905 27906 * queryparser/queryparser.lemony,include/xapian/queryparser.h: 27907 Add support for partially entered queries, to better support 27908 incremental searching. Also fix a typo in a comment. 27909 * docs/queryparser.html: Document the new partial query option, and 27910 what it's useful for. 27911 * tests/queryparsertest.cc: Test partial queries. 27912 27913Wed Dec 20 16:42:24 GMT 2006 Olly Betts <olly@survex.com> 27914 27915 * PLATFORMS: Updated with success reports from debian buildds. 27916 27917Wed Dec 20 00:53:19 GMT 2006 Olly Betts <olly@survex.com> 27918 27919 * api/omqueryinternal.cc: Fix "unused parameter" warning when building 27920 with the remote backend disabled. Also update a comment - the query 27921 serialisation isn't really one line of text since we now store term 27922 names with the length prefixed, and they can contain arbitrary 27923 characters including linefeeds. 27924 27925Tue Dec 19 20:40:27 GMT 2006 Olly Betts <olly@survex.com> 27926 27927 * tests/Makefile.am: Need libgetopt.la for test programs which 27928 use the test harness for platforms where GNU getopt isn't in 27929 the standard C library. 27930 27931Tue Dec 19 20:34:16 GMT 2006 Olly Betts <olly@survex.com> 27932 27933 * queryparser/utf8itor.h: Need <string.h> for strlen. 27934 27935Tue Dec 19 16:35:58 GMT 2006 Olly Betts <olly@survex.com> 27936 27937 * common/omstringstream.h: Fix "warning: comparison between signed and 27938 unsigned". 27939 27940Tue Dec 19 15:33:19 GMT 2006 Olly Betts <olly@survex.com> 27941 27942 * backends/flint/flint_positionlist.cc: Turn the second (and 27943 potentially slightly deeper) recursion in encode_interpolative 27944 and decode_interpolative into explicit iteration in case the 27945 compiler fails to optimise the tail recursion. 27946 27947Mon Dec 18 03:39:41 GMT 2006 Olly Betts <olly@survex.com> 27948 27949 * matcher/: Add ExactPhrasePostList to handle the common special case 27950 where the window size of OP_PHRASE is equal to the number of terms 27951 in the phrase. 27952 27953Mon Dec 18 02:21:32 GMT 2006 Olly Betts <olly@survex.com> 27954 27955 * tests/harness/testsuite.cc: Remove accidentally committed "NO 27956 PROBLEM" message when running under valgrind. 27957 27958Wed Dec 13 21:15:57 GMT 2006 Richard Boulton <richard@lemurconsulting.com> 27959 27960 * include/xapian/document.h: Another tweak to the documentation 27961 comment. 27962 27963Wed Dec 13 18:07:51 GMT 2006 Richard Boulton <richard@lemurconsulting.com> 27964 27965 * include/xapian/document.h: Improve documentation comment for 27966 Document::get_value(). 27967 27968Wed Dec 13 03:38:37 GMT 2006 Olly Betts <olly@survex.com> 27969 27970 * include/xapian/enquire.h: In the description of the TradWeight 27971 class, replace reference to "Muscat 3.6" (meaningless to most 27972 people) with a generally useful explanation. 27973 27974Wed Dec 13 03:27:14 GMT 2006 Olly Betts <olly@survex.com> 27975 27976 * docs/: svn:ignore XapianAdminNotes.html. 27977 27978Wed Dec 13 03:16:44 GMT 2006 Olly Betts <olly@survex.com> 27979 27980 * configure.ac: Yet more valgrind test improvements! Give up testing 27981 valgrind features if VALGRIND_COUNT_LEAKS isn't supported. Fix the 27982 common shortcut case to not try logging to /dev/null.<pid> so it 27983 can actually get used. Also don't use /dev/null in the --logfile 27984 case either as it will probably cause problems there too (though I 27985 don't have an old enough valgrind handy to verify this). Also report 27986 results of valgrind tests in a couple more places. 27987 27988Wed Dec 13 00:31:04 GMT 2006 Richard Boulton <richard@lemurconsulting.com> 27989 27990 * docs/Makefile.am: New rules for generating XapianAdminNotes.html 27991 from XapianAdminNotes.txt 27992 * configure.ac: Check for rst2html, and require it in maintainer 27993 mode. 27994 * HACKING: document rst2html as a requirement. 27995 27996Tue Dec 12 23:58:13 GMT 2006 Richard Boulton <richard@lemurconsulting.com> 27997 27998 * docs/XapianAdminNotes.txt: Add new document giving an 27999 introduction to Xapian concepts for system administrators. 28000 28001Tue Dec 12 21:33:38 GMT 2006 Richard Boulton <richard@lemurconsulting.com> 28002 28003 * docs/quartzdesign.html: Fix an unmatched bracket. 28004 28005Tue Dec 12 21:18:54 GMT 2006 Richard Boulton <richard@lemurconsulting.com> 28006 28007 * backends/quartz/quartz_alldocspostlist.cc: Fix memory leak 28008 discovered by valgrind in QuartzAllDocsPostList constructor: was 28009 failing to delete the Bcursor. 28010 28011Tue Dec 12 21:05:47 GMT 2006 Richard Boulton <richard@lemurconsulting.com> 28012 28013 * queryparser/queryparser.lemony: Fix parsing of queries of the 28014 form "+foo* bar", where no terms in the database match the 28015 wildcard "foo*", but bar does exist in the database. Previously, 28016 such queries would be equivalent to "bar". Now, they will match 28017 no documents. This required using a new "QpQuery" object 28018 internally so we can distinguish between deliberately "match 28019 nothing" queries, and empty lists of queries. 28020 * tests/api_anydb.cc,tests/queryparsertest.cc: Test above fix, and 28021 general parsing of wildcard queries with +terms, and test 28022 performing a match with a query resulting from a wildcard query 28023 which matches nothing. 28024 28025Tue Dec 12 21:05:15 GMT 2006 Richard Boulton <richard@lemurconsulting.com> 28026 28027 * tests/api_nodb.cc,api/omqueryinternal.cc,api/omquery.cc: Fix some 28028 copyright assertions I missed. 28029 28030Tue Dec 12 19:38:39 GMT 2006 Richard Boulton <richard@lemurconsulting.com> 28031 28032 * include/xapian/query.h,api/omqueryinternal.cc,api/omquery.cc: Add 28033 two static Query objects: Xapian::Query::MatchAll and 28034 Xapian::Query::MatchNothing, which match all documents and no 28035 documents in the database, respectively. (Equivalent to 28036 Query("") and Query()). Allow empty queries such as MatchNothing 28037 to be combined with other queries. Change methods of 28038 Xapian::Query::Internal to use pointers to query internals 28039 instead of references, so they can handle the NULL pointer 28040 internals of an empty query. 28041 * tests/api_nodb.cc: Test combining of MatchNothing queries with 28042 other queries with OP_AND and OP_OR. 28043 28044Tue Dec 12 20:01:58 GMT 2006 Richard Boulton <richard@lemurconsulting.com> 28045 28046 * configure.ac: Fix valgrind better: --log-file-exactly isn't what 28047 is wanted, because it messes up if multiple processes are traced. 28048 Instead, use a temporary file instead of /dev/null, so we don't 28049 get the permission denied error. 28050 28051Tue Dec 12 19:15:20 GMT 2006 Richard Boulton <richard@lemurconsulting.com> 28052 28053 * configure.ac: Fix detection of valgrind for newer valgrind. My 28054 version of valgrind (valgrind-3.2.1-Debian, from ubuntu feisty) 28055 treats the parameter supplied to --log-file as a base path, and 28056 appends a process ID. This caused the test for the log-file 28057 option to fail with permission denied errors due to trying to 28058 write to files of the form '/dev/null.16098'. Solution - test 28059 for the --log-file-exactly option, and use that. Also, change 28060 configure.ac to display the result of the tests for valgrind; was 28061 displaying that it had found it, but not mentioning that it 28062 couldn't make it work. 28063 28064Tue Dec 05 21:12:12 GMT 2006 Richard Boulton <richard@lemurconsulting.com> 28065 28066 * include/xapian/query.h,api/omqueryinternal.cc: Fix query 28067 serialisation bug. Was failing to propagate "curpos" parameter 28068 across subqueries, resulting in incorrect serialisation of 28069 termpositions. 28070 * tests/internaltest.cc: Regression test for this bug. 28071 28072Tue Dec 05 01:34:07 GMT 2006 Olly Betts <olly@survex.com> 28073 28074 * HACKING: Clarify how XAPIAN_DEBUG_FLAGS works. 28075 28076Tue Dec 05 01:23:12 GMT 2006 Olly Betts <olly@survex.com> 28077 28078 * examples/quest.cc: Add "--stemmer" option to allow stemming language 28079 to be set, or stemming to be disabled. 28080 28081Sun Dec 03 00:34:27 GMT 2006 Olly Betts <olly@survex.com> 28082 28083 * queryparser/queryparser.lemony,tests/queryparsertest.cc: Add entries 28084 to the "unstem" map for prefixed boolean filters (e.g. type:html). 28085 Also don't corrupt non-ASCII characters in a prefixed boolean 28086 filter. 28087 28088Sat Nov 25 04:17:23 GMT 2006 Olly Betts <olly@survex.com> 28089 28090 * backends/flint/flint_database.cc,backends/flint/flint_version.cc: 28091 The "my_fls()" change actually results in a different interpolative 28092 encoding in a few cases - the old encoding could vary between 28093 architectures so we have to change it. So bump the FLINT_VERSION 28094 and change the "flicklock" file to be "flintlock" as it should have 28095 been all along! 28096 28097Wed Nov 22 18:55:42 GMT 2006 Olly Betts <olly@survex.com> 28098 28099 * xapian-config.in: Improve --version output so that help2man produces 28100 a better man page. 28101 28102Mon Nov 20 07:21:07 GMT 2006 Olly Betts <olly@survex.com> 28103 28104 * backends/flint/flint_positionlist.cc: Fix another off-by-one 28105 error (> should be >=). 28106 28107Mon Nov 20 07:12:11 GMT 2006 Olly Betts <olly@survex.com> 28108 28109 * backends/flint/flint_positionlist.cc: Fix off-by-one error in code 28110 which calls my_fls(). 28111 28112Sat Nov 18 08:32:08 GMT 2006 Olly Betts <olly@survex.com> 28113 28114 * backends/flint/flint_positionlist.cc: "const static" -> "static 28115 const". 28116 28117Sat Nov 18 08:05:17 GMT 2006 Olly Betts <olly@survex.com> 28118 28119 * backends/flint/flint_positionlist.cc: Make decode_interpolative 28120 a member function of BitReader. 28121 28122Sat Nov 18 07:45:19 GMT 2006 Olly Betts <olly@survex.com> 28123 28124 * backends/flint/flint_positionlist.cc: Add highly optimised fls() 28125 implementation and make use of it. 28126 28127Thu Nov 16 04:22:36 GMT 2006 Olly Betts <olly@survex.com> 28128 28129 * m4/xapian.m4: If XAPIAN_CONFIG wasn't specified and xapian-config 28130 wasn't found, see if the library seems to be present - if so give 28131 a different error message which suggests the user needs to install 28132 a -dev or -devel package. 28133 28134Thu Nov 16 02:11:34 GMT 2006 Olly Betts <olly@survex.com> 28135 28136 * docs/install.html: omega tarball is now xapian-omega. 28137 28138Tue Nov 14 22:42:05 GMT 2006 Olly Betts <olly@survex.com> 28139 28140 * tests/harness/Makefile: Add static Makefile so you can make all, 28141 check, and clean from the subdirectory. 28142 * tests/harness/Makefile.mk: Ship Makefile.mk and Makefile. 28143 28144Tue Nov 14 21:53:45 GMT 2006 Olly Betts <olly@survex.com> 28145 28146 * tests/: Remove muscat36 temporary directories from svn:ignore 28147 property. 28148 28149Tue Nov 14 19:47:30 GMT 2006 Olly Betts <olly@survex.com> 28150 28151 * configure.ac,tests/Makefile.am,tests/harness/Makefile.mk: Use 28152 non-recursive make to build the test harness, so it only gets 28153 built if "make check" is run. 28154 28155Tue Nov 14 19:43:48 GMT 2006 Olly Betts <olly@survex.com> 28156 28157 * tests/quartztest.cc: Removed unused static function unlink_table. 28158 28159Tue Nov 14 17:41:26 GMT 2006 Olly Betts <olly@survex.com> 28160 28161 * include/xapian/queryparser.h,queryparser/queryparser.lemony, 28162 tests/queryparsertest.cc: Add QueryParser::FLAG_PURE_NOT to allow 28163 pure NOT queries to be enabled (they are now disabled by default). 28164 28165Tue Nov 14 04:19:40 GMT 2006 Olly Betts <olly@survex.com> 28166 28167 * backends/database.cc,backends/flint/dir_contents, 28168 backends/quartz/dir_contents,docs/overview.html, 28169 docs/quartzdesign.html,docs/scalability.html: Make flint the default 28170 backend. 28171 28172Tue Nov 14 03:25:19 GMT 2006 Olly Betts <olly@survex.com> 28173 28174 * tests/api_nodb.cc: Xapian::Query("") now builds a query which 28175 matches all documents rather than throwing InvalidArgumentError 28176 so fix emptyquery1 test. 28177 28178Tue Nov 14 02:03:29 GMT 2006 Olly Betts <olly@survex.com> 28179 28180 * api/omdocument.cc: Tweak OmDocumentTerm::add_position() so that 28181 adding position 0 to an empty termlist takes the shortcut. 28182 28183Mon Nov 13 05:46:15 GMT 2006 Olly Betts <olly@survex.com> 28184 28185 * docs/queryparser.html: Document the new pure NOT feature. 28186 28187Mon Nov 13 05:24:30 GMT 2006 Olly Betts <olly@survex.com> 28188 28189 * api/omqueryinternal.cc,queryparser/queryparser.lemony, 28190 tests/queryparsertest.cc: Allow "pure NOT" queries - e.g. 28191 "NOT apples". Fixes bug #99. 28192 28193Mon Nov 13 04:54:04 GMT 2006 Olly Betts <olly@survex.com> 28194 28195 * api/omqueryinternal.cc: Undo changes accidentally committed in last 28196 check-in. 28197 28198Mon Nov 13 04:47:57 GMT 2006 Olly Betts <olly@survex.com> 28199 28200 * api/omqueryinternal.cc,backends/Makefile.am,backends/database.cc, 28201 backends/muscat36/,configure.ac,docs/overview.html, 28202 docs/quartzdesign.html,docs/tests.html,include/xapian/dbfactory.h, 28203 include/xapian/version_h.cc,tests/api_anydb.cc,tests/apitest.cc, 28204 tests/harness/backendmanager.cc,tests/harness/backendmanager.h, 28205 tests/harness/index_utils.cc: Remove support for the old Muscat 3.6 28206 backends. 28207 28208Mon Nov 13 04:02:27 GMT 2006 Richard Boulton <richard@lemurconsulting.com> 28209 28210 * common/database.h,api/omdatabase.cc, 28211 backends/inmemory/inmemory_database.cc, 28212 backends/inmemory/inmemory_database.h, 28213 backends/quartz/Makefile.am,backends/quartz/quartz_database.cc, 28214 backends/quartz/quartz_alldocspostlist.h, 28215 backends/quartz/quartz_alldocspostlist.cc, 28216 backends/flint/Makefile.am,backends/flint/flint_database.cc, 28217 backends/flint/flint_alldocspostlist.cc, 28218 backends/flint/flint_alldocspostlist.h: 28219 Implement posting lists which return a list of all documents in 28220 the database. Such a posting list is obtained by calling 28221 Xapian::Database::postlist_begin() with an empty term (ie, ""). 28222 Also, all Xapian::Database methods which take a termname now 28223 accept an empty term, and return appropriate values (ie, 28224 get_termfreq("") and get_collection_freq("") return the number of 28225 documents in the database, and term_exists("") returns true 28226 unless the database is empty). Fixes Bug #47. 28227 * docs/quartzdesign.html: Document the inefficiency of all-document 28228 postlists for Quartz. 28229 * tests/api_anydb.cc,tests/api_db.cc,tests/api_wrdb.cc: Add tests for 28230 all-document postlists, and for passing an empty term to all the 28231 applicable database methods. This defines the new tests 28232 allpostlist1, allpostlist2, emptyterm1, and emptyterm2. These 28233 tests currently skip for the remote backend where postlist_begin() 28234 isn't yet implemented. 28235 28236Mon Nov 13 02:06:03 GMT 2006 Olly Betts <olly@survex.com> 28237 28238 * Merge in utf8 branch: 28239 28240 Thu Sep 14 23:49:48 BST 2006 Olly Betts <olly@survex.com> 28241 28242 * queryparser/,tests/queryparsertest.cc: Update to work with 28243 UTF-8. Stop normalising accents - the general sentiment 28244 seems to be firmly against it, and where it is still 28245 appropriate we should get the stemmers to do it. 28246 28247Sun Nov 12 22:38:56 GMT 2006 Olly Betts <olly@survex.com> 28248 28249 * NEWS: Update from ChangeLog file in preparation for branching and 28250 merging. 28251 28252Sun Nov 12 19:32:01 GMT 2006 Olly Betts <olly@survex.com> 28253 28254 * backends/flint/flint_database.cc, 28255 backends/inmemory/inmemory_database.cc, 28256 backends/inmemory/inmemory_database.h, 28257 backends/quartz/quartz_database.cc: Fix replace_document() not to 28258 lose positional information for a document if it is replaced with 28259 itself with unmodified postings. 28260 * tests/api_wrdb.cc: Add testcase replace_document5 as regression test 28261 for the replace_document bug. 28262 * backends/remote/remote-database.cc: Fix 28263 RemoteDatabase::has_positions() to refetch the cached value if it 28264 might be out of date. 28265 28266Sun Nov 12 17:07:00 GMT 2006 Olly Betts <olly@survex.com> 28267 28268 * docs/Makefile.am: Need to increase pool_size further still to build 28269 sourcedoc.pdf (2000000 now). 28270 28271Sun Nov 12 16:24:15 GMT 2006 Olly Betts <olly@survex.com> 28272 28273 * HACKING: Add "update ReleaseNotes on wiki" to release checklist. 28274 28275Sun Nov 12 16:23:19 GMT 2006 Olly Betts <olly@survex.com> 28276 28277 * xapian.spec.in: Remove "." from end of "Summary:". Package 28278 new man page for xapian-progsrv. 28279 28280Sun Nov 12 00:43:36 GMT 2006 Olly Betts <olly@survex.com> 28281 28282 * docs/stemming.html: Update another "CVS" reference to say "SVN". 28283 28284Sun Nov 12 00:42:22 GMT 2006 Olly Betts <olly@survex.com> 28285 28286 * docs/install.html: Update reference to "CVS" to say "SVN". 28287 28288Thu Nov 09 01:11:52 GMT 2006 Olly Betts <olly@survex.com> 28289 28290 * HACKING: Reorder the release checklist a little. I've fixed 28291 update_website.sh to get the latest version from version.php, so 28292 now only version.php needs updating. 28293 28294Thu Nov 09 00:17:35 GMT 2006 Olly Betts <olly@survex.com> 28295 28296 * NEWS,PLATFORMS,configure.ac: Update for 0.9.9. 28297 28298Wed Nov 08 20:54:31 GMT 2006 Olly Betts <olly@survex.com> 28299 28300 * xapian.spec.in: Apply changes from Neal Becker to run "autoreconf 28301 --force" so that we don't set rpath for /usr/lib64, and add "libs" 28302 to %post and %postun. 28303 * AUTHORS: Thank Neal Becker. 28304 28305Wed Nov 08 04:27:17 GMT 2006 Olly Betts <olly@survex.com> 28306 28307 * docs/tests.html: Update for "testsuite" -> "tests/harness". Mark 28308 paths and programs with <code>...</code>. Improve wording in a few 28309 places. 28310 28311Wed Nov 08 03:10:37 GMT 2006 Olly Betts <olly@survex.com> 28312 28313 * bin/xapian-tcpsrv.cc: Need '#include "safeerrno.h"' for EADDRINUSE. 28314 28315Wed Nov 08 02:36:59 GMT 2006 Olly Betts <olly@survex.com> 28316 28317 * bin/Makefile.am,bin/xapian-progsrv.cc,bin/xapian-tcpsrv.cc: 28318 xapian-progsrv now uses getopt for option processing, and we can 28319 now generate a man page using help2man. Fixes Bug #98. 28320 28321Wed Nov 08 01:47:19 GMT 2006 Olly Betts <olly@survex.com> 28322 28323 * bin/xapian-tcpsrv.cc: If the port requested is in use, exit with 28324 code 69 (EX_UNAVAILABLE) which is useful if you're trying to 28325 automate launching of xapian-tcpsrv instances. 28326 * tests/harness/backendmanager.cc: If we can't start xapian-tcpsrv 28327 because the port is in use, try higher numbered ports. 28328 * tests/harness/testsuite.cc: Catch and report std::string exceptions. 28329 28330Tue Nov 07 22:40:58 GMT 2006 Olly Betts <olly@survex.com> 28331 28332 * net/tcpclient.cc: Turn on TCP_NODELAY for the client too. 28333 28334Tue Nov 07 21:46:39 GMT 2006 Olly Betts <olly@survex.com> 28335 28336 * net/tcpserver.cc: Turn on TCP_NODELAY for xapian-tcpsrv which 28337 increases throughput for the remote backend over tcp. 28338 28339Tue Nov 07 21:08:57 GMT 2006 Olly Betts <olly@survex.com> 28340 28341 * backends/flint/flint_btreebase.cc: Add missing '#include'-s. 28342 28343Tue Nov 07 17:57:22 GMT 2006 Olly Betts <olly@survex.com> 28344 28345 * backends/quartz/btree_base.cc: Add missing '#include'-s. 28346 28347Tue Nov 07 05:12:40 GMT 2006 Olly Betts <olly@survex.com> 28348 28349 * backends/flint/flint_positionlist.h,backends/flint/flint_table.cc, 28350 backends/quartz/btree.cc: Add missing '#include <vector>' which 28351 "utils.h" was implicitly pulling in. 28352 * common/utils.h: Move '#include "safefcntl.h"' to more logical place. 28353 28354Tue Nov 07 04:18:27 GMT 2006 Olly Betts <olly@survex.com> 28355 28356 * common/safefcntl.h: Actually add the new file to SVN. 28357 28358Tue Nov 07 03:36:59 GMT 2006 Olly Betts <olly@survex.com> 28359 28360 * HACKING,backends/flint/flint_io.h,backends/flint/flint_lock.cc, 28361 backends/flint/flint_lock.h,backends/muscat36/io_system.cc,common/, 28362 net/tcpserver.cc,tests/harness/backendmanager.cc, 28363 tests/harness/testsuite.cc: Create "safefcntl.h" as a replacement 28364 for <fcntl.h> instead of using "utils.h" for this purpose, since 28365 "utils.h" pulls in many other things we often don't want. 28366 * common/utils.cc,common/utils.h,net/progclient.cc: Move split_words 28367 to progclient.cc which is the only user of it. Rewrite it to not 28368 modified the string being split which risks being O(n^2). 28369 * net/progclient.cc,common/progclient.h: Pass std::string by const 28370 reference. 28371 * configure.ac: Fix DJGPP build (fork is present but always fails). 28372 28373Tue Nov 07 03:21:24 GMT 2006 Olly Betts <olly@survex.com> 28374 28375 * matcher/biaspostlist.h: Don't need '#include "utils.h"'. 28376 28377Tue Nov 07 01:15:14 GMT 2006 Olly Betts <olly@survex.com> 28378 28379 * common/c_strtod.cc: Remove file which was checked in but is unused! 28380 28381Mon Nov 06 15:24:02 GMT 2006 Olly Betts <olly@survex.com> 28382 28383 * tests/internaltest.cc: Disable serialiselength1 and serialisedoc1 28384 when the remote backend is disabled. 28385 28386Mon Nov 06 15:23:40 GMT 2006 Olly Betts <olly@survex.com> 28387 28388 * tests/Makefile.am: Fix typo in recent check-in. 28389 28390Mon Nov 06 01:43:37 GMT 2006 Olly Betts <olly@survex.com> 28391 28392 * tests/Makefile.am: Need "harness" in "$(srcdir)" for VPATH builds to 28393 work. 28394 28395Sun Nov 05 19:55:26 GMT 2006 Olly Betts <olly@survex.com> 28396 28397 * backends/quartz/Makefile.am: Remove explicit dependency of 28398 libbtreecheck.la on libxapian.la. We always link in libxapian.la 28399 and the explicit dependency makes it hard to build things in a 28400 sane order. 28401 28402Sun Nov 05 19:29:17 GMT 2006 Olly Betts <olly@survex.com> 28403 28404 * net/tcpserver.cc: Don't define on_SIGCHLD() unless we'll use it. 28405 * tests/harness/backendmanager.cc: Use a proper signal handler for 28406 SIGCHLD if we have waitpid() - POSIX leaves the semantics of 28407 SIG_IGN on SIGCHLD unspecified. 28408 28409Sun Nov 05 19:11:36 GMT 2006 Olly Betts <olly@survex.com> 28410 28411 * backends/quartz/Makefile.am,backends/quartz/btreecheck.cc, 28412 backends/quartz/btreecheck.h,bin/Makefile.am,tests/Makefile.am, 28413 tests/harness/: Use _exit(0) instead of exit(0) in the child 28414 process which closes the pipe to xapian-tcpsrv in BackendManager 28415 since we don't want to call atexit functions from the child. Move 28416 btreecheck stuff into backends/quartz. 28417 28418Sun Nov 05 17:12:05 GMT 2006 Olly Betts <olly@survex.com> 28419 28420 * Makefile.am,bin/Makefile.am,configure.ac,tests/Makefile.am, 28421 tests/harness/Makefile.am,tests/harness/dir_contents,testsuite/: 28422 Move the testsuite harness from "testsuite/" to "tests/harness/". 28423 28424Sun Nov 05 16:36:56 GMT 2006 Olly Betts <olly@survex.com> 28425 28426 * testsuite/backendmanager.cc,testsuite/backendmanager.h: Now needs 28427 <stdio.h>. Set SIG_IGN for SIG_CHLD so we don't get zombie child 28428 processes. 28429 28430Sun Nov 05 03:53:24 GMT 2006 Olly Betts <olly@survex.com> 28431 28432 * tests/apitest.cc: Make backendmanager static. 28433 28434Sun Nov 05 03:51:36 GMT 2006 Olly Betts <olly@survex.com> 28435 28436 * bin/xapian-tcpsrv.cc: Output "Listening..." once the socket is 28437 open and read for connections. 28438 * testsuite/backendmanager.cc: Use popen() to run xapian-tcpsrv 28439 and wait for "Listening..." before returning rather than just 28440 sleeping for 1 second and hoping that's enough. 28441 28442Sun Nov 05 02:54:23 GMT 2006 Olly Betts <olly@survex.com> 28443 28444 * tests/api_db.cc: Remove unnecessary inclusion of backendmanager.h. 28445 28446Fri Nov 03 02:09:26 GMT 2006 Olly Betts <olly@survex.com> 28447 28448 * HACKING: Update debian packaging checklist. 28449 28450Fri Nov 03 00:57:35 GMT 2006 Olly Betts <olly@survex.com> 28451 28452 * docs/Makefile.am: Building sourcedoc.pdf needs a larger pool_size 28453 now. 28454 28455Thu Nov 02 19:12:34 GMT 2006 Olly Betts <olly@survex.com> 28456 28457 * AUTHORS: Updated. 28458 28459Thu Nov 02 15:41:46 GMT 2006 Olly Betts <olly@survex.com> 28460 28461 * HACKING,NEWS,configure.ac: Update for 0.9.8. 28462 28463Thu Nov 02 15:20:05 GMT 2006 Olly Betts <olly@survex.com> 28464 28465 * PLATFORMS: Update from tinderbox. 28466 28467Thu Nov 02 11:53:53 GMT 2006 Olly Betts <olly@survex.com> 28468 28469 * configure.ac: GCC's -Wendif-labels is enabled by default on versions 28470 which support it, which simplifies our tests. 28471 28472Thu Nov 02 00:22:44 GMT 2006 Olly Betts <olly@survex.com> 28473 28474 * backends/remote/dir_contents: Update. 28475 28476Wed Nov 01 15:33:12 GMT 2006 Olly Betts <olly@survex.com> 28477 28478 * common/omstringstream.h: Fix our implementation of om_ostringstream 28479 to work with OmTime. 28480 28481Wed Nov 01 03:27:36 GMT 2006 Olly Betts <olly@survex.com> 28482 28483 * queryparser/queryparser.lemony,tests/queryparsertest.cc: Don't 28484 require a prefixed boolean term to start with an alphanumeric 28485 - allow the same set of characters as we do for the second and 28486 subsequent characters. 28487 28488Sat Oct 28 04:12:13 BST 2006 Olly Betts <olly@survex.com> 28489 28490 * bin/quartzcheck.cc: Add catch for unknown exceptions. 28491 28492Sat Oct 28 03:49:19 BST 2006 Olly Betts <olly@survex.com> 28493 28494 * HACKING,configure.ac,docs/Makefile.am,docs/doxygen_api_conf.in, 28495 docs/doxygen_full_conf.in: Produce a PDF for apidoc rather than 28496 PostScript, since the PDF is smaller, and easier to view for most 28497 users. Use pdflatex to generate the PDF directly rather than 28498 going via a DVI file. This also avoids problems on some Linux 28499 distros where latex is a symlink to pdfelatex (bug#81, bug#95). 28500 28501Thu Oct 26 22:12:20 BST 2006 Richard Boulton <richard@lemurconsulting.com> 28502 28503 * bin/quartzcheck.cc: Catch (and display) any exceptions which are 28504 of type "const char *error". btreecheck.cc raises an exception 28505 of this type if a btree error is found, and this avoids 28506 quartzcheck dying quite so horribly in this case. 28507 28508Wed Oct 25 23:30:26 BST 2006 Olly Betts <olly@survex.com> 28509 28510 * configure.ac: -Wendif-labels is new in GCC 3.3. 28511 * configure.ac: Revert accidental change which turned on -Werror in 28512 non-maintainer builds. 28513 * configure.ac: Avoid non-portable use of double quotes in 28514 double-quoted backticks. 28515 28516Wed Oct 25 01:19:24 BST 2006 Olly Betts <olly@survex.com> 28517 28518 * configure.ac: Redhat's GCC 2.96 doesn't support -Wundef even 28519 though real GCC version before and after it do! Also, use 28520 -Wshadow and -Wendif-labels even when not in maintainer mode. 28521 28522Tue Oct 24 04:17:58 BST 2006 Olly Betts <olly@survex.com> 28523 28524 * backends/flint/flint_lock.cc,bin/quartzcheck.cc: Eliminate 28525 a couple of variables whose value is never used. 28526 28527Tue Oct 24 00:31:25 BST 2006 Olly Betts <olly@survex.com> 28528 28529 * backends/quartz/quartz_database.cc: Only force a flush on 28530 WritableDatabase::allterms_begin() if there are actually pending 28531 changes. 28532 28533Mon Oct 23 23:49:52 BST 2006 Olly Betts <olly@survex.com> 28534 28535 * backends/flint/flint_database.cc: Only force a flush on 28536 WritableDatabase::allterms_begin() if there are actually pending 28537 changes. 28538 28539Mon Oct 23 02:24:12 BST 2006 Olly Betts <olly@survex.com> 28540 28541 * configure.ac: When checking if we need -lm, don't use a constant 28542 argument to log as the compiler might simply evaluate the whole 28543 expression at compile time. 28544 28545Sat Oct 21 20:42:52 BST 2006 Olly Betts <olly@survex.com> 28546 28547 * HACKING: Mention automake 1.10 is out but we've not tested it yet. 28548 28549Sat Oct 21 20:39:57 BST 2006 Olly Betts <olly@survex.com> 28550 28551 * HACKING: Add entries to release checklist: make sure new API methods 28552 are wrapped by the bindings, and that bug submitters are thanked. 28553 28554Fri Oct 20 13:56:50 BST 2006 Richard Boulton <richard@lemurconsulting.com> 28555 28556 * backends/flint/flint_io.cc: Fix compilation on windows (needs to 28557 #include "safewindows.h" to get definition of SSIZE_T). 28558 28559Tue Oct 17 02:16:37 BST 2006 Olly Betts <olly@survex.com> 28560 28561 * testsuite/backendmanager.cc: Fix compilation when valgrind is 28562 detected by configure. 28563 28564Thu Oct 12 13:30:05 BST 2006 Olly Betts <olly@survex.com> 28565 28566 * xapian.spec.in: Package xapian-progsrv. 28567 28568Thu Oct 12 00:49:47 BST 2006 Olly Betts <olly@survex.com> 28569 28570 * HACKING: Note that on Debian, tetex-extra is needed for 28571 fancyhdr.sty. 28572 * HACKING: Note that dch can be used to update debian/changelog. 28573 28574Wed Oct 11 23:35:08 BST 2006 Olly Betts <olly@survex.com> 28575 28576 * docs/Makefile.am: If running latex on refman.ps fails, cat 28577 refman.log since that is likely to show what failed. 28578 28579Tue Oct 10 17:24:00 BST 2006 Olly Betts <olly@survex.com> 28580 28581 * NEWS: Bump release date. 28582 28583Sun Oct 08 21:41:04 BST 2006 Olly Betts <olly@survex.com> 28584 28585 * NEWS,PLATFORMS,configure.ac: Update for 0.9.7. 28586 28587Sun Oct 08 10:06:51 BST 2006 Olly Betts <olly@survex.com> 28588 28589 * testsuite/testsuite.cc: Use lseek() to skip existing valgrind output 28590 instead of repeated calls to read. Handle the old valgrind naming 28591 convention for log files. 28592 28593Sun Oct 08 09:35:59 BST 2006 Olly Betts <olly@survex.com> 28594 28595 * matcher/multimatch.cc: Fix a couple of typos in comments. 28596 28597Sun Oct 08 05:36:36 BST 2006 Olly Betts <olly@survex.com> 28598 28599 * configure.ac: Disable probing and short-cut tests for a FORTRAN 28600 compiler. We don't use one, but current libtool versions always 28601 check for it regardless. 28602 28603Sat Oct 07 21:19:35 BST 2006 Olly Betts <olly@survex.com> 28604 28605 * configure.ac,tests/runtest.in,testsuite/backendmanager.cc, 28606 testsuite/testsuite.cc: Fix testsuite harness to show valgrind 28607 output when a test fails (when running under valgrind in verbose 28608 mode). This probably stopped working due to changes in valgrind 3. 28609 * testsuite/backendmanager.cc: Run xapian-tcpsrv under valgrind if 28610 apitest is. 28611 28612Fri Oct 6 18:27:13 BST 2006 Richard Boulton <richard@lemurconsulting.com> 28613 28614 * tests/runtest.in: export $LIBTOOL, $VALGRIND and $VG_LOG_FD. 28615 * testsuite/backendmanager.cc: If $LIBTOOL, $VALGRIND and 28616 $VG_LOG_FD are set, run progsrv under valgrind. Fixes 28617 Bug #94. 28618 * net/remoteserver.cc: Use an AutoPtr to hold the unserialised 28619 query, so it gets deleted if an exception is thrown. 28620 * api/omqueryinternal.cc: Use AutoPtr in one place, and a try-catch 28621 in another, to ensure that partially unserialised queries get 28622 deleted if exceptions are thrown. 28623 * tests/internaltest.cc: Add copyright notices to file for recent 28624 change. 28625 * AUTHORS: Add myself as a current developer, now that I've started 28626 committing to the core again. 28627 28628Fri Oct 06 17:44:21 BST 2006 Olly Betts <olly@survex.com> 28629 28630 * api/omqueryinternal.cc: Fix memory leak in query unserialisation. 28631 28632Fri Oct 6 17:34:59 BST 2006 Richard Boulton <richard@lemurconsulting.com> 28633 28634 * tests/runtest.in: Cache result of test for $VG_LOG_FD if we 28635 find the new option. Saves 2 seconds for each invocation on my 28636 machine, which is half the time when running just a single simple 28637 test. 28638 28639Fri Oct 6 16:35:46 BST 2006 Richard Boulton <richard@lemurconsulting.com> 28640 28641 * tests/internaltest.cc: Check serialisation and unserialisation of 28642 Query objects. Currently fails under valgrind due to a memory 28643 leak somewhere in the unserialisation code. 28644 28645Thu Oct 05 14:13:55 BST 2006 Olly Betts <olly@survex.com> 28646 28647 * include/xapian/error.h: Only enable the SWIG visibility hook when 28648 using GCC 4 or later. 28649 28650Wed Oct 04 20:32:43 BST 2006 Olly Betts <olly@survex.com> 28651 28652 * m4/xapian.m4: Remove overquoting. 28653 28654Wed Oct 4 13:28:09 BST 2006 Richard Boulton <richard@lemurconsulting.com> 28655 28656 * common/utils.h: MSVC seems to #define open. However, the 28657 workaround for this problem implemented for old versions of 28658 solaris doesn't work for windows, so avoid applying the fix for 28659 windows, and just #undef open. (Windows seems to define some 28660 open() functions, as well as #defining open!) 28661 28662Wed Oct 4 13:26:18 BST 2006 Richard Boulton <richard@lemurconsulting.com> 28663 28664 * net/serialise.cc: Use "unsigned char" instead of "char" when 28665 serialising lengths, to avoid problems on platforms where char is 28666 signed (eg, windows). 28667 28668Wed Oct 04 12:25:51 BST 2006 Olly Betts <olly@survex.com> 28669 28670 * backends/flint/flint_version.cc: Remove "100" from start of file so 28671 it actually compiles. 28672 28673Mon Oct 02 13:57:56 BST 2006 Olly Betts <olly@survex.com> 28674 28675 * xapian-config.in: Fix typo - "@libdir" should be "@libdir@". 28676 This would lead to -L/usr/lib not being pruned, which is really 28677 just a cosmetic problem (the typo was introduced in 0.9.3). 28678 28679Thu Sep 28 02:00:05 BST 2006 Olly Betts <olly@survex.com> 28680 28681 * matcher/multimatch.cc: Reserve the right number of entries in the 28682 subrsets vector. 28683 28684Fri Sep 22 07:48:32 BST 2006 Olly Betts <olly@survex.com> 28685 28686 * common/serialise-double.cc: Fix warning with aCC. 28687 28688Fri Sep 22 04:43:06 BST 2006 Olly Betts <olly@survex.com> 28689 28690 * HACKING: Expand note on _GLIBCXX_DEBUG; Now using autoconf 2.60 for 28691 snapshots and releases; Now using a libtool patch which improves 28692 support for -library=stlport4 with Sun's C++; Give URL to Alexandre 28693 Duret-Lutz's autotools tutorial, which is much more up-to-date than 28694 the "goat book". 28695 28696Fri Sep 22 04:42:08 BST 2006 Olly Betts <olly@survex.com> 28697 28698 * common/serialise-double.cc: Fix a few compiler warnings. 28699 28700Fri Sep 22 04:29:18 BST 2006 Olly Betts <olly@survex.com> 28701 28702 * backends/flint/flint_lock.cc: Retry on EINTR from fcntl or waitpid. 28703 28704Fri Sep 22 03:39:12 BST 2006 Olly Betts <olly@survex.com> 28705 28706 * include/xapian/version_h.cc: Only check _GLIBCXX_DEBUG for GCC 3.4 28707 and later (which are the versions which support it). 28708 28709Fri Sep 22 03:37:02 BST 2006 Olly Betts <olly@survex.com> 28710 28711 * bin/xapian-tcpsrv.cc: Report errno if we catch a Xapian::Error which 28712 has it set. 28713 28714Fri Sep 22 03:30:25 BST 2006 Olly Betts <olly@survex.com> 28715 28716 * configure.ac: Turn on -Wportability to help ensure our Makefile.am's 28717 are written in a portable way. 28718 28719Fri Sep 22 03:29:25 BST 2006 Olly Betts <olly@survex.com> 28720 28721 * tests/runtest.in: Turn on GLIBCXX_FORCE_NEW when running tests under 28722 valgrind. 28723 28724Tue Sep 19 06:28:47 BST 2006 Olly Betts <olly@survex.com> 28725 28726 * tests/internaltest.cc: Check that the the destructor on a temporary 28727 object gets called at the correct time (Sun C++ deliberately gets 28728 this wrong by default). 28729 28730Tue Sep 19 04:32:04 BST 2006 Olly Betts <olly@survex.com> 28731 28732 * include/xapian/enquire.h: Revert change to Xapian::Weight's copy 28733 constructor because it prevents Omega from compiling. 28734 28735Tue Sep 19 04:01:14 BST 2006 Olly Betts <olly@survex.com> 28736 28737 * configure.ac: Make the argument of log() a double to avoid 28738 potential compiler warnings. 28739 28740Mon Sep 18 22:58:19 BST 2006 Olly Betts <olly@survex.com> 28741 28742 * include/xapian/enquire.h: Xapian::Weight's copy constructor should 28743 be private not protected (direct copying isn't allowed). 28744 28745Mon Sep 18 07:03:51 BST 2006 Olly Betts <olly@survex.com> 28746 28747 * configure.ac: We reportedly need "-lm" to get maths functions on 28748 some versions of Sun's C++ compiler. 28749 28750Sat Sep 16 12:08:25 BST 2006 Olly Betts <olly@survex.com> 28751 28752 * configure.ac: Sun's C++ compiler implements non-standards-conforming 28753 lifetimes for temporary objects (for "backwards compatibility" with 28754 old Sun C++ specific code). We don't care about such code, so 28755 always pass "-features=tmplife" for Sun C++. 28756 28757Sat Sep 16 03:04:57 BST 2006 Olly Betts <olly@survex.com> 28758 28759 * bin/xapian-progsrv.cc: Oops, fix compilation error. 28760 28761Sat Sep 16 02:13:22 BST 2006 Olly Betts <olly@survex.com> 28762 28763 * bin/xapian-progsrv.cc: Fix messages send by xapian-progsrv if an 28764 exception is thrown while opening the database. 28765 28766Fri Sep 15 06:29:55 BST 2006 Olly Betts <olly@survex.com> 28767 28768 * tests/internaltest.cc: 1/DBL_MAX may be less than DBL_MIN but on 28769 platforms like x86 which hold results in registers with extra 28770 precision, this is still representable, but not reliably so 28771 the test sometimes fails. 28772 28773Fri Sep 15 02:40:52 BST 2006 Olly Betts <olly@survex.com> 28774 28775 * backends/flint/flint_btreebase.cc: Avoid copying beyond the end of 28776 the bitmap block. 28777 28778Thu Sep 14 02:01:58 BST 2006 Olly Betts <olly@survex.com> 28779 28780 * backends/flint/flint_version.cc: Fix warning from GCC 4.1.0. 28781 28782Wed Sep 13 18:12:43 BST 2006 Olly Betts <olly@survex.com> 28783 28784 * backends/flint/flint_io.cc,backends/flint/flint_io.h, 28785 backends/flint/flint_version.cc: Fix compiler warnings. 28786 28787Wed Sep 13 06:09:40 BST 2006 Olly Betts <olly@survex.com> 28788 28789 * backends/flint/flint_version.cc,backends/flint/flint_version.h: 28790 Actually commit the new files! 28791 28792Wed Sep 13 05:21:04 BST 2006 Olly Betts <olly@survex.com> 28793 28794 * backends/flint/,common/utils.h: Rewrite some of flint's low level IO 28795 functions, and the "iamflint" handling class. 28796 28797Tue Sep 12 20:22:57 BST 2006 Olly Betts <olly@survex.com> 28798 28799 * backends/remote/remote-database.cc: Fix to compile. 28800 28801Tue Sep 12 18:56:16 BST 2006 Olly Betts <olly@survex.com> 28802 28803 * backends/remote/remote-database.cc,common/remote-database.h: 28804 Fix bug in remote backend which incorrectly returned an empty MSet 28805 under certain circumstances! 28806 28807Tue Sep 12 11:51:31 BST 2006 Olly Betts <olly@survex.com> 28808 28809 * matcher/msetcmp.cc: "static inline" -> "inline" since the static is 28810 superfluous and Sun's C++ warns. 28811 28812Mon Sep 11 23:42:28 BST 2006 Olly Betts <olly@survex.com> 28813 28814 * configure.ac: Check $CXX not $CC to identify which C++ compiler we 28815 have. 28816 28817Mon Sep 11 16:32:37 BST 2006 Olly Betts <olly@survex.com> 28818 28819 * api/omenquire.cc,api/vectortermlist.h, 28820 backends/flint/flint_positionlist.cc,configure.ac, 28821 net/remoteconnection.cc,net/tcpclient.cc, 28822 queryparser/queryparser.lemony,tests/api_anydb.cc,tests/api_db.cc, 28823 tests/api_nodb.cc: I've discovered that -library=stlport4 puts 28824 Sun's compiler into an "ANSI C++ compliant" mode, so do that 28825 automatically in configure and throw away all the annoying special 28826 bits of alternative code we'd accumulated just for this one 28827 compiler. 28828 28829Mon Sep 11 16:01:20 BST 2006 Olly Betts <olly@survex.com> 28830 28831 * tests/api_wrdb.cc: Speed up deldoc4 when run in verbose mode 28832 - some stringstream implementations are very inefficient when 28833 the string grows long. 28834 28835Mon Sep 11 05:30:29 BST 2006 Olly Betts <olly@survex.com> 28836 28837 * HACKING: Add some advice regarding debugging using -D_GLIBCXX_DEBUG, 28838 valgrind, and gdb. 28839 28840Sun Sep 10 02:24:47 BST 2006 Olly Betts <olly@survex.com> 28841 28842 * configure.ac: Fix last check-in to actually work. 28843 28844Sat Sep 09 04:19:44 BST 2006 Olly Betts <olly@survex.com> 28845 28846 * configure.ac: Ensure that if _GLIBCXX_DEBUG has been specified that 28847 it also passed when generating version.h. 28848 28849Sat Sep 09 04:01:40 BST 2006 Olly Betts <olly@survex.com> 28850 28851 * tests/internaltest.cc: Give more useful output should the double 28852 serialisation test fail. 28853 28854Sat Sep 09 03:19:20 BST 2006 Olly Betts <olly@survex.com> 28855 28856 * include/xapian/version_h.cc: Add a check that _GLIBCXX_DEBUG is 28857 set compatibly if we're compiling with GNU C++. 28858 28859Sat Sep 09 02:55:38 BST 2006 Olly Betts <olly@survex.com> 28860 28861 * backends/flint/flint_modifiedpostlist.cc: Fix potential access to 28862 iterator which has already reached its end. 28863 28864Fri Sep 08 04:05:28 BST 2006 Olly Betts <olly@survex.com> 28865 28866 * backends/remote/remote-database.cc,common/,matcher/bm25weight.cc, 28867 matcher/tradweight.cc,net/,tests/internaltest.cc: Split the double 28868 serialisation code off into its own file - it is used by BM25Weight 28869 and TradWeight, so it needs to be compiled in even when the remote 28870 backend is disabled. 28871 28872Thu Sep 07 00:09:41 BST 2006 Olly Betts <olly@survex.com> 28873 28874 * testsuite/backendmanager.cc: Discard stderr from xapian-tcpsrv 28875 so we don't get "write error" messages appearing in the testsuite 28876 output when we've just closed the connection at the client side. 28877 28878Tue Sep 05 21:07:40 BST 2006 Olly Betts <olly@survex.com> 28879 28880 * api/omqueryinternal.cc: Fix warning when remote backend 28881 is disabled. 28882 28883Tue Sep 05 20:58:52 BST 2006 Olly Betts <olly@survex.com> 28884 28885 * docs/Makefile.am: Add extra dependencies so that parallel make 28886 doesn't try to run latex twice simultaneously. 28887 28888Tue Sep 05 20:58:13 BST 2006 Olly Betts <olly@survex.com> 28889 28890 * AUTHORS: Updated. 28891 28892Tue Sep 05 20:56:50 BST 2006 Olly Betts <olly@survex.com> 28893 28894 * Makefile.am: Fix typo. 28895 28896Tue Sep 05 03:23:14 BST 2006 Olly Betts <olly@survex.com> 28897 28898 * docs/queryparser.html,queryparser/queryparser.lemony, 28899 tests/queryparsertest.cc: Implement "ADJ" operator - like 28900 "NEAR" except the terms must appear in matching documents in the 28901 same order as in the query. 28902 28903Tue Sep 05 03:19:12 BST 2006 Olly Betts <olly@survex.com> 28904 28905 * backends/remote/remote-database.cc,common/,docs/remote_protocol.html, 28906 matcher/bm25weight.cc,matcher/tradweight.cc,net/remoteserver.cc, 28907 net/serialise.cc,tests/internaltest.cc: Change how doubles are 28908 serialised by TradWeight, BM25Weight, and in the remote backend 28909 protocol. The new encoding allows us to transfer any double 28910 value which can be represented by both machines precisely and 28911 compactly. 28912 28913Tue Sep 05 02:27:36 BST 2006 Olly Betts <olly@survex.com> 28914 28915 * docs/queryparser.html,queryparser/queryparser.lemony, 28916 tests/queryparsertest.cc: Allow a distance to be specified 28917 for NEAR - e.g. "cats NEAR/3 dogs" (bug#92). 28918 28919Fri Sep 01 00:29:10 BST 2006 Olly Betts <olly@survex.com> 28920 28921 * backends/remote/remote-database.cc,common/remote-database.h: 28922 Fix RemoteDatabase::reopen() to not be const so it actually 28923 overrides the virtual method it is supposed to. 28924 28925Thu Aug 31 21:40:53 BST 2006 Olly Betts <olly@survex.com> 28926 28927 * testsuite/backendmanager.h: Remove unneeded BackendManager:: 28928 qualifications. 28929 28930Thu Aug 31 17:08:16 BST 2006 Olly Betts <olly@survex.com> 28931 28932 * matcher/msetpostlist.cc,matcher/msetpostlist.h: Move #include 28933 "omenquireinternal.h" into the header to fix compilation error 28934 with older versions of GCC. 28935 28936Thu Aug 31 16:38:33 BST 2006 Olly Betts <olly@survex.com> 28937 28938 * PLATFORMS: Added success report for Nexenta (alpha 5). 28939 28940Wed Aug 30 23:41:08 BST 2006 Olly Betts <olly@survex.com> 28941 28942 * configure.ac: Fix generation of version.h to work with Solaris sed. 28943 28944Sat Aug 26 15:28:22 BST 2006 Olly Betts <olly@survex.com> 28945 28946 * docs/index.html: Add links to the wiki. 28947 28948Sun Jul 16 03:48:26 BST 2006 Olly Betts <olly@survex.com> 28949 28950 * common/Makefile.am: Ship remoteprotocol.h. 28951 28952Sun Jul 16 02:23:54 BST 2006 Olly Betts <olly@survex.com> 28953 28954 * common/remote-database.h: Add new file I missed in the previous 28955 commit. 28956 28957Sun Jul 16 01:58:25 BST 2006 Olly Betts <olly@survex.com> 28958 28959 * Makefile.am,api/,backends/Makefile.am,backends/database.cc, 28960 backends/dbfactory_remote.cc,backends/flint/flint_database.cc, 28961 backends/flint/flint_termlist.cc,backends/flint/flint_termlist.h, 28962 backends/inmemory/inmemory_database.cc, 28963 backends/inmemory/inmemory_database.h, 28964 backends/multi/multi_termlist.cc,backends/multi/multi_termlist.h, 28965 backends/net/,backends/quartz/quartz_termlist.cc, 28966 backends/quartz/quartz_termlist.h,backends/remote/,bin/Makefile.am, 28967 bin/xapian-progsrv.cc,bin/xapian-tcpsrv.cc,common/,configure.ac, 28968 docs/remote_protocol.html,include/xapian/,matcher/,net/,tests/, 28969 testsuite/backendmanager.cc,testsuite/backendmanager.h: Rewrite 28970 most of the remote backend. It now supports most operations 28971 which a local database does (including writing!), the protocol 28972 used is more compact, and a number of layers of classes have 28973 been eliminated and the sequences of method calls simplified, so the 28974 code should be easier to understand and maintain despite doing more. 28975 A number of bugs have been fixed in the process. 28976 28977Sat Jul 15 05:10:38 BST 2006 Olly Betts <olly@survex.com> 28978 28979 * tests/api_nodb.cc: Doesn't need <iostream>. 28980 28981Sat Jul 15 01:06:27 BST 2006 Olly Betts <olly@survex.com> 28982 28983 * README: Add link to the wiki. Tweak wording. 28984 28985Fri Jul 14 15:21:39 BST 2006 Olly Betts <olly@survex.com> 28986 28987 * configure.ac: Note in error message that dot is in graphviz. 28988 28989Fri Jul 14 15:17:36 BST 2006 Olly Betts <olly@survex.com> 28990 28991 * docs/overview.html: Add discussion of uses of terms vs values. 28992 28993Fri Jul 14 15:01:04 BST 2006 Olly Betts <olly@survex.com> 28994 28995 * docs/overview.html: Rewrite the section on Xapian::Document to 28996 remove some very out-of-date information and make it clearer. 28997 28998Tue Jul 11 18:41:07 BST 2006 Olly Betts <olly@survex.com> 28999 29000 * queryparser/queryparser.lemony: Fix problem I believe was introduced 29001 by previous fix. 29002 * tests/queryparsertest.cc: Add regression test and some additional 29003 related test cases. 29004 29005Tue Jul 11 03:32:48 BST 2006 Olly Betts <olly@survex.com> 29006 29007 * queryparser/queryparser.lemony: Fix bug in how we handle prefixed 29008 quoted phrases and prefixed brackets. 29009 * tests/queryparsertest.cc: Add regression tests. 29010 29011Mon Jul 10 23:17:58 BST 2006 Olly Betts <olly@survex.com> 29012 29013 * include/xapian/database.h: Note that automatically allocated 29014 document IDs don't reuse IDs from deleted document. 29015 29016Wed Jul 05 01:06:35 BST 2006 Olly Betts <olly@survex.com> 29017 29018 * tests/api_wrdb.cc: Tweak whitespace. 29019 29020Mon Jun 26 23:56:02 BST 2006 Olly Betts <olly@survex.com> 29021 29022 * PLATFORMS: Added success reports for MSVC and sparc linux. 29023 29024Sat Jun 17 02:01:35 BST 2006 Olly Betts <olly@survex.com> 29025 29026 * Makefile.am,tests/Makefile.am: Tweak new check-* rules to be more 29027 portable and robust. 29028 29029Sun Jun 11 23:29:48 BST 2006 Olly Betts <olly@survex.com> 29030 29031 * queryparser/queryparser.lemony,tests/queryparsertest.cc: Fix parsing 29032 of loved and hated prefixed phrases and bracketted expressions. Fix 29033 handling of stopwords in boolean expressions. Don't ignore a 29034 stopword if it's the only query term. Add regression tests for all 29035 these cases. 29036 29037Fri Jun 09 15:21:07 BST 2006 Olly Betts <olly@survex.com> 29038 29039 * docs/queryparser.html: Add pointer to set_database when describing 29040 FLAG_WILDCARD. 29041 29042Fri Jun 09 13:51:03 BST 2006 Olly Betts <olly@survex.com> 29043 29044 * include/xapian/queryparser.h: Add note that FLAG_WILDCARD requires 29045 you to call set_database. 29046 29047Fri Jun 09 13:49:34 BST 2006 Olly Betts <olly@survex.com> 29048 29049 * api/omqueryinternal.cc: Don't compile query serialisation if the 29050 remote backend is disabled. 29051 29052Fri Jun 09 01:48:25 BST 2006 Olly Betts <olly@survex.com> 29053 29054 * api/omdocument.cc,tests/api_nodb.cc: add_value failed to replace an 29055 existing value with the same number, contrary to what the 29056 documentation says (bug #82). 29057 29058Thu Jun 08 21:36:54 BST 2006 Olly Betts <olly@survex.com> 29059 29060 * matcher/multimatch.cc: Don't fetch the document data when fetching 29061 the value to sort on. Simple benchmarking showed this to speed 29062 up sort by value by a factor of between 3 and 9! 29063 29064Sun Jun 04 17:36:01 BST 2006 Olly Betts <olly@survex.com> 29065 29066 * backends/flint/: Remove forced flush when iterating the posting list 29067 of a term which has modified posting pending. 29068 29069Sat Jun 03 21:38:43 BST 2006 Olly Betts <olly@survex.com> 29070 29071 * backends/flint/flint_database.cc,backends/flint/flint_termlist.cc, 29072 backends/quartz/quartz_database.cc,tests/api_wrdb.cc: We can't flush 29073 during a transaction, which means that we can't use flush to avoid 29074 having to handle corner cases (like deleting a document right after 29075 adding it before it's been flushed) so handle corner cases properly 29076 (except for postlist_begin() and allterms_begin() which are 29077 harder - these now throw UnimplementedError at least...) 29078 * backends/flint/flint_database.cc,backends/quartz/quartz_database.cc: 29079 replace_document(did, doc) was double-incrementing the "changes" 29080 counter when document did didn't exist - fixed. 29081 29082Sat Jun 03 17:53:41 BST 2006 Olly Betts <olly@survex.com> 29083 29084 * HACKING: Document "make check-flint" and "make check-quartz". 29085 29086Sat Jun 03 17:49:25 BST 2006 Olly Betts <olly@survex.com> 29087 29088 * Makefile.am,tests/Makefile.am: Added make targets "check-flint" and 29089 "check-quartz" which run the subset of tests which test the flint 29090 and quartz backends respectively. 29091 29092Sat Jun 03 04:03:00 BST 2006 Olly Betts <olly@survex.com> 29093 29094 * api/omdatabase.cc,backends/database.cc, 29095 backends/flint/flint_database.cc,backends/flint/flint_database.h, 29096 backends/inmemory/inmemory_database.cc, 29097 backends/inmemory/inmemory_database.h,backends/quartz/dir_contents, 29098 backends/quartz/quartz_database.cc,backends/quartz/quartz_database.h, 29099 common/database.h,include/xapian/database.h,tests/apitest.cc: 29100 Rework transactions to support "unflushed" transactions, and so 29101 they work with quartz as well as with flint. 29102 29103Sat Jun 03 03:18:22 BST 2006 Olly Betts <olly@survex.com> 29104 29105 * HACKING: Document "make check-remote". 29106 29107Sat Jun 03 00:23:46 BST 2006 Olly Betts <olly@survex.com> 29108 29109 * backends/database.cc,backends/flint/dir_contents, 29110 backends/flint/flint_database.cc,backends/flint/flint_database.h, 29111 backends/quartz/dir_contents,common/database.h, 29112 include/xapian/database.h,tests/: Implement transactions for 29113 flint. 29114 29115Sat Jun 03 00:14:37 BST 2006 Olly Betts <olly@survex.com> 29116 29117 * tests/apitest.cc: Run tests on flint if flint is enabled, rather 29118 than if quartz is enabled. 29119 29120Sun May 28 23:01:45 BST 2006 Olly Betts <olly@survex.com> 29121 29122 * common/omtime.h: Add operator+ and operator+= with argument of 29123 type Xapian::timeout. 29124 29125Sun May 28 22:02:30 BST 2006 Olly Betts <olly@survex.com> 29126 29127 * include/xapian/errorhandler.h: Fix typos in private assignment 29128 operator and copy ctor (Error -> ErrorHandler!) 29129 29130Sun May 28 21:54:05 BST 2006 Olly Betts <olly@survex.com> 29131 29132 * Makefile.am,tests/Makefile.am: Add "check-remote" target which runs 29133 the subset of tests which test the remote backend. 29134 29135Thu May 25 16:06:06 BST 2006 Olly Betts <olly@survex.com> 29136 29137 * api/omdatabase.cc,backends/database.cc,common/database.h: 29138 Merge Xapian::Internal::open_database() into the Xapian::Database 29139 ctor which calls it; merge Xapian::Internal::open_writable_database() 29140 into the Xapian::WritableDatabase ctor which calls it. 29141 29142Wed May 24 08:28:40 BST 2006 Olly Betts <olly@survex.com> 29143 29144 * net/socketserver.cc: OmLineBuf -> OmSocketLineBuf. 29145 29146Wed May 24 08:27:22 BST 2006 Olly Betts <olly@survex.com> 29147 29148 * common/socketserver.h: OmLineBuf -> OmSocketLineBuf. 29149 29150Wed May 24 07:50:51 BST 2006 Olly Betts <olly@survex.com> 29151 29152 * common/Makefile.am,common/omlinebuf.h,common/socketcommon.h, 29153 net/Makefile.am,net/omlinebuf.cc,net/socketcommon.cc: 29154 Merge OmLineBuf into OmSocketLineBuf. 29155 * common/Makefile.am: Fix netutils.cc to be conditionally included 29156 when the remote backend is enabled, not the quartz backend! 29157 29158Tue May 23 18:59:09 BST 2006 Olly Betts <olly@survex.com> 29159 29160 * api/Makefile.am,api/errorhandler.cc,api/omerror.cc, 29161 include/xapian/error.h,include/xapian/errorhandler.h: 29162 Redo the Xapian::Error and Xapian::ErrorHandler classes. 29163 The new versions have better, clearer documentation comments 29164 and are cleaner internally. 29165 * include/xapian/error.h: Add hook to allow SWIG bindings to 29166 be built using GCC's visibility support. 29167 29168Tue May 23 10:08:02 BST 2006 Olly Betts <olly@survex.com> 29169 29170 * backends/quartz/btree.cc: Remove superfluous '#include <autoptr.h>'. 29171 29172Tue May 23 09:42:52 BST 2006 Olly Betts <olly@survex.com> 29173 29174 * backends/Makefile.am,backends/database.cc, 29175 backends/dbfactory_remote.cc,backends/net/net_database.cc, 29176 backends/net/net_termlist.cc,backends/net/net_termlist.h,common/, 29177 include/xapian/dbfactory.h,matcher/,net/socketclient.cc, 29178 net/socketcommon.cc: Eliminate the NetClient class by merging 29179 it into NetDatabase. 29180 29181Mon May 22 08:51:16 BST 2006 Olly Betts <olly@survex.com> 29182 29183 * common/omtime.h: Fix OmTime::operator> which failed to return false 29184 if the seconds were strictly less but the microsecond fraction was 29185 more. 29186 29187Sun May 21 11:53:29 BST 2006 Olly Betts <olly@survex.com> 29188 29189 * Makefile.am,bin/Makefile.am,docs/Makefile.am,examples/Makefile.am: 29190 Make use of the dist_ prefix to avoid having to list files in 29191 EXTRA_DIST as well as in *_DATA and man_MANS. 29192 29193Sun May 21 05:55:00 BST 2006 Olly Betts <olly@survex.com> 29194 29195 * api/dir_contents,getopt/dir_contents,queryparser/dir_contents: 29196 Add missing dir_contents files. 29197 29198Sun May 21 05:45:44 BST 2006 Olly Betts <olly@survex.com> 29199 29200 * tests/remotetest.cc: Remove unnecessary "#include <sys/wait.h>". 29201 29202Sat May 20 11:02:43 BST 2006 Olly Betts <olly@survex.com> 29203 29204 * docs/Makefile.am: doxygen_api_conf and doxygen_full_conf are 29205 generated, so aren't in srcdir! 29206 29207Sat May 20 10:14:52 BST 2006 Olly Betts <olly@survex.com> 29208 29209 * docs/Makefile.am: automake adds suitable rules for rebuilding 29210 doxygen_api_conf and doxygen_source_conf, so remove our less 29211 accurate versions. 29212 29213Fri May 19 14:43:47 BST 2006 Olly Betts <olly@survex.com> 29214 29215 * docs/Makefile.am,docs/doxygen_api_conf.in,docs/doxygen_full_conf.in: 29216 Remove "XAPIAN_DEPRECATED" from generated documentation. 29217 * docs/Makefile.am: Fix dependencies for regenerating the doxygen 29218 documentation. 29219 29220Fri May 19 08:12:51 BST 2006 Olly Betts <olly@survex.com> 29221 29222 * docs/scalability.html: quartzcompact and xapian-compact now allow 29223 you to set the blocksize, so there's no need to use copydatabase 29224 if you want to migrate a database to a larger blocksize. Mention 29225 gmane. Other minor tweaks. 29226 29227Fri May 19 07:52:23 BST 2006 Olly Betts <olly@survex.com> 29228 29229 * bin/quartzcompact.cc: Add --blocksize option to allow the blocksize 29230 to be set (default is 8K as before.) 29231 29232Fri May 19 07:47:13 BST 2006 Olly Betts <olly@survex.com> 29233 29234 * bin/xapian-compact.cc: Add --blocksize option to allow the blocksize 29235 to be set (default is 8K as before.) 29236 29237Thu May 18 11:24:17 BST 2006 Olly Betts <olly@survex.com> 29238 29239 * api/vectortermlist.h: Whitespace tweak. 29240 29241Tue May 16 10:09:53 BST 2006 Olly Betts <olly@survex.com> 29242 29243 * HACKING: Update details of the debian stable backport version 29244 numbering scheme. 29245 29246Tue May 16 06:55:14 BST 2006 Olly Betts <olly@survex.com> 29247 29248 * configure.ac: Remove unused variable from snprintf testing code. 29249 29250Tue May 16 04:32:34 BST 2006 Olly Betts <olly@survex.com> 29251 29252 * HACKING: Expand on the debian package building checklist. 29253 29254Tue May 16 04:32:07 BST 2006 Olly Betts <olly@survex.com> 29255 29256 * include/xapian/enquire.h: Note that "set_sort_by_relevance" is the 29257 default setting. 29258 29259Mon May 15 06:59:01 BST 2006 Olly Betts <olly@survex.com> 29260 29261 * HACKING: Update debian package building checklist. 29262 29263Mon May 15 03:53:53 BST 2006 Olly Betts <olly@survex.com> 29264 29265 * PLATFORMS: Update one more result before the actual release. 29266 29267Mon May 15 02:15:18 BST 2006 Olly Betts <olly@survex.com> 29268 29269 * NEWS,configure.ac: Updated for 0.9.6. 29270 29271Mon May 15 01:35:33 BST 2006 Olly Betts <olly@survex.com> 29272 29273 * PLATFORMS: Updated in preparation for the next release. 29274 29275Sun May 14 19:05:37 BST 2006 Olly Betts <olly@survex.com> 29276 29277 * backends/flint/flint_lock.h: Added workaround for newlib header bug. 29278 29279Sat May 13 07:04:14 BST 2006 Olly Betts <olly@survex.com> 29280 29281 * configure.ac: Fix snprintf tests. 29282 29283Sat May 13 04:52:53 BST 2006 Olly Betts <olly@survex.com> 29284 29285 * configure.ac: Tweak version.h generation to cope with CXXCPP putting 29286 carriage returns into its output as can happen on cygwin. 29287 29288Fri May 12 21:49:33 BST 2006 Olly Betts <olly@survex.com> 29289 29290 * HACKING: Update with the libtool patches we're now using. 29291 29292Fri May 12 21:43:02 BST 2006 Olly Betts <olly@survex.com> 29293 29294 * include/xapian/version_h.cc: Trim trailing whitespace. 29295 29296Fri May 12 20:43:47 BST 2006 Olly Betts <olly@survex.com> 29297 29298 * configure.ac,include/xapian/version_h.cc: Replace @@ with " instead 29299 of @, so we can write @deprecated. Fix more compilation problems. 29300 29301Fri May 12 19:00:08 BST 2006 Olly Betts <olly@survex.com> 29302 29303 * include/xapian/version_h.cc: Fix compilation problem. 29304 29305Fri May 12 01:19:14 BST 2006 Olly Betts <olly@survex.com> 29306 29307 * api/version.cc,include/xapian/version_h.cc: Rename 29308 Xapian::xapian_version_string() and companions to 29309 Xapian::version_string(). Keep the old functions as aliases 29310 which are marked as deprecated. 29311 29312Wed May 10 18:25:59 BST 2006 Olly Betts <olly@survex.com> 29313 29314 * include/xapian/enquire.h: Remove bogus documentation for a 29315 parameter which doesn't exist. 29316 29317Tue May 09 19:17:23 BST 2006 Olly Betts <olly@survex.com> 29318 29319 * bin/Makefile.am: Remove trailing whitespace. 29320 * bin/xapian-compact.cc: Fix renaming of "iamflint.tmp" for MS Windows 29321 where you can't rename an open file. 29322 29323Tue May 09 15:57:26 BST 2006 Olly Betts <olly@survex.com> 29324 29325 * configure.ac: Fix reversed conditional in test for snprintf (which 29326 affects cygwin). 29327 29328Mon May 01 21:49:46 BST 2006 Olly Betts <olly@survex.com> 29329 29330 * tests/queryparsertest.cc: Add another prefix testcase to improve 29331 coverage. 29332 29333Sat Apr 29 20:16:46 BST 2006 Olly Betts <olly@survex.com> 29334 29335 * docs/remote_protocol.html: Document keep-alive messages. 29336 29337Thu Apr 13 14:49:48 BST 2006 Olly Betts <olly@survex.com> 29338 29339 * queryparser/queryparser.lemony,tests/queryparsertest.cc: Add rules 29340 to handle a boolean filter with a "+" in front (such as 29341 +site:xapian.org). 29342 29343Wed Apr 12 18:42:31 BST 2006 Olly Betts <olly@survex.com> 29344 29345 * PLATFORMS: More updates for 0.9.5. 29346 29347Tue Apr 11 19:56:16 BST 2006 Olly Betts <olly@survex.com> 29348 29349 * matcher/Makefile.am: Need to add "-I${top_builddir}/include" to 29350 INCLUDES so that xapian/version.h is found. 29351 29352Tue Apr 11 19:24:59 BST 2006 Olly Betts <olly@survex.com> 29353 29354 * backends/database.cc,configure.ac,include/xapian/version_h.cc, 29355 matcher/multimatch.cc,matcher/stats.cc,tests/apitest.cc, 29356 testsuite/backendmanager.cc,testsuite/backendmanager.h: 29357 Eliminate XAPIAN_BUILD_BACKEND_* from config.h and just use 29358 XAPIAN_HAS_*_BACKEND from xapian/version.h instead. 29359 29360Tue Apr 11 18:32:52 BST 2006 Olly Betts <olly@survex.com> 29361 29362 * include/Makefile.am: Add xapian/version.h.timestamp as a dependency 29363 on all-local so that xapian/version.h actually gets regenerated 29364 when required. 29365 29366Tue Apr 11 17:52:24 BST 2006 Olly Betts <olly@survex.com> 29367 29368 * api/omenquire.cc,backends/flint/flint_btreebase.cc, 29369 backends/quartz/btree_base.cc,common/utils.h,configure.ac: 29370 Disable MSVC warning 4800 (on int to bool conversions) in config.h 29371 and then we can remove the "fixes" elsewhere. 29372 29373Tue Apr 11 16:28:01 BST 2006 Olly Betts <olly@survex.com> 29374 29375 * configure.ac: Simpler check for VALGRIND being set to empty value. 29376 29377Tue Apr 11 01:04:32 BST 2006 Olly Betts <olly@survex.com> 29378 29379 * PLATFORMS: Add a summary. 29380 29381Tue Apr 11 00:45:55 BST 2006 Olly Betts <olly@survex.com> 29382 29383 * PLATFORMS: Updates from boxes which were down when I did the 29384 release. 29385 29386Mon Apr 10 17:06:46 BST 2006 Olly Betts <olly@survex.com> 29387 29388 * api/omenquire.cc,backends/flint/flint_btreebase.cc, 29389 backends/flint/flint_utils.h,backends/quartz/btree_base.cc, 29390 backends/quartz/quartz_utils.h,common/omassert.h: 29391 Fix more MSVC7 warnings (I spoke too soon). 29392 29393Mon Apr 10 15:56:52 BST 2006 Olly Betts <olly@survex.com> 29394 29395 * include/xapian/query.h: Another MSVC7 warning fix. Should be free 29396 of warnings now. 29397 29398Mon Apr 10 14:46:34 BST 2006 Olly Betts <olly@survex.com> 29399 29400 * backends/flint/flint_database.cc,backends/flint/flint_utils.h, 29401 backends/quartz/quartz_utils.h,bin/quartzcompact.cc, 29402 bin/xapian-compact.cc,common/omdebug.h,common/utils.h, 29403 include/xapian/query.h,languages/header.h,matcher/multimatch.cc: 29404 Fix assorted MSVC7 warnings. 29405 29406Sun Apr 09 04:56:09 BST 2006 Olly Betts <olly@survex.com> 29407 29408 * HACKING: Expand on details of what's required when changing Xapian 29409 (discuss documentation requirements, expand on why feature tests 29410 are vital). 29411 * HACKING: Update section on building debian packages. 29412 29413Sat Apr 08 20:02:19 BST 2006 Olly Betts <olly@survex.com> 29414 29415 * NEWS,PLATFORMS,configure.ac: Updated for 0.9.5. 29416 29417Fri Apr 07 23:53:08 BST 2006 Olly Betts <olly@survex.com> 29418 29419 * tests/api_anydb.cc,tests/api_db.cc,tests/btreetest.cc: Correct 29420 spelling of "existant" to "existent". 29421 29422Fri Apr 07 19:13:24 BST 2006 Olly Betts <olly@survex.com> 29423 29424 * configure.ac: We don't use strcasecmp, so don't probe for it. 29425 29426Fri Apr 07 18:30:40 BST 2006 Olly Betts <olly@survex.com> 29427 29428 * common/utils.h: Fixes for MSVC7 compilation. 29429 29430Fri Apr 07 17:19:43 BST 2006 Olly Betts <olly@survex.com> 29431 29432 * backends/flint/flint_table.cc,backends/quartz/btree.cc: Fixes for 29433 MSVC compilation. 29434 29435Fri Apr 07 16:04:08 BST 2006 Olly Betts <olly@survex.com> 29436 29437 * backends/flint/flint_cursor.h: Fix incorrect example code in 29438 documentation comment. 29439 * backends/flint/flint_table.cc,backends/flint/flint_table.h: 29440 Remove unused method FlintTable::find_key(). 29441 29442Fri Apr 07 16:02:40 BST 2006 Olly Betts <olly@survex.com> 29443 29444 * AUTHORS: Updated. 29445 29446Fri Apr 07 15:58:31 BST 2006 Olly Betts <olly@survex.com> 29447 29448 * debian/control.in: copydatabase and xapian-compact are packaged 29449 in xapian-tools, so add them to the documented list of tools 29450 included. 29451 29452Fri Apr 07 15:12:43 BST 2006 Olly Betts <olly@survex.com> 29453 29454 * net/tcpserver.cc: Set xapian-tcpsrv to allow 5 connections in the 29455 listen queue instead of just one. 29456 29457Fri Apr 07 13:28:15 BST 2006 Olly Betts <olly@survex.com> 29458 29459 * tests/remotetest.cc: Check mset size in tcpmatch1. 29460 29461Fri Apr 07 01:26:03 BST 2006 Olly Betts <olly@survex.com> 29462 29463 * xapian.spec.in: Man pages may be gzipped. 29464 29465Thu Apr 06 14:41:29 BST 2006 Olly Betts <olly@survex.com> 29466 29467 * HACKING: aclocal is part of automake, not autoconf. 29468 29469Thu Apr 06 01:29:21 BST 2006 Olly Betts <olly@survex.com> 29470 29471 * bin/,examples/copydatabase.cc,examples/delve.cc,examples/quest.cc: 29472 In the "--help" output, add "Options:" before the list of options. 29473 29474Thu Apr 06 01:11:31 BST 2006 Olly Betts <olly@survex.com> 29475 29476 * xapian-config.in: Tweak to improve help2man output. 29477 29478Wed Apr 05 16:26:15 BST 2006 Fabrice Colin 29479 29480 * xapian.spec.in: Package man pages. 29481 29482Wed Apr 05 16:23:49 BST 2006 Olly Betts <olly@survex.com> 29483 29484 * Makefile.am,bin/Makefile.am,examples/Makefile.am: Include generated 29485 man pages in the distribution tarball. 29486 29487Wed Apr 05 02:48:27 BST 2006 Olly Betts <olly@survex.com> 29488 29489 * debian/TODO: Updated. 29490 29491Wed Apr 05 02:44:15 BST 2006 Olly Betts <olly@survex.com> 29492 29493 * ./,examples: svn:ignore man pages. 29494 29495Wed Apr 05 02:43:08 BST 2006 Olly Betts <olly@survex.com> 29496 29497 * bin/Makefile.am,examples/Makefile.am: No need to make man pages 29498 depend on config.h, since the binaries will already. 29499 29500Wed Apr 05 02:42:42 BST 2006 Olly Betts <olly@survex.com> 29501 29502 * Makefile.am: Generate man page for xapian-config. 29503 29504Wed Apr 05 00:59:53 BST 2006 Olly Betts <olly@survex.com> 29505 29506 * examples/Makefile.am: Use help2man to generate manpages for the 29507 installed binaries in examples. 29508 29509Wed Apr 05 00:56:11 BST 2006 Olly Betts <olly@survex.com> 29510 29511 * bin/omtcpsrv.cc: Rename to bin/xapian-tcpsrv.cc. 29512 * bin/omprogsrv.cc: Rename to bin/xapian-progsrv.cc. 29513 * HACKING,bin/Makefile.am,configure.ac: Use help2man to generate 29514 manpages for the installed binaries in bin. 29515 29516Tue Apr 04 16:44:54 BST 2006 Olly Betts <olly@survex.com> 29517 29518 * include/xapian/enquire.h: Note example of BM25Weight parameters 29519 which make set_sort_by_relevance_then_value useful. 29520 29521Tue Apr 04 16:35:58 BST 2006 Olly Betts <olly@survex.com> 29522 29523 * api/omenquire.cc,include/xapian/enquire.h,matcher/,tests/api_db.cc: 29524 Implement Enquire::set_sort_by_relevance_then_value(). 29525 29526Tue Apr 04 01:05:41 BST 2006 Olly Betts <olly@survex.com> 29527 29528 * common/omenquireinternal.h: sort_key no longer needs to be mutable 29529 now that MSetSortCmp has been removed. 29530 29531Mon Apr 03 02:03:12 BST 2006 Olly Betts <olly@survex.com> 29532 29533 * matcher/multimatch.cc: Removed dead code (class MSetSortCmp). 29534 29535Sun Apr 02 16:37:38 BST 2006 Olly Betts <olly@survex.com> 29536 29537 * net/tcpserver.cc: Don't perform a name lookup on the IP address 29538 which an incoming connection is from as that could easily slow 29539 down the search response - instead just print the IP address itself 29540 if output is verbose. 29541 29542Sun Apr 02 13:28:31 BST 2006 Olly Betts <olly@survex.com> 29543 29544 * api/omenquire.cc,common/,docs/remote_protocol.html, 29545 matcher/multimatch.cc,matcher/networkmatch.cc,matcher/networkmatch.h, 29546 net/socketclient.cc,net/socketserver.cc: Change bool 29547 sort_by_relevance to enum sort_by in preparation for adding 29548 "sort_by_relevance_then_value". 29549 29550Fri Mar 31 22:32:16 BST 2006 Olly Betts <olly@survex.com> 29551 29552 * examples/copydatabase.cc,examples/quest.cc: Add --help and --version 29553 options. 29554 * examples/delve.cc: Tidy up output from --help and --version options. 29555 29556Fri Mar 31 19:01:25 BST 2006 Olly Betts <olly@survex.com> 29557 29558 * bin/quartzcheck.cc: Fix SEGV when run with no arguments (introduced 29559 by last change). 29560 29561Fri Mar 31 17:57:27 BST 2006 Olly Betts <olly@survex.com> 29562 29563 * bin/quartzcheck.cc: Add --version option. Tidy up output from 29564 --help. 29565 29566Fri Mar 31 17:43:25 BST 2006 Olly Betts <olly@survex.com> 29567 29568 * bin/quartzcompact.cc: Include --help and --version in --help output. 29569 * bin/quartzdump.cc: Add --help and --version options. Terminate list 29570 of long options so that "quartzdump --foo" no longer segfaults. 29571 29572Fri Mar 31 17:27:09 BST 2006 Olly Betts <olly@survex.com> 29573 29574 * bin/quartzcompact.cc: Tweak --help and --version output for 29575 consistency with other binaries. Terminate list of long options so 29576 that "quartzcompact --foo" no longer segfaults. 29577 29578Fri Mar 31 16:47:02 BST 2006 Olly Betts <olly@survex.com> 29579 29580 * bin/omtcpsrv.cc: Make OPT_HELP and OPT_VERSION positive numbers. 29581 Only give synopsis line for --help, not for syntax error. 29582 * bin/xapian-compact.cc: List --help and --version in --help output. 29583 Terminate list of long options so that "xapian-compact --foo" no 29584 longer segfaults. 29585 29586Fri Mar 31 16:20:24 BST 2006 Olly Betts <olly@survex.com> 29587 29588 * bin/omtcpsrv.cc: Added --help and --version options. 29589 29590Thu Mar 30 11:51:21 BST 2006 Philip Neustrom 29591 29592 * docs/remote_protocol.html: Document messages for requesting and 29593 sending a termlist and a document. 29594 29595Wed Mar 29 19:39:05 BST 2006 Olly Betts <olly@survex.com> 29596 29597 * backends/flint/flint_termlist.cc,backends/quartz/quartz_termlist.cc: 29598 Add missing spaces in debug output. 29599 29600Fri Mar 17 09:22:54 GMT 2006 Olly Betts <olly@survex.com> 29601 29602 * api/vectortermlist.h,backends/net/net_termlist.cc, 29603 backends/net/net_termlist.h,common/alltermslist.h,common/termlist.h, 29604 matcher/branchtermlist.h: Make TermList::positionlist_begin() pure 29605 virtual and put dummy implementations in BranchTermList and other 29606 subclasses which can't (or don't) implement it. This makes it 29607 hard to accidentally fail to implement it in a backend's TermList 29608 subclass. 29609 * backends/net/net_termlist.h: positionlist_begin() now throws 29610 UnimplementedError instead of InvalidOperationError. 29611 29612Fri Mar 17 08:46:52 GMT 2006 Olly Betts <olly@survex.com> 29613 29614 * api/omdatabase.cc: There's no need for the MultiTermList wrapper in 29615 the common case where we're only dealing with a single database. 29616 29617Fri Mar 17 07:54:54 GMT 2006 Olly Betts <olly@survex.com> 29618 29619 * backends/net/net_termlist.h: Remove unused "positions" member. 29620 29621Fri Mar 17 07:07:57 GMT 2006 Olly Betts <olly@survex.com> 29622 29623 * backends/multi/multi_termlist.cc,backends/multi/multi_termlist.h, 29624 tests/api_posdb.cc: Fix TermIterator::positionlist_begin() to work 29625 on TermIterator from Database::termlist_begin(). 29626 29627Fri Mar 17 03:47:04 GMT 2006 Olly Betts <olly@survex.com> 29628 29629 * include/xapian/enquire.h: Fix "unused parameter" warning from 29630 previous change. 29631 29632Thu Mar 16 05:20:16 GMT 2006 Olly Betts <olly@survex.com> 29633 29634 * api/omenquire.cc,include/xapian/enquire.h: Move 29635 Enquire::get_matching_terms_end() inline in header. 29636 29637Thu Mar 16 04:28:20 GMT 2006 Olly Betts <olly@survex.com> 29638 29639 * api/omdocument.cc,configure.ac,include/xapian/document.h: Move 29640 Document::termlist_end() inline in header. 29641 29642Fri Mar 10 04:55:57 GMT 2006 Olly Betts <olly@survex.com> 29643 29644 * INSTALL: Improve wording. 29645 29646Fri Mar 10 04:49:09 GMT 2006 Olly Betts <olly@survex.com> 29647 29648 * backends/quartz/bcursor.h: Fix incorrect method name in 29649 documentation comment. 29650 29651Fri Mar 10 04:39:45 GMT 2006 Olly Betts <olly@survex.com> 29652 29653 * backends/quartz/btree.cc,backends/quartz/btree.h: Btree::find_key() 29654 is unused so remove it. 29655 29656Fri Mar 10 04:29:46 GMT 2006 Olly Betts <olly@survex.com> 29657 29658 * HACKING: Note that we now use a lightly patched version of libtool 29659 1.5.22. 29660 29661Fri Mar 10 02:55:48 GMT 2006 Olly Betts <olly@survex.com> 29662 29663 * docs/overview.html: Bring up to date. 29664 29665Wed Mar 08 02:32:49 GMT 2006 Olly Betts <olly@survex.com> 29666 29667 * queryparser/queryparser.lemony: Fix FLAG_BOOLEAN_ANY_CASE to really 29668 allow any case combination - previously it only allowed all 29669 uppercase or all lowercase. 29670 * tests/queryparsertest.cc: Add feature and regression tests for 29671 FLAG_BOOLEAN_ANY_CASE. 29672 * tests/queryparsertest.cc: Rename test cases to more descriptive 29673 names. 29674 29675Tue Mar 07 19:59:54 GMT 2006 Olly Betts <olly@survex.com> 29676 29677 * queryparser/queryparser.lemony,tests/queryparsertest.cc: 29678 Fix QueryParser's handling of terms with trailing "#", "+", 29679 or "-" when set_database has been called and the term doesn't 29680 exist in the database with the suffix. 29681 29682Tue Feb 21 21:14:22 GMT 2006 Olly Betts <olly@survex.com> 29683 29684 * include/xapian/deprecated.h: Allow xapian-bindings to override 29685 deprecation warnings. 29686 29687Tue Feb 21 17:55:17 GMT 2006 Olly Betts <olly@survex.com> 29688 29689 * backends/flint/flint_database.cc: Note that "flicklock" should be 29690 "flintlock"! 29691 29692Tue Feb 21 14:13:08 GMT 2006 Olly Betts <olly@survex.com> 29693 29694 * PLATFORMS: Updated. 29695 29696Tue Feb 21 14:12:47 GMT 2006 Olly Betts <olly@survex.com> 29697 29698 * HACKING: Update the "how to do a release" list. 29699 29700Tue Feb 21 00:17:40 GMT 2006 Olly Betts <olly@survex.com> 29701 29702 * NEWS,PLATFORMS,configure.ac: Updated for 0.9.4. 29703 29704Mon Feb 20 21:15:46 GMT 2006 Olly Betts <olly@survex.com> 29705 29706 * api/omdocument.cc,api/omenquire.cc,api/omquery.cc,include/xapian/, 29707 queryparser/queryparser.cc: GCC 3.2 actually doesn't like 29708 __attribute__((deprecated)) on method definitions, so just 29709 put declarations of deprecated methods in the headers, and 29710 move definitions into the library. 29711 29712Mon Feb 20 16:04:33 GMT 2006 Olly Betts <olly@survex.com> 29713 29714 * tests/api_anydb.cc,tests/api_db.cc,tests/api_nodb.cc: Update uses 29715 of deprecated methods and functions. 29716 29717Mon Feb 20 15:47:31 GMT 2006 Olly Betts <olly@survex.com> 29718 29719 * include/xapian/document.h: __attribute__((deprecated)) doesn't 29720 work on method definitions with default parameters on GCC 3.2 29721 so fix header to overload instead. 29722 29723Mon Feb 20 13:44:14 GMT 2006 Olly Betts <olly@survex.com> 29724 29725 * include/xapian/enquire.h: Add documentation comment for 29726 Enquire::set_sort_by_value_then_relevance(). 29727 29728Sun Feb 19 23:18:09 GMT 2006 Olly Betts <olly@survex.com> 29729 29730 * include/Makefile.am,include/xapian/: Flag deprecated methods such 29731 that the compiler gives a warning, for compilers which support 29732 such a feature. 29733 29734Sun Feb 19 22:58:55 GMT 2006 Olly Betts <olly@survex.com> 29735 29736 * COPYING: Update second occurrence of old FSF address. 29737 29738Sun Feb 19 22:46:49 GMT 2006 Olly Betts <olly@survex.com> 29739 29740 * README: Add pointer to HACKING. Change "CVS access" to "SVN 29741 access". 29742 29743Sun Feb 19 01:46:00 GMT 2006 Olly Betts <olly@survex.com> 29744 29745 * api/version.cc: Correct typo in name of function xapian_revision(). 29746 29747Thu Feb 16 10:23:59 GMT 2006 Olly Betts <olly@survex.com> 29748 29749 * xapian-config.in: Oops, fix previous fix (I'd pasted the substituted 29750 result from testing the patch...) 29751 29752Thu Feb 16 10:16:31 GMT 2006 Olly Betts <olly@survex.com> 29753 29754 * PLATFORMS: Updated from tinderbox. 29755 29756Thu Feb 16 10:15:51 GMT 2006 Olly Betts <olly@survex.com> 29757 29758 * xapian-config.in: Need to set exec_prefix and prefix at top of 29759 script as they're used by various @SUBSTITUTIONS@. 29760 29761Thu Feb 16 00:09:34 GMT 2006 Olly Betts <olly@survex.com> 29762 29763 * NEWS,PLATFORMS,configure.ac: Updated for 0.9.3. 29764 29765Wed Feb 15 21:58:23 GMT 2006 Olly Betts <olly@survex.com> 29766 29767 * xapian-config.in: Fix option loop to work on shells other than bash. 29768 29769Wed Feb 15 21:38:38 GMT 2006 Olly Betts <olly@survex.com> 29770 29771 * include/xapian/database.h: Tweak wording of a documentation comment. 29772 29773Wed Feb 15 21:34:55 GMT 2006 Olly Betts <olly@survex.com> 29774 29775 * include/xapian/queryparser.h: Fix documentation comments for the 29776 values of QueryParser::feature_flag so doxygen actually pulls out 29777 the documentation for them. Add documentation for the parameters 29778 of QueryParser::parse_query(). 29779 29780Wed Feb 15 21:26:48 GMT 2006 Olly Betts <olly@survex.com> 29781 29782 * bin/quartzcheck.cc: If the database is too broken to open, emit a 29783 warning message and bump the error count. 29784 29785Wed Feb 15 21:23:38 GMT 2006 Olly Betts <olly@survex.com> 29786 29787 * docs/queryparser.html: Document right-truncation. 29788 29789Wed Feb 15 21:08:37 GMT 2006 Olly Betts <olly@survex.com> 29790 29791 * xapian-config.in: Fixed to output usage correctly if no arguments 29792 are specified. 29793 29794Mon Feb 13 17:43:08 GMT 2006 Olly Betts <olly@survex.com> 29795 29796 * xapian-config.in: Expand dependency_libs recursively. It's not 29797 *that* hard, and we're just storing up problems for the future 29798 by ignoring the issue. 29799 29800Mon Feb 13 16:57:36 GMT 2006 Olly Betts <olly@survex.com> 29801 29802 * HACKING: Devlopers also need makeindex installed for documentation 29803 building. Note that dvips and makeindex are usually packaged with 29804 TeX. 29805 29806Mon Feb 13 15:16:02 GMT 2006 Olly Betts <olly@survex.com> 29807 29808 * configure.ac,xapian-config.in: Some Linux distros have an 29809 unhelpful policy of not packaging .la files, and on Linux 29810 link_all_deplibs_CXX=no so we don't actually need to link 29811 in the dependency_libs. So use the value of link_all_deplibs_CXX 29812 from configure to control whether we link against dependency_libs. 29813 * xapian-config.in: Factor out common code into shell functions, 29814 and tidy up --help output. 29815 * xapian-config.in: Re entry "Tue May 11 20:55:56 BST 2004": the (C) 29816 dates I mined from CVS included a BrightStation (C), but the few 29817 fragments of that version which survive are actually from 29818 glib-config (or one of the myriad of *-config scripts which look 29819 very like it), and are just standard Bourne shell idioms anyway. 29820 29821Mon Feb 13 13:59:02 GMT 2006 Olly Betts <olly@survex.com> 29822 29823 * PLATFORMS: td174 is gone. 29824 * PLATFORMS: Compaq C++ 7.1 seems to have better template support 29825 (but fails to link binaries). 29826 29827Mon Feb 13 12:22:23 GMT 2006 Olly Betts <olly@survex.com> 29828 29829 * HACKING,testsuite/testsuite.cc: XAPIAN_TESTSUITE_PLAIN_OUTPUT 29830 -> XAPIAN_TESTSUITE_OUTPUT=plain. 29831 29832Sun Feb 12 18:29:55 GMT 2006 Olly Betts <olly@survex.com> 29833 29834 * backends/database.cc,tests/api_nodb.cc: Trying to open a database 29835 for reading which doesn't exist now fails with DatabaseOpeningError 29836 instead of FeatureUnavailableError. Added regression test 29837 nosuchdb1. 29838 29839Thu Feb 09 10:48:10 GMT 2006 Olly Betts <olly@survex.com> 29840 29841 * net/socketserver.cc: Add missing '#include <iostream>' 29842 when TIMING_PATCH is defined. 29843 29844Wed Feb 08 08:22:09 GMT 2006 Olly Betts <olly@survex.com> 29845 29846 * HACKING: Now use libtool 1.5.22 for generating snapshots and 29847 releases (includes a number of bug-fixes). 29848 * HACKING,docs/doxygen_api_header.html_tmpl, 29849 docs/doxygen_full_header.html_tmpl: Now use doxygen 1.4.6 for 29850 generating snapshots and releases (nicer output). 29851 * docs/doxygen_full_header.html_tmpl: Title "Internal Source 29852 Documentation" rather than "Full source documentation". 29853 29854Sun Feb 05 06:19:29 GMT 2006 Olly Betts <olly@survex.com> 29855 29856 * queryparser/queryparser.lemony,tests/queryparsertest.cc: The 29857 QueryParser now recognises "AND NOT" as a synonym for "NOT". 29858 29859Mon Jan 16 18:19:26 GMT 2006 Olly Betts <olly@survex.com> 29860 29861 * backends/quartz/quartz_utils.h: Fix compiler warning. 29862 29863Mon Jan 16 18:17:27 GMT 2006 Olly Betts <olly@survex.com> 29864 29865 * HACKING,backends/flint/,backends/muscat36/,backends/quartz/, 29866 bin/quartzcompact.cc,bin/xapian-compact.cc,common/Makefile.am, 29867 common/safeerrno.h,net/,tests/btreetest.cc,tests/quartztest.cc, 29868 testsuite/backendmanager.cc,testsuite/testsuite.cc: Sorted out 29869 a cleaner workaround for Compaq C++'s <errno.h> oddity. 29870 29871Mon Jan 16 17:18:56 GMT 2006 Olly Betts <olly@survex.com> 29872 29873 * common/safewindows.h: Fix typo in file description. 29874 29875Mon Jan 16 13:29:48 GMT 2006 Olly Betts <olly@survex.com> 29876 29877 * backends/quartz/quartz_database.cc: Reverse order of errno includes 29878 which seems to make Compaq's C++ compiler happier. 29879 29880Sun Jan 15 23:52:01 GMT 2006 Olly Betts <olly@survex.com> 29881 29882 * backends/flint/flint_database.cc,backends/flint/flint_table.cc, 29883 backends/quartz/btree.cc,backends/quartz/quartz_database.cc, 29884 backends/quartz/quartz_log.cc,configure.ac,net/socketcommon.cc, 29885 net/tcpclient.cc,testsuite/backendmanager.cc: Compaq C++ requires 29886 sys/errno.h to get ENOENT and most other EXXX codes defined. 29887 29888Sun Jan 15 23:41:15 GMT 2006 Olly Betts <olly@survex.com> 29889 29890 * bin/xapian-compact.cc: Initialise 2 variables to avoid compiler 29891 warnings. 29892 29893Sun Jan 15 23:38:11 GMT 2006 Olly Betts <olly@survex.com> 29894 29895 * xapian-config.in: If libxapian.la's dependency_libs contains 29896 another .la file, crudely transform to a pair of -L and -l 29897 options. Ideally we should recursively pull in dependency_libs 29898 from that .la file, but that's too hard to do in sh. 29899 29900Sun Jan 15 21:43:26 GMT 2006 Olly Betts <olly@survex.com> 29901 29902 * queryparser/queryparser.lemony,queryparser/queryparser.lt: 29903 Eliminate ParseAlloc's mallocProc parameter and ParseFree's freeProc 29904 parameter - we always pass malloc and free, and get warnings from 29905 some compilers because we're passing a C-linkage function for a 29906 C++-linkage function pointer. 29907 * testsuite/testsuite.cc,testsuite/testsuite.h: Fix functions 29908 registered as signal handlers and pass to atexit to have C linkage. 29909 29910Sun Jan 15 14:49:45 GMT 2006 Olly Betts <olly@survex.com> 29911 29912 * backends/quartz/quartz_log.cc: #include <string.h> for strerror. 29913 29914Sun Jan 15 04:36:49 GMT 2006 Olly Betts <olly@survex.com> 29915 29916 * include/xapian/queryparser.h,queryparser/queryparser.cc: 29917 Add Stopper::get_description() and SimpleStopper::get_description(). 29918 29919Sat Jan 14 21:43:32 GMT 2006 Olly Betts <olly@survex.com> 29920 29921 * configure.ac: Fix backwards logic in snprintf configure test. 29922 Also define SNPRINTF_ISO to be an snprintf with ISO C90 semantics 29923 for the return value (if one exists), with SNPRINTF being defined 29924 to any snprintf which at least performs truncation (which in many 29925 cases is sufficient). 29926 29927Sat Jan 14 04:47:33 GMT 2006 Olly Betts <olly@survex.com> 29928 29929 * queryparser/queryparser.lt: Fix aCC warnings. 29930 29931Sat Jan 14 04:47:00 GMT 2006 Olly Betts <olly@survex.com> 29932 29933 * common/utils.h: Fix aCC warning. 29934 29935Fri Jan 13 18:25:04 GMT 2006 Olly Betts <olly@survex.com> 29936 29937 * configure.ac: Turn on more warnings for aCC; suppress existing 29938 warning ("Entire translation unit was empty") since it's not 29939 useful to us. 29940 29941Fri Jan 13 03:22:26 GMT 2006 Olly Betts <olly@survex.com> 29942 29943 * configure.ac: The configure test for snprintf uses memcmp, so 29944 we need to "#include <string.h>" for it to work reliably. 29945 29946Wed Jan 11 03:14:30 GMT 2006 Olly Betts <olly@survex.com> 29947 29948 * configure.ac: If not cross-compiling, try to actually run a test 29949 program built with the C++ compiler, not just link one. 29950 29951Wed Jan 11 03:06:28 GMT 2006 Olly Betts <olly@survex.com> 29952 29953 * configure.ac: Note the library version info which 0.9.3 will 29954 probably need. 29955 29956Tue Jan 10 22:41:36 GMT 2006 Olly Betts <olly@survex.com> 29957 29958 * configure.ac: Fix to actually skip the check for valgrind if 29959 VALGRIND is set to an empty value. 29960 29961Tue Jan 10 01:08:10 GMT 2006 Olly Betts <olly@survex.com> 29962 29963 * PLATFORMS: Updates from the tinderbox. 29964 29965Mon Jan 09 01:35:57 GMT 2006 Olly Betts <olly@survex.com> 29966 29967 * backends/muscat36/io_system.cc,bin/xapian-compact.cc, 29968 common/omdebug.cc: More sprintf tweaks. 29969 29970Mon Jan 09 00:58:33 GMT 2006 Olly Betts <olly@survex.com> 29971 29972 * bin/xapian-compact.cc: Use snprintf if we have it. 29973 29974Sun Jan 08 03:51:52 GMT 2006 Olly Betts <olly@survex.com> 29975 29976 * testsuite/backendmanager.cc: Fix conditional compilation of 29977 flint backend to use XAPIAN_BUILD_BACKEND_FLINT instead 29978 of XAPIAN_BUILD_BACKEND_QUARTZ. 29979 29980Sun Jan 08 02:11:30 GMT 2006 Olly Betts <olly@survex.com> 29981 29982 * configure.ac: Disable flint backend by default if building for 29983 djgpp or msdos. 29984 29985Sun Jan 08 02:09:48 GMT 2006 Olly Betts <olly@survex.com> 29986 29987 * backends/flint/flint_lock.cc: Cast NULL to (void*) to avoid 29988 "missing sentinel" warning from GCC4. 29989 29990Sat Jan 07 19:09:33 GMT 2006 Olly Betts <olly@survex.com> 29991 29992 * HACKING,docs/tests.html: Merge the "running tests" section of 29993 docs/tests.html into the similar section in HACKING, and make 29994 docs/tests.html refer the reader to HACKING for more information. 29995 * HACKING,tests/apitest.cc: Remove OM_TEST_BACKEND. You can now 29996 use the "-b" switch to apitest to control which backend is used 29997 so it's pretty much redundant. 29998 * HACKING,testsuite/testsuite.cc: Rename XAPIAN_SIG_DFL to 29999 XAPIAN_TESTSUITE_SIG_DFL. 30000 * HACKING,testsuite/testsuite.cc: Add XAPIAN_TESTSUITE_PLAIN_OUTPUT 30001 to disable use of ANSI escape sequences in test output. 30002 30003Sat Jan 07 09:13:06 GMT 2006 Olly Betts <olly@survex.com> 30004 30005 * tests/queryparsertest.cc: Write top-bit set characters using \xXX 30006 notation to avoid warnings from Intel's C++ compiler. 30007 30008Sat Jan 07 07:13:25 GMT 2006 Olly Betts <olly@survex.com> 30009 30010 * configure.ac: TYPE_SOCKLEN_T fails hard, so only run it if we've 30011 successfully run other socket tests. 30012 30013Sat Jan 07 05:29:39 GMT 2006 Olly Betts <olly@survex.com> 30014 30015 * queryparser/accentnormalisingitor.h: #include <limits.h> for 30016 CHAR_BIT. 30017 30018Fri Jan 06 21:24:01 GMT 2006 Olly Betts <olly@survex.com> 30019 30020 * bin/xapian-compact.cc: Fix printf type mismatch on 64 bit platforms. 30021 30022Fri Jan 06 18:05:30 GMT 2006 Olly Betts <olly@survex.com> 30023 30024 * queryparser/queryparser.cc,queryparser/queryparser.lemony, 30025 queryparser/queryparser_internal.h: Replace pair<bool, string> 30026 with a simple class BoolAndString - the pair results in a 30027 4328 byte symbol on HP-UX which gets truncated (to 4000 bytes). 30028 30029Fri Jan 06 12:55:37 GMT 2006 Olly Betts <olly@survex.com> 30030 30031 * PLATFORMS: Updated from tinderbox. 30032 30033Thu Jan 05 16:12:00 GMT 2006 Olly Betts <olly@survex.com> 30034 30035 * configure.ac: Oops, remove hack left over from testing. 30036 30037Thu Jan 05 16:09:06 GMT 2006 Olly Betts <olly@survex.com> 30038 30039 * configure.ac: Add sanity check for MS Windows that "find" is 30040 Unix-like find, not MSDOS-like. 30041 30042Thu Jan 05 04:27:29 GMT 2006 Olly Betts <olly@survex.com> 30043 30044 * INSTALL,PLATFORMS,README: Updated. 30045 30046Mon Dec 19 12:53:38 GMT 2005 Olly Betts <olly@survex.com> 30047 30048 * AUTHORS,PLATFORMS: Add success report for Fedora Core 4. 30049 30050Mon Dec 19 12:52:55 GMT 2005 Olly Betts <olly@survex.com> 30051 30052 * include/xapian/database.h: Improve a couple of documentation 30053 comments. 30054 30055Sun Dec 11 01:33:58 GMT 2005 Olly Betts <olly@survex.com> 30056 30057 * queryparser/queryparser.lemony: Fix handling of "+" terms in a query 30058 when the default query operator is AND. 30059 * tests/queryparsertest.cc: Add regression test. 30060 30061Fri Dec 09 05:54:33 GMT 2005 Olly Betts <olly@survex.com> 30062 30063 * languages/api.cc: Check for malloc and calloc failing to allocate 30064 memory and throw an exception. Richard has fix this upstream in 30065 snowball, so this is a temporary fix until we import a new version 30066 of snowball. 30067 30068Fri Dec 09 02:15:38 GMT 2005 Olly Betts <olly@survex.com> 30069 30070 * api/omenquire.cc: Added assertions that the internal ptr isn't NULL 30071 to ESet::end() and ESet::get_description(). 30072 30073Fri Dec 09 02:14:13 GMT 2005 Olly Betts <olly@survex.com> 30074 30075 * HACKING: Note platforms valgrind now has solid support for; Improve 30076 phrasing in a few places. 30077 30078Thu Dec 08 23:13:09 GMT 2005 Olly Betts <olly@survex.com> 30079 30080 * INSTALL: Update URL for stlport to sourceforge site, which seems to 30081 be where the action is now. 30082 30083Thu Dec 08 04:13:11 GMT 2005 Olly Betts <olly@survex.com> 30084 30085 * testsuite/testsuite.cc: Fix testsuite harness to work with valgrind 30086 on 64 bit platforms (it's not documented, but VALGRIND_COUNT_LEAKS 30087 requires the count parameters to be 64 bit on such platforms - i.e. 30088 long rather than int as we were using). 30089 30090Tue Nov 01 13:22:50 GMT 2005 Olly Betts <olly@survex.com> 30091 30092 * PLATFORMS: Sourceforge have a ppc64 linux box. Xapian builds and 30093 works out of the box, so add success report for this platform. 30094 30095Thu Oct 27 09:32:24 BST 2005 Fabrice Colin 30096 30097 * xapian.spec.in: Invoke %setup correctly. 30098 30099Sat Oct 01 03:25:50 BST 2005 Olly Betts <olly@survex.com> 30100 30101 * bin/xapian-compact.cc: Added "--multipass" option to merge postlists 30102 in pairs or triples until all are merged. Generally this is faster 30103 than an N-way merge, but it does require more disk space for 30104 temporary files so it's not the default. 30105 30106Fri Sep 30 18:02:32 BST 2005 Olly Betts <olly@survex.com> 30107 30108 * include/xapian/enquire.h: Give pointer to replacements for the 30109 deprecated Enquire sorting methods. 30110 30111Wed Sep 28 02:16:03 BST 2005 Olly Betts <olly@survex.com> 30112 30113 * bin/xapian-compact.cc: Use a vector<string> to store the list of 30114 source databases, in preparation for merging multiple postlist 30115 tables in more than one pass. 30116 30117Mon Sep 26 22:22:24 BST 2005 Olly Betts <olly@survex.com> 30118 30119 * .: svn:ignore docsource.mk. 30120 30121Mon Sep 26 19:54:15 BST 2005 Olly Betts <olly@survex.com> 30122 30123 * bin/: svn:ignore xapian-compact. 30124 30125Mon Sep 26 19:50:13 BST 2005 Olly Betts <olly@survex.com> 30126 30127 * backends/flint/flint_positionlist.cc: Remove trailing whitespace. 30128 30129Wed Sep 21 01:31:23 BST 2005 Olly Betts <olly@survex.com> 30130 30131 * api/Makefile.am: Fixed VPATH build which was broken by the addition 30132 of version.cc. 30133 30134Tue Sep 20 23:38:05 BST 2005 Olly Betts <olly@survex.com> 30135 30136 * backends/flint/flint_lock.cc: Don't pass NULL for second parameter 30137 of execl(). 30138 30139Tue Sep 20 21:32:04 BST 2005 Olly Betts <olly@survex.com> 30140 30141 * api/Makefile.am,api/version.cc,include/xapian/version_h.cc: Add 4 30142 functions to report version information for the library version 30143 being used (which may not be the same as that compiled against 30144 if shared libraries are in use): xapian_version_string(), 30145 xapian_major_version(), xapian_minor_version(), xapian_revision(). 30146 30147Sat Sep 17 14:07:32 BST 2005 Richard Boulton <richard@tartarus.org> 30148 30149 * backends/flint/flint_lock.cc: Pass two NULLs to execl() to avoid 30150 getting a warning ("not enough variable arguments to fit a 30151 sentinel", observed on Ubuntu breezy powerpc). Reported by 30152 Sidnei da Silva. 30153 30154Wed Sep 14 23:54:14 BST 2005 Olly Betts <olly@survex.com> 30155 30156 * HACKING: Now generate snapshots and releases with automake 1.9.6 30157 (was 1.9.5) and libtool 1.5.20 (was 1.5.18). 30158 30159Tue Aug 30 14:01:55 BST 2005 Olly Betts <olly@survex.com> 30160 30161 * backends/inmemory/inmemory_database.h: Forward declare class 30162 InMemoryDatabase to fix compilation with GCC 4.0.1. 30163 30164Fri Aug 19 12:13:39 BST 2005 Olly Betts <olly@survex.com> 30165 30166 * backends/quartz/quartz_postlist.cc,backends/flint/flint_postlist.cc: 30167 Correct uses of termcount which should be doccount. 30168 30169Fri Aug 19 11:48:51 BST 2005 Olly Betts <olly@survex.com> 30170 30171 * include/xapian/enquire.h: Fix prototype for ESet::operator[] to 30172 take parameter of type termcount instead of doccount. 30173 30174Wed Aug 17 11:50:54 BST 2005 Olly Betts <olly@survex.com> 30175 30176 * common/safewindows.h: Fix compilation for cygwin. 30177 30178Tue Aug 16 16:01:36 BST 2005 Olly Betts <olly@survex.com> 30179 30180 * backends/flint/flint_types.h,backends/quartz/quartz_types.h: Using 30181 a double to hold the total document length would be a bad idea as 30182 we need to store it exactly so kill FIXME comments that suggest 30183 perhaps we should. 30184 30185Fri Jul 15 11:11:35 BST 2005 Olly Betts <olly@survex.com> 30186 30187 * configure.ac,NEWS,PLATFORMS: Updated for 0.9.2. 30188 30189Fri Jul 15 02:31:11 BST 2005 Olly Betts <olly@survex.com> 30190 30191 * preautoreconf: Change directory to the directory that the 30192 preautoreconf script is in before doing anything else. 30193 30194Fri Jul 15 01:02:29 BST 2005 Olly Betts <olly@survex.com> 30195 30196 * docs/doxygen_api_conf.in,docs/doxygen_full_conf.in,configure.ac: 30197 Eliminate TOP_SRCDIR and TOP_BUILDDIR - it's better to just use 30198 top_srcdir and top_builddir directly. 30199 30200Fri Jul 15 00:48:39 BST 2005 Olly Betts <olly@survex.com> 30201 30202 * configure.ac: Fix superfluous shell quoting. 30203 30204Fri Jul 15 00:28:40 BST 2005 Olly Betts <olly@survex.com> 30205 30206 * configure.ac,docs/Makefile.am,preautoreconf,Makefile.am: Generate 30207 the list of source files to feed to doxygen by inspecting all the 30208 Makefile.am files prior to running autoreconf rather than by using 30209 "find" when the user runs ./configure. This speeds up configure, 30210 avoids generating docs for random .cc and .h files which aren't 30211 part of xapian-core, and avoids problems with picking up FIND.EXE 30212 on MS Windows. 30213 30214Thu Jul 14 12:49:36 BST 2005 Olly Betts <olly@survex.com> 30215 30216 * common/,matcher/multimatch.cc,matcher/networkmatch.cc, 30217 matcher/networkmatch.h,net/socketclient.cc,net/socketserver.cc, 30218 tests/api_db.cc: Implement sorting on a value with the remote 30219 backend. 30220 30221Wed Jul 13 01:25:17 BST 2005 Olly Betts <olly@survex.com> 30222 30223 * include/xapian/database.h,include/xapian/dbfactory.h, 30224 net/socketclient.cc: Regularise horizontal whitespace. 30225 30226Tue Jul 05 03:03:57 BST 2005 Olly Betts <olly@survex.com> 30227 30228 * include/xapian/queryparser.h: Oops, failed to check in header 30229 changes for last change. 30230 30231Mon Jul 04 15:50:55 BST 2005 Olly Betts <olly@survex.com> 30232 30233 * queryparser/queryparser.lemony,queryparser/queryparser.cc: 30234 Add flag FLAG_BOOLEAN_ANY_CASE which tells the QueryParser that 30235 boolean operators such as "AND", "OR", and "NEAR" should be 30236 recognised even if they aren't fully capitalised (so "and", 30237 "And", "aNd", etc will work too). Add flag FLAG_WILDCARD which 30238 tells the QueryParser to allow right truncation e.g. "xap*". 30239 * tests/queryparsertest.cc: Add tests for FLAG_WILDCARD. 30240 30241Sun Jul 03 15:24:12 BST 2005 Olly Betts <olly@survex.com> 30242 30243 * backends/database.cc: Fixed to auto-detect database type when 30244 opening an existing Flint database as a WritableDatabase. 30245 30246Sat Jul 02 18:49:22 BST 2005 Olly Betts <olly@survex.com> 30247 30248 * tests/queryparsertest.cc: Add test case: "-site:xapian.org mail". 30249 30250Sat Jul 02 18:49:03 BST 2005 Olly Betts <olly@survex.com> 30251 30252 * common/Makefile.am: Ship safewindows.h header. 30253 30254Sat Jul 02 18:04:18 BST 2005 Olly Betts <olly@survex.com> 30255 30256 * bin/quartzcompact.cc,bin/xapian-compact.cc, 30257 backends/muscat36/io_system.cc,backends/quartz/btree.cc, 30258 backends/quartz/quartz_log.cc,backends/quartz/quartz_database.cc, 30259 backends/flint/,common/,net/,tests/,testsuite/backendmanager.cc, 30260 testsuite/testsuite.cc: Assorted tweaks towards allowing 30261 compilation with MSVC. 30262 30263Sat Jul 02 05:08:54 BST 2005 Olly Betts <olly@survex.com> 30264 30265 * backends/quartz/: Always define WIN32_LEAN_AND_MEAN before 30266 including windows.h to reduce the amount of stuff it includes 30267 and speed up builds; Eliminate Btree::max_key_len as MSVC 30268 doesn't like the way we define it and it actually seems 30269 simpler to just use BTREE_MAX_KEY_LEN everywhere anyway. 30270 * backends/quartz/btree.cc: Added a few more assertions. 30271 30272Sat Jul 02 04:11:01 BST 2005 Olly Betts <olly@survex.com> 30273 30274 * queryparser/queryparser.lemony,tests/queryparsertest.cc: Fixed to 30275 handle "-site:microsoft.com" where site is a boolean prefix. 30276 * queryparser/Makefile.am: Add dependency to generate 30277 queryparser_token.h. 30278 30279Thu Jun 30 02:14:16 BST 2005 Olly Betts <olly@survex.com> 30280 30281 * testsuite/testsuite.cc: Update URL for valgrind FAQ in comment. 30282 30283Thu Jun 30 00:11:52 BST 2005 Olly Betts <olly@survex.com> 30284 30285 * include/xapian/enquire.h: More explicit explanation of the 30286 "descending docid with boolean weighting" trick for fast 30287 date ordered searching. 30288 30289Wed Jun 29 13:16:13 BST 2005 Olly Betts <olly@survex.com> 30290 30291 * NEWS: Fix typo: "configurec" -> "configure". 30292 30293Mon Jun 27 04:21:34 BST 2005 Olly Betts <olly@survex.com> 30294 30295 * xapian.spec.in: Package xapian-compact. 30296 30297Mon Jun 27 03:41:23 BST 2005 Olly Betts <olly@survex.com> 30298 30299 * backends/flint/flint_positionlist.cc,tests/api_wrdb.cc: Fixed 30300 mispacking of length for Flint positionlists with more than 127 30301 entries, and added regression test longpositionlist1. 30302 30303Sun Jun 26 02:04:33 BST 2005 Olly Betts <olly@survex.com> 30304 30305 * bin/xapian-compact.cc,backends/flint/flint_cursor.h: Let 30306 PostlistCursor take ownership of the FlintTable it's iterating over 30307 which makes clean-up tidier. 30308 * bin/xapian-compact.cc: We were accidentally skipping the first 30309 entry in various tables (which essentially meant the first 30310 document from each database would go missing when merging 30311 databases). 30312 30313Sat Jun 25 23:45:42 BST 2005 Olly Betts <olly@survex.com> 30314 30315 * api/omdatabase.cc: Tweak get_lastdocid() code to be a little 30316 clearer. 30317 30318Wed Jun 22 20:50:43 BST 2005 Olly Betts <olly@survex.com> 30319 30320 * configure.ac,include/xapian/version.h.in,include/xapian/version_h.cc, 30321 include/Makefile.am: Eliminate use of "ln -s" when generating 30322 include/xapian/version.h since it seems to cause problems on Solaris 30323 in some setups and isn't really necessary. Also add dependency 30324 mechanism so version.h gets regenerated when the template is 30325 changed. 30326 30327Wed Jun 22 18:47:05 BST 2005 Olly Betts <olly@survex.com> 30328 30329 * docs/intro_ir.html: Citeseer has moved, so update link. 30330 30331Mon Jun 20 13:33:42 BST 2005 Olly Betts <olly@survex.com> 30332 30333 * configure.ac: -Wshadow causes false positives with GCC 3.0.4, so 30334 only enable it for 3.1 and up. 30335 30336Mon Jun 20 03:09:07 BST 2005 Olly Betts <olly@survex.com> 30337 30338 * queryparser/queryparser.lemony: "utilpy" -> "utility"! 30339 30340Fri Jun 17 19:54:44 BST 2005 Olly Betts <olly@survex.com> 30341 30342 * COPYING: Update FSF address. 30343 30344Thu Jun 16 18:43:33 BST 2005 Olly Betts <olly@survex.com> 30345 30346 * backends/flint/flint_table.cc: Fix warnings from older GCC versions. 30347 * backends/flint/flint_lock.cc: '#include <signal.h>' so that SIGHUP 30348 gets defined reliably. 30349 30350Thu Jun 16 17:54:39 BST 2005 Olly Betts <olly@survex.com> 30351 30352 * bin/Makefile.am,bin/xapian-compact.cc: Added new "xapian-compact" 30353 program which can compact and merge flint databases in a similar 30354 way to how quartzcompact does for quartz databases. 30355 30356Thu Jun 16 01:22:45 BST 2005 Olly Betts <olly@survex.com> 30357 30358 * configure.ac: Check for spaces in build directory, source directory, 30359 or install prefix and die with a helpful message. 30360 30361Wed Jun 15 01:00:11 BST 2005 Olly Betts <olly@survex.com> 30362 30363 * backends/flint/flint_lock.cc: It seems we need to explicitly kill 30364 the child process. Otherwise when we have two databases locked 30365 just closing the connection doesn't cause the child to die. I 30366 don't understand why it's needed, but this fix is at least clean. 30367 30368Mon Jun 13 00:13:33 BST 2005 Olly Betts <olly@survex.com> 30369 30370 * backends/flint/flint_alltermslist.cc, 30371 backends/flint/flint_alltermslist.h, 30372 backends/flint/flint_database.cc: Rewrite of FlintAllTermsList 30373 with several fewer member variables. Also fixes a bug (the old 30374 version wasn't ignoring the metainfo entry so tests were failing). 30375 30376Sun Jun 12 13:08:16 BST 2005 Olly Betts <olly@survex.com> 30377 30378 * backends/quartz/quartz_alltermslist.cc: Disable assertion which is 30379 incorrect in a corner case. 30380 * tests/api_db.cc: Add test_specialterms2 as a regression test. 30381 30382Sun Jun 12 02:03:52 BST 2005 Olly Betts <olly@survex.com> 30383 30384 * backends/flint/flint_positionlist.cc: Encoding and decoding of 30385 position list size, and first and last entries didn't match. 30386 Reworked to match using a slightly smaller encoding. 30387 * backends/flint/flint_metafile.cc: Bumped format version. 30388 30389Sun Jun 12 02:02:35 BST 2005 Olly Betts <olly@survex.com> 30390 30391 * backends/flint/flint_table.cc: We were failing to append "DB" to the 30392 path when opening a table for reading - fixed. 30393 30394Sun Jun 12 02:00:30 BST 2005 Olly Betts <olly@survex.com> 30395 30396 * testsuite/backendmanager.cc: When a flint database was requested, we 30397 were incorrectly creating a quartz database instead - fixed. 30398 30399Sat Jun 11 17:53:12 BST 2005 Olly Betts <olly@survex.com> 30400 30401 * bin/quartzcompact.cc: Fix mis-repacking of keys in positionlist 30402 table when merging several databases. 30403 30404Thu Jun 09 01:06:35 BST 2005 Olly Betts <olly@survex.com> 30405 30406 * Makefile.am,configure.ac: Pass automake options to AM_INIT_AUTOMAKE 30407 rather than specifying them in Makefile.am. This way, the version 30408 requirements for autoconf and automake are stated close together. 30409 30410Mon Jun 06 19:49:36 BST 2005 Olly Betts <olly@survex.com> 30411 30412 * HACKING: Minor updates to release checklist. 30413 30414Mon Jun 06 17:44:19 BST 2005 Olly Betts <olly@survex.com> 30415 30416 * NEWS,configure.ac: Updated for 0.9.1. 30417 30418Mon Jun 06 17:28:34 BST 2005 Olly Betts <olly@survex.com> 30419 30420 * configure.ac: Describe CC_FOR_BUILD in configure --help output. 30421 30422Mon Jun 06 16:00:26 BST 2005 Olly Betts <olly@survex.com> 30423 30424 * PLATFORMS: Updated for 0.9.1. 30425 30426Fri Jun 03 03:49:33 BST 2005 Olly Betts <olly@survex.com> 30427 30428 * backends/flint/flint_lock.cc,backends/flint/flint_lock.h: Fixed 30429 compilation failure on mingw. 30430 30431Fri Jun 03 01:58:08 BST 2005 Olly Betts <olly@survex.com> 30432 30433 * PLATFORMS: Updated from tinderbox. 30434 30435Fri Jun 03 00:46:00 BST 2005 Olly Betts <olly@survex.com> 30436 30437 * HACKING,NEWS: Snapshot and release tarballs are now bootstrapped 30438 using libtool 1.5.18 and automake 1.9.5 (though neither is currently 30439 an enforced requirement for bootstrapping). 30440 30441Thu Jun 02 17:36:36 BST 2005 Olly Betts <olly@survex.com> 30442 30443 * NEWS: First draft of release notes for 0.9.1. 30444 30445Thu Jun 02 02:05:47 BST 2005 Olly Betts <olly@survex.com> 30446 30447 * backends/flint/flint_record.cc: Fix get_doccount() to not return 30448 one too low now that the special entry is no longer in the record 30449 table! 30450 30451Wed Jun 01 12:41:59 BST 2005 Olly Betts <olly@survex.com> 30452 30453 * backends/flint/flint_positionlist.cc: Placate Sun's C++ compiler. 30454 30455Tue May 31 19:31:24 BST 2005 Olly Betts <olly@survex.com> 30456 30457 * backends/flint/flint_positionlist.h, 30458 backends/flint/flint_positionlist.cc, 30459 backends/flint/flint_metafile.cc: positionlist entries are now 30460 stored using interpolative coding (which is significantly more 30461 compact). 30462 30463Mon May 30 01:48:17 BST 2005 Olly Betts <olly@survex.com> 30464 30465 * backends/flint/flint_lock.cc,backends/flint/flint_lock.h: Added 30466 locking code for MS Windows (untested). 30467 30468Sun May 29 01:00:41 BST 2005 Olly Betts <olly@survex.com> 30469 30470 * HACKING,NEWS,testsuite/testsuite.h: Fixed spelling mistakes. 30471 30472Sat May 28 22:51:15 BST 2005 Olly Betts <olly@survex.com> 30473 30474 * tests/: svn:ignore .flint/ subdirectory. 30475 * tests/Makefile.am: Remove .flint subdirectory on 'make clean'. 30476 30477Sat May 28 22:45:24 BST 2005 Olly Betts <olly@survex.com> 30478 30479 * docs/quartzdesign.html: Remove warning that quartz is still in 30480 development. 30481 30482Sat May 28 16:24:43 BST 2005 Olly Betts <olly@survex.com> 30483 30484 * backends/flint/flint_lock.h: Removed unused FlintLock method 30485 'operator int()' which was confusing Sun's C++ compiler. 30486 30487Sat May 28 16:18:11 BST 2005 Olly Betts <olly@survex.com> 30488 30489 * include/xapian/query.h: Removed superfluous "Query::" which was 30490 causing the build to fail with aCC. 30491 30492Sat May 28 14:31:33 BST 2005 Olly Betts <olly@survex.com> 30493 30494 * backends/flint/flint_metafile.cc: Added missing '#include <errno.h>'. 30495 30496Sat May 28 14:15:36 BST 2005 Olly Betts <olly@survex.com> 30497 30498 * backends/flint/flint_positionlist.cc: Simplify code a bit. 30499 30500Sat May 28 02:01:12 BST 2005 Olly Betts <olly@survex.com> 30501 30502 * backends/flint/: Move the special item holding the total document 30503 length and doc id high water mark from the record table to the 30504 postlist table. This means that when appending documents, the 30505 insertion point will now always be at the end of the record table. 30506 We need to jump around the postlist table to merge anyway. 30507 30508Sat May 28 00:42:25 BST 2005 Olly Betts <olly@survex.com> 30509 30510 * backends/flint/flint_metafile.cc: Change metafile magic to be 30511 different from quartz, and make the metafile version a datestamp 30512 which we'll change each time the format changes; check the return 30513 value of close on the metafile. 30514 30515Fri May 27 22:09:45 BST 2005 Olly Betts <olly@survex.com> 30516 30517 * backends/Makefile.am,backends/flint/: Implement new fork+fcntl+exec 30518 based locking; Fix new GCC warnings. 30519 30520Fri May 27 22:06:14 BST 2005 Olly Betts <olly@survex.com> 30521 30522 * api/omquery.cc: Missed a warning fix. 30523 30524Fri May 27 22:04:18 BST 2005 Olly Betts <olly@survex.com> 30525 30526 * backends/quartz/btree.cc,backends/quartz/btree.h, 30527 backends/quartz/quartz_postlist.cc,common/omtime.h,matcher/, 30528 net/socketserver.cc,net/socketcommon.cc,net/socketclient.cc, 30529 testsuite/btreecheck.h,testsuite/testsuite.cc: Fix GCC warnings 30530 from new flags. 30531 30532Fri May 27 20:06:52 BST 2005 Olly Betts <olly@survex.com> 30533 30534 * queryparser/queryparser.lemony: Add missing '#include <config.h>'. 30535 30536Fri May 27 12:20:03 BST 2005 Olly Betts <olly@survex.com> 30537 30538 * common/omdebug.h: Oops, change to static_cast reveals that we were 30539 discarding const (harmlessly). 30540 30541Fri May 27 12:16:03 BST 2005 Olly Betts <olly@survex.com> 30542 30543 * common/omdebug.h: Replace C style cast with static_cast<>. 30544 30545Fri May 27 12:07:48 BST 2005 Olly Betts <olly@survex.com> 30546 30547 * configure.ac: -Wendif should be -Wendif-labels. 30548 30549Wed May 25 20:41:39 BST 2005 Olly Betts <olly@survex.com> 30550 30551 * configure.ac: Pass more -W flags to g++ (including -Wundef which 30552 caught the getopt problem fixed by the previous commit). 30553 30554Wed May 25 20:32:35 BST 2005 Olly Betts <olly@survex.com> 30555 30556 * getopt/getopt.cc: Added accidentally pruned #define so that getopt 30557 code isn't compiled in when the system uses glibc. 30558 30559Wed May 25 18:36:41 BST 2005 Olly Betts <olly@survex.com> 30560 30561 * configure.ac: Add -Wredundant-decls to the default CXXFLAGS for GCC. 30562 30563Wed May 25 03:33:34 BST 2005 Olly Betts <olly@survex.com> 30564 30565 * tests/apitest.cc,tests/api_db.cc,tests/api_db.h, 30566 testsuite/backendmanager.cc,testsuite/backendmanager.h: 30567 apitest now runs tests on flint as well. 30568 30569Wed May 25 03:20:12 BST 2005 Olly Betts <olly@survex.com> 30570 30571 * backends/database.cc: When automatically determining which backend 30572 to use when creating a WritableDatabase, don't try to open it as 30573 both Flint *AND* Quartz (an "else" was missing). 30574 30575Wed May 25 03:19:21 BST 2005 Olly Betts <olly@survex.com> 30576 30577 * backends/flint/flint_btreebase.cc: Fix typo in code which prevented 30578 a flint database from being opened. 30579 30580Wed May 25 01:10:51 BST 2005 Olly Betts <olly@survex.com> 30581 30582 * include/xapian/version.h.in,include/xapian/dbfactory.h, 30583 include/xapian/queryparser.h,backends/quartz/,backends/flint/: 30584 Flint backend hooked in fully, and everything now builds once 30585 more. 30586 30587Tue May 24 02:30:39 BST 2005 Olly Betts <olly@survex.com> 30588 30589 * HACKING: Add "email Fabrice" to the release checklist so that RPM 30590 spec files don't lag behind. The new svn-tag-release script 30591 actually builds the release tarballs rather than just copying 30592 snapshots like cvs-tag-release did, so document that. 30593 30594Tue May 24 01:21:18 BST 2005 Olly Betts <olly@survex.com> 30595 30596 * include/xapian/queryparser.h: Added missing documentation comments. 30597 30598Mon May 23 02:36:06 BST 2005 Olly Betts <olly@survex.com> 30599 30600 * configure.ac,backends/database.cc,backends/Makefile.am, 30601 backends/flint/: Cloned the quartz backend to form the basis of the 30602 new flint backend. Currently it's the same except that the quartz 30603 log feature has been removed. When creating a database without a 30604 specified backend, quartz is still used unless the environmental 30605 variable XAPIAN_PREFER_FLINT is set to a non-empty value. 30606 30607Sat May 21 20:58:48 BST 2005 Olly Betts <olly@survex.com> 30608 30609 * xapian.spec.in: Remove bogus %setup line left over from when we 30610 packaged xapian-core and xapian-examples together from separate 30611 tarballs. 30612 30613Thu May 19 01:12:27 BST 2005 Olly Betts <olly@survex.com> 30614 30615 * bin/quartzcheck.cc: Fixed corner case where you couldn't check a 30616 single Btree table which was just the DB and baseA/baseB files 30617 in a directory (Xapian doesn't produce anything like this, but 30618 btreetest does while unit testing the Btree code). 30619 30620Wed May 18 16:59:23 BST 2005 Olly Betts <olly@survex.com> 30621 30622 * api/omquery.cc,include/xapian/query.h: Put Query::get_terms_end() 30623 inline in header. 30624 30625Wed May 18 16:41:56 BST 2005 Olly Betts <olly@survex.com> 30626 30627 * api/omquery.cc,tests/api_nodb.cc: Fix SEGV on get_terms_begin() 30628 on an empty Query object. 30629 30630Mon May 16 22:58:09 BST 2005 Olly Betts <olly@survex.com> 30631 30632 * api/omqueryinternal.cc: Fixed compilation with --enable-debug. 30633 30634Sat May 14 01:02:33 BST 2005 Olly Betts <olly@survex.com> 30635 30636 * docs/doxygen_full_conf.in: Fix lingering DOXYGEN_HAVE_DOT reference. 30637 30638Sat May 14 00:36:14 BST 2005 Olly Betts <olly@survex.com> 30639 30640 * HACKING: Update information about the SVN tag name to use for 30641 debian files. 30642 30643Fri May 13 23:21:54 BST 2005 Olly Betts <olly@survex.com> 30644 30645 * HACKING: Updated release instructions to refer to SVN. 30646 30647Fri May 13 20:58:15 BST 2005 Olly Betts <olly@survex.com> 30648 30649 * PLATFORMS: Updated for 0.9.0. 30650 30651Fri May 13 02:47:42 BST 2005 Olly Betts <olly@survex.com> 30652 30653 * include/xapian/queryparser.h: Fix for Sun's C++ compiler. 30654 30655Fri May 13 00:09:07 BST 2005 Olly Betts <olly@survex.com> 30656 30657 * NEWS,configure.ac: Updated for 0.9.0. 30658 30659Thu May 12 18:54:11 BST 2005 Olly Betts <olly@survex.com> 30660 30661 * docs/doxygen_api_conf.in,docs/Makefile.am: Fix to generate docs 30662 for all backend factory functions like 0.8.5 did. 30663 30664Thu May 12 16:59:22 BST 2005 Olly Betts <olly@survex.com> 30665 30666 * backends/database.cc,backends/Makefile.am,include/xapian/database.h, 30667 include/xapian/dbfactory.h,include/xapian.h,include/Makefile.am: 30668 Split off database factory methods into xapian/dbfactory.h - this 30669 allows us to fix recent breakage in VPATH builds (caused by the 30670 need to include the generated file xapian/version.h from 30671 xapian/database.h) without modifying almost every Makefile.am. 30672 30673Wed May 11 16:52:41 BST 2005 Olly Betts <olly@survex.com> 30674 30675 * queryparser/queryparser.lemony: Move prefixed, bracketed 30676 subexpression to be an alternative for stop_term which allows 30677 "term prefix:(term2 term3)" to parse correctly. Also move 30678 non-prefixed, bracketed subexpression to be an alternative 30679 for stop_term - this doesn't change how things parse, but 30680 makes the grammar simpler. 30681 * tests/queryparsertest.cc: Added regression test for the above. 30682 * tests/Makefile.am,tests/queryparsertest.cc: Reworked queryparsertest 30683 to use the standard testsuite harness. 30684 30685Wed May 11 16:09:32 BST 2005 Olly Betts <olly@survex.com> 30686 30687 * include/xapian/query.h: Fix OP_ELITE_SET at 10 (the value it had 30688 in 0.8.5). 30689 30690Tue May 10 22:56:45 BST 2005 Olly Betts <olly@survex.com> 30691 30692 * docs/Makefile.am: Removed check for DOXYGEN_HAVE_DOT which I removed 30693 recently. 30694 30695Tue May 10 01:09:01 BST 2005 Olly Betts <olly@survex.com> 30696 30697 * queryparser/queryparser.lemony: Removed state parameter from 30698 TermList::add_term() since it is no longer used. 30699 30700Mon May 09 20:56:40 BST 2005 Olly Betts <olly@survex.com> 30701 30702 * docs/Makefile.am: Explicitly set the pool_size for latex, because we 30703 seem to overflow the default setting on many systems. 30704 * docs/Makefile.am: Use $(MAKE) instead of make. 30705 30706Sun May 08 23:22:37 BST 2005 Olly Betts <olly@survex.com> 30707 30708 * configure.ac: Corrected $CC -> $CXX to fix bogus message "Checking 30709 for option to enable ANSI C++ mode". 30710 * configure.ac: If any tools needed for documentation are missing 30711 and we're in maintainer mode, die with a suitable error in 30712 configure rather than with strange errors when building the 30713 documentation. 30714 30715Sun May 08 01:43:55 BST 2005 Olly Betts <olly@survex.com> 30716 30717 * include/xapian/queryparser.h,queryparser/queryparser.lemony, 30718 queryparser/queryparser_internal.h,queryparser/queryparser.cc: 30719 Remove QueryParser::termlist_begin() and termlist_end() since 30720 you can just use Query::terms_begin() and terms_end() on the 30721 Query object returned by QueryParser::parse_query(). 30722 30723Thu May 05 01:00:26 BST 2005 Olly Betts <olly@survex.com> 30724 30725 * common/utils.cc: On WIN32, don't define NOMINMAX if it is already 30726 defined. 30727 30728Wed May 04 00:52:04 BST 2005 Olly Betts <olly@survex.com> 30729 30730 * matcher/bm25weight.cc: Avoid needing document length if we're simply 30731 going to multiply it by zero! 30732 30733Tue May 03 14:07:20 BST 2005 Olly Betts <olly@survex.com> 30734 30735 * HACKING: CVS -> SVN; Note that tabs should be 8 spaces. 30736 30737Thu Apr 28 21:13:17 BST 2005 Olly Betts <olly@survex.com> 30738 30739 * include/xapian/database.h: Don't declare the backend factory 30740 functions if the corresponding backend has been disabled. This 30741 means that trying to use a disabled backend will be caught at 30742 compile time rather than link time. 30743 30744Thu Apr 28 21:12:43 BST 2005 Olly Betts <olly@survex.com> 30745 30746 * docs/intro_ir.html: Corrected two errors. 30747 30748Wed Apr 27 23:04:53 BST 2005 Olly Betts <olly@survex.com> 30749 30750 * configure.ac,include/xapian/version.h.in: Define 30751 XAPIAN_HAS_xxx_BACKEND for each backend which is enabled. The 30752 bindings need this, and user code might find it useful too. 30753 30754Wed Apr 27 03:31:50 BST 2005 Olly Betts <olly@survex.com> 30755 30756 * api/omdatabase.cc,api/ompostlistiterator.cc, 30757 api/omtermlistiterator.cc,include/xapian/, 30758 queryparser/queryparser.cc: Where end iterator is just 30759 FooIterator(NULL) put it inline in the header for efficiency. 30760 If we ever need to change an implementation, we can easily move 30761 methods back into the library and bump the library version suitably. 30762 30763Wed Apr 27 02:40:43 BST 2005 Olly Betts <olly@survex.com> 30764 30765 * examples/quest.cc,include/xapian/queryparser.h, 30766 queryparser/queryparser.cc,tests/queryparsertest.cc: Rename 30767 QueryParser::set_stemming_options() to set_stemming_strategy() 30768 - it's a better name and avoids confusion with the old deprecated 30769 method called set_stemming_options(). 30770 * examples/quest.cc: Added stopword handling. 30771 30772Wed Apr 27 02:39:33 BST 2005 Olly Betts <olly@survex.com> 30773 30774 * include/xapian/enquire.h: Fixed documentation comment. 30775 30776Sun Apr 24 03:02:47 BST 2005 Olly Betts <olly@survex.com> 30777 30778 * api/omstem.cc: Simplified Xapian::Stem::Internal. 30779 30780Sun Apr 24 02:21:22 BST 2005 Olly Betts <olly@survex.com> 30781 30782 * tests/api_nodb.cc: Extended stemlang1 to check that trying to create 30783 a stemmer for a non-existent language throws InvalidArgumentError. 30784 30785Fri Apr 22 01:20:57 BST 2005 Olly Betts <olly@survex.com> 30786 30787 * include/xapian/document.h: Clearer documentation comments. 30788 30789Thu Apr 21 15:03:42 BST 2005 Olly Betts <olly@survex.com> 30790 30791 * docs/overview.html,include/xapian/query.h: Removed lingering 30792 references to OP_WEIGHT_CUTOFF. 30793 30794Thu Apr 21 01:46:51 BST 2005 Olly Betts <olly@survex.com> 30795 30796 * PLATFORMS: Added success report for Ubuntu 5.04 on x86_64. 30797 30798Mon Apr 18 02:54:10 BST 2005 Olly Betts <olly@survex.com> 30799 30800 * docs/stemming.html: Stemming appears to be applicable to Japanese 30801 so don't say it isn't! 30802 30803Sat Apr 16 01:08:22 BST 2005 Olly Betts <olly@survex.com> 30804 30805 * PLATFORMS: Updated from tinderbox. 30806 30807Fri Apr 15 23:18:58 BST 2005 Olly Betts <olly@survex.com> 30808 30809 * languages/: Remove lingering .c versions of snowball generated 30810 sources. 30811 30812Fri Apr 15 02:05:27 BST 2005 Olly Betts <olly@survex.com> 30813 30814 * include/xapian/queryparser.h,queryparser/queryparser_internal.h, 30815 queryparser/queryparser.cc: Implemented QueryParser::set_database() 30816 method. 30817 * queryparser/queryparser.lemony: Allow searches for C#, etc. If a 30818 database has been set, for this and + and - suffixes, check if the 30819 term actually exists, and if not, ignore the suffix if the 30820 unsuffixed term exists. 30821 * tests/queryparsertest.cc: Added tests for # suffix. 30822 30823Thu Apr 14 23:39:57 BST 2005 Olly Betts <olly@survex.com> 30824 30825 * include/xapian/stem.h: Rewritten with better documentation comments. 30826 * include/xapian/stem.h: Added operator() as preferred alternative 30827 to stem_word(). 30828 * api/omstem.cc,include/xapian/stem.h: Simplified by restructuring 30829 to eliminate a few internal methods. 30830 30831Thu Apr 14 23:35:47 BST 2005 Olly Betts <olly@survex.com> 30832 30833 * queryparser/queryparser.cc: Make get_description() debug tracing 30834 message category INTRO not API. 30835 30836Thu Apr 14 19:57:06 BST 2005 Olly Betts <olly@survex.com> 30837 30838 * include/xapian/queryparser.h,queryparser/queryparser.cc: Added 30839 QueryParser::get_description() method (not very descriptive yet!) 30840 30841Thu Apr 14 03:30:09 BST 2005 Olly Betts <olly@survex.com> 30842 30843 * include/xapian/queryparser.h: Fixed to only include the xapian 30844 headers we actually depend on. 30845 * include/xapian/queryparser.h: Added \file and \brief documentation 30846 comments. 30847 30848Thu Apr 14 02:50:36 BST 2005 Olly Betts <olly@survex.com> 30849 30850 * examples/quest.cc,include/xapian.h,tests/queryparsertest.cc: 30851 Change xapian.h to automatically include xapian/queryparser.h 30852 and fix direct includes of xapian/queryparser.h in tests and 30853 examples. 30854 30855Thu Apr 14 01:48:39 BST 2005 Olly Betts <olly@survex.com> 30856 30857 * include/xapian/queryparser.h: Added Xapian::SimpleStopper which 30858 should be sufficient for the majority of uses. 30859 * include/xapian/queryparser.h,queryparser/queryparser_internal.h, 30860 queryparser/queryparser.cc: Changed QueryParser::set_stopper() to 30861 take a const pointer. 30862 30863Thu Apr 07 15:57:15 BST 2005 Olly Betts <olly@survex.com> 30864 30865 * api/omenquire.cc,common/omenquireinternal.h,common/multimatch.h, 30866 matcher/multimatch.cc,net/socketserver.cc: Tidy up after sort_bands. 30867 30868Thu Apr 07 15:15:27 BST 2005 Olly Betts <olly@survex.com> 30869 30870 * api/omenquire.cc,common/,include/xapian/enquire.h, 30871 matcher/networkmatch.cc,matcher/multimatch.cc,matcher/networkmatch.h, 30872 net/socketserver.cc,net/socketclient.cc,tests/api_db.cc: 30873 Enhanced Enquire sorting API and added ability to reverse sort on 30874 a value. 30875 * api/omenquire.cc: Enquire::get_description() now includes output of 30876 Enquire::Internal::get_description(). 30877 30878Thu Apr 07 13:55:56 BST 2005 Olly Betts <olly@survex.com> 30879 30880 * HACKING: Fixed a typo. 30881 30882Thu Apr 07 13:37:02 BST 2005 Olly Betts <olly@survex.com> 30883 30884 * backends/quartz/btree.cc,backends/quartz/btree.h, 30885 bin/quartzcompact.cc: The "fuller compaction" code needs changes 30886 to btree.h which I'd failed to check in. Also document --fuller 30887 in 'quartzcompact --help'. 30888 30889Thu Apr 07 03:35:36 BST 2005 Olly Betts <olly@survex.com> 30890 30891 * bin/quartzcompact.cc: Added "fuller compaction" mode, which ignores 30892 the usual "at least 4 items per block" rule. 30893 30894Thu Apr 07 03:28:32 BST 2005 Olly Betts <olly@survex.com> 30895 30896 * PLATFORMS: Added success result for GCC 3.2.3 on FreeBSD 4.8; fixed 30897 a typo. 30898 30899Wed Apr 06 23:04:15 BST 2005 Olly Betts <olly@survex.com> 30900 30901 * queryparser/queryparser.lemony: Added FIXME comment. 30902 30903Wed Apr 06 22:52:53 BST 2005 Olly Betts <olly@survex.com> 30904 30905 * ./: Removed ylwrap from svn:ignore. 30906 30907Tue Apr 05 22:34:16 BST 2005 Olly Betts <olly@survex.com> 30908 30909 * queryparser/queryparsertest.cc,queryparser/Makefile.am, 30910 tests/Makefile.am: Moved queryparsertest into tests/. 30911 30912Tue Apr 05 22:15:05 BST 2005 Olly Betts <olly@survex.com> 30913 30914 * examples/: Updated svn:ignore property. 30915 30916Tue Apr 05 21:34:13 BST 2005 Olly Betts <olly@survex.com> 30917 30918 * queryparser/Makefile.am,configure.ac,extra/xapian/queryparser.h, 30919 extra/,include/Makefile.am,Makefile.am: Move extra/ to queryparser/; 30920 Merge extra/xapian/ into include/xapian/. 30921 30922Tue Apr 05 16:37:32 BST 2005 Olly Betts <olly@survex.com> 30923 30924 * m4/xapian.m4: Fix m4 quoting (argh!) 30925 30926Tue Apr 05 16:28:06 BST 2005 Olly Betts <olly@survex.com> 30927 30928 * m4/xapian.m4: Fix XO_LIB_XAPIAN to trim off any _svn6789 from 30929 XAPIAN_VERSION. 30930 30931Tue Apr 05 16:17:31 BST 2005 Olly Betts <olly@survex.com> 30932 30933 * configure.ac: Fix m4 quoting. 30934 30935Tue Apr 05 15:16:38 BST 2005 Olly Betts <olly@survex.com> 30936 30937 * configure.ac: #define VERSION in version.h shouldn't include any 30938 _svn6789 suffix. 30939 30940Tue Apr 05 13:28:23 BST 2005 Olly Betts <olly@survex.com> 30941 30942 * configure.ac: Snapshot generator now appends _svn6789 or similar to 30943 the version string, so take that into account when finding REVISION. 30944 30945Tue Apr 05 12:55:52 BST 2005 Olly Betts <olly@survex.com> 30946 30947 * ChangeLog.examples,Makefile.am,examples/ChangeLog: Move 30948 xapian-examples ChangeLog to ChangeLog.examples in the top-level 30949 and include in the tarball. 30950 30951Tue Apr 05 02:18:08 BST 2005 Olly Betts <olly@survex.com> 30952 30953 * examples/dir_contents,examples/README: Converted xapian-examples 30954 README into a dir_contents file. 30955 30956Tue Apr 05 02:12:31 BST 2005 Olly Betts <olly@survex.com> 30957 30958 * docs/overview.html,docs/install.html,configure.ac,Makefile.am, 30959 xapian.spec.in,examples/Makefile.am: Moved xapian-examples module 30960 to examples subdirectory of xapian-core. 30961 30962Tue Apr 05 00:37:05 BST 2005 Olly Betts <olly@survex.com> 30963 30964 * m4/.cvsignore,debian/.cvsignore,matcher/.cvsignore,docs/.cvsignore, 30965 tests/.cvsignore,bin/.cvsignore,.cvsignore,autoconf/.cvsignore, 30966 extra/.cvsignore,include/xapian/.cvsignore,include/.cvsignore, 30967 net/.cvsignore,common/.cvsignore,testsuite/.cvsignore, 30968 getopt/.cvsignore,languages/.cvsignore,api/.cvsignore, 30969 backends/inmemory/.cvsignore,backends/muscat36/.cvsignore, 30970 backends/net/.cvsignore,backends/quartz/.cvsignore, 30971 backends/multi/.cvsignore,backends/.cvsignore: Remove .cvsignore 30972 files, as they're not used by SVN. 30973 30974Thu Mar 10 01:48:20 GMT 2005 Olly Betts <olly@survex.com> 30975 30976 * testsuite/backendmanager.cc,testsuite/index_utils.cc, 30977 testsuite/index_utils.h: Rewrite of index_utils code, removing 30978 unused and unusual features. 30979 * tests/testdata/: Cleaned up data for apitest now that paragraphs 30980 don't have the odd minimum number of lines! 30981 * tests/testdata/apitest_space.txt: New index_utils code has C-like 30982 \ escapes for control characters rather than ^ escapes. 30983 30984Wed Mar 09 22:04:08 GMT 2005 Olly Betts <olly@survex.com> 30985 30986 * common/utils.h: Added C_isxdigit and C_isnotxdigit. 30987 30988Wed Mar 09 15:22:35 GMT 2005 Olly Betts <olly@survex.com> 30989 30990 * testsuite/index_utils.cc: Fixed ^x to actually decode hex values 30991 correctly. 30992 30993Tue Mar 08 16:57:25 GMT 2005 Olly Betts <olly@survex.com> 30994 30995 * matcher/multimatch.cc: Minor code tidy. 30996 30997Tue Mar 08 15:48:38 GMT 2005 Olly Betts <olly@survex.com> 30998 30999 * api/omenquire.cc,docs/matcherdesign.html,include/xapian/enquire.h, 31000 matcher/multimatch.cc,tests/api_db.cc: Removed sort_bands support. 31001 31002Tue Mar 08 04:13:03 GMT 2005 Olly Betts <olly@survex.com> 31003 31004 * bin/quartzcompact.cc: Fixed to add items for all tables in key order 31005 which produces results around 40% more compact (previously in the 31006 merge case, this was only happening for the postlist table). 31007 31008Tue Mar 08 03:30:06 GMT 2005 Olly Betts <olly@survex.com> 31009 31010 * testsuite/btreecheck.cc: Make default check output fit on a single 31011 line (at least for many databases). 31012 31013Tue Mar 08 02:34:41 GMT 2005 Olly Betts <olly@survex.com> 31014 31015 * matcher/multimatch.cc: Fix warning from newer versions of GCC. 31016 31017Sat Mar 05 00:25:07 GMT 2005 Olly Betts <olly@survex.com> 31018 31019 * api/omenquire.cc,common/omenquireinternal.h,include/xapian/enquire.h, 31020 matcher/multimatch.cc,tests/api_db.cc: Fixed Xapian::RSet to have 31021 the same "it's a handle" copy semantics as most of the other 31022 classes. 31023 31024Sat Mar 05 00:23:47 GMT 2005 Olly Betts <olly@survex.com> 31025 31026 * testsuite/testsuite.h: Fixed TEST_EQUAL_DOUBLE to use DBL_EPSILON 31027 correctly. 31028 31029Fri Mar 04 21:06:38 GMT 2005 Olly Betts <olly@survex.com> 31030 31031 * tests/testdata/etext.txt: Stripped carriage returns. 31032 31033Fri Mar 04 21:04:25 GMT 2005 Olly Betts <olly@survex.com> 31034 31035 * PLATFORMS: Assorted updates. 31036 31037Thu Mar 03 01:17:07 GMT 2005 Olly Betts <olly@survex.com> 31038 31039 * bin/quartzcompact.cc: Fixed to allow compacting a single database. 31040 Fixed handling of very last term when merging postlists. 31041 31042Wed Mar 02 03:18:30 GMT 2005 Olly Betts <olly@survex.com> 31043 31044 * backends/quartz/quartz_values.cc: Values are stored in sorted order 31045 so we can stop unpacking the list once we get to one after the one 31046 we're looking for. 31047 31048Wed Mar 02 02:59:23 GMT 2005 Olly Betts <olly@survex.com> 31049 31050 * bin/quartzcheck.cc: Now checks the structure of all the tables, not 31051 just the postlist table, and cross-checks doclen values between 31052 termlist and postlist tables. Recognises "--help" option. Should 31053 now continue after an error (typically it would crash before), and 31054 counts the number of errors found. Now exits with non-zero status 31055 if any errors were found. 31056 31057Tue Mar 01 18:48:25 GMT 2005 Olly Betts <olly@survex.com> 31058 31059 * xapian.spec.in: '/usr/share' -> '%{_datadir}'. 31060 31061Tue Mar 01 16:21:07 GMT 2005 Olly Betts <olly@survex.com> 31062 31063 * tests/api_db.cc: Fixed warning from Sun's C++ compiler. 31064 31065Tue Mar 01 02:02:15 GMT 2005 Olly Betts <olly@survex.com> 31066 31067 * bin/quartzcompact.cc: Extended to allow merging several quartz 31068 databases to produce a single compact quartz database. This 31069 allows for faster building - simple index in chunks, then merge 31070 the chunks. 31071 31072Tue Mar 01 00:08:12 GMT 2005 Olly Betts <olly@survex.com> 31073 31074 * xapian.spec.in: Put the .so in the -devel package (it's only useful 31075 for linking to - the .so.* files are all that's needed at runtime). 31076 31077Tue Mar 01 00:05:25 GMT 2005 Olly Betts <olly@survex.com> 31078 31079 * Makefile.am,xapian-config.in,xapian.spec.in,extra/.cvsignore, 31080 extra/Makefile.am: Eliminated the extra library for the queryparser 31081 - it's tiny compared to the main library and having it around just 31082 complicates things. 31083 31084Mon Feb 28 23:52:19 GMT 2005 Olly Betts <olly@survex.com> 31085 31086 * tests/api_anydb.cc: More set_length() changes. 31087 31088Mon Feb 28 20:31:13 GMT 2005 Olly Betts <olly@survex.com> 31089 31090 * net/socketclient.cc,net/socketserver.cc,api/omenquire.cc, 31091 api/omquery.cc,api/omqueryinternal.cc,common/, 31092 include/xapian/enquire.h,include/xapian/query.h,matcher/: 31093 Remove Query::set_length() in favour of an optional length 31094 parameter to Enquire::set_query(). 31095 31096Mon Feb 28 15:32:32 GMT 2005 Olly Betts <olly@survex.com> 31097 31098 * api/omqueryinternal.cc,common/Makefile.am,common/deleter_vector.h: 31099 Removed deleter_vector as it's no longer used anywhere. 31100 31101Mon Feb 28 15:27:42 GMT 2005 Olly Betts <olly@survex.com> 31102 31103 * api/omquery.cc,api/omqueryinternal.cc,include/xapian/query.h, 31104 matcher/localmatch.cc,tests/api_anydb.cc,tests/api_nodb.cc: 31105 Eliminated Query::set_elite_set_size(). 31106 31107Mon Feb 28 15:15:45 GMT 2005 Olly Betts <olly@survex.com> 31108 31109 * HACKING: Note how to disable use of VALGRIND on the make check 31110 command line, or when using runtest directly. 31111 31112Mon Feb 28 13:36:07 GMT 2005 Olly Betts <olly@survex.com> 31113 31114 * common/omqueryinternal.h: Removed out-of-date commented out version 31115 of Xapian::Query::Internal. 31116 31117Mon Feb 28 13:07:42 GMT 2005 Olly Betts <olly@survex.com> 31118 31119 * backends/quartz/quartz_alltermslist.cc,tests/api_db.cc: Updated (C) 31120 dates for changes earlier this year. 31121 31122Mon Feb 28 13:04:41 GMT 2005 Olly Betts <olly@survex.com> 31123 31124 * api/omquery.cc,api/omqueryinternal.cc,include/xapian/query.h, 31125 matcher/localmatch.cc,matcher/localmatch.h,tests/api_anydb.cc, 31126 tests/api_nodb.cc,tests/api_posdb.cc: Eliminated Query::set_window 31127 in favour of an optional parameter to the constructor, with the aim 31128 of making Query objects immutable once constructed. 31129 31130Mon Feb 28 12:32:26 GMT 2005 Olly Betts <olly@survex.com> 31131 31132 * extra/queryparser.lemony: Updated 2 uses of Query::set_window(). 31133 31134Mon Feb 28 04:43:20 GMT 2005 Olly Betts <olly@survex.com> 31135 31136 * api/omquery.cc,api/omqueryinternal.cc,common/socketcommon.h, 31137 include/xapian/query.h,matcher/,tests/api_anydb.cc: 31138 Removed OP_WEIGHT_CUTOFF, since it doesn't actually seem to 31139 add useful functionality over using Enquire::set_cutoff(). 31140 31141Mon Feb 28 04:31:58 GMT 2005 Olly Betts <olly@survex.com> 31142 31143 * matcher/weightcutoffpostlist.cc: Fix updating of docid in 31144 WeightCutoffPostList - the current code works, but can end up doing 31145 lots (potentially millions) of pointless loop iterations. 31146 31147Mon Feb 28 02:57:29 GMT 2005 Olly Betts <olly@survex.com> 31148 31149 * docs/queryparser.html: Note that + and - work on phrases and 31150 bracketed expressions. 31151 31152Fri Feb 25 17:06:23 GMT 2005 Olly Betts <olly@survex.com> 31153 31154 * backends/quartz/quartz_alltermslist.cc: Fix skip_to on an allterms 31155 TermIterator to set the current term when the skip_to-ed term is 31156 in the database. 31157 * tests/api_db.cc: Add regression test for this (allterms5). 31158 31159Wed Feb 23 19:07:30 GMT 2005 Olly Betts <olly@survex.com> 31160 31161 * configure.ac: Suppress 2 Intel C++ warnings which we can't easily 31162 code around, and enable -Werror automatically with 31163 --enable-maintainer-mode. 31164 * configure.ac: Check that the C++ compiler can actually link a 31165 program. AC_LANG_CXX doesn't, and if it can't find a C++ compiler 31166 it'll just return "g++" which just leads to a later configure 31167 test failing in a confusing way. 31168 31169Tue Feb 22 13:39:07 GMT 2005 Olly Betts <olly@survex.com> 31170 31171 * include/xapian/enquire.h: Improved documentation comments. 31172 * api/omenquire.cc,include/xapian/enquire.h: MSet::max_size() (which 31173 only exists so that MSet is an STL compiler) now returns 31174 MSet::size() and is inlined from the header. 31175 * include/xapian/enquire.h: Added ESet::max_size() (for STL 31176 compatibility). 31177 31178Tue Feb 22 00:18:33 GMT 2005 Olly Betts <olly@survex.com> 31179 31180 * configure.ac: corrected "none known for yes" or "none known for no" 31181 to "none known for g++-3.2" or similar. 31182 * configure.ac: autoconf identifies Intel's C++ compiler as GCC, so 31183 probe for which it actually is. 31184 31185Mon Feb 21 21:54:29 GMT 2005 Olly Betts <olly@survex.com> 31186 31187 * PLATFORMS: Updated. 31188 31189Mon Feb 21 16:06:32 GMT 2005 Olly Betts <olly@survex.com> 31190 31191 * PLATFORMS: Added success report for Intel C++ 8.1 on ia64 Linux 31192 (and also GCC 3.2.3 on ia64 Linux). 31193 31194Mon Feb 21 05:33:46 GMT 2005 Olly Betts <olly@survex.com> 31195 31196 * backends/multi/: Don't delare methods in headers if they're virtual 31197 or large. 31198 31199Mon Feb 21 04:11:23 GMT 2005 Olly Betts <olly@survex.com> 31200 31201 * backends/inmemory/inmemory_database.cc, 31202 backends/inmemory/inmemory_database.h: Don't delare methods in 31203 headers if they're virtual or large. 31204 31205Sun Feb 20 21:13:40 GMT 2005 Olly Betts <olly@survex.com> 31206 31207 * common/multimatch.h: Removed unused "class SocketServer;". 31208 31209Sun Feb 20 19:47:01 GMT 2005 Olly Betts <olly@survex.com> 31210 31211 * net/socketserver.cc: Fixed typo in debug code. 31212 31213Sat Feb 19 18:44:17 GMT 2005 Olly Betts <olly@survex.com> 31214 31215 * PLATFORMS: Added minimal testcase which fails to compile with 31216 Compaq's C++ compiler (cxx). 31217 31218Sat Feb 19 04:23:51 GMT 2005 Olly Betts <olly@survex.com> 31219 31220 * backends/quartz/btree.cc,backends/quartz/btree.h: Change 31221 Btree::find_in_block to take a bool indicating if this is a leaf 31222 block rather than an offset to subtract when it is. 31223 31224Fri Feb 18 04:27:16 GMT 2005 Olly Betts <olly@survex.com> 31225 31226 * HACKING: Added better description of how reference-counted API 31227 classes are structured. 31228 * include/xapian/postingiterator.h,include/xapian/termiterator.h: 31229 More (and better) documentation comments. 31230 31231Fri Feb 18 03:05:40 GMT 2005 Olly Betts <olly@survex.com> 31232 31233 * backends/quartz/btree.cc: Made full compaction a tiny bit more 31234 compact. Improved compaction by a few % in non-full case. 31235 Tighter bound on amount of memory to reserve to read the tag 31236 into. 31237 31238Fri Feb 18 00:47:41 GMT 2005 Olly Betts <olly@survex.com> 31239 31240 * api/omenquire.cc: Removed duplicate "#include <xapian/enquire.h>". 31241 31242Thu Feb 17 01:33:01 GMT 2005 Olly Betts <olly@survex.com> 31243 31244 * extra/queryparser_internal.h: Further Sun C++ fixes. 31245 31246Wed Feb 16 05:32:40 GMT 2005 Olly Betts <olly@survex.com> 31247 31248 * extra/queryparser.lemony: Attempted fix for Sun's C++ compiler. 31249 31250Tue Feb 15 02:10:35 GMT 2005 Olly Betts <olly@survex.com> 31251 31252 * extra/queryparser.cc,extra/queryparser.lemony, 31253 extra/queryparser_internal.h: Fixed namespace stuff to keep Sun's C++ 31254 compiler happy. 31255 31256Mon Feb 14 21:21:08 GMT 2005 Olly Betts <olly@survex.com> 31257 31258 * api/vectortermlist.h: Workaround a shortcoming in Sun's C++ 31259 compiler. 31260 31261Mon Feb 14 21:16:05 GMT 2005 Olly Betts <olly@survex.com> 31262 31263 * PLATFORMS: Results from upgraded sourceforge x86_64 box. 31264 31265Mon Feb 14 18:36:40 GMT 2005 Olly Betts <olly@survex.com> 31266 31267 * extra/xapian/queryparser.h: Fixed compilation error. 31268 31269Mon Feb 14 18:00:12 GMT 2005 Olly Betts <olly@survex.com> 31270 31271 * extra/xapian/queryparser.h: Added backward compatibility wrapper for 31272 old version of QueryParser::set_stemming_options(). 31273 31274Mon Feb 14 17:50:47 GMT 2005 Olly Betts <olly@survex.com> 31275 31276 * extra/xapian/queryparser.h: Added dummy QueryParser::set_database() 31277 (currently it ignores the parameter). 31278 31279Mon Feb 14 15:34:13 GMT 2005 Olly Betts <olly@survex.com> 31280 31281 * extra/lemon.c: C90, not C99! 31282 31283Mon Feb 14 15:20:11 GMT 2005 Olly Betts <olly@survex.com> 31284 31285 * extra/lemon.c: C, not C++. 31286 31287Mon Feb 14 05:49:50 GMT 2005 Olly Betts <olly@survex.com> 31288 31289 * extra/: Tweak lemon so we can avoid generating files in builddir 31290 in a VPATH build. 31291 31292Mon Feb 14 02:44:17 GMT 2005 Olly Betts <olly@survex.com> 31293 31294 * extra/Makefile.am: Update to reflect lempar.c -> queryparser.lt. 31295 31296Mon Feb 14 02:25:53 GMT 2005 Olly Betts <olly@survex.com> 31297 31298 * extra/lempar.c,extra/queryparser.lt: Rename lemon template to .lt 31299 which is more sensible than calling it lempar.c and should work 31300 with VPATH builds. 31301 31302Mon Feb 14 02:12:51 GMT 2005 Olly Betts <olly@survex.com> 31303 31304 * extra/Makefile.am: Fixes for VPATH builds. 31305 31306Mon Feb 14 01:43:59 GMT 2005 Olly Betts <olly@survex.com> 31307 31308 * configure.ac: Need to AC_SUBST(CC_FOR_BUILD). 31309 31310Mon Feb 14 00:19:45 GMT 2005 Olly Betts <olly@survex.com> 31311 31312 * extra/Makefile.am: Added dependency for building queryparser.h. 31313 31314Sun Feb 13 23:30:02 GMT 2005 Olly Betts <olly@survex.com> 31315 31316 * extra/queryparser.cc,extra/queryparser_internal.h, 31317 extra/xapian/queryparser.h: Fixed to compile with GCC 3.3. 31318 31319Sun Feb 13 23:09:15 GMT 2005 Olly Betts <olly@survex.com> 31320 31321 * configure.ac: Enhanced valgrind test to (a) see if --tool=memcheck 31322 is needed and (b) see if valgrind actually works (we don't want to 31323 try to use an x86 valgrind on an x86_64 box). 31324 31325Mon Jan 17 03:21:29 GMT 2005 Olly Betts <olly@survex.com> 31326 31327 * api/vectortermlist.h,extra/,extra/xapian/queryparser.h: Rewritten 31328 QueryParser class. Uses Lemon instead of Bison to generate the 31329 parser, which enables us to stop using static data, so this class 31330 is at last reentrant. It now uses a PIMPL style with reference 31331 counted internals like most of the other Xapian classes. And 31332 direct access to member variables has gone, which unfortunately 31333 forces an API change (bug #39). The rewrite also supports more 31334 features than the original did. 31335 * HACKING,configure.ac: No longer need Bison. 31336 * configure.ac: Need CC_FOR_BUILD to compile Lemon with. 31337 31338Mon Jan 17 02:40:40 GMT 2005 Olly Betts <olly@survex.com> 31339 31340 * PLATFORMS: IRIX + SGI C++ now compiles with just two warnings - 31341 unused variables in Snowball generated code. 31342 31343Sun Jan 16 03:19:56 GMT 2005 Olly Betts <olly@survex.com> 31344 31345 * xapian.spec.in: Don't say "%makeinstall" in a comment since rpm 31346 tries to expand it and explodes. 31347 31348Sat Jan 15 03:30:33 GMT 2005 Olly Betts <olly@survex.com> 31349 31350 * docs/Makefile.am: Clearer rules for making Postscript doxygen docs. 31351 31352Sat Jan 15 02:45:19 GMT 2005 Olly Betts <olly@survex.com> 31353 31354 * HACKING: Note that '#include <limits>' isn't supported by GCC 2.95, 31355 and other assorted minor tweaks. 31356 31357Sat Jan 08 16:09:10 GMT 2005 Olly Betts <olly@survex.com> 31358 31359 * api/maptermlist.h,backends/inmemory/inmemory_database.h, 31360 backends/quartz/quartz_postlist.h,common/,matcher/localmatch.h, 31361 matcher/mergepostlist.h,matcher/phrasepostlist.h,net/progclient.cc: 31362 Fixes for SGI C++ warnings. 31363 31364Fri Jan 7 13:02:49 GMT 2005 Richard Boulton <richard@tartarus.org> 31365 31366 * common/positionlist.h: Correct out-of-date documentation comment. 31367 31368Tue Jan 04 03:05:26 GMT 2005 Olly Betts <olly@survex.com> 31369 31370 * matcher/multimatch.cc: Removed unnecessary class declaration. 31371 31372Tue Jan 04 03:02:02 GMT 2005 Olly Betts <olly@survex.com> 31373 31374 * configure.ac: Automatically enable ANSI C++ mode for SGI's compiler 31375 with '-LANG:std'; check that any automatically determined flags 31376 for ANSI C++ mode actually allow us to compile a trivial program 31377 - if they don't it probably means the compiler isn't the one we 31378 were expecting, but one installed with the same name, so we now 31379 drop the flags in this case. 31380 31381Thu Dec 30 00:50:58 GMT 2004 Olly Betts <olly@survex.com> 31382 31383 * extra/queryparser.yy: QueryParser::parse_query() was failing to 31384 clear termlist and unstem. 31385 31386Fri Dec 24 00:07:28 GMT 2004 Olly Betts <olly@survex.com> 31387 31388 * PLATFORMS: Updated from tinderbox. 31389 31390Thu Dec 23 21:13:46 GMT 2004 Olly Betts <olly@survex.com> 31391 31392 * backends/quartz/btree.cc: Fixed GCC compilation warning. 31393 31394Thu Dec 23 17:22:15 GMT 2004 Olly Betts <olly@survex.com> 31395 31396 * INSTALL,README: Updated. 31397 * README: Don't quote chunks of the GPL - just refer people to the 31398 full text in COPYING. 31399 31400Thu Dec 23 16:55:03 GMT 2004 Olly Betts <olly@survex.com> 31401 31402 * NEWS,PLATFORMS,configure.ac: Updated for 0.8.5 release. 31403 31404Tue Dec 21 13:26:55 GMT 2004 Olly Betts <olly@survex.com> 31405 31406 * docs/quickstart.html: Improved wording. 31407 31408Tue Dec 21 13:03:06 GMT 2004 Olly Betts <olly@survex.com> 31409 31410 * HACKING: Updated to reflect extra jobs which cvs-tag-release now 31411 does. 31412 31413Mon Dec 20 16:25:21 GMT 2004 Olly Betts <olly@survex.com> 31414 31415 * bin/Makefile.am: quartzcompact now uses getopt, so need to link 31416 it in our version to build on non-glibc platforms. 31417 31418Mon Dec 20 16:23:28 GMT 2004 Olly Betts <olly@survex.com> 31419 31420 * backends/quartz/btree.cc: Added comment noting why we can't 31421 truncate separating keys at higher levels. 31422 31423Thu Dec 16 14:46:28 GMT 2004 Olly Betts <olly@survex.com> 31424 31425 * HACKING: Fixed a typo, and improved wording. 31426 31427Mon Dec 13 02:52:52 GMT 2004 Olly Betts <olly@survex.com> 31428 31429 * backends/multi/multi_postlist.cc: Updated (C) date. 31430 31431Mon Dec 13 02:50:44 GMT 2004 Olly Betts <olly@survex.com> 31432 31433 * languages/: Added missing '#include <config.h>' to .cc files 31434 (probably harmless, but it should be included as the first thing any 31435 source file does). 31436 31437Mon Dec 13 02:21:28 GMT 2004 Olly Betts <olly@survex.com> 31438 31439 * bin/quartzdump.cc: Mark the long options as const. 31440 31441Mon Dec 13 02:20:08 GMT 2004 Olly Betts <olly@survex.com> 31442 31443 * bin/quartzcompact.cc: Tables sizes will always be a whole number of 31444 Kbytes, since the blocksize is, so report the size in K. Also 31445 report the change in size as well as the before and after sizes. 31446 31447Mon Dec 13 02:11:59 GMT 2004 Olly Betts <olly@survex.com> 31448 31449 * common/netutils.cc: Added missing '#include <config.h>' (probably 31450 harmless, but it should be included as the first thing any source 31451 file does). 31452 31453Mon Dec 13 01:39:53 GMT 2004 Olly Betts <olly@survex.com> 31454 31455 * backends/quartz/btree.cc,backends/quartz/btree.h: Renamed 31456 Btree::compress() to Btree::compact() for consistency with 31457 "full_compaction" and "quartzcompact". Also, "compress" is 31458 confusing since use "compact" and we use that term in the zlib 31459 patch. 31460 * backends/quartz/btree.cc: When full_compaction is enabled, don't 31461 fill the last few bytes of a block if that would mean we needed 31462 an extra item and the overhead for that item would use up more 31463 of the next block than we save. This reduces the table size 31464 after full compaction by up to 0.2% in my tests! 31465 31466Mon Dec 13 01:39:02 GMT 2004 Olly Betts <olly@survex.com> 31467 31468 * backends/multi/multi_postlist.cc: Fixed to build with AssertParanoid 31469 enabled. 31470 31471Mon Dec 13 00:41:28 GMT 2004 Olly Betts <olly@survex.com> 31472 31473 * bin/quartzcompact.cc: Added missing '#include <config.h>' so that 31474 largefile support is enabled and we report compression statistics 31475 for tables > 2G. 31476 * bin/quartzcompact.cc: Added --no-full / -n option to disable full 31477 compaction. This may be useful if you want to update the database 31478 after compacting it (need to test to see if this option is actually 31479 useful). 31480 31481Sun Dec 12 21:26:27 GMT 2004 Olly Betts <olly@survex.com> 31482 31483 * xapian-config.in: Previous attempted fix to --libs output was wrong 31484 - made it actually work. 31485 31486Sun Dec 12 21:24:44 GMT 2004 Olly Betts <olly@survex.com> 31487 31488 * xapian.spec.in: %makeinstall puts the wrong paths in the .la files 31489 so use "make DESTDIR=... install" instead. 31490 31491Wed Dec 08 15:59:44 GMT 2004 Olly Betts <olly@survex.com> 31492 31493 * NEWS: Bumped the 0.8.4 release date. 31494 31495Wed Dec 08 15:32:46 GMT 2004 Olly Betts <olly@survex.com> 31496 31497 * xapian-config.in: Make sure that --libs output doesn't include 31498 libxapian.la (from libxapianqueryparser.la's dependencies). 31499 31500Tue Dec 07 18:18:26 GMT 2004 Olly Betts <olly@survex.com> 31501 31502 * backends/quartz/quartz_log.cc: Fixed to compile on mingw. 31503 31504Tue Dec 07 15:57:44 GMT 2004 Olly Betts <olly@survex.com> 31505 31506 * NEWS: Updated. 31507 * api/omdatabase.cc,backends/database.cc,bin/omtcpsrv.cc, 31508 common/database.h,docs/,include/xapian/database.h,tests/api_db.cc: 31509 Added constructors to Database and WritableDatabase which fulfil the 31510 role that the Auto::open() factory functions currently do. 31511 Auto::open() is now deprecated. 31512 * api/,backends/inmemory/inmemory_database.cc, 31513 backends/quartz/quartz_database.cc,backends/quartz/quartz_postlist.h, 31514 common/expandweight.h,common/stats.h,include/xapian.h: 31515 #include <xapian.h> no longer pulls in xapian/output.h - this 31516 removes the external ability to write a Xapian object to an 31517 ostream directly, as it's little used and potentially dangerous 31518 ('cout << mset[i];' will compile, but you almost certainly meant 31519 'cout << *mset[i];'). You can get the old effect by writing 31520 'cout << obj->get_description();' instead of 'cout << obj;'. 31521 Adjusted all the library sources which relied on xapian/output.h 31522 pulling in various other xapian/ headers. 31523 * backends/muscat36/da_database.cc,backends/muscat36/db_database.cc: 31524 Debug output tweaks. 31525 * common/emptypostlist.h,matcher/mergepostlist.cc,matcher/multimatch.cc: 31526 Added EmptyPostList::get_maxweight() which always returns 0, so you 31527 no longer need to explicitly set a weighting scheme on an 31528 EmptyPostList. 31529 * common/omdebug.h: Only include omstringstream.h if 31530 XAPIAN_DEBUG_VERBOSE is in effect. 31531 * extra/Makefile.am: queryparsertest needs to link to libxapian.la 31532 explicitly. 31533 * net/progclient.cc: Whitespace tweak. 31534 * testsuite/: Eliminated barely used sources indexer.h, 31535 textfile_indexer.h, and textfile_indexer.cc. 31536 * testsuite/backendmanager.cc: Removed unused functions 31537 make_strvec() and index_file_to_database(). 31538 31539Wed Dec 01 07:15:46 GMT 2004 Olly Betts <olly@survex.com> 31540 31541 * PLATFORMS: SF CF x86_64 machine no longer needs --disable-shared. 31542 31543Tue Nov 30 21:53:33 GMT 2004 Olly Betts <olly@survex.com> 31544 31545 * NEWS,PLATFORMS,configure.ac: Updated for 0.8.4 release. 31546 31547Tue Nov 30 03:07:43 GMT 2004 Olly Betts <olly@survex.com> 31548 31549 * configure.ac,backends/database.cc,backends/quartz/bcursor.cc, 31550 backends/quartz/quartz_database.cc, 31551 backends/quartz/quartz_postlist.cc,common/omassert.h, 31552 common/omdebug.cc,common/omdebug.h,docs/doxygen_full_conf.in, 31553 matcher/localmatch.cc,matcher/multimatch.cc,matcher/stats.cc, 31554 tests/apitest.cc,tests/btreetest.cc,testsuite/backendmanager.cc, 31555 testsuite/backendmanager.h,testsuite/testsuite.cc: Rename all the 31556 MUS_xxx defines to XAPIAN_xxx. 31557 31558Tue Nov 30 02:36:33 GMT 2004 Olly Betts <olly@survex.com> 31559 31560 * configure.ac,backends/quartz/btree.cc: Get configure to probe for 31561 the prototypes (if any) needed for pread and pwrite. 31562 31563Tue Nov 30 01:09:26 GMT 2004 Olly Betts <olly@survex.com> 31564 31565 * backends/quartz/btree.cc: Instead of trying to coax pread/pwrite 31566 prototypes out of the system headers, let's try just providing our 31567 own! 31568 31569Mon Nov 29 19:51:13 GMT 2004 Olly Betts <olly@survex.com> 31570 31571 * extra/Makefile.am: Moved -no-undefined to the right place, plus we 31572 also need to pass @ldflags@ and ../libxapian.la in 31573 libxapianqueryparser_la_LIBADD. 31574 31575Mon Nov 29 18:28:57 GMT 2004 Olly Betts <olly@survex.com> 31576 31577 * AUTHORS: Updated. 31578 31579Mon Nov 29 18:27:12 GMT 2004 Olly Betts <olly@survex.com> 31580 31581 * extra/Makefile.am: Added -no-undefined to 31582 libxapianqueryparser_la_LDFLAGS so it builds on mingw. 31583 31584Mon Nov 29 17:46:54 GMT 2004 Olly Betts <olly@survex.com> 31585 31586 * tests/Makefile.am: Don't try to run "runtest" as a test - it just 31587 needs to be a dependency of the tests. 31588 31589Sat Nov 27 02:58:28 GMT 2004 Olly Betts <olly@survex.com> 31590 31591 * backends/inmemory/dir_contents: Trimmed whitespace. 31592 31593Sat Nov 27 02:05:51 GMT 2004 Olly Betts <olly@survex.com> 31594 31595 * NEWS: Updated ready for 0.8.4 release. 31596 31597Sat Nov 27 02:03:40 GMT 2004 Olly Betts <olly@survex.com> 31598 31599 * tests/Makefile.am: Added a dependency so "make check" regenerates 31600 runtest if necessary. 31601 31602Sat Nov 27 02:02:58 GMT 2004 Olly Betts <olly@survex.com> 31603 31604 * AUTHORS: Updated. 31605 31606Sat Nov 27 01:59:18 GMT 2004 Olly Betts <olly@survex.com> 31607 31608 * README: Minor tweak. 31609 31610Sat Nov 27 01:58:53 GMT 2004 Olly Betts <olly@survex.com> 31611 31612 * configure.ac: Improved a couple of comments. 31613 31614Sat Nov 27 01:42:32 GMT 2004 Olly Betts <olly@survex.com> 31615 31616 * docs/: Trimmed trailing whitespace. 31617 31618Sat Nov 27 01:41:33 GMT 2004 Olly Betts <olly@survex.com> 31619 31620 * docs/stemming.html: Reworded text from BrightStation times which 31621 talked about "the open source release". 31622 31623Fri Nov 26 17:32:55 GMT 2004 Olly Betts <olly@survex.com> 31624 31625 * docs/indexerquickstart.html: Removed dead documentation. 31626 31627Fri Nov 26 17:11:19 GMT 2004 Olly Betts <olly@survex.com> 31628 31629 * PLATFORMS: Updated with new cygwin report. 31630 31631Fri Nov 26 17:07:21 GMT 2004 Olly Betts <olly@survex.com> 31632 31633 * tests/api_anydb.cc,tests/api_nodb.cc,docs/bm25.html, 31634 include/xapian/enquire.h,matcher/bm25weight.cc: Renamed BM25 31635 parameters to match standard naming in papers and elsewhere 31636 (A->k3, B->k1, C->k2, D->b), eliminated the extra factor of 2 31637 which our C had, and reordered the parameters to k1, k2, k3. 31638 This is an incompatible API change for BM25Weight(), so if 31639 you are using custom parameters for BM25 you'll need to 31640 update your code. 31641 31642Fri Nov 26 15:20:16 GMT 2004 Olly Betts <olly@survex.com> 31643 31644 * tests/runtest.in: Allow VALGRIND environmental variable to override 31645 the value we got from configure. 31646 31647Fri Nov 26 03:50:36 GMT 2004 Olly Betts <olly@survex.com> 31648 31649 * matcher/bm25weight.cc,matcher/tradweight.cc: termfreq is always 31650 exact for matching (we only approximate it for query expansion) 31651 so replace code to work around bad approximations with Assert() to 31652 make sure this never happens. 31653 31654Fri Nov 26 00:19:22 GMT 2004 Olly Betts <olly@survex.com> 31655 31656 * matcher/expandweight.cc,matcher/tradweight.cc: If we estimate the 31657 term frequency, ensure it has a sane value (>= r and <= N - R + r) 31658 rather than bodging around the problem later on. 31659 31660Thu Nov 25 01:29:36 GMT 2004 Olly Betts <olly@survex.com> 31661 31662 * backends/quartz/quartz_database.cc: Fixed recent cygwin change to 31663 actually compile. 31664 31665Thu Nov 25 01:06:03 GMT 2004 Olly Betts <olly@survex.com> 31666 31667 * bin/quartzcompact.cc: Added --help and --version; Check that the 31668 source path and desitination path aren't the same; Report each table 31669 name when we start compacting it, and some simple stats on the 31670 compaction achieved when we finish. 31671 31672Tue Nov 23 16:19:09 GMT 2004 Olly Betts <olly@survex.com> 31673 31674 * configure.ac: Fixed m4 quoting problem. 31675 31676Tue Nov 23 12:47:54 GMT 2004 Olly Betts <olly@survex.com> 31677 31678 * configure.ac: Fix the test for GCC3 used to turn on -Werror with 31679 --enable-maintainer-mode. 31680 31681Mon Nov 22 03:08:10 GMT 2004 Olly Betts <olly@survex.com> 31682 31683 * PLATFORMS: Assorted updates. 31684 31685Mon Nov 22 02:15:22 GMT 2004 Olly Betts <olly@survex.com> 31686 31687 * tests/quartztest.cc: Test with DB_CREATE_OR_OPEN in writelock1. 31688 31689Mon Nov 22 01:37:13 GMT 2004 Olly Betts <olly@survex.com> 31690 31691 * common/utils.cc: define NOMINMAX as a cleaner way to prevent 31692 windows.h from polluting the namespace and colliding with ANSI C++. 31693 31694Sat Nov 20 14:36:43 GMT 2004 Olly Betts <olly@survex.com> 31695 31696 * tests/runtest.in: --logfile-fd was renamed to --log-fd in valgrind 31697 2.1.2 with no support for the old option name, so we must probe 31698 to decide which to use. 31699 31700Fri Nov 19 13:18:43 GMT 2004 Olly Betts <olly@survex.com> 31701 31702 * backends/quartz/bcursor.cc,backends/quartz/bcursor.h: Eliminated 31703 Bcursor::get_tag() - it's an internal method only used from one 31704 other method, and it now just a trivial wrapper around 31705 Btree::read_tag(). 31706 31707Fri Nov 19 04:20:39 GMT 2004 Olly Betts <olly@survex.com> 31708 31709 * backends/quartz/bcursor.cc,backends/quartz/btree.cc, 31710 backends/quartz/btree.h: Factored out near identical code from 31711 Btree::find_tag() and Bcursor::get_tag() into Btree::read_tag(). 31712 31713Thu Nov 18 03:27:52 GMT 2004 Olly Betts <olly@survex.com> 31714 31715 * backends/quartz/btree.cc: Applied the Quartz "DANGEROUS" patch, but 31716 disabled for now. This way it won't keep being broken by changes 31717 to the code. 31718 31719Tue Nov 16 04:29:25 GMT 2004 Olly Betts <olly@survex.com> 31720 31721 * backends/quartz/btree.cc: Ah, it's __sun__/__sun/sun, not 31722 __solaris__ (at least for x86 Solaris 9). 31723 31724Tue Nov 16 02:56:44 GMT 2004 Olly Betts <olly@survex.com> 31725 31726 * backends/quartz/btree.cc: Solaris defines __solaris__ not 31727 __SOLARIS__. 31728 31729Mon Nov 15 12:40:38 GMT 2004 Olly Betts <olly@survex.com> 31730 31731 * tests/api_db.cc: Added new test userweight1 to test user defined 31732 matching schemes. 31733 31734Sun Nov 14 05:20:34 GMT 2004 Olly Betts <olly@survex.com> 31735 31736 * backends/quartz/quartz_metafile.cc, 31737 backends/quartz/quartz_metafile.h: Removed unused 31738 QuartzMetaFile::erase() method. 31739 31740Sun Nov 14 04:55:05 GMT 2004 Olly Betts <olly@survex.com> 31741 31742 * backends/quartz/quartz_database.cc: For cygwin, use the underlying 31743 MoveFile API call for locking, as link() doesn't work on FAT 31744 partitions. And don't rely on HAVE_LINK to control whether we 31745 use link() otherwise - if the configure test somehow misfires, a 31746 compilation error is better than using rename() on Unix as that 31747 would cause a second writer to smash the lock of the first. 31748 31749Thu Nov 11 06:58:41 GMT 2004 Olly Betts <olly@survex.com> 31750 31751 * backends/quartz/btree.cc: Removed superfluous statement. 31752 31753Tue Nov 09 23:50:10 GMT 2004 Olly Betts <olly@survex.com> 31754 31755 * backends/quartz/btree.cc: Need to include sys/types.h to define 31756 ssize_t, size_t, and off_t before we prototype pread and pwrite 31757 for OSF. 31758 31759Tue Nov 09 22:39:00 GMT 2004 Olly Betts <olly@survex.com> 31760 31761 * backends/quartz/btree.cc: Tweaked the pread/pwrite mess to try to 31762 get it to work on OSF and x86 Solaris while not breaking it 31763 elsewhere. 31764 31765Tue Nov 09 19:29:37 GMT 2004 Olly Betts <olly@survex.com> 31766 31767 * backends/quartz/btree.cc,backends/quartz/btree.h: More refactoring. 31768 31769Tue Nov 09 17:13:10 GMT 2004 Olly Betts <olly@survex.com> 31770 31771 * backends/quartz/: More refactoring. Also rearranged the contents 31772 of the quartz and btree headers, eliminating btree_types.h in the 31773 process. 31774 31775Tue Nov 09 16:47:13 GMT 2004 Olly Betts <olly@survex.com> 31776 31777 * backends/quartz/quartz_metafile.cc: Using fdcloser is less clear in 31778 trivial cases. 31779 31780Tue Nov 09 16:38:47 GMT 2004 Olly Betts <olly@survex.com> 31781 31782 * backends/quartz/quartz_database.cc: Close the fd of the lock file 31783 before trying to rename it on Windows. 31784 31785Tue Nov 09 07:58:02 GMT 2004 Olly Betts <olly@survex.com> 31786 31787 * backends/quartz/btree.cc,backends/quartz/btree.h, 31788 backends/quartz/btree_util.h: More refactoring. 31789 31790Tue Nov 09 03:24:59 GMT 2004 Olly Betts <olly@survex.com> 31791 31792 * xapian-config.in: Added --swigflags option for use with SWIG. 31793 31794Mon Nov 08 22:54:55 GMT 2004 Olly Betts <olly@survex.com> 31795 31796 * configure.ac,xapian-config.in: If flags are needed to select ANSI 31797 mode with the current compiler, then make xapian-config --cxxflags 31798 include them so that Xapian users don't have to jump through the 31799 same hoops we do. 31800 31801Mon Nov 08 04:49:21 GMT 2004 Olly Betts <olly@survex.com> 31802 31803 * backends/inmemory/inmemory_database.cc, 31804 backends/inmemory/inmemory_database.h,backends/muscat36/, 31805 backends/net/net_database.cc,backends/quartz/quartz_database.cc, 31806 backends/quartz/quartz_database.h,common/database.h, 31807 common/net_database.h,matcher/localmatch.cc: If a database contains 31808 no positional information, change NEAR and PHRASE queries into AND 31809 queries (as otherwise they'd return no matches at all) (bug#56). 31810 * tests/api_wrdb.cc: Added feature test phraseorneartoand1. 31811 31812Mon Nov 08 04:09:04 GMT 2004 Olly Betts <olly@survex.com> 31813 31814 * configure.ac,backends/quartz/btree.cc: Improved what we do to 31815 turn on pread and pwrite declarations in unistd.h so that it works 31816 on OSF and doesn't need the HAVE_GLIBC test, yet still works on 31817 OpenBSD. 31818 31819Mon Nov 08 03:55:51 GMT 2004 Olly Betts <olly@survex.com> 31820 31821 * backends/quartz/,testsuite/btreecheck.cc: More refactoring. 31822 31823Sun Nov 07 20:42:32 GMT 2004 Olly Betts <olly@survex.com> 31824 31825 * configure.ac: One more tweak. 31826 31827Sun Nov 07 18:18:19 GMT 2004 Olly Betts <olly@survex.com> 31828 31829 * configure.ac,include/xapian/version.h.in: Another tweak to hopefully 31830 get version.h generation to work everywhere. 31831 31832Sun Nov 07 15:01:23 GMT 2004 Olly Betts <olly@survex.com> 31833 31834 * configure.ac,include/xapian/version.h.in: Terminating lines with 'N' 31835 makes Sun's C++ unhappy. Try ',' instead. 31836 31837Sun Nov 07 03:54:42 GMT 2004 Olly Betts <olly@survex.com> 31838 31839 * tests/api_nodb.cc: Added test_weight1 which tests the built-in 31840 Xapian::Weight subclasses (bug#8). 31841 31842Sun Nov 07 03:36:19 GMT 2004 Olly Betts <olly@survex.com> 31843 31844 * backends/quartz/btree.cc,backends/quartz/btree_util.h, 31845 testsuite/btreecheck.cc: More refactoring. 31846 31847Sun Nov 07 03:33:24 GMT 2004 Olly Betts <olly@survex.com> 31848 31849 * matcher/bm25weight.cc,matcher/tradweight.cc: Fixed definitions to 31850 match declarations after recent change. 31851 31852Sun Nov 07 02:33:50 GMT 2004 Olly Betts <olly@survex.com> 31853 31854 * configure.ac: Noted LIBRARY_VERSION_INFO which 0.8.4 will get. 31855 31856Sun Nov 07 02:28:38 GMT 2004 Olly Betts <olly@survex.com> 31857 31858 * include/xapian/enquire.h: BoolWeight::unserialise() returns 31859 BoolWeight*, etc. BoolWeight::clone() returns BoolWeight *. 31860 31861Sun Nov 07 02:24:17 GMT 2004 Olly Betts <olly@survex.com> 31862 31863 * HACKING: Note that C++ style casts are preferable to C style casts; 31864 Improve wording in a few places. 31865 31866Sun Nov 07 01:05:58 GMT 2004 Olly Betts <olly@survex.com> 31867 31868 * backends/quartz/btree.cc,backends/quartz/btree_util.h, 31869 testsuite/btreecheck.cc: Moved set_block_given_by() 31870 and block_given_by() into Item class. 31871 31872Sat Nov 06 21:16:15 GMT 2004 Olly Betts <olly@survex.com> 31873 31874 * configure.ac,include/xapian/version.h.in: Fix generation of 31875 version.h to work with aCC -E which concatenates adjacent literal 31876 strings. 31877 31878Sat Nov 06 20:58:00 GMT 2004 Olly Betts <olly@survex.com> 31879 31880 * backends/quartz/,testsuite/btreecheck.cc: Started to refactor the 31881 Btree manager by introducing Item and Key classes which take care 31882 of handling the on-disk format. 31883 31884Sat Nov 06 15:40:05 GMT 2004 Olly Betts <olly@survex.com> 31885 31886 * xapian-config.in,m4/xapian.m4: Pass across ac_top_srcdir and use it 31887 if provided to say "configure.ac" or "configure.in" rather than 31888 "configure.in (or configure.ac)" in the "Add AC_PROG_LIBTOOL" 31889 error message. 31890 31891Sat Nov 06 14:49:05 GMT 2004 Olly Betts <olly@survex.com> 31892 31893 * configure.ac: Updated comment - we now find SOURCEDOC in 2 goes (as 31894 there are no longer any C sources). 31895 31896Sat Nov 06 14:43:16 GMT 2004 Olly Betts <olly@survex.com> 31897 31898 * configure.ac: Oops, STLPORT_CXXFLAGS *is* used (in xapian-config.in) 31899 so revert the change which removes it. 31900 31901Sat Nov 06 13:37:23 GMT 2004 Olly Betts <olly@survex.com> 31902 31903 * include/xapian/enquire.h,matcher/bm25weight.cc, 31904 matcher/tradweight.cc: Move virtual methods of BM25Weight and 31905 TradWeight out of the header. 31906 31907Sat Nov 06 13:19:32 GMT 2004 Olly Betts <olly@survex.com> 31908 31909 * configure.ac,include/xapian/version.h.in: Another rework of how 31910 include/xapian/version.h is generated - this time to make it work 31911 with Sun's C++ compiler again; XAPIAN_VERSION is now a string; 31912 Define XAPIAN_REVISION (which is 4 for version 0.8.4). 31913 31914Sat Nov 06 04:22:57 GMT 2004 Olly Betts <olly@survex.com> 31915 31916 * configure.ac: Don't AC_SUBST(STLPORT_CXXFLAGS) as it is never used 31917 that way (it's included in AM_CXXFLAGS). 31918 31919Sat Nov 06 01:03:53 GMT 2004 Olly Betts <olly@survex.com> 31920 31921 * testsuite/testsuite.h: Removed incorrect comment about how STRINGIZE 31922 is used. 31923 31924Fri Nov 05 14:41:59 GMT 2004 Olly Betts <olly@survex.com> 31925 31926 * include/xapian/database.h: Removed a default parameter value from one 31927 variant of open_db so that there's only one candidate for 31928 open_db(string). 31929 31930Fri Nov 05 14:40:38 GMT 2004 Olly Betts <olly@survex.com> 31931 31932 * backends/database.cc: Renamed parameter from keys to values to 31933 reflect current external naming. 31934 31935Fri Nov 05 14:38:07 GMT 2004 Olly Betts <olly@survex.com> 31936 31937 * include/xapian/version.h.in,configure.ac: Fixed generation of 31938 include/xapian/version.h to work with aCC. 31939 31940Thu Nov 04 12:17:50 GMT 2004 Olly Betts <olly@survex.com> 31941 31942 * configure.ac: Try "-std strict_ansi" for Compaq C++. 31943 31944Thu Nov 04 11:22:52 GMT 2004 Olly Betts <olly@survex.com> 31945 31946 * configure.ac: Fourth argument to AC_CHECK_HEADERS must be non-empty 31947 to make a difference. 31948 31949Thu Nov 04 10:21:25 GMT 2004 Olly Betts <olly@survex.com> 31950 31951 * configure.ac: Found clean fix for inttypes.h problem (previous bodge 31952 didn't work anyway). 31953 31954Thu Nov 04 01:18:55 GMT 2004 Olly Betts <olly@survex.com> 31955 31956 * configure.ac: Eliminated use of \( \) in sed expression as it 31957 appears to cause problems on HP-UX. 31958 31959Thu Nov 04 00:54:11 GMT 2004 Olly Betts <olly@survex.com> 31960 31961 * configure.ac: Added icky workaround to Compaq C++ oddness - cc can 31962 find inttypes.h but cxx can't. 31963 31964Wed Nov 03 23:58:48 GMT 2004 Olly Betts <olly@survex.com> 31965 31966 * api/omenquire.cc,common/multimatch.h,matcher/multimatch.cc, 31967 net/socketserver.cc: Tweaked to compile with Compaq C++. 31968 31969Wed Nov 03 22:55:04 GMT 2004 Olly Betts <olly@survex.com> 31970 31971 * configure.ac: Need to put flags to select ANSI C++ mode in CXXFLAGS 31972 not AM_CXXFLAGS. 31973 31974Wed Nov 03 22:27:08 GMT 2004 Olly Betts <olly@survex.com> 31975 31976 * api/omenquire.cc: Fixed typo. 31977 31978Wed Nov 03 21:58:53 GMT 2004 Olly Betts <olly@survex.com> 31979 31980 * api/omenquire.cc: Added explicit cast to try to help Compaq C++ 31981 build. 31982 31983Wed Nov 03 21:38:29 GMT 2004 Olly Betts <olly@survex.com> 31984 31985 * configure.ac: Probe for C++ compiler switches for ANSI mode as early 31986 as possible. With Compaq's C++, we need -D__USE_STD_IOSTREAM to 31987 successfully #include <streambuf>. 31988 31989Wed Nov 03 21:07:43 GMT 2004 Olly Betts <olly@survex.com> 31990 31991 * configure.ac: Fixed snprintf configure test. 31992 31993Wed Nov 03 19:37:32 GMT 2004 Olly Betts <olly@survex.com> 31994 31995 * common/utils.cc: Fixed typo. 31996 31997Wed Nov 03 19:27:22 GMT 2004 Olly Betts <olly@survex.com> 31998 31999 * configure.ac,common/utils.cc: Improved snprintf checking. 32000 32001Wed Nov 03 15:43:54 GMT 2004 Olly Betts <olly@survex.com> 32002 32003 * getopt/getopt.cc: Fixed to compile when not using glibc. 32004 32005Wed Nov 03 14:55:29 GMT 2004 Olly Betts <olly@survex.com> 32006 32007 * bin/omtcpsrv.cc,bin/quartzdump.cc,common/Makefile.am,common/getopt.h, 32008 common/gnu_getopt.h,getopt/,testsuite/testsuite.cc: Major overhaul 32009 of getopt use. Move from getopt(), getopt_long(), getopt_long_only() 32010 to gnu_getopt(), etc so we don't need to dance around avoiding 32011 clashes with getopt() stuff in system headers. The new gnu_getopt.h 32012 header is cruft free and hopefully won't trip up assorted compilers 32013 or platforms. 32014 32015Wed Nov 03 14:53:39 GMT 2004 Olly Betts <olly@survex.com> 32016 32017 * tests/Makefile.am: quartztest doesn't use getopt directly, so no 32018 need to link it. 32019 32020Wed Nov 03 12:56:56 GMT 2004 Olly Betts <olly@survex.com> 32021 32022 * tests/stemtest.cc: Prune unused #includes. 32023 32024Wed Nov 03 03:47:46 GMT 2004 Olly Betts <olly@survex.com> 32025 32026 * getopt/getopt.cc: Defining _NO_PROTO is a really bad idea for C++ 32027 code! 32028 32029Wed Nov 03 03:34:06 GMT 2004 Olly Betts <olly@survex.com> 32030 32031 * configure.ac: Removed AC_HEADER_STDC - Compaq's C++ compiler can't 32032 find inttypes.h, but their C compiler can! 32033 32034Wed Nov 03 02:48:04 GMT 2004 Olly Betts <olly@survex.com> 32035 32036 * net/tcpclient.cc,net/tcpserver.cc: Use SOCKLEN_T for the type we 32037 need to pass to various socket calls, since HPUX defines socklen_t 32038 yet wants int in those calls. 32039 32040Wed Nov 03 02:43:26 GMT 2004 Olly Betts <olly@survex.com> 32041 32042 * autoconf/type_socklen_t.m4,matcher/networkmatch.cc,net/: If 32043 __WIN32__ is defined, we want winsock2.h instead of sys/socket.h. 32044 Mingw doesn't seem to even have the latter, so I think previously 32045 we've been compiling by picking one up from somewhere random! 32046 32047Wed Nov 03 01:10:01 GMT 2004 Olly Betts <olly@survex.com> 32048 32049 * autoconf/type_socklen_t.m4: Rewritten to work with HPUX which 32050 helpfully defines socklen_t but doesn't use it! 32051 32052Tue Nov 02 21:29:40 GMT 2004 Olly Betts <olly@survex.com> 32053 32054 * getopt/getopt.cc: Fixes for Compaq C++. 32055 32056Tue Nov 02 18:51:43 GMT 2004 Olly Betts <olly@survex.com> 32057 32058 * getopt/getopt.cc: Protect getopt definition for possible getopt 32059 macro declared in getopt.h. 32060 32061Tue Nov 02 16:52:21 GMT 2004 Olly Betts <olly@survex.com> 32062 32063 * configure.ac: AM_CONFIG_HEADER -> AC_CONFIG_HEADERS; removed 32064 commented out AC_LANG_SAVE and AC_LANG_RESTORE. 32065 32066Tue Nov 02 15:56:02 GMT 2004 Olly Betts <olly@survex.com> 32067 32068 * configure.ac: # comments -> dnl comments. 32069 32070Tue Nov 02 15:54:46 GMT 2004 Olly Betts <olly@survex.com> 32071 32072 * configure.ac: $GCC -> $GXX; $CC -> $CXX. 32073 32074Tue Nov 02 15:38:21 GMT 2004 Olly Betts <olly@survex.com> 32075 32076 * configure.ac,docs/Makefile.am: Removed SOURCEDOC_C_SRC. 32077 32078Tue Nov 02 06:51:39 GMT 2004 Olly Betts <olly@survex.com> 32079 32080 * getopt/getopt.cc,getopt/getopt1.cc: Fixed function declarations to 32081 not use K&R C syntax. 32082 32083Tue Nov 02 05:31:57 GMT 2004 Olly Betts <olly@survex.com> 32084 32085 * getopt/getopt.cc: Make _getopt_internal extern "C" too. 32086 32087Tue Nov 02 04:43:08 GMT 2004 Olly Betts <olly@survex.com> 32088 32089 * Makefile.am,configure.ac,HACKING,PLATFORMS,backends/muscat36/, 32090 getopt/Makefile.am,getopt/getopt.cc,getopt/getopt1.cc,languages/: 32091 Change the few C sources to be C++. This way we don't need to 32092 worry about configure choosing a mismatching pair of compilers, 32093 or about whether configure tests with the C compiler don't apply 32094 to the C++ compiler, or vice versa. 32095 32096Tue Nov 02 04:31:49 GMT 2004 Olly Betts <olly@survex.com> 32097 32098 * backends/muscat36/: More C casts converted to C++ casts. 32099 32100Tue Nov 02 04:28:07 GMT 2004 Olly Betts <olly@survex.com> 32101 32102 * matcher/bm25weight.cc,matcher/tradweight.cc: More C casts converted 32103 to C++ casts. 32104 32105Tue Nov 02 03:22:52 GMT 2004 Olly Betts <olly@survex.com> 32106 32107 * backends/muscat36/: Removed unused test harness sources. 32108 32109Tue Nov 02 02:44:34 GMT 2004 Olly Betts <olly@survex.com> 32110 32111 * languages/pool.c,languages/pool.h: Removed unused sources. 32112 32113Tue Nov 02 01:51:30 GMT 2004 Olly Betts <olly@survex.com> 32114 32115 * configure.ac: AC_TYPE_SIZE_T causes problems with Compaq C++ when it 32116 fails to spot size_t (which is there) and the "#define size_t 32117 unsigned long" it adds to config.h breaks "using std::size_t;". 32118 Also removed AC_C_CONST as I don't believe that's needed either 32119 in a largely C++ library. Both of these have been in configure.in 32120 since the very first version so I suspect autoscan decided we wanted 32121 them. 32122 32123Mon Nov 01 05:44:02 GMT 2004 Olly Betts <olly@survex.com> 32124 32125 * matcher/multimatch.cc: Fixed compilation problem on alpha Linux. 32126 32127Mon Nov 01 03:16:36 GMT 2004 Olly Betts <olly@survex.com> 32128 32129 * api/omqueryinternal.cc,api/omstem.cc, 32130 backends/inmemory/inmemory_database.h, 32131 backends/multi/multi_termlist.h,backends/quartz/, 32132 extra/queryparser.yy,matcher/,net/tcpserver.cc,tests/api_anydb.cc, 32133 tests/api_db.cc,tests/quartztest.cc,testsuite/backendmanager.cc, 32134 testsuite/btreecheck.cc,testsuite/testsuite.cc: Changed C style 32135 casts to C++ style. The syntax is ugly, but they do make the intent 32136 clearer which is a good thing. 32137 32138Mon Nov 01 02:56:31 GMT 2004 Olly Betts <olly@survex.com> 32139 32140 * configure.ac: Select ANSI iostream implementation for Compaq C++. 32141 32142Mon Nov 01 02:41:58 GMT 2004 Olly Betts <olly@survex.com> 32143 32144 * configure.ac: Compaq's C++ compiler doesn't know snprintf, yet their 32145 C compiler does. Let's try running *all* the configure checks with 32146 the C++ compiler, since that's what we compile most code with. 32147 32148Mon Nov 01 01:12:43 GMT 2004 Olly Betts <olly@survex.com> 32149 32150 * common/netutils.cc: Fixed to compile. 32151 32152Mon Nov 01 01:06:13 GMT 2004 Olly Betts <olly@survex.com> 32153 32154 * common/Makefile.am,common/netutils.cc,common/netutils.h: 32155 encode_tname() and decode_tname() aren't really sensible candidates 32156 for inlining so move them out of a header. 32157 32158Sun Oct 31 15:34:18 GMT 2004 Olly Betts <olly@survex.com> 32159 32160 * configure.ac: Turn on -AA when compiling with HP's aCC. 32161 32162Sun Oct 31 15:10:02 GMT 2004 Olly Betts <olly@survex.com> 32163 32164 * testsuite/testutils.cc: Fixed mset_range_is_same() and 32165 mset_range_is_same_weights() which were only comparing the 32166 first items in the range. Luckily the tests still all pass 32167 so this wasn't hiding any bugs. 32168 32169Sat Oct 30 19:15:48 BST 2004 Olly Betts <olly@survex.com> 32170 32171 * configure.ac: Disable pread/pwrite on HP-UX as they don't work when 32172 LFS in enabled, and we definitely want LFS. 32173 32174Sat Oct 30 16:42:24 BST 2004 Olly Betts <olly@survex.com> 32175 32176 * backends/quartz/bcursor.cc: Fix Bcursor::del() which didn't always 32177 leave the cursor on the next item like it should. 32178 * backends/quartz/quartz_postlist.cc: If we're removing a posting 32179 list entirely, often there will only be one chunk, so avoid 32180 creating a Bcursor in this case. 32181 32182Sat Oct 30 16:55:19 BST 2004 Olly Betts <olly@survex.com> 32183 32184 * languages/header.h: Removed unused #define MAXINT and MININT which 32185 were clashing with some header on HP-UX. 32186 32187Sat Oct 30 07:09:33 BST 2004 Olly Betts <olly@survex.com> 32188 32189 * docs/bm25.html,docs/intro_ir.html: Reworked to talk about Xapian 32190 rather than Muscat. Also improved the appearance of the formulae. 32191 32192Sat Oct 30 06:07:14 BST 2004 Olly Betts <olly@survex.com> 32193 32194 * backends/quartz/btree.cc: Btree::read_block - debug log the value 32195 of p, not the irrelevant contents of the block it points to. 32196 32197Fri Oct 29 22:37:31 BST 2004 Olly Betts <olly@survex.com> 32198 32199 * backends/quartz/quartz_postlist.cc: Improved comments. 32200 32201Fri Oct 29 05:10:02 BST 2004 Olly Betts <olly@survex.com> 32202 32203 * backends/quartz/btree.cc: Fixed ultra-obscure bug in the code which 32204 finds a key suitable to discriminating between two blocks in a 32205 B-tree branch (discovered by reading the code). Comparing the keys 32206 didn't consider the length of the second, so it is possible the code 32207 would miscompare. But in reality this is extremely unlikely to 32208 happen, and even then would probably just mean that the 32209 discriminating key wouldn't be as short as it could be. 32210 32211Fri Oct 29 04:12:09 BST 2004 Olly Betts <olly@survex.com> 32212 32213 * backends/quartz/btree.cc: Simplified Btree::compare_keys() by 32214 removing the last case which was dead code as it was covered by 32215 an earlier case. 32216 32217Wed Oct 27 21:17:12 BST 2004 Olly Betts <olly@survex.com> 32218 32219 * HACKING,tests/runtest.in: 32220 Enhanced runtest to allow it to run test programs under valgrind 32221 and other tools (gdb was already supported). 32222 * testsuite/testsuite.cc: Point the user to the runtest script if 32223 srcdir can't be guessed. And no longer look for the test program 32224 in the tests subdirectory of the current directory. 32225 * common/omdebug.cc: Removed compatibility code for checking 32226 OM_DEBUG_FILE and OM_DEBUG_TYPES. 32227 * HACKING: Document that %% in XAPIAN_DEBUG_LOG is substituted with 32228 the process-id, and that setting XAPIAN_DEBUG_FLAGS to -1 enables 32229 all debug messages. 32230 * HACKING: Valgrind now supports x86 FreeBSD and PowerPC Linux. 32231 * HACKING: Removed mentions of long-dead configure options 32232 --enable-profiling, --enable-purify and --enable-insure. 32233 32234Wed Oct 27 21:16:10 BST 2004 Olly Betts <olly@survex.com> 32235 32236 * include/xapian/enquire.h: Document parameters of 32237 Enquire::register_match_decider(). 32238 32239Wed Oct 27 21:14:32 BST 2004 Olly Betts <olly@survex.com> 32240 32241 * PLATFORMS: Updated. 32242 32243Wed Oct 13 20:21:38 BST 2004 Olly Betts <olly@survex.com> 32244 32245 * backends/quartz/btree.cc,backends/quartz/btree.h: Revert the 32246 previous change as runtime sized arrays are a g++ extension. 32247 Calling new and delete on every call to add_item() is probably 32248 unwise. 32249 32250Tue Oct 12 23:40:36 BST 2004 Olly Betts <olly@survex.com> 32251 32252 * backends/quartz/btree.cc,backends/quartz/btree.h: split_p is only 32253 used by Btree::add_item(), so make it a temporary in that method 32254 rather than a class member variable which we need to take care to 32255 allocate and deallocate. 32256 32257Mon Oct 11 16:32:10 BST 2004 Olly Betts <olly@survex.com> 32258 32259 * tests/btreetest.cc: Fix memory leaks in test_cursor1. 32260 32261Mon Oct 11 02:24:50 BST 2004 Olly Betts <olly@survex.com> 32262 32263 * docs/quartzdesign.html: Use 5 tables in the example for how we keep 32264 revisions in step, since we use 5 tables in quartz. 32265 32266Thu Oct 07 22:51:28 BST 2004 Olly Betts <olly@survex.com> 32267 32268 * backends/quartz/btree.cc: An interrupted update could cause any 32269 further updates to fail with "New revision too low" because the 32270 new revision was being calculated incorrectly - fixed. 32271 32272Wed Oct 06 15:42:31 BST 2004 Olly Betts <olly@survex.com> 32273 32274 * backends/quartz/btree.cc,include/xapian/database.h: Check that any 32275 user specified block size is a power of 2. And if the block size 32276 passed is invalid, use the default of 8192 rather than throwing an 32277 exception. 32278 32279Wed Oct 06 12:19:39 BST 2004 Olly Betts <olly@survex.com> 32280 32281 * PLATFORMS: Updated from tinderbox. 32282 32283Wed Oct 06 01:10:46 BST 2004 Olly Betts <olly@survex.com> 32284 32285 * backends/quartz/btree.cc,backends/quartz/quartz_document.cc, 32286 matcher/multimatch.cc,common/multimatch.h: Fix some warnings 32287 from Sun's C++ compiler. 32288 32289Thu Sep 30 22:16:37 BST 2004 Olly Betts <olly@survex.com> 32290 32291 * common/utils.cc,common/utils.h: Fixes for win32 and sun's c++ 32292 compiler. 32293 32294Thu Sep 30 18:24:20 BST 2004 Olly Betts <olly@survex.com> 32295 32296 * common/utils.h,extra/queryparser.yy: Fixed bug which caused 32297 misparsing of certain prefixed queries, introduced by C_isXXXXX 32298 change. 32299 32300Thu Sep 30 11:09:17 BST 2004 Olly Betts <olly@survex.com> 32301 32302 * tests/api_anydb.cc: Modified version of changequery1 fails - the 32303 fix is tricky, so just make it SKIP for now. 32304 32305Wed Sep 29 21:33:29 BST 2004 Olly Betts <olly@survex.com> 32306 32307 * extra/Makefile.am: Fixed to work when srcdir != builddir. 32308 32309Wed Sep 29 18:52:04 BST 2004 Olly Betts <olly@survex.com> 32310 32311 * PLATFORMS,docs/Makefile.am: Workaround odd latex problem. 32312 32313Wed Sep 29 17:10:00 BST 2004 Olly Betts <olly@survex.com> 32314 32315 * configure.ac,docs/doxygen_api_conf.in,docs/doxygen_full_conf.in: 32316 Updated doxygen conf files for doxygen 1.3.8. 32317 32318Wed Sep 29 16:52:53 BST 2004 Olly Betts <olly@survex.com> 32319 32320 * common/utils.cc,common/utils.h,extra/Makefile.am, 32321 extra/queryparser.yy,tests/api_anydb.cc,testsuite/index_utils.cc: 32322 Provide our own C_isalpha(), etc replacements for isalpha(), etc 32323 which always work in the C locale and avoid signed char problems. 32324 32325Tue Sep 28 00:04:11 BST 2004 Olly Betts <olly@survex.com> 32326 32327 * common/utils.cc,common/utils.h: rmdir() isn't a sensible candidate 32328 for inlining so move it out of the header. 32329 32330Mon Sep 27 17:33:23 BST 2004 Olly Betts <olly@survex.com> 32331 32332 * extra/queryparser.yy: Be smarter about when to add a ':' when adding 32333 a term prefix. 32334 32335Mon Sep 27 16:01:37 BST 2004 Olly Betts <olly@survex.com> 32336 32337 * docs/scalability.html: Added note warning about benchmarking from 32338 cold. 32339 32340Mon Sep 27 15:20:13 BST 2004 Olly Betts <olly@survex.com> 32341 32342 * HACKING: Note that we use doxygen 1.3.8 for snapshots and releases; 32343 Note that --enable-maintainer-mode now automatically enables -Werror 32344 with GCC 3.0 or newer. 32345 32346Wed Sep 22 16:49:20 BST 2004 Olly Betts <olly@survex.com> 32347 32348 * matcher/: Pruned unneeded #include-s and other tidying, some 32349 enabled by the previous change. 32350 32351Wed Sep 22 14:04:27 BST 2004 Olly Betts <olly@survex.com> 32352 32353 * common/positionlist.h,matcher/: Moved all of the implementations 32354 of the XXXPostList classes from the .h files into the .cc files. 32355 All the methods are virtual, so we aren't going to gain anything 32356 from being able to inline them. 32357 32358Wed Sep 22 02:58:59 BST 2004 Olly Betts <olly@survex.com> 32359 32360 * configure.ac: Automatically add -Werror to CFLAGS and CXXFLAGS if 32361 maintainer mode is enabled and we're using GCC3 or newer. Don't 32362 do this for older GCCs as GCC 2.95 issues spurious warnings. 32363 32364Wed Sep 22 02:41:41 BST 2004 Olly Betts <olly@survex.com> 32365 32366 * backends/quartz/quartz_record.cc,backends/quartz/quartz_utils.h: 32367 Introduced CASSERT_TYPE_UNSIGNED to replace the common use of 32368 CASSERT to assert at compile time that a type is unsigned. 32369 32370Tue Sep 21 15:58:05 BST 2004 Olly Betts <olly@survex.com> 32371 32372 * PLATFORMS: Removed reports from versions prior to 0.7.0. So much 32373 has changed that these are of little value. 32374 32375Mon Sep 20 15:24:27 BST 2004 Olly Betts <olly@survex.com> 32376 32377 * NEWS,PLATFORMS,configure.ac: Version 0.8.3. 32378 32379Mon Sep 20 15:13:34 BST 2004 Olly Betts <olly@survex.com> 32380 32381 * AUTHORS: Updated. 32382 32383Mon Sep 20 14:26:35 BST 2004 Olly Betts <olly@survex.com> 32384 32385 * xapian.spec.in: Removed reference to xapian-examples' createdatabase 32386 (which is no longer in xapian-examples). 32387 32388Mon Sep 20 13:06:59 BST 2004 Olly Betts <olly@survex.com> 32389 32390 * xapian.spec.in: Updated version from Fabrice Colin (incorporating 32391 changes from Alan Cox's RPM spec files): split off libs into a 32392 separate package to allow 32 and 64 bit versions to be installed 32393 concurrently; include binaries from xapian-examples; updated source 32394 URLs. 32395 32396Mon Sep 20 03:25:44 BST 2004 Olly Betts <olly@survex.com> 32397 32398 * tests/api_anydb.cc: Added regression test for previous bug (test 32399 checkatleast1). 32400 32401Mon Sep 20 03:16:14 BST 2004 Olly Betts <olly@survex.com> 32402 32403 * matcher/multimatch.cc: Fixed segfault with check_at_least when there 32404 were no matches. 32405 32406Sun Sep 19 17:54:52 BST 2004 Olly Betts <olly@survex.com> 32407 32408 * api/omenquire.cc,common/omdebug.cc: Fixed to compile with debug 32409 tracing enabled. 32410 32411Sat Sep 18 19:02:54 BST 2004 Olly Betts <olly@survex.com> 32412 32413 * tests/api_db.cc: Updated missed use of omprogsrv to xapian-progsrv. 32414 32415Tue Sep 14 18:09:19 BST 2004 Olly Betts <olly@survex.com> 32416 32417 * xapian.spec.in,bin/.cvsignore,bin/Makefile.am,debian/control.in, 32418 debian/xapian-tools.install,docs/remote.html,tests/remotetest.cc, 32419 testsuite/backendmanager.cc: Rename omtcpsrv to xapian-tcpsrv and 32420 omprogsrv to xapian-progsrv. 32421 32422Tue Sep 14 16:25:06 BST 2004 Olly Betts <olly@survex.com> 32423 32424 * xapian.spec.in: Fixed mangled URL in last checkin. 32425 32426Tue Sep 14 15:35:00 BST 2004 Olly Betts <olly@survex.com> 32427 32428 * xapian.spec.in: Updated URL for tarball. 32429 32430Tue Sep 14 02:49:34 BST 2004 Olly Betts <olly@survex.com> 32431 32432 * HACKING: Updated the "how to do a release" tasklist. 32433 32434Mon Sep 13 03:19:47 BST 2004 Olly Betts <olly@survex.com> 32435 32436 * NEWS,PLATFORMS,configure.ac: Version 0.8.2. 32437 32438Sat Sep 11 16:39:08 BST 2004 Olly Betts <olly@survex.com> 32439 32440 * include/xapian/version.h.in: GCC 3.1 reported the wrong value for 32441 __GXX_ABI_VERSION (100 not 101) so check 3.0 and 3.1 by version 32442 number, keeping the __GXX_ABI_VERSION check for newer versions. 32443 32444Sat Sep 11 02:57:48 BST 2004 Olly Betts <olly@survex.com> 32445 32446 * backends/quartz/bcursor.cc: Fixed and reenabled Bcursor::prev() 32447 (not currently used, but it will be useful for running posting 32448 lists backwards!) 32449 32450Fri Sep 10 13:13:51 BST 2004 Olly Betts <olly@survex.com> 32451 32452 * tests/Makefile.am: Need to ship test data for new test. 32453 32454Thu Sep 09 21:58:37 BST 2004 Olly Betts <olly@survex.com> 32455 32456 * tests/api_db.cc: Extended feature test sortrel1 to check interaction 32457 with Enquire::set_sort_forward(false). 32458 32459Thu Sep 09 21:46:12 BST 2004 Olly Betts <olly@survex.com> 32460 32461 * api/omenquire.cc,common/multimatch.h,common/omenquireinternal.h, 32462 include/xapian/enquire.h,matcher/multimatch.cc,net/socketserver.cc, 32463 tests/api_db.cc,tests/testdata/apitest_sortrel.txt: You can now 32464 specify to sort by value, then relevance, then docid instead of 32465 by value then docid. 32466 32467Thu Sep 09 19:30:07 BST 2004 Olly Betts <olly@survex.com> 32468 32469 * docs/todo.xml: Removed unused file - todo entries are now in 32470 bugzilla. 32471 32472Thu Sep 09 13:11:52 BST 2004 Olly Betts <olly@survex.com> 32473 32474 * api/omenquire.cc,common/multimatch.h,common/omenquireinternal.h, 32475 include/xapian/enquire.h,matcher/multimatch.cc,net/socketserver.cc: 32476 Added optional "checkatleast" parameter to Enquire::get_mset() 32477 which allows Omega's MIN_HITS functionality to be implemented 32478 in the matcher (a bit more efficient). 32479 32480Thu Sep 09 04:18:32 BST 2004 Olly Betts <olly@survex.com> 32481 32482 * NEWS: Updated. 32483 32484Thu Sep 09 03:39:52 BST 2004 Olly Betts <olly@survex.com> 32485 32486 * PLATFORMS: Updated from the tinderbox. Sun's C++ compiler can 32487 now build Xapian on sparc! 32488 32489Thu Sep 09 02:19:43 BST 2004 Olly Betts <olly@survex.com> 32490 32491 * tests/api_wrdb.cc: Added feature test for 32492 WritableDatabase::replace_document() and delete_document() with 32493 a unique term (apitest:uniqueterm1. 32494 * backends/inmemory/inmemory_alltermslist.cc, 32495 backends/inmemory/inmemory_database.cc, 32496 backends/inmemory/inmemory_database.h: 32497 Fixed bugs thrown up by the new test. 32498 32499Wed Sep 08 19:45:37 BST 2004 Olly Betts <olly@survex.com> 32500 32501 * HACKING: Updated details of Solaris open workaround. 32502 32503Wed Sep 08 19:42:15 BST 2004 Olly Betts <olly@survex.com> 32504 32505 * common/utils.h,backends/quartz/btree.cc, 32506 backends/quartz/quartz_database.cc,backends/quartz/quartz_log.cc: 32507 New version of the Solaris open dance - now we always pass in 32508 const char * for the filename, and we don't need the dance on 32509 new versions, so only dance if open is defined. 32510 32511Wed Sep 08 16:26:15 BST 2004 Olly Betts <olly@survex.com> 32512 32513 * api/omquery.cc,include/xapian/query.h: Renamed Query::is_empty() 32514 to Query::empty() for consistency. Keep Query::is_empty() for 32515 now as a deprecated alias. 32516 32517Wed Sep 08 16:24:44 BST 2004 Olly Betts <olly@survex.com> 32518 32519 * tests/api_wrdb.cc: replace_doc -> replace_doc1; added new test 32520 replace_doc2 to test using replace_doc to add a document with 32521 a specified docid. 32522 32523Wed Sep 08 16:23:50 BST 2004 Olly Betts <olly@survex.com> 32524 32525 * backends/inmemory/inmemory_database.h: Removed unused member 32526 variable "indexing". 32527 32528Wed Sep 08 16:14:47 BST 2004 Olly Betts <olly@survex.com> 32529 32530 * backends/quartz/quartz_database.cc: If replace_document() is used 32531 to add a document with did greater than lastdocid, raise lastdocid 32532 so future calls to add_document() won't clash. 32533 32534Wed Sep 08 16:13:51 BST 2004 Olly Betts <olly@survex.com> 32535 32536 * backends/inmemory/inmemory_database.cc: Fixed bug 32537 Database::replace_document() to work with a document id greater 32538 than lastdocid. 32539 32540Wed Sep 08 05:10:01 BST 2004 Olly Betts <olly@survex.com> 32541 32542 * common/utils.h: The latest fcntl.h dance causes a compile error on 32543 mingw, so don't use it there. 32544 32545Wed Sep 08 03:38:20 BST 2004 Olly Betts <olly@survex.com> 32546 32547 * common/utils.h: Use a namespace as an extra step in the Sun fcntl 32548 open64 dance. 32549 32550Tue Sep 07 02:33:50 BST 2004 Olly Betts <olly@survex.com> 32551 32552 * tests/test.da: Another cruft file removed. 32553 32554Tue Sep 07 02:21:49 BST 2004 Olly Betts <olly@survex.com> 32555 32556 * tests/btreetest.cc,tests/quartztest.cc: Moved overwrite1 from 32557 quartztest to btreetest. Added const in a few places. 32558 32559Tue Sep 07 02:07:43 BST 2004 Olly Betts <olly@survex.com> 32560 32561 * tests/quartztest.cc: Removed overwrite2 test. Digging back in CVS 32562 it's been disabled since the day after it added. After all this 32563 time it's hard to guess exactly what it was intended to test, so 32564 just removing it seems simplest. We already have overwrite1 to test 32565 getting DatabaseModifiedError. 32566 32567Tue Sep 07 01:52:25 BST 2004 Olly Betts <olly@survex.com> 32568 32569 * tests/btreetest.cc: Cleaned up paths to temporary Btrees. 32570 32571Mon Sep 06 17:51:27 BST 2004 Olly Betts <olly@survex.com> 32572 32573 * tests/btreetest.cc,tests/quartztest.cc: Now that QuartzTable, 32574 QuartzDiskTable, QuartzBufferedTable, QuartzCursor, 32575 QuartzDiskCursor, and QuartzBufferedCursor are gone, move 32576 quartztest tests which now just use Btree and Bcursor to btreetest. 32577 This is more logical and should help make quartztest less of a 32578 monster to compile. 32579 32580Mon Sep 06 12:47:47 BST 2004 Olly Betts <olly@survex.com> 32581 32582 * tests/Makefile.am: Ship testdata/apitest_allterms4.txt. 32583 32584Mon Sep 06 02:46:32 BST 2004 Olly Betts <olly@survex.com> 32585 32586 * tests/quartztest.cc: Xapian::Database will create the directory for 32587 the database so there's no need to create it ourselves. 32588 32589Mon Sep 06 02:40:57 BST 2004 Olly Betts <olly@survex.com> 32590 32591 * tests/,tests/testdata/apitest_allterms4.txt: Split off tests which 32592 require a writable database backend and tests which should work with 32593 any database backend from api_db.cc as it was getting rather large. 32594 Fixed simplequery2 to work with backends which don't return the 32595 document length (such as the muscat36 backends). Fixed allterms4 32596 to work with muscat36 backends. 32597 32598Mon Sep 06 02:39:29 BST 2004 Olly Betts <olly@survex.com> 32599 32600 * backends/muscat36/da_database.cc,backends/muscat36/db_database.cc: 32601 Fixed to compile now that internal_end_session() has gone. 32602 32603Mon Sep 06 00:59:36 BST 2004 Olly Betts <olly@survex.com> 32604 32605 * tests/runtest.in: Added support for running gdb on a test program, 32606 automatically sorting out srcdir and libtool. 32607 32608Mon Sep 06 00:49:11 BST 2004 Olly Betts <olly@survex.com> 32609 32610 * tests/apitest_parser.pm: Removed long unused file. 32611 32612Sun Sep 05 22:53:27 BST 2004 Olly Betts <olly@survex.com> 32613 32614 * include/xapian/enquire.h: Tweaked documentation comment to stop 32615 doxygen parsing a hyphen as a single entry bullet point list. 32616 32617Sun Sep 05 20:20:01 BST 2004 Olly Betts <olly@survex.com> 32618 32619 * testsuite/backendmanager.h: Added missing "std::" so code will 32620 compile with GCC >= 3. 32621 32622Sun Sep 05 13:54:58 BST 2004 Olly Betts <olly@survex.com> 32623 32624 * testsuite/backendmanager.h: Removed superfluous "BackendManager::". 32625 32626Sun Sep 05 01:54:49 BST 2004 Olly Betts <olly@survex.com> 32627 32628 * common/utils.cc,common/utils.h: Removed now unused files_exist() 32629 function. 32630 32631Sun Sep 05 01:50:35 BST 2004 Olly Betts <olly@survex.com> 32632 32633 * tests/api_db.cc,tests/apitest.cc,tests/apitest.h, 32634 testsuite/backendmanager.cc,testsuite/backendmanager.h: 32635 Cleaned up BackendManager by removing complications only required 32636 by absentfile1 test, which can be implemented more directly anyway. 32637 32638Sun Sep 05 01:33:16 BST 2004 Olly Betts <olly@survex.com> 32639 32640 * tests/quartztest.cc: Cleaned up rather odd code which is a hangover 32641 from when keys and tags weren't simply C++ strings. 32642 32643Sat Sep 04 12:35:12 BST 2004 Olly Betts <olly@survex.com> 32644 32645 * HACKING: Updated details of which autotools we require. 32646 32647Fri Sep 03 17:51:59 BST 2004 Olly Betts <olly@survex.com> 32648 32649 * configure.ac: Require autoconf 2.59. Noted LIBRARY_VERSION_INFO 32650 which 0.8.2 will probably have. 32651 * Makefile.am: Require automake 1.8.5. 32652 32653Fri Sep 03 16:40:11 BST 2004 Olly Betts <olly@survex.com> 32654 32655 * PLATFORMS: Updated with results from tinderbox. 32656 32657Fri Sep 03 14:34:00 BST 2004 Olly Betts <olly@survex.com> 32658 32659 * autoconf/definedir.m4,autoconf/rjb_find_stlport.m4: Quote macro 32660 names to fix warning from newer aclocal. Removed comments about 32661 future autodetection of stlport, as the user will always need to 32662 decide between the STL supplied with the compiler and stlport. 32663 32664Thu Sep 02 17:55:33 BST 2004 Olly Betts <olly@survex.com> 32665 32666 * matcher/andpostlist.cc: Initialise lmax and rmax to 0. Hopefully 32667 this will fix SIGFPE on apitest's qterminfo2 on alpha linux. 32668 32669Thu Sep 02 14:50:20 BST 2004 Olly Betts <olly@survex.com> 32670 32671 * backends/quartz/quartz_database.cc: Not storing the document length 32672 and last docid on every add means that the magic key won't always 32673 exists when there are records and 32674 QuartzWritableDatabase::get_doccount() is sometimes off by one. Fix 32675 crudely for now by making sure that the magic key does always exist. 32676 Longer term the magic key probably should be in the postlist table 32677 but that's an incompatible change. 32678 32679Wed Sep 01 16:15:23 BST 2004 Olly Betts <olly@survex.com> 32680 32681 * backends/quartz/: Change QuartzWritableDatabase to store the total 32682 document length and the last docid itself rather than tallying added 32683 and removed document length and writing the last docid back every 32684 time a document is added. This gives cleaner code and a small 32685 performance win. Removed XAPIAN_FLUSH_THRESHOLD_LENGTH as we no 32686 longer tally the length changes, and made the default flush 32687 threshold 10000 documents (was 1000). 32688 32689Wed Sep 01 14:21:19 BST 2004 Olly Betts <olly@survex.com> 32690 32691 * backends/quartz/btree.cc: Turn on previously commented-out code to 32692 make the first key null for blocks more than 1 away from the leaves. 32693 It saves disk space for a tiny CPU and RAM cost so is bound to be 32694 a win overall. 32695 32696Tue Aug 31 13:55:58 BST 2004 Olly Betts <olly@survex.com> 32697 32698 * backends/quartz/btree.cc,backends/quartz/btree.h, 32699 backends/quartz/btree_util.h: Merged Btree::make_index_item() into 32700 Btree::enter_key(). 32701 32702Tue Aug 31 01:07:19 BST 2004 Olly Betts <olly@survex.com> 32703 32704 * NEWS: Updated in preparation for a release. 32705 32706Tue Aug 31 00:53:35 BST 2004 Olly Betts <olly@survex.com> 32707 32708 * backends/quartz/btree.cc: Short-cutting Btree::cancel causes 32709 problems so disable that for the time being at least. 32710 32711Fri Aug 27 13:09:56 BST 2004 Olly Betts <olly@survex.com> 32712 32713 * testsuite/btreecheck.cc: Fixed %% to % (presumably a hangover from 32714 converting printf to cout). 32715 32716Thu Aug 26 18:11:50 BST 2004 Olly Betts <olly@survex.com> 32717 32718 * backends/quartz/quartz_postlist.cc: Reduce quartz postlist chunk 32719 threshold from 2048 to 2000 so that chunks won't get split by the 32720 Btree. 32721 32722Thu Aug 26 18:10:27 BST 2004 Olly Betts <olly@survex.com> 32723 32724 * backends/quartz/quartz_record.cc: Throw DocNotFoundError if we 32725 try to delete a record which doesn't exist. 32726 32727Thu Aug 26 17:18:56 BST 2004 Olly Betts <olly@survex.com> 32728 32729 * configure.ac: Don't define DATADIR - we no longer use it and clashes 32730 with more recent mingw headers. 32731 32732Wed Aug 25 22:47:06 BST 2004 Olly Betts <olly@survex.com> 32733 32734 * docs/quartzdesign.html: Started section on quartzcompact. 32735 32736Wed Aug 25 22:45:48 BST 2004 Olly Betts <olly@survex.com> 32737 32738 * api/omdatabase.cc,include/xapian/database.h: Changed new 32739 WritableDatabase::replace_document(term, doc) method to return 32740 the docid which the document was given. 32741 32742Tue Aug 24 13:45:52 BST 2004 Olly Betts <olly@survex.com> 32743 32744 * api/omenquire.cc,include/xapian/enquire.h: Added new ESet methods 32745 swap(), back() and operator[]. 32746 * include/xapian/enquire.h: Added documentation comments for 32747 MSet methods size(), empty(), swap(), begin(), end(), back(). 32748 * include/xapian/enquire.h: Removed bogus documentation saying 32749 that some Enquire methods can throw DatabaseOpeningError. 32750 32751Tue Aug 24 10:24:30 BST 2004 Olly Betts <olly@survex.com> 32752 32753 * HACKING: Noted automake 1.8 may be problematic. Tweaked list of 32754 release tasks. 32755 32756Tue Aug 24 10:16:38 BST 2004 Olly Betts <olly@survex.com> 32757 32758 * matcher/multimatch.cc: If a matchdecider is specified and no matches 32759 are requested, the lower bound on the number of matches must be 0 32760 (since the matchdecider could reject all the matches). 32761 32762Mon Aug 23 23:03:12 BST 2004 Olly Betts <olly@survex.com> 32763 32764 * backends/quartz/btree.cc: Improved the "Db block overwritten" 32765 message. The DatabaseCorruptError version now suggests multiple 32766 writers may be the cause, while the DatabaseModifiedError version 32767 uses less alarming wording and says to call Database::reopen(). 32768 32769Sun Aug 22 14:07:35 BST 2004 Olly Betts <olly@survex.com> 32770 32771 * indexer/: Removed the old XML-based indexer framework. It's not 32772 worked for ages, and nobody seems interested in ressurecting it. 32773 If anyone ever is, they can fetch it back from CVS, but otherwise 32774 it's just bulking up CVS checkouts. 32775 32776Sun Aug 22 13:02:25 BST 2004 Olly Betts <olly@survex.com> 32777 32778 * Makefile.am,configure.ac,extra/Makefile.am: Moved the older library 32779 version information into configure.ac. 32780 32781Sun Aug 22 12:58:21 BST 2004 Olly Betts <olly@survex.com> 32782 32783 * HACKING,configure.in,configure.ac,backends/Makefile.am, 32784 docs/Makefile.am: Renamed configure.in to configure.ac. 32785 32786Sun Aug 22 12:47:43 BST 2004 Olly Betts <olly@survex.com> 32787 32788 * xapian-config.in: Add "(or configure.ac)" in message telling the 32789 user to add a line to their configure.in. 32790 32791Sun Aug 22 11:38:55 BST 2004 Olly Betts <olly@survex.com> 32792 32793 * backends/quartz/btree.cc,backends/quartz/btree_util.h: Adjusted 32794 some Asserts to check c is within blocksize rather than 32795 65536. Added a FIXME for those which can't be trivially changed. 32796 32797Sun Aug 22 10:56:56 BST 2004 Olly Betts <olly@survex.com> 32798 32799 * backends/quartz/quartz_database.cc: No need to force a flush on 32800 QuartzWritableDatabase::open_document() (the document will read 32801 things lazily from the database, and that may trigger a forced 32802 flush). 32803 * backends/quartz/quartz_database.cc, 32804 backends/quartz/quartz_database.h: Eliminated 32805 QuartzDatabase::open_post_list_internal() and 32806 QuartzDatabase::open_term_list_internal(). 32807 32808Sun Aug 22 01:33:05 BST 2004 Olly Betts <olly@survex.com> 32809 32810 * backends/quartz/quartz_database.cc,backends/quartz/quartz_record.cc, 32811 backends/quartz/quartz_record.h: WritableDatabase::get_avlength() 32812 no longer forces pending changes to be flushed. This means you can 32813 now search a modified WritableDatabase without causing a flush 32814 unless the search includes a term whose postlist has pending 32815 modifications. 32816 32817Fri Aug 20 20:03:59 BST 2004 Olly Betts <olly@survex.com> 32818 32819 * backends/quartz/btree_util.h,common/,docs/overview.html, 32820 docs/quickstart.html,include/xapian/enquire.h, 32821 matcher/branchpostlist.h,matcher/multimatch.cc,tests/api_db.cc: 32822 Corrected multiple occurrences of "an Xapian::XXX" to "a Xapian::XXX" 32823 (presumably these all resulted from replacing "Om" with "Xapian::"). 32824 32825Fri Aug 20 17:38:15 BST 2004 Olly Betts <olly@survex.com> 32826 32827 * backends/quartz/,bin/quartzcheck.cc,bin/quartzcompact.cc, 32828 bin/quartzdump.cc,tests/btreetest.cc,tests/quartztest.cc: 32829 Merged QuartzCursor into Bcursor. 32830 32831Fri Aug 20 13:43:04 BST 2004 Olly Betts <olly@survex.com> 32832 32833 * NEWS,backends/quartz/: Fixed the problem with "lazy tag reading" 32834 in QuartzCursor and reenable that code. The problem was with 32835 deleting the current key, so added QuartzCursor::del() which 32836 deletes the current key, leaving the cursor on the next item. 32837 32838Fri Aug 20 13:04:33 BST 2004 Olly Betts <olly@survex.com> 32839 32840 * tests/api_db.cc: Reenabled test allterms2, but with the iterator 32841 copying parts removed - TermIterator is an input_iterator so 32842 that part was invalid. 32843 32844Thu Aug 19 19:19:48 BST 2004 Olly Betts <olly@survex.com> 32845 32846 * NEWS: Updated from recent ChangeLog entries. 32847 32848Thu Aug 19 14:09:28 BST 2004 Olly Betts <olly@survex.com> 32849 32850 * tests/api_db.cc: Added regression test for bug #37. 32851 32852Thu Aug 19 13:31:37 BST 2004 Olly Betts <olly@survex.com> 32853 32854 * matcher/localmatch.cc: Fixed problems handling termweights in 32855 queries with the same term repeated (bug #37). 32856 32857Thu Aug 19 13:22:12 BST 2004 Olly Betts <olly@survex.com> 32858 32859 * backends/quartz/quartz_table.cc: Disable the "lazy tag reading" in 32860 QuartzCursor for the time being - it seems to cause problems. 32861 32862Thu Aug 19 12:58:10 BST 2004 Olly Betts <olly@survex.com> 32863 32864 * bin/quartzcheck.cc,bin/quartzdump.cc: Added calls to 32865 QuartzCursor::read_tag(). 32866 32867Thu Aug 19 12:56:53 BST 2004 Olly Betts <olly@survex.com> 32868 32869 * matcher/multimatch.cc: Removed superfluous clear() of a map. 32870 32871Thu Aug 19 12:56:08 BST 2004 Olly Betts <olly@survex.com> 32872 32873 * tests/api_db.cc: Corrected a comment - a pure boolean query has all 32874 weights set to 0, not 1. 32875 32876Mon Aug 16 15:41:33 BST 2004 Olly Betts <olly@survex.com> 32877 32878 * docs/: Removed unused and very out of date class diagrams in dia 32879 format. Doxygen generates similar but up-to-date diagrams 32880 automatically anyway. 32881 32882Mon Aug 16 15:27:30 BST 2004 Olly Betts <olly@survex.com> 32883 32884 * xapian.spec.in,debian/libxapianVERSION-dev.install, 32885 extra/.cvsignore,extra/Makefile.am,extra/omparsequery.h, 32886 include/Makefile.am,include/om/.cvsignore,include/om/dir_contents, 32887 include/om/om.h,m4/xapian.m4: Removed the compatibility layer which 32888 allowed programs written against the pre-0.7.0 API to be compiled. 32889 32890Mon Aug 16 15:08:08 BST 2004 Olly Betts <olly@survex.com> 32891 32892 * backends/quartz/quartz_table.cc: Fixed QuartzCursor::find() 32893 to work again after the last change. 32894 32895Mon Aug 16 14:43:08 BST 2004 Olly Betts <olly@survex.com> 32896 32897 * backends/quartz/,tests/quartztest.cc: QuartzCursor no longer 32898 automatically reads the tag - you have to call read_tag() to 32899 get it read. This speeds up iterator over all the terms in 32900 a database. Also commented out QuartzCursor::prev as it's 32901 unused and untested (at least in its latest form). 32902 32903Mon Aug 16 12:39:56 BST 2004 Olly Betts <olly@survex.com> 32904 32905 * backends/quartz/btree_types.h: Made Bcursor.rewrite bool rather than 32906 int. 32907 32908Mon Aug 16 12:35:07 BST 2004 Olly Betts <olly@survex.com> 32909 32910 * backends/quartz/btree.cc,backends/quartz/btree.h: Calculate and 32911 store the latest revision number, rather than storing the other 32912 one and working out which is newer every time we're asked. 32913 32914Mon Aug 16 12:32:59 BST 2004 Olly Betts <olly@survex.com> 32915 32916 * docs/install.html: We haven't "only [...] UNIX" for ages, so don't 32917 claim we are. We use libtool as well as autoconf and automake. 32918 Link to the CVS snapshots. And also mention downloading omega. 32919 32920Mon Aug 16 12:20:04 BST 2004 Olly Betts <olly@survex.com> 32921 32922 * docs/index.html: exaplains -> explains. 32923 32924Mon Aug 16 12:18:34 BST 2004 Olly Betts <olly@survex.com> 32925 32926 * docs/overview.html: Removed references to "our company" (meaning 32927 BrightStation) and to the now defunct special parameters which 32928 the inmemory backend accepted to cause deliberate errors for 32929 testing. 32930 32931Sun Aug 15 23:48:20 BST 2004 Olly Betts <olly@survex.com> 32932 32933 * tests/btreetest.cc: item_count -> get_entry_count(); revision_number 32934 -> get_open_revision_number(). 32935 32936Sun Aug 15 23:15:34 BST 2004 Olly Betts <olly@survex.com> 32937 32938 * backends/Makefile.am,backends/inmemory/Makefile.am: Fixed to compile 32939 with --disable-inmemory (bug #33). 32940 32941Sat Aug 14 18:56:06 BST 2004 Olly Betts <olly@survex.com> 32942 32943 * Makefile.am: Improved library versioning comment. 32944 32945Sat Aug 14 18:55:17 BST 2004 Olly Betts <olly@survex.com> 32946 32947 * docs/overview.html: Fixed om_queryop to Xapian::Query::op, and added 32948 missing OP_* codes to the list. 32949 32950Sat Aug 14 17:44:39 BST 2004 Olly Betts <olly@survex.com> 32951 32952 * backends/quartz/bcursor.h,backends/quartz/btree.cc, 32953 backends/quartz/btree.h,bin/quartzcompact.cc,docs/quartzdesign.html: 32954 Updated quartz design docs to reflect recent changes. Also pulled 32955 out the Btree and Bcursor API docs and slotted them in as doxygen 32956 documentation comments - this way they're much more likely to 32957 be kept up-to-date. 32958 32959Sat Aug 14 15:59:07 BST 2004 Olly Betts <olly@survex.com> 32960 32961 * backends/quartz/btree.cc,backends/quartz/btree.h: Removed unused 32962 Btree default ctor. 32963 32964Sat Aug 14 15:45:28 BST 2004 Olly Betts <olly@survex.com> 32965 32966 * backends/quartz/btree.cc,backends/quartz/btree.h: Don't redundantly 32967 store next_revision - it's always just revision_number + 1. 32968 32969Sat Aug 14 15:30:30 BST 2004 Olly Betts <olly@survex.com> 32970 32971 * backends/quartz/btree.cc: Implemented Btree::cancel directly rather 32972 than closing and reopening the Btree. 32973 32974Sat Aug 14 14:46:43 BST 2004 Olly Betts <olly@survex.com> 32975 32976 * backends/quartz/,bin/quartzcheck.cc,bin/quartzcompact.cc, 32977 bin/quartzdump.cc,tests/btreetest.cc,tests/quartztest.cc, 32978 testsuite/btreecheck.cc,testsuite/btreecheck.h: Eliminated 32979 QuartzTable which had become just a thin wrapper around Btree. 32980 32981Fri Aug 13 19:19:02 BST 2004 Olly Betts <olly@survex.com> 32982 32983 * backends/quartz/quartz_postlist.cc: 32984 QuartzPostList::move_to_chunk_containing now calls next_chunk if 32985 required, rather than forcing the caller to do the fix-up. 32986 32987Fri Aug 13 17:54:53 BST 2004 Olly Betts <olly@survex.com> 32988 32989 * backends/quartz/quartz_database.cc, 32990 backends/quartz/quartz_database.h: Added tunable flush thresholds 32991 - set XAPIAN_FLUSH_THRESHOLD=5000 to flush every 5000 documents 32992 or XAPIAN_FLUSH_THRESHOLD_LENGTH=1000000 to flush every 1000000 32993 total change in document length. Set both to flush whichever is 32994 reached first. Set neither and the default is to flush every 32995 1000 documents as before. 32996 32997Fri Aug 13 15:54:21 BST 2004 Olly Betts <olly@survex.com> 32998 32999 * backends/quartz/: Removed no-longer-used Btree::erase and 33000 QuartzTable::erase methods. 33001 33002Fri Aug 13 15:37:15 BST 2004 Olly Betts <olly@survex.com> 33003 33004 * backends/quartz/btree.cc,backends/quartz/quartz_database.cc: 33005 Changed Btree::create() to remove any pre-existing alternate base 33006 file, so we no longer need to call Btree::erase before 33007 Btree::create. 33008 33009Fri Aug 13 15:37:15 BST 2004 Olly Betts <olly@survex.com> 33010 33011 * NEWS: Updated with changes since last release. 33012 33013Fri Aug 13 15:36:04 BST 2004 Olly Betts <olly@survex.com> 33014 33015 * tests/api_posdb.cc,tests/quartztest.cc: Reworked quartztest's 33016 positionlist1 into a generic api test as apitest's poslist3. 33017 33018Thu Aug 12 16:26:42 BST 2004 Olly Betts <olly@survex.com> 33019 33020 * backends/quartz/quartz_table.cc,backends/quartz/quartz_table.h, 33021 bin/quartzcheck.cc,bin/quartzdump.cc: QuartzCursor now has a 33022 Bcursor member, rather than an AutoPtr<Bcursor> member. 33023 33024Thu Aug 12 14:13:37 BST 2004 Olly Betts <olly@survex.com> 33025 33026 * tests/btreetest.cc: Fixed up in line with the recent refactoring. 33027 33028Thu Aug 12 13:23:31 BST 2004 Olly Betts <olly@survex.com> 33029 33030 * m4/xapian.m4: XO_LIB_XAPIAN now AC_SUBSTs XAPIAN_VERSION. 33031 33032Thu Aug 12 13:21:36 BST 2004 Olly Betts <olly@survex.com> 33033 33034 * backends/quartz/,tests/quartztest.cc: Refactored, replacing 33035 Quartz*Manager with Quartz*Table. 33036 33037Thu Aug 12 02:00:58 BST 2004 Olly Betts <olly@survex.com> 33038 33039 * backends/quartz/: Merged QuartzTableManager into QuartzDatabase. 33040 33041Wed Aug 11 23:40:34 BST 2004 Olly Betts <olly@survex.com> 33042 33043 * backends/quartz/quartz_database.cc,backends/quartz/quartz_database.h: 33044 Eliminated buffered_tables member of QuartzWritableDatabase. 33045 33046Wed Aug 11 21:26:35 BST 2004 Olly Betts <olly@survex.com> 33047 33048 * backends/inmemory/inmemory_database.cc, 33049 backends/quartz/quartz_database.cc,backends/quartz/quartz_database.h, 33050 docs/todo.xml: WritableDatabase::replace_document can now be used 33051 to add a document with a specific docid (to allow keeping docids 33052 in sync with numeric UIDs from another system). 33053 33054Wed Aug 11 20:09:15 BST 2004 Olly Betts <olly@survex.com> 33055 33056 * api/omdatabase.cc,include/xapian/database.h: Added replace_document 33057 and delete_document variants which take a unique id term name rather 33058 than a document id. 33059 * include/xapian/database.h: Better documentation for replace_document 33060 and delete_document. 33061 33062Wed Aug 11 16:15:10 BST 2004 Olly Betts <olly@survex.com> 33063 33064 * backends/quartz/,bin/quartzcheck.cc,bin/quartzdump.cc, 33065 tests/quartztest.cc: Eliminated QuartzBufferedTable. 33066 33067Wed Jun 30 20:34:08 BST 2004 Olly Betts <olly@survex.com> 33068 33069 * NEWS: Fixed an unwrapped line. 33070 33071Wed Jun 30 20:32:31 BST 2004 Olly Betts <olly@survex.com> 33072 33073 * HACKING: Added note about the cvs-tag-release script. 33074 33075Wed Jun 30 19:05:45 BST 2004 Olly Betts <olly@survex.com> 33076 33077 * HACKING,NEWS,PLATFORMS,configure.in: Version 0.8.1. 33078 33079Wed Jun 30 14:23:20 BST 2004 Olly Betts <olly@survex.com> 33080 33081 * AUTHORS,PLATFORMS: Updated. 33082 33083Tue Jun 29 23:24:59 BST 2004 Olly Betts <olly@survex.com> 33084 33085 * tests/api_nodb.cc: Make emptyquery1 check that Query("") causes an 33086 InvalidArgumentError exception. 33087 33088Tue Jun 29 17:29:03 BST 2004 Richard Boulton <richard@tartarus.org> 33089 33090 * Makefile.am: Remove Debian files from distribution tarballs, 33091 since there will often be multiple patch releases for each 33092 release. Debian files will be available from an apt repository 33093 in future. 33094 33095Mon Jun 28 01:29:00 BST 2004 Olly Betts <olly@survex.com> 33096 33097 * NEWS: Mostly updated for 0.8.1 release. 33098 33099Sun Jun 27 23:37:01 BST 2004 Olly Betts <olly@survex.com> 33100 33101 * backends/quartz/quartz_postlist.cc: Fixed bug in postlist merging. 33102 33103Sat Jun 26 00:51:04 BST 2004 Olly Betts <olly@survex.com> 33104 33105 * AUTHORS: Add Malcolm Baldridge (helped fix a problem with building 33106 the PHP bindings with newer versions of SWIG and PHP). 33107 33108Fri Jun 26 00:29:10 BST 2004 Olly Betts <olly@survex.com> 33109 33110 * HACKING,api/ompositionlistiterator.cc,api/ompostlistiterator.cc, 33111 api/omtermlistiterator.cc,include/xapian/: MSetIterator and 33112 ESetIterator are now bidirectional iterators (rather than 33113 just input iterators); Fixed post-increment forms of 33114 PostingIterator, TermIterator, PositionIterator, and ValueIterator 33115 so that *i++ works (as it must for them to be true input iterators). 33116 33117Thu Jun 24 18:03:46 BST 2004 Olly Betts <olly@survex.com> 33118 33119 * PLATFORMS: Added success report for Slackware Linux 9.1. 33120 33121Mon Jun 21 16:33:16 BST 2004 Olly Betts <olly@survex.com> 33122 33123 * backends/quartz/quartz_postlist.cc: Corrected -> to . so code 33124 compiles with debug enabled. 33125 33126Mon Jun 21 03:25:24 BST 2004 Olly Betts <olly@survex.com> 33127 33128 * backends/quartz/btree.cc: Eliminated two calls to abort() - throw 33129 exceptions instead. 33130 33131Mon Jun 21 03:21:14 BST 2004 Olly Betts <olly@survex.com> 33132 33133 * backends/quartz/quartz_postlist.cc: Finish backing out incorrect 33134 change from "Fri May 07 03:16:29 BST 2004" - failed to change two 33135 lines back before. 33136 33137Fri Jun 18 16:48:10 BST 2004 Richard Boulton <richard@tartarus.org> 33138 33139 * configure.in: Fix typo (STLPORT_CXXLAGS -> STLPORT_CXXFLAGS) 33140 33141Thu Jun 17 03:46:32 BST 2004 Olly Betts <olly@survex.com> 33142 33143 * backends/quartz/quartz_database.cc: Cleaned up code to track 33144 add vs delete vs modify of a posting list entry since we now 33145 force a flush if an entry is about to be retouched. 33146 33147Thu Jun 17 03:44:21 BST 2004 Olly Betts <olly@survex.com> 33148 33149 * backends/quartz/quartz_postlist.cc: Back out incorrect change from 33150 "Fri May 07 03:16:29 BST 2004". We do need to call get_or_make_tag 33151 in this case because we're modifying the tag. 33152 33153Wed Jun 16 15:40:21 BST 2004 Olly Betts <olly@survex.com> 33154 33155 * backends/inmemory/inmemory_database.h: Implemented get_lastdocid() 33156 for InMemory backend. 33157 33158Wed Jun 16 02:39:41 BST 2004 Olly Betts <olly@survex.com> 33159 33160 * configure.in: Note the value of LIBRARY_VERSION_INFO which 0.8.1 33161 would get if it were released now. 33162 33163Wed Jun 16 02:39:11 BST 2004 Robert Pollak <robert.pollak@fabasoft.com> 33164 33165 * api/omdatabase.cc, include/xapian/database.h, 33166 backends/database.cc, common/database.h, 33167 backends/quartz/quartz_database.cc, backends/quartz/quartz_database.h, 33168 backends/quartz/quartz_record.cc, backends/quartz/quartz_record.h: 33169 New method Database::get_lastdocid for re-synchronizing an old 33170 quartz index. 33171 33172Wed Jun 16 02:05:07 BST 2004 Richard Boulton <richard@tartarus.org> 33173 33174 * matcher/multimatch.cc: When collapsing, keep track of the number 33175 of collapses performed, and use this information to modify the 33176 bounds and estimate of the number of matches. 33177 * tests/api_db.cc: Added tests for this. 33178 * include/xapian/enquire.h: Update documentation comments for 33179 MSet::get_matches_*() functions to make clear that collapsing and 33180 cutoffs are taken into account. (Previously, the most likely 33181 interpretation of the comments was that they wouldn't be taken 33182 into account, but the implementation was that percentage cutoffs 33183 were taken into account.) Due to this ambiguity, I think it is 33184 reasonable to say this isn't an API change. 33185 33186Wed Jun 16 01:55:29 BST 2004 Olly Betts <olly@survex.com> 33187 33188 * matcher/multimatch.cc: Rearranged code so that the behaviour can 33189 be easily seen to be unchanged, but so that it's closer to the 33190 result of applying Richard's patch for bug #31. 33191 33192Wed Jun 16 01:27:09 BST 2004 Olly Betts <olly@survex.com> 33193 33194 * matcher/multimatch.cc: Trimmed extra whitespace. 33195 33196Tue Jun 15 15:40:11 BST 2004 Olly Betts <olly@survex.com> 33197 33198 * backends/quartz/quartz_postlist.cc: Fixed PostlistChunkReader to 33199 take a copy of the postlist data being read to avoid problems with 33200 reading data from a string that's been deleted. 33201 33202Tue Jun 15 15:26:54 BST 2004 Olly Betts <olly@survex.com> 33203 33204 * HACKING: Updated the list of tasks required for a new release. 33205 33206Tue Jun 15 15:24:04 BST 2004 Olly Betts <olly@survex.com> 33207 33208 * Makefile.am,configure.in,extra/Makefile.am: Unify the shlib version 33209 numbers (the small benefit of tracking them individually makes it 33210 hard to justify the extra work required, and having one version 33211 simplifies debian packaging too). 33212 33213Tue Jun 15 14:52:36 BST 2004 Robert Pollak <robert.pollak@fabasoft.com> 33214 33215 * extra/xapian/queryparser.h: Fixed memory leaked upon QueryParser 33216 destruction. 33217 33218Fri Jun 11 02:18:35 BST 2004 Olly Betts <olly@survex.com> 33219 33220 * backends/quartz/quartz_postlist.cc: Refactored a loop. 33221 33222Fri Jun 11 02:17:05 BST 2004 Olly Betts <olly@survex.com> 33223 33224 * backends/quartz/quartz_postlist.cc: Fixed bug which meant we 33225 sometimes failed to remove a posting when deleting or replacing 33226 a document. 33227 33228Fri Jun 11 02:16:16 BST 2004 Olly Betts <olly@survex.com> 33229 33230 * backends/quartz/quartz_postlist.cc, 33231 backends/quartz/quartz_postlist.h: Merged move_to() into skip_to(). 33232 33233Fri Jun 11 02:14:56 BST 2004 Olly Betts <olly@survex.com> 33234 33235 * backends/quartz/quartz_postlist.cc: Fixed typo in comment. 33236 33237Thu May 27 15:41:45 BST 2004 Olly Betts <olly@survex.com> 33238 33239 * backends/quartz/btree.cc,backends/quartz/btree.h: Eliminated the 33240 split cursor - we only actually need a single block buffer to 33241 handle splitting blocks. 33242 33243Wed May 26 04:02:18 BST 2004 Olly Betts <olly@survex.com> 33244 33245 * include/om/om.h,include/xapian/errortypes.h: Removed several unused 33246 Xapian::Error subclasses (these were used by the indexer framework 33247 which we decided was a failed experiment). 33248 33249Wed May 26 01:54:13 BST 2004 Olly Betts <olly@survex.com> 33250 33251 * backends/quartz/btree.cc,backends/quartz/btree.h: More DEBUGCALL 33252 tracing added; split_root now uses level member rather than a 33253 parameter. 33254 33255Sun May 23 00:56:41 BST 2004 Olly Betts <olly@survex.com> 33256 33257 * backends/quartz/btree.cc,backends/quartz/btree.h: Merge split_off() 33258 into add_item(). 33259 33260Sat May 22 01:28:58 BST 2004 Olly Betts <olly@survex.com> 33261 33262 * backends/quartz/btree.cc: Another DEBUGCALL. 33263 * backends/quartz/quartz_table.h: Improved comments. 33264 33265Fri May 21 23:17:01 BST 2004 Olly Betts <olly@survex.com> 33266 33267 * backends/quartz/btree.cc: Removed unnecessary assignment which is 33268 a hangover from the shared level code we removed long ago. 33269 33270Fri May 21 20:31:56 BST 2004 Olly Betts <olly@survex.com> 33271 33272 * backends/quartz/,docs/quartzdesign.html,testsuite/btreecheck.cc: 33273 Removed overwritten flag (unused as we throw an exception anyway). 33274 If Btree is writable, throw DatabaseCorruptError if we detect 33275 overwritten. Make use of bool return types consistent. Removed 33276 documentation of Btree error codes (the error codes themselves 33277 were removed a month ago). 33278 33279Thu May 20 03:50:46 BST 2004 Olly Betts <olly@survex.com> 33280 33281 * include/xapian/database.h: Remove references to sessions in doxygen 33282 comments. 33283 33284Thu May 20 03:44:28 BST 2004 Olly Betts <olly@survex.com> 33285 33286 * api/omdatabase.cc,backends/database.cc, 33287 backends/inmemory/inmemory_database.cc, 33288 backends/inmemory/inmemory_database.h, 33289 backends/muscat36/da_database.h,backends/muscat36/db_database.h, 33290 backends/net/net_database.cc,backends/quartz/quartz_database.cc, 33291 backends/quartz/quartz_database.h,common/database.h, 33292 common/net_database.h: Clean up the backend interface. 33293 33294Thu May 20 03:18:30 BST 2004 Olly Betts <olly@survex.com> 33295 33296 * backends/database.cc,backends/inmemory/inmemory_database.cc, 33297 backends/inmemory/inmemory_database.h,backends/muscat36/, 33298 backends/net/net_database.cc,backends/quartz/quartz_database.cc, 33299 backends/quartz/quartz_database.h,common/database.h: 33300 Stripped out the session machinery - all that is actually required 33301 is to ensure that any unflushed changes are flushed when the dtor 33302 runs. 33303 33304Mon May 17 01:04:17 BST 2004 Olly Betts <olly@survex.com> 33305 33306 * backends/quartz/btree.cc,backends/quartz/btree.h, 33307 backends/quartz/btree_types.h: Reworked split_p and split_n 33308 members of Cursor into a separate C_split cursor. This 33309 reduces the memory overhead of each Bcursor (and hence each 33310 QuartzPostList). 33311 33312Sat May 15 01:29:40 BST 2004 Olly Betts <olly@survex.com> 33313 33314 * docs/quickstart.html: Corrected lingering reference to "om.h" and 33315 note that we need <iostream>. 33316 * docs/quickstartindex.cc.html,docs/quickstartexpand.cc.html, 33317 docs/quickstartsearch.cc.html: Add <iostream>. 33318 * AUTHORS: Add John Ward for pointing out the above problems. 33319 33320Fri May 14 00:59:51 BST 2004 Olly Betts <olly@survex.com> 33321 33322 * HACKING: Added the start of a list of subtasks when doing a release. 33323 Currently it's always me that does this, but it may not always be 33324 and anyhow it'll help me to have a list to run through. 33325 33326Fri May 14 00:59:21 BST 2004 Olly Betts <olly@survex.com> 33327 33328 * docs/todo.xml: Updated. 33329 33330Thu May 13 17:14:18 BST 2004 Olly Betts <olly@survex.com> 33331 33332 * extra/queryparser.yy: When stripping non-alphanums prior to 33333 reparsing, keep dots ('.'). 33334 * extra/queryparsertest.cc: Pruned near-duplicate queryparsertest 33335 testcases. 33336 33337Thu May 13 12:09:19 BST 2004 Olly Betts <olly@survex.com> 33338 33339 * docs/quartzdesign.html: "interger" -> "integer". 33340 33341Thu May 13 11:20:44 BST 2004 Olly Betts <olly@survex.com> 33342 33343 * Makefile.am: Removed bogus extra line added by last change. 33344 33345Thu May 13 11:11:31 BST 2004 Olly Betts <olly@survex.com> 33346 33347 * configure.in,Makefile.am,autoconf/.cvsignore,autoconf/Makefile.am, 33348 m4/.cvsignore,m4/Makefile.am: Removed trivial m4/Makefile.am and 33349 and autoconf/Makefile.am and do the work from the top level 33350 Makefile.am instead. It's easy to see the structure this way, and 33351 it also removes a couple of recursive make invocations. 33352 33353Thu May 13 09:32:22 BST 2004 Olly Betts <olly@survex.com> 33354 33355 * backends/quartz/btree.cc,backends/quartz/btree.h: Added DEBUGCALL 33356 tracing; Stripped out C_ parameters where they are always the 33357 internal cursor C. 33358 33359Thu May 13 00:05:45 BST 2004 Olly Betts <olly@survex.com> 33360 33361 * extra/queryparser.yy,extra/queryparsertest.cc: If we fail to parse 33362 a query, try stripping out non-alphanumerics and reparsing. 33363 33364Wed May 12 14:32:54 BST 2004 Olly Betts <olly@survex.com> 33365 33366 * common/omtime.h: Corrected file description. 33367 33368Wed May 12 02:08:44 BST 2004 Olly Betts <olly@survex.com> 33369 33370 * backends/quartz/btree.cc: Fixed typos in comment. 33371 33372Tue May 11 20:55:56 BST 2004 Olly Betts <olly@survex.com> 33373 33374 * xapian-config.in: Added comment saying why we filter out 33375 -I/usr/include; Removed no longer used "optarg" stuff; Added licence 33376 boilerplate text (with (C) dates mined from CVS). 33377 33378Tue May 11 13:42:38 BST 2004 Olly Betts <olly@survex.com> 33379 33380 * backends/quartz/bcursor.cc,backends/quartz/btree.cc: Added lots 33381 of assertions. 33382 33383Tue May 11 09:29:51 BST 2004 Richard Boulton <richard@tartarus.org> 33384 33385 * debian/: Added basic Debian packaging. 33386 33387Mon May 10 17:17:45 BST 2004 Olly Betts <olly@survex.com> 33388 33389 * docs/quartzdsign.html: Corrected various pieces of out of date 33390 information. 33391 33392Mon May 10 01:30:35 BST 2004 Olly Betts <olly@survex.com> 33393 33394 * backends/quartz/btree.h: Removed unused forward declaration of 33395 class BtreeCheck. 33396 33397Mon May 10 01:30:24 BST 2004 Olly Betts <olly@survex.com> 33398 33399 * backends/quartz/btree.cc: Fixed typo. 33400 33401Sat May 08 20:14:40 BST 2004 Olly Betts <olly@survex.com> 33402 33403 * backends/quartz/: Pruned some #include-s which were unused, or could 33404 be replaced by forward class declarations. 33405 33406Fri May 07 14:38:10 BST 2004 Olly Betts <olly@survex.com> 33407 33408 * backends/quartz/quartz_postlist.cc: Slight efficiency tweak to the 33409 "deleting the whole posting list" case. 33410 33411Fri May 07 03:16:29 BST 2004 Olly Betts <olly@survex.com> 33412 33413 * backends/quartz/quartz_postlist.cc: Removed another unnecessary use 33414 of QuartzBufferedTable::get_or_make_tag(). 33415 33416Fri May 07 02:56:22 BST 2004 Olly Betts <olly@survex.com> 33417 33418 * backends/quartz/btree.cc: Initialise prev_ptr and next_ptr at open 33419 time for a writable Btree. 33420 33421Fri May 07 02:46:53 BST 2004 Olly Betts <olly@survex.com> 33422 33423 * backends/quartz/quartz_postlist.cc: Remove unneeded call to 33424 QuartzBufferedTable::get_or_make_tag() in a case when we're using a 33425 cursor which has already fetched the tag. 33426 33427Thu May 06 23:30:12 BST 2004 Olly Betts <olly@survex.com> 33428 33429 * backends/quartz/btree.cc: Improved a comment. 33430 33431Thu May 06 22:20:43 BST 2004 Olly Betts <olly@survex.com> 33432 33433 * backends/quartz/btree.cc: Added a few more assertions. 33434 33435Thu May 06 02:25:33 BST 2004 Olly Betts <olly@survex.com> 33436 33437 * backends/quartz/quartz_positionlist.cc, 33438 backends/quartz/quartz_utils.h: Added SON_OF_QUARTZ define to 33439 disable incompatible changes to database formats by default, and 33440 use it to control the docid encoding for keys such that we're always 33441 inserting at the end of the table when added new documents. 33442 33443Thu May 06 02:23:02 BST 2004 Olly Betts <olly@survex.com> 33444 33445 * backends/quartz/quartz_postlist.cc: Improved a FIXME comment. 33446 33447Thu May 06 00:32:17 BST 2004 Olly Betts <olly@survex.com> 33448 33449 * extra/queryparsertest.cc: Added test case for `term NOT "a phrase'. 33450 33451Thu May 06 00:28:32 BST 2004 Olly Betts <olly@survex.com> 33452 33453 * common/omdebug.cc,common/omdebug.h: Renamed OmTimer class used 33454 internally by the --enable-debug=profile code to 33455 Xapian::Internal::Timer. 33456 33457Wed May 05 13:59:47 BST 2004 Olly Betts <olly@survex.com> 33458 33459 * docs/scalability.html: Reworded to remove use of first person. 33460 33461Mon May 03 21:42:05 BST 2004 Olly Betts <olly@survex.com> 33462 33463 * Makefile.am: Improved wording of a FIXME comment. 33464 33465Sun May 02 10:18:55 BST 2004 Olly Betts <olly@survex.com> 33466 33467 * backends/quartz/btree.cc: Improved a couple of comments. 33468 33469Sat May 01 04:42:43 BST 2004 Olly Betts <olly@survex.com> 33470 33471 * backends/quartz/btree.cc,backends/quartz/btree.h, 33472 backends/quartz/quartz_table.cc: Reopening the readonly version 33473 of a writable Btree is now more efficient. 33474 33475Sat May 01 01:41:24 BST 2004 Olly Betts <olly@survex.com> 33476 33477 * PLATFORMS: Added up-to-date success reports for x86-openbsd and 33478 x86-solaris. 33479 33480Fri Apr 30 04:05:15 BST 2004 Olly Betts <olly@survex.com> 33481 33482 * backends/quartz/: Don't delete and reload the Btree_base just after 33483 saving it - instead reuse the existing Btree_base object. 33484 33485Fri Apr 30 02:41:50 BST 2004 Olly Betts <olly@survex.com> 33486 33487 * backends/quartz/btree.cc: Clean up new code in Btree::commit() 33488 from last change. 33489 33490Thu Apr 29 22:41:05 BST 2004 Olly Betts <olly@survex.com> 33491 33492 * backends/quartz/btree.cc,backends/quartz/quartz_table.cc: Don't 33493 close and reopen the database table file descriptors every time 33494 we flush changes. 33495 33496Thu Apr 29 22:40:36 BST 2004 Olly Betts <olly@survex.com> 33497 33498 * docs/quartzdesign.html: Improved wording in a couple of places. 33499 33500Thu Apr 29 16:50:45 BST 2004 Olly Betts <olly@survex.com> 33501 33502 * backends/quartz/bcursor.cc: Removed references to Btree::error 33503 from debug code since Btree::error was removed a week ago. 33504 33505Tue Apr 27 20:46:25 BST 2004 Olly Betts <olly@survex.com> 33506 33507 * backends/quartz/btree.cc,configure.in: Added configure test for 33508 glibc, because otherwise we need to include a header before we 33509 can check for glibc in order to define something we should be 33510 defining before we include any headers! 33511 33512Tue Apr 27 17:45:51 BST 2004 Olly Betts <olly@survex.com> 33513 33514 * backends/quartz/btree.cc: Only defined _XOPEN_SOURCE if __GLIBC__ 33515 is defined. OpenBSD seems to do the opposite to Linux and *disable* 33516 pread and pwrite if this is defined! 33517 33518Tue Apr 27 14:35:47 BST 2004 Olly Betts <olly@survex.com> 33519 33520 * api/omenquire.cc,tests/api_db.cc: Need to adjust index by firstitem 33521 when indexing into items (bug#28). 33522 33523Mon Apr 26 23:45:15 BST 2004 Olly Betts <olly@survex.com> 33524 33525 * PLATFORMS: Successfully built with gcc-3.5-20040327 snapshot on x86 33526 linux. 33527 33528Fri Apr 23 11:26:07 BST 2004 Olly Betts <olly@survex.com> 33529 33530 * PLATFORMS: Successfully built and tested on arm linux. 33531 33532Fri Apr 23 11:24:23 BST 2004 Olly Betts <olly@survex.com> 33533 33534 * tests/remotetest.cc: Use 127.0.0.1 instead of localhost so that 33535 tcpmatch1 doesn't fail just because the network setup is broken. 33536 33537Thu Apr 22 00:54:58 BST 2004 Olly Betts <olly@survex.com> 33538 33539 * backends/quartz/: Stripped out Btree_errors as it's almost 33540 totally unused now. Fixed up the last few uses. 33541 * backends/quartz/quartz_table.cc: Fixed another case where read 33542 and write Btrees should share fds. 33543 33544Wed Apr 21 02:51:08 BST 2004 Olly Betts <olly@survex.com> 33545 33546 * backends/quartz/btree.cc: Check the return value of 33547 fdatasync()/fsync()/_commit() and raise an error. They aren't 33548 likely to fail harmlessly. 33549 33550Wed Apr 21 02:45:28 BST 2004 Olly Betts <olly@survex.com> 33551 33552 * backends/quartz/btree.cc,backends/quartz/btree.h, 33553 backends/quartz/quartz_table.cc: Share file descriptors between 33554 the read and write Btree objects so that a quartz WritableDatabase 33555 now uses 5 fds rather than 10. 33556 33557Wed Apr 21 02:37:38 BST 2004 Olly Betts <olly@survex.com> 33558 33559 * docs/scalability.html: Removed the reference to the Quartz update 33560 bottleneck "currently being addressed for Xapian 0.8" as it's now 33561 been addressed! 33562 33563Wed Apr 21 00:24:08 BST 2004 Olly Betts <olly@survex.com> 33564 33565 * backends/quartz/btree.cc: Corrected a comment. 33566 33567Mon Apr 19 14:42:06 BST 2004 Olly Betts <olly@survex.com> 33568 33569 * NEWS: Final update for 0.8.0. 33570 33571Mon Apr 19 14:02:33 BST 2004 Olly Betts <olly@survex.com> 33572 33573 * AUTHORS: Added people who've contributed build reports for the 33574 PLATFORMS file. 33575 33576Mon Apr 19 14:01:38 BST 2004 Olly Betts <olly@survex.com> 33577 33578 * PLATFORMS: More updates from tinderbox and elsewhere. 33579 33580Sat Apr 17 02:24:11 BST 2004 Olly Betts <olly@survex.com> 33581 33582 * PLATFORMS: Lots of updates from tinderbox and mailing list. 33583 33584Sat Apr 17 00:13:26 BST 2004 Olly Betts <olly@survex.com> 33585 33586 * HACKING: Added notes about using "using", and pointers to a couple 33587 of useful C++ web resources. 33588 33589Mon Apr 12 00:56:04 BST 2004 Olly Betts <olly@survex.com> 33590 33591 * Makefile.am,NEWS,configure.in,extra/Makefile.am: Version 0.8.0. 33592 33593Mon Apr 12 00:31:15 BST 2004 Olly Betts <olly@survex.com> 33594 33595 * NEWS: Updated for 0.8.0. 33596 33597Sun Apr 11 21:18:47 BST 2004 Olly Betts <olly@survex.com> 33598 33599 * extra/queryparser.yy,extra/queryparsertest.cc: Don't use a raw term 33600 for a term which starts with a digit. 33601 33602Sat Apr 10 17:20:23 BST 2004 Olly Betts <olly@survex.com> 33603 33604 * AUTHORS: "Open Muscat" not "OmSee"; Updated the list of contributors 33605 (more work needed...) 33606 33607Sat Apr 10 16:41:28 BST 2004 Olly Betts <olly@survex.com> 33608 33609 * m4/xapian.m4: Make XO_LIB_XAPIAN with no arguments do what most 33610 users will want: check for Xapian and fail if it's not found, 33611 or AC_SUBST XAPIAN_CXXFLAGS and XAPIAN_LIBS if it is. Those 33612 will unusual needs can supply one or both arguments as at 33613 present. 33614 33615Sat Apr 10 15:00:28 BST 2004 Olly Betts <olly@survex.com> 33616 33617 * docs/todo.xml: Updated. 33618 33619Sat Apr 10 00:32:07 BST 2004 Olly Betts <olly@survex.com> 33620 33621 * PLATFORMS: Added success report for GCC 3.4 (prerelease). 33622 33623Sat Apr 10 00:27:58 BST 2004 Olly Betts <olly@survex.com> 33624 33625 * extra/xapian/queryparser.h: Added doxygen documentation comments. 33626 33627Sat Apr 10 00:23:13 BST 2004 Olly Betts <olly@survex.com> 33628 33629 * testsuite/testsuite.cc: Removed a now superfluous line. 33630 33631Sat Apr 10 00:21:15 BST 2004 Olly Betts <olly@survex.com> 33632 33633 * testsuite/testsuite.cc: Give a more accurate message if valgrind 33634 spots a test doing something dodgy (e.g. free() of memory allocated 33635 with new). 33636 33637Thu Apr 08 17:22:20 BST 2004 Olly Betts <olly@survex.com> 33638 33639 * net/.cvsignore: No longer need to ignore readquery.cc. 33640 33641Thu Apr 08 17:19:43 BST 2004 Olly Betts <olly@survex.com> 33642 33643 * include/xapian/base.h: Note in doxygen comment why the ref_count 33644 is mutable. 33645 33646Thu Apr 08 15:33:16 BST 2004 Olly Betts <olly@survex.com> 33647 33648 * testsuite/testsuite.cc: valgrinding code needs errno.h too. 33649 33650Thu Apr 08 15:28:44 BST 2004 Olly Betts <olly@survex.com> 33651 33652 * include/xapian/enquire.h: Make Xapian::Weight::Weight() protected 33653 rather than private as we want to be able to call it from derived 33654 classes (GCC 3.4 flags this, other compilers seem to miss it). 33655 33656Tue Apr 06 03:32:39 BST 2004 Olly Betts <olly@survex.com> 33657 33658 * net/omerr_string.cc,include/xapian/error.h, 33659 include/xapian/errortypes.h,include/xapian/output.h: 33660 Fixed some doxygen warnings. 33661 33662Mon Apr 05 17:21:06 BST 2004 Olly Betts <olly@survex.com> 33663 33664 * README: There never was an Omsee release - the last BrightStation 33665 release was "OpenMuscat 0.4.1". 33666 33667Mon Apr 05 17:19:38 BST 2004 Olly Betts <olly@survex.com> 33668 33669 * backends/quartz/quartz_database.cc, 33670 backends/quartz/quartz_database.h: Make the flush criterion 1000 33671 documents changed (added, removed, or replaced) as that seems to 33672 perform much better over a wide variety of document sizes. 33673 33674Thu Apr 01 01:04:17 BST 2004 Olly Betts <olly@survex.com> 33675 33676 * tests/quartztest.cc: Fixed temporary directory used (a slash was 33677 missing). 33678 33679Thu Apr 01 00:39:59 BST 2004 Olly Betts <olly@survex.com> 33680 33681 * docs/todo.xml: Updated. 33682 33683Fri Mar 26 22:33:30 GMT 2004 Olly Betts <olly@survex.com> 33684 33685 * backends/quartz/quartz_database.cc: Fix problems with termfreq and 33686 collfreq in postlist getting out of step when a recently modified 33687 or deleted document is deleted or remodified. 33688 33689Fri Mar 26 12:31:24 GMT 2004 Olly Betts <olly@survex.com> 33690 33691 * configure.in: Fixed check for --enable-runtime-pseudo-reloc. 33692 33693Fri Mar 26 12:31:00 GMT 2004 Olly Betts <olly@survex.com> 33694 33695 * bin/Makefile.am: Removed spurious "-lz" from quartzdump_LDADD. 33696 33697Thu Mar 25 00:22:13 GMT 2004 Olly Betts <olly@survex.com> 33698 33699 * bin/quartzcheck.cc: Check the structure with the postlist Btree 33700 as well as the Btree structures themselves. 33701 33702Sun Mar 21 00:00:59 GMT 2004 Olly Betts <olly@survex.com> 33703 33704 * backends/quartz/quartz_table_manager.cc: Fix for building on mingw. 33705 33706Sat Mar 20 23:04:27 GMT 2004 Olly Betts <olly@survex.com> 33707 33708 * include/xapian/positioniterator.h,include/xapian/postingiterator.h: 33709 Add doxygen comments in front of PostingIterator and 33710 PositionListIterator classes so that doxygen pulls out the 33711 existing documentation for their methods. 33712 33713Sat Mar 20 16:23:13 GMT 2004 Olly Betts <olly@survex.com> 33714 33715 * configure.in,backends/quartz/quartz_table_manager.cc,common/utils.h: 33716 Added configure test for link() to avoid infinite loop on mingw! 33717 33718Thu Mar 18 12:20:18 GMT 2004 Olly Betts <olly@survex.com> 33719 33720 * configure.in: Improved the --enable-runtime-pseudo-reloc check. 33721 33722Thu Mar 18 00:45:15 GMT 2004 Olly Betts <olly@survex.com> 33723 33724 * bin/Makefile.am,tests/Makefile.am: Pass the magic mingw/cygwin flag 33725 when linking the programs in bin and tests. 33726 33727Thu Mar 18 00:33:22 GMT 2004 Olly Betts <olly@survex.com> 33728 33729 * configure.in,xapian-config.in: mingw and cygwin both need 33730 -Wl,--enable-runtime-pseudo-reloc passing when linking. 33731 Arrange for xapian-config to include this, and check that 33732 the ld installed is a new enough version (or at least that 33733 it was at configure time). 33734 33735Tue Mar 16 01:40:43 GMT 2004 Olly Betts <olly@survex.com> 33736 33737 * docs/matcherdesign.html: Merged in more details from a message I 33738 sent to the mailing list. 33739 33740Mon Mar 15 20:39:21 GMT 2004 Olly Betts <olly@survex.com> 33741 33742 * tests/quartztest.cc: Fail the test if there's still a directory after 33743 rmdir(), or there isn't a directory after mkdir(). Close a 33744 QuartzDatabase or QuartzWritableDatabase before trying to overwrite 33745 it - cygwin doesn't allow use to delete open/locked files... 33746 33747Mon Mar 15 20:38:11 GMT 2004 Olly Betts <olly@survex.com> 33748 33749 * backends/database.cc: Database::Internal::Internal::keep_alive() 33750 should be Database::Internal::keep_alive(). 33751 33752Mon Mar 15 17:20:58 GMT 2004 Olly Betts <olly@survex.com> 33753 33754 * include/xapian/base.h: Returning a void result makes SGI's compiler 33755 complain - don't! 33756 33757Mon Mar 15 14:34:44 GMT 2004 Olly Betts <olly@survex.com> 33758 33759 * common/omdebug.cc: Only use O_SYNC (on the debug log) if we have it. 33760 33761Sun Mar 14 17:48:52 GMT 2004 Olly Betts <olly@survex.com> 33762 33763 * tests/runtest.in: Mark with @configure_input@. 33764 33765Thu Mar 11 23:53:43 GMT 2004 Olly Betts <olly@survex.com> 33766 33767 * common/database.h,common/termlist.h,include/xapian/database.h, 33768 include/xapian/enquire.h: Attempted fixes for warnings given by 33769 SGI's MIPSpro C++ compiler. 33770 33771Thu Mar 11 23:51:10 GMT 2004 Olly Betts <olly@survex.com> 33772 33773 * configure.in: GCC 2.95 supported -Wno-long-long and is our minimum 33774 recommended version, so unconditionally use -Wno-long-long with 33775 GCC, and don't test for it on other compilers (the test incorrectly 33776 decided to use it with SGI's compiler leading to a warning for 33777 every file compiled). 33778 33779Thu Mar 11 17:29:24 GMT 2004 Olly Betts <olly@survex.com> 33780 33781 * docs/intro_ir.html: Added a link to "Information Retrieval" 33782 by Keith v.R. which can be read on his website! 33783 33784Thu Mar 11 17:12:35 GMT 2004 Olly Betts <olly@survex.com> 33785 33786 * PLATFORMS: Added IRIX success reports from Jim Lynch. 33787 33788Thu Mar 11 12:17:21 GMT 2004 Olly Betts <olly@survex.com> 33789 33790 * backends/quartz/quartz_database.cc: Fixes for Sun C++'s fussy 33791 template matching. 33792 33793Thu Mar 11 12:12:46 GMT 2004 Olly Betts <olly@survex.com> 33794 33795 * include/xapian/enquire.h: Another friend fix for Sun's C++. 33796 33797Thu Mar 11 01:56:19 GMT 2004 Olly Betts <olly@survex.com> 33798 33799 * include/xapian/query.h: Another fix for Sun's C++. 33800 33801Tue Mar 09 21:02:08 GMT 2004 Olly Betts <olly@survex.com> 33802 33803 * include/xapian/document.h: string -> std::string. 33804 33805Tue Mar 09 19:04:48 GMT 2004 Olly Betts <olly@survex.com> 33806 33807 * api/omdocument.cc,common/document.h,include/xapian/document.h, 33808 tests/api_db.cc,tests/api_posdb.cc: Renamed 33809 Xapian::Document::add_term_nopos to Xapian::Document::add_term 33810 (with forwarding wrapper method for compatibility with existing 33811 code). 33812 33813Sat Mar 06 02:32:58 GMT 2004 Olly Betts <olly@survex.com> 33814 33815 * docs/: Updated the quickstart tutorial and removed the warning 33816 that "this document isn't up to date". 33817 33818Sat Mar 06 01:56:17 GMT 2004 Olly Betts <olly@survex.com> 33819 33820 * api/omenquire.cc: Another tweak for Sun's C++ compiler. 33821 33822Sat Mar 06 01:31:29 GMT 2004 Olly Betts <olly@survex.com> 33823 33824 * common/omenquireinternal.h: Tweaked friend class declarations a 33825 bit so Sun's C++ compiler can cope. 33826 33827Thu Mar 04 23:58:17 GMT 2004 Olly Betts <olly@survex.com> 33828 33829 * PLATFORMS: Updated with results from the tinderbox. 33830 33831Thu Mar 04 23:29:28 GMT 2004 Olly Betts <olly@survex.com> 33832 33833 * tests/btreetest.cc,tests/quartztest.cc: NetBSD mkdir() doesn't cope 33834 with a trailing / on the path - fixed our code to cope with this. 33835 33836Wed Mar 03 19:14:09 GMT 2004 Olly Betts <olly@survex.com> 33837 33838 * docs/todo.xml: Updated. 33839 33840Fri Feb 13 23:56:44 GMT 2004 Olly Betts <olly@survex.com> 33841 33842 * api/omquery.cc,tests/api_nodb.cc: Throw error when an empty query is 33843 used to build in the binary operator Query ctor. Added regression 33844 test. 33845 33846Fri Feb 13 15:08:09 GMT 2004 Olly Betts <olly@survex.com> 33847 33848 * HACKING: XAPIAN_DEBUG_TYPES should be XAPIAN_DEBUG_FLAGS. 33849 33850Sat Feb 07 14:26:54 GMT 2004 Olly Betts <olly@survex.com> 33851 33852 * docs/queryparser.html: Grammar fixes. 33853 33854Fri Jan 16 02:06:53 GMT 2004 Olly Betts <olly@survex.com> 33855 33856 * backends/quartz/quartz_postlist.cc: Fixed bug flagged up by deldoc4. 33857 33858Thu Jan 15 01:00:48 GMT 2004 Olly Betts <olly@survex.com> 33859 33860 * backends/quartz/quartz_termlist.cc: Use Xapian::doccount instead of 33861 unsigned int in set_entries(). 33862 33863Thu Jan 15 00:56:47 GMT 2004 Olly Betts <olly@survex.com> 33864 33865 * backends/quartz/btree.cc,backends/quartz/btree.h, 33866 testsuite/btreecheck.cc: Made some static functions into static 33867 member functions of Btree so we can avoid duplicating code in 33868 btreecheck.cc. Also tweaked compare_keys to use memcmp and 33869 special case when the keys are the same length (each of these 33870 changes gives a very small speed gain). 33871 33872Thu Jan 15 00:54:47 GMT 2004 Olly Betts <olly@survex.com> 33873 33874 * api/maptermlist.h: Removed a FIXME which already had been fixed. 33875 Removed a couple of asserts from a function which should never be 33876 called (and so had `Assert(false)' anyway). 33877 33878Mon Jan 12 00:32:37 GMT 2004 Olly Betts <olly@survex.com> 33879 33880 * bin/quartzdump.cc: Backslash escape space and backslash in output 33881 rather than hex encoding them; renamed start-term and end-term to 33882 start-key and end-key; removed rather pointless "Calling next" 33883 message; if there's an error, write it to stderr not stdout, and 33884 exit with return code 1. 33885 33886Sun Jan 11 03:23:17 GMT 2004 Olly Betts <olly@survex.com> 33887 33888 * backends/quartz/quartz_termlist.cc: When possible, pack the wdf into 33889 the same byte as the reuse length - doing so typically makes the 33890 termlist 14% smaller! This change is backward compatible. 33891 33892Sat Jan 10 03:04:22 GMT 2004 Olly Betts <olly@survex.com> 33893 33894 * backends/quartz/quartz_postlist.cc: Fixed bug in new postlist 33895 chunking code. 33896 33897Sat Jan 10 00:45:04 GMT 2004 Olly Betts <olly@survex.com> 33898 33899 * backends/quartz/quartz_termlist.cc: Removed unused 33900 OLD_TERMLIST_FORMAT code. 33901 33902Fri Jan 09 21:54:34 GMT 2004 Olly Betts <olly@survex.com> 33903 33904 * backends/quartz/quartz_postlist.cc: Fix incorrect code which just 33905 happens to build and work with GCC 2.95. 33906 33907Fri Jan 09 14:40:00 GMT 2004 Olly Betts <olly@survex.com> 33908 33909 * backends/quartz/quartz_postlist.cc: Tidied the initial call to 33910 get_chunk() out of the merge loop (gives ~4% speedup!) 33911 33912Fri Jan 09 01:31:05 GMT 2004 Olly Betts <olly@survex.com> 33913 33914 * backends/quartz/quartz_postlist.cc: Implement chunking of postlists 33915 once again. 33916 33917Thu Jan 08 21:06:37 GMT 2004 Olly Betts <olly@survex.com> 33918 33919 * backends/quartz/quartz_postlist.cc: Shortcut the very common case 33920 of appending to a posting list (which happens when we're just 33921 adding new documents). Declare small helper functions as "inline". 33922 33923Wed Jan 07 23:21:59 GMT 2004 Olly Betts <olly@survex.com> 33924 33925 * backends/quartz/quartz_database.cc: Set threshold for flushing to 33926 a saner value for the value we are now using. 33927 * backends/quartz/: Use freq_deltas to update the stats in the first 33928 chunk of each postlist. 33929 33930Mon Jan 05 16:00:07 GMT 2004 Olly Betts <olly@survex.com> 33931 33932 * include/xapian/enquire.h: Made the TradWeight constructor explicit. 33933 This is technically an API change as before you could pass a 33934 double where a Xapian::Weight was required - now you must pass 33935 Xapian::TradWeight(2.0) instead of 2.0. That seems desirable, and 33936 it's unlikely any existing code will be affected. 33937 33938Mon Jan 05 15:08:26 GMT 2004 Olly Betts <olly@survex.com> 33939 33940 * include/xapian/: Added "explicit" qualifier to internal ctors 33941 which take a single parameter. 33942 33943Mon Jan 05 15:04:12 GMT 2004 Olly Betts <olly@survex.com> 33944 33945 * include/xapian/base.h: Assigning a normal pointer to a RefCntPtr no 33946 longer creates a temporary RefCntPtr from it. 33947 33948Thu Dec 25 05:49:03 GMT 2003 Olly Betts <olly@survex.com> 33949 33950 * backends/quartz/quartz_postlist.cc: Changed to merge a batch of 33951 changes into a posting list in one pass. 33952 33953Thu Dec 25 05:48:09 GMT 2003 Olly Betts <olly@survex.com> 33954 33955 * docs/quartzdesign.html: Some minor improvements. 33956 33957Thu Dec 25 05:39:57 GMT 2003 Olly Betts <olly@survex.com> 33958 33959 * tests/api_db.cc: Check returned docids are the expected values in a 33960 couple more cases. Improved wording of a comment. 33961 33962Thu Dec 25 05:38:43 GMT 2003 Olly Betts <olly@survex.com> 33963 33964 * backends/quartz/quartz_utils.h: Updated explanation of string 33965 encoding. 33966 33967Thu Dec 25 05:37:36 GMT 2003 Olly Betts <olly@survex.com> 33968 33969 * backends/quartz/quartz_values.cc: Fixed problem with dereferencing 33970 a pointer to the end of a string in debug output. 33971 33972Sun Dec 21 23:35:49 GMT 2003 Olly Betts <olly@survex.com> 33973 33974 * backends/quartz/quartz_postlist.cc: Refactor recently relocated code 33975 to reduce duplication. 33976 33977Sun Dec 21 21:44:07 GMT 2003 Olly Betts <olly@survex.com> 33978 33979 * backends/quartz/quartz_postlist.cc: Renamed 33980 skip_and_check_tname_in_key() to check_tname_in_key() as it doesn't 33981 do any sort of skipping! 33982 33983Sun Dec 21 14:54:49 GMT 2003 Olly Betts <olly@survex.com> 33984 33985 * backends/quartz/quartz_postlist.cc,backends/quartz/quartz_postlist.h, 33986 tests/quartztest.cc: Subsumed QuartzPostList::add_entry and 33987 QuartzPostList::delete_entry into QuartzPostList::merge_changes. 33988 33989Sun Dec 21 03:21:42 GMT 2003 Olly Betts <olly@survex.com> 33990 33991 * backends/quartz/quartz_database.cc, 33992 backends/quartz/quartz_postlist.cc, 33993 backends/quartz/quartz_postlist.h: Move merging on postlist changes 33994 into QuartzPostList in preparation for an efficient 33995 reimplementation. 33996 33997Sun Dec 21 01:47:07 GMT 2003 Olly Betts <olly@survex.com> 33998 33999 * backends/quartz/quartz_postlist.h, 34000 backends/quartz/quartz_table_entries.h: Fixed typos and incorrect 34001 comments. 34002 34003Sat Dec 20 22:11:26 GMT 2003 Olly Betts <olly@survex.com> 34004 34005 * backends/quartz/: Removed several needless inclusions of 34006 quartz_table_entries.h. 34007 34008Sat Dec 20 16:31:46 GMT 2003 Olly Betts <olly@survex.com> 34009 34010 * backends/quartz/,docs/quartzdesign.html: Removed all the quartz 34011 lexicon code and docs. It's been disabled for ages, and we've 34012 not missed it. 34013 34014Sat Dec 20 01:21:47 GMT 2003 Olly Betts <olly@survex.com> 34015 34016 * backends/quartz/quartz_database.h: Added doxygen comments for the 34017 QuartzWritableDatabase members we use to buffer changes. 34018 34019Sat Dec 20 01:19:10 GMT 2003 Olly Betts <olly@survex.com> 34020 34021 * backends/quartz/quartz_database.cc: Trigger autoflush on 34022 totlen_added + totlen_removed rather than specially tracking the 34023 number of document add/delete/replace operations. 34024 34025Fri Dec 19 22:51:26 GMT 2003 Olly Betts <olly@survex.com> 34026 34027 * backends/quartz/: Buffer up changes to the postlists and apply them 34028 all at once (at present they're applied inefficiently, but this is 34029 change enables us to apply them with an efficient merge). 34030 * tests/api_db.cc,tests/quartztest.cc: Added a couple of tests, and 34031 commented out some test lines which fail in debug builds. 34032 34033Sun Dec 14 03:38:55 GMT 2003 Olly Betts <olly@survex.com> 34034 34035 * common/omdebug.cc: Open debug log with flag O_WRONLY so that we can 34036 actually write to it! 34037 34038Mon Dec 08 01:53:24 GMT 2003 Olly Betts <olly@survex.com> 34039 34040 * HACKING: Update to mention that building from CVS requires 34041 ./configure --enable-maintainer-mode (or use bootstrap). 34042 34043Mon Dec 01 19:03:00 GMT 2003 Olly Betts <olly@survex.com> 34044 34045 * configure.in: Fixed the "fixed" valgrind test. 34046 34047Sun Nov 30 23:42:52 GMT 2003 Olly Betts <olly@survex.com> 34048 34049 * configure.in,testsuite/testsuite.cc: Fix test for valgrind - it 34050 wasn't working correctly when valgrind was installed but was too 34051 a version to support VALGRIND_COUNT_ERRORS and VALGRIND_COUNT_LEAKS. 34052 34053Wed Nov 26 16:31:19 GMT 2003 Olly Betts <olly@survex.com> 34054 34055 * Makefile.am,extra/Makefile.am: Updated libtool -version-info 34056 parameters for 0.7.5. 34057 34058Wed Nov 26 15:32:45 GMT 2003 Olly Betts <olly@survex.com> 34059 34060 * NEWS,PLATFORMS,configure.in: Version 0.7.5. 34061 34062Wed Nov 26 15:31:56 GMT 2003 Olly Betts <olly@survex.com> 34063 34064 * extra/queryparser.yy: Special case stemming language "none". 34065 34066Tue Nov 25 04:37:50 GMT 2003 Olly Betts <olly@survex.com> 34067 34068 * api/ompositionlistiterator.cc,api/ompostlistiterator.cc, 34069 include/xapian/positioniterator.h,include/xapian/postingiterator.h, 34070 tests/api_db.cc: Added missing default ctors for PostingIterator and 34071 PositionIterator classes; fixed PositionIterator assignment operator. 34072 34073Tue Nov 25 03:40:11 GMT 2003 Olly Betts <olly@survex.com> 34074 34075 * tests/btreetest.cc: Fixed 2 compiler warnings. 34076 34077Tue Nov 25 02:47:16 GMT 2003 Olly Betts <olly@survex.com> 34078 34079 * common/,include/xapian/: Fixed incorrect doxygen comments which 34080 resulted in some missing text in the collated API and internal 34081 classes documentation. 34082 34083Fri Nov 21 03:23:57 GMT 2003 Olly Betts <olly@survex.com> 34084 34085 * Makefile.am,include/xapian/termiterator.h,api/omtermlistiterator.cc: 34086 TermIterator::TermIterator() fix which actually works! 34087 34088Fri Nov 21 01:14:23 GMT 2003 Olly Betts <olly@survex.com> 34089 34090 * HACKING,configure.in,docs/Makefile.am,extra/Makefile.am: Change to 34091 using AM_MAINTAINER_MODE. If you're doing development work on 34092 Xapian, you should configure with "--enable-maintainer-mode" and 34093 ideally use GNU make. 34094 34095Fri Nov 21 01:13:25 GMT 2003 Olly Betts <olly@survex.com> 34096 34097 * include/xapian/termiterator.h,tests/api_nodb.cc: Added TermIterator 34098 default ctor which had disappeared somehow. Added regression test. 34099 34100Thu Nov 20 03:19:37 GMT 2003 Olly Betts <olly@survex.com> 34101 34102 * configure.in: Fixed test for fdatasync to work (I suspect a change 34103 in a recent autoconf broke it as it relied on autoconf internal 34104 naming). 34105 34106Tue Nov 18 17:53:29 GMT 2003 Olly Betts <olly@survex.com> 34107 34108 * extra/Makefile.am: Tweaked workaround for FreeBSD make in VPATH 34109 builds. 34110 34111Tue Nov 18 17:53:01 GMT 2003 Olly Betts <olly@survex.com> 34112 34113 * extra/queryparsertest.cc: Added another testcase. 34114 34115Tue Nov 18 17:37:20 GMT 2003 Olly Betts <olly@survex.com> 34116 34117 * docs/: Added first cut of documentation for Xapian::QueryParser 34118 query syntax. 34119 * docs/scalability.html: Fixed typo. 34120 34121Fri Oct 31 18:17:13 GMT 2003 Olly Betts <olly@survex.com> 34122 34123 * extra/queryparser.yy,extra/queryparsertest.cc: Added support for 34124 term prefixes on phrases and expressions (e.g. author:(twain OR poe) 34125 subject:"space flight"). 34126 34127Tue Oct 28 15:03:01 GMT 2003 Olly Betts <olly@survex.com> 34128 34129 * api/omenquire.cc: Added FIXME comment. 34130 34131Tue Oct 28 15:01:14 GMT 2003 Olly Betts <olly@survex.com> 34132 34133 * docs/todo.xml: Removed Java from list of language bindings we'd 34134 like to support, as we should have up-to-date Java bindings soon. 34135 34136Sun Oct 26 20:18:24 GMT 2003 Olly Betts <olly@survex.com> 34137 34138 * bin/quartzcompact.cc: Fix the name that the meta file gets copied 34139 to (was /path/to/dbdirmeta rather than /path/to/dbdir/meta). 34140 34141Tue Oct 21 22:26:51 BST 2003 Olly Betts <olly@survex.com> 34142 34143 * extra/Makefile.am: Backed out previous change - the original rule 34144 does work, but the build machine had a generated file which stopped 34145 the symlink being generated. 34146 34147Tue Oct 21 22:14:22 BST 2003 Olly Betts <olly@survex.com> 34148 34149 * extra/Makefile.am: Tweaked rule to symlink queryparser.cc. 34150 34151Tue Oct 21 17:31:10 BST 2003 Olly Betts <olly@survex.com> 34152 34153 * extra/Makefile.am: Added rule to symlink queryparser.cc from source 34154 tree to build tree - otherwise FreeBSD's make insists on 34155 regenerating it... 34156 34157Wed Oct 08 14:04:44 BST 2003 Olly Betts <olly@survex.com> 34158 34159 * backends/quartz/.cvsignore,tests/Makefile.am,testsuite/.cvsignore: 34160 Updated to reflect move of libbtreecheck.la from backends/quartz 34161 to testsuite. 34162 34163Wed Oct 08 13:22:08 BST 2003 Olly Betts <olly@survex.com> 34164 34165 * backends/quartz/btree.cc: Don't pass mode argument to open when we 34166 aren't specifying O_CREAT. 34167 34168Thu Oct 02 15:29:38 BST 2003 Olly Betts <olly@survex.com> 34169 34170 * NEWS: Another entry for omega for 0.7.4. 34171 34172Thu Oct 02 14:57:25 BST 2003 Olly Betts <olly@survex.com> 34173 34174 * configure.in,extra/Makefile.am: Version 0.7.4. 34175 34176Thu Oct 02 14:56:36 BST 2003 Olly Betts <olly@survex.com> 34177 34178 * HACKING: Improved wording in a few places. 34179 34180Thu Oct 02 14:39:49 BST 2003 Olly Betts <olly@survex.com> 34181 34182 * NEWS: Updated. 34183 34184Thu Oct 02 13:35:46 BST 2003 Olly Betts <olly@survex.com> 34185 34186 * xapian.spec.in: Don't hardcode the shared library versioning info. 34187 34188Wed Oct 01 13:51:15 BST 2003 Olly Betts <olly@survex.com> 34189 34190 * PLATFORMS: Updated - Solaris 8 + Sun Workshop C++ doesn't actually 34191 pass "make check" (I forgot the tinderbox builds omega before "make 34192 check"). 34193 34194Tue Sep 30 21:39:20 BST 2003 Olly Betts <olly@survex.com> 34195 34196 * configure.in: Another stab at fixing the test for -lsocket. 34197 34198Tue Sep 30 18:29:31 BST 2003 Olly Betts <olly@survex.com> 34199 34200 * configure.in: Quote arguments to test in a couple of places. 34201 34202Tue Sep 30 11:20:09 BST 2003 Olly Betts <olly@survex.com> 34203 34204 * configure.in: Fixed test for -lsocket. 34205 34206Tue Sep 30 10:17:09 BST 2003 Olly Betts <olly@survex.com> 34207 34208 * PLATFORMS: Updated - Solaris 8 + Sun Workshop C++ builds and passes 34209 "make check" (but Omega fails to build). 34210 34211Mon Sep 29 00:41:19 BST 2003 Olly Betts <olly@survex.com> 34212 34213 * configure.in: Fixed dependency libs for libxapian. 34214 34215Sun Sep 28 23:55:49 BST 2003 Olly Betts <olly@survex.com> 34216 34217 * Makefile.am,backends/quartz/Makefile.am, 34218 backends/quartz/btreecheck.cc,backends/quartz/btreecheck.h, 34219 bin/Makefile.am,testsuite/Makefile.am,testsuite/btreecheck.cc, 34220 testsuite/btreecheck.h: libbtreecheck.la now has an explicit 34221 dependency on libxapian.la. 34222 34223Sun Sep 28 17:29:55 BST 2003 Olly Betts <olly@survex.com> 34224 34225 * Makefile.am,configure.in: Tell libtool about any libraries which 34226 libxapian needs to depend on. 34227 34228Fri Sep 26 09:39:29 BST 2003 Olly Betts <olly@survex.com> 34229 34230 * bin/Makefile.am: Swap order of libbtreecheck.la and libxapian.la 34231 when linking quartzcheck to see if that gets it to work with 34232 Sun's CC. 34233 34234Thu Sep 25 17:25:17 BST 2003 Olly Betts <olly@survex.com> 34235 34236 * xapian-config.in: Fixed stupid mistake in previous check-in. 34237 34238Thu Sep 25 16:50:00 BST 2003 Olly Betts <olly@survex.com> 34239 34240 * xapian-config.in: Link with libxapianqueryparser before libxapian, 34241 since that's the dependency order. 34242 34243Thu Sep 25 16:43:20 BST 2003 Olly Betts <olly@survex.com> 34244 34245 * include/om/om.h: Updated comment about why we `#include <iostream>'. 34246 34247Thu Sep 25 13:13:37 BST 2003 Olly Betts <olly@survex.com> 34248 34249 * api/omqueryinternal.cc,backends/database.cc,common/omdebug.cc, 34250 common/omstringstream.h,include/xapian/output.h: Removed or replaced 34251 uses of <iostream> and <iosfwd> - we don't need or want the library 34252 to pull in cin and friends. 34253 34254Thu Sep 25 13:12:31 BST 2003 Olly Betts <olly@survex.com> 34255 34256 * Makefile.am: Improved several comments. 34257 34258Thu Sep 25 11:57:03 BST 2003 Olly Betts <olly@survex.com> 34259 34260 * api/omqueryinternal.cc: Removed `#include <iostream>' left over from 34261 debugging; changed to `using namespace std;'. 34262 34263Mon Sep 15 00:41:10 BST 2003 Olly Betts <olly@survex.com> 34264 34265 * extra/queryparser.yy: Fixed to build with Sun's C++ compiler. 34266 34267Thu Sep 11 03:35:29 BST 2003 Olly Betts <olly@survex.com> 34268 34269 * dummy.c,dummy.cc,Makefile.am: Change the default file to be C++ so 34270 that automake tells libtool that this is a C++ library. 34271 * Makefile.am: Pass -no-undefined to libtool so that it will build 34272 a DLL on MS Windows. 34273 34274Wed Sep 10 02:53:46 BST 2003 Olly Betts <olly@survex.com> 34275 34276 * docs/scalability.html: Fixed oops (32GB should be 32TB); Added 34277 note about Linux 2.4 and ext2 filesize limits. 34278 34279Tue Sep 09 03:36:05 BST 2003 Olly Betts <olly@survex.com> 34280 34281 * backends/quartz/quartz_database.cc: don't start the document's 34282 TermIterator from scratch on every iteration in replace_document(). 34283 Should be a small performance win. 34284 34285Sun Sep 07 22:17:27 BST 2003 Olly Betts <olly@survex.com> 34286 34287 * configure.in: Fixed check for socketpair - we were automatically 34288 disabling the remote backend on platforms where socketpair is 34289 in libsocket (such as Solaris). 34290 34291Sun Sep 07 19:56:57 BST 2003 Olly Betts <olly@survex.com> 34292 34293 * PLATFORMS: Added success report for cygwin from Eric B. Ridge. 34294 34295Sun Sep 07 03:53:48 BST 2003 Olly Betts <olly@survex.com> 34296 34297 * testsuite/testsuite.cc: Also need to rerun test if it "probably 34298 leaked". 34299 34300Sun Sep 07 03:51:37 BST 2003 Olly Betts <olly@survex.com> 34301 34302 * tests/api_db.cc: Use x & (x - 1) trick to check for x being a power 34303 of 2, rather than an elaborate loop with shifting; use Xapian::docid 34304 rather than "int" and "unsigned int". 34305 34306Sun Sep 07 02:24:06 BST 2003 Olly Betts <olly@survex.com> 34307 34308 * api/omenquire.cc: Fixed small memory leak if 34309 Xapian::Enquire::set_query() is called more than once. 34310 34311Sun Sep 07 02:12:47 BST 2003 Olly Betts <olly@survex.com> 34312 34313 * common/omenquireinternal.h,include/xapian/enquire.h: Fixed 34314 Xapian::ESet to have reference counted internals 34315 * Makefile.am: bumped libxapian version-info to 1:0:0 because of this. 34316 34317Sun Sep 07 02:09:50 BST 2003 Olly Betts <olly@survex.com> 34318 34319 * testsuite/testsuite.cc: Delete any buffered test output before 34320 asking valgrind to check for leaks, as otherwise the buffered 34321 output may be reported as a leak; also fixed |= to != in several 34322 places - a cosmetic bug which lead to extra newlines after test 34323 output. 34324 34325Sun Sep 07 00:09:32 BST 2003 Olly Betts <olly@survex.com> 34326 34327 * testsuite/testsuite.cc: Actually open temporary file for valgrind 34328 to log to. 34329 34330Sat Sep 06 20:50:58 BST 2003 Olly Betts <olly@survex.com> 34331 34332 * configure.in,testsuite/testsuite.cc: Fixed up detection of valgrind 34333 and testsuite code to use it. 34334 34335Sat Sep 06 20:48:17 BST 2003 Olly Betts <olly@survex.com> 34336 34337 * tests/btreetest.cc: Reinstated non-superfluous `/'s which I had 34338 overeagerly removed! 34339 34340Sat Sep 06 17:28:00 BST 2003 Olly Betts <olly@survex.com> 34341 34342 * matcher/Makefile.am: Ship networkmatch.cc even if "make dist" is run 34343 from a tree with the remote backend disabled. 34344 34345Thu Aug 28 00:01:22 BST 2003 Olly Betts <olly@survex.com> 34346 34347 * tests/btreetest.cc: Removed superfluous `/'s from constructed paths. 34348 34349Fri Aug 15 15:12:24 BST 2003 Olly Betts <olly@survex.com> 34350 34351 * PLATFORMS: Updated with current testsuite results for mingw build. 34352 34353Fri Aug 15 15:10:59 BST 2003 Olly Betts <olly@survex.com> 34354 34355 * backends/quartz/btree.cc: Use O_BINARY for database I/O if it 34356 exists. 34357 34358Fri Aug 15 15:10:30 BST 2003 Olly Betts <olly@survex.com> 34359 34360 * common/utils.h: mkdir() only takes one argument on mingw. 34361 34362Fri Aug 15 01:26:22 BST 2003 Olly Betts <olly@survex.com> 34363 34364 * common/utils.h,testsuite/backendmanager.cc: Touch file using 34365 open() rather than system(). 34366 34367Fri Aug 15 01:06:06 BST 2003 Olly Betts <olly@survex.com> 34368 34369 * common/utils.h: Fixed parameter name of system from "filename" to 34370 "command" (cosmetic change). 34371 34372Thu Aug 14 22:31:23 BST 2003 Olly Betts <olly@survex.com> 34373 34374 * net/progclient.cc: Tidied a little. 34375 34376Tue Aug 12 12:50:19 BST 2003 Olly Betts <olly@survex.com> 34377 34378 * backends/quartz/quartz_database.cc: Pass 0 for the lexicon/postlist 34379 table when creating a termlist just to find the doc length. 34380 34381Tue Aug 12 02:08:50 BST 2003 Olly Betts <olly@survex.com> 34382 34383 * api/maptermlist.h,api/omdocument.cc,common/documentterm.h: 34384 Removed unused OmDocumentTerm::termfreq member variable. 34385 34386Tue Aug 12 00:53:02 BST 2003 Olly Betts <olly@survex.com> 34387 34388 * api/omdocument.cc,common/documentterm.h: OmDocumentTerm ctor now 34389 takes wdf, and replaced set_wdf() with inc_wdf() and dec_wdf(). 34390 34391Mon Aug 11 16:11:26 BST 2003 Olly Betts <olly@survex.com> 34392 34393 * backends/quartz/quartz_table_entries.cc: Removed rather unnecessary 34394 use of const_cast. 34395 34396Mon Aug 11 16:11:05 BST 2003 Olly Betts <olly@survex.com> 34397 34398 * backends/quartz/quartz_table.cc: Removed unused variable. 34399 34400Mon Aug 11 16:09:57 BST 2003 Olly Betts <olly@survex.com> 34401 34402 * backends/quartz/quartz_postlist.cc: Fixed typo in comment. 34403 34404Mon Aug 11 15:51:20 BST 2003 Olly Betts <olly@survex.com> 34405 34406 * tests/quartztest.cc: adddoc2 now checks that there weren't any extra 34407 values created. 34408 34409Mon Aug 11 12:55:49 BST 2003 Olly Betts <olly@survex.com> 34410 34411 * configure.in: Sorted out tests for gethostbyname and gethostbyaddr 34412 using standard autoconf macros. 34413 34414Mon Aug 11 12:05:13 BST 2003 Olly Betts <olly@survex.com> 34415 34416 * common/match.h,matcher/: Removed unused open_document() method from 34417 SubMatch and derived classes; calls made by the matcher to 34418 Document::Internal::open_document() now use the lazy flag provided 34419 for precisely this purpose, but apparently never used - this should 34420 give quite a speed boost to any matcher options which use values 34421 (e.g. sort, collapse). 34422 34423Sun Aug 10 02:25:59 BST 2003 Olly Betts <olly@survex.com> 34424 34425 * PLATFORMS: Out of curiosity, I tried to build with a Linux->DJGPP 34426 cross-compiler I had to hand. It built (just had to disable the 34427 remote backend if socketpair isn't found and add the workaround for 34428 not having snprintf). 34429 34430Sun Aug 10 01:38:17 BST 2003 Olly Betts <olly@survex.com> 34431 34432 * common/utils.cc: Fixed to compile if snprintf isn't available. 34433 34434Sun Aug 10 01:37:44 BST 2003 Olly Betts <olly@survex.com> 34435 34436 * backends/quartz/btree.cc: Fixed "initialisation reordered" warning. 34437 34438Sun Aug 10 01:26:58 BST 2003 Olly Betts <olly@survex.com> 34439 34440 * acinclude.m4: Updated in line with previous change. 34441 34442Sun Aug 10 01:00:08 BST 2003 Olly Betts <olly@survex.com> 34443 34444 * configure.in: If fork is found, but socketpair isn't, automatically 34445 disable the remote backend rather than configure dying with an 34446 error. 34447 * autoconf/: Removed various unused autoconf macros. 34448 34449Sat Aug 09 23:57:44 BST 2003 Olly Betts <olly@survex.com> 34450 34451 * backends/quartz/btree.h: Made "overwritten" protected. 34452 34453Sat Aug 09 23:45:26 BST 2003 Olly Betts <olly@survex.com> 34454 34455 * docs/quartzdesign.html: Wrapped an overlong line. 34456 34457Sat Aug 09 23:31:30 BST 2003 Olly Betts <olly@survex.com> 34458 34459 * backends/quartz/btree.cc,backends/quartz/btree.h, 34460 backends/quartz/quartz_table.cc,docs/quartzdesign.html: 34461 Improved class Btree's encapsulation. 34462 34463Sat Aug 09 22:30:13 BST 2003 Olly Betts <olly@survex.com> 34464 34465 * NEWS: Fixed a few typos. 34466 34467Sat Aug 09 22:29:52 BST 2003 Olly Betts <olly@survex.com> 34468 34469 * PLATFORMS: Updated with results from the Tinderbox. 34470 34471Sat Aug 09 22:19:12 BST 2003 Fabrice Colin 34472 34473 * xapian.spec.in: Updated RPM packaging to reflect changes in 0.7.3. 34474 34475Fri Aug 08 01:38:40 BST 2003 Olly Betts <olly@survex.com> 34476 34477 * Makefile.am,configure.in,extra/Makefile.am: Version 0.7.3. 34478 34479Fri Aug 08 01:35:04 BST 2003 Olly Betts <olly@survex.com> 34480 34481 * NEWS: Updated. 34482 34483Fri Aug 08 01:34:29 BST 2003 Olly Betts <olly@survex.com> 34484 34485 * PLATFORMS: Updated with more tinderbox results. 34486 34487Wed Aug 06 16:27:34 BST 2003 Olly Betts <olly@survex.com> 34488 34489 * HACKING: Noted that libtool 1.5 is the first version to actually 34490 support linking C++ libraries properly. 34491 34492Wed Aug 06 16:25:15 BST 2003 Olly Betts <olly@survex.com> 34493 34494 * api/omenquire.cc,net/socketcommon.cc,common/omenquireinternal.h: 34495 Moved rset serialisation into a method of RSet::Internal, so 34496 omrset_to_string() is now just glue code. This eliminates the 34497 need for it to be a friend of RSet::Internal which Sun's C++ 34498 compiler didn't seem to be able to cope with. 34499 34500Wed Aug 06 01:57:11 BST 2003 Olly Betts <olly@survex.com> 34501 34502 * api/omenquire.cc: Applied patch from Olivier Galibert to fix 34503 MSetIterator::get_document() when get_mset() was called with 34504 first != 0. 34505 * tests/api_db.cc: Added regression test (msetiterator3). 34506 34507Mon Aug 04 12:40:25 BST 2003 Olly Betts <olly@survex.com> 34508 34509 * languages/Makefile.am: Fixed compilation for compilers other than 34510 GCC. 34511 34512Wed Jul 30 17:03:14 BST 2003 Olly Betts <olly@survex.com> 34513 34514 * common/getopt.h: Another try - the previous one failed on FreeBSD. 34515 34516Wed Jul 30 15:07:58 BST 2003 Olly Betts <olly@survex.com> 34517 34518 * common/getopt.h: Another iteration of the getopt C++ prototype fix 34519 as the previous one failed on Solaris. 34520 34521Wed Jul 30 02:38:47 BST 2003 Olly Betts <olly@survex.com> 34522 34523 * testsuite/backendmanager.cc: Fixed breakage caused by remotetest 34524 cleanup. 34525 34526Tue Jul 29 13:22:20 BST 2003 Olly Betts <olly@survex.com> 34527 34528 * tests/remotetest.cc: Cleaned up uses of 34529 BackendManager::get_database() to pass a string rather than a vector 34530 with one string in. 34531 34532Tue Jul 29 11:58:21 BST 2003 Olly Betts <olly@survex.com> 34533 34534 * testsuite/testutils.cc: Added output of const vector<unsigned int> 34535 for platforms which use our internal stringstream implementation. 34536 34537Tue Jul 29 11:42:54 BST 2003 Olly Betts <olly@survex.com> 34538 34539 * PLATFORMS: Updated with results from the tinderbox. 34540 34541Tue Jul 29 01:21:53 BST 2003 Olly Betts <olly@survex.com> 34542 34543 * testsuite/testsuite.cc,testsuite/testsuite.h: Only use \r in test 34544 output if the output is a tty. 34545 34546Mon Jul 28 23:56:10 BST 2003 Olly Betts <olly@survex.com> 34547 34548 * xapian-config.in: Fixed fix of --cxxflags for uninstalled VPATH 34549 builds. 34550 34551Mon Jul 28 23:37:15 BST 2003 Olly Betts <olly@survex.com> 34552 34553 * testsuite/backendmanager.cc: Increased default timeout used by 34554 tests running on the remote backend from 10 seconds to 5 minutes 34555 to avoid tests failing just because the machine running them is 34556 slow and/or busy. 34557 34558Mon Jul 28 15:41:12 BST 2003 Olly Betts <olly@survex.com> 34559 34560 * testsuite/testutils.h: Fixed check for broken exception handling 34561 - we were getting "Xapian::" prefixed to one version and not on the 34562 other. 34563 34564Mon Jul 28 15:34:54 BST 2003 Olly Betts <olly@survex.com> 34565 34566 * tests/runtest.in: Set srcdir if it isn't already to make it easy 34567 to manually run test programs from a VPATH build. 34568 34569Mon Jul 28 10:38:04 BST 2003 Olly Betts <olly@survex.com> 34570 34571 * xapian-config.in: Fixed --cxxflags for uninstalled VPATH builds. 34572 34573Mon Jul 28 10:37:17 BST 2003 Olly Betts <olly@survex.com> 34574 34575 * PLATFORMS: Updated FreeBSD success report. 34576 34577Sun Jul 27 16:01:25 BST 2003 Olly Betts <olly@survex.com> 34578 34579 * configure.in: Explicitly remove include/xapian/version.h from 34580 APIDOC_SRC to avoid us trying to run doxygen unnecessarily. 34581 34582Sun Jul 27 14:31:36 BST 2003 Olly Betts <olly@survex.com> 34583 34584 * docs/todo.xml: Assorted updates. 34585 34586Sun Jul 27 13:02:36 BST 2003 Olly Betts <olly@survex.com> 34587 34588 * extra/.cvsignore: We still create libomqueryparser.la for backward 34589 compatibility. 34590 34591Sun Jul 27 04:56:40 BST 2003 Olly Betts <olly@survex.com> 34592 34593 * xapian-config.in,m4/xapian.m4: Added --from-xo-lib-xapian option 34594 to xapian-config for use by XO_LIB_XAPIAN to allow us to give a 34595 more helpful error message if asked to link an uninstalled 34596 libxapian. 34597 34598Sun Jul 27 04:46:48 BST 2003 Olly Betts <olly@survex.com> 34599 34600 * xapian-config.in: Fixed --cxxflags in non-installed case. 34601 Tidied up --help output and error messages. 34602 34603Sun Jul 27 01:40:39 BST 2003 Olly Betts <olly@survex.com> 34604 34605 * tests/api_db.cc: Check termfreq in allterms4. 34606 34607Sun Jul 27 01:39:57 BST 2003 Olly Betts <olly@survex.com> 34608 34609 * extra/queryparsertest.cc: Fixed for relocated queryparser.h. 34610 34611Sun Jul 27 00:59:56 BST 2003 Olly Betts <olly@survex.com> 34612 34613 * .cvsignore,backends/quartz/.cvsignore,extra/.cvsignore: Updated. 34614 34615Sun Jul 27 00:19:11 BST 2003 Olly Betts <olly@survex.com> 34616 34617 * tests/Makefile.am: Oops, failed to remove btreecheck.cc reference 34618 in previous check-in. 34619 34620Sat Jul 26 23:36:01 BST 2003 Olly Betts <olly@survex.com> 34621 34622 * backends/quartz/Makefile.am,bin/Makefile.am,tests/Makefile.am: 34623 Hopefully fixed "make dist" in VPATH builds. 34624 34625Sat Jul 26 22:58:27 BST 2003 Olly Betts <olly@survex.com> 34626 34627 * backends/quartz/Makefile.am: Need to distribute btreecheck.cc. 34628 34629Sat Jul 26 20:05:47 BST 2003 Olly Betts <olly@survex.com> 34630 34631 * xapian-config.in,extra/Makefile.am,extra/queryparser.h, 34632 extra/queryparser.yy,extra/xapian/queryparser.h: Sorted out 34633 xapian-config so it handles using QueryParser too. 34634 34635Sat Jul 26 19:03:04 BST 2003 Olly Betts <olly@survex.com> 34636 34637 * xapian-config.in: Updated logic in --libs and --cxxflags in line 34638 with recent change in --ltlibs. 34639 34640Sat Jul 26 18:31:11 BST 2003 Olly Betts <olly@survex.com> 34641 34642 * xapian-config.in: Reworked logic for finding libxapian.la in 34643 --ltlibs - it may not yet exist in the non-installed case. 34644 * m4/xapian.m4: Don't pass --libs when checking if xapian-config 34645 works as it will fail in the non-installed case. 34646 34647Sat Jul 26 01:25:46 BST 2003 Olly Betts <olly@survex.com> 34648 34649 * NEWS: Updated. 34650 34651Fri Jul 25 10:20:18 BST 2003 Olly Betts <olly@survex.com> 34652 34653 * NEWS: Updated in preparation for 0.7.3 release. 34654 34655Thu Jul 24 23:20:14 BST 2003 Olly Betts <olly@survex.com> 34656 34657 * backends/quartz/quartz_alltermslist.cc, 34658 backends/quartz/quartz_alltermslist.h,tests/api_db.cc: 34659 Fixed allterms TermIterator to not give duplicate terms with a 34660 quartz database when a posting list is chunked; added regression 34661 test (allterms4). 34662 34663Mon Jul 21 15:06:59 BST 2003 Richard Boulton <richard@tartarus.org> 34664 34665 * include/xapian/enquire.h: Fix incorrect documentation comment 34666 for Enquire::set_set_forward(). (Looked like a cut&paste error) 34667 34668Mon Jul 21 01:10:55 BST 2003 Olly Betts <olly@survex.com> 34669 34670 * docs/install.html,m4/xapian.m4: Added XO_LIB_XAPIAN to replace 34671 OM_PATH_XAPIAN. XO_LIB_XAPIAN will automagically enable use of 34672 "xapian-config --ltlibs" if A[CM]_PROG_LIBTOOL is used in 34673 configure.in. 34674 34675Sun Jul 20 16:00:43 BST 2003 Olly Betts <olly@survex.com> 34676 34677 * .cvsignore,Makefile.am,configure.in,xapian-config.in, 34678 xapian-config.nodep.in: Reworked xapian-config so that it 34679 now supports linking with libtool - using libtool means that the 34680 run-time library path is set and that you can now link with an 34681 uninstalled libxapian. Also xapian-config will now work 34682 once configure is run, rather than only after "make all". 34683 34684Thu Jul 17 01:42:47 BST 2003 Olly Betts <olly@survex.com> 34685 34686 * backends/quartz/bcursor.cc,backends/quartz/btree.cc: Check for 34687 EINTR when reading or writing blocks and retry the operation. 34688 34689Thu Jul 17 00:56:35 BST 2003 Olly Betts <olly@survex.com> 34690 34691 * COPYING: Updated FSF address, and reinstated missing section: "How 34692 to Apply These Terms to Your New Programs" 34693 34694Thu Jul 17 00:48:40 BST 2003 Olly Betts <olly@survex.com> 34695 34696 * HACKING,bootstrap: Removed bootstrap in favour of top-level 34697 bootstrap. 34698 34699Mon Jul 14 23:36:14 BST 2003 Olly Betts <olly@survex.com> 34700 34701 * PLATFORMS: Updated some linux results: RH7.3 on x86, and Debian on 34702 alpha and arm. 34703 34704Mon Jul 14 23:33:17 BST 2003 Olly Betts <olly@survex.com> 34705 34706 * configure.in,Makefile.am,extra/Makefile.am: Added versioning 34707 information to libxapian and libomqueryparser. 34708 34709Mon Jul 14 23:32:15 BST 2003 Olly Betts <olly@survex.com> 34710 34711 * bin/quartzdump.cc,testsuite/testsuite.cc: Added long option support 34712 to quartzdump, and to the testsuite programs. 34713 34714Mon Jul 14 22:45:53 BST 2003 Olly Betts <olly@survex.com> 34715 34716 * tests/internaltest.cc: Changed test exception1 to actually test 34717 something (hopefully what was originally intended!) 34718 34719Mon Jul 14 17:15:28 BST 2003 Olly Betts <olly@survex.com> 34720 34721 * common/getopt.h: #include <stdlib.h> before defining getopt as a 34722 macro - hopefully that'll avoid problems with clobbering prototypes 34723 of getopt() in system headers. 34724 34725Sat Jul 12 09:15:26 BST 2003 Olly Betts <olly@survex.com> 34726 34727 * bin/quartzcompact.cc: Need stdio.h for rename(). 34728 34729Sat Jul 12 01:11:54 BST 2003 Olly Betts <olly@survex.com> 34730 34731 * HACKING: Noted another reason why libtool 1.5 is needed. 34732 34733Sat Jul 12 01:11:08 BST 2003 Olly Betts <olly@survex.com> 34734 34735 * docs/mkdoc.pl: Don't choke on a comment at the end of the 34736 DIST_SUBDIRS line in a Makefile.am. 34737 34738Fri Jul 11 22:00:36 BST 2003 Olly Betts <olly@survex.com> 34739 34740 * HACKING: Added note about additional tools needed for building a 34741 distribution. 34742 34743Fri Jul 11 15:13:08 BST 2003 Olly Betts <olly@survex.com> 34744 34745 * NEWS,PLATFORMS,configure.in: Version 0.7.2. 34746 34747Fri Jul 11 12:36:18 BST 2003 Olly Betts <olly@survex.com> 34748 34749 * NEWS: Updated in preparation for 0.7.2. 34750 34751Fri Jul 11 12:12:40 BST 2003 Olly Betts <olly@survex.com> 34752 34753 * configure.in: Fixed test for snprintf. 34754 34755Fri Jul 11 09:37:14 BST 2003 Olly Betts <olly@survex.com> 34756 34757 * testsuite/testsuite.cc: Fixed dereference of a NULL pointer which 34758 was happening when a test threw an unexpected exception. 34759 34760Fri Jul 11 09:31:40 BST 2003 Olly Betts <olly@survex.com> 34761 34762 * testsuite/backendmanager.cc: Backed out incorrect hunk of previous 34763 patch which was causing test failures. 34764 34765Fri Jul 11 01:48:21 BST 2003 Olly Betts <olly@survex.com> 34766 34767 * backends/quartz/quartz_table_manager.cc,tests/quartztest.cc, 34768 testsuite/backendmanager.cc: Tidying up around directory creation. 34769 34770Fri Jul 11 00:57:12 BST 2003 Olly Betts <olly@survex.com> 34771 34772 * include/xapian/database.h: Document that the directory is created. 34773 34774Fri Jul 11 00:53:59 BST 2003 Olly Betts <olly@survex.com> 34775 34776 * backends/quartz/quartz_table_manager.cc: When asked to create a 34777 quartz database, try to create the directory if it doesn't already 34778 exist. Then we don't have to do it in every single Xapian program 34779 which wants to create a database... 34780 34781Fri Jul 11 00:36:00 BST 2003 Olly Betts <olly@survex.com> 34782 34783 * common/getopt.h: Removed space between \ and newline. 34784 34785Fri Jul 11 00:32:40 BST 2003 Olly Betts <olly@survex.com> 34786 34787 * PLATFORMS: Added MacOS X 10.2 success report. 34788 34789Thu Jul 10 20:05:58 BST 2003 Olly Betts <olly@survex.com> 34790 34791 * common/getopt.h: Fixed to work better with C++ compilers on 34792 non-glibc platforms. 34793 34794Thu Jul 10 19:21:00 BST 2003 Olly Betts <olly@survex.com> 34795 34796 * backends/quartz/btree.cc: Modified setting of _XOPEN_SOURCE to 34797 actually work! 34798 34799Thu Jul 10 19:19:30 BST 2003 Olly Betts <olly@survex.com> 34800 34801 * backends/quartz/btree.cc: Defined _XOPEN_SOURCE=500 for GLIBC 34802 so we get pread() and pwrite(). 34803 34804Thu Jul 10 00:28:25 BST 2003 Olly Betts <olly@survex.com> 34805 34806 * HACKING,Makefile.am,configure.in,bindings/.cvsignore, 34807 bindings/Makefile.am,bindings/dir_contents,bindings/guile/.cvsignore, 34808 bindings/guile/Makefile.am,bindings/php4/.cvsignore, 34809 bindings/php4/ABOUT,bindings/php4/Makefile.am,bindings/python/, 34810 bindings/swig/,bindings/tcl8/.cvsignore,bindings/tcl8/Makefile.am, 34811 docs/todo.xml: Removed bindings - they'll shortly reappear in a 34812 separate module named xapian-bindings. 34813 34814Thu Jul 10 00:03:04 BST 2003 Olly Betts <olly@survex.com> 34815 34816 * bindings/swig/om_util_perl5.i: Removed. 34817 34818Wed Jul 09 15:35:56 BST 2003 Olly Betts <olly@survex.com> 34819 34820 * bindings/guile/Makefile.am,bindings/php4/Makefile.am, 34821 bindings/python/Makefile.am,bindings/swig/, 34822 bindings/tcl8/Makefile.am: Removed omtypes.i and merged omstem.i 34823 into xapian.i; added forward declaration for upwrapped classes 34824 to xapian.i. 34825 34826Wed Jul 09 15:34:11 BST 2003 Olly Betts <olly@survex.com> 34827 34828 * bindings/java/,bindings/java/com/muscat/om/,bindings/java/native/: 34829 Removed old Java bindings - we'll do them using SWIG instead. 34830 34831Wed Jul 09 14:51:51 BST 2003 Olly Betts <olly@survex.com> 34832 34833 * bindings/php4/Makefile.am,bindings/php4/xapian/.cvsignore: More 34834 work on the php4 bindings. 34835 34836Wed Jul 09 03:00:17 BST 2003 Olly Betts <olly@survex.com> 34837 34838 * bindings/guile/Makefile.am,bindings/python/Makefile.am, 34839 bindings/tcl8/Makefile.am: Worked towards getting guile and tcl8 34840 bindings up-to-date. 34841 * bindings/php4/.cvsignore: Ignore the whole xapian subdirectory. 34842 34843Wed Jul 09 02:37:12 BST 2003 Olly Betts <olly@survex.com> 34844 34845 * bindings/perl5/: Removed remaining files. 34846 34847Wed Jul 09 02:30:55 BST 2003 Olly Betts <olly@survex.com> 34848 34849 * configure.in,bindings/Makefile.am,bindings/php4/Makefile.am: 34850 Working towards getting the php4 bindings functional again. 34851 34852Wed Jul 09 01:27:39 BST 2003 Olly Betts <olly@survex.com> 34853 34854 * bindings/swig/om_util_php4.i: om_termname -> std::string. 34855 34856Wed Jul 09 01:25:11 BST 2003 Olly Betts <olly@survex.com> 34857 34858 * docs/overview.html,include/xapian/base.h,include/xapian/database.h: 34859 Improvements to doxygen-generated documentation. 34860 34861Wed Jul 09 01:23:55 BST 2003 Olly Betts <olly@survex.com> 34862 34863 * configure.in,docs/todo.xml: Added check for SWIG version (require 34864 at least 1.3.14). 34865 34866Tue Jul 8 20:59:08 2003 James Aylett <james@tartarus.org> 34867 34868 * common/utils.h: missing #include <ctype.h> 34869 34870Tue Jul 8 18:06:23 2003 James Aylett <james@tartarus.org> 34871 34872 * bindings/swig/xapian.i: over-enthusiastic automatic 34873 conversion of termname to std::string 34874 34875Tue Jul 08 17:45:16 BST 2003 Olly Betts <olly@survex.com> 34876 34877 * common/utils.h: Improved mingw implementation of rmdir(). 34878 34879Tue Jul 08 17:43:21 BST 2003 Olly Betts <olly@survex.com> 34880 34881 * NEWS,PLATFORMS,configure.in: Version 0.7.1. 34882 34883Sun Jul 06 21:35:08 BST 2003 Olly Betts <olly@survex.com> 34884 34885 * backends/quartz/btree.cc: Minor tweak. 34886 34887Sun Jul 06 21:34:30 BST 2003 Olly Betts <olly@survex.com> 34888 34889 * common/utils.h: Compile fixes for mingw. 34890 34891Sun Jul 06 17:59:26 BST 2003 Olly Betts <olly@survex.com> 34892 34893 * docs/scalability.html: Fixed typo. 34894 34895Sun Jul 06 13:02:09 BST 2003 Olly Betts <olly@survex.com> 34896 34897 * docs/scalability.html: Fixed typo. 34898 34899Sun Jul 06 12:56:08 BST 2003 Olly Betts <olly@survex.com> 34900 34901 * docs/Makefile.am,docs/index.html,docs/scalability.html: Added new 34902 document on Xapian's scalability. 34903 34904Sun Jul 06 12:15:34 BST 2003 Olly Betts <olly@survex.com> 34905 34906 * backends/quartz/: Made quartz block count unsigned, which should 34907 nearly double the size of database for a given block size. 34908 34909Sun Jul 06 11:47:46 BST 2003 Olly Betts <olly@survex.com> 34910 34911 * backends/quartz/: Use BLK_UNUSED rather than literal -1. 34912 34913Sun Jul 06 11:47:14 BST 2003 Olly Betts <olly@survex.com> 34914 34915 * common/utils.h: Fixed last check-in to compile. 34916 34917Sun Jul 06 11:01:03 BST 2003 Olly Betts <olly@survex.com> 34918 34919 * common/utils.h,tests/btreetest.cc,tests/quartztest.cc, 34920 testsuite/backendmanager.cc: Replaced system("rm -rf ...") with 34921 rmdir() function and added two ms windows implementations for 34922 Sam to try. 34923 34924Sat Jul 05 10:37:35 BST 2003 Olly Betts <olly@survex.com> 34925 34926 * getopt/getopt.c: Suppress "unused variable" warnings from getopt.c. 34927 34928Sat Jul 05 02:21:11 BST 2003 Olly Betts <olly@survex.com> 34929 34930 * docs/todo.xml: Updated. 34931 34932Sat Jul 05 02:09:06 BST 2003 Olly Betts <olly@survex.com> 34933 34934 * configure.in,backends/quartz/btree.cc: Use pread() and pwrite() if 34935 available - this avoids one syscall per block read/write. 34936 34937Fri Jul 04 22:05:14 BST 2003 Olly Betts <olly@survex.com> 34938 34939 * PLATFORMS: Added results from building 0.7.0 on my Linux dev box. 34940 34941Fri Jul 04 18:52:07 BST 2003 Olly Betts <olly@survex.com> 34942 34943 * extra/Makefile.am: Distribute symboltab.h. 34944 34945Fri Jul 04 18:04:53 BST 2003 Olly Betts <olly@survex.com> 34946 34947 * common/Makefile.am: Distribute documentterm.h. 34948 34949Fri Jul 04 15:30:28 BST 2003 Olly Betts <olly@survex.com> 34950 34951 * configure.in: Disabled guile, tcl8, and php4 here as well as in 34952 bindings/Makefile.am. 34953 34954Fri Jul 4 11:27:53 2003 James Aylett <james@tartarus.org> 34955 34956 * bindings/Makefile.am: change commenting so mkdoc.pl doesn't 34957 choke 34958 34959Fri Jul 4 10:51:04 2003 James Aylett <james@tartarus.org> 34960 34961 * bootstrap: add missing ';;' as case pattern delimiter 34962 34963Thu Jul 03 23:46:14 BST 2003 Olly Betts <olly@survex.com> 34964 34965 * bindings/Makefile.am,bindings/python/Makefile.am: Fixed to work with 34966 "make dist". 34967 34968Thu Jul 03 23:29:06 BST 2003 Olly Betts <olly@survex.com> 34969 34970 * NEWS,PLATFORMS,configure.in: Version 0.7.0. 34971 34972Thu Jul 03 22:57:22 BST 2003 Olly Betts <olly@survex.com> 34973 34974 * PLATFORMS: Updated (Linux GCC 2.95 and Linux to mingw cross). 34975 34976Thu Jul 03 22:55:54 BST 2003 Olly Betts <olly@survex.com> 34977 34978 * extra/queryparser.yy,extra/queryparsertest.cc: Allow more than one 34979 adjacent phrase generating character. 34980 34981Thu Jul 03 22:12:18 BST 2003 Olly Betts <olly@survex.com> 34982 34983 * extra/queryparser.yy,extra/queryparsertest.cc: Always ignore phrase 34984 generating characters at start and end of query. 34985 34986Thu Jul 03 21:02:10 BST 2003 Olly Betts <olly@survex.com> 34987 34988 * extra/Makefile.am: Fixed for mingw compile. 34989 34990Thu Jul 03 19:24:50 BST 2003 Olly Betts <olly@survex.com> 34991 34992 * buildall,docs/OMAims: Removed unwanted old files. 34993 34994Thu Jul 03 19:18:41 BST 2003 Olly Betts <olly@survex.com> 34995 34996 * backends/quartz/runquartztest: Obsolete, so removed. 34997 34998Thu Jul 03 01:26:03 BST 2003 Olly Betts <olly@survex.com> 34999 35000 * common/omenquireinternal.h: Fix for building with GCC 3.3. 35001 35002Thu Jul 03 01:02:54 BST 2003 Olly Betts <olly@survex.com> 35003 35004 * NEWS: Updated. 35005 35006Wed Jul 02 22:18:07 BST 2003 Olly Betts <olly@survex.com> 35007 35008 * backends/quartz/bcursor.cc,backends/quartz/bcursor.h: 35009 Made Bcursor::get_key(string * key) const. 35010 35011Wed Jul 02 21:51:43 BST 2003 Olly Betts <olly@survex.com> 35012 35013 * backends/quartz/: Workaround for shared_level problem turns out to 35014 be arguably the better approach, so made it permanent and tidied up 35015 code. 35016 35017Mon Jun 23 21:39:50 BST 2003 Olly Betts <olly@survex.com> 35018 35019 * NEWS: Updated in preparation for 0.7.0 release. 35020 35021Mon Jun 23 21:18:23 BST 2003 Olly Betts <olly@survex.com> 35022 35023 * extra/omparsequery.h: Corrected include protection token comment on 35024 #endif to match that used in the #ifdef. 35025 35026Mon Jun 23 21:10:33 BST 2003 Olly Betts <olly@survex.com> 35027 35028 * bootstrap: Check for Bison 1.875 which doesn't work with Xapian. 35029 35030Mon Jun 23 21:08:35 BST 2003 Olly Betts <olly@survex.com> 35031 35032 * HACKING: Automake 1.7 works reliably with Xapian; CFLAGS=-Werror can 35033 now be used as we suppress the warnings from the Snowball generated 35034 C code. 35035 35036Mon Jun 23 16:55:54 BST 2003 Olly Betts <olly@survex.com> 35037 35038 * api/,backends/inmemory/inmemory_database.cc, 35039 backends/inmemory/inmemory_database.h,backends/quartz/, 35040 bindings/swig/om_util_python.i,bindings/swig/xapian.i,common/, 35041 include/Makefile.am,include/xapian.h,include/om/om.h,include/xapian/, 35042 matcher/localmatch.h,matcher/phrasepostlist.h,tests/api_db.cc, 35043 tests/api_posdb.cc,tests/quartztest.cc: 35044 Xapian::Xapian::PostListIterator -> Xapian::PostingIterator; 35045 Xapian::PositionListIterator -> Xapian::PositionIterator; 35046 xapian/postlistiterator.h -> xapian/postingiterator.h; 35047 xapian/positionlistiterator.h -> xapian/positioniterator.h. 35048 35049Mon Jun 23 15:31:30 BST 2003 Olly Betts <olly@survex.com> 35050 35051 * backends/database.cc,backends/inmemory/inmemory_database.h, 35052 backends/muscat36/,backends/quartz/,bindings/python/Makefile.am, 35053 bindings/swig/om_util.i,bindings/swig/omstem.i,docs/quickstart.html, 35054 docs/todo.xml,include/xapian/database.h,include/xapian/enquire.h, 35055 include/xapian/errortypes.h,tests/api_db.cc,tests/quartztest.cc, 35056 testsuite/backendmanager.cc,testsuite/textfile_indexer.cc: 35057 Xapian::OpeningError renamed to Xapian::DatabaseOpeningError. 35058 * include/om/om.h: OmOpeningError now maps to 35059 Xapian::DatabaseOpeningError. 35060 35061Mon Jun 23 01:44:45 BST 2003 Olly Betts <olly@survex.com> 35062 35063 * api/,backends/inmemory/inmemory_database.cc, 35064 backends/muscat36/da_database.cc,backends/muscat36/db_database.cc, 35065 backends/net/net_database.cc,backends/net/net_termlist.cc, 35066 backends/net/net_termlist.h,backends/quartz/,bin/omprogsrv.cc, 35067 bin/quartzdump.cc,common/,include/xapian/error.h, 35068 include/xapian/errorhandler.h,matcher/emptymatch.h,net/, 35069 tests/quartztest.cc,tests/stemtest.cc,testsuite/testsuite.cc, 35070 testsuite/textfile_indexer.cc: Use '#include <...>' for headers 35071 in include/. 35072 35073Thu Jun 19 17:55:07 BST 2003 Olly Betts <olly@survex.com> 35074 35075 * common/netserver.h,common/socketserver.h,matcher/localmatch.cc, 35076 matcher/multimatch.cc,net/socketserver.cc: Removed unused header 35077 inclusion; pass Stats and Xapian::Database by const reference, not 35078 value. 35079 35080Thu Jun 19 14:50:49 BST 2003 Olly Betts <olly@survex.com> 35081 35082 * extra/queryparser.yy,extra/symboltab.h: Force control characters to 35083 spaces; Added note that accent normalisation is perhaps done at the 35084 wrong time... 35085 35086Thu Jun 19 14:40:36 BST 2003 Olly Betts <olly@survex.com> 35087 35088 * extra/queryparsertest.cc: Added test for control characters. 35089 35090Thu Jun 19 14:31:12 BST 2003 Olly Betts <olly@survex.com> 35091 35092 * extra/queryparsertest.cc: Added checks for weird whitespace in 35093 queries. 35094 35095Wed Jun 18 19:02:14 BST 2003 Olly Betts <olly@survex.com> 35096 35097 * extra/queryparser.yy: Reworked parsing of boolean operators to 35098 improve error reporting. 35099 * extra/queryparsertest.cc: Added 2 more testcases and fixed to better 35100 handle tests for expected errors. 35101 35102Wed Jun 18 19:00:55 BST 2003 Olly Betts <olly@survex.com> 35103 35104 * extra/queryparser.yy: Trim leading and trailing whitespace before 35105 attempting to parse the query. 35106 35107Wed Jun 18 17:58:56 BST 2003 Olly Betts <olly@survex.com> 35108 35109 * extra/queryparser.yy: `using namespace Xapian;' 35110 35111Fri Jun 06 01:33:33 BST 2003 Olly Betts <olly@survex.com> 35112 35113 * docs/quartzdesign.html: Commented out the section on the Lexicon, 35114 which we no longer use. 35115 35116Thu Jun 05 22:40:21 BST 2003 Olly Betts <olly@survex.com> 35117 35118 * bindings/python/.cvsignore,bindings/python/Makefile.am, 35119 bindings/python/dothemake.txt,bindings/swig/om_util_python.i: 35120 Cleaned up building of python bindings by making better use of 35121 automake. 35122 35123Thu Jun 05 22:17:40 BST 2003 Olly Betts <olly@survex.com> 35124 35125 * languages/Makefile.am: Reenable standard warnings apart from the 35126 -Wunused. 35127 35128Thu Jun 05 20:21:08 BST 2003 Olly Betts <olly@survex.com> 35129 35130 * api/omqueryinternal.cc: Fixed a couple of problems with the new 35131 query serialisation. 35132 35133Thu Jun 05 17:55:21 BST 2003 Olly Betts <olly@survex.com> 35134 35135 * HACKING,configure.in: Flex is no longer used, so removed configure 35136 tests and note in HACKING. 35137 35138Thu Jun 05 17:53:30 BST 2003 Olly Betts <olly@survex.com> 35139 35140 * tests/remotetest.cc: In test netexpand1, use TEST() rather than 35141 Assert() so that the check is made in non-debug builds too. 35142 35143Thu Jun 05 17:52:17 BST 2003 Olly Betts <olly@survex.com> 35144 35145 * api/omqueryinternal.cc,common/socketcommon.h,docs/todo.xml, 35146 include/xapian/query.h,net/: Reworked query serialisation so that 35147 the code is now all in api/omqueryinternal.cc. Serialisation is 35148 now rather more compact and no longer relies on flex for parsing. 35149 35150Thu Jun 05 17:45:00 BST 2003 Olly Betts <olly@survex.com> 35151 35152 * bin/Makefile.am: omprogsrv depends on libtest.la, so it need to be 35153 in check_PROGRAMS. 35154 35155Thu Jun 05 17:09:10 BST 2003 Olly Betts <olly@survex.com> 35156 35157 * Makefile.am: Moved bindings after extra in SUBDIRS - the bindings 35158 wrap Xapian::QueryParser so they need to be built after it. 35159 35160Thu Jun 05 01:28:01 BST 2003 Olly Betts <olly@survex.com> 35161 35162 * bindings/python/Makefile.am: Use $(SWIG) (as detected by configure). 35163 35164Thu Jun 05 00:46:16 BST 2003 Olly Betts <olly@survex.com> 35165 35166 * configure.in,bindings/Makefile.am,bindings/python/Makefile.am: 35167 Check for python and find the correct paths for building python 35168 bindings; Added dependencies for building _xapian.so. 35169 35170Wed Jun 4 17:19:37 2003 James Aylett <james@tartarus.org> 35171 35172 * configure.in, Makefile.am, bindings: build system will build 35173 bindings as part of normal build process. No longer build 35174 Perl or Java bindings; for Perl, use Search::Xapian; Java will 35175 be replaced with SWIG-based bindings. 35176 35177 * bindings: bindings now use Xapian:: namespace names rather than 35178 the old Om* ones. Almost all of the API should now be wrapped. 35179 35180Wed Jun 04 02:52:38 BST 2003 Olly Betts <olly@survex.com> 35181 35182 * docs/overview.html: Added start of "Design Principles" section. 35183 * docs/todo.xml: Added a couple more items. 35184 35185Wed Jun 04 02:51:56 BST 2003 Olly Betts <olly@survex.com> 35186 35187 * Makefile.am: Build testsuite later - it now doesn't need to be built 35188 until just before tests. 35189 35190Wed Jun 04 02:43:08 BST 2003 Olly Betts <olly@survex.com> 35191 35192 * backends/muscat36/: Split up spec into comments in the appropriate 35193 header files; fixed to build after recent Om -> Xapian changes. 35194 35195Wed Jun 04 01:56:46 BST 2003 Olly Betts <olly@survex.com> 35196 35197 * HACKING: Bison 1.75 and 1.875a both checked with parsequery.yy 35198 - no problems found. 35199 35200Mon Jun 02 20:14:22 BST 2003 Olly Betts <olly@survex.com> 35201 35202 * ChangeLog.0: Fixed 2 typos. 35203 35204Mon Jun 02 20:09:01 BST 2003 Olly Betts <olly@survex.com> 35205 35206 * NEWS: Updated in preparation for 0.7.0 release. 35207 35208Mon Jun 02 16:25:18 BST 2003 Olly Betts <olly@survex.com> 35209 35210 * configure.in: Fix m4 quoting so that MINOR_VERSION is set correctly. 35211 35212Mon Jun 2 15:22:30 2003 James Aylett <james@tartarus.org> 35213 35214 * bindings/swig/xapian.i: move QueryParser wrapping to use 35215 the new namespace location, and fix include so it can work 35216 out of the build directory rather than just the installed 35217 library 35218 35219Mon Jun 02 14:15:14 BST 2003 Olly Betts <olly@survex.com> 35220 35221 * Makefile.am,configure.in,bindings/Makefile.am,docs/todo.xml: 35222 Added --enable-bindings to configure - if this is specified and 35223 swig is detected, try to build the language bindings. 35224 35225Mon Jun 02 12:46:18 BST 2003 Olly Betts <olly@survex.com> 35226 35227 * backends/database.cc: Fixed parsing of port number in remote stub 35228 databases. 35229 35230Sat May 31 15:03:47 BST 2003 James Aylett <james@tartarus.org> 35231 35232 * bindings/swig: update so can build Python bindings against 35233 latest Xapian; untested, and other languages are likely to 35234 fail 35235 35236Fri May 30 02:59:48 BST 2003 Olly Betts <olly@survex.com> 35237 35238 * extra/queryparser.yy,extra/queryparsertest.cc: Embedded '.' is 35239 now a phrase maker; Ignore `""' in query; Ignore ')' at start 35240 of query. 35241 35242Fri May 30 01:22:49 BST 2003 Olly Betts <olly@survex.com> 35243 35244 * extra/queryparsertest.cc: Added another 405 queries which fail to 35245 parse (courtesy of Arjen van der Meijden). 35246 35247Thu May 29 19:08:28 BST 2003 Olly Betts <olly@survex.com> 35248 35249 * docs/todo.xml,extra/queryparsertest.cc: Extracted two more 35250 queryparser testcases which need fixing from the old todo list. 35251 35252Thu May 29 17:14:04 BST 2003 Olly Betts <olly@survex.com> 35253 35254 * extra/queryparser.yy,extra/queryparsertest.cc: A phrasemaker isn't 35255 a phrasemaker unless it's preceded by an alphanumeric, "+", or "-"; 35256 If a single term is in (), ignore the (). 35257 35258Thu May 29 16:45:39 BST 2003 Olly Betts <olly@survex.com> 35259 35260 * extra/queryparser.yy,extra/queryparsertest.cc: Improved handling 35261 of various odd queries encountered in real life applications. 35262 35263Thu May 29 01:50:51 BST 2003 Olly Betts <olly@survex.com> 35264 35265 * docs/todo.xml: Updated more. 35266 35267Thu May 29 01:26:50 BST 2003 Olly Betts <olly@survex.com> 35268 35269 * api/,backends/database.cc,backends/inmemory/,backends/multi/, 35270 backends/muscat36/,backends/net/,backends/quartz/,common/, 35271 docs/overview.html,docs/quickstart.html, 35272 docs/quickstartexpand.cc.html,extra/queryparser.yy,include/om/om.h, 35273 include/xapian/,matcher/,net/,tests/api_db.cc,tests/api_posdb.cc, 35274 tests/quartztest.cc,testsuite/: Converted remaining om_xxx types 35275 to Xapian::xxx. 35276 35277Wed May 28 23:06:18 BST 2003 Olly Betts <olly@survex.com> 35278 35279 * docs/todo.xml: Updated. 35280 35281Wed May 28 22:59:17 BST 2003 Olly Betts <olly@survex.com> 35282 35283 * tests/api_db.cc: Spelling correction: accross -> across. 35284 35285Wed May 28 20:24:32 BST 2003 Olly Betts <olly@survex.com> 35286 35287 * extra/: OmQueryParser -> Xapian::QueryParser, etc. 35288 35289Wed May 28 20:03:48 BST 2003 Olly Betts <olly@survex.com> 35290 35291 * api/omdocument.cc: Removed include of defunct header 35292 modifieddocument.h. 35293 35294Wed May 28 20:00:56 BST 2003 Olly Betts <olly@survex.com> 35295 35296 * api/maptermlist.h,api/omdocument.cc,api/omvalueiterator.cc, 35297 backends/inmemory/inmemory_document.cc, 35298 backends/inmemory/inmemory_document.h,backends/muscat36/, 35299 backends/net/net_document.cc,backends/net/net_document.h, 35300 backends/quartz/quartz_document.cc,backends/quartz/quartz_document.h, 35301 common/Makefile.am,common/document.h,common/modifieddocument.h, 35302 include/xapian/document.h,tests/api_db.cc: Fixed bug in refactored 35303 Xapian::Document when modifying a copy. Added regression test. 35304 35305Wed May 28 19:23:26 BST 2003 Olly Betts <olly@survex.com> 35306 35307 * common/omenquireinternal.h,include/xapian/database.h, 35308 include/xapian/enquire.h,include/xapian/query.h: Where possible, 35309 declare classes rather than including headers (in public headers). 35310 35311Wed May 28 17:32:14 BST 2003 Olly Betts <olly@survex.com> 35312 35313 * include/xapian/document.h: Just declare "class TermIterator;" rather 35314 than including <xapian/termiterator.h>. 35315 35316Tue May 27 16:59:34 BST 2003 Olly Betts <olly@survex.com> 35317 35318 * common/progserver.h,common/socketserver.h,net/socketserver.cc: 35319 Reduced needless header inclusion. 35320 35321Tue May 27 16:53:40 BST 2003 Olly Betts <olly@survex.com> 35322 35323 * bin/omprogsrv.cc,tests/api_db.cc: Use variable name "dbs" in 35324 preference to "dbgrp". OmDatabaseGroup hasn't existed for 35325 years! 35326 35327Tue May 27 16:51:30 BST 2003 Olly Betts <olly@survex.com> 35328 35329 * Makefile.am: Fixed typo: "bin" should be "net" in remote_subdirs. 35330 35331Tue May 27 02:43:32 BST 2003 Olly Betts <olly@survex.com> 35332 35333 * backends/quartz/Makefile.am: Removed -I referencing testsuite 35334 directory. 35335 35336Tue May 27 02:39:43 BST 2003 Olly Betts <olly@survex.com> 35337 35338 * backends/quartz/,docs/tests.html,tests/: Moved quartztest and 35339 btreetest to tests/ directory. 35340 35341Tue May 27 02:03:07 BST 2003 Olly Betts <olly@survex.com> 35342 35343 * Makefile.am,configure.in,xapian.spec.in,backends/quartz/,bin/, 35344 docs/remote.html,netprogs/,tests/api_db.cc,tests/remotetest.cc, 35345 testsuite/backendmanager.cc,testsuite/testsuite.cc: Sorted out 35346 the source tree structure so that programs which aren't tests which 35347 were previously built by "make check" are now be built by "make". 35348 35349Tue May 27 01:01:40 BST 2003 Olly Betts <olly@survex.com> 35350 35351 * autoconf/dir_contents,backends/dir_contents, 35352 backends/inmemory/dir_contents,backends/multi/dir_contents, 35353 backends/muscat36/dir_contents,backends/net/dir_contents, 35354 backends/quartz/dir_contents,bindings/dir_contents, 35355 common/dir_contents,docs/dir_contents,include/om/dir_contents, 35356 include/xapian/dir_contents,include/dir_contents, 35357 indexer/dir_contents,indexer/indexgraph/dir_contents, 35358 languages/dir_contents,m4/dir_contents,tests/dir_contents: 35359 Updated all the dir_contents files - many were out-of-date. 35360 35361Tue May 27 00:42:54 BST 2003 Olly Betts <olly@survex.com> 35362 35363 * Makefile.am: Filter any .la files out of dependency_libs. 35364 35365Tue May 27 00:11:18 BST 2003 Olly Betts <olly@survex.com> 35366 35367 * netprogs/.cvsignore,netprogs/Makefile.am,netprogs/nettest.cc, 35368 tests/.cvsignore,tests/Makefile.am,tests/remotetest.cc: 35369 netprogs/nettest -> tests/remotetest. 35370 35371Mon May 26 23:49:49 BST 2003 Olly Betts <olly@survex.com> 35372 35373 * netprogs/nettest.cc: Removed test tcpclient1 - the functionality it 35374 tests is also tested by tcpmatch1, and it introduces dependencies on 35375 internal headers. 35376 35377Mon May 26 22:00:01 BST 2003 Olly Betts <olly@survex.com> 35378 35379 * backends/quartz/quartz_table_manager.cc: Give a better error message 35380 if asked to open a pre-0.6 Quartz database. 35381 35382Mon May 26 20:43:21 BST 2003 Olly Betts <olly@survex.com> 35383 35384 * HACKING,Makefile.am,backends/Makefile.am,docs/mkdoc.pl, 35385 net/Makefile.am: Fixed to never leave partial files in place of the 35386 expected output if a build is interrupted. 35387 35388Mon May 26 16:50:59 BST 2003 Olly Betts <olly@survex.com> 35389 35390 * HACKING: Added note adapted from an old email noting why compile-time 35391 options are generally best avoided. 35392 35393Mon May 26 12:03:29 BST 2003 Olly Betts <olly@survex.com> 35394 35395 * testsuite/backendmanager.cc,testsuite/textfile_indexer.cc: Corrected 35396 odd uses of std::string::erase() (instead of `str = str.erase(n, m)' 35397 just use `str.erase(n,m)'). 35398 35399Sun May 25 22:59:44 BST 2003 Olly Betts <olly@survex.com> 35400 35401 * PLATFORMS: Updated. 35402 35403Sun May 25 22:58:28 BST 2003 Olly Betts <olly@survex.com> 35404 35405 * languages/Makefile.am: Suppress "unused" warnings in Snowball 35406 generated C code. 35407 35408Sun May 25 21:43:34 BST 2003 Olly Betts <olly@survex.com> 35409 35410 * api/omtermlistiterator.cc: Removed iostream.h include left over from 35411 debugging. 35412 35413Sun May 25 12:27:11 BST 2003 Olly Betts <olly@survex.com> 35414 35415 * docs/,extra/omparsequery.h,extra/parsequery.yy,include/Makefile.am, 35416 include/xapian.h,include/om/om.h,tests/,testsuite/backendmanager.cc, 35417 testsuite/backendmanager.h,testsuite/testutils.h: Created xapian.h 35418 header and changed everything to use it. 35419 35420Sat May 24 23:35:46 BST 2003 Olly Betts <olly@survex.com> 35421 35422 * api/,backends/inmemory/inmemory_database.cc, 35423 backends/inmemory/inmemory_document.h, 35424 backends/quartz/quartz_database.cc,backends/quartz/quartztest.cc, 35425 common/,include/Makefile.am,include/om/om.h, 35426 include/om/omvalueiterator.h,include/xapian/, 35427 testsuite/backendmanager.cc: OmValueIterator -> Xapian::ValueIterator 35428 etc. 35429 35430Fri May 23 15:32:29 BST 2003 Olly Betts <olly@survex.com> 35431 35432 * api/,backends/database.cc,backends/inmemory/,backends/muscat36/, 35433 backends/net/net_database.cc,backends/net/net_document.cc, 35434 backends/net/net_document.h,backends/quartz/,common/,docs/, 35435 include/Makefile.am,include/om/om.h,include/om/omdocument.h, 35436 include/om/omvalueiterator.h,include/xapian/,indexer/omindexer.h, 35437 matcher/,net/,netprogs/nettest.cc,tests/api_db.cc,tests/api_posdb.cc, 35438 tests/internaltest.cc,testsuite/: OmDocument -> Xapian::Document, etc. 35439 * include/Makefile.am: Fixed library headers to install in xapian and 35440 om subdirectories as they should. 35441 35442Fri May 23 15:31:05 BST 2003 Olly Betts <olly@survex.com> 35443 35444 * backends/quartz/btree.cc: Consistently use int4 for block number - 35445 it really should be unsigned and this is a first step. 35446 35447Mon May 19 13:20:46 BST 2003 Olly Betts <olly@survex.com> 35448 35449 * configure.in: Create include/xapian if it doesn't exist so that 35450 VPATH builds work. 35451 35452Mon May 19 13:17:16 BST 2003 Olly Betts <olly@survex.com> 35453 35454 * Makefile.am: Disabled exported symbol regex for now. 35455 35456Tue May 13 05:08:54 BST 2003 Olly Betts <olly@survex.com> 35457 35458 * api/,backends/database.cc,backends/dir_contents,backends/inmemory/, 35459 backends/multi/,backends/muscat36/,backends/net/,backends/quartz/, 35460 common/,docs/,extra/omparsequery.h,include/,matcher/,net/,netprogs/, 35461 tests/: OmDatabase -> Xapian::Database, etc. 35462 35463Tue May 13 05:07:41 BST 2003 Olly Betts <olly@survex.com> 35464 35465 * NEWS: Corrected spelling: "maintainance" to "maintenance". 35466 35467Tue May 13 00:40:47 BST 2003 Olly Betts <olly@survex.com> 35468 35469 * ChangeLog.0,NEWS,backends/inmemory/inmemory_database.h, 35470 backends/muscat36/da_database.h,backends/muscat36/db_database.h, 35471 backends/quartz/quartz_postlist.h, 35472 indexer/indexgraph/omstopwordnode.cc: Spelling correction: 35473 "occurence" should be "occurrence". 35474 35475Mon May 12 22:39:27 BST 2003 Olly Betts <olly@survex.com> 35476 35477 * api/ompositionlistiteratorinternal.h, 35478 include/om/ompositionlistiterator.h: Removed unused files. 35479 35480Mon May 12 20:51:03 BST 2003 Olly Betts <olly@survex.com> 35481 35482 * api/omdatabaseinternal.cc,backends/database.cc: Moved database 35483 factory functions from api to backends. 35484 35485Fri May 09 04:02:29 BST 2003 Olly Betts <olly@survex.com> 35486 35487 * common/expandweight.h: Removed cruft. 35488 35489Fri May 09 03:50:36 BST 2003 Olly Betts <olly@survex.com> 35490 35491 * common/rset.h: Removed unused RSetI ctor variant. 35492 35493Fri May 09 02:00:03 BST 2003 Olly Betts <olly@survex.com> 35494 35495 * api/omenquire.cc,common/,docs/overview.html,include/om/om.h, 35496 include/xapian/enquire.h,include/xapian/output.h,matcher/, 35497 net/socketclient.cc,net/socketcommon.cc,net/socketserver.cc, 35498 netprogs/nettest.cc,tests/api_db.cc: OmRSet -> Xapian::RSet. 35499 35500Fri May 09 01:06:32 BST 2003 Olly Betts <olly@survex.com> 35501 35502 * api/omenquire.cc: Fixed MSet::Internal::get_description() to include 35503 class name. 35504 35505Fri May 09 01:04:12 BST 2003 Olly Betts <olly@survex.com> 35506 35507 * common/rset.h,matcher/expand.cc,matcher/rset.cc: RSetI now uses 35508 set<Xapian::docid> (as OmRSet::Internal) rather than 35509 vector<RSetItem>. 35510 35511Fri May 09 00:41:20 BST 2003 Olly Betts <olly@survex.com> 35512 35513 * api/omenquire.cc,common/,docs/quickstartexpand.cc.html,matcher/: 35514 RSet internal class renamed to RSetI to aid upcoming OmRSet -> 35515 Xapian::RSet change. RSetI looks like it can be eliminated 35516 later. 35517 35518Thu May 08 23:54:44 BST 2003 Olly Betts <olly@survex.com> 35519 35520 * tests/: Removed make_dbgrp() helper function from apitest as it 35521 makes the test code less clear without making it easier to write. 35522 35523Thu May 08 01:24:53 BST 2003 Olly Betts <olly@survex.com> 35524 35525 * api/ompostlistiterator.cc,docs/overview.html,tests/api_db.cc: 35526 Fixed OmWeight and OmMatchDecider in comments, docs, and 35527 testsuite. 35528 35529Thu May 08 01:16:30 BST 2003 Olly Betts <olly@survex.com> 35530 35531 * api/omenquire.cc,backends/multi/multi_postlist.h,common/, 35532 include/om/om.h,include/xapian/enquire.h,matcher/, 35533 net/socketclient.cc,net/socketserver.cc: OmMatchDecider -> 35534 Xapian::MatchDecider; OmWeight -> Xapian::Weight; BoolWeight, 35535 TradWeight, BM25Weight -> Xapian::. 35536 35537Wed May 07 23:06:47 BST 2003 Olly Betts <olly@survex.com> 35538 35539 * backends/quartz/btreetest.cc,backends/quartz/quartztest.cc, 35540 configure.in,netprogs/nettest.cc,tests/,testsuite/: Minor overhaul 35541 of testsuite. 35542 35543Wed May 07 17:54:34 BST 2003 Olly Betts <olly@survex.com> 35544 35545 * backends/,common/document.h,matcher/Makefile.am,matcher/document.cc: 35546 Removed do_ wrappers for Document methods get_value(), 35547 get_all_values() and get_data(). The wrappers used to perform 35548 thread locking, but now they're just pointless overhead. 35549 35550Wed May 07 17:24:00 BST 2003 Olly Betts <olly@survex.com> 35551 35552 * HACKING: Started section of API structure. 35553 35554Wed May 07 02:16:03 BST 2003 Olly Betts <olly@survex.com> 35555 35556 * api/omenquire.cc,common/expand.h,common/omenquireinternal.h, 35557 common/omstringstream.h,docs/quickstart.html,include/om/om.h, 35558 include/xapian/enquire.h,include/xapian/output.h,matcher/expand.cc, 35559 matcher/multimatch.cc,net/socketcommon.cc,netprogs/nettest.cc, 35560 tests/api_db.cc,testsuite/testutils.cc: OmMSet -> Xapian::MSet, 35561 similarly for OmMSetIterator, OmESet, and OmESetIterator. 35562 35563Tue May 06 19:31:42 BST 2003 Olly Betts <olly@survex.com> 35564 35565 * include/xapian/query.h: New file I failed to checkin on Friday. 35566 35567Tue May 06 14:16:41 BST 2003 Olly Betts <olly@survex.com> 35568 35569 * HACKING,configure.in,tests/.cvsignore,tests/Makefile.am, 35570 tests/runtest.in,testsuite/testsuite.cc: Sorted out autodetection 35571 of valgrind for running testsuite. 35572 * HACKING: Added note about how to run gdb on dynamically linked 35573 binaries built using libtool. 35574 * HACKING: Recommend libtool 1.5 as in 1.4.2 libtool --mode=execute 35575 doesn't seem to handle programs with arguments. 35576 35577Tue May 06 00:25:03 BST 2003 Olly Betts <olly@survex.com> 35578 35579 * PLATFORMS: Updated. 35580 35581Fri May 02 16:58:15 BST 2003 Olly Betts <olly@survex.com> 35582 35583 * configure.in: Improved check that LEX is flex - it will now accept 35584 "flex" with a path and/or prefix. 35585 35586Fri May 02 16:12:46 BST 2003 Olly Betts <olly@survex.com> 35587 35588 * api/,common/,include/,matcher/,net/,netprogs/nettest.cc, 35589 netprogs/omtcpsrv.cc,tests/api_db.cc,tests/api_posdb.cc, 35590 testsuite/testutils.cc,testsuite/testutils.h: OmEnquire -> 35591 Xapian::Enquire, OmQuery -> Xapian::Query, etc. 35592 35593Fri May 02 03:14:28 BST 2003 Olly Betts <olly@survex.com> 35594 35595 * tests/internaltest.cc: Reenabled tests for leak checking and fixed 35596 them up to work with valgrind. 35597 35598Fri May 02 02:14:28 BST 2003 Olly Betts <olly@survex.com> 35599 35600 * testsuite/testsuite.cc,testsuite/testsuite.h: If a testsuite program 35601 is run using "valgrind --logfile-fd=255 ./footest" then the harness 35602 will show valgrind's output for tests which fail because valgrind 35603 spotted errors or leaks (untested under valgrind). 35604 35605Thu May 01 21:25:01 BST 2003 Olly Betts <olly@survex.com> 35606 35607 * api/omenquire.cc,api/omquery.cc,api/omqueryinternal.cc,common/, 35608 docs/overview.html,docs/quickstart.html,extra/omparsequery.h, 35609 extra/parsequery.yy,extra/parsequerytest.cc,include/,matcher/, 35610 net/,netprogs/nettest.cc,tests/api_db.cc,tests/api_nodb.cc, 35611 tests/api_posdb.cc: OmQuery -> Xapian::Query, etc. For now 35612 I've had to expose Xapian::Query::Internal in xapian/query.h 35613 which isn't ideal. 35614 35615Wed Apr 30 20:37:27 BST 2003 Olly Betts <olly@survex.com> 35616 35617 * api/omenquire.cc,common/omenquireinternal.h,include/: 35618 typedefs om_* -> Xapian::*, but not changed all internal uses yet. 35619 35620Wed Apr 30 03:51:52 BST 2003 Olly Betts <olly@survex.com> 35621 35622 * api/,backends/,common/,extra/omparsequery.h,extra/parsequery.yy, 35623 include/,matcher/localmatch.h,matcher/orpostlist.h,tests/api_db.cc: 35624 OmPostListIterator -> Xapian::PostListIterator, etc. 35625 35626Wed Apr 30 02:13:31 BST 2003 Olly Betts <olly@survex.com> 35627 35628 * docs/matcherdesign.html,include/om/omenquire.h: Merged docs 35629 discussing OmMSetIterator::get_collapse_count() into the doxygen 35630 documentation comments - they're docs aimed at the API user so 35631 really don't belong in the internal matcher design docs. 35632 35633Wed Apr 30 01:08:39 BST 2003 Olly Betts <olly@survex.com> 35634 35635 * .cvsignore: Added config.guess. 35636 35637Tue Apr 29 21:08:40 BST 2003 Olly Betts <olly@survex.com> 35638 35639 * include/om/om.h,include/xapian/base.h,include/xapian/error.h, 35640 include/xapian/errorhandler.h,include/xapian/expanddecider.h, 35641 include/xapian/positionlistiterator.h,include/xapian/stem.h, 35642 include/xapian/termiterator.h: OM_HGUARD_* -> XAPIAN_INCLUDED_*. 35643 35644Tue Apr 29 20:37:01 BST 2003 Olly Betts <olly@survex.com> 35645 35646 * api/,backends/,common/,include/,indexer/omnodeinstanceiterator.h, 35647 indexer/ompaditerator.h,net/readquery.h,testsuite/indexer.h: 35648 om/omoutput.h -> xapian/output.h; om/omtypes.h -> xapian/types.h. 35649 35650Tue Apr 29 18:28:27 BST 2003 Olly Betts <olly@survex.com> 35651 35652 * api/,backends/,common/,include/,matcher/,net/socketserver.cc,tests/, 35653 testsuite/backendmanager.cc,testsuite/testsuite.cc: OmTermIterator 35654 -> Xapian::TermIterator, etc. 35655 35656Tue Apr 29 17:39:34 BST 2003 Olly Betts <olly@survex.com> 35657 35658 * common/omdebug.cc: Setting XAPIAN_DEBUG_LOG caused an exception 35659 (with GCC 3.0 at least) unless the value contained %% - fixed. 35660 35661Tue Apr 29 14:29:36 BST 2003 Olly Betts <olly@survex.com> 35662 35663 * api/ompositionlistiterator.cc: Fixed to compile in debug mode. 35664 35665Tue Apr 29 01:06:02 BST 2003 Olly Betts <olly@survex.com> 35666 35667 * xapian.spec.in: Removed %changelog - it hasn't been reliably updated 35668 and only really makes sense when the packaging is done by a third 35669 party anyway. 35670 35671Tue Apr 29 01:03:20 BST 2003 Fabrice Colin 35672 35673 * xapian.spec.in: Fixed packaging of docs. 35674 35675Tue Apr 29 00:33:21 BST 2003 Olly Betts <olly@survex.com> 35676 35677 * HACKING,testsuite/testsuite.cc,testsuite/testsuite.h: valgrind is 35678 now mostly hooked into the testsuite. 35679 * HACKING: Bison 1.875 doesn't work but Bison 1.875a probably does; 35680 suggest CXXFLAGS=-Werror, not CFLAGS. 35681 35682Tue Apr 29 00:14:00 BST 2003 Olly Betts <olly@survex.com> 35683 35684 * INSTALL: Updated. 35685 35686Wed Apr 23 14:31:51 BST 2003 Olly Betts <olly@survex.com> 35687 35688 * api/omtermlistiterator.cc,api/omtermlistiteratorinternal.h, 35689 api/omvalueiteratorinternal.h,backends/inmemory/inmemory_database.cc, 35690 backends/inmemory/inmemory_positionlist.cc, 35691 common/inmemory_positionlist.h: Added InMemoryPositionList ctor 35692 which takes the positions data to avoid needing to construct and 35693 immediately call set_data(). 35694 35695Wed Apr 23 14:14:34 BST 2003 Olly Betts <olly@survex.com> 35696 35697 * api/,backends/,common/,include/,matcher/: OmPositionListIterator 35698 -> Xapian::PositionListIterator, etc. 35699 35700Wed Apr 23 13:47:49 BST 2003 Olly Betts <olly@survex.com> 35701 35702 * xapian.spec.in: Minor tweaks. 35703 35704Sun Apr 20 22:55:04 BST 2003 Olly Betts <olly@survex.com> 35705 35706 * extra/omparsequery.h,include/xapian/stem.h,tests/api_db.cc, 35707 tests/api_nodb.cc,tests/api_posdb.cc,testsuite/backendmanager.cc: 35708 OmStem -> Xapian::Stem; OmExpandDecider -> Xapian::ExpandDecider. 35709 35710Sun Apr 20 22:52:42 BST 2003 Olly Betts <olly@survex.com> 35711 35712 * configure.in,api/omenquire.cc,common/expand.h, 35713 common/omenquireinternal.h,docs/overview.html,include/, 35714 matcher/expand.cc,tests/api_db.cc: OmExpandDecider -> 35715 Xapian::ExpandDecider, etc. 35716 35717Sun Apr 20 22:42:32 BST 2003 Olly Betts <olly@survex.com> 35718 35719 * PLATFORMS,api/,backends/,common/,docs/,include/,matcher/,net/, 35720 netprogs/,tests/,testsuite/: OmError -> Xapian::Error, etc. 35721 35722Fri Apr 18 22:40:31 BST 2003 Sam Liddicott <sam@liddicott.com> 35723 35724 * matcher/multimatch.cc: Fixed so that it updates the OmMSetItem in 35725 the MSet with the collapse_count from the OmMSetItem twin in 35726 collapse_tab or we lose collapse_count if newer collapsing hits are 35727 less relevant than the hits they collapse over. I think we need 35728 collapse_tab maybe to keep a reference to the item in the mset? But 35729 this works for now. 35730 * xapian.spec.in: Fixed to also install include/xapian stuff 35731 35732Fri Apr 18 19:17:56 BST 2003 Olly Betts <olly@survex.com> 35733 35734 * configure.in,include/Makefile.am,include/om/.cvsignore, 35735 include/om/Makefile.am,include/om/om.h,include/om/om.h.in, 35736 include/xapian/.cvsignore,include/xapian/Makefile.am, 35737 include/xapian/dir_contents,include/xapian/version.h.in: 35738 C++ ABI version checking is now done by xapian/version.h. 35739 35740Fri Apr 18 17:57:21 BST 2003 Olly Betts <olly@survex.com> 35741 35742 * configure.in,api/omstem.cc,include/Makefile.am,include/om/om.h.in, 35743 include/om/omstem.h,include/xapian/.cvsignore, 35744 include/xapian/Makefile.am,include/xapian/base.h, 35745 include/xapian/stem.h: Reworked OmStem to use reference counted 35746 internals; renamed OmStem to Xapian::Stem and added a #define for 35747 compatibility with existing code. 35748 35749Fri Apr 18 17:02:56 BST 2003 Olly Betts <olly@survex.com> 35750 35751 * api/,backends/,common/,docs/overview.html,docs/quickstart.html, 35752 docs/quickstartexpand.cc.html,extra/,include/om/,matcher/,net/, 35753 tests/,testsuite/: Use std::string instead of typedef-ing it as 35754 om_termname. The typedef doesn't really buy us anything. Keep 35755 a typedef for compatibility with existing code for now. 35756 35757Fri Apr 18 16:12:32 BST 2003 Olly Betts <olly@survex.com> 35758 35759 * PLATFORMS: GCC 3.2.2 on Redhat 7.1 works with CXXFLAGS=-Werror 35760 35761Thu Apr 10 20:05:27 BST 2003 Olly Betts <olly@survex.com> 35762 35763 * common/Makefile.am,common/indexer.h,testsuite/Makefile.am, 35764 testsuite/indexer.h: Moved indexer.h from common to testsuite 35765 and altered it to use iosfwd instead of iostream and to 35766 declare OmDocument as a class instead of include omdocument.h. 35767 35768Thu Apr 10 18:55:55 BST 2003 Olly Betts <olly@survex.com> 35769 35770 * xapian-config.nodep.in: Removed --prefix and --exec-prefix - you 35771 can't reliably install Xapian with a different prefix to the one 35772 it was configured with, yet these options give the impression you 35773 can. 35774 35775Thu Apr 10 18:53:53 BST 2003 Olly Betts <olly@survex.com> 35776 35777 * .cvsignore: Added config.sub. 35778 35779Thu Apr 10 02:41:50 BST 2003 Olly Betts <olly@survex.com> 35780 35781 * NEWS,configure.in: Updated for 0.6.5 release. 35782 35783Thu Apr 10 02:29:12 BST 2003 Olly Betts <olly@survex.com> 35784 35785 * docs/doxygen_api_footer.html_tmpl,docs/doxygen_full_footer.html_tmpl, 35786 docs/overview.html: Use http://www.doxygen.org/ as URL for doxygen. 35787 * docs/overview.html: Fixed bad link to our own website! 35788 35789Thu Apr 10 02:12:00 BST 2003 Olly Betts <olly@survex.com> 35790 35791 * Makefile.am,backends/Makefile.am,backends/net/.cvsignore, 35792 backends/net/Makefile.am,netprogs/.cvsignore: Renamed libnetdb.la 35793 to libremote.la, and LIB_REMOTE1 to LIBNET_LA. 35794 35795Thu Apr 10 02:08:24 BST 2003 Olly Betts <olly@survex.com> 35796 35797 * PLATFORMS: Updated mingw notes to reflect the change to 35798 automatically disable the remote backend when fork() isn't 35799 available. 35800 35801Thu Apr 10 01:56:34 BST 2003 Olly Betts <olly@survex.com> 35802 35803 * docs/mkdoc.pl: Fixed to only look at directories listed in 35804 DIST_SUBDIRS. 35805 35806Thu Apr 10 00:23:28 BST 2003 Olly Betts <olly@survex.com> 35807 35808 * configure.in: Automatically disable the remote backend if we don't 35809 have fork() since the remote backend requires it in several places; 35810 AM_CONDITIONAL ENABLE_SHARED isn't used anywhere so commented it 35811 out. 35812 35813Wed Apr 09 22:48:20 BST 2003 Olly Betts <olly@survex.com> 35814 35815 * NEWS: Updated with recent changes. 35816 35817Wed Apr 09 22:43:31 BST 2003 Olly Betts <olly@survex.com> 35818 35819 * docs/remote_protocol.html: Talk about Server/Client rather than 35820 ProgServer/ProgClient; reworked first paragraph. 35821 35822Wed Apr 09 13:23:05 BST 2003 Olly Betts <olly@survex.com> 35823 35824 * docs/Makefile.am: Install docs in /usr/share/doc/xapian-core to be 35825 FHS compliant. 35826 * xapian.spec.in: Package quartzcheck and quartzcompact too; sorted 35827 out docs so they all install in the right place. 35828 35829Wed Apr 09 01:16:11 BST 2003 Olly Betts <olly@survex.com> 35830 35831 * configure.in,backends/quartz/quartz_log.cc, 35832 backends/quartz/quartz_table_manager.cc,common/omdebug.cc, 35833 common/omdebug.h: Don't use HAVE_GETPID - if it's not set we assume 35834 GetCurrentProcessId() works, so it's cleaner to test with 35835 #ifdef WIN32 instead. 35836 35837Tue Apr 08 19:56:57 BST 2003 Olly Betts <olly@survex.com> 35838 35839 * PLATFORMS: Updated with the results of many test builds. 35840 35841Tue Apr 08 19:55:15 BST 2003 Olly Betts <olly@survex.com> 35842 35843 * configure.in,backends/quartz/Makefile.am,backends/quartz/btree.cc, 35844 netprogs/nettest.cc,common/getopt.h,common/omtime.h,common/utils.cc, 35845 common/utils.h,tests/Makefile.am,tests/api_db.cc: Now builds with 35846 Linux to mingw cross-compiler. 35847 * tests/Makefile.am: don't include findheaders.pl in the tarball - 35848 it's no longer used. 35849 * tests/internaltest.cc: removed "#include <dlfcn.h>" and disabled 35850 code which used to use it. 35851 * testsuite/backendmanager.cc,testsuite/backendmanager.h: fixed to 35852 work if any backends are disabled. 35853 35854Tue Apr 08 16:09:11 BST 2003 Olly Betts <olly@survex.com> 35855 35856 * backends/quartz/btree.cc,backends/quartz/quartz_log.cc, 35857 backends/quartz/quartz_table_manager.cc,testsuite/testsuite.cc: 35858 Some fixes for building with Linux to mingw cross-compiler. 35859 35860Tue Apr 08 02:26:51 BST 2003 Olly Betts <olly@survex.com> 35861 35862 * backends/quartz/btreetest.cc: If we don't have <sstream> and so are 35863 using our own stringstream implementation, we can't pass it as an 35864 ostream reference so BtreeCheck::check() can't be run in btreetest. 35865 This is only an issue on old compilers (for GCC <= 2.95.2 it seems) 35866 so just disable the checking in that case - it's probably not worth 35867 the effort of trying to make our stringstream a subclass of ostream. 35868 35869Tue Apr 08 01:20:36 BST 2003 Olly Betts <olly@survex.com> 35870 35871 * testsuite/testsuite.cc: Updated unfinished hooks to use valgrind in 35872 the test harness. 35873 35874Fri Apr 04 03:12:27 BST 2003 Olly Betts <olly@survex.com> 35875 35876 * api/omenquire.cc,api/omstem.cc,common/omdebug.cc: Fixed to compile 35877 when configure-d with --enable-debug-verbose --enable-debug=full. 35878 35879Fri Apr 04 03:10:53 BST 2003 Olly Betts <olly@survex.com> 35880 35881 * common/omstringstream.h: Removed unused code for writing 35882 vector<string> to our own implementation of om_ostringstream. 35883 35884Fri Apr 04 03:08:35 BST 2003 Olly Betts <olly@survex.com> 35885 35886 * api/ompostlistiterator.cc: Use "using namespace std;"; replaced 35887 gratuitous use of om_ostringstream. 35888 35889Fri Apr 04 03:07:05 BST 2003 Olly Betts <olly@survex.com> 35890 35891 * tests/api_nodb.cc: Use "using namespace std;"; removed stray cout 35892 debug line. 35893 35894Wed Apr 02 16:54:50 BST 2003 Olly Betts <olly@survex.com> 35895 35896 * tests/internaltest.cc: More Sun C++ fixes. 35897 * PLATFORMS: Updated. 35898 35899Wed Apr 02 16:39:48 BST 2003 Olly Betts <olly@survex.com> 35900 35901 * tests/api_db.cc,net/tcpserver.cc,common/tcpserver.h: More Sun C++ 35902 fettling. 35903 35904Wed Apr 02 15:42:54 BST 2003 Olly Betts <olly@survex.com> 35905 35906 * matcher/emptymatch.h,tests/api_db.cc: More fixes for Sun C++. 35907 35908Wed Apr 02 15:13:58 BST 2003 Olly Betts <olly@survex.com> 35909 35910 * api/omenquire.cc,api/omqueryinternal.cc, 35911 backends/inmemory/inmemory_database.h,common/document.h, 35912 common/netclient.h,common/netserver.h,common/networkstats.h, 35913 common/omlinebuf.h,common/stats.h,include/om/omerror.h, 35914 include/om/omerrorhandler.h,indexer/indexgraph/nodetest.cc, 35915 indexer/indexgraph/omindexerbuilder.cc, 35916 indexer/indexgraph/omindexerinternal.h, 35917 indexer/indexgraph/omstopwordnode.cc, 35918 indexer/indexgraph/regexcommon.h,indexer/indexgraph/toposort.h, 35919 tests/api_db.cc,tests/api_nodb.cc,testsuite/backendmanager.h: 35920 More fixes for Sun C++; removed many superfluous ";" after "}". 35921 35922Wed Apr 02 03:45:42 BST 2003 Olly Betts <olly@survex.com> 35923 35924 * api/omdocument.cc,api/omenquire.cc,api/omtermlistiteratorinternal.h, 35925 backends/inmemory/inmemory_database.h,backends/quartz/btree.cc, 35926 backends/quartz/btree.h,common/alltermslist.h,common/expandweight.h, 35927 common/getopt.h,common/utils.h,include/om/omenquire.h, 35928 matcher/expandweight.cc,matcher/multimatch.cc, 35929 testsuite/backendmanager.h: Resolved various issues so that 35930 libxapian now builds with Sun's C++ compiler. However 35931 libomqueryparser and the test programs don't yet. 35932 35933Tue Apr 01 02:52:57 BST 2003 Olly Betts <olly@survex.com> 35934 35935 * backends/quartz/quartz_types.h: use "unsigned int" rather than 35936 "unsigned long int" so that quartz_tablesize_t matches om_doccount 35937 on 64 bit machines. 35938 35939Mon Mar 31 19:34:54 BST 2003 Olly Betts <olly@survex.com> 35940 35941 * AUTHORS,xapian.spec.in: Merged in changes to RPM packaging from 35942 Fabrice Colin and reworked further. 35943 35944Fri Mar 28 20:04:04 GMT 2003 Olly Betts <olly@survex.com> 35945 35946 * NEWS: Updated. 35947 35948Fri Mar 28 19:53:59 GMT 2003 Olly Betts <olly@survex.com> 35949 35950 * README: Removed out-of-date sourceforge references; tidied up 35951 wording in places. 35952 35953Fri Mar 28 19:52:11 GMT 2003 Olly Betts <olly@survex.com> 35954 35955 * HACKING: Removed out-of-date sourceforge references; tidied up 35956 wording in places; docs/tests.txt is now docs/tests.html . 35957 35958Fri Mar 28 17:35:15 GMT 2003 Olly Betts <olly@survex.com> 35959 35960 * NEWS: Wrote most of the entries for the next release. 35961 35962Fri Mar 28 17:34:57 GMT 2003 Olly Betts <olly@survex.com> 35963 35964 * docs/todo.xml: Updated. 35965 35966Thu Mar 27 05:42:41 GMT 2003 Olly Betts <olly@survex.com> 35967 35968 * .cvsignore,Makefile.am,configure.in,docs/.cvsignore,docs/Makefile.am, 35969 docs/index.html,docs/todo2html.pl: removed machinery to generate 35970 TODO, TODO.release, docs/todo.html, and docs/todo-release.html from 35971 docs/todo.xml - bug and todo items will be tracked in bugzilla 35972 instead. 35973 35974Thu Mar 27 05:25:12 GMT 2003 Olly Betts <olly@survex.com> 35975 35976 * docs/todo.xml: Removed completed items and those already fed into 35977 bugzilla. 35978 35979Thu Mar 27 05:17:05 GMT 2003 Olly Betts <olly@survex.com> 35980 35981 * api/omstem.cc,include/om/omstem.h: Added default OmStem ctor, 35982 and "none" language. Both of these give a stemmer object which 35983 leaves terms unchanged which should allow for simpler logic 35984 in programs using Xapian. The default ctor also removes the 35985 need to mess with pointers in some cases. 35986 35987Thu Mar 27 04:52:27 GMT 2003 Olly Betts <olly@survex.com> 35988 35989 * NEWS: Started to prepare for next release. 35990 35991Thu Mar 27 04:49:52 GMT 2003 Olly Betts <olly@survex.com> 35992 35993 * include/om/omenquire.h,include/om/omerror.h: Improved documentation 35994 comments. 35995 35996Thu Mar 27 01:09:04 GMT 2003 Olly Betts <olly@survex.com> 35997 35998 * docs/todo.xml,tests/api_db.cc: Added regression test for Quartz 35999 bug which caused problems with long terms on machines with signed 36000 chars. 36001 36002Wed Mar 26 20:30:18 GMT 2003 Olly Betts <olly@survex.com> 36003 36004 * matcher/multimatch.cc: fixed interaction of collapsing and 36005 sort_bands == 1. 36006 36007Wed Mar 26 01:04:30 GMT 2003 Olly Betts <olly@survex.com> 36008 36009 * matcher/multimatch.cc: Fixed sort_bands == 1 bug which would 36010 incorrectly reject many documents with a low score. 36011 36012Thu Mar 06 13:04:06 GMT 2003 Sam Liddicott <sam.liddicott@orange.co.uk> 36013 36014 * docs/matcherdesign.html: Add writeup about document collapsing. 36015 36016Thu Mar 06 11:32:05 GMT 2003 Sam Liddicott <sam.liddicott@orange.co.uk> 36017 36018 * Add collapse_count threshold checking to ensure that most 36019 relevant collapsed-away hit is more relevant than threshold 36020 (if specified) 36021 36022Mon Mar 03 14:04:56 GMT 2003 Olly Betts <olly@survex.com> 36023 36024 * docs/quartzdesign.html: Corrected 2kB to 2KB. 36025 36026Fri Feb 28 10:11:04 GMT 2003 Sam Liddicott <sam.liddicott@orange.co.uk> 36027 36028 * Add get_collapse_count() to OmMSetIterator 36029 * Add collapse_count to OmMSetItem 36030 * Add collapse_count tracking to get_mset() 36031 36032Thu Feb 27 15:28:08 GMT 2003 Olly Betts <olly@survex.com> 36033 36034 * common/match.h,common/multimatch.h,matcher/multimatch.cc: Optimise 36035 the common sort_bands == 1 case better. 36036 * tests/api_db.cc: sortbands2 now tests 1 sortband as well as 10. 36037 36038Wed Feb 26 09:58:01 GMT 2003 Sam Liddicott <sam.liddicott@orange.co.uk> 36039 36040 * bootstrap: Fix success message when building in non-src dir 36041 as configure is written to the src dir. 36042 36043Mon Feb 24 10:33:52 GMT 2003 Olly Betts <olly@survex.com> 36044 36045 * matcher/multimatch.cc: Disabled (for now) sort_bands 36046 optimisation which is misbehaving. Fixed forward ordered boolean 36047 optimisation broken by last check-in. 36048 * tests/api_db.cc: Added test_sortbands2 based on James' test code. 36049 36050Sun Feb 23 20:28:47 GMT 2003 Olly Betts <olly@survex.com> 36051 36052 * matcher/multimatch.cc: Fixed problem with sort_bands when asking 36053 for an m-set which didn't start with the first match. 36054 36055Sun Jan 05 22:20:33 GMT 2003 Olly Betts <olly@survex.com> 36056 36057 * testsuite/index_utils.cc: Handling of ^x was just downright wrong 36058 due to a typo. 36059 36060Sun Jan 05 22:19:56 GMT 2003 Olly Betts <olly@survex.com> 36061 36062 * backends/quartz/.cvsignore: Ignore quartzcompact binary. 36063 36064Sun Jan 05 22:18:57 GMT 2003 Olly Betts <olly@survex.com> 36065 36066 * extra/parsequerytest.cc: Fixed to build with GCC 2.95. 36067 36068Tue Dec 24 20:21:03 GMT 2002 Olly Betts <olly@survex.com> 36069 36070 * NEWS: Added omega 0.6.4 changes. 36071 36072Tue Dec 24 19:53:10 GMT 2002 Olly Betts <olly@survex.com> 36073 36074 * NEWS,PLATFORMS,configure.in: Version 0.6.4. 36075 36076Tue Dec 24 19:29:27 GMT 2002 Olly Betts <olly@survex.com> 36077 36078 * backends/quartz/quartz_database.cc,backends/quartz/quartz_table.cc: 36079 Don't bother checking is position_list is empty - just delete it and 36080 let the layer below handle not having anything to delete. 36081 * backends/quartz/quartz_termlist.cc,docs/todo.xml: Fixed unpacking 36082 of termlist on platforms where char is signed. 36083 36084Tue Dec 24 05:48:06 GMT 2002 Olly Betts <olly@survex.com> 36085 36086 * backends/quartz/quartz_database.cc: Fixed double setting of position 36087 list when updating a document with term position information. The 36088 behaviour before was correct, just inefficient. 36089 36090Mon Dec 23 04:44:46 GMT 2002 Olly Betts <olly@survex.com> 36091 36092 * docs/todo.xml: Updated. 36093 36094Mon Dec 23 03:22:19 GMT 2002 Olly Betts <olly@survex.com> 36095 36096 * extra/parsequery.yy: If a stemmed form with a "." is in the query, 36097 include the "." on the form in the unstem multimap. 36098 36099Sun Dec 22 21:44:06 GMT 2002 Olly Betts <olly@survex.com> 36100 36101 * extra/omparsequery.h,extra/parsequery.yy,extra/parsequerytest.cc: 36102 Added support for searching probabilistic fields (using 36103 <field>:<term>). 36104 36105Sat Dec 21 01:38:59 GMT 2002 Olly Betts <olly@survex.com> 36106 36107 * configure.in: Don't include "om.h" in APIDOC_SRC, otherwise 36108 people building from source will need to regenerate the source 36109 docs which will require them to have doxygen installed. 36110 36111Fri Dec 20 15:39:51 GMT 2002 James Aylett <james@tartarus.org> 36112 36113 * Bindings build using SWIG 1.3.14u-20020706-1222, with very 36114 basic functionality tested with the Python target. 36115 36116Fri Dec 20 12:38:26 GMT 2002 James Aylett <tartarus@users.sourceforge.net> 36117 36118 * Tidied up some bindings-related issues, including changes to 36119 the Python bindings to work with Python 2.2. This probably won't 36120 compile as it stands, but it's disabled anyway. 36121 36122Sun Dec 15 18:23:42 GMT 2002 Olly Betts <olly@survex.com> 36123 36124 * api/omdatabase.cc,backends/muscat36/da_database.cc, 36125 backends/muscat36/db_database.cc,matcher/phrasepostlist.cc: 36126 Muscat 3.6 DA and DB databases don't have word position information. 36127 Instead of throwing an exception when this information is requested, 36128 return an empty position list (i.e. behave as a quartz database with 36129 no position information would). 36130 36131Sun Dec 15 03:08:28 GMT 2002 Olly Betts <olly@survex.com> 36132 36133 * backends/muscat36/: DADatabase and DBDatabase ctors need to public 36134 so that they can called from the database factory functions. 36135 * api/omenquire.cc,backends/muscat36/,backends/quartz/btree.cc, 36136 tests/api_db.cc: Fixed compilation warnings. 36137 36138Sat Dec 14 23:02:55 GMT 2002 Olly Betts <olly@survex.com> 36139 36140 * docs/quartzdesign.html,docs/todo.xml: Updated. 36141 36142Sat Dec 14 22:57:41 GMT 2002 Olly Betts <olly@survex.com> 36143 36144 * backends/quartz/Makefile.am,backends/quartz/quartzcheck.cc, 36145 backends/quartz/quartzcompact.cc,backends/quartz/quartzdump.cc: 36146 Enhanced quartzcheck to check all the btrees in a quartz database 36147 if passed a directory name. It also default to "v" rather than 36148 "+" which is more appropriate for an end user checking if tables 36149 in a non-trivial sized database are corrupt. Added quartzcompact 36150 utility to make a copy of a quartz database with full compaction 36151 turned on - this results in a smaller database which is faster to 36152 search. The next update will result in a lot of block splitting 36153 though (since all blocks are as full as possible). 36154 36155Sat Dec 14 16:28:11 GMT 2002 Olly Betts <olly@survex.com> 36156 36157 * NEWS: Updated for 0.6.3 release. 36158 36159Sat Dec 14 04:28:16 GMT 2002 Olly Betts <olly@survex.com> 36160 36161 * PLATFORMS,configure.in: Version 0.6.3. 36162 36163Sat Dec 14 03:54:08 GMT 2002 Olly Betts <olly@survex.com> 36164 36165 * extra/omparsequery.h,extra/parsequery.yy: Create an "unstem" multimap 36166 so users can convert the stemmed terms back into their query 36167 representation. 36168 36169Sat Dec 14 03:48:27 GMT 2002 Olly Betts <olly@survex.com> 36170 36171 * docs/todo.xml: Updated. 36172 36173Sat Dec 14 02:37:41 GMT 2002 Olly Betts <olly@survex.com> 36174 36175 * docs/todo.xml: Updated. 36176 36177Sat Dec 14 02:26:29 GMT 2002 Olly Betts <olly@survex.com> 36178 36179 * docs/remote_protocol.html,net/socketclient.cc,net/socketserver.cc: 36180 Updated remote protocol description. 36181 36182Sat Dec 14 02:05:59 GMT 2002 Olly Betts <olly@survex.com> 36183 36184 * docs/: Updated. 36185 36186Fri Dec 13 23:43:23 GMT 2002 Olly Betts <olly@survex.com> 36187 36188 * include/om/om.h.in: Removed bogus // in the middle of a comment. 36189 36190Fri Dec 13 22:17:41 GMT 2002 Olly Betts <olly@survex.com> 36191 36192 * configure.in,testsuite/testsuite.cc: Added hooks for using valgrind 36193 to find leaks in the test suite. Just need to sort out suitable 36194 hooks in valgrind now! 36195 36196Fri Dec 13 19:57:23 GMT 2002 Olly Betts <olly@survex.com> 36197 36198 * docs/: OmSettings removal updates. 36199 36200Fri Dec 13 19:44:23 GMT 2002 Olly Betts <olly@survex.com> 36201 36202 * bindings/: Made a start updating bindings for OmSettings removal. 36203 36204Fri Dec 13 19:13:36 GMT 2002 Olly Betts <olly@survex.com> 36205 36206 * api/omenquire.cc,common/omenquireinternal.h,include/om/omenquire.h, 36207 net/socketclient.cc,tests/api_db.cc: Finished removal of OmSettings 36208 - all tests now pass once more! 36209 36210Fri Dec 13 16:35:12 GMT 2002 Olly Betts <olly@survex.com> 36211 36212 * api/,backends/quartz/quartz_table_manager.h,common/,docs/,include/, 36213 matcher/,net/,tests/internaltest.cc: Removed last use of OmSettings. 36214 Just a check-point check in - the code compiles, but doesn't pass 36215 tests yet. 36216 36217Fri Dec 13 12:53:01 GMT 2002 Olly Betts <olly@survex.com> 36218 36219 * netprogs/nettest.cc: Updated disabled code to use new database 36220 factory functions; Added "using namespace std;". 36221 36222Thu Dec 12 23:52:32 GMT 2002 Olly Betts <olly@survex.com> 36223 36224 * docs/todo.xml: Tidied my desk and converted lots of scraps of paper 36225 to todo entries. 36226 36227Thu Dec 12 16:43:22 GMT 2002 Olly Betts <olly@survex.com> 36228 36229 * backends/quartz/btree.cc: Added workaround for shared_level problem; 36230 Improved error reporting. 36231 36232Thu Dec 12 01:05:00 GMT 2002 Olly Betts <olly@survex.com> 36233 36234 * docs/overview.html: Updated docs on stub databases. 36235 36236Wed Dec 11 20:49:11 GMT 2002 Olly Betts <olly@survex.com> 36237 36238 * api/omdatabaseinternal.cc,include/om/omdatabase.h,tests/api_db.cc: 36239 Reimplemented stub databases in the new scheme of things. 36240 * backends/inmemory/: fully disabled inmemory_errornext and 36241 inmemory_abortnext code. 36242 36243Tue Dec 10 13:47:44 GMT 2002 Olly Betts <olly@survex.com> 36244 36245 * HACKING: Added note that Bison 1.50 seems to work with Xapian's 36246 .yy files. 36247 36248Mon Dec 09 20:13:00 GMT 2002 Olly Betts <olly@survex.com> 36249 36250 * api/omenquire.cc,common/omenquireinternal.h,docs/todo.xml, 36251 include/om/omenquire.h,tests/api_db.cc: OmEnquire::get_eset() 36252 now takes a flags argument of bit constants |-ed together 36253 instead of 2 bools. 36254 36255Mon Dec 09 12:52:38 GMT 2002 Olly Betts <olly@survex.com> 36256 36257 * backends/quartz/btree.cc,backends/quartz/btree.h: Applied patch 36258 from Martin Porter with better fix for sequential addition bug. 36259 36260Mon Dec 09 09:57:42 GMT 2002 Olly Betts <olly@survex.com> 36261 36262 * docs/todo.xml: Updated. 36263 36264Mon Dec 09 07:32:46 GMT 2002 Olly Betts <olly@survex.com> 36265 36266 * backends/quartz/quartztest.cc: Corrected name of database used 36267 by test adddoc2 (was using testdb_adddoc1!) 36268 36269Mon Dec 09 05:10:09 GMT 2002 Olly Betts <olly@survex.com> 36270 36271 * backends/quartz/quartz_postlist.cc,backends/quartz/quartz_table.cc: 36272 More fettling. 36273 36274Mon Dec 09 04:48:39 GMT 2002 Olly Betts <olly@survex.com> 36275 36276 * backends/quartz/: Minor code fettle. 36277 36278Mon Dec 09 03:32:11 GMT 2002 Olly Betts <olly@survex.com> 36279 36280 * backends/quartz/quartz_postlist.cc: Gratuitous layout fettling. 36281 36282Mon Dec 09 03:30:27 GMT 2002 Olly Betts <olly@survex.com> 36283 36284 * docs/quartzdesign.html: Improved wording and punctuation in 3 36285 places. 36286 36287Mon Dec 09 03:25:09 GMT 2002 Olly Betts <olly@survex.com> 36288 36289 * common/,docs/todo.xml,include/om/omenquire.h,matcher/, 36290 net/socketclient.cc,net/socketserver.cc,netprogs/omprogsrv.cc, 36291 netprogs/omtcpsrv.cc: Fixed the remote backend to handle non-default 36292 weighting schemes. You can now even implement your own weighting 36293 scheme and use it with the remote backend provided you register it 36294 with SocketServer at runtime. 36295 36296Sat Dec 07 21:18:39 GMT 2002 Olly Betts <olly@survex.com> 36297 36298 * PLATFORMS: Updated. 36299 36300Sat Dec 07 21:09:52 GMT 2002 Olly Betts <olly@survex.com> 36301 36302 * NEWS,PLATFORMS,configure.in: Version 0.6.2. 36303 36304Sat Dec 07 20:24:46 GMT 2002 Olly Betts <olly@survex.com> 36305 36306 * NEWS: Updated. 36307 36308Sat Dec 07 20:21:41 GMT 2002 Olly Betts <olly@survex.com> 36309 36310 * docs/quickstart.html: Fixed parameters passed to OmQuartz__open(). 36311 36312Sat Dec 07 20:17:42 GMT 2002 Olly Betts <olly@survex.com> 36313 36314 * backends/quartz/quartztest.cc: Fixed parameters passed to 36315 OmQuartz__open(). 36316 36317Sat Dec 07 16:41:25 GMT 2002 Olly Betts <olly@survex.com> 36318 36319 * docs/tests.html,testsuite/testsuite.cc: The testsuite won't install 36320 its signal handler if XAPIAN_SIG_DFL is set. 36321 36322Sat Dec 07 16:39:01 GMT 2002 Olly Betts <olly@survex.com> 36323 36324 * HACKING: OM_DEBUG_XXX -> XAPIAN_DEBUG_YYY. 36325 36326Sat Dec 07 04:48:37 GMT 2002 Olly Betts <olly@survex.com> 36327 36328 * backends/quartz/btree.cc: max_item_size wasn't being set due to 36329 some over-zealous code pruning. It was defaulting to 0, and 36330 was causing the code to write off the end of allocated memory 36331 blocks. 36332 36333Sat Dec 07 03:22:05 GMT 2002 Olly Betts <olly@survex.com> 36334 36335 * backends/inmemory/,matcher/multimatch.cc: Minor code tidying. 36336 * backends/quartz/btree.cc: Added Assert in Btree::add() to detect 36337 running off end of buffer. 36338 36339Sat Dec 07 03:20:52 GMT 2002 Olly Betts <olly@survex.com> 36340 36341 * matcher/localmatch.cc: fixed handling of wtscheme() - we were 36342 trying to use it for the extra weights, and then double 36343 deleting it! 36344 36345Fri Dec 06 23:05:22 GMT 2002 Olly Betts <olly@survex.com> 36346 36347 * api/omstem.cc,backends/quartz/,common/omdebug.cc,common/utils.h, 36348 matcher/tradweight.cc,net/socketcommon.cc,net/tcpclient.cc, 36349 tests/api_db.cc: Fixed to build with configure --enable-debug=full. 36350 36351Fri Dec 06 23:01:08 GMT 2002 Olly Betts <olly@survex.com> 36352 36353 * common/omdebug.cc,common/omdebug.h: Fixed permissions on newly 36354 created log file (was getting 000!); Simplified class internals; 36355 Renamed env vars: OM_DEBUG_FILE is now XAPIAN_DEBUG_LOG, 36356 OM_DEBUG_TYPES is now XAPIAN_DEBUG_FLAGS (old versions still work 36357 for now). 36358 36359Fri Dec 06 22:58:57 GMT 2002 Olly Betts <olly@survex.com> 36360 36361 * testsuite/testsuite.cc: Fixed so running "gdb .libs/apitest" 36362 finds srcdir (for an in-tree build at least). 36363 36364Fri Dec 06 03:51:35 GMT 2002 Olly Betts <olly@survex.com> 36365 36366 * common/,include/om/omenquire.h,matcher/localmatch.h,matcher/rset.cc, 36367 matcher/stats.cc: Fixed to compile with GCC 3.0. 36368 36369Thu Dec 05 23:28:29 GMT 2002 Olly Betts <olly@survex.com> 36370 36371 * include/om/omdatabase.h: Added missing "std::". 36372 36373Thu Dec 05 23:27:57 GMT 2002 Olly Betts <olly@survex.com> 36374 36375 * docs/remote.html: Updated from OmSettings to factory functions. 36376 36377Thu Dec 05 23:26:42 GMT 2002 Olly Betts <olly@survex.com> 36378 36379 * PLATFORMS: ixion is actually Linux 2.2. 36380 36381Thu Dec 05 04:32:40 GMT 2002 Olly Betts <olly@survex.com> 36382 36383 * testsuite/backendmanager.cc: Fixed BackendManager::do_getdb_quartz() 36384 and do_getwritedb_quartz() to work correctly and so resolved some 36385 test failures. 36386 36387Wed Dec 04 03:35:12 GMT 2002 Olly Betts <olly@survex.com> 36388 36389 * api/omdatabaseinternal.cc,backends/quartz/,docs/todo.xml, 36390 include/om/omdatabase.h: Replace create and allow_overwrite 36391 boolean flags with OM_DB_XXX constants. And we now support 36392 OM_DB_CREATE_OR_OPEN which is a common action to want to 36393 perform, but was fiddly to achieve before. 36394 36395Tue Dec 03 23:59:30 GMT 2002 Olly Betts <olly@survex.com> 36396 36397 * docs/todo.xml: Updated. 36398 36399Tue Dec 03 23:26:27 GMT 2002 Olly Betts <olly@survex.com> 36400 36401 * api/omenquire.cc,backends/quartz/quartz_postlist.h,common/, 36402 docs/omsettings,docs/todo.xml,include/om/omenquire.h,matcher/, 36403 net/socketcommon.cc,net/socketserver.cc,tests/api_db.cc, 36404 tests/api_posdb.cc: Weighting schemes are now specified by passing 36405 in a weighting object, rather than via OmSetttings. The weight 36406 class can be sub-classed by the library user to allow them to 36407 specify their own weighting scheme). Everything works apart 36408 from the remote backend where the weighting scheme type and 36409 parameters aren't passed across the link. 36410 36411Mon Dec 02 20:12:31 GMT 2002 Olly Betts <olly@survex.com> 36412 36413 * NEWS: Updated with changes since 0.6.1. 36414 36415Mon Dec 02 19:44:37 GMT 2002 Olly Betts <olly@survex.com> 36416 36417 * api/ompostlistiterator.cc,backends/multi/multi_postlist.h, 36418 common/irweight.h,common/leafpostlist.h,matcher/: IRWeight 36419 renamed to OmWeight in preparation for making it externally 36420 visible. 36421 36422Mon Dec 02 18:10:55 GMT 2002 Olly Betts <olly@survex.com> 36423 36424 * matcher/bm25weight.cc,matcher/irweight.cc,matcher/tradweight.cc, 36425 matcher/tradweight.h: Started to rework weighting scheme code. 36426 36427Mon Dec 02 17:36:21 GMT 2002 Olly Betts <olly@survex.com> 36428 36429 * api/omdatabaseinternal.cc,backends/quartz/quartz_table_manager.cc: 36430 Tidying up after the recent backend reworking. 36431 36432Mon Dec 02 03:59:39 GMT 2002 Olly Betts <olly@survex.com> 36433 36434 * matcher/: Changed BoolWeight ctor not to take an OmSettings 36435 parameter which is simply ignored. 36436 36437Mon Dec 02 01:35:41 GMT 2002 Olly Betts <olly@survex.com> 36438 36439 * include/om/omdatabase.h: Added documentation comments for all of 36440 the database factory functions. 36441 36442Sun Dec 01 21:45:49 GMT 2002 Olly Betts <olly@survex.com> 36443 36444 * include/om: Added \file documentation comments so doxygen 36445 extracts documentation for functions too. 36446 * docs/: Made a start on updating for the new database factory 36447 functions. 36448 36449Sun Dec 01 15:38:10 GMT 2002 Olly Betts <olly@survex.com> 36450 36451 * api/,backends/,common/,docs/omsettings,docs/todo.xml, 36452 include/om/omdatabase.h,netprogs/,tests/,testsuite/backendmanager.cc, 36453 testsuite/backendmanager.h: No longer use OmSettings to specify 36454 parameters for constructing databases. Instead there's a factory 36455 function for each database type - temporary naming scheme is 36456 OmXxx__open(), mostly because it's easy to grep for later. At 36457 present stub databases and the machinery in InMemory to allow 36458 the multierrhandler1 test aren't working. Everything else should 36459 be. 36460 36461Thu Nov 28 20:15:47 GMT 2002 Olly Betts <olly@survex.com> 36462 36463 * api/omenquire.cc,common/omenquireinternal.h,docs/omsettings, 36464 docs/overview.html,include/om/omenquire.h,tests/api_db.cc: 36465 No longer use OmSettings in OmEnquire::get_eset(); fixed 36466 reversed sense of use_query_terms (and fixed reversed sense 36467 test in apitest which meant this wasn't spotted). 36468 36469Thu Nov 28 20:14:54 GMT 2002 Olly Betts <olly@survex.com> 36470 36471 * docs/index.html: Link to annotated class lists in doxygen generated 36472 documentation rather than rather empty index page. 36473 36474Thu Nov 28 02:23:33 GMT 2002 Olly Betts <olly@survex.com> 36475 36476 * configure.in,NEWS: Version 0.6.1. 36477 36478Thu Nov 28 01:38:05 GMT 2002 Olly Betts <olly@survex.com> 36479 36480 * PLATFORMS: Updated. 36481 36482Thu Nov 28 01:33:25 GMT 2002 Olly Betts <olly@survex.com> 36483 36484 * backends/quartz/: Fixed to compile with GCC 3.0. 36485 36486Thu Nov 28 01:32:31 GMT 2002 Olly Betts <olly@survex.com> 36487 36488 * PLATFORMS: Updated with test results from 0.5.4 release. 36489 36490Wed Nov 27 22:11:38 GMT 2002 Olly Betts <olly@survex.com> 36491 36492 * backends/quartz/btree.h: fixed "public:" bodge added during 36493 factoring-out of BtreeCheck. 36494 36495Wed Nov 27 05:01:14 GMT 2002 Olly Betts <olly@survex.com> 36496 36497 * NEWS,PLATFORMS,configure.in: Updated for 0.6.0 release. 36498 36499Wed Nov 27 05:00:39 GMT 2002 Olly Betts <olly@survex.com> 36500 36501 * AUTHORS,HACKING: Removed or replaced sourceforge.net URLs. 36502 36503Wed Nov 27 04:58:29 GMT 2002 Olly Betts <olly@survex.com> 36504 36505 * docs/quartzdesign.html: Reworded "under development" warning; 36506 Updated Btree::check(), which is now BtreeCheck::check(). 36507 36508Wed Nov 27 01:36:26 GMT 2002 Olly Betts <olly@survex.com> 36509 36510 * backends/quartz/btreecheck.cc,backends/quartz/btreecheck.h, 36511 backends/quartz/btreetest.cc: Tidied up BtreeCheck - btreetest now 36512 sends check output to tout so it's only displayed if the check fails 36513 (or btreetest is run with -v). 36514 36515Tue Nov 26 19:47:24 GMT 2002 Olly Betts <olly@survex.com> 36516 36517 * backends/quartz/: Split the btree checking code out into a separate 36518 file, so it's not linked in when we don't need it. 36519 36520Tue Nov 26 05:47:32 GMT 2002 Olly Betts <olly@survex.com> 36521 36522 * backends/quartz/btree.cc: Suppress all output from a successful 36523 Btree::Check() is no options are specified, so that btreetest 36524 generates clean output when all tests pass. 36525 36526Tue Nov 19 02:08:30 GMT 2002 Olly Betts <olly@survex.com> 36527 36528 * NEWS: Updated. 36529 36530Tue Nov 19 01:46:35 GMT 2002 Olly Betts <olly@survex.com> 36531 36532 * backends/quartz/btree.cc,backends/quartz/btree.h, 36533 backends/quartz/btreetest.cc,backends/quartz/quartztest.cc, 36534 docs/quartzdesign.html: Quartz B-tree minimum blocksize is 36535 now 2048 bytes (as was in fact documented already). This 36536 means the max term length is now always 252 bytes. 36537 36538Mon Nov 18 22:16:57 GMT 2002 Olly Betts <olly@survex.com> 36539 36540 * api/omenquire.cc,matcher/expand.cc,matcher/expandweight.cc: 36541 Bit of an expand tidy up. 36542 36543Mon Nov 18 19:49:09 GMT 2002 Olly Betts <olly@survex.com> 36544 36545 * backends/quartz/quartz_termlist.cc: I'd put the new termlist stuff 36546 in the disabled branch of a "#ifdef" so it wasn't being used! Fixed 36547 this and made it actually compile as an encore. 36548 36549Mon Nov 18 02:51:55 GMT 2002 Olly Betts <olly@survex.com> 36550 36551 * docs/todo.xml: Retargetted 0.6 tasks for 0.7 or 0.8; updated a few 36552 entries. 36553 36554Mon Nov 18 02:28:55 GMT 2002 Olly Betts <olly@survex.com> 36555 36556 * docs/quartzdesign.html,backends/quartz/: We can just store the term 36557 name raw in position list key, since we know its length from the key 36558 length; tweaked storing of deltas to store (delta - 1) as 0 is 36559 invalid. 36560 36561Mon Nov 18 00:47:54 GMT 2002 Olly Betts <olly@survex.com> 36562 36563 * backends/quartz/quartz_termlist.cc: First cut of compressed term 36564 lists. 36565 36566Sun Nov 17 20:19:23 GMT 2002 Olly Betts <olly@survex.com> 36567 36568 * backends/quartz/quartz_lexicon.cc,backends/quartz/quartz_values.cc: 36569 Use new pack_uint_last() and unpack_uint_last() where appropriate. 36570 36571Sun Nov 17 20:03:24 GMT 2002 Olly Betts <olly@survex.com> 36572 36573 * backends/quartz/quartz_record.cc,backends/quartz/quartz_utils.h: 36574 Added a more compact integer packing for the last integer in 36575 a key or tag. 36576 36577Sun Nov 17 18:54:05 GMT 2002 Olly Betts <olly@survex.com> 36578 36579 * backends/quartz/btree.cc,backends/quartz/btree.h: more 36580 int -> bool changes. 36581 * backends/quartz/btree_base.cc: Clarified comments. 36582 36583Sun Nov 17 14:19:30 GMT 2002 Olly Betts <olly@survex.com> 36584 36585 * docs/quartzdesign.html: Updated to reflect removal of Btree_item. 36586 36587Sun Nov 17 14:12:12 GMT 2002 Olly Betts <olly@survex.com> 36588 36589 * backends/quartz/: Eliminate Btree_item - wherever it's used we 36590 only actually want the tag or key, so it's cleaner and clearer 36591 to just pass a pointer to a string. 36592 36593Sun Nov 17 13:34:08 GMT 2002 Olly Betts <olly@survex.com> 36594 36595 * backends/quartz/,docs/quartzdesign.html: Quartz mini-overhaul: 36596 Removed Btree::Bcursor_create() and just made Bcursor's ctor 36597 public - now you can just create a Bcursor on the stack rather 36598 than being forced to use AutoPtr; removed valid_handle - the 36599 code is clearer without it; sys_close now inlined from header; 36600 changed int/char to bool where appropriate; changed some methods 36601 which now always throw on error to return void not bool; moved 36602 quartztest's test_btree1 to btreetest as test_simple1; changed 36603 a few remaining uses of "struct Btree" to just plain "Btree"; 36604 brought the btree docs in quartzdesign.html up-to-date, apart 36605 from the error handling section. 36606 36607Sat Nov 16 01:45:28 GMT 2002 Olly Betts <olly@survex.com> 36608 36609 * backends/inmemory/inmemory_database.cc, 36610 backends/inmemory/inmemory_database.h, 36611 backends/quartz/quartz_table.cc: Tidying up odds and ends. 36612 36613Fri Nov 15 17:46:38 GMT 2002 Olly Betts <olly@survex.com> 36614 36615 * NEWS: Updated ready for 0.6.0 with changes made so far. 36616 36617Fri Nov 15 17:06:58 GMT 2002 Olly Betts <olly@survex.com> 36618 36619 * testsuite/testsuite.cc: Avoid double debug output if we get a 36620 signal inside the testsuite code itself. 36621 36622Fri Nov 15 17:00:15 GMT 2002 Olly Betts <olly@survex.com> 36623 36624 * backends/quartz/btree_api.txt,docs/Makefile.am,docs/index.html, 36625 docs/quartzdesign.html,docs/remote_protocol.html, 36626 net/README_progprotocol.txt: Converted Btree API documentation 36627 to HTML and add it to the quartz design document; converted the 36628 (seriously out of date) remote protocol document to HTML, moved it 36629 into docs/, and linked it in. 36630 36631Fri Nov 15 13:05:06 GMT 2002 Olly Betts <olly@survex.com> 36632 36633 * backends/quartz/quartz_record.cc,backends/quartz/quartz_utils.h, 36634 docs/quartzdesign.html: Changed encoding of keys for quartz record 36635 and termlist tables. 36636 36637Fri Nov 15 12:54:39 GMT 2002 Olly Betts <olly@survex.com> 36638 36639 * backends/quartz/quartz_table_entries.cc: Fixed 36640 QuartzTableEntries::empty() which would never return true before. 36641 36642Fri Nov 15 03:08:49 GMT 2002 Olly Betts <olly@survex.com> 36643 36644 * backends/quartz/btree_api.txt: Fixed typos. 36645 36646Fri Nov 15 03:06:41 GMT 2002 Olly Betts <olly@survex.com> 36647 36648 * backends/quartz/quartztest.cc,backends/quartz/btreetest.cc: 36649 added another test (btreetest: emptykey1) and added extra 36650 checks to existing tests. 36651 36652Thu Nov 14 01:59:06 GMT 2002 Olly Betts <olly@survex.com> 36653 36654 * matcher/multimatch.cc,tests/api_db.cc,docs/todo.xml: 36655 match_sort_bands code fettled, and added regression test for the 36656 >100% problem (test_sortbands1). 36657 36658Tue Nov 12 00:00:44 GMT 2002 Olly Betts <olly@survex.com> 36659 36660 * backends/inmemory/inmemory_database.h,backends/quartz/, 36661 include/om/omtypes.h: Pushed average length calc down into 36662 QuartzRecordManager; removed unnecessary types om_totlength 36663 and om_termid. 36664 36665Mon Nov 11 18:10:23 GMT 2002 Olly Betts <olly@survex.com> 36666 36667 * docs/index.html: Fixed broken link. 36668 36669Mon Nov 11 18:07:41 GMT 2002 Olly Betts <olly@survex.com> 36670 36671 * backends/quartz/,docs/quartzdesign.html: Store next free docid 36672 and total doc length in the same tag in QuartzRecord. 36673 36674Wed Nov 06 22:38:40 GMT 2002 Olly Betts <olly@survex.com> 36675 36676 * backends/quartz/quartz_database.cc,backends/quartz/quartz_database.h: 36677 Eliminated QuartzDatabase::get_doccount_internal() and 36678 QuartzDatabase::get_avlength_internal() - now the thread 36679 locking code has gone, the indirection serves no purpose. 36680 36681Wed Nov 06 17:50:12 GMT 2002 Olly Betts <olly@survex.com> 36682 36683 * backends/quartz/: Removed QuartzBufferedTable::write() (unused and 36684 unimplemented), and merged QuartzBufferedTable::write_internal() 36685 into QuartzBufferedTable::write_internal(). 36686 36687Wed Nov 06 01:56:41 GMT 2002 Olly Betts <olly@survex.com> 36688 36689 * backends/quartz/: disable quartz lexicon table unless USE_LEXICON 36690 is defined. 36691 36692Wed Nov 06 01:54:30 GMT 2002 Olly Betts <olly@survex.com> 36693 36694 * docs/overview.html: Corrected link to API docs on website. 36695 36696Mon Nov 04 02:35:22 GMT 2002 Olly Betts <olly@survex.com> 36697 36698 * include/om/omerror.h,net/omerr_string.cc,netprogs/omprogsrv.cc, 36699 netprogs/omtcpsrv.cc,testsuite/testsuite.cc: don't use typeid(). 36700 36701Mon Nov 04 01:31:47 GMT 2002 Olly Betts <olly@survex.com> 36702 36703 * testsuite/testsuite.cc: Catch by const reference. 36704 36705Mon Nov 04 01:18:53 GMT 2002 Olly Betts <olly@survex.com> 36706 36707 * HACKING: Added note about use of various C++ features. Also 36708 tidied up various odds and ends. 36709 36710Sun Nov 03 22:59:34 GMT 2002 Olly Betts <olly@survex.com> 36711 36712 * api/omdatabaseinternal.cc: Eliminated entirely superfluous use of 36713 dynamic_cast. 36714 36715Sun Nov 03 22:46:34 GMT 2002 Olly Betts <olly@survex.com> 36716 36717 * matcher/multimatch.cc,common/database.h,common/net_database.h: 36718 Replace Database::is_network() with Database::as_networkdatabase() 36719 which returns a pointer or NULL. This eliminates the need to use 36720 dynamic_cast in MultiMatch. 36721 36722Wed Oct 23 05:24:14 BST 2002 Olly Betts <olly@survex.com> 36723 36724 * docs/todo.xml: Resolved TODO entry by consulting Stroustrup 36725 (it is safe to throw and catch an exception in a destructor, 36726 even when that destructor is being called during a stack unwind 36727 caused by an exception being thrown). 36728 36729Wed Oct 16 20:05:39 BST 2002 Olly Betts <olly@survex.com> 36730 36731 * backends/quartz/btreetest.cc: Suppress (most) output from 36732 Btree::check unless verbose (-v) is enabled. 36733 36734Mon Oct 14 15:13:18 BST 2002 Olly Betts <olly@survex.com> 36735 36736 * testsuite/testsuite.cc: Fixed compilation problem with std:: on 36737 GCC 3.2. 36738 36739Mon Oct 14 15:07:03 BST 2002 Olly Betts <olly@survex.com> 36740 36741 * api/omstem.cc: French and Finnish stemmers were switched! 36742 36743Mon Oct 14 02:49:12 BST 2002 Olly Betts <olly@survex.com> 36744 36745 * backends/quartz/quartz_utils.h: change sort preserving packing for 36746 strings. This one does better provided the strings being packed 36747 don't contain many zero bytes (which is true of the termnames which 36748 we pack with this). 36749 36750Mon Oct 14 02:45:20 BST 2002 Olly Betts <olly@survex.com> 36751 36752 * tests/stemtest.cc: Updated to reflect new naming of stemming test 36753 data. 36754 36755Sun Oct 13 17:06:26 BST 2002 Olly Betts <olly@survex.com> 36756 36757 * docs/todo.xml: Updated. 36758 36759Sun Oct 13 16:40:24 BST 2002 Olly Betts <olly@survex.com> 36760 36761 * api/omstem.cc,backends/quartz/,common/,extra/omparsequery.h,matcher/, 36762 net/socketclient.cc: Added private copy ctors and assignment 36763 operators to classes with pointer members (which shouldn't be 36764 copied). 36765 36766Sun Oct 13 15:12:40 BST 2002 Olly Betts <olly@survex.com> 36767 36768 * docs/todo.xml: Updated. 36769 36770Sun Oct 13 02:33:57 BST 2002 Olly Betts <olly@survex.com> 36771 36772 * .cvsignore: Added install-sh. 36773 36774Sun Oct 13 02:16:31 BST 2002 Olly Betts <olly@survex.com> 36775 36776 * backends/quartz/{quartz_lexicon.cc,quartz_lexicon.h}: key to lexicon 36777 is now simply the termname - no need to encode the length there too 36778 since the Btree knows how long the key is. 36779 * backends/quartz/{quartz_table_manager.cc,quartz_values.cc}: finished 36780 the terminology change from "attribute" to "value" (including 36781 renaming the btree files, which is why it wasn't done before). 36782 36783Sun Oct 13 02:09:00 BST 2002 Olly Betts <olly@survex.com> 36784 36785 * tests/api_db.cc: Snowball stems "this" to "this" rather than "thi", 36786 so update apitest source to reflect this. 36787 36788Sun Oct 13 01:03:04 BST 2002 Olly Betts <olly@survex.com> 36789 36790 * configure.in: Removed references to languages/*/Makefile. 36791 36792Sun Oct 13 00:50:01 BST 2002 Olly Betts <olly@survex.com> 36793 36794 * docs/indexerquickstart.html,docs/quartzdesign.html: Updated. 36795 36796Sat Oct 12 23:34:52 BST 2002 Olly Betts <olly@survex.com> 36797 36798 * languages/{api.c,api.h,header.h,utilities.c}: 4 new files. 36799 36800Sat Oct 12 23:29:50 BST 2002 Olly Betts <olly@survex.com> 36801 36802 * languages/: removed all the old .cvsignore files. 36803 36804Sat Oct 12 22:34:01 BST 2002 Olly Betts <olly@survex.com> 36805 36806 * api/omstem.cc,docs/stemming.html,docs/todo.xml,languages/: Replaced 36807 our stemmers with those from Snowball. Note that these give better 36808 results, but this also means that existing databases won't work 36809 quite correctly if they contain stemmed terms. 36810 36811Sat Oct 12 17:17:26 BST 2002 Olly Betts <olly@survex.com> 36812 36813 * configure.in,NEWS: Version 0.5.3. 36814 36815Sat Oct 12 16:49:50 BST 2002 Olly Betts <olly@survex.com> 36816 36817 * PLATFORMS,api/omvalueiteratorinternal.h,extra/parsequery.yy, 36818 include/om/omdocument.h: Fixed std:: namespace issues to 36819 allow compilation with GCC 3 once again. 36820 36821Sat Oct 12 15:43:22 BST 2002 Olly Betts <olly@survex.com> 36822 36823 * docs/todo.xml: Updated. 36824 36825Fri Oct 11 02:14:47 BST 2002 Olly Betts <olly@survex.com> 36826 36827 * backends/quartz/Makefile.am: Include test data for btreetest 36828 in distribution tarball. 36829 36830Fri Oct 11 01:43:03 BST 2002 Olly Betts <olly@survex.com> 36831 36832 * backends/quartz/{z_note,z_sequence,z_Cversion/,z_make/,z_test/}: 36833 Removed all the unused old C btree stuff. 36834 36835Thu Oct 10 17:32:10 BST 2002 Olly Betts <olly@survex.com> 36836 36837 * backends/quartz/{btree.cc,btree.h}: More Btree tidying. 36838 36839Thu Oct 10 17:14:28 BST 2002 Olly Betts <olly@survex.com> 36840 36841 * backends/quartz/{bcursor.cc,btree.cc,btree.h}: Btree::prev* and 36842 Btree::next* are no longer static methods. 36843 * backends/quartz/btree.h: Tweaked comments so doxygen will 36844 understand them. 36845 36846Thu Oct 10 16:12:29 BST 2002 Olly Betts <olly@survex.com> 36847 36848 * backends/quartz/quartz_postlist.cc: return docids rather 36849 than passing in a pointer to fill in. 36850 36851Thu Oct 10 16:08:22 BST 2002 Olly Betts <olly@survex.com> 36852 36853 * backends/quartz/quartzcheck.cc: Fixed #include-d files; 36854 Example in usage message now uses the directory where 36855 omega looks for its database by default. 36856 36857Thu Oct 10 15:25:10 BST 2002 Olly Betts <olly@survex.com> 36858 36859 * backends/quartz/btree.cc,backends/quartz/btree.h: More comment 36860 improvements; Removed superfluous Cursor parameter from 36861 Btree::add_kt() - it always gets passed the C member of Btree 36862 which we have available anyway. 36863 36864Thu Oct 10 14:49:11 BST 2002 Olly Betts <olly@survex.com> 36865 36866 * backends/quartz/btree.cc: Removed "struct" from in front of 36867 Btree and Cursor; Updated and reformatted many comments. 36868 36869Thu Oct 10 03:45:56 BST 2002 Olly Betts <olly@survex.com> 36870 36871 * testsuite/backendmanager.cc: Reworded comment to make it clearer. 36872 36873Thu Oct 10 03:29:52 BST 2002 Olly Betts <olly@survex.com> 36874 36875 * docs/todo.xml: Updated. 36876 36877Wed Oct 09 14:05:07 BST 2002 Olly Betts <olly@survex.com> 36878 36879 * backends/quartz/{quartz_alltermslist.cc,quartz_alltermslist.h, 36880 quartz_database.cc}: Implemented 36881 QuartzAllTermsList::get_approx_size(). 36882 36883Wed Oct 09 10:46:42 BST 2002 Olly Betts <olly@survex.com> 36884 36885 * extra/omparsequery.h,include/om/omvalueiterator.h: Don't use 36886 "using std::foo;" in externally visible headers. 36887 36888Wed Oct 09 10:26:05 BST 2002 Olly Betts <olly@survex.com> 36889 36890 * extra/omparsequery.h: fixed unused parameter warning. 36891 36892Tue Oct 08 20:32:46 BST 2002 Olly Betts <olly@survex.com> 36893 36894 * tests/stemtest.cc: Added missing space to output. 36895 36896Tue Oct 08 20:10:35 BST 2002 Olly Betts <olly@survex.com> 36897 36898 * With GCC, add warning flags "-Wall -W" rather than "-Wall -Wunused" 36899 (-Wall implies -Wunused anyway). Fixed all the warnings this throws 36900 up, except in languages/ (that code is to be replaced with Snowball 36901 soon). 36902 36903Tue Oct 08 19:57:03 BST 2002 Olly Betts <olly@survex.com> 36904 36905 * testsuite/: Disable colour test output if stdout isn't a terminal; 36906 reworked check for broken exception handling as the previous 36907 version never seemed to fire; added "using" for all the things 36908 we want from std::; improved how signal handlers are set and 36909 unset; report exception class for exceptions derived from OmError 36910 rather than a blanket "OMEXCEPT"; added private copy ctor and 36911 assignment to test_driver to prevent copying. 36912 36913Tue Oct 08 19:53:02 BST 2002 Olly Betts <olly@survex.com> 36914 36915 * include/om/Makefile.am: remove include/om/om.h on "make distclean", 36916 not "make clean". Otherwise "./configure ; make clean ; make" 36917 fails which is wrong. 36918 36919Sun Oct 06 18:37:39 BST 2002 Olly Betts <olly@survex.com> 36920 36921 * PLATFORMS: Updated. 36922 * docs/: Removed Martin's paper - background information for stemmers 36923 is best left to the Snowball documentation. 36924 36925Sat Oct 05 20:31:55 BST 2002 Olly Betts <olly@survex.com> 36926 36927 * NEWS,configure.in: 0.5.2 release. 36928 36929Sat Oct 05 03:01:49 BST 2002 Olly Betts <olly@survex.com> 36930 36931 * PLATFORMS: Updated. 36932 36933Sat Oct 05 02:09:35 BST 2002 Olly Betts <olly@survex.com> 36934 36935 * docs/todo.xml: Updated. 36936 36937Fri Oct 04 22:34:12 BST 2002 Olly Betts <olly@survex.com> 36938 36939 * PLATFORMS,testsuite/testutils.h: Code to spot mishandled exceptions 36940 doesn't always work - noted this in PLATFORMS, and tweaked the code 36941 a little. 36942 36943Fri Oct 04 19:08:08 BST 2002 Olly Betts <olly@survex.com> 36944 36945 * backends/quartz/.cvsignore: Added quartzcheck. 36946 36947Fri Oct 04 18:24:55 BST 2002 Olly Betts <olly@survex.com> 36948 36949 * docs/: converted all text docs to HTML (except omsettings which will 36950 has odd markup (LaTeX?) and will probably soon be obsolete anyway). 36951 * docs/todo.xml: updated. 36952 36953Fri Oct 04 17:18:33 BST 2002 Olly Betts <olly@survex.com> 36954 36955 * net/socketcommon.cc: Fixed handling of timeouts in the past. 36956 36957Fri Oct 04 13:51:39 BST 2002 Olly Betts <olly@survex.com> 36958 36959 * PLATFORMS,testsuite/testutils.h: Use typeid() to spot when GCC 2.95 36960 mishandles an exception, and don't count this as a test failure. 36961 36962Fri Oct 04 03:59:29 BST 2002 Olly Betts <olly@survex.com> 36963 36964 * api/omdatabaseinternal.cc,backends/multi/multi_termlist.h, 36965 matcher/multimatch.cc,matcher/networkmatch.cc,matcher/networkmatch.h: 36966 pulled uses of dynamic_cast<> to higher up in the code. 36967 36968Fri Oct 04 03:53:44 BST 2002 Olly Betts <olly@survex.com> 36969 36970 * PLATFORMS,backends/quartz/{btree.cc,quartz_metafile.cc}: Fixed quartz 36971 problems on platforms where sizeof(long) != 4. 36972 * PLATFORMS: Updated in the light of investigations into test failures 36973 on x86 Redhat Linux - only multierrhandler1 with the remote backend 36974 is actually a problem. 36975 36976Wed Oct 02 16:32:48 BST 2002 Olly Betts <olly@survex.com> 36977 36978 * NEWS: Updated for 0.5.1 release. 36979 36980Wed Oct 02 16:01:50 BST 2002 Olly Betts <olly@survex.com> 36981 36982 * PLATFORMS,configure.in: 0.5.1 release. 36983 36984Tue Oct 01 13:34:24 BST 2002 Olly Betts <olly@survex.com> 36985 36986 * docs/: tweaked navigation links in index.html; converted bm25 36987 text document to HTML and linked it in; added todo entry to 36988 locate the "illusion of control" paper. 36989 36990Tue Oct 01 12:48:41 BST 2002 Olly Betts <olly@survex.com> 36991 36992 * docs/: renamed intro.html to install.html, and userman.html to 36993 overview.html; changed navbar on index.html. 36994 36995Tue Oct 01 12:37:20 BST 2002 Olly Betts <olly@survex.com> 36996 36997 * bootstrap: fixed adding of directory with xapian.m4 in to 36998 ACLOCAL_FLAGS; added trap to tell user if bootstrapping failed. 36999 37000Tue Oct 01 12:33:38 BST 2002 Olly Betts <olly@survex.com> 37001 37002 * HACKING,Makefile.am,bootstrap,buildall,xapian.spec.in, 37003 autoconf/dir_contents,docs/todo.xml: Added bootstrap script as a 37004 replacement for buildall (buildall left in place for now until 37005 bootstrap receives wider testing). 37006 37007Tue Oct 01 12:19:32 BST 2002 Olly Betts <olly@survex.com> 37008 37009 * HACKING,Makefile.am,configure.in,PLATFORMS: require automake 1.6.3 37010 (and hence autoconf 2.54) to fix problem building tests/internaltest 37011 with Solaris make. 37012 37013Mon Sep 30 20:30:42 BST 2002 Olly Betts <olly@survex.com> 37014 37015 * PLATFORMS: Improved wording about bogus OMEXCEPT failures); 37016 Added results for OpenBSD 3.0 and Solaris 8 on x86 (both work). 37017 37018Mon Sep 30 20:25:03 BST 2002 Olly Betts <olly@survex.com> 37019 37020 * docs/: Pruned .cvsignore; removed cvs.html (link to CVS info 37021 on website directly); removed using_stemmers.html - those 37022 wishing to use the C API to the stemmers ought to look at 37023 Snowball instead; include HTML versions of quickstart*.cc 37024 in tarballs; improved wording in various places. 37025 37026Mon Sep 23 19:33:31 BST 2002 Olly Betts <olly@survex.com> 37027 37028 * net/Makefile.am: Fixed building of readquery.cc from readquery.ll. 37029 37030Sun Sep 22 03:57:20 BST 2002 Olly Betts <olly@survex.com> 37031 37032 * PLATFORMS: Updated. 37033 37034Fri Sep 20 15:09:25 BST 2002 Olly Betts <olly@survex.com> 37035 37036 * PLATFORMS: Added note about bogus OMEXCEPT test failures with 37037 GCC 2.95. 37038 37039Fri Sep 20 01:36:35 BST 2002 Olly Betts <olly@survex.com> 37040 37041 * NEWS,PLATFORMS,configure.in: 0.5.0 release! 37042 37043Fri Sep 20 01:01:52 BST 2002 Olly Betts <olly@survex.com> 37044 37045 * Makefile.am: Perl module we need to process todo.xml is XML::Parser 37046 not XML, so corrected error message. 37047 * configure.in: Commented out MSG_WARN() when Perl modules XML::Parser 37048 or Text::Format aren't found. In a release tarball, this only 37049 matters if you modify docs/todo.xml, and the warning message(s) may 37050 alarm those building the software. 37051 37052Thu Sep 19 00:57:23 BST 2002 Olly Betts <olly@survex.com> 37053 37054 * .cvsignore: Added depcomp, missing, mkinstalldirs. 37055 37056Thu Sep 19 00:49:01 BST 2002 Olly Betts <olly@survex.com> 37057 37058 * HACKING: Added note about safe way to generate files in make rules. 37059 37060Thu Sep 19 00:45:51 BST 2002 Olly Betts <olly@survex.com> 37061 37062 * PLATFORMS: Tested on Solaris 7 with GCC 2.95.3 (works) and Solaris 8 37063 Sun Workshop C++ compiler (fails to compile). 37064 37065Thu Sep 19 00:41:53 BST 2002 Olly Betts <olly@survex.com> 37066 37067 * ar-wrapper-solaris,ltconfig,Makefile.am: libtool 1.4 doesn't use 37068 ltconfig, and that's the only thing that uses ar-wrapper-solaris, 37069 so removed both. Fairly sure the problem they address was fixed 37070 in libtool so time ago. Xapian doesn't build with Sun's C++ 37071 compiler at the moment anyway, so it's moot for the release. 37072 37073Thu Sep 19 00:26:37 BST 2002 Olly Betts <olly@survex.com> 37074 37075 * docs/todo2html.pl: Handle release "*" specially - it indicates 37076 tasks to be done for each release. 37077 37078Thu Sep 19 00:05:40 BST 2002 Olly Betts <olly@survex.com> 37079 37080 * configure.in,include/om/om.h.in: Tweaked how generation of om.h 37081 works to avoid problems with Sun's C++ compiler. 37082 37083Wed Sep 18 19:21:47 BST 2002 Olly Betts <olly@survex.com> 37084 37085 * net/Makefile.am,net/readquery.ll: #include <config.h> 37086 must be included before any other headers, but that seems to be 37087 impossible to arrange in lex/flex so we use echo and cat in the 37088 Makefile to arrange this. 37089 37090Wed Sep 18 17:35:00 BST 2002 Olly Betts <olly@survex.com> 37091 37092 * include/om/Makefile.am: We want to install om/om.h, but not 37093 distribute it or people with a different compiler to whoever 37094 ran "make dist" will get the "ABI mismatch" error. 37095 37096Wed Sep 18 13:16:14 BST 2002 Richard Boulton <richard@tartarus.org> 37097 37098 * docs/.cvsignore: Add docs/doxygen_full_warnings. 37099 * include/om/.cvsignore: Add include/om/om.h. 37100 37101Wed Sep 18 11:06:12 BST 2002 James Aylett <tartarus@users.sourceforge.net> 37102 37103 * include/om/Makefile.am: We really should install om/om.h, or 37104 applications can't build against us. 37105 37106Wed Sep 18 05:10:24 BST 2002 Richard Boulton <richard@tartarus.org> 37107 37108 * docs/doxygen_{api,full}_header.html_tmpl: Remove meta robots tag - 37109 why shouldn't this be indexed? Now the omega I set up pointing 37110 at copies of this should actually index something. 37111 37112Wed Sep 18 04:52:20 BST 2002 Olly Betts <olly@survex.com> 37113 37114 * configure.in: Merged two sed invocations into one - we don't want 37115 configure to run any slower than it has to. 37116 37117Wed Sep 18 04:17:58 BST 2002 Richard Boulton <richard@tartarus.org> 37118 37119 * configure.in: Don't put confdefs.h into SOURCEDOC_H_SRC - this 37120 file only exists during the configure run. Fixes failure of 37121 "make doxygen_docs" in docs/ 37122 37123Tue Sep 17 13:07:39 BST 2002 James Aylett <tartarus@users.sourceforge.net> 37124 37125 * Updated PLATFORMS file. 37126 37127Mon Sep 16 19:40:02 BST 2002 Olly Betts <olly@survex.com> 37128 37129 * docs/todo.xml: Updated. 37130 37131Mon Sep 16 18:09:29 BST 2002 Olly Betts <olly@survex.com> 37132 37133 * tests/api_db.cc: don't run consistency1 test on the remote backend 37134 - it's particularly slow with that, and testing it there doesn't 37135 actually improve the test coverage really. 37136 37137Mon Sep 16 17:15:46 BST 2002 Olly Betts <olly@survex.com> 37138 37139 * configure.in,docs/Makefile.am: Added workaround for pattern length 37140 limits in Solaris sed. 37141 37142Mon Sep 16 17:13:20 BST 2002 Olly Betts <olly@survex.com> 37143 37144 * include/om/om.h.in: Added explanatory comments for developers. 37145 37146Mon Sep 16 14:22:48 BST 2002 James Aylett <tartarus@users.sourceforge.net> 37147 37148 * om/om.h needs to be in CLEANFILES or make distcheck fails 37149 37150Mon Sep 16 13:37:04 BST 2002 James Aylett <tartarus@users.sourceforge.net> 37151 37152 * Now om/om.h is built from om/om.h.in, it may be in the build 37153 directly. Consequently, we need to add that to the include path 37154 for VPATH builds. Plus (also for VPATH), om/om.h needs to be 37155 output after AC_OUTPUT, because otherwise the destination 37156 directory may not exist. 37157 37158Mon Sep 16 04:19:54 BST 2002 Olly Betts <olly@survex.com> 37159 37160 * configure.in,docs/todo.xml,include/om/Makefile.am,include/om/om.h, 37161 include/om/om.h.in: When building the library with GCC, generate 37162 include/om/om.h with preprocessor code to check that any version 37163 of GCC used to build applications has a matching C++ ABI. 37164 37165 This means that users get a nice explanatory error message rather 37166 than a confusing link failure (or worse a program which builds 37167 but crashes). Another benefit is that the check happens near the 37168 start of compilation of the first source file which uses Xapian 37169 in the user's application, rather than during the first attempt 37170 to link with Xapian. 37171 37172Sun Sep 15 01:42:19 BST 2002 Olly Betts <olly@survex.com> 37173 37174 * net/tcpserver.cc: Solved std mystery - "using namespace std;" was 37175 inside a #ifdef which wasn't enabled! 37176 37177Sun Sep 15 01:21:34 BST 2002 Richard Boulton <richard@tartarus.org> 37178 37179 * tests/tcpserver.cc: Hacky fix to compile with gcc-3.2 snapshot in 37180 Debian unstable - add a FIXME to work out why this is needed. 37181 * todo: add entry about checking ABI versions using 37182 __GXX_ABI_VERSION macro. 37183 37184Sat Sep 14 22:39:11 BST 2002 Olly Betts <olly@survex.com> 37185 37186 * configure.in,tests/Makefile.am,tests/internaltest.cc: It turns out 37187 that internaltest *does* need -fno-access-control, so put it back. 37188 Not quite sure how I missed this. Changed to skip refcnt tests 37189 when -fno-access-control isn't available (rather than omitting them 37190 entirely). 37191 37192 * tests/api_db.cc: Fixed compile problem. 37193 37194Sat Sep 14 21:44:34 BST 2002 Olly Betts <olly@survex.com> 37195 37196 * internaltest: doesn't actually need -fno-access-control these 37197 days, so removed it and the configure tests for it. 37198 37199 * stemtest: recoded to be all in C++ and removed use of intermediate 37200 files for random data tests - now runs ~15% faster; no longer need 37201 HAVE_PERL so removed from configure. 37202 37203 * apitest: use C++ streams rather than stdio; stubdb1 now cleans up 37204 the temporary file it creates. 37205 37206Sat Sep 14 12:54:52 BST 2002 Olly Betts <olly@survex.com> 37207 37208 * docs/Makefile.am: fix "mv apidoc/latex/refman.ps avidoc.ps" which 37209 fails after recent change. 37210 37211Sat Sep 14 11:15:33 BST 2002 James Aylett <tartarus@users.sourceforge.net> 37212 37213 * Renamed simple* programs in quickstart docs to quickstart* to 37214 avoid confusion with the simple* programs in xapian-examples. 37215 (Thanks to Alex Bowley for pointing out the confusion.) 37216 37217Sat Sep 14 10:00:35 BST 2002 James Aylett <tartarus@users.sourceforge.net> 37218 37219 * configure.in: returned AC_CONDITIONAL for HAVE_PERL 37220 37221Sat Sep 14 09:29:08 BST 2002 Richard Boulton <richard@tartarus.org> 37222 37223 * buildall: change to srcdir before testing for necessary tools 37224 so that scripts which guess which autotools version to use have more 37225 information available to guess with: for example, the Debian 37226 autoconf version guessing script looks for "configure.ac" as a sign 37227 that autoconf 2.50+ is required. 37228 37229Sat Sep 14 02:50:23 BST 2002 Olly Betts <olly@survex.com> 37230 37231 * docs/distributed.txt,docs/quartzdesign.html,docs/todo.xml: assorted 37232 documentation updates. 37233 37234Sat Sep 14 02:10:12 BST 2002 Olly Betts <olly@survex.com> 37235 37236 * PLATFORMS: removed note about VPATH problems. 37237 37238Sat Sep 14 02:02:58 BST 2002 Olly Betts <olly@survex.com> 37239 37240 * btree.cc,btree.h: rearranged Btree::del() so control flow is clearer. 37241 37242Sat Sep 14 01:56:44 BST 2002 Olly Betts <olly@survex.com> 37243 37244 * HACKING,docs/Makefile.am: added evil hack to allow VPATH builds to 37245 work with BSD make. 37246 37247Wed Sep 11 11:29:07 BST 2002 Olly Betts <olly@survex.com> 37248 37249 * backends/database_builder.cc: Quartz is fairly mature - change 37250 comment which suggests that the btree names will change. 37251 37252Wed Sep 11 11:13:43 BST 2002 Olly Betts <olly@survex.com> 37253 37254 * configure.in: Don't double quote `$MISSING foo' as autoconf adds them 37255 * docs/Makefile.am: Use `test a = b' rather than `test a == b' 37256 37257Tue Sep 10 14:50:16 BST 2002 Olly Betts <olly@survex.com> 37258 37259 * configure.in: tweaked test for perl modules - stderr is now 37260 fully suppressed on sh (which behaves slightly differently to bash). 37261 37262Tue Sep 10 14:27:15 BST 2002 Richard Boulton <richard@tartarus.org> 37263 37264 * backend_manager.cc: Fix stub database code so that it doesn't use 37265 the gnu extension "getline()". 37266 37267Tue Sep 10 13:51:20 BST 2002 Olly Betts <olly@survex.com> 37268 37269 * quartz_table.cc: don't form tag when we just want to check if a 37270 key is present before calling Btree::del(). Working out why 37271 we can't call Btree::del() would still be worthwhile though. 37272 37273Tue Sep 10 13:02:04 BST 2002 Olly Betts <olly@survex.com> 37274 37275 * quartztest.cc: removed unused #include-s; describe valid options 37276 in usage message. 37277 37278Tue Sep 10 02:07:29 BST 2002 Olly Betts <olly@survex.com> 37279 37280 * remote backend: implemented term_exists() and get_termfreq(); 37281 added test to check they work. 37282 37283Mon Sep 9 12:59:15 BST 2002 Richard Boulton <richard@tartarus.org> 37284 37285 * Add stub databases: if backend type is auto, and auto_dir points 37286 to a file, read in settings from the file (overwriting the 37287 existing ones), and then use them to open the database. 37288 This allows, for example, omega to open a remote database by 37289 putting in a stub database file in the omega directory. 37290 Updated documentation for opening databases in userman.html. 37291 * apitest: Added test for stub databases. 37292 37293Mon Sep 09 02:26:36 BST 2002 Olly Betts <olly@survex.com> 37294 37295 * Documentation updates: move suggested books into intro_ir.html 37296 and added URL for citeseer reference Richard posted to mailing 37297 list recently; clarified wording in a couple of places. 37298 37299Sat Sep 7 12:52:12 2002 James Aylett <tartarus@users.sourceforge.net> 37300 37301 * docs: fixed references to OmDocumentContents (now OmDocument) 37302 which had clearly been broken for a while. Also fixed get_data() 37303 and set_data() example usage so it reflects reality (I hope). 37304 37305Wed Sep 04 22:46:17 BST 2002 Olly Betts <olly@survex.com> 37306 37307 * Corrected min_item.wt to min_wt in two assertions. 37308 37309Thu Aug 15 11:42:20 BST 2002 Richard Boulton <richard@tartarus.org> 37310 37311 * buildall: Only add the directory derived from xapian-config 37312 to ACLOCAL_FLAGS if it actually exists. 37313 37314Mon Aug 12 01:13:55 BST 2002 Richard Boulton <richard@tartarus.org> 37315 37316 * quartz_table.cc: Check that a key exists before calling 37317 Btree::del() - there seems to be a bug in the btree code 37318 causing a failure when deleting keys if they don't exist. 37319 This work around appears to make things work correctly, but 37320 won't be terribly efficient. 37321 37322Mon Aug 12 00:09:21 BST 2002 Richard Boulton <richard@tartarus.org> 37323 37324 * quartz_table_manager.cc: When unable to apply modifications, 37325 call cancel on the buffered table after reopening disk table 37326 at old revision - otherwise, the entry count gets messed up. 37327 * quartz_table.cc, quartz_database.cc: Improve debugging and 37328 error reporting: I'm trying to work out why the failure Olly 37329 reported is occurring. 37330 37331Sat Aug 10 15:12:42 2002 James Aylett <tartarus@users.sourceforge.net> 37332 37333 * Fixed missing include in quartzcheck.cc 37334 37335Sat Aug 10 14:57:17 2002 James Aylett <tartarus@users.sourceforge.net> 37336 37337 * Fixed typo in quartzcheck.cc 37338 37339Tue Jul 23 22:12:34 BST 2002 James Aylett <tartarus@users.sourceforge.net> 37340 37341 * Added a note to the effect that the indexgraph stuff isn't 37342 really considered useful to the HTML document introducing it. 37343 37344Tue Jul 23 22:09:39 BST 2002 James Aylett <tartarus@users.sourceforge.net> 37345 37346 * Added some comments in quartztest test_create1(), in case anyone 37347 else who didn't write it needs to understand it. 37348 37349 * Added Olly as an active participant to the AUTHORS file :) 37350 37351Tue Jul 23 21:59:50 BST 2002 James Aylett <tartarus@users.sourceforge.net> 37352 37353 * Reworded quickstart document so it does not refer to the example 37354 code (it was never actually in sync). 37355 37356Mon Jul 22 14:07:18 BST 2002 Sam Liddicott <sam@ananova.com> 37357 37358 * Forgot to actually add the quartzcheck.cc file last time 37359 37360Mon Jul 22 13:28:09 BST 2002 Sam Liddicott <sam@ananova.com> 37361 37362 * Add buildprereq to package 37363 Add quartzcheck which runs btree::check to backends 37364 37365Tue Jul 16 09:44:56 BST 2002 Sam Liddicott <sam@ananova.com> 37366 37367 * Fix banding problem; bands are now based on the percentage 37368 not the weight, and using integer maths to avoid problems 37369 with ceil() rounding up supposed integers which are really 37370 slightly larger due to precision errors 37371 37372Thu Jul 11 00:16:22 BST 2002 Olly Betts <olly@survex.com> 37373 37374 * configure.in, docs/Makefile.am: configure fixes for Solaris - clear 37375 cached result for fdatasync since it may be wrong if we decide we 37376 need to link librt; split SOURCEDOC_SRC into two to avoid hitting 37377 4096 char line length in Solaris sed. 37378 37379Tue Jul 09 17:47:31 BST 2002 Olly Betts <olly@survex.com> 37380 37381 * PLATFORMS, tests/Makefile.am: improved internaltest.cc automake rules 37382 - they should now work in VPATH builds with Solaris make. 37383 37384Tue Jul 09 03:30:41 BST 2002 Olly Betts <olly@survex.com> 37385 37386 * configure.in, docs/Makefile.am: Fixed up apidoc and sourcedoc 37387 dependencies so that they work correctly in VPATH builds. Also 37388 only use portable find arguments to generate SOURCEDOC_SRC. 37389 37390Sat Jul 06 13:53:27 BST 2002 Olly Betts <olly@survex.com> 37391 37392 * xapian.spec.in: Updated in preparation for release. 37393 37394Sat Jul 06 13:04:45 BST 2002 Olly Betts <olly@survex.com> 37395 37396 * docs/Makefile.am: Run latex twice to get forward references resolved. 37397 37398Fri Jul 05 18:23:08 BST 2002 Olly Betts <olly@survex.com> 37399 37400 * matcher/multimatch.cc: better (perhaps even completely correct) fix 37401 for sorting into bands. 37402 37403 * matcer/localmatch.cc: removed entirely bogus comment from over-eager 37404 cut-and-paste. 37405 37406 * tests/api_db.cc: added otherwise pointless statement to deldoc3 37407 which seems to fix occasional miscompilation by GCC 2.95. 37408 37409Fri Jul 05 16:37:12 BST 2002 Olly Betts <olly@survex.com> 37410 37411 * docs/Makefile.am: "make dist" now fails if dot (part of graphviz) 37412 isn't installed. 37413 37414Fri Jul 05 08:54:33 BST 2002 Sam Liddicott <sam@ananova.com> 37415 37416 * bindings/: removed some typemap hacks as swig has better typemaps now 37417 37418Fri Jul 05 08:46:06 BST 2002 Sam Liddicott <sam@ananova.com> 37419 37420 * matcher/multimatch.cc: Quick hack to stop 100% being in a band all on 37421 its own. The real problem is that bands need to include the integer 37422 at the upper end of the range, rather than the lower end. 37423 37424Thu Jul 04 16:23:52 BST 2002 Olly Betts <olly@survex.com> 37425 37426 * docs/mkdoc.pl: Fixed to work in VPATH builds. 37427 37428Thu Jul 04 12:42:06 BST 2002 Olly Betts <olly@survex.com> 37429 37430 * configure.in, docs/Makefile.am: use "missing" to give more helpful 37431 errors when we don't find tools we need. 37432 37433Wed Jul 03 12:39:15 BST 2002 Olly Betts <olly@survex.com> 37434 37435 * NEWS: incorporated recent changes into provisional version. 37436 37437 * docs/: sorted out make rules for running doxygen; don't tell doxygen 37438 to build man pages which we aren't using. 37439 37440Tue Jul 02 16:36:54 BST 2002 Olly Betts <olly@survex.com> 37441 37442 * docs/: run through ispell; fixed OM_MOP to OmQuery::OP; other 37443 corrections. 37444 37445Fri Jun 28 02:59:49 BST 2002 Olly Betts <olly@survex.com> 37446 37447 * Backend "auto" now works when creating an OmWritableDatabase which 37448 doesn't already exist - it'll pick a backend which supports writing 37449 and is compiled in (currently this means quartz). 37450 37451Thu Jun 27 20:31:13 BST 2002 Richard Boulton <richard@tartarus.org> 37452 37453 * backends/quartz/btreetest.cc (sequent1): Add regression test for 37454 recently fixed bug with sequential addition. 37455 * backends/quartz/z_data/ordnum[+-]: Data files for new test. 37456 37457Thu Jun 27 13:13:37 BST 2002 Olly Betts <olly@survex.com> 37458 37459 * Documentation fettling: removed docs/Notes and 37460 docs/coding_policy.txt moving relevant content into HACKING, 37461 common/postlist.h, docs/todo.xml, and include/om/omtypes.h; install 37462 docs as PostScript rather than DVI; include text docs in tarball and 37463 install them; "make dist" will now fail if a tool needed to build 37464 docs is missing; removed last vestiges of Doc++ support; 37465 doc/Makefile no longer uses include (include isn't portable); 37466 improved doc/tests.txt. 37467 37468Thu Jun 27 12:10:37 BST 2002 Olly Betts <olly@survex.com> 37469 37470 * apitest: doesn't directly use anything from utils.h, so don't 37471 #include it. 37472 37473Thu Jun 27 12:05:53 BST 2002 Olly Betts <olly@survex.com> 37474 37475 * Removed includetest - it was useful early in development, but isn't 37476 really now. 37477 37478Wed Jun 26 22:09:57 BST 2002 Olly Betts <olly@survex.com> 37479 37480 * apitest: deldoc2 and deldoc3 now pass when the library is compiled 37481 with --enable-debug. 37482 37483Wed Jun 26 19:35:56 BST 2002 Olly Betts <olly@survex.com> 37484 37485 * Removed code which causes quartztest to fail with an --enable-debug 37486 build. 37487 37488Wed Jun 26 13:55:11 BST 2002 Olly Betts <olly@survex.com> 37489 37490 * todo.xml: added note to fix 100% being in its own sort band. 37491 37492Wed Jun 26 13:46:02 BST 2002 Richard Boulton <richard@tartarus.org> 37493 37494 * btree.cc: Fix splitting of blocks in sequential mode to ensure 37495 that split happens no earlier than the midpoint. 37496 37497Wed Jun 26 12:32:47 BST 2002 Richard Boulton <richard@tartarus.org> 37498 37499 * btree.cc: Asserts to check that add_item in sequential mode 37500 when splitting a block is not trying to add to the wrong block, 37501 or to add to a new block which is not empty (or containing more 37502 than one item). 37503 37504Tue Jun 25 17:53:19 BST 2002 Olly Betts <olly@survex.com> 37505 37506 * Assert that the value of c is sane in GETINT1, etc. 37507 37508Tue Jun 25 16:30:09 BST 2002 Olly Betts <olly@survex.com> 37509 37510 * btreetest.cc: use C++ IO rather than C stdio; removed commented out 37511 LFSinsertdelete1 test (it was never written and a test suite which 37512 creates 2G files is probably a bit too resource hungry). 37513 37514Tue Jun 25 13:56:01 BST 2002 Olly Betts <olly@survex.com> 37515 37516 * btree/quartz: More use of const pointers; more use of C++ strings. 37517 37518Wed Jun 19 08:56:00 BST 2002 Sam Liddicott <sam@ananova.com> 37519 37520 * Fixed spec file to build for prefix=/usr not just install there 37521 37522Fri Jun 14 16:35:04 BST 2002 Olly Betts <olly@survex.com> 37523 37524 * docs/todo.xml: added 4 new tasks. 37525 37526Fri Jun 14 16:33:08 BST 2002 Olly Betts <olly@survex.com> 37527 37528 * backends/quartz/quartz_database.cc: Cosmetic changes. 37529 37530Wed Jun 12 16:31:11 BST 2002 Olly Betts <olly@survex.com> 37531 37532 * QuartzDbKey, QuartzDbTag: just use a string instead of a string 37533 wrapped in a structure. We've stopped inflicting this on external 37534 developers (OmData, OmKey/OmValue) so why inflict it on ourselves? 37535 37536Wed Jun 12 12:26:04 BST 2002 Olly Betts <olly@survex.com> 37537 37538 * Btree_item: use C++ strings rather than trying to reimplement them. 37539 37540 * Fix a few warnings about unused parameters. 37541 37542Wed Jun 12 02:53:16 BST 2002 Olly Betts <olly@survex.com> 37543 37544 * Btree_full_compaction, Btree_close: removed - they just wrap methods 37545 of Btree. 37546 37547Wed Jun 12 02:28:30 BST 2002 Olly Betts <olly@survex.com> 37548 37549 * Btree_item_create and Btree_item_lose subsumed into Btree_item 37550 and ~Btree_item. 37551 37552 * Pass C++ strings rather than const char * into various Btree open 37553 methods. 37554 37555 * Removed pointless wrapper functions for Btree open methods. 37556 37557 * Btree_quit removed (just use delete directly). 37558 37559 * Btree_create removed (just use Btree::create directly). 37560 37561Wed Jun 12 00:48:52 BST 2002 Olly Betts <olly@survex.com> 37562 37563 * form_key is now a method of Btree; more passing of strings rather 37564 than pointer/length pairs); buffer overrun check added to btreetest. 37565 37566Tue Jun 11 18:04:08 BST 2002 Olly Betts <olly@survex.com> 37567 37568 * More C++ like interfaces (e.g. bool returns, strings rather than 37569 pointer/length pairs). 37570 37571Tue Jun 11 16:40:08 BST 2002 Richard Boulton <richard@tartarus.org> 37572 37573 * quartz/btree.cc: Fix so that it compiles when BTREE_FULL_DEBUG is on, 37574 and added a couple of Assert()s. 37575 37576Tue Jun 11 13:09:39 BST 2002 Olly Betts <olly@survex.com> 37577 37578 * Removed a number of btree functions which were simply wrappers for 37579 calling methods on their first parameter, and most of which weren't 37580 even used! 37581 37582 * btree_api.txt: updated to better reflect the object-ized API. 37583 37584Tue Jun 11 02:01:53 BST 2002 Olly Betts <olly@survex.com> 37585 37586 * Btree::make_index_item(): Added check for buffer overflow. 37587 37588Tue Jun 11 01:49:51 BST 2002 Olly Betts <olly@survex.com> 37589 37590 * Still more... 37591 37592Tue Jun 11 01:08:03 BST 2002 Olly Betts <olly@survex.com> 37593 37594 * More btree and quartz tidying. 37595 37596Mon Jun 10 20:33:24 BST 2002 Olly Betts <olly@survex.com> 37597 37598 * btree.cc,btree.h: cleaned up further. 37599 37600Mon Jun 10 15:54:49 BST 2002 Olly Betts <olly@survex.com> 37601 37602 * Further btree and quartz cleanups. 37603 37604Mon Jun 10 14:46:00 BST 2002 Olly Betts <olly@survex.com> 37605 37606 * Fixed typo in recent quartzdump change. 37607 37608Mon Jun 10 13:20:20 BST 2002 Olly Betts <olly@survex.com> 37609 37610 * Quartz clean-ups - especially QuartzTermList. 37611 37612Mon Jun 10 12:18:40 BST 2002 Olly Betts <olly@survex.com> 37613 37614 * Bcursor_create made a method of class Btree as suggested by a FIXME. 37615 37616Mon Jun 10 01:57:53 BST 2002 Olly Betts <olly@survex.com> 37617 37618 * More btree fixes and tidying. Fixed bug introduced by typo in 37619 previous change which causes tests to fail. 37620 37621Sun Jun 09 17:50:28 BST 2002 Olly Betts <olly@survex.com> 37622 37623 * btree_util.h: use inlines rather than macros. 37624 37625 * Fix CompileTimeAssert() to avoid potential clashes. 37626 37627Sun Jun 09 12:46:25 BST 2002 Olly Betts <olly@survex.com> 37628 37629 * btree.cc,btree.h: fixed bug caused by local variable masking member 37630 variable with same name. Tidied up a lot. 37631 37632Wed Jun 5 12:22:57 BST 2002 Sam Liddicott <sam@ananova.com> 37633 37634 * Fix OmQuery::op enum handling. 37635 37636Mon May 27 14:28:06 BST 2002 Sam Liddicott <sam@ananova.com> 37637 37638 * Add crash-protected next() to OmMSetIterator 37639 37640 * Add ->valid() method to iterator which returns FALSE if 37641 the iterator has reached the end 37642 37643 * Added namespace fixes for latest cvs swig to be released next month 37644 37645Fri May 24 15:28:18 BST 2002 Sam Liddicott <sam@ananova.com> 37646 37647 * Took out the string typemaps as swig now has them in stl.i 37648 37649 * Added om_percent to omtypes.i - I wonder if we might just 37650 read omtypes.h instead, as swig can 37651 37652 * Added OmMSetIterator and made changes to OmMSet 37653 37654Fri May 24 11:46:50 BST 2002 Sam Liddicott <sam@ananova.com> 37655 37656 * Now support get_matching_terms via swig 37657 I'm not sure how to generally map iterators to php but in 37658 cases where we know only a small number of items exist 37659 to be iterated over it makes sense to return them as a 37660 php array 37661 37662Tue May 21 15:28:40 BST 2002 Richard Boulton <richard@tartarus.org> 37663 37664 * multi_postlist.cc (get_doclength): Get the document length from 37665 the appropriate sub-postlist, rather than from the database. 37666 This causes a huge speedup in some cases, since it avoids having 37667 to go to the termlist database for every document considered for 37668 an mset to get the document length. 37669 Added an AssertParanoid to check that the value from the postlist 37670 is the same as that from the database. 37671 This problem was noticed because "delve -v" was running several 37672 orders of magnitude slower than without -v - it is now of 37673 comparable speed. 37674 37675Tue May 21 15:27:37 BST 2002 Richard Boulton <richard@tartarus.org> 37676 37677 * quartz_values.cc: Small fixes to enable it to compile with debug 37678 turned on. 37679 37680Fri May 17 14:52:45 BST 2002 Olly Betts <olly@survex.com> 37681 37682 * OmQueryParser::set_database() method added. 37683 37684 * Added disabled code to search for a keyword used in the query. 37685 37686 * Added ' and * to the list of "phrase making characters". 37687 37688 * To make a phrase, a phrase-maker must be followed by an alphanumeric 37689 rather than just a non-space. 37690 37691Fri May 17 14:49:54 BST 2002 Olly Betts <olly@survex.com> 37692 37693 * INSTALL: GCC 3.1 release version works, so noted this. 37694 37695 * HACKING: Added note about warning-free compilation being desirable 37696 and suggesting using "./configure CFLAGS=-Werror" to promote this. 37697 37698 * NEWS: Minor updates. 37699 37700Thu May 16 16:57:42 BST 2002 Olly Betts <olly@survex.com> 37701 37702 * Minor tweaks to get a warning-less compile with GCC 3.1. 37703 37704Thu May 16 13:36:19 BST 2002 Sam Liddicott <sam@ananova.com> 37705 37706 * Clean up the spec file 37707 37708Thu May 16 12:20:09 BST 2002 Olly Betts <olly@survex.com> 37709 37710 * Documented match_sort_key. 37711 37712Thu May 16 10:42:47 BST 2002 Sam Liddicott <sam@ananova.com> 37713 37714 * A few quick tips from Olly, now the tarfile name and version no. 37715 stuff comes from autoconf so the spec file won't need tweaking 37716 each time the version number changes 37717 37718Wed May 15 15:48:42 BST 2002 Sam Liddicott <sam@ananova.com> 37719 37720 * This can build RPM packages. 37721 Get the make-dist tarball and do: 37722 rpm -ta xapian-core-0.4.1-cvs.tar.gz 37723 and it will make source and binary rpms 37724 It doesn't build bindings packages yet but this will come when I 37725 build them 37726 37727Wed May 15 13:27:21 BST 2002 Richard Boulton <richard@tartarus.org> 37728 37729 * buildall: Allow use of automake 1.6.1 and later, and CVS 37730 automake (versions 1.6[a-z]) 37731 37732Wed May 15 11:40:58 BST 2002 Sam Liddicott <sam@ananova.com> 37733 37734 * SWIG cvs (php4) now writes all output files to the same directory as 37735 the main output file, so need for hacks to move these, also no more 37736 clobbering our source files when building in the checkout dir 37737 37738Tue May 14 21:54:02 BST 2002 James Aylett <tartarus@users.sourceforge.net> 37739 37740 * Updated PLATFORMS file. 37741 37742Tue May 14 16:48:07 BST 2002 Olly Betts <olly@survex.com> 37743 37744 * Removed multiple-include protection from config.h - if it's 37745 included more than once it's now a bug and we want to know! 37746 37747Tue May 14 15:25:05 BST 2002 Olly Betts <olly@survex.com> 37748 37749 * OmQueryParser: parse acronyms as a single term (so "E.T." -> "ET" 37750 and "N.A.T.O" -> "NATO"). 37751 37752Tue May 14 15:23:20 BST 2002 James Aylett <tartarus@users.sourceforge.net> 37753 37754 * Fixed config.h includes: source definition (ie not header) files 37755 #include <config.h> as their first action. 37756 37757Tue May 14 14:47:00 BST 2002 Olly Betts <olly@survex.com> 37758 37759 * Updated todo. 37760 37761 * extra/parsequery.yy: Fettled indentation. 37762 37763Tue May 14 13:14:51 BST 2002 Olly Betts <olly@survex.com> 37764 37765 * Added test case for new "embedded &" rule, and fix problem bug it 37766 revealed. 37767 37768Tue May 14 13:10:33 BST 2002 Olly Betts <olly@survex.com> 37769 37770 * OmQueryParser: Parse <word>&<word> as a single term (e.g. AT&T, 37771 M&S, A&P). 37772 37773Tue May 14 11:50:03 BST 2002 Olly Betts <olly@survex.com> 37774 37775 * When including config.h, always specify it as <config.h>, not 37776 "config.h", and always do it first. Both are recommended by 37777 the autoconf documentation. 37778 37779Mon May 13 17:17:13 BST 2002 James Aylett <tartarus@users.sourceforge.net> 37780 37781 * missing fallback rule all-local in docs/Makefile.am was failing 37782 the build on Solaris 37783 37784Mon May 13 15:50:31 BST 2002 Sam Liddicott <sam@ananova.com> 37785 37786 * Use new %extends notation for swig. 37787 37788 * Update for new omValue usage 37789 37790 * Add omqueryparser support 37791 37792Mon May 13 15:12:30 BST 2002 James Aylett <tartarus@users.sourceforge.net> 37793 37794 * shipped getopt will now build in absence of system getopt 37795 37796Mon May 13 15:09:17 BST 2002 Olly Betts <olly@survex.com> 37797 37798 * configure.in: Moved AH_TOP/AH_BOTTOM to more logical place. 37799 37800 * docs/todo.xml: Updated. 37801 37802Mon May 13 14:13:27 BST 2002 James Aylett <tartarus@users.sourceforge.net> 37803 37804 * added getopt to DIST_SUBDIRS so distributions work 37805 37806Fri May 10 14:54:06 BST 2002 Olly Betts <olly@survex.com> 37807 37808 * getopt/: Checked in files I missed last time. 37809 37810Fri May 10 14:35:52 BST 2002 Olly Betts <olly@survex.com> 37811 37812 * Make sure GNU getopt is linked to everything which might need it so 37813 we build in non-glibc environments. 37814 37815Fri May 10 13:42:59 BST 2002 Olly Betts <olly@survex.com> 37816 37817 * Replaced second match_sort_key optimisation with one which is 37818 faster and not flawed. 37819 37820Thu May 09 18:27:30 BST 2002 Olly Betts <olly@survex.com> 37821 37822 * match_sort_key now runs at a sensible speed (approx. 20x speed 37823 up on my test case). 37824 37825Thu May 09 16:58:11 BST 2002 Olly Betts <olly@survex.com> 37826 37827 * Added another optimisation for match_sort_key - my test case 37828 is now 25% faster (still slow though). 37829 37830Thu May 09 11:57:59 BST 2002 Olly Betts <olly@survex.com> 37831 37832 * NEWS, PLATFORMS, README: Updated to something approximating what we 37833 want for a release. 37834 37835 * docs/todo.xml: Updated. 37836 37837Thu May 09 10:57:59 BST 2002 Olly Betts <olly@survex.com> 37838 37839 * Removed references to match_max_or_terms (which was replaced 37840 by OmQuery::OP_ELITE_SET long, long ago). 37841 37842Wed May 08 17:38:50 BST 2002 Olly Betts <olly@survex.com> 37843 37844 * Improved api documentation comments. 37845 37846Wed May 08 17:09:14 BST 2002 Olly Betts <olly@survex.com> 37847 37848 * Include findheaders.pl in tarball. 37849 37850Wed May 08 16:09:14 BST 2002 Olly Betts <olly@survex.com> 37851 37852 * Killed off acconfig.h. 37853 37854Wed May 08 15:53:11 BST 2002 Olly Betts <olly@survex.com> 37855 37856 * Added autom4te-*.cache to .cvsignore. 37857 37858Wed May 08 15:50:56 BST 2002 Olly Betts <olly@survex.com> 37859 37860 * Rebuild docs on "make", not just "make dist" or "make install". 37861 37862Wed May 08 15:07:01 BST 2002 Olly Betts <olly@survex.com> 37863 37864 * Added workaround for problems with <fcntl.h> on Solaris when LFS 37865 is enabled. 37866 37867Wed May 08 13:44:10 BST 2002 Olly Betts <olly@survex.com> 37868 37869 * Matcher can now sort on a key. Can be rather slow at present... 37870 37871Wed May 08 13:15:21 BST 2002 Olly Betts <olly@survex.com> 37872 37873 * Updated todo. 37874 37875Wed May 08 12:22:53 BST 2002 Olly Betts <olly@survex.com> 37876 37877 * Removed ltmain.sh-s from CVS. 37878 37879Wed May 08 12:21:32 BST 2002 Olly Betts <olly@survex.com> 37880 37881 * buildall: run libtoolize; stripped out unnecessary stuff. 37882 37883Wed May 08 09:44:45 BST 2002 Olly Betts <olly@survex.com> 37884 37885 * matcher/msetpostlist.cc: Removed bogus comment cut and pasted from 37886 matcher/mergepostlist.cc. 37887 37888Tue May 07 17:51:57 BST 2002 Olly Betts <olly@survex.com> 37889 37890 * It's "m4_include", not "m4include". 37891 37892Tue May 07 17:52:36 BST 2002 Olly Betts <olly@survex.com> 37893 37894 * Added autoconf/type_socklen_t macro. 37895 37896Tue May 07 16:50:20 BST 2002 Olly Betts <olly@survex.com> 37897 37898 * Now require autoconf 2.50, which allows us to clean up some of the 37899 more unpleasant parts of the build system. 37900 37901Tue May 07 14:55:37 BST 2002 Olly Betts <olly@survex.com> 37902 37903 * Added "match_sort_bands" option to sort results within relevance 37904 bands. Currently the sort within each band is by document id, which 37905 isn't really very useful. The plan is to allow sorting by a key. 37906 37907Tue May 07 14:54:12 BST 2002 Olly Betts <olly@survex.com> 37908 37909 * Sorted out tests/findheaders.pl wrt last change. 37910 37911Tue May 07 13:12:23 BST 2002 Olly Betts <olly@survex.com> 37912 37913 * Run perl scripts from Makefiles explicitly with $(PERL) rather than 37914 having them as generated files in AC_OUTPUT. 37915 37916Mon May 6 16:04:37 2002 James Aylett <tartarus@users.sourceforge.net> 37917 37918 * Distribution fixes: make clean should now clear up all 37919 required files. 37920 37921Mon May 6 14:42:46 2002 James Aylett <tartarus@users.sourceforge.net> 37922 37923 * Don't include dlfcn.h since we don't use it (and doesn't exist 37924 on some target platforms). 37925 37926Mon May 6 14:07:24 2002 James Aylett <tartarus@users.sourceforge.net> 37927 37928 * Minor documentation corrections. 37929 37930Fri May 03 18:14:14 BST 2002 Olly Betts <olly@survex.com> 37931 37932 * Changed autoconf/automake project name to xapian-core, and updated 37933 the documentation to reflect this. 37934 37935 * Disabled the bindings from being included in distribution tarballs. 37936 37937Fri May 03 18:13:43 BST 2002 Olly Betts <olly@survex.com> 37938 37939 * Updated todo list. 37940 37941Fri May 3 18:02:06 BST 2002 James Aylett <tartarus@users.sourceforge.net> 37942 37943 * Overloading ambiguity resolutions for linux/alpha build on CF 37944 37945Fri May 03 17:13:36 BST 2002 Olly Betts <olly@survex.com> 37946 37947 * buildall: Don't run configure or make; removed --no-make and --quiet. 37948 37949Fri May 3 16:52:01 BST 2002 James Aylett <tartarus@users.sourceforge.net> 37950 37951 * tests/testdata/etext.txt needs to be included in the distribution 37952 37953Fri May 03 16:18:38 BST 2002 Olly Betts <olly@survex.com> 37954 37955 * Removed OmValue in favour of simply using a string (analogous to 37956 recent OmData change). 37957 37958Fri May 03 14:52:04 BST 2002 Olly Betts <olly@survex.com> 37959 37960 * Removed unused om_docname typedef. 37961 37962Fri May 03 14:42:31 BST 2002 Olly Betts <olly@survex.com> 37963 37964 * Terminology change - a "key" (in the OmKey sense) is now a "value". 37965 37966Fri May 3 14:31:57 BST 2002 James Aylett <tartarus@users.sourceforge.net> 37967 37968 * Fixed up todo list and HTML generation script to cope with 37969 items without an assigned priority. 37970 37971Fri May 03 14:29:58 BST 2002 Olly Betts <olly@survex.com> 37972 37973 * It's HACKING (not INSTALL) that has details of developer tools. 37974 37975Thu May 02 15:57:48 BST 2002 Olly Betts <olly@survex.com> 37976 37977 * Removed OmData - just return and take a string instead. 37978 37979Thu May 02 14:40:21 BST 2002 Olly Betts <olly@survex.com> 37980 37981 * docs/.cvsignore: updated. 37982 37983Thu May 02 14:38:36 BST 2002 Olly Betts <olly@survex.com> 37984 37985 * Removed assorted references to pthread locking; updated HACKING. 37986 37987Thu May 02 14:15:47 BST 2002 Olly Betts <olly@survex.com> 37988 37989 * Stripped out OmBatchEnquire stuff, as it's unlikely to get sorted 37990 out any time soon, and it can be extracted from CVS when someone 37991 wants it. 37992 37993Thu May 02 13:50:04 BST 2002 Olly Betts <olly@survex.com> 37994 37995 * Check for bison >= 1.35 in buildall. 37996 37997Wed May 01 17:39:57 BST 2002 Olly Betts <olly@survex.com> 37998 37999 * Removed lingering references to Omsee and OpenMuscat. 38000 38001Wed May 01 16:34:13 BST 2002 Olly Betts <olly@survex.com> 38002 38003 * Removed unused methods from NetClient (read_data and write_data). 38004 38005Wed May 01 14:01:12 BST 2002 Olly Betts <olly@survex.com> 38006 38007 * Added test consistency1 to check matcher optimisations don't 38008 result in inconsistent results (i.e. that same matches and 38009 weights are returned regardless of size of mset asked for). 38010 38011Wed May 01 11:48:10 BST 2002 Olly Betts <olly@survex.com> 38012 38013 * Fixed mismatched tags in todo.xml. 38014 38015Wed May 01 11:46:42 BST 2002 Olly Betts <olly@survex.com> 38016 38017 * Updated todo. 38018 38019Wed May 01 11:40:47 BST 2002 Olly Betts <olly@survex.com> 38020 38021 * Corrected configure warning message - it's XML::Parser not XML. 38022 38023Wed May 01 11:34:49 BST 2002 Olly Betts <olly@survex.com> 38024 38025 * Tweaks to get queryparser building cleanly. 38026 38027Tue Apr 30 17:44:48 BST 2002 Olly Betts <olly@survex.com> 38028 38029 * Updated query parser in extra from the updated one in omega, 38030 and fettled it to cope better with multiple instantiations 38031 (though it's a long way from being reentrant at the moment). 38032 38033Tue Apr 30 11:03:44 BST 2002 Olly Betts <olly@survex.com> 38034 38035 * Updated todo. 38036 38037Mon Apr 29 19:28:04 BST 2002 Olly Betts <olly@survex.com> 38038 38039 * More string.c_str() tidying. 38040 38041Mon Apr 29 17:41:33 BST 2002 Olly Betts <olly@survex.com> 38042 38043 * Tidied up some uses of string.c_str(). 38044 38045 * Cleaned up todo list. 38046 38047Mon Apr 29 16:08:21 BST 2002 Olly Betts <olly@survex.com> 38048 38049 * Updated buildall to check various tools have the required version 38050 numbers. 38051 38052Mon Apr 29 15:58:57 BST 2002 Olly Betts <olly@survex.com> 38053 38054 * Tweaked use of HAVE_STREAMBUF 38055 38056Fri Apr 26 14:41:09 BST 2002 Sam Liddicott <sam@ananova.com> 38057 38058 * Swig is now modified so it can build config.m4 and Makefile.in 38059 for php modules so I removed these from bindings/php4 38060 38061Tue Apr 23 18:21:03 BST 2002 Olly Betts <olly@survex.com> 38062 38063 * Tried compiling with GCC 3.1 prerelease snapshot and fixed various 38064 STL-related warnings (mostly uses of istrstream). 38065 38066 * Fixed usage of AM_CFLAGS and AM_CXXFLAGS. 38067 38068Tue Apr 23 15:48:36 BST 2002 Olly Betts <olly@survex.com> 38069 38070 * Updated buildall (and had to tweak it again, sigh). 38071 38072Tue Apr 23 14:21:01 BST 2002 Sam Liddicott <sam@ananova.com> 38073 38074 * Added typemap conversion to generate OmSettings from php hash 38075 * Changed order of classes in interface file 38076 38077Tue Apr 23 14:20:05 BST 2002 Olly Betts <olly@survex.com> 38078 38079 * Revamped xapian-config and xapian.m4. Important change - it's now 38080 "xapian-config --cxxflags" and XAPIAN_CXXFLAGS, not --cflags and 38081 _CFLAGS. 38082 38083Mon Apr 22 17:58:56 BST 2002 Olly Betts <olly@survex.com> 38084 38085 * Removed leak checker. 38086 38087Mon Apr 22 13:40:01 BST 2002 Olly Betts <olly@survex.com> 38088 38089 * Tiny code tweak. 38090 38091Mon Apr 22 13:11:32 BST 2002 Olly Betts <olly@survex.com> 38092 38093 * Write debug log using unbuffered IO and O_APPEND which should prevent 38094 the log file becoming garbled when used from applications which use 38095 Xapian objects in multiple threads. 38096 38097Mon Apr 22 12:19:18 BST 2002 Olly Betts <olly@survex.com> 38098 38099 * Updated copyright notices for last change. 38100 38101Mon Apr 22 11:20:28 BST 2002 Olly Betts <olly@survex.com> 38102 38103 * Removed thread locks. 38104 38105Fri Apr 19 17:38:23 BST 2002 Olly Betts <olly@survex.com> 38106 38107 * Removed completed tasks from todo list. 38108 38109Fri Apr 19 17:26:23 BST 2002 Olly Betts <olly@survex.com> 38110 38111 * Removed placeholder code for OmQuery::OP_PERCENT_CUTOFF - it's 38112 actually impossible to implement since we started rescaling 38113 percentages so that 100% is attainable. 38114 38115Fri Apr 19 16:42:42 BST 2002 Olly Betts <olly@survex.com> 38116 38117 * Tracked down and fixed the bug in the quartz backend which was making 38118 test poslist2 fail. 38119 38120Fri Apr 19 16:06:39 BST 2002 Olly Betts <olly@survex.com> 38121 38122 * Fixed some compilation problems which I somehow failed to notice 38123 before the last check-in. 38124 38125Fri Apr 19 15:04:13 BST 2002 Olly Betts <olly@survex.com> 38126 38127 * Added more RETURN(...) wrappers. 38128 38129Fri Apr 19 14:46:19 BST 2002 Olly Betts <olly@survex.com> 38130 38131 * Added more DEBUGCALL tracing to quartz. 38132 38133Fri Apr 19 13:29:57 BST 2002 Olly Betts <olly@survex.com> 38134 38135 * Minor tweaks to quartz_database.cc. 38136 38137Fri Apr 19 13:07:50 BST 2002 Olly Betts <olly@survex.com> 38138 38139 * Moved test poslist1 into correct place and renamed it to poslist2 38140 since there's already a poslist1... 38141 38142Fri Apr 19 11:19:15 BST 2002 Olly Betts <olly@survex.com> 38143 38144 * poslist1 (when actually run!) reveals that Quartz fails to throw 38145 errors in this case. Disabled test for now, as I can't see why it 38146 fails to throw... 38147 38148Thu Apr 18 17:44:56 BST 2002 Olly Betts <olly@survex.com> 38149 38150 * Added poslist1 test as suggested by a TODO entry. 38151 38152Thu Apr 18 14:17:24 BST 2002 Olly Betts <olly@survex.com> 38153 38154 * buildall: Removed search for GNU make (as of automake 38155 1.5 it's not needed for automake and we aim to have portable 38156 makefiles). Made buildall more portable. 38157 38158Thu Apr 18 14:16:18 BST 2002 Olly Betts <olly@survex.com> 38159 38160 * xapian-config.nodep is a generated file, so don't look for it in 38161 srcdir. 38162 38163Thu Apr 18 12:45:04 BST 2002 Olly Betts <olly@survex.com> 38164 38165 * Added bindings/php4/xapian/.cvsignore. 38166 38167Thu Apr 18 12:36:53 BST 2002 Olly Betts <olly@survex.com> 38168 38169 * Minor tweaks to "Makefile" section in HACKING. 38170 38171Thu Apr 18 12:26:21 BST 2002 Olly Betts <olly@survex.com> 38172 38173 * Yet more Makefile portability fixes; added section to HACKING 38174 summarising my recent experiences. 38175 38176Thu Apr 18 11:26:37 BST 2002 Olly Betts <olly@survex.com> 38177 38178 * Corrected the sense of the test in the previous check-in. 38179 38180Thu Apr 18 11:08:04 BST 2002 Olly Betts <olly@survex.com> 38181 38182 * Use case instead of echo/sed to replace dirname. 38183 38184Thu Apr 18 10:19:01 BST 2002 Olly Betts <olly@survex.com> 38185 38186 * Another Makefile portability tweak. 38187 38188Wed Apr 17 16:07:02 BST 2002 Olly Betts <olly@survex.com> 38189 38190 * bindings/php4/Makefile.am: Fixed a couple of problems with 38191 recent changes. 38192 38193Wed Apr 17 15:32:44 BST 2002 Olly Betts <olly@survex.com> 38194 38195 * Makefile portability improvements. 38196 38197Wed Apr 17 14:29:21 BST 2002 Olly Betts <olly@survex.com> 38198 38199 * Replaced uses of GNU make specific features with more portable 38200 ones. 38201 38202Wed Apr 17 12:43:07 BST 2002 Olly Betts <olly@survex.com> 38203 38204 * Update todo list. 38205 38206Wed Apr 17 12:41:03 BST 2002 Olly Betts <olly@survex.com> 38207 38208 * Removed BrightStation's logo from the documentation. 38209 38210Wed Apr 17 12:27:07 BST 2002 Olly Betts <olly@survex.com> 38211 38212 * xapian-config: Removed --uninst support - it's very hard to make it 38213 work reliably and we're better off directing our efforts towards 38214 improving the library than trying to get it working and keep it 38215 working. 38216 38217Wed Apr 17 10:39:02 BST 2002 Olly Betts <olly@survex.com> 38218 38219 * Fixed btreetest code to use new names "ord+" and "ord-" for 38220 datafiles; disabled LFSinsertdelete1 test as it's exactly the 38221 same as insertdelete1 (despite the comment above which suggests 38222 it tests files >2G). 38223 38224Mon Apr 15 17:14:22 BST 2002 Olly Betts <olly@survex.com> 38225 38226 * Fix a few OmDatabase::InternalInterface uses I'd somehow missed. 38227 38228Mon Apr 15 16:08:20 BST 2002 Olly Betts <olly@survex.com> 38229 38230 * Mark internal classes as @internal for doxygen; removed all uses 38231 of OmDatabase::InternalInterface as it's no longer needed. 38232 38233Mon Apr 15 15:42:47 BST 2002 Olly Betts <olly@survex.com> 38234 38235 * Updated TODO list. 38236 38237Mon Apr 15 2002 Sam Liddicott <sam@ananova.com> 38238 38239 * Hacked around bindings and bindings/php to remove some SWIG 38240 workarounds. SWIG cvs + some new non-committed patches is need still. 38241 38242Mon Apr 15 12:12:05 BST 2002 Olly Betts <olly@survex.com> 38243 38244 * stemtest: getopt fix. 38245 38246 * stemtest.pl.in: output now: less verbose by default and coloured. 38247 38248Mon Apr 15 11:18:58 BST 2002 Olly Betts <olly@survex.com> 38249 38250 * Updated HACKING to say that automake 1.5 is required, and note that 38251 automake 1.6.1 is better than 1.6. 38252 38253Sat Apr 13 20:35:51 2002 James Aylett <tartarus@users.sourceforge.net> 38254 38255 * Fixed stemtest getopt usage so it works again. 38256 38257Sat Apr 13 20:20:52 BST 2002 James Aylett <tartarus@users.sourceforge.net> 38258 38259 * Fixed omtcpsrv getopt usage so it works again. 38260 38261Fri Apr 12 16:24:06 BST 2002 Olly Betts <olly@survex.com> 38262 38263 * Require automake 1.5. 38264 38265Fri Apr 12 12:11:57 BST 2002 Olly Betts <olly@survex.com> 38266 38267 * omtcpsrv: Namespace fixes. 38268 38269Fri Apr 12 12:25:42 BST 2002 Olly Betts <olly@survex.com> 38270 38271 * Fixed everything to use getopt rather than icky handparsing of 38272 options. 38273 38274Fri Apr 12 11:26:57 BST 2002 Olly Betts <olly@survex.com> 38275 38276 * Removed delve - it's going to be an example program. 38277 38278Thu Apr 11 18:09:35 BST 2002 Olly Betts <olly@survex.com> 38279 38280 * Command line argument improvements - added FIXMEs where getopt 38281 should be used. 38282 38283Thu Apr 11 17:01:44 BST 2002 Richard Boulton <richard@tartarus.org> 38284 38285 * Fixes to work with automake 1.6.1. 38286 I recommend using 1.6.1 rather than 1.6, since this fixes many 38287 bugs in 1.6. I havn't tested with 1.6 recently, but it is likely 38288 to report problems. 38289 38290Thu Apr 11 17:25:37 BST 2002 Olly Betts <olly@survex.com> 38291 38292 * Use GNU getopt. 38293 38294Thu Apr 11 15:06:15 BST 2002 Olly Betts <olly@survex.com> 38295 38296 * Updated to recommend automake 1.5, noting problem with automake 1.4 38297 and that we'll probably soon insist on 1.5, and later autoconf 2.50. 38298 Also added notes on recommended and usable GCC versions. 38299 38300Thu Apr 11 14:23:44 BST 2002 Olly Betts <olly@survex.com> 38301 38302 * Cleaning up build system. 38303 38304Thu Apr 11 13:18:23 BST 2002 Olly Betts <olly@survex.com> 38305 38306 * Use AndPostList with boolean weights on the RHS instead of 38307 FilterPostList - this appears to fix a bug, but I suspect it's 38308 actually just moving it around. Will investigate later. 38309 38310Thu Apr 11 10:11:11 BST 2002 Olly Betts <olly@survex.com> 38311 38312 * Sorted out automake for php4 bindings. 38313 38314Wed Apr 10 14:44:50 BST 2002 Olly Betts <olly@survex.com> 38315 38316 * Removed a superfluous DEBUGLINE. 38317 38318Tue Apr 9 19:02:09 BST 2002 Richard Boulton <richard@tartarus.org> 38319 38320 * Fix some DEBUGLINE() macros in the matcher which had 38321 the first parameter missing. 38322 38323Tue Apr 09 17:50:44 BST 2002 Olly Betts <olly@survex.com> 38324 38325 * Removed stray bit of debug code. 38326 38327Tue Apr 09 17:05:09 BST 2002 Olly Betts <olly@survex.com> 38328 38329 * More debug tracing added. 38330 38331Tue Apr 09 10:48:42 BST 2002 Olly Betts <olly@survex.com> 38332 38333 * Disabled pthread support by default. 38334 38335Sat Apr 6 20:45:21 2002 James Aylett <tartarus@users.sourceforge.net> 38336 38337 * Reordered some output generation in configure so it won't 38338 complain about directories not existing. (I don't understand 38339 what the problem is, but this does fix it.) 38340 38341Sat Apr 06 20:27:57 BST 2002 Olly Betts <olly@survex.com> 38342 38343 * Moved a few lingering traces of XML indexer stuff to indexer 38344 subdirectory. 38345 38346Sat Apr 06 17:37:02 BST 2002 Olly Betts <olly@survex.com> 38347 38348 * Removed -pedantic (read the gcc docs - it's doesn't turn on 38349 useful warnings) and fixed all the remaining compilation 38350 warnings in a non-debug build. 38351 38352Fri Apr 05 10:21:28 BST 2002 Olly Betts <olly@survex.com> 38353 38354 * Removed --enable-profiling, --enable-purify, and --enable-insure. 38355 They don't do anything which can't be achieved by passing 38356 environment variables and switches to configure (now documented 38357 in HACKING). Adding a separate switch for every profiling and 38358 code-quality tool out there isn't a sensible approach. 38359 38360Thu Apr 04 20:37:12 BST 2002 Olly Betts <olly@survex.com> 38361 38362 * Updated .cvsignore files. 38363 38364Thu Apr 04 20:25:41 BST 2002 Olly Betts <olly@survex.com> 38365 38366 * PTHREAD_CFLAGS was only being used for compiling C, not C++, which 38367 was causing builds to fail unless threading was disabled. This 38368 problem has been there a long time, but until recently was hidden 38369 by the check for fdatasync erroneously linking in -lrt which pulls 38370 in pthreads anyway (at least this is the situation on Linux). 38371 38372Thu Apr 04 20:06:00 BST 2002 Olly Betts <olly@survex.com> 38373 38374 * Removed XML indexer stuff from the main xapian library. All the 38375 removed bits are now in the indexer subdirectory, ready to be 38376 reassembled into a supplementary library. 38377 38378Thu Apr 04 15:43:43 BST 2002 Olly Betts <olly@survex.com> 38379 38380 * More debug tracing in the matcher. 38381 38382Thu Apr 04 14:17:10 BST 2002 Olly Betts <olly@survex.com> 38383 38384 * Added debug tracing to most of the matcher. 38385 38386Thu Mar 28 17:21:16 GMT 2002 Olly Betts <olly@survex.com> 38387 38388 * Give up trying to make internals private or protected in the 38389 header files in include - the consequences are just too ugly, and 38390 it's clear enough that they shouldn't be messed with except by the 38391 library itself. 38392 38393Wed Mar 27 10:24:26 GMT 2002 Olly Betts <olly@survex.com> 38394 38395 * Don't add "-lrt" to the link line unless it's actually needed for 38396 fdatasync(). 38397 38398Wed Mar 27 10:11:09 GMT 2002 Olly Betts <olly@survex.com> 38399 38400 * Fixed two problems in the matcher which were respectively causing 38401 problems with boolean filters, and with situations where OR or 38402 ANDMAYBE decayed to AND. 38403 38404Fri Jan 11 18:00:44 GMT 2002 James Aylett <tartarus@users.sourceforge.net> 38405 38406 * Various build fixes for libxml2: define CHAR as needed, 38407 --enable-validation (off by default), check for and discard 38408 'blank' text/cdata nodes as we encounter them 38409 38410Fri Jan 11 15:40:50 GMT 2002 Sam Liddicott <sam@ananova.com> 38411 38412 * Added Large File Support in the same way it was added to GNU tar. 38413 (If it's good enough for them...) 38414 This is by means of autoconf/ac_sys_largefile which I'm told is 38415 built in to later versions of autoconf, and may possibly give us 38416 trouble redefining it for those versions... But we'll see about 38417 that when/if it happens. 38418 38419 It seems to work fine here on some DB's which I had to stop growing 38420 cos they got too big; I'm now past the 2G boundary with no problems 38421 38422 I guess we should still add overflow detection for 2^31 blocks. 38423 Ideas? 38424 38425 I need some help on the btreetest.cc as I haven't yet worked out 38426 what it does; so while I've added a test, it doesn't yet test 38427 what it says it does. I have changed btreetest.cc so you can 38428 tell it where to dump the test DB 38429 38430Fri Dec 21 17:48:09 GMT 2001 Olly Betts <olly@survex.com> 38431 38432 * Fixed halflife calculation in OmBiasFunctor. 38433 38434Fri Dec 21 15:24:58 GMT 2001 Olly Betts <olly@survex.com> 38435 38436 * Added a temporary API to allow use of OmBiasFunctor. 38437 38438Fri Dec 21 12:58:23 GMT 2001 Olly Betts <olly@survex.com> 38439 38440 * Disable conversion of OR to AND/ANDMAYBE in matcher tree - there's 38441 a bug which sometimes manifests when there's a date filter and a 38442 threshold cutoff in omega, and results in just one match when there 38443 should be more. I don't believe the bug is actually in OrPostList 38444 but I've been tracking it for 4 days without success and turning off 38445 this optimisation seems to stop it occurring so will have to do for 38446 now. 38447 38448Thu Dec 20 17:41:04 GMT 2001 Olly Betts <olly@survex.com> 38449 38450 * matcher/multimatch.cc: added more percent_cutoff assertions. 38451 38452Thu Dec 20 13:41:41 GMT 2001 Olly Betts <olly@survex.com> 38453 38454 * Fixed incorrectly classified debug message; fixed compiler warning; 38455 more comments about matches_* with a percent_cutoff. 38456 38457Thu Dec 20 13:09:51 GMT 2001 Olly Betts <olly@survex.com> 38458 38459 * Better OmPostListIterator::get_description() (call get_description 38460 on internal->postlist). 38461 38462Thu Dec 20 12:42:55 GMT 2001 Olly Betts <olly@survex.com> 38463 38464 * Fixed assorted problems with omtcpsrv and co from recent change. 38465 38466Thu Dec 20 10:41:57 GMT 2001 Richard Boulton <richard@tartarus.org> 38467 38468 * In ./configure --help, correctly report muscat36 backend as 38469 defaulting to off. 38470 38471Thu Dec 20 10:36:18 GMT 2001 Olly Betts <olly@survex.com> 38472 38473 * Don't delete internal in ~OmWritableDatabase - ~OmDatabase 38474 does that for us (internal was zeroed after delete, so this 38475 was probably harmless) 38476 38477 * Tweaked OmEnquire::get_description() and 38478 OmPostListIterator::get_description() to do less - there's a 38479 debug related bug somewhere and get_description() should be a 38480 non-intrusive method... 38481 38482Thu Dec 20 10:32:56 GMT 2001 Richard Boulton <richard@tartarus.org> 38483 38484 * Fix a couple of misquoted messages in configure.in. 38485 38486Tue Dec 18 23:22:00 2001 James Aylett <tartarus@users.sourceforge.net> 38487 38488 * Use xapian.org where appropriate in documentation references 38489 38490Tue Dec 18 14:32:32 2001 James Aylett <tartarus@users.sourceforge.net> 38491 38492 * Use xapian.org not sourceforge for schemas 38493 38494Mon Dec 17 18:47:08 GMT 2001 Olly Betts <olly@survex.com> 38495 38496 * Cured problems with string('x') caused by overzealous search 38497 and replace on my part. 38498 38499Mon Dec 17 16:44:31 GMT 2001 Olly Betts <olly@survex.com> 38500 38501 * Improved matches_estimated when a percent_cutoff is in effect. 38502 38503Sun Dec 16 18:09:28 GMT 2001 Olly Betts <olly@survex.com> 38504 38505 * You can now register a match decider functor by name with an 38506 OmEnquire object. It's not yet used for anything though. 38507 38508Sun Dec 16 17:31:08 GMT 2001 Olly Betts <olly@survex.com> 38509 38510 * omtcpsrv: simplified arguments - just list database directories and 38511 they'll be opened with the auto backend. Removed --im as it didn't 38512 work as advertised and nobody's noticed (as actually implemented it 38513 was useless). 38514 38515Sat Dec 15 14:10:32 GMT 2001 Olly Betts <olly@survex.com> 38516 38517 * Minor update to todo.xml. 38518 38519Sat Dec 15 13:43:47 GMT 2001 Olly Betts <olly@survex.com> 38520 38521 * More fettling of OmBiasFunctor stuff - still not ready for use yet... 38522 38523Tue Dec 11 13:06:08 GMT 2001 Olly Betts <olly@survex.com> 38524 38525 * Don't work out probabilistic weights for boolean bits of the query 38526 (rhs of FILTER and AND_NOT) which fixes incorrect percentage weights 38527 in filtered queries. 38528 38529Tue Dec 11 12:26:44 GMT 2001 Olly Betts <olly@survex.com> 38530 38531 * Added test singlesubq1 to keep an eye on can_replace_by_single_subq. 38532 38533Mon Dec 10 16:58:21 GMT 2001 Olly Betts <olly@survex.com> 38534 38535 * can_replace_by_single_subq shouldn't return true for OP_ELITE_SET 38536 since you can't call set_elite_set_size() on an arbitrary subquery. 38537 38538Thu Dec 6 15:02:05 GMT 2001 Richard Boulton <richard@tartarus.org> 38539 38540 * (omqueryinternal.cc, omtermlistiteratorinternal.h) 38541 Fix some compiler warnings (when compiling with no debug) due 38542 to methods which should return a value but simply contain 38543 "Assert(false);". Throw an exception in such methods instead 38544 (after the Assert). 38545 38546Mon Dec 03 11:20:42 GMT 2001 Olly Betts <olly@survex.com> 38547 38548 * New BiasPostList - not yet enabled as it needs more work. 38549 38550Mon Dec 03 11:16:44 GMT 2001 Olly Betts <olly@survex.com> 38551 38552 * quartzdump: give syntax error if no tables specified. 38553 38554Thu Nov 29 14:10:43 GMT 2001 Olly Betts <olly@survex.com> 38555 38556 * ExtraWeightPostlist wasn't handling prune correctly. 38557 38558Thu Nov 22 13:46:59 GMT 2001 Olly Betts <olly@survex.com> 38559 38560 * Fixed segfault when percentage_cutoff emptied the proto-mset. 38561 38562Thu Nov 22 12:27:49 GMT 2001 Olly Betts <olly@survex.com> 38563 38564 * Enhanced test emptyquery1. 38565 38566Fri Nov 16 15:32:09 GMT 2001 Olly Betts <olly@survex.com> 38567 38568 * Added OmQuery::is_empty() method. 38569 38570Thu Nov 15 15:36:07 GMT 2001 Olly Betts <olly@survex.com> 38571 38572 * Updated todo list. 38573 38574Thu Nov 15 13:03:05 GMT 2001 Olly Betts <olly@survex.com> 38575 38576 * Fixed percent_cutoff problems. 38577 38578Wed Nov 14 12:05:44 GMT 2001 Olly Betts <olly@survex.com> 38579 38580 * Empty OmQuery() now matches no documents (rather than causing an 38581 exception). 38582 38583Thu Nov 08 18:23:21 GMT 2001 Olly Betts <olly@survex.com> 38584 38585 * SIGSTKFLT isn't portable, so added #ifdef checks for it. 38586 38587Wed Nov 07 15:34:29 GMT 2001 Olly Betts <olly@survex.com> 38588 38589 * Fixed 2 GCC 3.0 warnings in muscat36 backend. 38590 38591Wed Nov 07 14:21:47 GMT 2001 Olly Betts <olly@survex.com> 38592 38593 * Made doc counts returned from percentage cutoff matches more 38594 accurate. 38595 38596Wed Nov 07 12:30:32 GMT 2001 Olly Betts <olly@survex.com> 38597 38598 * GCC 3.0 fixes. 38599 38600Tue Nov 06 11:16:42 GMT 2001 Olly Betts <olly@survex.com> 38601 38602 * Matcher now calculates percentages like Omega does (or did as I'm 38603 about to remove that code from Omega), rather than as a percentage 38604 of the theoretical maximum possible weight. The old way generally 38605 gives disappointingly low values, and by pushing the percentage 38606 code down into the matcher, it can be used to optimise the query. 38607 38608Tue Nov 06 11:13:06 GMT 2001 Olly Betts <olly@survex.com> 38609 38610 * Quick fix for problems with null OmQuery-s. 38611 38612Mon Nov 05 15:52:55 GMT 2001 Olly Betts <olly@survex.com> 38613 38614 * Added signal handling to testsuite - if a testcase generates a 38615 signal it is caught and reported, then the testsuite continues 38616 with further testcases. 38617 38618Wed Oct 31 14:26:59 GMT 2001 Olly Betts <olly@survex.com> 38619 38620 * Removed needless complications in matcher when a weight threshold 38621 has been set. 38622 38623Tue Oct 30 16:50:46 GMT 2001 Olly Betts <olly@survex.com> 38624 38625 * Removed superfluous lines from configure.in; fixed warning from 38626 automake 1.5. 38627 38628Mon Oct 29 11:54:36 GMT 2001 Olly Betts <olly@survex.com> 38629 38630 * Changed matcher to form proto-mset using a min-heap (as described 38631 in "Managing Gigabytes", 2nd ed., pp 211-213). Compared to the 38632 previous "nth-element" approach, this uses about half the memory, 38633 allows the min-weight based matcher optimisations to work sooner, 38634 and should be inherently faster (not yet benchmarked though). The 38635 code's slightly simpler too. 38636 38637Mon Oct 29 11:53:38 GMT 2001 Olly Betts <olly@survex.com> 38638 38639 * Fixed remote backend to pass match_cutoff setting across. 38640 38641Fri Oct 26 13:43:08 BST 2001 Olly Betts <olly@survex.com> 38642 38643 * Reserve size needed for mset vector. 38644 38645Thu Oct 25 18:00:54 BST 2001 Olly Betts <olly@survex.com> 38646 38647 * Fixed a couple of stray references to the old sleepycat backend. 38648 38649Tue Oct 23 18:19:32 BST 2001 Olly Betts <olly@survex.com> 38650 38651 * More cleaning up of MultiMatch. 38652 38653Tue Oct 23 16:14:27 BST 2001 Olly Betts <olly@survex.com> 38654 38655 * Removed RemotePostList - it was an experimental idea which proved 38656 to be too slow even on a fast network. Cleaned up code where hooks 38657 were bodged in for it. 38658 38659Tue Oct 23 13:27:12 2001 James Aylett <tartarus@users.sourceforge.net> 38660 38661 * Added documentation of the test system (albeit brief). Also 38662 mentioned the autotools book in HACKING. 38663 38664Tue Oct 23 12:07:59 BST 2001 Olly Betts <olly@survex.com> 38665 38666 * Updated .cvsignore files. 38667 38668Tue Oct 23 11:29:47 BST 2001 Olly Betts <olly@survex.com> 38669 38670 * Code tidying while investigating sporadic fails from quartztest. 38671 38672Mon Oct 22 17:42:30 BST 2001 Olly Betts <olly@survex.com> 38673 38674 * Minor fettles to quartztest: fixed warnings, whitespace tidying, 38675 use mkdir(...) rather than system("mkdir ...") 38676 38677Mon Oct 22 16:41:12 2001 James Aylett <tartarus@users.sourceforge.net> 38678 38679 * Renamed project to Xapian. 38680 38681Mon Oct 22 14:22:00 BST 2001 Olly Betts <olly@survex.com> 38682 38683 * Fixed non-ISO C++ code so Xapian will compile under GCC 3.0 38684 (and also RedHat's "GCC 2.96"). 38685 38686Mon Oct 22 11:21:45 2001 James Aylett <tartarus@users.sourceforge.net> 38687 38688 * Altered omseek-config and the AC m4 macro to make uninst 38689 executables link to the right version of the library 38690 38691Mon Oct 22 10:38:20 2001 James Aylett <tartarus@users.sourceforge.net> 38692 38693 * Minor fixes to enable build (and test) under Solaris. 38694 38695Fri Jun 22 13:24:59 2001 Sam Liddicott <sam@ananova.com> 38696 38697 * Added some explicit type casts in xmlindexer and quartz backend 38698 to help gcc2.96 compile. 38699 38700Thu Jun 21 11:05:31 2001 James Aylett <tartarus@users.sourceforge.net> 38701 38702 * HACKING updated to (a) remove inaccurate statements about 38703 copyright assignment, and (b) talk about developer write 38704 access to CVS. 38705 38706Mon Jun 11 13:24:43 2001 James Aylett <tartarus@users.sourceforge.net> 38707 38708 * pthread support detected using an automake macro. Should 38709 be more portable as a result. 38710 38711 * We need GNU make: buildall now tries to find it. 38712 38713Mon Jun 11 12:07:00 2001 Hein Ragas <hragas@users.sourceforge.net> 38714 38715 * Modified QuartzWritableDatabase::do_add_document and 38716 QuartzWritableDatabase::do_replace_document to leave the PositionList 38717 empty for a term with no positions associated with it. 38718 38719Mon May 29 12:17:00 2001 Hein Ragas <hragas@users.sourceforge.net> 38720 38721 * Modified QuartzPostList::add_entry to allow for adding of entries 38722 in the middle of the postlist, not only at the end. 38723 38724Mon May 28 12:00:00 2001 Hein Ragas <hragas@users.sourceforge.net> 38725 38726 * Fixed a bug in replace_document for Quartz, added a test to 38727 ensure proper working of the fix. 38728 38729Fri Apr 27 15:16:10 2001 James Aylett <tartarus@users.sourceforge.net> 38730 38731 * Project name change to Omseek. 38732 38733Wed Apr 11 09:06:37 BST 2001 Chris Emerson <chris.emerson@omsee.com> 38734 38735 * Implemented deleting of items from postlists, and added some 38736 tests to check that it works properly. 38737 38738 * Fixed a potential memory leak in QuartzPostList if an exception 38739 was thrown from the constructor. 38740 38741 * BackendManager now sets the quartz_logfile setting, to make 38742 the logs available from the testsuite. 38743 38744 * Added mention of quartz_logfile to docs/omsettings 38745 38746 * Removed a bad assert from InMemoryDatabase::get_doclength() 38747 38748Mon Apr 9 21:48:18 BST 2001 Chris Emerson <chris.emerson@omsee.com> 38749 38750 * Added #include <cmath> to testutils.cc 38751 38752Fri Mar 30 17:37:24 BST 2001 Olly Betts 38753 38754 * Added extra/.cvsignore 38755 38756Fri Mar 30 17:22:13 BST 2001 Olly Betts 38757 38758 * Disabled allocation checking of new[] and delete[] since some STL 38759 implementations use them which leads to leaks being reported where 38760 none exist. This is addressable longer term... 38761 38762Thu Mar 29 19:05:46 BST 2001 Richard Boulton <richard.boulton@omsee.com> 38763 38764 * Add "extra" directory to om source tree, to hold extra libraries 38765 for use with omsee, which aren't part of the core. 38766 38767 * Put a query parser into "extra". This is roughly the parser 38768 from omega. Needs some work: in particular, it needs to be 38769 made reentrant. 38770 38771 * Added extra/ directory to top level Makefile.am and configure.in. 38772 Added AC_PROG_YACC to Makefile.am 38773 38774 * Add includes of required header files to omquery.h. 38775 38776Wed Mar 28 17:15:22 BST 2001 Richard Boulton <richard.boulton@omsee.com> 38777 38778 * Modifications to OmQuery. Remove the isbool flag: there is 38779 no longer any need for the concept of a "pure boolean query". 38780 The same effect as was obtained by setting isbool can be 38781 obtained by setting the match_weighting_scheme parameter to 38782 bool. 38783 38784 * Also, undefined queries may no longer be used when 38785 building up composite queries; the correct behaviour for this 38786 is hard to define and implement and harder to document, and 38787 removing this removes lots of special case code. 38788 38789 * Updated network query passing code. 38790 38791 * Remove special cases for bool weighting in localmatch and irweight. 38792 38793 * Updated omsettings docs. Updated comments in omsetting.h. 38794 38795 * Updated todo.xml 38796 38797 * Incremented network protocol version. 38798 38799 * Added test_emptyop1, which checks what happens when an attempt is 38800 made to use an empty list of subqueries to build up a query, and 38801 then use the query. 38802 38803 * Remove test_boolsubq1: no such thing as a boolean query now, so 38804 no need to test what happens when one is used. 38805 38806 * Updated testsuite to use "match_weighting_scheme" setting, rather 38807 than calling OmQuery::set_bool(). 38808 38809Wed Mar 28 15:05:46 BST 2001 Chris Emerson <chris.emerson@omsee.com> 38810 38811 * Fixes to InMemoryDatabase: 38812 + do_open_post_list returns an EmptyPostList rather than an 38813 assertion error if the term doesn't exist 38814 + Fixed doccount(), which wasn't decrementing on delete_doc() 38815 + Remove terms from the database when they have no more postings. 38816 + Implement collection frequencies, and run collfreq tests for 38817 inmemory. 38818 38819Wed Mar 28 14:24:38 BST 2001 Richard Boulton <richard.boulton@omsee.com> 38820 38821 * Set elite set size to max(10, sqrt(number of subqueries)) by 38822 default. This is rather more useful than the old default of 0. 38823 38824Wed Mar 28 10:25:35 BST 2001 Chris Emerson <chris.emerson@omsee.com> 38825 38826 * QuartzDatabase now implements replace_document(), and 38827 delete_document() now removes keys/attributes as well. 38828 However, postlist entries are not yet correctly removed, 38829 so this will cause problems. 38830 38831 * Added a test for deleting/replacing documents, which passes. 38832 38833Tue Mar 27 17:31:58 BST 2001 Chris Emerson <chris.emerson@omsee.com> 38834 38835 * QuartzAttributes now has a method to delete a document's 38836 attributes, and QuartzRecordManager has a replace_ method. 38837 (But the code which uses these isn't in this commit). 38838 38839Thu Mar 22 15:58:08 GMT 2001 Richard Boulton <richard.boulton@omsee.com> 38840 38841 * Change definition of OmQuery::is_defined(), so that elite set 38842 queries are undefined until a size is specified for the set. 38843 38844Wed Mar 21 14:29:04 GMT 2001 Chris Emerson <chris.emerson@omsee.com> 38845 38846 * Implemented delete_document and replace_document in inmemory 38847 database. 38848 38849Wed Mar 21 12:39:13 GMT 2001 Olly Betts 38850 38851 * Tweak to docs/quickstart.html. 38852 38853Wed Mar 21 02:50:19 GMT 2001 Olly Betts 38854 38855 * Entirely removed sleepcat backend and all references to it. 38856 38857 * Disable muscat36 backend by default. 38858 38859Tue Mar 20 18:47:12 GMT 2001 Olly Betts 38860 38861 * open_document() now takes a lazy flag - if not set we need to check 38862 that the docid given actually exists. 38863 38864 * heavy_duty flag now a bool instead of an int. 38865 38866Mon Mar 19 19:16:34 GMT 2001 Olly Betts 38867 38868 * Added test getdoc1 to check exceptions are thrown for out-of-range 38869 docids (currently they aren't for quartz and muscat36 backends). 38870 38871Mon Mar 19 17:17:31 GMT 2001 Olly Betts 38872 38873 * New simpler implementation of leak detection in testsuite. 38874 Currently doesn't support malloc/calloc/realloc/free. 38875 38876Mon Mar 19 16:46:16 GMT 2001 Richard Boulton <richard.boulton@omsee.com> 38877 38878 * Further small modification to omsee-config: will now look in 38879 .libs subdirectories, too. 38880 38881Mon Mar 19 15:57:18 GMT 2001 Richard Boulton <richard.boulton@omsee.com> 38882 38883 * Update omsee-config to work when a prefix is specified that 38884 points directly to the directory with the library, rather than 38885 expecting the library to be in a subdir "libs/". (libs/ is 38886 still used if it exists). 38887 38888 * Update omsee.m4, to use omsee-config even when using an 38889 uninstalled version of omsee. This in turn fixes problems using 38890 uninstalled versions of omsee with STLport. 38891 38892Fri Mar 16 18:14:52 GMT 2001 Richard Boulton <richard.boulton@omsee.com> 38893 38894 * Updated licenses, to include year 2001. 38895 38896Fri Mar 16 15:40:49 GMT 2001 Richard Boulton <richard.boulton@omsee.com> 38897 38898 * Fix up small bug in quartztest causing it to fail for lack of an 38899 expected exception. Initialise values in quartz_positionlist.cc 38900 when position list is not present. 38901 38902Thu Mar 15 17:40:38 GMT 2001 Richard Boulton <richard.boulton@omsee.com> 38903 38904 * Make timeout absolute, rather than cumulative, when fetching 38905 multiple documents from database: if two nodes fail, the total 38906 timeout should still be that specified, not twice it. 38907 38908 * Make the timeout set by SocketClient::set_query() get reset 38909 correctly if an exception happens (which used to prevent 38910 SocketClient::get_mset() ever getting called). 38911 38912Thu Mar 15 17:06:51 GMT 2001 Olly Betts 38913 38914 * Oops, checked in too much - backing out the wrong stuff. 38915 38916Thu Mar 15 16:30:14 GMT 2001 Olly Betts 38917 38918 * Include autoconf/definedir.m4 in tarball. 38919 38920Thu Mar 15 16:06:02 GMT 2001 Richard Boulton <richard.boulton@omsee.com> 38921 38922 * Updated network protocol number to reflect change adding 38923 OP_ELITE_SET. 38924 38925Thu Mar 15 15:31:35 GMT 2001 Richard Boulton <richard.boulton@omsee.com> 38926 38927 * QuartzPositionList should no longer complain if positional 38928 information isn't available for a particular term / document 38929 combination. 38930 38931 * Updated todo. 38932 38933Thu Mar 15 13:55:53 GMT 2001 Richard Boulton <richard.boulton@omsee.com> 38934 38935 * Removed OmDocument::set_wdf() and OmDocument::add_term(). 38936 Replaced with OmDocument::add_term_nopos(), which adds a term 38937 without specifying positional information, taking an optional 38938 wdfinc parameter. Updated testsuite correspondingly. 38939 38940Thu Mar 15 13:14:10 GMT 2001 Richard Boulton <richard.boulton@omsee.com> 38941 38942 * Update TODO 38943 38944Wed Mar 14 17:51:40 GMT 2001 Richard Boulton <richard.boulton@omsee.com> 38945 38946 * Added new operator OP_ELITE_SET, which replaces match_max_or_terms 38947 option. Can now specify exactly which terms to apply max_or_terms 38948 to. max_or_terms is obsolete: an error will be thrown if an 38949 attempt is made to use it. 38950 38951Wed Mar 14 15:56:20 GMT 2001 Richard Boulton <richard.boulton@omsee.com> 38952 38953 * Added test for and implementation of multiple XOR queries. 38954 38955 * Fix small bugs with get_termfreq_est() for xor and andnot 38956 postlists. 38957 38958Mon Mar 5 16:08:01 GMT 2001 Chris Emerson <chris.emerson@omsee.com> 38959 38960 * Catch exceptions within the loop in SocketServer - exceptions 38961 should normally not kill the server. This means that that a 38962 client still works after eg an OmDocNotFoundError, which was 38963 causing problems before. 38964 38965Fri Mar 2 18:15:47 GMT 2001 Richard Boulton <richard.boulton@omsee.com> 38966 38967 * Add a new query operator, OP_WEIGHT_CUTOFF, which returns only 38968 those documents from a query which have a weight greater than a 38969 specified cutoff value. Also added OP_PERCENT_CUTOFF, but this 38970 is not yet implemented. 38971 38972 * Added test of new cutoff function, cutoff2. 38973 38974 * Updated network protocol to pass new queries. Increased protocol 38975 version number (to 10). 38976 38977 * Added set_cutoff() function to OmQuery, to set cutoff parameter. 38978 38979 * Updated TODO. 38980 38981 * Remove unused member "PostList * postlist" of LocalSubMatch. 38982 38983Thu Mar 1 12:04:53 GMT 2001 Richard Boulton <richard.boulton@omsee.com> 38984 38985 * Updates to HACKING. 38986 38987Wed Feb 28 18:42:47 GMT 2001 Richard Boulton <richard.boulton@omsee.com> 38988 38989 * Fixes to neaten up configure output, and to test for the Perl 38990 Text::Format module, thanks to James Aylett (patch slightly 38991 modified, so if it doesn't work it's probably my fault). 38992 38993 * configure.in checks for presence of ftime() and gettimeofday() 38994 38995 * Added OmTime, a class to deal with times to an accuracy of 38996 microseconds, or whatever the best accuracy the system supports 38997 is. 38998 38999 * Use OmTime in network code instead of time(NULL). 39000 39001Wed Feb 28 14:23:11 GMT 2001 Richard Boulton <richard.boulton@omsee.com> 39002 39003 * Merge common code from OmSocketLineBuf::wait_for_data() and 39004 OmSocketLineBuf::do_readline() into 39005 OmSocketLineBuf::attempt_to_read(), and thus fix bug in 39006 wait_for_data() when 0 bytes returned from read(). 39007 39008Tue Feb 27 18:40:33 GMT 2001 Richard Boulton <richard.boulton@omsee.com> 39009 39010 * Fixes to remote matcher code to cope better with failure of 39011 submatchers: 39012 - Timeout for all submatches now correctly start at same time. 39013 39014 * Added more extensive testing of above code, involving adding 39015 new parameters to inmemory to cause abort()s at various stages of 39016 the match. 39017 39018 * Remove obsolete (and unused) method 39019 SocketServer::read_global_stats() 39020 39021 * Errors are now generated from strings by using omerrortypes.h with 39022 suitable #defines before including it. Updated todo accordingly. 39023 39024 * Extend scope of try{} clause in socketserver, so that 39025 SocketServerFinished exception never escapes. 39026 39027 * Default timeout in progserver increased to 30000. 39028 39029 * Default timeout in tcpserver increased to 15000. 39030 39031Mon Feb 26 23:51:23 GMT 2001 Richard Boulton <richard.boulton@omsee.com> 39032 39033 * Split query generation into stages: make new query, add subqueries, 39034 then finalise. Add private methods to OmQuery reflecting this, and 39035 convert constructors into template methods, allowing any iterator 39036 to be used for constructing queries. Removed reference to 39037 <vector> from omquery.h 39038 39039 * Add omqueryinternal.cc, containing implementation of query 39040 internals. (surprise!) 39041 39042 * OmQuery::Internal now has some helper functions to determine the 39043 properties of each particular query. These should be converted 39044 into a lookup table, and the remaining hard-coded properties (for 39045 AND_MAYBE, AND_NOT and FILTER) factored out. 39046 39047 * window property removed from constructor. This can now be set by a 39048 separate call, to "OmQuery::set_window()" 39049 39050 * Added a deleter_vector class, to store subquery pointers in a more 39051 exception-safe way. 39052 39053 * Represent undefined queries by the new OP_UNDEF operation, rather 39054 than a dedicated flag - cleaned up some logic. 39055 39056 * Some modifications to XOR handling: should now behave like OR and 39057 AND - doesn't need to be binary. (*untested*) 39058 39059 * Fixes to serialisation code in socketcommon.cc to work with new 39060 OmQuery::Internals - this should really be done in 39061 OmQuery::Internal. 39062 39063 * One tiny fix in tcpclient.cc - an &fdset was missed for exception 39064 conditions in a select() call. 39065 39066 * Testsuite modified and expanded to check changes to OmQuery. 39067 39068Mon Feb 26 18:20:16 GMT 2001 Chris Emerson <chris.emerson@omsee.com> 39069 39070 * Fixed some compiler warnings reported by James Aylett. 39071 39072Mon Feb 26 14:27:09 GMT 2001 Chris Emerson <chris.emerson@omsee.com> 39073 39074 * Avoid waiting for a timeout when closing a SocketClient. 39075 39076Fri Feb 23 14:38:09 GMT 2001 Chris Emerson <chris.emerson@omsee.com> 39077 39078 * Updated todo.xml 39079 39080Thu Feb 22 18:14:41 GMT 2001 Chris Emerson <chris.emerson@omsee.com> 39081 39082 * OmRegexFilterNode has an output for non-matching strings as 39083 well as matching. "out" output renamed to "matching". 39084 39085Thu Feb 22 16:56:33 GMT 2001 Chris Emerson <chris.emerson@omsee.com> 39086 39087 * Fixed a bug in the fetch() bits: requesting documents at the 39088 same time from different OmMSet instances could cause a 39089 document to disappear from the cache at the wrong moment. 39090 39091Thu Feb 22 15:39:49 GMT 2001 Chris Emerson <chris.emerson@omsee.com> 39092 39093 * Updated todo. 39094 39095Thu Feb 22 12:14:12 GMT 2001 Richard Boulton <richard.boulton@omsee.com> 39096 39097 * Some small changes in quartz to improve exception safety and 39098 error checking. 39099 39100 * Remove unwanted OmExpandWeight::get_expand_k() method. 39101 39102Wed Feb 21 19:02:44 GMT 2001 Chris Emerson <chris.emerson@omsee.com> 39103 39104 * Overhauled the OmMSet::fetch() etc. methods. Documents are 39105 requested when fetch() is called, but are only fetched (all 39106 at once) when the first get_document() is called. 39107 39108Wed Feb 21 19:30:20 GMT 2001 Richard Boulton <richard.boulton@omsee.com> 39109 39110 * Add an errorhandler member to MultiMatch, and remove it from 39111 various calls which used to pass it about. 39112 39113 * Add an EmptyMatch object, which always returns an emptypostlist. 39114 39115 * Implement errorhandlers at start of query for initially down 39116 nodes. Improve test for errorhandlers to cover many more cases. 39117 39118 * Add many debug messages to error handling code. 39119 39120Wed Feb 21 14:33:50 GMT 2001 Chris Emerson <chris.emerson@omsee.com> 39121 39122 * Use a deque<> directly instead of a queue, due to conflict 39123 with Solaris headers. 39124 39125 * Split the collect_doc loop into a separate function 39126 39127 * SocketClient should be more robust against request_doc() being 39128 used without collect_doc(). 39129 39130Tue Feb 20 18:01:13 GMT 2001 Chris Emerson <chris.emerson@omsee.com> 39131 39132 * SocketClient implements a queue/cache system which means that 39133 collect_doc() doesn't need to be called in the same order as 39134 request_doc(). 39135 39136Mon Feb 19 15:43:49 GMT 2001 Chris Emerson <chris.emerson@omsee.com> 39137 39138 * Converted btree code to use new/delete instead of [mc]alloc/free. 39139 39140Mon Feb 19 13:52:23 GMT 2001 Chris Emerson <chris.emerson@omsee.com> 39141 39142 * Added new test collapsekey2 designed to work with muscat36 39143 databases, which have different key handling. Added two new 39144 categories of tests to cope with this. 39145 39146 * Adjusted BackendManager's key generation, and updated 39147 test_specialterms1() accordingly. 39148 39149Fri Feb 16 17:26:59 GMT 2001 Chris Emerson <chris.emerson@omsee.com> 39150 39151 * Implemented a test for keep-alives 39152 39153 * Added "-tNNNN" option to omprogsrv to pass a timeout value in. 39154 39155 * Added get_network_database() in apitest to set the timeout. 39156 39157Fri Feb 16 16:13:47 GMT 2001 Chris Emerson <chris.emerson@omsee.com> 39158 39159 * Incremented the remote protocol version, since a new message 39160 type has been added. 39161 39162Fri Feb 16 15:55:31 GMT 2001 Chris Emerson <chris.emerson@omsee.com> 39163 39164 * Added an OmDatabase keep_alive() method to gently prod any 39165 remote databases. Applications can use it to avoid the remote 39166 servers timing out between queries. Not properly tested yet... 39167 39168Thu Feb 15 19:05:24 GMT 2001 Chris Emerson <chris.emerson@omsee.com> 39169 39170 * The remote server now supports a separate timeout used while 39171 idle, rather than actually servicing a request from the client. 39172 Options --idle-timeout and --active-timeout added to omtcpsrv, 39173 and --timeout sets both timeouts. 39174 39175 * Added a documentation comment or two. 39176 39177Wed Feb 14 18:43:00 GMT 2001 Richard Boulton <richard.boulton@omsee.com> 39178 39179 * In Muscat3.6 backends, don't read the key from the keyfile unless 39180 keyno is 0. 39181 39182Tue Feb 13 13:57:34 GMT 2001 Andy MacFarlane <andym@omsee.com> 39183 39184 * Added parameter expand_k in omsettings in order to change 39185 value of weighting in expand process. 39186 39187Tue Feb 13 13:25:45 GMT 2001 Chris Emerson <chris.emerson@omsee.com> 39188 39189 * Network timeouts now apply to write() operations as well 39190 as read(). 39191 39192 * SocketLineBuf::do_writeline() now correctly deals with EAGAIN. 39193 39194 * SocketServer has new method writeline() which handles write 39195 access to the OmLineBuf. 39196 39197Mon Feb 12 12:35:41 GMT 2001 Richard Boulton <richard.boulton@omsee.com> 39198 39199 * Make OmPositionListIterators and any other appropriate iterators 39200 (postlist, termlist) have a default constructor allowing them to 39201 be declared uninitialised. 39202 39203Mon Feb 12 10:51:41 GMT 2001 Chris Emerson <chris.emerson@omsee.com> 39204 39205 * Updated todo.xml 39206 39207Thu Feb 8 17:59:44 GMT 2001 Chris Emerson <chris.emerson@omsee.com> 39208 39209 * Moved omnodepad.h from include/om to indexer/indexgraph/ 39210 39211 * Updated todo.xml 39212 39213Thu Feb 8 17:35:45 GMT 2001 Chris Emerson <chris.emerson@omsee.com> 39214 39215 * Updated todo.xml 39216 39217Thu Feb 8 17:00:02 GMT 2001 Chris Emerson <chris.emerson@omsee.com> 39218 39219 * Quartz now has a metafile which for now has a magic string 39220 and a version number. 39221 39222 * sys_open_to_read() and delete_file() exported from btree.cc. 39223 The latter was renamed to sys_unlink_if_exists(). 39224 39225 * Include btree_types.h from btree_util.h 39226 39227Wed Feb 7 17:33:00 GMT 2001 Chris Emerson <chris.emerson@omsee.com> 39228 39229 * Fix to InMemory databases: terms can be added even if they 39230 don't have any positions. (Was causing adddoc2 to fail). 39231 39232Tue Feb 6 18:06:13 GMT 2001 Richard Boulton <richard.boulton@omsee.com> 39233 39234 * Rename OmMSet::fetch_items() to fetch(). Add an overloaded 39235 fetch() method taking a single iterator, to fetch a single item. 39236 39237 * Fix some documentation comments. 39238 39239Mon Feb 5 19:16:45 GMT 2001 Richard Boulton <richard.boulton@omsee.com> 39240 39241 * Update TODO 39242 39243Mon Feb 5 19:12:39 GMT 2001 Richard Boulton <richard.boulton@omsee.com> 39244 39245 * Test behaviour of OmDocument methods add_term(), set_wdf(), 39246 remove_posting() and remove_term(). Fails for inmemory databases. 39247 39248Mon Feb 5 17:46:16 GMT 2001 Chris Emerson <chris.emerson@omsee.com> 39249 39250 * Modified the behaviour of timeouts during a match. Internally, 39251 an absolute timeout time is set from start_match(). Now remote 39252 nodes should timeout at NOW + remote_timeout, rather than 39253 waiting remote_timeout milliseconds for each read(). Needs 39254 some more testing. 39255 39256Mon Feb 5 17:21:52 GMT 2001 Richard Boulton <richard.boulton@open.muscat.com> 39257 39258 * Fix a missing #include in socketcommon.h 39259 39260Mon Feb 5 17:15:46 GMT 2001 Richard Boulton <richard.boulton@omsee.com> 39261 39262 * Sort generated todo lists. 39263 39264Fri Feb 2 17:44:54 GMT 2001 Richard Boulton <richard.boulton@omsee.com> 39265 39266 * Add an OmDocument::add_term() method. 39267 39268 * Remove an unwanted check that wdf's are greater than 0: wdf of 0 39269 _is_ allowed. 39270 39271Fri Feb 2 15:04:08 GMT 2001 Chris Emerson <chris.emerson@omsee.com> 39272 39273 * Hopefully, a fix for segfaults/assertions when network errors 39274 happen halfway through a match, when handled by OmErrorHandler 39275 objects: give the place-holder EmptyTermLists weighting objects. 39276 39277Thu Feb 1 19:03:10 GMT 2001 Richard Boulton <richard.boulton@omsee.com> 39278 39279 * Fixes to OmDocument interface: add parameters specifying the 39280 changes to be made to the wdf to add_posting and remove_posting, 39281 properly implement remove_posting and remove_term, including 39282 throwing of exceptions, and add a set_wdf() method to set the wdf 39283 to an absolute value. Corresponding modifications to 39284 OmDocumentTerm. 39285 39286 * Fix commented out errorhandler code in multimatch.cc, so it still 39287 compiles. 39288 39289 * Add a check to avoid division by zero in bm25weight.cc 39290 39291Thu Feb 1 15:59:30 GMT 2001 Richard Boulton <richard.boulton@open.muscat.com> 39292 39293 * Add a missed #include to omqueryinternal.h 39294 39295Thu Feb 1 14:44:04 GMT 2001 Richard Boulton <richard.boulton@omsee.com> 39296 39297 * Add some error handler code, with a "#if 0"ed out comment, 39298 to multimatch.cc 39299 39300Wed Jan 31 15:45:16 GMT 2001 Chris Emerson <chris.emerson@omsee.com> 39301 39302 * Remote servers should close down more gracefully when the 39303 client closes down in the middle of a request. 39304 39305Tue Jan 30 16:52:05 GMT 2001 Richard Boulton <richard.boulton@omsee.com> 39306 39307 * Removed unneeded #includes of STL headers from API headers. 39308 39309 * All #includes of files which are not installed use "" rather than 39310 <>. This means all #includes of OM files except for those which 39311 are in example programs (and hence might be compiled against the 39312 installed library). "" search paths are a superset of <> search 39313 paths: hence this should ensure that the om headers work however 39314 they are used. 39315 39316 * Moved supplied OmExpandDecider subclasses into 39317 include/om/omexpanddecider.h 39318 39319 * Remove om_termname_list from API: not used except by code which 39320 displays it, and in testsuite. 39321 39322Tue Jan 30 12:45:22 GMT 2001 Chris Emerson <chris.emerson@omsee.com> 39323 39324 * Removed #include <vector> from omstem.h 39325 39326Tue Jan 30 11:09:29 GMT 2001 Chris Emerson <chris.emerson@omsee.com> 39327 39328 * OmStem::get_available_languages() now returns a string 39329 rather than a vector. Languages are space-separated. 39330 Updated apitest. 39331 39332 * Added definition of RTLD_DEFAULT to internaltest.cc 39333 39334Mon Jan 29 16:11:15 GMT 2001 Chris Emerson <chris.emerson@omsee.com> 39335 39336 * OmIndexerMessage's copy-on-write slightly more careful. 39337 39338 * Improved debugging in OmIndexerNode 39339 39340 * Fixed a bug in the termlistadd node - it tried to append to a 39341 non-vector. 39342 39343Fri Jan 26 16:21:09 GMT 2001 Olly Betts 39344 39345 * indexerxml.cc: Removed some dead code. 39346 39347Fri Jan 26 16:11:13 GMT 2001 Chris Emerson <chris.emerson@omsee.com> 39348 39349 * Added omindexerdescinternal.h to the Makefile 39350 39351Fri Jan 26 15:50:32 GMT 2001 Richard Boulton <richard.boulton@omsee.com> 39352 39353 * Move OmQuery definition into a separate header file. 39354 39355Fri Jan 26 15:46:42 GMT 2001 Richard Boulton <richard.boulton@omsee.com> 39356 39357 * Move OmQuery::OP_LEAF out of public visibility, by taking it out 39358 of the enum, making it a static const member of OmQuery::Internal, 39359 and introducing an OmQuery::Internal::op_t to store query 39360 operators in internally. We lose the ability for the compiler to 39361 warn us if we forget to check for a particular operator in a 39362 switch statement, but this can't really be avoided. 39363 39364Fri Jan 26 13:49:33 GMT 2001 Chris Emerson <chris.emerson@omsee.com> 39365 39366 * Added get_output_{node,pad} to OmIndexerDesc 39367 39368 * Implemented and testes OmNodeInstanceIterator 39369 39370 * Implemented OmIndexerBuilder::build_from_desc, which somehow 39371 hadn't been. indextest now uses it. 39372 39373Thu Jan 25 18:47:08 GMT 2001 Olly Betts 39374 39375 * Fixed various .cvsignore files (omus -> omsee, and 39376 bindings/java/.cvsignore which seemed to have been copied from 39377 the top level one at some point). 39378 39379 * Fixed bug in OrPostList when used in a pure boolean context 39380 (uninitialised variables). 39381 39382 * tests/internaltest.cc: removed unused reference to getopt.h. 39383 39384 * tests/stemtest.pl.in: removed lots of bogus semicolons after 39385 closing braces. 39386 39387Thu Jan 25 17:53:08 GMT 2001 Richard Boulton <richard.boulton@omsee.com> 39388 39389 * Turn debugging messages (OM_DEBUG_TYPES) off by default. 39390 39391 * Add todo items for release to pages generated for website. 39392 39393Thu Jan 25 15:11:14 GMT 2001 Richard Boulton <richard.boulton@omsee.com> 39394 39395 * Add a couple of documentation comments: we need many more of 39396 these. No method, and certainly no class, in the API should be 39397 without an explanatory comment (not least so that they're 39398 accessible from the doxygen browser). 39399 39400Thu Jan 25 14:51:55 GMT 2001 Chris Emerson <chris.emerson@omsee.com> 39401 39402 * Hide the internals of OmIndexerDesc, and adding member functions 39403 to do all the necessary operations (not all yet implemented). 39404 39405 * Indexer internals mostly deal with OmIndexerDesc::Internal 39406 39407 * Removed '#include <vector>' from omindexerdesc.h 39408 39409Thu Jan 25 13:45:49 GMT 2001 Richard Boulton <richard.boulton@omsee.com> 39410 39411 * When setting up an RSet, allow documents to be referenced by 39412 OmMSetIterator, for convenience. 39413 39414 * Allow OmMSetIterators and OmESetIterators to be created without 39415 initialising, also for convenience. 39416 39417 * Include CFLAGS for STLPORT in the flags produced by omsee-config. 39418 39419 * Change several more missed "omus"s to omsee. 39420 39421Thu Jan 25 13:50:06 GMT 2001 Chris Emerson <chris.emerson@omsee.com> 39422 39423 * Changed a mention of libomus in netprogs/Makefile.am to libomsee 39424 39425Thu Jan 25 12:33:46 GMT 2001 Richard Boulton <richard.boulton@omsee.com> 39426 39427 * Build only the API docs when making dist / install. Full source 39428 docs only get built if explicitly asked for. 39429 39430Thu Jan 25 11:36:39 GMT 2001 Richard Boulton <richard.boulton@omsee.com> 39431 39432 * Project name changed to Omsee. 39433 39434 Ramifications from a technical viewpoint are: 39435 39436 - library name changed from libomus.* to libomsee.* 39437 - libomus-config renamed to omsee-config 39438 - Autoconf macro file libomus.m4 renamed to omsee.m4, 39439 macro name OM_PATH_LIBOMUS changed to OM_PATH_OMSEE 39440 and macro now defines OMSEE_CFLAGS and OMSEE_LIBS rather 39441 than LIBOMUS_CFLAGS and LIBOMUS_LIBS. configure arguments 39442 changed name, also. 39443 39444Wed Jan 24 15:57:10 GMT 2001 Richard Boulton <richard.boulton@open.muscat.com> 39445 39446 * Improve test of OmMSetIterators equality comparisons. 39447 39448 * Update TODO 39449 39450Wed Jan 24 15:11:11 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com> 39451 39452 * Renamed OmNodeConnection to OmNodePad. The old name was 39453 confusing. 39454 39455 * Added OmPadIterator, and OmNodeDescriptor::{in,out}puts_{begin,end}. 39456 Also implemented OmNodeDescriptor::get_type() 39457 39458 * Added output function for OmPadIterator 39459 39460 * Added test for OmPadIterators 39461 39462Tue Jan 23 19:01:29 GMT 2001 Richard Boulton <richard.boulton@open.muscat.com> 39463 39464 * Remove OmBatchEnquire from system: it may return at a later date, 39465 but for now it is simply out of date and a maintenance liability, 39466 and gives no significant advantage. Code now exists in 39467 ombatchenquire.h in CVS, but is not part of build process. 39468 39469 * Make OmEnquire and OmMSet have reference counted internals: this 39470 introduces a further layer of indirection, but tidies up things 39471 greatly. 39472 39473 * Remove get_docs() and get_doc() methods from OmEnquire. 39474 get_doc(docid) is catered for by OmDatabase::get_document(docid). 39475 Added OmMSetIterator::get_document() to replace get_doc on a 39476 MSetIterator. Added OmMSet::fetch_items() to replace get_docs(): 39477 it prefetches the documents (or just those specified by some 39478 MSetIterators into a cache in the Mset). 39479 39480 * OmMSet internals now have a reference to the creating OmEnquire 39481 object: this is set up after the mset returns from the matcher. 39482 If the reference is null, the Mset was created standalone, and 39483 get_doc methods will fail. 39484 39485 * OmMSetIterators now have a reference to the MSet, instead of a 39486 percent_factor stored. This allows the percent_factor to be 39487 lazily calculated, and also allows get_doc to work. 39488 39489 * Add get_rank() method to OmMSetIterators. 39490 39491 * Improve introspection on OmDocument, and fix a bug with assignment 39492 of OmDocument (wasn't assigning most of the internals). 39493 39494 * Add a missing std:: on a string in omstopwordnode. 39495 39496 * Fixed several documentation comments. 39497 39498 * Add some more debugging to quartz. 39499 39500 * Update TODO. 39501 39502 * Add test_fetchdocs1 to apitest. Disable test_batchquery1. 39503 39504 * Remove sign comparison error in VectorTermList. 39505 39506Tue Jan 23 16:24:04 GMT 2001 Olly Betts 39507 39508 * No longer compile with -ansi under gcc - it causes problems by 39509 preventing Linux system headers defining various functions we need. 39510 39511 * testsuite/testsuite.cc: when reporting exceptions, display 39512 exception's errno value if set. 39513 39514Tue Jan 23 15:13:58 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com> 39515 39516 * Killed OmIndexerBuilder::NodeType. Now use OmNodeDescriptor 39517 in its place, getting rid of another vector usage in the API. 39518 39519 * OmNodeDescriptor adjusted for its new role: internals are 39520 refcounted, and some query as well as setting functions. 39521 39522 * Cast the fourth argument to getsockopt() to void *. On Solaris 39523 that argument is char *. 39524 39525Tue Jan 23 11:24:13 GMT 2001 Olly Betts 39526 39527 * Tiny tweak to da_document.cc. 39528 39529Fri Jan 19 18:36:15 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com> 39530 39531 * Removed get/set vector methods from OmSettings 39532 39533 * Remote/prog arguments now passed in a string separated be spaces, 39534 not a vector. 39535 39536 * split_words() moved from netutils.h to utils.{h,cc} 39537 39538 * Some unnecessary #include <vector> lines removed from API headers 39539 39540 * Removed get_config_vector() from OmIndexerNode 39541 39542 * OmConstantNode no longer handles vector values, and 39543 OmStopWordNode and OmSelectItemsNode use space-separated 39544 values instead. 39545 39546Thu Jan 18 17:31:55 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com> 39547 39548 * Removed mentions of std::vector from OmIndexerMessage, and 39549 updated the relevant bits. 39550 39551 * Fixed a bug with the copy-on-write parts of OmIndexerMessage. 39552 39553Thu Jan 18 17:09:43 GMT 2001 Richard Boulton <richard.boulton@open.muscat.com> 39554 39555 * Fix to btreetest.cc: shouldn't fail if test data files are not 39556 available. 39557 39558 * Fix to multimatch.cc: clamp hits values to number of documents 39559 matched after collapsing and match functors, rather than before. 39560 39561Thu Jan 18 14:13:21 GMT 2001 Richard Boulton <richard.boulton@open.muscat.com> 39562 39563 * Fix error messages thrown by quartz when a database doesn't exist / 39564 already exists and isn't to be overwritten. 39565 39566 * Make quartz clean up an old database directory, if 39567 database_allow_overwrite is specified, so that old base files don't 39568 confuse things. 39569 39570Wed Jan 17 18:18:50 GMT 2001 Richard Boulton <richard.boulton@open.muscat.com> 39571 39572 * Added all used toplevel directories to DIST_SUBDIRS 39573 39574Wed Jan 17 18:13:50 GMT 2001 Richard Boulton <richard.boulton@open.muscat.com> 39575 39576 * Martin committed changes to btree.cc which should fix some random 39577 problems experienced with quartz. 39578 39579 * Added in a test framework for the btree code, which exhibited the 39580 bug fixed by martin until updating to his fixed version. 39581 39582Wed Jan 17 16:10:02 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com> 39583 39584 * Moved the socklen_t definition so that tcpclient.cc could see 39585 it. 39586 39587Tue Jan 16 20:35:18 GMT 2001 Richard Boulton <richard.boulton@open.muscat.com> 39588 39589 * Fix creation of quartz databases in backendmanager: all tests should 39590 now pass. 39591 39592Tue Jan 16 20:28:46 GMT 2001 Richard Boulton <richard.boulton@open.muscat.com> 39593 39594 * Fix quartztest so that the tables / databases get created. 39595 Implement new test "create1" to check that creation of databases 39596 works as specified. 39597 39598 * Fix test for whether we are allowed to overwrite a database. 39599 39600 * Implement much better logging from quartz when making new databases. 39601 39602 * Clean up an error message from btree.cc 39603 39604Tue Jan 16 19:24:49 GMT 2001 Richard Boulton <richard.boulton@open.muscat.com> 39605 39606 * Don't display messages about allocation failures in the first 39607 iteration: if the failures go away when repeating, we're not 39608 interested. 39609 39610Tue Jan 16 18:28:03 GMT 2001 Richard Boulton <richard.boulton@open.muscat.com> 39611 39612 * Add two new OmSettings, for use when opening databases: 39613 database_create and database_allow_overwrite. The idea is that 39614 databases will only be created if database_create is specified, 39615 and that when they are being created an exception will be thrown 39616 if there's an existing database unless database_allow_overwrite 39617 is specified. 39618 39619 * Implemented database_create and database_allow_overwrite for 39620 Quartz, which is the only relevant type for now. Note that this 39621 breaks the testsuite, quite badly. 39622 39623 * Add OmDatabaseCreateError, which is thrown when creating a database 39624 fails. 39625 39626Tue Jan 16 17:08:47 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com> 39627 39628 * Fixed a typo in -ldl detection 39629 39630Tue Jan 16 15:15:30 GMT 2001 Richard Boulton <richard.boulton@open.muscat.com> 39631 39632 * Remove OmNeedRecoveryError, and quartz's quartz_perform_recovery 39633 parameter. Quartz now always performs recovery if needed: there 39634 is no need for this added complication. 39635 39636 * Update TODO 39637 39638Tue Jan 16 14:25:03 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com> 39639 39640 * Changed references to SIGCLD to SIGCHLD as it's more portable. 39641 39642Tue Jan 16 14:02:34 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com> 39643 39644 * Added check for whether -ldl is necessary. 39645 39646Tue Jan 16 11:51:25 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com> 39647 39648 * Added compatibility bits for early libxml1 versions. 39649 39650Mon Jan 15 18:18:01 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com> 39651 39652 * Removed use of hstrerror, which isn't portable. 39653 39654Mon Jan 15 18:02:42 GMT 2001 Richard Boulton <richard.boulton@open.muscat.com> 39655 39656 * Fix assertion which was the wrong way round in multimatch.cc 39657 39658Mon Jan 15 17:46:13 GMT 2001 Richard Boulton <richard.boulton@open.muscat.com> 39659 39660 * Fix initialisation of Btree_base::sequential when creating database. 39661 39662Mon Jan 15 15:43:46 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com> 39663 39664 * Renamed some uses of XML node structure for libxml2 compatibility. 39665 39666Mon Jan 15 15:35:50 GMT 2001 Richard Boulton <richard.boulton@open.muscat.com> 39667 39668 * Add some fixes to sequential access to btrees from Martin. 39669 39670Mon Jan 15 12:23:02 GMT 2001 Richard Boulton <richard.boulton@open.muscat.com> 39671 39672 * Set matches_* to the known value of the number of hits if we have 39673 been unable to return as many hits as were requested, and therefore 39674 know the exact number. 39675 39676 * Update test_matches1() to check this works correctly. Passes. 39677 39678Fri Jan 12 17:45:27 GMT 2001 Richard Boulton <richard.boulton@open.muscat.com> 39679 39680 * Implement get_doclength() for QuartzDatabase 39681 39682 * Remove unused parameter from QuartzRecordManager::add_record() 39683 39684Fri Jan 12 17:14:16 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com> 39685 39686 * Fixed MultiAllTermsList, which had stopped working. 39687 39688Fri Jan 12 15:32:34 GMT 2001 Richard Boulton <richard.boulton@open.muscat.com> 39689 39690 * Add test to apitest (postlist6) that doclengths got from postlists 39691 are the same as those from databases. Fails for Quartz for the 39692 moment. 39693 39694 * Add test to quartztest (disktable3) to try and bring out a bug in 39695 adding to tables. 39696 39697Fri Jan 12 15:20:09 GMT 2001 Richard Boulton <richard.boulton@open.muscat.com> 39698 39699 * Fix STLport macro so that it will accept an STLport installation 39700 with foo/include/stlport and foo/lib instead of foo/stlport and 39701 foo/lib. 39702 39703Fri Jan 12 14:04:37 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com> 39704 39705 * Fixed buglet in configure.in which produced a bogus warning 39706 about regex libraries. 39707 39708 * Added an AC_MSG_RESULT corresponding to an AC_MSG_CHECKING 39709 for the libxml flags 39710 39711Fri Jan 12 13:18:07 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com> 39712 39713 * Fixed skip_to() in QuartzAllTermsList 39714 39715Fri Jan 12 12:52:57 GMT 2001 Richard Boulton <richard.boulton@open.muscat.com> 39716 39717 * Turn debugging off in btree.cc: accidentally committed a version 39718 with lots of verbose debugging on. 39719 39720Fri Jan 12 11:16:17 GMT 2001 Olly Betts 39721 39722 * glibc 2.2 needs `#define _GNU_SOURCE' to give us RTLD_NEXT. 39723 39724 * C++ comments changed to C comments in malloccheck.c. 39725 39726Thu Jan 11 16:42:07 GMT 2001 Olly Betts 39727 39728 * Removed unnecessary `#include "alltermslist.h"' from 39729 d[ab]_database.h. 39730 39731Wed Jan 10 14:28:10 GMT 2001 Olly Betts 39732 39733 * Updated various .cvsignore files. 39734 39735Tue Jan 09 19:03:12 GMT 2001 Olly Betts 39736 39737 * Tidied up dead code from OmAllTermIterator. 39738 39739Tue Jan 09 18:41:21 GMT 2001 Olly Betts 39740 39741 * OmAllTermsIterator merged into OmTermIterator. 39742 39743 * When iterating over all terms, skip_to() doesn't set at_end() 39744 when it skips off the end. Fixed except for quartz and added 39745 regression test (allterms3). 39746 39747Tue Jan 9 18:14:04 GMT 2001 Richard Boulton <richard.boulton@open.muscat.com> 39748 39749 * Add some extra debugging code into btree code in quartz. 39750 39751Tue Jan 9 17:22:12 GMT 2001 Richard Boulton <richard.boulton@open.muscat.com> 39752 39753 * Make skip_to() work (ie, do nothing) on OmTermIterators, when the 39754 term iterator is at_end() already. 39755 39756Tue Jan 9 13:32:08 GMT 2001 Richard Boulton <richard.boulton@open.muscat.com> 39757 39758 * Updates to make the quartzdump utility more useful. 39759 39760 * Added new test to test cursor behaviour in quartz. 39761 39762Tue Jan 9 11:31:26 GMT 2001 Richard Boulton <richard.boulton@open.muscat.com> 39763 39764 * Remove an item from TODO 39765 39766Tue Jan 9 10:27:35 GMT 2001 Richard Boulton <richard.boulton@open.muscat.com> 39767 39768 * Add a missing \ in tests/Makefile.am 39769 39770Mon Jan 8 19:03:42 GMT 2001 Richard Boulton <richard.boulton@open.muscat.com> 39771 39772 * Increment format number in quartz/btree_base.cc. This isn't 39773 actually due to a change in the btree format, but to ensure that 39774 some databases which were causing problems are rebuilt. 39775 39776 We need to add quartz format numbers, separate from the btree format 39777 numbers, to check this kind of thing. 39778 39779Mon Jan 8 15:13:04 GMT 2001 Richard Boulton <richard.boulton@open.muscat.com> 39780 39781 * Add some debugging, and fix a test data file. 39782 39783Mon Jan 8 13:49:50 GMT 2001 Richard Boulton <richard.boulton@open.muscat.com> 39784 39785 * Fix failure to initialise OmMSet::Internal::have_percent_factor. 39786 39787Thu Jan 4 17:21:24 GMT 2001 Richard Boulton <richard.boulton@open.muscat.com> 39788 39789 * Add new test for a postlist with many documents, designed to fail 39790 and exhibit the bug andy has found. So far doesn't fail. 39791 39792Wed Jan 3 19:30:30 GMT 2001 Richard Boulton <richard.boulton@open.muscat.com> 39793 39794 * Add get_percent method to OmMSetIterator. Untested. 39795 39796 * Add om_percent type to om_types. 39797 39798 * Add test of sort order of terms in get_matching_terms. 39799 39800Tue Jan 2 15:05:53 GMT 2001 Richard Boulton <richard.boulton@open.muscat.com> 39801 39802 * Move documentation of parameters for OmSettings out of omsettings.h 39803 and into docs/. Not in distribution at the moment: it is awaiting 39804 placement into a permanent home (I think the user manual is the 39805 correct place). 39806 39807 * Add a bm25weight_min_normlen parameter: this specifies a cutoff 39808 on the minimum value that can be used for a normalised document 39809 length: smaller values will be forced up to this cutoff. This 39810 prevents very small documents getting a huge bonus weight. 39811 39812Wed Dec 20 16:54:41 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 39813 39814 * Fix warning in QuartzTable 39815 39816Wed Dec 20 15:13:05 GMT 2000 Olly Betts 39817 39818 * OmTermListIterator merged into OmTermIterator. 39819 39820 * Added OmRSet::contains() - checks if an RSet contains a given 39821 docid. 39822 39823 * Methods returning `const om_termname' now just return 39824 `om_termname'. 39825 39826Tue Dec 19 16:55:02 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com> 39827 39828 * Implemented AllTermsIterator for DA and Multi databases. 39829 Added a test which actually uses a multidatabase, but 39830 disabled it as it currently fails for both Quartz and DA. 39831 39832Tue Dec 19 12:14:05 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com> 39833 39834 * Adjusted TODO 39835 39836Tue Dec 19 20:06:43 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 39837 39838 * Escaping for termnames in remote database communication modified 39839 to use only characters in range 33 to 126. Should now work on all 39840 architectures. 39841 39842 * Increased OM_SOCKET_PROTOCOL_VERSION to 8. 39843 39844Mon Dec 18 17:23:48 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 39845 39846 * Added "match_cutoff" option to get_mset OmSettings. 39847 39848 * Added test for "match_cutoff" to apitest. 39849 39850 * Updated todo.xml 39851 39852Mon Dec 18 17:19:40 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com> 39853 39854 * Implemented opening positionlists from inmemory databases. Added 39855 a testcase as well, which is run for quartz and inmemory. 39856 39857Mon Dec 18 15:48:16 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com> 39858 39859 * Implemented AllTermsIterator for quartz. Interaction with 39860 QuartzPostList needs to be cleaned up. 39861 39862 * Added new functions [un]pack_string_preserving_sort(), which 39863 pack a string in a way which preserves sort order. Added a 39864 testcase to quartztest. 39865 39866 * Now use [un]pack_string_preserving_order() on postlist keys, so 39867 that we can get at terms in sorted order. (And get_tname_from_key() 39868 added to separate out the term-unpacking as well as the packing) 39869 39870 * Enabled test_allterms1 in apitest, but put it in a group of 39871 tests only run for inmemory and quartz. This should be extended 39872 to other backends. 39873 39874Mon Dec 18 14:33:42 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 39875 39876 * Implemented tests of msetiterator and esetiterator copying and 39877 assignment. 39878 39879 * Fix segfault when assigning to [me]setiterator to end. 39880 39881 * Updated todo.xml 39882 39883Mon Dec 18 13:52:53 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 39884 39885 * Move creation of first key in a quartz postlist into a named 39886 function (was scattered through the code). 39887 39888Mon Dec 18 11:19:53 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 39889 39890 * Update todo.xml 39891 39892Mon Dec 18 10:47:42 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 39893 39894 * Remove const from reverse_iterators in api_db.cc, so get around 39895 brokenness of egcs 1.1.2 39896 39897Mon Dec 18 09:41:54 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com> 39898 39899 * Added apitest_space.txt to the Makefile.am 39900 39901Sun Dec 17 16:15:03 GMT 2000 Olly Betts 39902 39903 * Replaced all API uses of om_termname_list with OmTermIterator. 39904 39905Fri Dec 15 18:54:10 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com> 39906 39907 * Implemented OmAllTermsIterator interface in API. It works for 39908 inmemory - the rest haven't been implemented yet. The test 39909 is commented out. 39910 39911Fri Dec 15 15:47:53 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 39912 39913 * Updated TODO. 39914 39915 * database returns positionlists as AutoPtrs; this neatens some of 39916 the code from the previous changelog entry, and makes explicit the 39917 ownership of the pointer. postlists and termlists should be 39918 AutoPtrs, likewise. 39919 39920Fri Dec 15 14:59:41 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 39921 39922 * Make OmPositionListIterators retrieved from OmPostListIterators 39923 valid indefinitely (were only valid until OmPostListIterator was 39924 moved). This makes them consistent with OmPositionListIterators 39925 retrieved from OmDatabases. 39926 39927 * Renamed PostList::get_position_list() to read_position_list. 39928 Added PostList::open_position_list() which opens a new positionlist 39929 and returns it as an AutoPtr. 39930 39931Fri Dec 15 13:09:51 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 39932 39933 * Make TODO.release file, containing TODO items for next release. 39934 39935Fri Dec 15 12:06:42 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 39936 39937 * QuartzDatabases now autoflush after 1000 changes. 39938 39939Fri Dec 15 11:40:37 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 39940 39941 * Fix segfault in quartz_table 39942 39943Fri Dec 15 11:23:15 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com> 39944 39945 * Removed begin/end_session() from quartztest 39946 39947Thu Dec 14 19:19:40 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 39948 39949 * Done todo item: For writable databases, make the behaviour currently 39950 obtained by calling begin_session() and later end_session() the 39951 default behaviour. If users want the changes to be applied 39952 immediately following a change, they should call flush(). 39953 39954Thu Dec 14 17:48:27 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 39955 39956 * Fix problem with recalc_maxweight() not being called before a 39957 get_maxweight() in multimatch.cc if a node prunes at the top level, 39958 since recalculate_w_max wasn't being checked at this point. 39959 Introduced helper function getorrecalc_maxweight() to tidy this up. 39960 39961 * Tidy up Asserts in common/netutils.h. 39962 39963Thu Dec 14 17:11:17 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com> 39964 39965 * Adjusted todo.xml 39966 39967Thu Dec 14 16:21:27 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com> 39968 39969 * Removed handling of OmDatabaseModifiedError in the API - it's 39970 up to the users to know what to do. Disabled quartzoverwrite2 39971 as it's now inappropriate. 39972 39973 * Added OmDatabase::reopen() to help them do so. 39974 39975 * Adjusted todo.xml 39976 39977Thu Dec 14 14:38:39 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 39978 39979 * Added another quoting regression test. 39980 39981Thu Dec 14 14:36:53 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com> 39982 39983 * Fixed the quoting _again_, since it broke with backslashes. 39984 39985Thu Dec 14 12:49:58 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 39986 39987 * Fix problems with recalculation of maxweight in postlists, causing 39988 AssertParanoid at multimatch.cc:393. When a prune was happening, 39989 recalc_maxweight flag was not always being set, because some 39990 {next,skip_to}_handling_prune() methods weren't being passed the 39991 matcher, and a default argument of 0 was being used. I've now 39992 removed the default argument and pass the matcher always. 39993 39994 Sometimes the recalc could perhaps be avoided, but this is 39995 certainly safer for now. 39996 39997Thu Dec 14 12:30:02 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com> 39998 39999 * Sleepcat is now disabled by default. 40000 40001 * Fixed a problem with tabs not being quoted in the remote case. All 40002 control characters are now quoted. Incremented the protocol ver 40003 number. 40004 40005Thu Dec 14 11:54:17 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 40006 40007 * Added regression test to check that all characters can be 40008 are safe to exist in document keys. 40009 40010 * Fixed OmDebug so that it can display messages containing zero bytes 40011 (use fwrite instead for fprintf) 40012 40013Wed Dec 13 18:43:40 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 40014 40015 * Add regression tests to apitest to check that OmMSet and OmESet 40016 begin() and end() iterators compare equal if the mset is empty. 40017 Fix matchfunctor used in test_matchfunctor1 so that it works for 40018 Muscat3.6 databases. 40019 40020Wed Dec 13 18:35:05 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com> 40021 40022 * Fixed bugs in OmMSet and OmESet iterators: begin() when the set 40023 was empty produced an invalid iterator, and the assignment 40024 operators would have failed when end iterators were involved. 40025 40026 * Added a check in test_matchfunctor1() that the mset returned is 40027 not empty. 40028 40029Wed Dec 13 18:18:09 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 40030 40031 * Turn off tests involving terms with newlines or zero bytes in terms 40032 with Muscat3.6 backends; these can't be expected to work. 40033 40034Wed Dec 13 18:06:29 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com> 40035 40036 * Uncommented the code in pctcutoff1 - test now passes. 40037 40038Wed Dec 13 17:53:19 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 40039 40040 * Fix: m36_key_file parameter wasn't being set with DA flimsy 40041 databases (thanks to Mark Hagger). 40042 40043 * indextest.cc changed to use "\n" instead of endl - compiles 40044 with STLport again. 40045 40046Wed Dec 13 17:27:17 GMT 2000 Olly Betts 40047 40048 * OmMSet is now an STL compatible container. 40049 40050 * Om*Iterator::difference_type was unsigned - now signed. 40051 40052 * net/readquery.ll: fixed compiler warning. 40053 40054 * Remote backend was defaulting to collapse on key 0. 40055 40056Wed Dec 13 16:48:49 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com> 40057 40058 * Add handling of DatabaseModified to OmEnquire::get_mset() 40059 40060Wed Dec 13 16:28:47 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 40061 40062 * Escape zero bytes in the network protocol, since these were 40063 breaking things when being passed across as part of keys. 40064 40065 * Add test of having zero bytes in the collapse keys. 40066 40067 * In testsuite, only display the context of errors if there is one 40068 present. 40069 40070Wed Dec 13 14:44:46 GMT 2000 Olly Betts 40071 40072 * Implemented OmMSet::operator[](). 40073 40074Wed Dec 13 14:30:57 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com> 40075 40076 * Added support for handling overwritten database conditions. 40077 Currently works for OmDocument::get_{data,key}(). 40078 40079Wed Dec 13 13:20:45 GMT 2000 Olly Betts 40080 40081 * Elaborated API hitlist in todo.xml. 40082 40083Wed Dec 13 12:28:18 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com> 40084 40085 * Fix to BackendManager to stop it removing tables prematurely. 40086 40087Wed Dec 13 11:49:53 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com> 40088 40089 * Apply the stemmer to query terms used in spaceterms1. (Not doing 40090 so caused the test to fail spuriously on local databases, since the 40091 terms are stemmed at index time). The test still fails with da and 40092 db databases. 40093 40094 * Fixed a problem when stats were unpacked from the network stream, 40095 where term names were not correctly unquoted. This led to double 40096 quoting of global statistics. 40097 40098Wed Dec 13 02:49:05 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 40099 40100 * Implement copy and assignment methods for OmPositionListIterator. 40101 40102Wed Dec 13 02:37:14 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 40103 40104 * ESet and MSet iterators now cope with being copied / assigned when 40105 the internals are null. 40106 40107 * Added copy method to OmPositionListIterator interface. No 40108 implementation for this yet though, or for the already existing 40109 assignment method. 40110 40111 * Added a couple of easy items to the todo list to check regarding 40112 iterators. 40113 40114Wed Dec 13 02:19:50 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 40115 40116 * Fix small bug in mset_range_is_same{,_weights}() 40117 40118Wed Dec 13 02:07:59 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 40119 40120 * And add copy and assignment for OmESet, similarly. 40121 40122Wed Dec 13 01:58:38 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 40123 40124 * Add copy and assignment operators to OmMSet so that the internals 40125 get copied (rather than just the pointer to them). Really want a 40126 small internals class, holding a refcount to the real internals, or 40127 else to use refcntptrs for the members of OmMSet::Internal which are 40128 potentially large (eg, items) 40129 40130Wed Dec 13 01:05:44 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 40131 40132 * Add Asserts to api/omdatabaseinternal.cc to ensure that there is at 40133 least one database present when opening termlists, etc. This should 40134 really be done by throwing errors. 40135 40136 * Add destructor to OmMSet, deleting internals. 40137 40138 * Implement getting positionlists from QuartzDatabases. 40139 40140 * Fix bug in copy constructor of OmDocument::Internal - some fields 40141 were not being copied. 40142 40143 * Fix api_db.cc so it compiles: code referring to mset by subscripting 40144 temporarily commented out. 40145 40146Tue Dec 12 20:05:10 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 40147 40148 * Fix bug with truncation of intermediate keys in btrees. 40149 40150Tue Dec 12 18:33:12 GMT 2000 Olly Betts 40151 40152 * OmMSet::get_docs() now takes sane parameters. 40153 40154 * Various test programs updated to nearly work with new OmMSet 40155 interface. 40156 40157Tue Dec 12 17:18:33 GMT 2000 Olly Betts 40158 40159 * Finished cleaning up OmMSet; updated TODO to reflect this. 40160 40161Tue Dec 12 17:16:02 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 40162 40163 * Fix bug with sorting keys in btrees. 40164 40165 * Various fixes to quartzdump. 40166 40167Tue Dec 12 15:40:28 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com> 40168 40169 * Nettest compiles with new OmMSet interface. 40170 40171Tue Dec 12 15:09:14 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com> 40172 40173 * Fixed an endless loop in QuartzWritableDatabase::do_delete_document. 40174 40175Tue Dec 12 15:07:39 GMT 2000 Olly Betts 40176 40177 * OmMSetItem replaced by OmMSetIterator. 40178 40179 * Added OmESet::empty(). 40180 40181 * Fixed == on OmESetIterator. 40182 40183Tue Dec 12 14:16:57 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com> 40184 40185 * Renamed arguments to compare_keys() 40186 40187Tue Dec 12 12:05:24 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 40188 40189 * Added quartzdump utility to dump the contents of a quartz table. 40190 40191Tue Dec 12 10:54:44 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com> 40192 40193 * Added constructors and destructor to OmRSet. 40194 40195Mon Dec 11 16:32:07 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 40196 40197 * Remove caching of average length in OmDatabaseInternal, was breaking 40198 asking for the average length of a database which was being 40199 modified. 40200 40201Mon Dec 11 16:03:46 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 40202 40203 * If no documents in database, don't divide by zero in 40204 omdatabaseinternal.cc 40205 40206 * If a document object doesn't come from the database, when iterating 40207 through its termlist don't open postlists from the nonexistent 40208 database; open them from the DocumentTerm objects in the document 40209 instead. 40210 40211 * Remove old unused and undefined method 40212 OmDocument::Internal::add_posting() 40213 40214Mon Dec 11 13:53:18 GMT 2000 Olly Betts 40215 40216 * omenquire.h: Removed superfluous declaration of OmMSetCmp. 40217 40218Mon Dec 11 13:38:12 GMT 2000 Olly Betts 40219 40220 * Updated TODO list. 40221 40222Mon Dec 11 13:24:45 GMT 2000 Olly Betts 40223 40224 * OmRSet internals encapsulated. 40225 40226Mon Dec 11 12:42:02 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com> 40227 40228 * OmIndexerMessage::get_element and ...::operator[] now have 40229 non-const versions. Fixes const-warning in omstemmernode.cc. 40230 40231Mon Dec 11 12:17:32 GMT 2000 Olly Betts 40232 40233 * Better typedef-s for Om*Iterator::difference_type. 40234 40235Sun Dec 10 17:51:41 GMT 2000 Olly Betts 40236 40237 * Corrected various typedef-s for Om*Iterator. 40238 40239Sun Dec 10 17:28:59 GMT 2000 Olly Betts 40240 40241 * Updated TODO to reflect OmESet being cleaned up. 40242 40243 * Term position argument to OmDocument::add_posting() is now 40244 optional (as it was for OmDocumentContents). 40245 40246Sun Dec 10 16:55:17 GMT 2000 Olly Betts 40247 40248 * OmESetItem is dead - long live OmESetIterator! 40249 40250 * net/socketclient.cc: fixed compiler warning. 40251 40252 * net/socketserver.cc: fixed compiler warning. 40253 40254Sun Dec 10 13:29:15 GMT 2000 Olly Betts 40255 40256 * Started to encapsulate OmESet/OmESetItem interface. Interface is 40257 close, but currently implementation is exposed in omenquire.h. 40258 40259 * apitest wasn't running puncterms1 or spaceterms1 - fixed. 40260 40261Sun Dec 10 11:34:39 GMT 2000 Olly Betts 40262 40263 * om/autoptr.h -> autoptr.h in lots of places. 40264 40265Fri Dec 8 17:20:04 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com> 40266 40267 * Updated indextest to not use AutoPtr<OmIndexer> 40268 40269Fri Dec 8 17:14:09 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com> 40270 40271 * Oops - removed one too many #include "autoptr.h" 40272 40273Fri Dec 08 16:50:42 GMT 2000 Olly Betts 40274 40275 * Updated TODO. 40276 40277Fri Dec 8 16:44:26 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com> 40278 40279 * IndexerBuilder now returns OmIndexer objects instead of 40280 AutoPtr<OmIndexer>. OmIndexer's internals are reference 40281 counted. 40282 40283 * Moved autoptr.h from include/om to common/, since it's no 40284 longer used in the API. 40285 40286Fri Dec 8 16:22:48 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com> 40287 40288 * Fixed omstemmer node bug and made debug slightly more verbose 40289 in indextest.cc. 40290 40291Fri Dec 8 16:13:36 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com> 40292 40293 * Added a test for OmIndexerMessage to indextest 40294 40295 * Added output operator for OmIndexerMessage 40296 40297 * Fixed a bug introduced into omvectorsplit node 40298 40299 * Changed couts in indextest.cc to touts. 40300 40301Fri Dec 08 14:53:24 GMT 2000 Olly Betts 40302 40303 * quartztest: removed OmDocumentTerm reference so that it'll 40304 compile (tests fail though). 40305 40306Fri Dec 8 14:42:46 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com> 40307 40308 * OmIndexerMessage is now a class by itself, replacing OmIndexerData 40309 and the typedef to AutoPtr<OmindexerData>. It's now a copy-on-write 40310 object. 40311 40312 * The indexer stuff all changed. 40313 40314Fri Dec 08 14:24:02 GMT 2000 Olly Betts 40315 40316 * omindexdoc.{cc,h}: no longer used so removed. 40317 40318 * Pushed OmDocumentTerm from API level into the internals of the 40319 library. 40320 40321 * Updated TODO. 40322 40323Fri Dec 08 12:08:49 GMT 2000 Olly Betts 40324 40325 * delve: if just given a database (or list of databases), report the 40326 number of documents and average document length. 40327 40328Thu Dec 7 20:39:24 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 40329 40330 * Fix bug: Om*Iterators which were created over empty lists didn't 40331 have null internals, causing them not to compare equal to end 40332 iterators. 40333 40334 * Added many asserts to iterator code. 40335 40336Thu Dec 7 20:02:43 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 40337 40338 * Removed OmTermListIteratorMap - OmTermListIterator can now be 40339 across either a map or an actual termlist. 40340 40341 * Om*Iterator classes all now delete internals when reaching end, 40342 freeing resources sooner and making the comparison operators much 40343 simpler. 40344 40345Thu Dec 7 18:33:03 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 40346 40347 * Updates to TODO 40348 40349Thu Dec 7 18:32:39 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com> 40350 40351 * Implementation of write locks for Quartz 40352 40353Thu Dec 7 18:28:55 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com> 40354 40355 * Fix to backendmanager which doesn't return writable databases 40356 unnecessarily (which breaks things when there are write locks) 40357 40358Thu Dec 7 18:25:50 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com> 40359 40360 * Added test for Quartz write locks 40361 40362Thu Dec 7 17:56:19 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 40363 40364 * Add OmDocument::set_data() method which takes a string, instead of 40365 an OmData object. This allows, implicitly, use of const char *'s 40366 as well. 40367 40368 * Further fixes to quartztest. It now compiles (though I've not 40369 tried linking it yet...) :) 40370 40371Thu Dec 7 17:49:50 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com> 40372 40373 * Fixed omkeylistiterator return types. 40374 40375Thu Dec 7 17:27:57 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 40376 40377 * Moved get_document() from OmWritableDatabase to OmDatabase. 40378 40379 * Added -> operator to OmKeyListIterator. Fixed return values 40380 and constness of Om*Iterator::operator *() methods. 40381 40382 * Some fixes to quartztest.cc, but not enough to get it compiling. 40383 40384Thu Dec 07 16:21:28 GMT 2000 Olly Betts 40385 40386 * Some work on getting quartztest working. 40387 40388Thu Dec 07 16:10:00 GMT 2000 Olly Betts 40389 40390 * The library now builds, but "make check" still fails. 40391 40392Thu Dec 7 15:39:19 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 40393 40394 * Fixes to testsuite/index_utils.cc to not segfault. 40395 40396Thu Dec 7 14:31:56 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 40397 40398 * Fixes to api_db.cc so that it compiles. 40399 40400Wed Dec 6 18:50:48 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 40401 40402 * Add test for terms with spaces, newlines, zero bytes, or 40403 backslashes. 40404 40405 * Updates to TODO 40406 40407Wed Dec 06 18:18:16 GMT 2000 Olly Betts 40408 40409 * Woohoo! Now builds with just --disable-indexer! 40410 (still doesn't pass any tests). 40411 40412Wed Dec 06 17:24:19 GMT 2000 Olly Betts 40413 40414 * Minor fix. Now builds with --disable-indexer 40415 --disable-quartz-backend (but doesn't pass any tests). 40416 40417Wed Dec 06 16:35:34 GMT 2000 Olly Betts 40418 40419 * Fixed up lots of build errors. 40420 40421Wed Dec 06 14:56:59 GMT 2000 Olly Betts 40422 40423 * Begin the long job of replacing OmDocumentContents with 40424 OmDocument. Won't currently build - expect the tree to be broken 40425 for a few days. As usual, if you want a working build, use the 40426 "snapshot_latest" tag. 40427 40428Wed Dec 6 12:03:44 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com> 40429 40430 * Backed out yesterday's overwritten-handling stuff. 40431 40432Wed Dec 6 11:36:55 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 40433 40434 * Increase sleep in tcpclient1 to 3 (did tcpmatch1 last time, duh!) 40435 40436Tue Dec 5 17:13:38 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com> 40437 40438 * QuartzDocument now has a QuartzTableManager pointer rather than 40439 two QuartzTable pointers. 40440 40441 * QuartzDatabase::do_get_document_internal() copes with Btree 40442 overwritten conditions. 40443 40444 * QuartzDocument methods cope with Btree overwritten conditions 40445 40446 * New method QuartzTableManager::reopen_tables_because_overwritten() 40447 for helping with the above. 40448 40449 * New test in quartztest for testing overwritten problems from the 40450 API rather than just internally to Quartz. 40451 40452 * Fixed a typo in omsettings.h comment (quartz_dir used to refer to 40453 a sleepycat database) 40454 40455Tue Dec 5 16:53:46 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 40456 40457 * Update todo. 40458 40459 * Fix undesirable assert in stats.h 40460 40461Tue Dec 5 15:41:40 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 40462 40463 * Replace OmMSet::docs_considered with 40464 OmMSet::matches_{lower_bound,estimated,upper_bound}, giving more 40465 useful information. 40466 40467 * PostLists now have get_termfreq_{min,est,max}(), instead of 40468 get_termfreq(), so the postlist tree can be used to calculate 40469 the matches_* values for the mset. Implemented for all the 40470 postlist subclasses. 40471 40472 LeafPostList's still has a virtual get_termfreq() method, 40473 and implements get_termfreq_* in terms of it, so database postlists 40474 don't need to be modified. 40475 40476 * Passing of MSets across network modified to pass the new 40477 information. 40478 40479 * PendingMSet uses the values from the mset to return the values 40480 of get_termfreq_*(). This assumes that recalc_maxweight has been 40481 called first, which is has been. 40482 40483 * Muscat36 databases get_termfreq() methods fixed to use a 40484 LeafPostList rather than a PostList. 40485 40486 * Renamed test docs_considered1 to matches1, and add several 40487 more cases to it. 40488 40489Tue Dec 05 15:38:27 GMT 2000 Olly Betts 40490 40491 * Added tests/testdata/apitest_punc.txt to distribution. 40492 40493Tue Dec 05 15:07:26 GMT 2000 Olly Betts 40494 40495 * Oops, failed to add new file `tests/testdata/apitest_punc.txt' 40496 with last check-in. 40497 40498Tue Dec 05 14:34:04 GMT 2000 Olly Betts 40499 40500 * OmTermListIterator implemented for an OmDocument with terms stored 40501 in a map rather than coming from a Document. 40502 40503 * Fixes to remote protocol so solve problems with terms with 40504 punctuation in (regression test punc_terms1). 40505 40506Mon Dec 4 15:02:53 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 40507 40508 * Makefile tweak in docs/ 40509 40510Mon Dec 04 14:13:05 GMT 2000 Olly Betts 40511 40512 * More OmDocument work. 40513 40514Mon Dec 4 11:43:46 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 40515 40516 * Renamed OmMSet::mbound to docs_considered. 40517 40518Mon Dec 4 10:11:11 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com> 40519 40520 * Added some more std:: prefixes for STLport. 40521 40522Fri Dec 1 17:45:01 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 40523 40524 * Increase the sleep after the server is started by tcpclient1 to 3 40525 seconds so that the server is more likely to have started when 40526 then test ran. This seems to be what was causing the test to 40527 randomly fail. Really, we want a better solution to this (such as 40528 the server picking a port and writing it out on stdout once it is 40529 listening.) 40530 40531Fri Dec 1 17:27:02 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 40532 40533 * Swapped the ports used by tcpclient1 and tcpmatch1 to see if the 40534 random failures follow suit. 40535 40536Fri Dec 1 17:21:07 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 40537 40538 * Another minor fix to work with STLport. 40539 40540Fri Dec 1 17:01:02 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 40541 40542 * Add std::'s and similar to fix compilation with STLport. 40543 40544 * Fix bug in expander due to nth_element being called on the wrong 40545 element. This is the counterpoint of the bug fixed on Nov 24th 40546 with the matcher. 40547 40548Fri Dec 1 16:30:26 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com> 40549 40550 * Minor tweaks in error strings. 40551 40552Fri Dec 01 12:57:59 GMT 2000 Olly Betts 40553 40554 * Corrected erroneous documentation comment. 40555 40556Thu Nov 30 18:50:16 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 40557 40558 * OmSettings no longer throws exceptions internally (at the cost of 40559 slightly more code duplication). 40560 40561Thu Nov 30 18:05:39 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 40562 40563 * Add a few std::'s to strings which had been missed. 40564 40565Thu Nov 30 16:41:11 GMT 2000 Olly Betts 40566 40567 * OmDocument::Internal now knows its OmDatabase. 40568 40569Thu Nov 30 16:40:33 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 40570 40571 * Add context to network errors thrown from OmSocketLineBuf. 40572 40573Thu Nov 30 16:21:47 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com> 40574 40575 * Added a quartz test for largish bitmaps. 40576 40577 * Fixed the code so that the above test would pass. 40578 40579Thu Nov 30 16:10:37 GMT 2000 Olly Betts 40580 40581 * OmDocument::add_posting() pretty much done. 40582 40583Thu Nov 30 15:51:46 GMT 2000 Olly Betts 40584 40585 * More work on OmDocument::add_posting(). 40586 40587 * Added OmTermListIterator::positionlist_begin() and 40588 OmTermListIterator::positionlist_end(). 40589 40590Thu Nov 30 14:16:28 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com> 40591 40592 * Fixed a prototype bug introduced with the last commit. 40593 40594Thu Nov 30 13:23:14 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com> 40595 40596 * Bcursor::find_key now more const-correct. 40597 40598 * Bcursor_create now returns an AutoPtr. The resultant changes 40599 fixed a memory leak. 40600 40601 * New exception: OmDatabaseModifiedError. Thrown when an open 40602 revision of a table is no longer valid due to multiple updates. 40603 40604 * quartzoverwrite1 test re-enabled, and passes. 40605 40606Thu Nov 30 13:23:27 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 40607 40608 * nettest now uses quartz backend: should always run all tests now 40609 (apart from tcpdead1, which doesn't work). 40610 40611Wed Nov 29 19:46:22 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 40612 40613 * In testsuite, report the context of Om exceptions as well as their 40614 type and message. 40615 40616Wed Nov 29 18:30:10 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 40617 40618 * Add "remote_connect_timeout" parameter to be supplied when opening 40619 a remote database, to specify a separate timeout for the connect 40620 operation to that used once the connection has been opened. 40621 40622 * Add setting of the context of errors thrown by tcpclient or 40623 progclient, so that the node which failed can be determined. 40624 40625Wed Nov 29 17:50:03 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com> 40626 40627 * Reworked Btree_base::read() a bit so that it's hopefully more 40628 readable. 40629 40630 * Hopefully fixed a bug when the bitmap approaches 1k. 40631 40632 * Fix to catch problems re-opening databases after an apply in 40633 Quartz. 40634 40635Wed Nov 29 17:30:26 GMT 2000 Olly Betts 40636 40637 * Added OmDocument::termlist_begin() and OmDocument::termlist_end() 40638 40639Wed Nov 29 16:53:13 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 40640 40641 * Comment out quartzoverwrite1 test so that it doesn't cause problems 40642 for other developers. 40643 40644Wed Nov 29 16:27:19 GMT 2000 Olly Betts 40645 40646 * docid now in Document class rather than subclasses. 40647 40648Wed Nov 29 14:54:13 GMT 2000 Olly Betts 40649 40650 * leafdocument.cc renamed to document.cc 40651 40652 * Document class now has a pointer to the associated Database class 40653 so we can open termlists, etc. 40654 40655Wed Nov 29 14:03:43 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 40656 40657 * Add quartztest to test for case when a database block gets 40658 overwritten. Currently, this fails because an exception doesn't 40659 get thrown when it should. 40660 40661Wed Nov 29 13:18:24 GMT 2000 Olly Betts 40662 40663 * LeafDocument class renamed to Document. 40664 40665Wed Nov 29 12:35:49 GMT 2000 Olly Betts 40666 40667 * Added OmDocument::remove_posting(), OmDocument::remove_term(), 40668 and OmDocument::clear_terms() 40669 40670Wed Nov 29 12:31:22 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com> 40671 40672 * Added another revision number in the middle of the base file, 40673 before the bitmap. Also now check that there isn't any extra 40674 data at the end after we finish reading it. Incremented the 40675 database format. 40676 40677Wed Nov 29 11:55:03 GMT 2000 Olly Betts 40678 40679 * Added OmDocument::remove_key() and OmDocument::clear_keys() 40680 40681Tue Nov 28 18:34:57 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com> 40682 40683 * Btree bitmap now merged with base - one object, one file. 40684 40685Tue Nov 28 17:13:56 GMT 2000 Olly Betts 40686 40687 * Added OmDocument::set_data() 40688 40689Tue Nov 28 16:47:06 GMT 2000 Olly Betts 40690 40691 * Started to alter OmDocument to be a general purpose document class 40692 which includes the functionality currently in OmDocumentContents. 40693 40694Tue Nov 28 15:08:38 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com> 40695 40696 * Added OmSplitOnCharsNode, which does a subset of OmRegexSplitNode 40697 but less slowly. 40698 40699 * Modified RegexSplit node and regexcommon so that less copying 40700 of strings is needed. 40701 40702Tue Nov 28 13:42:41 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com> 40703 40704 * Moved the Btree's bitmap into a separate object. 40705 40706Tue Nov 28 13:06:36 GMT 2000 Olly Betts 40707 40708 * Eliminated OmDocumentParams. 40709 40710 * Removed unnecessary mutex from OmDocument::Internal. 40711 40712Mon Nov 27 18:45:27 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 40713 40714 * Implement get_position_list() on databases. Untested. Also needs 40715 some work to make consistent with open_position_list() on posting 40716 lists: see todo list. 40717 40718Mon Nov 27 18:29:00 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 40719 40720 * Change #define LEVEL ... to #define GET_LEVEL ... in btree_util.h: 40721 fixes problem reported by includetest 40722 40723Mon Nov 27 18:20:42 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 40724 40725 * Added a set of modifications to the todo.xml. Also, add a 40726 "release" field, recording the release that the work must be 40727 performed by. 40728 40729Mon Nov 27 18:08:35 GMT 2000 Olly Betts 40730 40731 * A RefCntPtr now copes with being assigned to itself (used to 40732 delete the underlying object if the reference count was 1). Added 40733 regression test (refcnt2). 40734 40735 * Now overwrite pointer inside RefCntPtr before deleting the pointed 40736 to object so there's no window where another thread can access the 40737 pointer and get the just-deleted object. 40738 40739Mon Nov 27 14:36:59 GMT 2000 Olly Betts 40740 40741 * OmError class now optionally stores an errno value. 40742 40743Mon Nov 27 13:04:18 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 40744 40745 * Quartztest builds its test databases in a subdirectory, which 40746 is now in .cvsignore, so we shouldn't get cvs complaining about 40747 so many unknown files any more. 40748 40749Mon Nov 27 12:53:16 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 40750 40751 * Another TODO item. 40752 40753Mon Nov 27 12:15:53 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 40754 40755 * Added a couple of new items to the todo list. 40756 40757Fri Nov 24 19:23:56 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 40758 40759 * Quartztests now deletes all old tables, so that database formats 40760 don't cause problems. 40761 40762Fri Nov 24 19:03:59 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 40763 40764 * Added std:: prefix to lots of strings which didn't have it. 40765 I've probably added some where they shouldn't be: there were rather 40766 a lot of cases of this. 40767 40768Fri Nov 24 18:27:06 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 40769 40770 * Major bug fix! When removing elements, matcher was performing 40771 nth_element() on the first element to be thrown away, rather than 40772 the lowest element to keep. This meant that, after throwing away 40773 low scoring items, items.back() was a random item rather than the 40774 lowest scoring item. This caused the min weight for getting into 40775 the mset to go up faster than it should have done, and generally 40776 broke everything. 40777 40778 It will be interesting to compare evaluation measures before and 40779 after this fix. 40780 40781Fri Nov 24 15:34:17 GMT 2000 Richard Boulton <richard.boulton@open.muscat.com> 40782 40783 * Declare this to be version 0.4.1 40784