package net.jaekl.cfb.db;
+import java.sql.PreparedStatement;
+import java.sql.SQLException;
+import java.util.Date;
+
import net.jaekl.cfb.util.Util;
// Copyright (C) 2015 Christian Jaekl
return new Column(name, type, width.intValue(), canBeNull);
}
+ // Wrapper around PreparedStatement.setObject().
+ // Note that indices start at 1, not at zero.
+ public void setObject(PreparedStatement ps, int idx, Object obj) throws SQLException
+ {
+ if (this.getType().equals(Type.TIMESTAMPTZ)) {
+ // Special case: because there's no good way to read a TIMESTAMPTZ from
+ // the database using JDBC, we store it as an integer (milliseconds since
+ // the epoch, 01.01.1970 00:00:00.000 UTC).
+ Date date = (Date)obj;
+ ps.setLong(idx, date.getTime());
+ }
+ else {
+ ps.setObject(idx, obj);
+ }
+ }
+
@Override
public boolean equals(Object obj)
{