useLegacyDatetimeCodeの9割はクズ
useTimezone=trueをセットすると、マイクロ秒単位の精度が失われミリ秒に丸められてしまうので、useLegacyDatetimeCode=false をセットするしかない。
frsyuki (11/15(火) 4:59)
つまり要約すると、timestamp型の値を正しくパースするには、useLegacyDatetimeCode=falseをセットするか、または useLegacyDatetimeCode=true と useTimezone=true の両方をセットしなければならないが
frsyuki (11/15(火) 4:58)
なぜならgetDefaultTimeZoneが、useLegacyDatetimeCode=false である場合は、serverTimeZoneを返すから。
frsyuki (11/15(火) 4:58)
ぁぁ違う。useLegacyDatetimeCode=false である場合は、getTimestampメソッドにおいて、型がtimestampであるとき、受け取った年月日時分秒を、time_zoneセッションパラメータでパースしている。
frsyuki (11/15(火) 4:57)
useLegacyDatetimeCode=trueの場合の挙動を見ると、やはりクライアントJVMのデフォルトタイムゾーンでパースしているように見えるな…
frsyuki (11/15(火) 4:47)
useLegacyDatetimeCode=false である場合のコードを見ると、getTimestampメソッドにおいて、型がtimestampであるとき、受け取った年月日時分秒を、クライアントJVMのデフォルトタイムゾーンでパースしているように見えるな…おかしいような…
frsyuki (11/15(火) 4:41)
訂正。Connector/Jは、接続確立時に、useTimezone=trueであるか、useLegacyDatetimeCode=falseである場合にのみ、time_zoneセッションパラメータをserverTimeZone変数に保存している。
frsyuki (11/15(火) 4:37)
datetime と timestamp と Connector/J の挙動が分からん…すごく分からん。useLegacyDatetimeCode=trueのときとfalseのときで、どういう挙動になるのかを理解するには…
frsyuki (11/15(火) 3:33)
MySQL Connector/J で、useLegacyDatetimeCode=true/false を付けると、どういう挙動になるんだったか、また忘れた…
frsyuki (11/15(火) 2:01)
はてなブログに投稿しました #はてなブログ MySQL Connector/J 5.1 系では useLegacyDatetimeCode=false にしよう - ひだまりソケットは壊れない vividcode.hatenablog.com/entry/mysql/co…
nobuoka (11/14(月) 8:00)
frsyuki (11/15(火) 4:59)
つまり要約すると、timestamp型の値を正しくパースするには、useLegacyDatetimeCode=falseをセットするか、または useLegacyDatetimeCode=true と useTimezone=true の両方をセットしなければならないが
frsyuki (11/15(火) 4:58)
なぜならgetDefaultTimeZoneが、useLegacyDatetimeCode=false である場合は、serverTimeZoneを返すから。
frsyuki (11/15(火) 4:58)
ぁぁ違う。useLegacyDatetimeCode=false である場合は、getTimestampメソッドにおいて、型がtimestampであるとき、受け取った年月日時分秒を、time_zoneセッションパラメータでパースしている。
frsyuki (11/15(火) 4:57)
useLegacyDatetimeCode=trueの場合の挙動を見ると、やはりクライアントJVMのデフォルトタイムゾーンでパースしているように見えるな…
frsyuki (11/15(火) 4:47)
useLegacyDatetimeCode=false である場合のコードを見ると、getTimestampメソッドにおいて、型がtimestampであるとき、受け取った年月日時分秒を、クライアントJVMのデフォルトタイムゾーンでパースしているように見えるな…おかしいような…
frsyuki (11/15(火) 4:41)
訂正。Connector/Jは、接続確立時に、useTimezone=trueであるか、useLegacyDatetimeCode=falseである場合にのみ、time_zoneセッションパラメータをserverTimeZone変数に保存している。
frsyuki (11/15(火) 4:37)
datetime と timestamp と Connector/J の挙動が分からん…すごく分からん。useLegacyDatetimeCode=trueのときとfalseのときで、どういう挙動になるのかを理解するには…
frsyuki (11/15(火) 3:33)
MySQL Connector/J で、useLegacyDatetimeCode=true/false を付けると、どういう挙動になるんだったか、また忘れた…
frsyuki (11/15(火) 2:01)
はてなブログに投稿しました #はてなブログ MySQL Connector/J 5.1 系では useLegacyDatetimeCode=false にしよう - ひだまりソケットは壊れない vividcode.hatenablog.com/entry/mysql/co…
nobuoka (11/14(月) 8:00)
2016-11-15 05:00
nice!(0)
コメント(0)
トラックバック(0)
コメント 0