12008-11-14 Tasuku SUENAGA <a at razil.jp> 2 3 * test/unit/sen-assertions.c: backporting. 4 * test/unit/test-snip.c: backporting. 5 * configure.ac: version 1.1.4 6 72008-11-14 Poe MORITA <morita at razil.jp> 8 9 * query abortion support (Thanks to Kazuho Oku.) 10 112008-11-11 Tasuku SUENAGA <a at razil.jp> 12 13 * lib/lex.c (sen_mecab_open): avoided unnecessary buffer expansion with 14 failure of mecab_sparse_tostr3 except "output buffer overflow". 15 Thanks to Kazuho Oku. 16 * src/sennachk.c: made cerr initialized. Thanks to Kazuho Oku. 17 * src/sennachk.c: fixed a error report when lock succeeded. 18 Thanks to Kazuho Oku. 19 202008-11-07 Tasuku SUENAGA <a at razil.jp> 21 22 * configure.ac: version 1.1.3a 23 * lib/query.c (get_phrase): fixed bug with malformed multibyte string. 24 Thanks to Kazuho Oku. 25 262008-10-10 Daijiro MORI <morita at razil.jp> 27 28 * lib/ctx.c (sen_array): save memory usage. 29 302008-09-29 Tasuku SUENAGA <a at razil.jp> 31 32 * set.h: applied patch for handling fail of memory functions. 33 * index.c: applied patch for handling fail of memory functions. 34 * inv.c: applied patch for handling fail of memory functions. 35 * set.c: applied patch for handling fail of memory functions. 36 372008-09-28 Tasuku SUENAGA <a at razil.jp> 38 39 * fail_malloc.rbx: added. 40 * ctx.c (fail_malloc_check): default value of sen_fmalloc_prob set to 0. 41 * senna.rb: fixed bug in ruby bindings on Index::rename 42 432008-06-12 Tasuku SUENAGA <a at razil.jp> 44 45 * Encapsulated the definition of sen_sym_cursor. 46 * Fixed a bug in sen_sym_prefix_search_with_set, which hit deleted terms 47 occasionally. 48 * Added sen_lex_set_mecab_args. 49 * lib/snip.c: too large max tagged len is returned when mapping == -1 50 * Added nfkc.h 51 * modified snip.c: assert -> SEN_ASSERT 52 * Fixed a continuation bug. 53 * Fixed a bug in class::delete. 54 * Refactoring tests for ruby bindings. 55 * Fixed encoding mixture in test for ruby binding. 56 * Fixed a bug in sen_inv_term_extract. (by Kouhei Sutou) 57 * Added an assertion to test_index_advanced.rb corresponding to the 58 sen_inv_term_extract bug. 59 * Added senna.pc.in (by Kouhei Sutou) 60 * pkg-config support (by Kouhei Sutou) 61 * Fixed a bug in sen_inv_update which returns wrong return code (by Kouhei 62 Sutou) 63 * Fixed a bug in match_exec which causes memory leak. 64 * Fixed a bug in nf_neq. 65 * Fixed a bug in nf_snippet. 66 * Fixed a bug in exec_query. 67 * Unified sen_records and sen_set. 68 * Added new API sen_inv_select, sen_inv_select, sen_query_select. 69 * Fixed a bug in match_exec. 70 * Added nf_query. 71 * Fixed a bug ql.c:nf_snippet. 72 * Added do macro. 73 * Added some sample scripts. 74 * nf_object accepts multiple key and value pairs. 75 * Modified x->number. default value changed into zero. 76 * Fixed bug on sen_snip_exec with a SEN_SNIP_SKIP_LEADING_SPACES 77 flag.Multiple results are not able to be processed properlly. 78 * Export sen_sym_cursor. 79 * Enhanced disp function. 80 * Enhanced sen_sym_cursor_init. 81 * Added sen_sym_cursor_init_from. 82 * Enhanced sen_obj_new 83 * Enhanced class::extract method. 84 * Added x->b32h and intern to sennaql. 85 * Enhanced class::scan method. 86 * Added sen_sym_cursor. 87 * Modified the behavior of sen_com_event_poll. continue when returned a 88 closed fd. 89 * Added ::extract. 90 * Added symsnip. 91 * Added log info around sen_cursor_next. 92 * Added epoll_ctl log. 93 * ql supports escape sequence (\n, \t, \\). 94 * Fixed a bug. sen_io_size returns incorrect value. 95 * Added compare-function argument to (records ::sort). 96 * Fixed a bug in sen_sym_scan. 97 * Fixed a bug in <, >, <=, >= operator of sennaql. 98 992008-06-04 Kouhei Sutou <kou@cozmixng.org> 100 101 * test/ql/run-test.scm: use sys-glob instead of glob as fallback. 102 1032008-06-03 Kouhei Sutou <kou@cozmixng.org> 104 105 * configure.ac, test/Makefile.am (SUBDIRS), test/ql/Makefile.am: 106 support SennaQL test with GaUnit. 107 108 * test/ql/test-bookmark.scm, test/ql/run-test.scm, 109 test/ql/ql-test-utils.scm: add. 110 111 * test/unit/sen-test-utils.h: use <glib.h> not <gcutter.h> 112 113 * lib/io.c: use <sys/mman.h> not <bits/mman.h>. See mmap(2). 114 1152008-05-28 Poe MORITA <morita at razil.jp> 116 117 * store.c: zlib/lzo support. (applied patch from <sunos at saita. ma>) 118 1192008-05-22 Kouhei Sutou <kou@cozmixng.org> 120 121 * configure.ac: disable Cutter if libcutter can't be found. 122 1232008-05-21 Kouhei Sutou <kou@cozmixng.org> 124 125 * test/unit/test-snip.c: fix tests to adapt to correct specification. 126 127 * configure.ac: remove a workaround for Cutter 0.9.0. require 128 Cutter >= 1.0. 129 1302008-05-20 Kouhei Sutou <kou@cozmixng.org> 131 132 * test/unit/test-snip.c (test_html_mapping): add a test for HTML mapping. 133 134 * lib/snip.c (sen_snip_get_result): fix an invalid index access bug. 135 136 * test/unit/test-snip.c (test_invalid_result_index): add a test 137 for invalid result index access. 138 139 * test/unit/sen-assertions.h (cut_assert_equal_sen_rc): add. 140 141 * test/unit/test-snip.c (test_multi_conditions): add a test for 142 multiple sen_snip_add_cond() calls. 143 144 * test/unit/test-snip.c (test_customized_tag): add a test for 145 sen_snip_add_cond() with tag. 146 147 * test/unit/Makefile.am, test/unit/test-snip.c: add a test for 148 sen_snip. 149 150 * test/unit/sen-test-utils.[ch] (sen_rc_to_string): add. 151 152 * test/unit/sen-assertions.h (cut_assert_sen): add. 153 1542008-05-14 Kouhei Sutou <kou@cozmixng.org> 155 156 * configure.ac: really support Cutter. 157 158 * test/unit/, test/Makefile.am: add. 159 1602008-03-10 Tasuku SUENAGA <a at razil.jp> 161 162 * Added shutdown function to sennaql 163 * Bug fixed: cannot build php bindings 164 * Modified timeout value of sen_com_event_poll in senna.c 165 * bug fixed: sen_query_scan fails with a query like 'word1 +word2' 166 * Enhanced slot_value_ra. 167 * CAUTION!! format of sen_store has been changed from this revision. and 168 it's not compatible. 169 * Exported sen_str_charlen. 170 * Fixed a bug in sen_records_next. 171 * Fixed a problem in sen_ja, accessing a record which exists across file 172 boundaries. 173 * Added ::defrag method to sen_ja_slot. 174 * Added :normalize option to ptable function. 175 * Fixed a bug in compar_expr. 176 * Added ::get-ddl 177 * default open/close tag are copied on sen_snip_open with SEN_SNIP_COPY_TAG 178 flags 179 * added sen_str_normalize 180 * Added ::schema method. 181 * When 0 is assigned as limit value of ::sort and ::disp method, it's 182 regarded as nrecords. 183 * compare functions (<, =, >, <=, >=) supports more than 2 values. 184 * Added substrb function. 185 * Added sen_sym_scan. 186 * removed strptime for windows 187 * Modified sen_fin. output alloc_count. 188 * Fix a bug in nf_records 189 * Added sen_sel_near2 190 * Fixed a memory leak bug in disp, nf_records. 191 * Added flags SEN_SKIP_LEADING_SPACES for sen_snip_open. 192 1932008-02-07 Tasuku SUENAGA <a at razil.jp> 194 195 * Made sen_ql_eval GC safe. 196 * Fixed a bug in nf_class::sort. time value comaprison was wrong. 197 * Fitted ruby binding in new sen_index_info signature. 198 * changed libsenna to senna in spec file 199 * enabled warnings about inline 200 * Modified sen_ja to use sen_io_win_map. 201 * Modified the signature of an API sen_index_info. 202 * Modified the behavior of sen_query. Leading expressions with '-' operator are ignored. 203 * Fixed a bug in clearlock. 204 * Fixed bug in sen_timeval2str(). 205 * sen_snip_exec allow zero length string. 206 * fixed bug: cannot handle "c" properlly if snippet condition made from query "a -(b) c" by sen_query_snip 207 * Enhanced snip. 208 * Fixed a problem causing segv when illegal snip cond asigned. 209 * added quasiquote test on test/ql/quasiquote.scm 210 * changed listp -> pairp 211 * Fixed a bug in quasiquote. 212 * Added SEN_SNIP_COPY_TAG. 213 * Fixed a bug in sen_timeval. 214 * Fixed a bug in sen_ql_eval which cause segv when evaluated code raise error. 215 * Added (class ::clearlock). 216 * Added iterator to <db>. 217 * Made snip_cond gc free. 218 * Fixed a bug in <time> operation. 219 * Enhanced snip in sennaql. 220 * change strtime format. 221 * Added x->time 222 * Enhanced error handling in ruby binding. 223 * Fixed some bugs about list operation. 224 * Added CALLBACK. 225 * added __stdcall for thread functions on Windows 226 * Fixed a bug in sen_timeval. 227 * Added THREAD_CREATE. 228 * Added bogus COND_SIGNAL. 229 2302008-01-22 Tasuku SUENAGA <a at razil.jp> 231 232 * Enabled sen_inv_seg_expire(). 233 * added error handler. 234 * fixed a buffer overflow bug on sen_snip_exec 235 * Fixed API documentation bugs. 236 * Enhanced SEN_INDEX_SHARED_LEXICON mode. 237 * Enhanced SEN_INDEX_SHARED_LEXICON. entries in a lexicon is actually deleted when pocket value == 0. 238 * Enhanced SEN_INDEX_SHARED_LEXICON. ignore sen_sym_del when (sym->flags & SEN_SYM_WITH_SIS). 239 * show warning message when sen_sym_del invoked to sen_sym with SEN_SYM_WITH_SIS 240 * sen_nstr_open now accepts empty string 241 * Fixed a bug which cause deadlock in SEN_IO_SEG_MAP. 242 * Enhanced sen_set algorithm. 243 * Fixed a bug in index.c: after sorted, sen_records rewind when sen_records_next invoked. 244 * Fixed a bug in ql.c: disp function had output empty packet in paticular situation. 245 * Fixed two bugs which cause segv. 1. sen_sym_get 2. sen_set_close 246 * removed waste comparison on snip.c 247 * Enhanced error handling. 248 * Enhanced buffer_flush. it doesn't corrupt the inv index even if array_at failed. 249 * Enhanced buffer_flush. directy calculate pos_ value using tp. 250 * Fixed a problem about sen_index_similar_search. 251 * Added sen_index_expire() which expires unsed memory when memory allocation failed. 252 * fixed bug of sennachk buffer over writing on senchk_filelist 253 * fixed bug on initializing snip_cond after released 254 * removed discarded tests 255 * Modified sen_realloc. use free() instead of realloc when size == 0. 256 * added stress test tool 257 * make sennachk only unlock inv files when --unlock options specified 258 * invalid nstr->checks stored when a handakuon/dakuon of a half-width kana are normalized 259 * deleted a unused variable on normalize_utf8 260 * Added SEN_INV_MAX_TF. 261 * Added regression test about SEN_INV_MAX_TF. 262 * change a type of nstr->checks from int8_least_t to int16_t for string given to sen_nstr_open which contains many spaces 263 * "senna.conf" file become obsolete. 264 * fixed double free problems on memory allocation failed for members of structs 265 * Fixed a bug in sen_query_term(). 266 * Applied fail-malloc patch! 267 * Modified library dependency. 268 * Commented out swig 269 * Added sen_inv_max_section. 270 * added escape string \ on query expression 271 * added new error codes. - sen_internal_error - sen_external_error - sen_abnormal_error 272 2732007-09-26 Tasuku SUENAGA <a at razil.jp> 274 275 * changed mode parameter of sen_io_win_map() only in WIN32 environment. sen_io_win_map no longer call mmap. 276 * fixed a bug in inv.c: when inv_cursor_open() and inv_update() run simultanously in a same process, nref info sommtimes corrupted and cause deadlock. 277 * appeared sen_query_snip 278 * fixed an incorrect test about n_subrecs. 279 * fixed bug: error count is not initialized on sennachk 280 * fixed a bug in sen_index_select(), returning duplicate records, when multi-section used. 281 2822007-08-01 Tasuku SUENAGA <a at razil.jp> 283 284 * enhanced autogen.sh 285 * sen_query_scan appeared 286 * bug fix: now configure option --without-nfkc works 287 2882007-05-29 Tasuku SUENAGA <a at razil.jp> 289 290 * compile well on FreeBSD/Windows/Mac OS X 291 * refined configure.ac 292 2932007-05-22 Tasuku SUENAGA <a at razil.jp> 294 295 * modified configure.ac. mecab-config check is executed only when mecab is required. 296 * fixed a bug: configure fails if mecab.h doesn't exist on a search path for include 297 * replace isspace into sen_isspace in lex.c 298 * added force_prefix 299 * modified test suites for supporting force_prefix 300 * fixed a bug in sen_set_get. when reuse a entry from garabages, value was not zero-cleared. 301 * null check in sen_inv_close 302 * sennachk appeared 303 3042007-04-27 Tasuku SUENAGA <a at razil.jp> 305 306 * added more described instructions about sen_index_select 307 * fixed problem in snippet udf when realloc fails 308 * get rid of strlen call in query.c 309 * added sen_index_create_with_keys_lexicon 310 * merged the multisection-query branch 311 * fixed bug about configure options gotten from sen_info 312 * added lines for gcov/lcov and ruby binding and deleted waste lines on files for autotools 313 * now you can specify path of mecab-config 314 * now you can specify default parameters on configure time 315 * get not linker options but a link path on configure.ac 316 * added configure options on Windows environment 317 * call read_conf() in sen_info() 318 * made ruby bindings call sen_fin() at exit 319 * fixed a bug in sen_sym_next 320 * fixed ctype which is wrong on sen_enc_utf8 321 * added sen_sel_prefix and sen_sel_suffix to sen_sel_mode 322 * made compiler options of gcc show more detailed warnings 323 3242007-04-02 Tasuku SUENAGA <a at razil.jp> 325 326 * add -c option (consistency check) to itest 327 * fixed a bug in inv.c: deleteing records with score corrupt index 328 * fixed bug buffer over read on snippet function 329 * fixed a bug in sen_set_reset. garbages was not cleared when gc. 330 * kick out UINT_MAX 331 * itest -u option added. u is for unlock 332 3332007-03-20 Tasuku SUENAGA <a at razil.jp> 334 335 * fixed stack over run in sen_io_open 336 * fixed bugs in test suite on 32bit environment 337 * stack smashing bug fixed 338 * delete mysql bindings for version 5.0 339 3402007-03-14 Tasuku SUENAGA <a at razil.jp> 341 342 * fixed bugs: delete strlen function of which argument is non-null terminated string on index.c 343 * compile sym08 on windows 344 * moved pat_node declarations to top of the blocks in sym.c 345 * updated mysql bindings for new versions 346 * modified mysql bindings 347 * fixed a bug in sen_set_str_get() 348 * added sen_info API 349 * fixed prototype declaration of sen_info on senna.h 350 * fse added 351 * fixed mysql bindings bug on alter/create/drop index 352 * set CONFIGURE_OPTION on windows 353 3542007-02-28 Tasuku SUENAGA <a at razil.jp> 355 356 * fix a bug which cause segfault when sen_query_exec() run 357 * sen_inv_estimate_size(): fixed estimation for size. 358 3592007-02-22 Tasuku SUENAGA <a at razil.jp> 360 361 * version 1.0.0 362 * compile inv08 in windows 363 * fixed some bugs in snippet functions 364 * fix multi section bug 365 * fixed a bug in sen_sym_del_with_sis() 366 * fixed a bug in sen_inv_update() 367 * added regression test for ruby bindings 368 * fixed bug about sen_sym_info in ruby binding 369 * added some constants and methods in ruby binding 370 * fixed bug in Sym::info method(ruby binding) 371 * added sen_sym test in ruby bindings 372 * sen_sym file format modified 373 * sen_sym file format refined 374 * make senna able to handle non-null-terminated strings 375 * kickout waste copy on mysql bindings 376 * added str_len to sen_values 377 * modify stest for new sen_nstr 378 * changed signature of sen_query_rest API 379 * added sen_query_term API 380 * size_t -> unsigned 381 * include string.h on tests 382 * deleted null check of string with length 383 * changed mysql bindings because of sen_query_rest API 384 * changed ruby bindings because of sen_query_rest API 385 * modified qtest to use a correct argument type for sen_query_rest 386 * itest supports new (1.0 type) index format 387 * fill zero in surplus area in index. 388 * fixed a bug: ngram-index corrput after rev295 389 * modified api document (japanese) 390 * modified api document (english) 391 * 64bit based index is now compatible with 32bit based index. 392 * get rid of unused routines from sym.c 393 3942006-12-29 Tasuku SUENAGA <a at razil.jp> 395 396 * version 0.9.0 397 * change the default format of indices. From now, new format will be default. 398 * changed the format of indices. 399 * sen_io: moved io.nref into index file. 400 * change signatures of functions to handle non-null-terminated strings 401 * move ainfo, binfo arrays into sen_inv_header 402 * sen_sym: key area become sharable and slightly space-efficient. 403 * fixed bugs in checking first byte of characters encoded with shift_jis 404 * changed the format of invered index file. 405 * format errno with strerror when mmap failed. 406 * changed format string used for formatting total size of mmaped memory from %d to %z 407 * fixed sign of a argument for isspace 408 4092006-10-20 Tasuku SUENAGA <a at razil.jp> 410 411 * version 0.8.2 412 * sen_sym bug fixed 413 * replace AC_FUNC_MALLOC/REALLOC to AC_CHECK_FUNCS for the environments 414 without glibc. 415 * fix key size in a test suite of ruby bindings. 416 * fixed bug that sen_index_lock remains persistently 417 * fixed bug in normalize_utf8(). when sen_select_optarg.weight_vector == NULL 418 and sen_select_optarg.vector_size > 0, it works as sen_wv_constant. 419 * made a keyword not tagged which gets accross the end bound of a snippet 420 * fixed absence of 'touch sql/sql_yacc.yy' in install documents. 421 4222006-09-12 Tasuku SUENAGA <a at razil.jp> 423 424 * version 0.8.1 425 * implement expiring caches. 426 * inverted index is broken in environment where uintptr_t is not 32bit. 427 * support latin1 and koi8r. 428 * records.curr_rec was broken when sen_records_find() invoked. 429 * CREATE INDEX handles parameters properly. 430 * remove dependency on pkg.m4. 431 * fix misc bugs. 432 4332006-06-27 Tasuku Suenaga <a at razil.jp> 434 435 * sen_index_info() enhanced (applied patch from <koizumi at gree.co.jp>) 436 4372006-04-05 Poe MORITA <morita at razil.jp> 438 439 * snip.c bug fixed (applied patch from <ko at yappo.ne.jp>) 440 4412006-03-08 Poe MORITA <morita at razil.jp> 442 443 * query.c added (for boolean search) 444 4452006-02-16 Poe MORITA <morita at razil.jp> 446 447 * io.c bug fixed. index format has modified. 448 4492006-02-13 Poe MORITA <morita at razil.jp> 450 451 * AIO/DIO based cache from Takuo Kitame <kitame at valinux. co. jp> 452 * --enable-aio, --enable-gatomic, --enable-nfkc, --with-mecab option added 453 4542006-01-12 Poe MORITA <morita at razil.jp> 455 456 * windows porting released 457 4582005-12-22 Poe MORITA <morita at razil.jp> 459 460 * support unpatched version of mecab (0.81, 0.82pre, 0.90) 461 no longer depends on mecab mte patch. 462 4632005-12-14 Poe MORITA <morita at razil.jp> 464 465 * windows porting (alpha version) 466 4672005-11-17 Poe MORITA <morita at razil.jp> 468 469 * set.c modified which depended on particular structure alignment 470 * change the delimiter of column value to '\n' in mysql binding 471 4722005-11-14 Poe MORITA <morita at razil.jp> 473 474 * API changed (keys are deep copied) 475 * garabages in symbol tables are collected 476 * sen_index_sel escalated unsplit, then partial 477 4782005-10-28 Poe MORITA <morita at razil.jp> 479 480 * myisamchk bug fixed 481 4822005-10-27 Poe MORITA <morita at razil.jp> 483 484 * mysql binding updated 485 * myisamchk supported 486 * sen_index_sel query escalation supports sen_sel_unsplit 487 4882005-09-17 Poe MORITA <morita at razil.jp> 489 490 * mysql-5.0.12-beta binding from <tasuku at hottolink.co.jp> 491 4922005-09-17 Poe MORITA <morita at razil.jp> 493 494 * Ruby binding memory leak fixed by <phuna at users.sourceforge.net> 495 4962005-09-08 Poe MORITA <morita at razil.jp> 497 498 * utf-8 support enhanced. (SEN_INDEX_NORMALIZE become available) 499 5002005-08-16 Poe MORITA <morita at razil.jp> 501 502 * SJIS support enhanced. (SEN_INDEX_NORMALIZE become available) 503 5042005-08-16 Poe MORITA <morita at razil.jp> 505 506 * advanced API revised 507 * Ruby binding has rewrited using SWIG and supports advanced API. 508 5092005-07-05 Poe MORITA <morita at razil.jp> 510 511 * the license has changed to LGPL from GPL. 512 * all of advanced API function implemented 513 * sen_skipmode_set patch applied to mysql binding 514 5152005-06-23 Poe MORITA <morita at razil.jp> 516 517 * advanced API functions implemented 518 5192005-04-12 Poe MORITA <morita at razil.jp> 520 521 * applied ftb patch for mysql binding from <ko at yappo.ne.jp> 522 'IN BOOLEAN MODE' supported 523 5242005-04-07 Poe MORITA <morita at razil.jp> 525 526 * applied darwin patch from <oyama at module.jp> 527 working on Mac OS X 10.3.8. 528 529 * mysql binding updated by <ko at yappo.ne.jp> 530 working on MySQL 4.0.23, 4.0.24 531