[
https://issues.apache.org/jira/browse/PHOENIX-1500?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14233676#comment-14233676
]
James Taylor commented on PHOENIX-1500:
---------------------------------------
Thanks for the patch, [~samarthjain]. It looks very good, except for changing
the Operation.toString() values:
{code}
diff --git
a/phoenix-core/src/main/java/org/apache/phoenix/jdbc/PhoenixStatement.java
b/phoenix-core/src/main/java/org/apache/phoenix/jdbc/PhoenixStatement.java
index 1eae037..2a63c2f 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/jdbc/PhoenixStatement.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/jdbc/PhoenixStatement.java
@@ -153,9 +153,9 @@ public class PhoenixStatement implements Statement,
SQLCloseable, org.apache.pho
private static final Logger logger =
LoggerFactory.getLogger(PhoenixStatement.class);
public enum Operation {
- QUERY("queried", false),
- DELETE("deleted", true),
- UPSERT("upserted", true);
+ QUERY("Query", false),
+ DELETE("Delete", true),
+ UPSERT("Upsert", true);
private final String toString;
private final boolean isMutation;
{code}
which we rely on here:
{code}
out.println((updateCount == 0 ? "no" : updateCount)
+ (updateCount == 1 ? " row " : " rows ") +
stmt.getUpdateOperation().toString());
{code}
Maybe you can just do a stmt.getUpdateOperation().name() to print it in your
case?
> Delete using PhoenixPreparedStatement.executeQuery() fails
> ----------------------------------------------------------
>
> Key: PHOENIX-1500
> URL: https://issues.apache.org/jira/browse/PHOENIX-1500
> Project: Phoenix
> Issue Type: Bug
> Reporter: Samarth Jain
> Assignee: Samarth Jain
> Attachments: PHOENIX-1500.patch
>
>
> {code}
> @Test
> public void deleteUsingPreparedStatement() throws Exception {
> Connection conn = DriverManager.getConnection(getUrl());
> initTableValues(conn);
> assertTableCount(conn, "IntIntKeyTest", NUMBER_OF_ROWS);
> String deleteStmt = "DELETE FROM IntIntKeyTest WHERE j = ?";
> PreparedStatement stmt = conn.prepareStatement(deleteStmt);
> stmt.setInt(1, 20);
> stmt.executeQuery();
> conn.commit();
> assertTableCount(conn, "IntIntKeyTest", NUMBER_OF_ROWS - 1);
> }
> java.lang.ClassCastException: org.apache.phoenix.compile.DeleteCompiler$3
> cannot be cast to org.apache.phoenix.compile.QueryPlan
> at
> org.apache.phoenix.jdbc.PhoenixStatement$2.call(PhoenixStatement.java:221)
> at
> org.apache.phoenix.jdbc.PhoenixStatement$2.call(PhoenixStatement.java:1)
> at org.apache.phoenix.call.CallRunner.run(CallRunner.java:53)
> at
> org.apache.phoenix.jdbc.PhoenixStatement.executeQuery(PhoenixStatement.java:216)
> at
> org.apache.phoenix.jdbc.PhoenixPreparedStatement.executeQuery(PhoenixPreparedStatement.java:183)
> at
> org.apache.phoenix.end2end.DeleteIT.deleteUsingPreparedStatement(DeleteIT.java:484)
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)