1 | try {↵ | | 1 | try {↵
|
2 | ps = session.getBatcher().prepareStatement( timestampSelectString );↵ | | 2 | cs = session.getBatcher().prepareCallableStatement( ↵
|
3 | ResultSet rs = session.getBatcher().getResultSet( ps↵ | | 3 | callString );↵
|
4 | );↵ | | 4 | cs.registerOutParameter( 1, java.sql.Types.TIMESTAMP );↵
|
5 | rs.next();↵ | | 5 | cs.execute();↵
|
6 | Timestamp ts = rs.getTimestamp( 1 );↵ | | 6 | Timestamp ts = cs.getTimestamp( 1 );↵
|
7 | if ( log.isTraceEnabled() ) {↵ | | 7 | if ( log.isTraceEnabled() ) {↵
|
8 | log.trace(↵ | | 8 | log.trace(↵
|
9 | "current timestamp retreived from db : " + ts +↵ | | 9 | "current timestamp retreived from db : " + ts +↵
|
10 | " (nanos=" + ts.getNanos() +↵ | | 10 | " (nanos=" + ts.getNanos() +↵
|
11 | ", time=" + ts.getTime() + ")"↵ | | 11 | ", time=" + ts.getTime() + ")"↵
|
12 | );↵ | | 12 | );↵
|
13 | }↵ | | 13 | }↵
|
14 | return ts;↵ | | 14 | return ts;↵
|
15 | }↵ | | 15 | }↵
|
16 | catch( SQLException sqle ) {↵ | | 16 | catch( SQLException sqle ) {↵
|
17 | throw JDBCExceptionHelper.convert(↵ | | 17 | throw JDBCExceptionHelper.convert(↵
|
18 | session.getFactory().getSQLExceptionConverter(),↵ | | 18 | session.getFactory().getSQLExceptionConverter(),↵
|
19 | sqle,↵ | | 19 | sqle,↵
|
20 | "could not select current db timestamp",↵ | | 20 | "could not call current db timestamp function",↵
|
21 | timestampSelectString↵ | | 21 | callString↵
|
22 | );↵ | | 22 | );↵
|
23 | }↵ | | 23 | }↵
|
24 | finally {↵ | | 24 | finally {↵
|
25 | if ( ps != null ) {↵ | | 25 | if ( cs != null ) {↵
|
26 | try {↵ | | 26 | try {↵
|
27 | session.getBatcher().closeStatement( ps );↵ | | 27 | session.getBatcher().closeStatement( cs );↵
|
28 | }↵ | | 28 | }↵
|
29 | catch( SQLException sqle ) {↵ | | 29 | catch( SQLException sqle ) {↵
|
30 | log.warn( "unable to clean up prepared statement", sqle );↵ | | 30 | log.warn( "unable to clean up callable statement", sqle );↵
|
31 | }↵ | | 31 | }↵
|
32 | }↵ | | 32 | }↵
|
33 | } | | 33 | }
|