You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@phoenix.apache.org by "Josh Elser (JIRA)" <ji...@apache.org> on 2015/10/23 18:11:28 UTC

[jira] [Commented] (PHOENIX-2320) Not able to run upsert query over phoenix query server.

    [ https://issues.apache.org/jira/browse/PHOENIX-2320?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14971253#comment-14971253 ] 

Josh Elser commented on PHOENIX-2320:
-------------------------------------

It looks like you missed calling {{createStatement}} before you executed these calls. This method will give you back a {{statementId}} which you need to include in the subsequent {{prepareAndExecute}} requests.

It sounds like a bug in Calcite if this isn't causing an error to be returned to you.

Take a look at some new documentation:

http://calcite.incubator.apache.org/docs/avatica_json_reference.html#createstatementrequest
http://calcite.incubator.apache.org/docs/avatica_json_reference.html#prepareandexecuterequest

> Not able to run upsert query over phoenix query server.
> -------------------------------------------------------
>
>                 Key: PHOENIX-2320
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-2320
>             Project: Phoenix
>          Issue Type: Wish
>            Reporter: Appasaheb Sawant
>
> Not able to run upsert query over phoenix query server. Select query works but for upsert query records are not inserted into phoenix.
> This is CODE
> <?php
> $ch = curl_init();
> curl_setopt($ch, CURLOPT_URL,"http://localhost:8765/");
> curl_setopt($ch, CURLOPT_POST, true);
> curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
> $headers = array();
> // For Select.
> //$headers[] = 'request: {"request":"prepareAndExecute","connectionId":"aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa","sql":"select * from BLOG.POST"}';
> // For Upsert.
> $headers[] = 'request: {"request":"prepareAndExecute","connectionId":"aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa","sql":"UPSERT INTO BLOG.POST (POST_ID,TITLE,CONTENT) values (\'aa11111\',\'Test Title\',\'this is test post content\')"}';
> curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
> $server_output = curl_exec ($ch);
> curl_close ($ch);
> OUTPUT
>  {"response":"Service$ExecuteResponse","results":[{"response":"resultSet","connectionId":"aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa","statementId":1164383384,"ownStatement":false,"signature":null,"firstFrame":null,"updateCount":1}]}
> But record is not inserted ...



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)