[ 
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)

Reply via email to