2010-06-24  Martyn Russell  <martyn@lanedo.com>

	Release 0.9.10

	Small update to NEWS

	Updated NEWS

2010-06-24  Adrien Bustany  <abustany@gnome.org>

	Flicr miner: fix vala package dependency
	This commit changes the name of the librest package from rest to
	rest-0.6, as this changed in recent vala versions.

2010-06-24  Aleksander Morgado  <aleksander@lanedo.com>

	tracker-miner-fs: if no mount point change needed, initialize stale removal

	tracker-miner-fs: minor refactor

	Fixes GB#621070: Re-enable volume cleanup
	 * By default, all resources from volumes (removable or optical) which
	   were NOT mounted in the last 3 days will be removed from the store
	   when doing the stale volume check.

	 * Stale volume check is done when tracker-miner-fs starts, and then
	   scheduled to be done once a day.

	tracker-miner-fs: remove old volume cleanup

	libtracker-data: Support disabling FTS

	libtracker-db: Support disabling FTS

	libtracker-db: only link to libtracker-fts when FTS enabled

	libtracker-common: if FTS disabled, don't compile language support

	FTS: if disabled, don't compile libtracker-fts or libstemmer

	tracker-search: When FTS disabled, don't use fts:match and don't check for stopwords

	tracker-store: Don't explicitly link to libstemmer

	FTS tests: only run if FTS enabled

	tracker-db-journal tests: don't need libtracker-fts

	FTS: New --enable-tracker-fts configure option

2010-06-24  Carlos Garnacho  <carlosg@gnome.org>

	Bug 620828 - returns no e-mail results
	Make tracker-search-tool search e-mails as well, the information provided
	is a bit basic at the moment.

2010-06-24  Aleksander Morgado  <aleksander@lanedo.com>

	libtracker-client: pass proper callback user data

	libtracker-client: remove trailing whitespaces

2010-06-24  Jürg Billeter  <j@bitron.ch>

	libtracker-data: Add test for triple block following simple optional

	SPARQL: Fix generated SQL for triple block following simple optional

2010-06-24  Vincent Untz  <vuntz@gnome.org>

	Fixes GB#621987, Correctly handle applications in results
	Improves Application category support in tracker-search-tool

2010-06-24  Tshepang Lekhonkhobe  <tshepang@gmail.com>

	fixes GB#620354 make TST history persistent

2010-06-24  Martyn Russell  <martyn@lanedo.com>

	Fixes GB#620362, mp3 extraction crashes if year string is NULL before using atoi() with libenca enabled
	This was first reported to Red Hat's Bugzilla (#596764)

2010-06-23  Carlos Garnacho  <carlosg@gnome.org>

	Fix typo.
	Wrong user_data was being passed, making things crash in the async response.

2010-06-23  Aleksander Morgado  <aleksander@lanedo.com>

	libtracker-miner: minor style changes

	Fixes NB#175723: Avoid duplicates if several monitor events arrive together and store is slow
	 * If a given file is being currently processed (in the processing_pool), a new event
	   on the same file must not be launched. Instead, the event is put back to the original
	   queue and QUEUE_WAIT returned.

2010-06-23  Martyn Russell  <martyn@lanedo.com>

	Merge branch 'dbus-fd-experiment'

2010-06-23  Carlos Garnacho  <carlosg@gnome.org>

	TrackerMinerFiles: Force recheck on IgnoredFiles changes.
	This was working before commit 063355f410 because recheck was issued
	inconditionally.

	TrackerMinerFS: Plug a leak.

2010-06-23  Jürg Billeter  <j@bitron.ch>

	Update .gitignore

	tracker-store: Fix verbosity and contents of debug message

	tracker-store: Fix update stream leak
	This also drops unnecessary double buffering.

2010-06-23  Carlos Garnacho  <carlosg@gnome.org>

	Indentation fixes.
	doh!

	Bug 619868 - don't recheck all monitored directories needlessly
	All string (not dir) lists in the config would call
	tracker_keyfile_object_load_string_list() with NULL return_instead, so
	g_object_set()/g_object_notify() were inconditionally called. Check for
	list equality before notifying the property change.

2010-06-23  Jürg Billeter  <j@bitron.ch>

	tracker-steroids: Fix memory leaks in tests

	libtracker-client: Restore API compatibility for updates
	In libtracker-client the callbacks are responsible for freeing the
	results. This is unusual, however, we have to keep it that way to not
	break API compatibility.

	libtracker-client: Fix DBusPendingCall leak when canceling call

	tracker-store: Fix update query leak

2010-06-23  Carlos Garnacho  <carlosg@gnome.org>

	Bug 620486 - Ignored files can still be found after changing tracker-miner-fs.cfg
	Put items in deleted queue if they're in the store and check-[file|directory]
	returns FALSE.

	Bug 621547 - inconsistent messages on hard-reset
	Now all file removal messages have the same format.

