@@ -65,14 +65,6 @@ public PreparedStatement(Connection connection, String sql) throws SQLException
6565this .sql =sql ;
6666this .connection =connection ;
6767
68- // might just as well create it here, so we don't take the hit later
69-
70- SimpleDateFormat df =new SimpleDateFormat ("''yyyy-MM-dd''" );
71- tl_df .set (df );
72-
73- df =new SimpleDateFormat ("yyyy-MM-dd HH:mm:ss" );
74- tl_tsdf .set (df );
75-
7668for (i =0 ;i <sql .length (); ++i )
7769{
7870int c =sql .charAt (i );
@@ -95,17 +87,6 @@ public PreparedStatement(Connection connection, String sql) throws SQLException
9587templateStrings [i ] = (String )v .elementAt (i );
9688}
9789
98- /**
99- * New in 7.1 - overides Statement.close() to dispose of a few local objects
100- */
101- public void close ()throws SQLException
102- {
103- // free the ThreadLocal caches
104- tl_df .set (null );
105- tl_tsdf .set (null );
106- super .close ();
107- }
108-
10990/**
11091 * A Prepared SQL query is executed and its ResultSet is returned
11192 *
@@ -343,6 +324,10 @@ public void setBytes(int parameterIndex, byte x[]) throws SQLException
343324public void setDate (int parameterIndex ,java .sql .Date x )throws SQLException
344325{
345326SimpleDateFormat df = (SimpleDateFormat )tl_df .get ();
327+ if (df ==null ) {
328+ df =new SimpleDateFormat ("''yyyy-MM-dd''" );
329+ tl_df .set (df );
330+ }
346331
347332set (parameterIndex ,df .format (x ));
348333
@@ -382,6 +367,10 @@ public void setTime(int parameterIndex, Time x) throws SQLException
382367public void setTimestamp (int parameterIndex ,Timestamp x )throws SQLException
383368 {
384369SimpleDateFormat df = (SimpleDateFormat )tl_tsdf .get ();
370+ if (df ==null ) {
371+ df =new SimpleDateFormat ("yyyy-MM-dd HH:mm:ss" );
372+ tl_tsdf .set (df );
373+ }
385374df .setTimeZone (TimeZone .getTimeZone ("GMT" ));
386375
387376// Use the shared StringBuffer