[
https://issues.apache.org/jira/browse/METAMODEL-198?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14962439#comment-14962439
]
ASF GitHub Bot commented on METAMODEL-198:
------------------------------------------
Github user kaspersorensen commented on a diff in the pull request:
https://github.com/apache/metamodel/pull/58#discussion_r42322087
--- Diff:
jdbc/src/main/java/org/apache/metamodel/jdbc/dialects/DefaultQueryRewriter.java
---
@@ -139,13 +143,24 @@ public String rewriteFilterItem(FilterItem item) {
}
}
- FilterItem replacementFilterItem = new
FilterItem(item.getSelectItem(), item.getOperator(), elements);
+ FilterItem replacementFilterItem = new
FilterItem(selectItem, item.getOperator(), elements);
return super.rewriteFilterItem(replacementFilterItem);
}
}
return super.rewriteFilterItem(item);
}
-
+
+ protected String rewriteTimestamp(FilterItem item) {
+ final OperatorType operator = item.getOperator();
+ final SelectItem selectItem = item.getSelectItem();
+ final Object operand = item.getOperand();
+ StringBuilder sb = new StringBuilder();
+ sb.append(selectItem.getSameQueryAlias(false));
+ FilterItem.appendOperator(sb, operand, operator);
+ sb.append("TIMESTAMP \'" + operand.toString() + "\'");
--- End diff --
Did you try with the official JDBC escape syntax? I bet that has a lot
better general applicability than this format...
> Where clauses on timestamp loses the nanoseconds
> ------------------------------------------------
>
> Key: METAMODEL-198
> URL: https://issues.apache.org/jira/browse/METAMODEL-198
> Project: Apache MetaModel
> Issue Type: Bug
> Reporter: Ankit Kumar
>
> Queries having where clause on timestamp column in databases loses the
> nanoseconds.
> This is happening because the Timestamp values are converted to Date object
> using the new Date(long timeInMilliseconds).
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)