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