[ 
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)

Reply via email to