On Thursday 05 June 2008, Bogdan-Andrei Iancu wrote: > It was not a hack. This change was introduced while adding the db_only > mode in usrloc. The problem was that db_only mode operates only against > DB (via queries) and it was very complicated to run queries to check > expires value and some certain flag value, mainly because: > > 1. this is a limitation of SQL, especially it is not portable across > all SQL implementations (see the recent discussion about oracle not > supporting the binary or operator); > 2. also, raw queries are required (binary ops are not supported by DB > API) - using them will make impossible the usage of all DB backends > (like db_text) as it is something backend specific. > > The idea was to replace the FL_PERMANENT flag with the 0 value for > expires - both mean the contact will never expire.
Hi Bogdan, expires is a time_t value. Zero is here defined as 1970-01-01 00:00:00 UTC. But this is not portable for different timezones (at least on mysql), as mysql don't support timezones in datetime columns. For example on my system i need to specify 1970-01-01 01:00:00 to get the usrloc logic working. But daylight changes, or using different timezones will break this again. So i think i'll use just the usrloc expires default 2020-05-28 21:32:15 in my database. Perhaps it makes sense to remove this usrloc permanent contact handling altogether, if its not working stable. Cheers, Henning _______________________________________________ Devel mailing list Devel@lists.openser.org http://lists.openser.org/cgi-bin/mailman/listinfo/devel