Skip to content

Commit db0a578

Browse files
committed
Support for ORA_SDTZ env variable in Thin mode
1 parent 242dc1c commit db0a578

File tree

1 file changed

+15
-11
lines changed

1 file changed

+15
-11
lines changed

lib/thin/protocol/messages/auth.js

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -143,19 +143,23 @@ class AuthMessage extends Message {
143143
}
144144

145145
getAlterTimezoneStatement() {
146-
let sign;
147-
const date = new Date();
148-
const timezoneMinutes = date.getTimezoneOffset();
149-
let tzHour = Math.trunc(timezoneMinutes / 60);
150-
const tzMinutes = Math.abs((timezoneMinutes - tzHour * 60) % 60);
151-
if (tzHour < 0) {
152-
sign = '+'; // getTimezoneOffset() = localtime - timeUTC
153-
tzHour = -tzHour;
146+
let sign, tzRepr;
147+
if (process.env.ORA_SDTZ) {
148+
tzRepr = process.env.ORA_SDTZ;
154149
} else {
155-
sign = '-';
150+
const date = new Date();
151+
const timezoneMinutes = date.getTimezoneOffset();
152+
let tzHour = Math.trunc(timezoneMinutes / 60);
153+
const tzMinutes = Math.abs((timezoneMinutes - tzHour * 60) % 60);
154+
if (tzHour < 0) {
155+
sign = '+'; // getTimezoneOffset() = localtime - timeUTC
156+
tzHour = -tzHour;
157+
} else {
158+
sign = '-';
159+
}
160+
tzHour = tzHour.toLocaleString('en-US', {minimumIntegerDigits: 2});
161+
tzRepr = `${sign}${tzHour}:${tzMinutes}`;
156162
}
157-
tzHour = tzHour.toLocaleString('en-US', {minimumIntegerDigits: 2});
158-
const tzRepr = `${sign}${tzHour}:${tzMinutes}`;
159163
return `ALTER SESSION SET TIME_ZONE ='${tzRepr}'\x00`;
160164
}
161165

0 commit comments

Comments
 (0)