12007-12-28 Dave Beckett <dave@dajobe.org> 2 3 * NEWS.html, RELEASE.html, configure.ac, 4 librdf/win32_rdf_config.h: Bump version to 1.0.8. 5 Require rasqal 0.9.16 6 72007-12-24 Dave Beckett <dave@dajobe.org> 8 9 * Snapshotted redland_1_0_7 for 1.0.7 release (SVN 13317) 10 112007-12-23 Dave Beckett <dave@dajobe.org> 12 13 * docs/Makefile.am, docs/redland-chapter-storage-modules.xml, 14 docs/redland-chapter-storage.xml, docs/redland-docs.xml: Renamed 15 redland-chapter-storage.xml 16 17 * docs/Makefile.am, docs/redland-chapter-storage.xml, 18 docs/redland-docs.xml: Added redland-chapter-storage.xml 19 20 * docs/storage.html: xhtml 21 22 * docs/Makefile.am: Update CLEANFILES 23 24 * docs/tmpl/concepts.sgml, docs/tmpl/parser.sgml, 25 docs/tmpl/storage.sgml, docs/tmpl/uri.sgml: docs 26 272007-12-21 Lauri Aalto <laalto@iki.fi> 28 29 * librdf/rdf_stream.c: (librdf_stream_add_map) Clarified map 30 function docs. 31 322007-12-20 Lauri Aalto <laalto@iki.fi> 33 34 * librdf/rdf_storage_sqlite.c: (librdf_storage_sqlite_get_next_common, 35 librdf_storage_sqlite_get_next_context_common): Make stream 36 finished on alloc failure. 37 38 * librdf/rdf_storage_sqlite.c: 39 (librdf_storage_sqlite_context_add_statement): 40 Fix stringbuffer-related leaks introduced in a previous commit. 41 42 * librdf/rdf_storage_sqlite.c: (librdf_storage_sqlite_serialise, 43 librdf_storage_sqlite_find_statements, 44 librdf_storage_sqlite_context_serialise, 45 librdf_storage_sqlite_get_contexts): Make sure sqlite is not passed 46 in NULL sql string. Refactor freeing sql stringbuffers. 47 48 * librdf/rdf_storage_sqlite.c: (librdf_storage_sqlite_add_statements, 49 librdf_storage_sqlite_contains_statement, 50 librdf_storage_sqlite_serialise, 51 librdf_storage_sqlite_context_add_statement, 52 librdf_storage_sqlite_context_remove_statement, 53 librdf_storage_sqlite_context_remove_statements, 54 librdf_storage_sqlite_context_serialise): Check for stringbuffer 55 alloc failures. 56 57 * librdf/rdf_storage_sqlite.c: (librdf_storage_sqlite_open): Check 58 for errors/alloc failures and clean up as needed. 59 60 * librdf/rdf_storage_sqlite.c: (librdf_storage_sqlite_set_helper, 61 librdf_storage_sqlite_get_helper, 62 librdf_storage_sqlite_uri_helper, 63 librdf_storage_sqlite_blank_helper, 64 librdf_storage_sqlite_literal_helper): Resiliency fixes: check for 65 alloc failures and clean up on error. 66 67 * librdf/rdf_storage_sqlite.c: (librdf_storage_sqlite_exec): 68 Resiliency fixes: 69 - Don't close the sqlite db on error, we are probably going to 70 need it later and we don't want sqlite to segfault on NULL db. 71 - Return an error if passed in a NULL request. 72 - Memory leak fix: free the dynamically allocated error message 73 string (if any) from v2 sqlite_exec() or v3 legacy support 74 sqlite3_exec(). 75 - Check for alloc failures. 76 (- Fixed indent.) 77 78 * librdf/rdf_storage_sqlite.c: (sqlite_string_escape) Check for 79 alloc failure 80 81 * librdf/rdf_storage_sqlite.c: (librdf_storage_sqlite_init) Make 82 sure options hash is always freed. 83 84 * librdf/rdf_hash.c, librdf/rdf_iterator.c, librdf/rdf_list.c, 85 librdf/rdf_node.c, librdf/rdf_storage.c, 86 librdf/rdf_storage_hashes.c, librdf/rdf_storage_list.c, 87 librdf/rdf_storage_mysql.c, librdf/rdf_storage_postgresql.c, 88 librdf/rdf_storage_sqlite.c: Reverted librdf_new_iterator() 89 context ownership changes from r12988 and r12989. Do not call 90 finished method in librdf_new_iterator() if iterator allocation 91 fails. Caller should discard the memory. 92 93 Motivation: Make the API contract similar to librdf_new_stream() 94 and do not break old code. 95 962007-12-18 Lauri Aalto <laalto@iki.fi> 97 98 * librdf/rdf_query_internal.h: Use RASQAL_H and not RASQAL_API to 99 check whether rasqal.h has been included. RASQAL_API may be 100 defined outside rasqal.h. 101 1022007-12-17 Dave Beckett <dave@dajobe.org> 103 104 * librdf/redland.spec.in: updates to rpm config 105 1062007-12-16 Dave Beckett <dave@dajobe.org> 107 108 * librdf/redland.spec.in: rasqal-devel fixes 109 110 * configure.ac: sh 111 112 * configure.ac, librdf/redland.pc.in, librdf/redland.spec.in: 113 Added RASQAL_MAX_VERSION with 0.9.15 since rasqal API will change 114 next time 115 116 * librdf/rdf_parser.c: autodoc 117 118 * librdf/rdf_concepts.c: autodoc 119 120 * docs/redland-sections.txt: Add 11 funcs/handlers 121 122 * docs/redland-sections.txt: Remove 123 librdf_concept_ms_namespace_uri 124 librdf_concept_schema_namespace_uri 125 126 * librdf/rdf_iterator.h, librdf/rdf_stream.h: autodocs 127 128 * librdf/Makefile.am: tweak cleanfiles 129 130 * docs/tmpl/redland-unused.sgml, docs/tmpl/unused.sgml: docs 131 132 * librdf/rdf_storage.c: (main): Just warn if a storage cannot be 133 created - databases may not be running. 134 135 * librdf/Makefile.am: Try using librdf_la_LDFLAGS rather than AM_LDFLAGS 136 137 * configure.ac: Do not apply modular storage params to LIBRDF_LIBS twice 138 139 * librdf/rdf_query_internal.h: Make this include work when 140 rasqal.h has been included first - conditionalise defining 141 rasqal_query_results_formatter typedef. 142 1432007-12-12 Lauri Aalto <laalto@iki.fi> 144 145 * librdf/rdf_storage_sqlite.c: 146 (librdf_storage_sqlite_contains_statement): Added FIXME note about 147 inserting new data when just testing for statement existence. 148 149 * librdf/rdf_storage_sqlite.c: Added transaction support to sqlite 150 storage. Run sqlite operations in a transaction unless one is 151 already active. 152 (librdf_storage_sqlite_context): Added in_transaction flag. 153 (librdf_storage_sqlite_open, 154 librdf_storage_sqlite_contains_statement, 155 librdf_storage_sqlite_context_add_statement, 156 librdf_storage_sqlite_query_flush): Use 157 librdf_storage_sqlite_transaction_* functions for 158 transactions. Roll back on errors, do not commit. 159 (librdf_storage_sqlite_add_statements): Wrap operation in a 160 transaction unless one is already active. 161 (librdf_storage_sqlite_transaction_start, 162 librdf_storage_sqlite_transaction_commit, 163 librdf_storage_sqlite_transaction_rollback): Added new storage API 164 implementation functions. 165 (librdf_storage_sqlite_register_factory): Register transaction 166 callbacks. 167 168 * librdf/rdf_storage_sqlite.c: 169 (librdf_storage_sqlite_contains_statement): 170 Bug fix: contains_statement() should also find statements with 171 blank subject node. 172 1732007-12-03 Lauri Aalto <laalto@iki.fi> 174 175 * librdf/rdf_storage_sqlite.c: (librdf_storage_sqlite_serialise, 176 librdf_storage_sqlite_find_statements, 177 librdf_storage_sqlite_context_serialise): Fix crashes e.g. if sql 178 compilation fails. scontext->storage needs to be initialized 179 before calling librdf_storage_sqlite_*_finished(). 180 1812007-11-29 Lauri Aalto <laalto@iki.fi> 182 183 * librdf/rdf_storage_sqlite.c: 184 (librdf_storage_sqlite_get_1int_callback): Avoid atoi(NULL) crashes. 185 186 * librdf/rdf_query_internal.h: Declare 187 rasqal_query_results_formatter - can now include librdf.h with 188 LIBRDF_INTERNAL without including redland.h/rasqal.h. 189 1902007-11-26 Dave Beckett <dave@dajobe.org> 191 192 * autogen.sh: fix to handle OSX using glibtoolize for libtoolize 193 1942007-11-23 Lauri Aalto <laalto@iki.fi> 195 196 * librdf/rdf_storage_sqlite.c: Removed writable static data. 197 198 * librdf/rdf_storage_sqlite.c: (librdf_storage_sqlite_init): 199 Removed unused variable is_new. 200 (librdf_storage_sqlite_open): On error, do not leave dangling 201 context->db. 202 2032007-11-22 Lauri Aalto <laalto@iki.fi> 204 205 * librdf/rdf_stream.c: indent tabs->spaces 206 207 * librdf/rdf_query_internal.h: Revert r13241 - was not portable 208 209 * librdf/rdf_query_internal.h: Forward declare 210 rasqal_query_results_formatter - can now include librdf.h with 211 LIBRDF_INTERNAL without including redland.h/rasqal.h. 212 2132007-11-20 Lauri Aalto <laalto@iki.fi> 214 215 * librdf/rdf_digest.c: (librdf_get_digest_factory): Remove 216 redundant code. Style & indent fixes. 217 2182007-11-19 Lauri Aalto <laalto@iki.fi> 219 220 * librdf/rdf_log.h: comment punctuation 221 222 * librdf/rdf_storage_list.c: (librdf_storage_list_find_statements): 223 Lowmem leak fix: clean up and return NULL if 224 librdf_stream_add_map() fails. 225 226 * librdf/rdf_stream.c: (librdf_stream_update_current_statement): 227 Lowmem leak fix: return end-of-stream if map iterator alloc fails. 228 2292007-11-14 Dave Beckett <dave@dajobe.org> 230 231 * configure.ac: Require raptor 1.4.16 rasqal 0.9.15 232 2332007-11-12 Lauri Aalto <laalto@iki.fi> 234 235 * librdf/rdf_parser_raptor.c: Make raptor_uri_handlers const. 236 237 * librdf/rdf_concepts.c, librdf/rdf_concepts.h, 238 librdf/rdf_init_internal.h, librdf/rdf_node.c: Remove writable 239 static data from rdf_concepts - move variables to librdf_world 240 struct. 241 242 SOURCE COMPATIBILITY BREAK: rdf_concepts.h public API node/uri 243 macros now require a librdf_world* parameter. 244 245 (librdf_get_concept_resource_by_index, 246 librdf_get_concept_resource_by_index): Added two new API functions 247 required by rdf_concepts.h public API macros. 248 (librdf_init_concepts_init, librdf_finish_concepts): Remove 249 librdf_concepts_usage reference counting workaround - no longer 250 needed. 251 (librdf_new_node_from_literal, 252 librdf_node_get_literal_value_is_wf_xml, librdf_node_decode): Pass 253 world object pointer to rdf concepts macros. 254 2552007-11-07 Lauri Aalto <laalto@iki.fi> 256 257 * librdf/rdf_concepts.c: Remove writable static data. Make const 258 namespace strings const. 259 2602007-11-06 Lauri Aalto <laalto@iki.fi> 261 262 * librdf/librdf.h: Allow REDLAND_API to be externally defined 263 e.g. in a static config.h. Remove __SYMBIAN32__ case. 264 265 * librdf/rdf_init.c: Remove writable static data. Allow flagging 266 out old RDF_World stuff with NO_STATIC_DATA. 267 268 * librdf/rdf_parser_raptor.c: Remove writable static bss. Make 269 raptor_uri_handler const 270 271 * librdf/rdf_parser_raptor.c, librdf/rdf_query_rasqal.c, 272 librdf/rdf_serializer_raptor.c: Remove writable static bss. Make 273 buffers stack-based. 274 275 * librdf/rdf_statement.c: Remove writable static data. Make 276 null_string pointer const. 277 278 * librdf/rdf_log.c: Remove writable static data. Make 279 log_level_names array const. 280 2812007-10-31 Lauri Aalto <laalto@iki.fi> 282 283 * librdf/rdf_storage_internal.h: Remove duplicate declaration of 284 librdf_init_storage_sqlite() 285 286 * librdf/rdf_storage.c, librdf/rdf_storage.h, 287 librdf/rdf_storage_internal.h: Make librdf_storage_add_reference() 288 and librdf_storage_remove_reference() LIBRDF_API functions to 289 enable calling from external storage modules on systems that 290 require explicit function exports. 291 2922007-10-25 Lauri Aalto <laalto@iki.fi> 293 294 * librdf/rdf_query_results.c: (librdf_query_results_to_counted_string): 295 Do not leak string on errors. 296 2972007-10-23 Lauri Aalto <laalto@iki.fi> 298 299 * librdf/rdf_node.c: (librdf_new_node_from_typed_counted_literal): 300 Free xml_language copy on buffer alloc failure 301 302 * librdf/rdf_node.c: (librdf_new_node_from_blank_identifier): On 303 error, free identifier generated with librdf_world_get_genid(). No 304 need to copy generated id. 305 306 * librdf/rdf_parser_raptor.c: 307 (librdf_parser_raptor_generate_id_handler): 308 Fix lowmem leaks - always free user_bnodeid, return NULL if 309 hash_put fails. 310 311 * librdf/rdf_parser_raptor.c: 312 (librdf_parser_raptor_generate_id_handler): 313 Fix lowmem crash - do not put NULL value into hash 314 315 * librdf/rdf_parser_raptor.c: (librdf_parser_raptor_init): Check 316 for bnode_hash alloc failure 317 318 * librdf/rdf_parser_raptor.c: (librdf_parser_raptor_namespace_handler): 319 Check for alloc failure 320 321 * librdf/rdf_parser_raptor.c: (librdf_parser_raptor_context): 322 Lowmem leak fix. Store pointer to the stream context to enable 323 cleaning it up through the parser object. 324 325 * librdf/rdf_parser_raptor.c: 326 (librdf_parser_raptor_parse_as_stream_common): 327 Lowmem leak fixes. Store raptor_www pointer to parser context to 328 allow resource cleanup from client code in case 329 raptor_parse_chunk() fails in a lexer. 330 331 * librdf/rdf_parser_raptor.c: (librdf_parser_raptor_stream_context): 332 base_uri is not needed for anything - raptor copies and stores 333 base_uri as needed. 334 335 * librdf/rdf_parser.c: (librdf_parser_guess_name): Do not call 336 strlen() with NULL arg. 337 338 * librdf/rdf_parser_raptor.c: (librdf_parser_raptor_stream_context): 339 source_uri is not needed for anything. 340 341 * librdf/rdf_parser.c: indent tabs->spaces 342 343 * librdf/rdf_parser_raptor.c: 344 (librdf_parser_raptor_parse_file_handle_as_stream, 345 librdf_parser_raptor_parse_as_stream_common, 346 librdf_parser_raptor_parse_into_model_common): Check for alloc 347 failures 348 3492007-10-22 Lauri Aalto <laalto@iki.fi> 350 351 * librdf/rdf_uri.c: (librdf_new_uri_from_uri_local_name): No need 352 to calloc strings, use malloc instead. 353 354 * librdf/rdf_digest.c, librdf/rdf_hash.c, librdf/rdf_model.c, 355 librdf/rdf_parser.c, librdf/rdf_query.c, librdf/rdf_serializer.c, 356 librdf/rdf_storage.c: (librdf_digest_register_factory, 357 librdf_hash_register_factory, librdf_model_register_factory, 358 librdf_parser_register_factory, librdf_query_register_factory, 359 librdf_serializer_register_factory, 360 librdf_storage_register_factory): No need to calloc strings, use 361 malloc instead. 362 363 * librdf/rdf_concepts.c: (librdf_finish_concepts): Prevent calling 364 librdf_free_node() with NULL node. 365 366 * librdf/rdf_digest.c, librdf/rdf_hash.c, librdf/rdf_model.c, 367 librdf/rdf_parser.c, librdf/rdf_query.c, librdf/rdf_serializer.c, 368 librdf/rdf_storage.c: (librdf_storage_register_factory, 369 librdf_parser_register_factory, librdf_model_register_factory): 370 Low-memory fixes: prevent calling the factory method on a stale 371 factory if raptor_sequence_push() failed. 372 373 (librdf_digest_register_factory, librdf_hash_register_factory, 374 librdf_model_register_factory, librdf_parser_register_factory, 375 librdf_query_register_factory, librdf_serializer_register_factory, 376 librdf_storage_register_factory): Refactor all 377 librdf_*_register_factory() functions to same style: 378 - fail fast if factory already registered, alloc only if necessary 379 - associate with librdf_world before calling the factory function 380 to allow proper cleanup on factory failures 381 - on error, use goto label for cleanup + oom reporting to make the 382 code clearer and smaller 383 - do not use intermediate local variables if they have no benefit 384 385 * librdf/rdf_iterator.c, librdf/rdf_list.c, librdf/rdf_node.c, 386 librdf/rdf_storage.c, librdf/rdf_storage_hashes.c, 387 librdf/rdf_storage_list.c, librdf/rdf_storage_mysql.c, 388 librdf/rdf_storage_postgresql.c, librdf/rdf_storage_sqlite.c: 389 Prevent double deleting iterator context on error after r12988. 390 (librdf_new_iterator): Document that ownership of context is taken. 391 392 * librdf/rdf_iterator.c: (librdf_new_iterator): Free passed in 393 context on alloc failure. Indent tabs->spaces. 394 395 * utils/rdfproc.c: (commands): Fix warning about missing initializer 396 397 * librdf/rdf_storage_file.c: (librdf_storage_file_init): Make sure 398 options hash is always freed. 399 400 * configure.ac: Set eol-style from native to LF - toolchain does 401 not work with CRLF files. 402 4032007-10-21 Lauri Aalto <laalto@iki.fi> 404 405 * librdf/rdf_init.c: Require ltdl.h only with MODULAR_LIBRDF. 406 407 * librdf/rdf_hash.c: (librdf_hash_get_all_iterator_finished): Fix 408 low memory crash - check for NULL context->key. 409 4102007-10-20 Dave Beckett <dave@dajobe.org> 411 412 * librdf/rdf_init.c: 2007 413 414 * librdf/rdf_init_internal.h: (struct librdf_world_s): Add 415 storage_modules and ltdl_opened always. Pad structure when not 416 WITH_THREADS. Thus structure is always the same size. 417 418 * librdf/rdf_storage.c: (librdf_storage_load_module): Renamed from 419 librdf_load_storage_module 420 421 * autogen.sh: Only add --ltdl to libtoolize_args if a configure 422 program contains an AC_LIBLTDL_ macro. Allows this script to 423 shared between librdf, raptor and rasqal. 424 4252007-10-19 Dave Robillard <dave@drobilla.net> 426 427 * autogen.sh, configure.ac, librdf/Makefile.am, librdf/rdf_init.c, 428 librdf/rdf_init_internal.h, librdf/rdf_storage.c, 429 librdf/rdf_storage_sql_test.c: Modular (ie separate library) 430 storage backends. 431 (configure.ac): added --enable-modular. 432 (librdf_load_storage_module): created. 433 (librdf_init_storage): load modules, if --enable-modular is set. 434 (librdf_finish_storage): close module if necessary. 435 (rdf_storage_test): test all available storage backends. 436 (librdf_new_world): initialise libltdl. 437 (rdf_storage_sql_test): fix warning on 64-bit. 438 4392007-10-19 Lauri Aalto <laalto@iki.fi> 440 441 * librdf/rdf_hash.c: (librdf_new_hash_from_hash): Do not use hash 442 after deleting it. No need to free NULL identifier. 443 444 * librdf/rdf_model.c: indent tab -> spaces 445 446 * librdf/rdf_log.c, librdf/rdf_node.c: (librdf_free_node) Roll 447 back NULL check change from r12427 - the code is no longer trying 448 to free NULL nodes. Makes the function consistent with other 449 librdf_free_* functions. 450 4512007-10-18 Lauri Aalto <laalto@iki.fi> 452 453 * librdf/rdf_uri.c: (librdf_new_uri): Annotate uri string allocs as 454 cstring and not librdf_uri. 455 456 * librdf/rdf_storage_list.c: (librdf_storage_list_close): Remove 457 unused variable. 458 459 * librdf/rdf_storage_list.c: (librdf_storage_list_close): 460 Low-memory memory leak fix. Freeing list items should not depend 461 on being able to allocate an iterator. Replace list iterator with 462 a pop loop. 463 4642007-10-04 Lauri Aalto <laalto@iki.fi> 465 466 * librdf/rdf_parser_raptor.c: 467 (librdf_parser_raptor_new_statement_handler): Check for failures 468 and log a fatal error if needed. Free statement if librdf_list_add 469 fails. 470 4712007-10-03 Lauri Aalto <laalto@iki.fi> 472 473 * librdf/rdf_stream.c: (librdf_stream_add_map): Free context 474 immediately on error. 475 476 * librdf/rdf_storage_list.c: (librdf_storage_list_find_statements): 477 Free query statement if it is not added to the stream map. 478 479 * librdf/rdf_storage_list.c: (librdf_storage_list_serialise) Free 480 allocated stream context if returning an empty stream with no 481 context. 482 483 * librdf/rdf_list.c: (librdf_list_get_iterator): Free iterator 484 context if librdf_new_iterator() fails. 485 4862007-10-01 Lauri Aalto <laalto@iki.fi> 487 488 * librdf/rdf_model.c: (librdf_new_model_with_options): Use calloc 489 instead of malloc for context. 490 (main): rdf_model tests: Always run test_model_cloning (now it 491 passes). 492 (test_model_cloning): Fix copy-paste artifact when cloning a 493 cloned model. 494 495 * librdf/rdf_storage.c: (librdf_new_storage_from_storage): Set 496 storage usage flag early to allow cleanup with 497 librdf_free_storage(). 498 499 * librdf/rdf_storage_hashes.c: (librdf_storage_hashes_init_common): 500 Store name to context and take ownership. 501 (librdf_storage_hashes_terminate): Free owned name string. 502 (librdf_storage_hashes_init): Create a copy of the name string - 503 init_common takes ownership of it. 504 (librdf_storage_hashes_clone): Remove unused variable + fix 505 comments. 506 Fixes Issue #0000229 http://bugs.librdf.org/mantis/view.php?id=229 . 507 5082007-09-29 Lauri Aalto <laalto@iki.fi> 509 510 * librdf/rdf_model.c: Added tests for 511 librdf_new_model_from_model(). Tests fail and they are disabled by 512 default. Related to 513 Issue #0000229 http://bugs.librdf.org/mantis/view.php?id=229 514 515 * librdf/rdf_storage_hashes.c: (librdf_storage_hashes_clone) Only 516 copy old context name if it is non-NULL. Store options hash in 517 new_context so that clone of a clone could also be possible. 518 Fixes Issue #0000229 http://bugs.librdf.org/mantis/view.php?id=229 519 but not all the additional issue in bug report notes. 520 (librdf_storage_hashes_open): Do not destroy the options hash - it 521 can be needed later if cloning the storage. 522 523 * librdf/rdf_model.c: (librdf_new_model_from_model): Check factory 524 clone() return value. Related to 525 Issue #0000229 http://bugs.librdf.org/mantis/view.php?id=229 526 527 * librdf/rdf_heuristics.c: (librdf_heuristic_gen_name): Defensive 528 code: assert non-NULL name parameter. 529 5302007-09-27 Lauri Aalto <laalto@iki.fi> 531 532 * librdf/rdf_parser.c: (librdf_parser_register_factory): Check 533 parsers sequence alloc failure. Push new parser to sequence before 534 calling factory init - parser is cleaned up if factory init fails. 535 (librdf_new_parser_from_factory): Check factory init return value 536 and clean up on error. 537 538 * librdf/rdf_list.c: (librdf_list_iterator_finished): No-op if 539 iterator is NULL. 540 541 * librdf/rdf_parser_raptor.c: (librdf_raptor_new_uri_for_rdf_concept): 542 Check librdf_get_concept_by_name() return value. 543 5442007-09-26 Dave Beckett <dave@dajobe.org> 545 546 * autogen.sh: autogen.sh with perl version grep script 547 5482007-09-26 Lauri Aalto <laalto@iki.fi> 549 550 * librdf/rdf_serializer_raptor.c: 551 (librdf_serializer_raptor_serialize_stream_to_counted_string, 552 librdf_serializer_raptor_serialize_stream_to_iostream): 553 Check librdf_serializer_raptor_serialize_statement() return value. 554 555 * librdf, utils: Props: ignore .exes 556 5572007-09-25 Lauri Aalto <laalto@iki.fi> 558 559 * librdf/rdf_serializer_raptor.c: 560 (librdf_serializer_raptor_serialize_statement): 561 Check for serialize_statement return code. Fix log messages: print 562 -> serialize. 563 5642007-09-24 Lauri Aalto <laalto@iki.fi> 565 566 * autogen.sh: Do not compare versions as decimal, e.g. automake 567 1.10 should be treated newer than 1.7. 568 (update_prog_version) Convert [z.]x.y version strings to 100x+y. 569 5702007-09-21 Lauri Aalto <laalto@iki.fi> 571 572 * librdf/rdf_concepts.c: librdf_concepts: Check for alloc failures 573 and clean up on errors. Workaround for 574 Issue #0000213 http://bugs.librdf.org/mantis/view.php?id=213 575 576 * librdf/rdf_serializer_raptor.c: 577 (librdf_serializer_raptor_serialize_stream_to_file_handle): 578 Clean up allocated resources on failure. 579 580 * librdf/rdf_storage.c: rdf_storage: Check for alloc failures and 581 clean up properly on failure. 582 583 * librdf/rdf_serializer.c: rdf_serializer: Check for alloc 584 failures and clean up properly on failure. 585 586 * librdf/rdf_query_results.c: (librdf_query_results_to_counted_string): 587 Fix compiler warning about type punning. 588 589 * librdf/rdf_query_rasqal.c: rdf_query_rasqal: Check for alloc 590 failures / return codes and clean up properly on failure. 591 592 * librdf/rdf_query.c: rdf_query: Check for alloc failures and 593 clean up properly on failure. 594 595 * librdf/rdf_model.c: rdf_model: Check for alloc failures and 596 clean up properly on failure. 597 598 * librdf/rdf_node.c: (librdf_free_node) Hash deletion failure is 599 not a fatal error. 600 601 * librdf/rdf_serializer_raptor.c: 602 (librdf_serializer_raptor_serialize_stream_to_counted_string) 603 Fix compiler warning about type punning. 604 605 * librdf/rdf_uri.c: (librdf_free_uri) Hash deletion failure is not 606 a fatal error. 607 (librdf_uri_compare) Fix typos in comments. 608 609 * librdf/rdf_uri.c: (librdf_new_uri_from_uri_local_name) Indirect 610 old_uri pointer only after making sure it's not NULL. 611 612 * librdf/rdf_uri.c: (librdf_init_uri) Store uris_hash allocation 613 status before potentially failing opening it. 614 615 * librdf/rdf_hash.c: (librdf_new_hash_datum) Check for alloc 616 failures. 617 (librdf_new_hash_from_factory) Delete hash if factory init returns 618 an error. 619 620 * librdf/rdf_log.c: (librdf_log_simple) Do not abort() on fatal 621 messages - leave it up to librdf_fatal() so it can free its 622 buffers. 623 (librdf_fatal) Ensure function never returns, even on alloc failure. 624 625 * librdf/rdf_internal.h: rdf_internal.h: Allow LIBRDF_ASSERT_DIE 626 to be externally defined e.g. in a makefile. 627 628 * librdf/rdf_init.c: (librdf_new_world) Check for alloc failures 629 630 * librdf/rdf_model_storage.c, librdf/rdf_stream.c: Fix typos in 631 comments 632 633 * librdf/rdf_hash_memory.c: Fix indent 634 635 * Makefile.am, acinclude.m4, autogen.sh, data/Makefile.am, 636 demos/Makefile.am, docs/Makefile.am, examples/Makefile.am, 637 librdf/Makefile.am, librdf/win32/Makefile.am, utils/Makefile.am: 638 Fix EOL issues when building svn version on cygwin. 639 Partial fix to 640 Issue #0000236 http://bugs.librdf.org/mantis/view.php?id=236 641 642 * librdf/Makefile.am: Added $(EXEEXT)s to Makefiles to fix "make 643 clean" on cygwin. Partial fix to 644 Issue #0000235 http://bugs.librdf.org/mantis/view.php?id=235 645 646 * autogen.sh: librdf autogen.sh $dir quoting. Partial fix to 647 Issue #0000234 http://bugs.librdf.org/mantis/view.php?id=234 648 6492007-09-16 Dave Beckett <dave@dajobe.org> 650 651 * Redland.i, librdf/rdf_parser_raptor.c, librdf/rdf_uri.c, 652 librdf/rdf_uri.h: (librdf_uri_compare): Added. Used to implement 653 librdf_raptor_uri_compare 654 655 * librdf/rdf_parser_raptor.c: (struct librdf_raptor_uri_handler): 656 Set URI Interface version to 2. 657 6582007-09-15 Dave Robillard <dave@drobilla.net> 659 660 * librdf/rdf_parser_raptor.c: (librdf_raptor_uri_handler): Move 661 raptor_uri_compare to end of struct to match raptor_uri_handler. 662 663 * librdf/rdf_parser_raptor.c: (librdf_raptor_uri_compare): Avoid 664 strcmp if URIs are equal. Fix string signedness warnings. 665 666 * librdf/rdf_parser_raptor.c: (librdf_raptor_uri_compare): 667 Overload raptor_uri_compare for librdf URIs. 668 6692007-09-07 Dave Beckett <dave@dajobe.org> 670 671 * librdf/rdf_init_internal.h: Include pthread.h for use by struct 672 Fixes Issue#0000230 http://bugs.librdf.org/mantis/view.php?id=230 673 6742007-09-03 Dave Beckett <dave@dajobe.org> 675 676 * examples/rss2ical.c: Use \r\n line endings like the spec 677 says. Hello 1998! 678 6792007-08-26 Dave Beckett <dave@dajobe.org> 680 681 * docs/redland-docs.xml: add more boilerplate, copyrights 682 6832007-08-24 Dave Beckett <dave@dajobe.org> 684 685 * librdf/rdf_query.c: (librdf_query_execute): Fix asset for model 686 param. 687 Fixes Issue#0000218 http://bugs.librdf.org/mantis/view.php?id=218 688 6892007-08-22 Dave Beckett <dave@dajobe.org> 690 691 * librdf/rdf_parser_raptor.c: (librdf_parser_raptor_relay_filter): 692 Added to use in filtering URIs during a parse operation. 693 (librdf_parser_raptor_parse_file_handle_as_stream, 694 librdf_parser_raptor_parse_as_stream_common, 695 librdf_parser_raptor_parse_into_model_common): Check URIs using 696 raptor_parser_set_uri_filter to set a filter function. 697 698 * librdf/rdf_parser.c: (librdf_parser_set_uri_filter): Added for 699 setting a handler function to check URIs being parsed. 700 (librdf_parser_get_uri_filter): Added for returning the current 701 handler/data. 702 703 * librdf/rdf_uri.h: Define librdf_uri_filter_func 704 705 * librdf/rdf_parser.h: Added librdf_parser_set_uri_filter and 706 librdf_parser_get_uri_filter 707 708 * librdf/rdf_parser_internal.h: struct librdf_parser_s gains 709 uri_filter_user_data and uri_filter 710 7112007-08-18 Dave Beckett <dave@dajobe.org> 712 713 * librdf/rdf_node.c: (librdf_new_node_from_typed_counted_literal): 714 Handle input value, xml_languge that are not necessarily NUL 715 terminated, although they should be since they are C strings. 716 Fixes Issue#0000215 http://bugs.librdf.org/mantis/view.php?id=215 717 718 * configure.ac: BDB is up to 4.6 now 719 720 * librdf/Makefile.am, librdf/rdf_init.c, librdf/rdf_model.c, 721 librdf/rdf_node.c, librdf/rdf_parser.c, librdf/rdf_serializer.c, 722 librdf/rdf_storage.c, librdf/rdf_uri.c: Fix setup/cleanup issues 723 if library is initialised and then closed. Added rdf_init_test 724 test to run it. 725 Fixes Issue#0000209 http://bugs.librdf.org/mantis/view.php?id=209 726 7272007-08-17 Dave Beckett <dave@dajobe.org> 728 729 * librdf/rdf_query_rasqal.c: (librdf_query_rasqal_free_results_formatter): 730 Free the librdf_query_results_formatter 731 Fixes Issue#0000205 http://bugs.librdf.org/mantis/view.php?id=205 732 733 734 * librdf/librdf.h: Applied librdf part of symbian portability fix 735 for Issue#0000203 736 http://bugs.librdf.org/mantis/view.php?id=203 737 7382007-07-19 Dave Beckett <dave@dajobe.org> 739 740 * librdf/rdf_serializer.c: (librdf_serializer_set_namespace): Now 741 with less typos 742 743 * librdf/rdf_serializer.c: (librdf_serializer_set_namespace): 744 Allow NULL uri and prefix to be given 745 7462007-06-08 Dave Beckett <dave@dajobe.org> 747 748 * librdf/rdf_storage_mysql.c: 749 (librdf_storage_mysql_transaction_commit): Run 750 librdf_storage_mysql_transaction_terminate if there is nothing to 751 do. 752 7532007-05-26 Dave Beckett <dave@dajobe.org> 754 755 * librdf/rdf_uri.c: (librdf_uri_is_file_uri): Correct return value 756 docs. 757 Fixes Issue#0000189 http://bugs.librdf.org/mantis/view.php?id=189 758 759 * librdf/librdf.h: Allow _declspec and __declspec 760 Fixes Issue#0000188 http://bugs.librdf.org/mantis/view.php?id=188 761 7622007-05-21 Dave Beckett <dave@dajobe.org> 763 764 * configure.ac: Add -Wformat-security 765 7662007-05-09 Dave Beckett <dave@dajobe.org> 767 768 * librdf/rdf_query_results.c: (librdf_free_query_results_formatter): 769 Do not try to return a value. 770 Fixes Issue#0000187 http://bugs.librdf.org/mantis/view.php?id=187 771 772 773 * configure.ac: mysql_cflags - make sure -O match is after 774 whitespace. Ditch trying to rip out linker junk from mysql_cflags 775 7762007-05-06 Dave Beckett <dave@dajobe.org> 777 778 * librdf/rdf_hash.c: (librdf_hash_print, librdf_hash_print_keys, 779 librdf_hash_print_values): Look at fwrite return value, it makes 780 gcc happier. 781 782 783 * NEWS.html, configure.ac, librdf/win32_rdf_config.h: Bump version 784 to 1.0.7 785 7862007-05-05 Dave Beckett <dave@dajobe.org> 787 788 * Snapshotted redland_1_0_6 for 1.0.6 release (SVN 12231) 789 790 * librdf/redland.spec.in: Add /usr/share/redland/mysql-v1.ttl and 791 /usr/share/redland/mysql-v2.ttl to redland package 792 793 * librdf/rdf_parser_raptor.c: 794 (librdf_parser_raptor_namespace_handler): Do not store namespaces 795 with null URIs. 796 797 * Redland.i: Add librdf_parser_get_namespaces_seen_prefix, 798 librdf_parser_get_namespaces_seen_uri and 799 librdf_parser_get_namespaces_seen_count 800 801 * librdf/rdf_parser_raptor.c: (librdf_parser_raptor_namespace_handler): 802 Handle NULL prefix, URIs 803 8042007-05-04 Dave Beckett <dave@dajobe.org> 805 806 * librdf/rdf_parser_raptor.c: cast for C++ 807 808 * librdf/rdf_parser_raptor.c: librdf_parser_raptor_stream_context 809 gains nspace_prefixes and nspace_uris sequences for storing 810 namespaces seen. 811 (librdf_parser_raptor_terminate): Free sequences. 812 (librdf_parser_raptor_namespace_handler): Save namespaces prefixes 813 and URIs seen in the new sequences. 814 (librdf_parser_raptor_parse_file_handle_as_stream, 815 librdf_parser_raptor_parse_as_stream_common, 816 librdf_parser_raptor_parse_into_model_common): Reset/initialise 817 namespace prefix/uri sequences before starting parsing. 818 (librdf_parser_raptor_get_namespaces_seen_prefix, 819 librdf_parser_raptor_get_namespaces_seen_uri, 820 librdf_parser_raptor_get_namespaces_seen_count): Added to get the 821 namespaces returned during a parsing. 822 (librdf_parser_raptor_register_factory): Register new functions 823 above. 824 825 * librdf/rdf_parser.c: (librdf_parser_get_namespaces_seen_prefix, 826 librdf_parser_get_namespaces_seen_uri, 827 librdf_parser_get_namespaces_seen_count): Added to get the 828 namespaces returned during a parsing. 829 830 * librdf/rdf_parser.h: Added prototypes for 831 librdf_parser_get_namespaces_seen_prefix, 832 librdf_parser_get_namespaces_seen_uri and 833 librdf_parser_get_namespaces_seen_count 834 835 * librdf/rdf_parser_internal.h: struct librdf_parser_factory_s 836 gains factory methods 837 const char* (*get_namespaces_seen_prefix)(void* context, int offset); 838 librdf_uri* (*get_namespaces_seen_uri)(void* context, int offset); 839 int (*get_namespaces_seen_count)(void* context); 840 to get the namespaces seen during a parsing. 841 842 * librdf/rdf_storage_mysql.c: 843 (librdf_storage_mysql_transaction_commit): Commit statements in 844 the sorted order, not reversed. Fix off-by-1. 845 846 * librdf/rdf_storage_mysql.c: pending_row now has a set strings 847 with lengths. 848 (librdf_storage_mysql_context): pending_inserts is now an array of 849 raptor_sequence* of pending_rows. 850 (compare_pending_rows): Compare using ints not memcmp for 851 human understandable order. Could go back to memcmp which would 852 do different things based on the storage of u64 in memory (big, 853 little endian) 854 (free_pending-row): Added, now freeing strings too. 855 (format_pending_row_sequence): Turn a sequence of pending rows for a 856 table into the appropriate REPLACE INTO query. 857 (librdf_storage_mysql_node_hash_common): Do not make query here, use 858 new format_pending_row_sequence for immediate use, or queue it if in 859 a transaction. 860 (librdf_storage_mysql_transaction_start): init pending_inserts 861 sequences. 862 (librdf_storage_mysql_transaction_terminate): Free pending_inserts 863 sequences. 864 (librdf_storage_mysql_transaction_commit): Count pending_inserts 865 sequences. sort the pending nodes rows before formatting with 866 format_pending_row_sequence. 867 8682007-05-02 Dave Beckett <dave@dajobe.org> 869 870 * librdf/rdf_storage_mysql.c: Batch up INSERTS to be 1 per table type. 871 Replace INSERT INTO with REPLACE INTO for Resources, Literals, 872 BNodes. 873 Do nothing if there is no work to commit, not even start/commit. 874 Table mysql_tables added to declare table names and fields. 875 Lose all the SELECT HIGH_PRIORITY. 876 (librdf_storage_mysql_node_hash_common): Renamed from 877 librdf_storage_mysql_node_hash. 878 (librdf_storage_mysql_get_node_hash, 879 librdf_storage_mysql_store_node): Added as wrappers around the above. 880 (librdf_storage_mysql_node_hash_common): Split into 'get hash' and 881 'add hash' sections. All queries are constructed with 882 raptor_stringbuffer. When in transaction, save for later, otherwise 883 execute here as before. Do not insert the same node twice in 884 the same transaction. LATER: Need to remember this is inserted 885 outside a transaction too to prevent un-necessary SELECTs. 886 (librdf_storage_mysql_context_add_statement_helper): Use new function 887 names. When in transactions, save away statements hash u64 arrays 888 a raptor_sequence of pending_row objects otherwise execute as before. 889 (librdf_storage_mysql_transaction_start): Initialise the new hashes 890 for nodes, pending_inserts stringbuffers, pending_statements sequence. 891 (librdf_storage_mysql_transaction_terminate): Added to tidy up the 892 new fields added above when a transaction is done. 893 (librdf_storage_mysql_transaction_commit): If there is no pending 894 node or statement to add, end without connecting. 895 Otherwise for each node table, do one REPLACE INTO and for the 896 statement table, do one INSERT INTO. 897 (librdf_storage_mysql_transaction_rollback): use new 898 librdf_storage_mysql_transaction_terminate to tidy up. 899 900 * configure.ac: Move mysql flag munging to one place 901 902 * utils/Makefile.am: (AM_CPPFLAGS): Put internal flags first 903 9042007-05-01 Dave Beckett <dave@dajobe.org> 905 906 * librdf/rdf_hash.c: casts for C++ 907 908 * librdf/rdf_parser.c, librdf/rdf_parser_raptor.c, 909 librdf/rdf_query_rasqal.c, librdf/rdf_storage_mysql.c, 910 librdf/rdf_storage_sql.c: casts for C++ 911 912 * librdf/rdf_hash.c: Casts for C++ 913 914 * librdf/rdf_hash.c, librdf/rdf_hash.h: 915 (librdf_hash_interpret_template): Do not use template as a 916 function parameter name for C++ 917 918 * FAQS.html, INSTALL.html, LICENSE.html, NEWS.html, README.html, 919 RELEASE.html, TODO.html: HTML hello UTF-8 920 921 * redland-config.1: Document --private-libs and explain what it is 922 under --libs too. 923 924 * redland-config.in: Add --private-libs and move private libs to 925 that from --libs 926 927 928 * librdf/redland.pc.in: Use Libs.private for internal dynamically 929 linked libraries 930 9312007-04-30 Dave Beckett <dave@dajobe.org> 932 933 * librdf/rdf_model.c: (librdf_model_add_submodel): Invert test 934 Fixes Issue#0000175 http://bugs.librdf.org/mantis/view.php?id=175 935 936 * librdf/rdf_iterator.c, librdf/rdf_statement.c, 937 librdf/rdf_storage.c, librdf/rdf_stream.c, librdf/rdf_uri.c: 938 (main): Init library with world only, not librdf_init_CLASS 939 940 * librdf/rdf_concepts.c: (main): Self contained test. 941 942 * librdf/rdf_digest.c, librdf/rdf_hash.c, librdf/rdf_node.c: 943 (main): Init library with world only, not librdf_init_CLASS 944 945 * docs/redland-docs.xml: sgml IDs 946 947 * Makefile.am: touch-mtime.pl 948 949 * docs/redland-sections.txt: Add librdf_parser_guess_name add 950 librdf_query_results_is_syntax 951 952 * Makefile.am, RELEASE.html, configure.ac, utils/Makefile.am, 953 utils/touch-mtime.c, utils/touch-mtime.pl: Remove touch-mtime 954 program, use perl touch-mtime.pl 955 9562007-04-23 Dave Beckett <dave@dajobe.org> 957 958 * configure.ac: min raptor 1.4.15 959 960 * utils/rdfproc.c: Revert add_stream_count() and heuristics changes 961 962 * librdf/rdf_model.c, librdf/rdf_serializer.c: Updates for rdf/xml 963 output adding xml:base 964 965 * NEWS.html, configure.ac, librdf/win32_rdf_config.h: Bump version 966 to 1.0.6 967 968 * librdf/rdf_utf8.c: (main): Run quietly when successful 969 9702007-04-22 Dave Beckett <dave@dajobe.org> 971 972 * librdf/rdf_query_triples.c: (librdf_query_triples_init): Init 973 context->statement. 974 975 * autogen.sh: Update autogen.sh 976 9772007-03-20 Dave Beckett <dave@dajobe.org> 978 979 * librdf/rdf_parser.c: (librdf_parser_guess_name): Guess a parser 980 name from content using raptor_guess_parser_name. 981 982 * librdf/rdf_parser.h: Added librdf_parser_guess_name 983 984 * Redland.i: Added librdf_parser_guess_name 985 9862007-03-14 Dave Beckett <dave@dajobe.org> 987 988 * librdf/rdf_parser_raptor.c: 989 (librdf_parser_raptor_parse_as_stream_common): Send the accept 990 header appropriate for the raptor parser. 991 9922007-02-25 Dave Beckett <dave@dajobe.org> 993 994 * librdf/rdf_init.c: (librdf_new_world): Document how you should 995 call librdf_world_open after, although the library will now do it 996 for you. 997 998 * librdf/rdf_concepts.c, librdf/rdf_digest.c, librdf/rdf_hash.c, 999 librdf/rdf_init.c, librdf/rdf_init_internal.h, 1000 librdf/rdf_iterator.c, librdf/rdf_list.c, librdf/rdf_model.c, 1001 librdf/rdf_model_storage.c, librdf/rdf_node.c, 1002 librdf/rdf_parser.c, librdf/rdf_parser_raptor.c, 1003 librdf/rdf_query.c, librdf/rdf_query_results.c, 1004 librdf/rdf_serializer.c, librdf/rdf_serializer_raptor.c, 1005 librdf/rdf_statement.c, librdf/rdf_storage.c, 1006 librdf/rdf_storage_file.c, librdf/rdf_storage_hashes.c, 1007 librdf/rdf_storage_list.c, librdf/rdf_storage_mysql.c, 1008 librdf/rdf_storage_postgresql.c, librdf/rdf_storage_sql.c, 1009 librdf/rdf_storage_sqlite.c, librdf/rdf_storage_tstore.c, 1010 librdf/rdf_stream.c, librdf/rdf_uri.c: Add librdf_world_open() for 1011 every public API constructor or function that mentions 1012 librdf_world* and could have failed to run librdf_world_open() 1013 after librdf_new_world(). Fixes Issue#0000173 1014 http://bugs.librdf.org/mantis/view.php?id=173 1015 1016 * librdf/rdf_query.h: Added librdf_query_results_is_syntax prototype. 1017 10182007-02-17 Dave Beckett <dave@dajobe.org> 1019 1020 * utils/rdfproc.1: Document -r/--results for query results formatting. 1021 1022 * utils/rdfproc.c: Added -r/--results option to set query results 1023 formatter name. 1024 1025 * docs/tmpl/hash.sgml, docs/tmpl/model.sgml, 1026 docs/tmpl/query_results.sgml, docs/tmpl/storage.sgml: Update for 1027 new transactions functions 1028 1029 * librdf/rdf_parser.c, librdf/rdf_parser_internal.h, 1030 librdf/win32_rdf_config.h: Remove HAVE_RAPTOR_RDF_PARSER - always 1031 present now 1032 1033 * librdf/Makefile.am: rdf_parser_raptor.c is always compiled 1034 1035 * configure.ac: Remove --enable-parsers - raptor is always 1036 required and always used, whatever this setting is. It is now 1037 passed onto raptor, if built internally, which *will* use it to 1038 configure the library contents. 1039 10402007-02-16 Dave Beckett <dave@dajobe.org> 1041 1042 * librdf/rdf_query_rasqal.c: (librdf_query_rasqal_results_to_counted_string, 1043 librdf_query_rasqal_results_to_file_handle): Removed old factory 1044 method impls 1045 (librdf_query_rasqal_results_is_syntax, 1046 librdf_query_rasqal_new_results_formatter, 1047 librdf_query_rasqal_new_results_formatter_by_mime_type, 1048 librdf_query_rasqal_free_results_formatter, 1049 librdf_query_rasqal_results_formatter_write): Added to implement 1050 new factory methods using rasqal_query_results_formatter 1051 (librdf_query_rasqal_constructor): Register all rasqal query 1052 results formats to be handled by this. 1053 1054 * librdf/rdf_query_results.c: (librdf_query_results_to_counted_string, 1055 librdf_query_results_to_file_handle): Use query results formatter. 1056 (librdf_query_results_is_syntax): Added 1057 (librdf_new_query_results_formatter, 1058 librdf_new_query_results_formatter_by_mime_type, 1059 librdf_free_query_results_formatter, 1060 librdf_query_results_formatter_write): Added, based on new factory 1061 methods. 9librdf_query_results_formats_check, 1062 librdf_query_results_formats_enumerate): Added, calling rasqal 1063 directly. 1064 1065 * librdf/rdf_query.h: Added prototypes for 1066 librdf_new_query_results_formatter, 1067 librdf_new_query_results_formatter_by_mime_type, 1068 librdf_free_query_results_formatter, 1069 librdf_query_results_formatter_write, 1070 librdf_query_results_formats_check and 1071 librdf_query_results_formats_enumerate 1072 1073 * librdf/rdf_query_internal.h: Added 1074 librdf_query_results_formatter librdf_query_factory_s gains 1075 factory methods new_results_formatter, 1076 new_results_formatter_by_mime_type, free_results_formatter and 1077 results_formatter_write, results_is_syntax. lose factory methods 1078 results_to_counted_string and results_to_file_handle 1079 1080 * librdf/librdf.h: Added librdf_query_results_formatter 1081 1082 * librdf/rdf_query_rasqal.c: (rasqal_redland_bind_match): Allow 1083 binding a NULL graph 1084 10852007-02-09 Dave Beckett <dave@dajobe.org> 1086 1087 * librdf/rdf_serializer.c: (librdf_get_serializer_factory): 1088 Default to serializer named "rdfxml" if nothing given to ensure we 1089 don't get another rdfxml serializer such as XMP. 1090 1091 * librdf/rdf_serializer.c: (librdf_get_serializer_factory): Fix 1092 negative test for uri inequality. 1093 1094 * librdf/rdf_parser.c: (librdf_get_parser_factory): Fix negative 1095 test for uri inequality. 1096 10972007-01-26 Dave Beckett <dave@dajobe.org> 1098 1099 * Makefile.am: Revert touch -r change as it just creates a file 1100 called '-r' (reopen http://bugs.librdf.org/mantis/view.php?id=159) 1101 1102 * Makefile.am: Reverse use of touch -r since it seems to fail on 1103 Solaris. Fixes http://bugs.librdf.org/mantis/view.php?id=159 1104 11052007-01-23 Dave Beckett <dave@dajobe.org> 1106 1107 * configure.ac: RASQAL_MIN_VERSION 0.9.14 1108 1109 * librdf/rdf_storage.c: (librdf_storage_node_stream_to_node_create): 1110 Allow copying NULL node1 and node2. 1111