Good points Morten. The approach I'd prefer is something unobtrusive for the user. You mention setting time_zone - is this a MySQL (or PostgreSQL) feature? If we can figure out what the database timezone is, and we know what the ActiveRecord one is set to, then we can figure out the appropriate difference without the user knowing any different.
-- Pat On 26/01/2009, at 9:54 PM, Morten wrote: > > > The datetime driven deltas use the MySQL NOW() function when selecting > records to add to the delta index. Since the NOW() function uses the > system TZ, this becomes a problem if the DB is not in UTC and > config.active_record.default_timezone == :utc > > Ideally, one should just put the DB in UTC, but that's not always an > option (e.g. in shared environments or existing production systems). > Some possible solutions that could be supported via TS are: > > 1. Make a ThinkingSphinx.default_timezone which is :local or :utc > (like AR does it) and thus toggles between NOW() and UTC_TIMESTAMP(). > This is trivial to implement, but hardly generic - that may not matter > though as these are the same options that exist for AR. > > 2. Make an "offset" attribute in the set_property :delta declaration > to manually adjust for the TZ discrepancy > > 3. Provide the means to manually specify the SQL used to get "current > time" > > 4. Ability to add a "pre query" which sets the time zone for the > connection, i.e. SET time_zone = '+00:00'; (this could be the product > of offset suggestion in item 2), > > Any suggestions on other approaches? Any preferences or other thoughts > in this area? > > Morten > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Thinking Sphinx" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/thinking-sphinx?hl=en -~----------~----~----~----~------~----~------~--~---
