summaryrefslogtreecommitdiff
path: root/src/database/NamedPreparedStatement.java
diff options
context:
space:
mode:
authorPeter Wu <peter@lekensteyn.nl>2014-05-10 19:16:19 +0200
committerPeter Wu <peter@lekensteyn.nl>2014-05-10 19:16:19 +0200
commit05ae05165aae38047b56000ce3bf1d2f1d785621 (patch)
tree10c6a0a2d80f08575a22db0d0a7e7643cc140ee5 /src/database/NamedPreparedStatement.java
parent2f48d685150462c2c426edca019f4644f466ee25 (diff)
downloadDatafiller-05ae05165aae38047b56000ce3bf1d2f1d785621.tar.gz
Fix timestamp type
Without this cast, setTimestamp would complain that a timestamp is expected, but a text type is given.
Diffstat (limited to 'src/database/NamedPreparedStatement.java')
-rw-r--r--src/database/NamedPreparedStatement.java4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/database/NamedPreparedStatement.java b/src/database/NamedPreparedStatement.java
index 398ef60..089e2c7 100644
--- a/src/database/NamedPreparedStatement.java
+++ b/src/database/NamedPreparedStatement.java
@@ -25,12 +25,12 @@ public class NamedPreparedStatement {
public NamedPreparedStatement(Connection conn, String query) throws SQLException {
fields = new ArrayList<>();
- Pattern pattern = Pattern.compile(":(\\w+)");
+ Pattern pattern = Pattern.compile("(?<!:):(\\w+)(::\\w+)?");
Matcher matcher = pattern.matcher(query);
while (matcher.find()) {
fields.add(matcher.group(1));
}
- String sql = query.replaceAll(pattern.pattern(), "?");
+ String sql = query.replaceAll(pattern.pattern(), "?$2");
stmt = conn.prepareStatement(sql);
}