[
https://issues.apache.org/jira/browse/CALCITE-699?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14511953#comment-14511953
]
Julian Hyde commented on CALCITE-699:
-------------------------------------
Yes, you're right. JDBC behavior is clearly undefined if a client mutates any
object while it is being used by a JDBC method. The same would apply to a
byte[] object passed to PreparedStatement.setBytes(int, byte[]).
I'll remove the {{synchronized}} blocks. We don't need to explicitly document
it, because it is implicit in the JDBC API.
> In Avatica, synchronize access to Calendar
> ------------------------------------------
>
> Key: CALCITE-699
> URL: https://issues.apache.org/jira/browse/CALCITE-699
> Project: Calcite
> Issue Type: Bug
> Reporter: Julian Hyde
> Assignee: Julian Hyde
>
> The Calendar class is not thread-safe. Some JDBC methods accept Calendar
> objects from the client. We must synchronize on this Calendar in case the
> client is using the Calendar elsewhere.
> Avatica also creates Calendar objects internally. Access to those calendars
> does not need to be synchronized, but they are often passed into methods that
> accept client Calendars, and will get synchronized anyway.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)