From f838339871e9c7ceabedb54d7d7ec9d1ddac57a6 Mon Sep 17 00:00:00 2001 From: Mike Rylander Date: Tue, 23 Feb 2016 12:35:07 -0500 Subject: [PATCH] LP#1485374: Add release notes Signed-off-by: Mike Rylander Signed-off-by: Jason Stephenson Signed-off-by: Kathy Lussier --- .../Infrastructure/TZ_awareness.adoc | 34 ++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 docs/RELEASE_NOTES_NEXT/Infrastructure/TZ_awareness.adoc diff --git a/docs/RELEASE_NOTES_NEXT/Infrastructure/TZ_awareness.adoc b/docs/RELEASE_NOTES_NEXT/Infrastructure/TZ_awareness.adoc new file mode 100644 index 0000000000..cee11c77cb --- /dev/null +++ b/docs/RELEASE_NOTES_NEXT/Infrastructure/TZ_awareness.adoc @@ -0,0 +1,34 @@ +Client Timezone Awareness +^^^^^^^^^^^^^^^^^^^^^^^^^ + +Previously, adjusting the time zone in which a database session operates +could not be done in any way except globally, directly within the database. +However, allowing modification of the timezone parameter now supports +localization efforts for those consortia that span multiple time zones. + +Implementation +++++++++++++++ + +CStore and other services that interact with the primary Evergreen database +make use of the functionality provided by LP#1485371 in OpenSRF in order to +set the time zone configuration parameter available in Postgres.  This has +the effect of interpreting all timestamps written to or read from the database +in the client's time zone. + +Within CStore (and related, C-based services), all stateful sessions make use +of this capability, setting the database time zone upon a successful CONNECT +message from the client.  The time zone is reset to the database default when +a session is terminated either due to client DISCONNECT or server keepalive +timeout. + +All stateless requests record the current database time zone, set the database +time zone to that of the client's, run the query, and then reset the database +time zone on each request that carries a client time zone value.  It is expect +that this will not cause any noticeable increase in latency or query execution +time, as this setting is local to the specific Postgres server backend process. + +Within the Storage service, the timezone will be set automatically by a simple +wrapper method used by the existing method registration mechanism for method +publishing.  Disconnect and error callbacks are registered to revert the time +zone setting within the database.  This provides completely transparent time +zone manipulation for backend services that make use of open-ils.storage. -- 2.11.0