2010-06-23  Martyn Russell  <martyn@lanedo.com>

	libtracker-client: Fixed warning for for tracker_result_iterator_next()
	Was using g_return_if_fail() with no return value where one is expected

	libtracker-client: Fixed test case failures
	Fixed a number of issues doing this:
	- Created a _new() and _free() function for FastAsyncData to clearly
	  see what gets allocated and freed and do it consistently. There were
	  areas which were not being freed correctly in error conditions.
	- Don't use g_assert(), we shouldn't be doing this in a library.
	- Don't free returned memory in test case, keeps consistency with
	  dbus-glib-1 APIs
	- Grouped code in functions more logically (like setting all iterator
	  members together)

2010-06-22  Martyn Russell  <martyn@lanedo.com>

	libtracker-client/tracker-store: Use same endian'ness
	Fixes a crash only seen in some cases

	libtracker-client: Don't check for NULL before calling g_free()

2010-06-22  Jürg Billeter  <j@bitron.ch>

	libtracker-client: Drop tracker_result_iterator_has_next
	Merged into tracker_result_iterator_next to simplify API.

2010-06-22  Martyn Russell  <martyn@lanedo.com>

	tracker-store: Fixed call to tracker_db_cursor_get_string() which has changed

	libtracker-client: Re-organise fast_async_callback_iterator()
	- Set up iterator members all together
	- Handle memory clean up in one place at the end of the func
	- Rename this function for consistency with other callback funcs

	libtracker-client: Minor documentation fixes

	libtracker-client: Added FIXMEs for areas that need improving
	- Some places don't make sense so I added FIXMEs there to ask Adrien
	  when he is next available
	- Cleaned up duplicate statement
	- Call g_slice_new() directly on struct member instead of assigning to
	  an otherwise unused parameter

	tracker-store: Improved logging for incorrect d-bus message signatures
	Include the *expected* signature

	tracker-store: Improve logging for query/update with steroids
	- Don't create ClientInfo memory until we have all the details to do
	  so and are sure there are no errors with the incoming d-bus message.
	- Log all failure conditions in query/update

	tracker-store: Fixed warning about TrackerSteroidsPrivate
	Removed unused private and finalize code

	tracker-store: Make sure ALL requests increment the request_id
	Don't filter erroneous requests, it is important to log and know about
	broken incoming requests so they can be fixed

	tracker-store: Cleaned up steroids

	tracker-store: Use DBUS_ERROR_UNKNOWN_METHOD not our own version
	- We redefined this as another symbol
	- We shouldn't be using DBUS_ namespace for any of our symbols

2010-06-22  Adrien Bustany  <abustany@gnome.org>

	libtracker-client: Unspaghetize tracker_cancel_call

	Fix compilation in tracker.c

	Steroids client: Do not leak in fast_async_callback_iterator

2010-06-22  Martyn Russell  <martyn@lanedo.com>

	libtracker-client: Fixed more whitespace issues caused by my broken emacs config

	libtracker-client: Fixed some memory leaks and DBUS service definitions

	libtracker-client: Code cleanup - phase 2
	- Added g_return_*() for main APIs
	- Removed duplicate g_return*() in both #ifdef cases
	- Fixed whitespace issues
	- Merged _compat functions into main functions for clarity

	libtracker-client: Reworked PendingData to split it properly between fast/slow

2010-06-22  Adrien Bustany  <abustany@gnome.org>

	Add steroids constants in libtracker-client

	Add tests for async steroids functions

	Steroids client: remove the query field from FastAsyncData
	this field could be replaced by a parameter to sparql_query_fast_update,
	improving readability.

2010-06-22  Martyn Russell  <martyn@lanedo.com>

	Steroids-client: Code cleanup, phase 1 - examples/ and libtracker-client/

2010-06-22  Adrien Bustany  <abustany@gnome.org>

	Steroids client: keep a ref on client while in async

	Steroids client: Do not unref dbus call twice when cancelling

	Steroids client: Use gboolean instead char for bools
	This commit changes the "fast" member of PendingCallData and
	FastPendingCall data to be of type gboolean, which is more
	"semantically" correct for the way we use it.

	Steroids client: don't run callback if call was cancelled

	Properly handle call cancelling with FD passing

	Steroids: drop RC codes and rely on pipe closing

2010-06-22  Philip Van Hoof  <philip@codeminded.be>

	squash

	libtracker-client, tracker-store: Handling D-Bus errors right

2010-06-22  Jürg Billeter  <j@bitron.ch>

	libtracker-client: Avoid duplicate code for D-Bus calls

	libtracker-client: Also use buffered output stream for async calls

	libtracker-client: Do not expose fast versions as separate API
	This currently breaks the update benchmark as the client cannot disable
	FD passing anymore.

	tracker-store: Remove unused TRACKER_STEROIDS_RC_LARGEROW

	libtracker-client: Remove unused TRACKER_STEROIDS_RC_LARGEROW

	tracker-store: Remove unused TRACKER_STEROIDS_EOP

	libtracker-client: s/marshall/marshal/

	tracker-store: s/unmarshall/unmarshal/

2010-06-22  Adrien Bustany  <abustany@gnome.org>

	Steroids server: Add missing loop_error check

	libtracker-client: Add steroids fallbacks for DBus 1.2

	Steroids server: Fix leak in query_inthread
	The GUnixOutputStream created in query_inthread would be leaked.

	Remove useless field "clients" from TrackerSteroidsPrivate

	configure: Don't fail if DBus 1.3 is not available

	Steroids server: Remove useless fields in ClientInfo

	Steroids server: Remove extra close calls
	This commit removes some useless close calls, that would trigger
	warnings in tracker-store's log. FD are automatically closed when GIO's
	UNIX streams are finalized.

	Port libtracker-miner and FS miner to steroids

	Add tests for Tracker Steroids
	This commit adds test for all the functions introduced in tracker-store
	and libtracker-client to handle the new Steroids interface. Coverage has
	been verified using gcov.

	Add Steroids example client
	This commit adds a steroids-sparql program. This program shows how to
	use the tracker_resources_sparql_query_iterate function to do a query
	and fetch the results. It does exactly the same thing as
	tracker-sparql -q.

	libtracker-client: Add Steroids support
	This commit add several function in libtracker-client to exploit the new
	Steroids interface.

	The main function is tracker_resources_sparql_query_iterate, which will
	return a TrackerResultIterator. This iterator can then be used to
	iterate over the results using the tracker_result_iterator_* functions.
	Note that iteration is not done on DB side, all results are first fetch
	into a buffer on client side. This is because keeping an iterator on
	server side would block access to other clients, SQLite not being MVCC.

	Add Tracker Steroids interface
	The Steroids interface uses a local pipe to transfer query results,
	instead of sending them over DBus. To do so, it uses a new feature in
	DBus 1.3 which allows passing UNIX file descriptors in messages.

	This commit introduces a new DBus object exported on the store at path
	/org/freedesktop/Tracker1/Steroids. Methods are in the interface
	org.freedesktop.Tracker1.Steroids.

	The DBus interface is composed of two methods:
	PrepareQuery <- SPARQL query
	             -> UNIX file descriptors where results will be written
	             -> Query identifier
	The PrepareQuery call initiates a query in Tracker. The query is not
	really prepared, in the sense that a PrepareQuery with an erroneous
	query will succeed. It's the Fetch call which will fail in that case.
	The returned query identifier can be used to initiate the Fetch.

	Fetch        <- Query identifier
	The Fetch call executes the query with the given identifier, and returns
	the results over the pipe returned by PrepareQuery.

	Note that while results are being fetched, a DB cursor is left open,
	blocking other concurrent INSERTs. It is therefore important to fetch
	the results and free the iterator as fast as possible.

2010-06-22  Aleksander Morgado  <aleksander@lanedo.com>

	Fixes GB#622351: Wrong initial detection of mounted state of the root partition

	Fixes NB#170915: tracker-search for snippet is resulting in errors

2010-06-21  Aleksander Morgado  <aleksander@lanedo.com>

	Fixes NB#175957: Properly setup non-removable mounts at startup

2010-06-21  Carlos Garnacho  <carlosg@gnome.org>

	Bug NB#175712 - tracker is listing the files under Ignore directories.
	Make ignored-directories property also go through path expansion, since
	directories there could be $HOME prefixed. This is also bug #621568.

2010-06-18  Philip Van Hoof  <philip@codeminded.be>

	tests/libtracker-data: Added unit test for a regression that we had

	NFO: After careful measuring we noticed that this index isn't faster
	The index for nfo:belongsToContainer was not faster while testing with
	the Linux source code directory. We did several runs to avoid hot vs.
	cold cache measurement differences. We also tried removing the index
	on nfo:fileLastModified but this didn't result in a significant
	difference (so we're leaving that index for now).

2010-06-18  Jürg Billeter  <j@bitron.ch>

	Revert "libtracker-data: Fixes NB#174591, Throw error on undefined variable in expressions"
	This reverts commit ff52af3dc6b72350f08f034d6e4245a6c54221b2.

	This broke queries that used SELECT variables in ORDERY BY clauses.

2010-06-18  Adrien Bustany  <abustany@gnome.org>

	Remote stale file tracker-miner-0.7.deps

2010-06-17  Carlos Garnacho  <carlosg@gnome.org>

	tracker-status-icon: show missing menu items.
	There was a show_all() call that got removed, some widgets relied on it...