[
https://issues.apache.org/jira/browse/CALCITE-1081?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15166319#comment-15166319
]
Steve T commented on CALCITE-1081:
----------------------------------
Thanks, but I've decided it's much easier to make my own HTTP server that
uses the Phoenix drivers than to use Avatica. Using Avatica would take
multiple HTTP requests to do a simply SELECT or UPSERT. So, I no longer
have a stake in this issue.
> Need Detailed Documentation for HTTP Avatica Support
> ----------------------------------------------------
>
> Key: CALCITE-1081
> URL: https://issues.apache.org/jira/browse/CALCITE-1081
> Project: Calcite
> Issue Type: Improvement
> Components: avatica
> Reporter: Steve T
> Assignee: Josh Elser
>
> I was unable to find any documentation on how to use the Avatica features. I
> was not even able to find them on the Avatica site. Would be great if
> Phoenix had a least a few examples of how to us the feature such as the one I
> wrote below. It took me 2-3 days to figure it out with the help of
> [email protected] . Should have only taken about 15 minutes. Granted,
> the JSON format is outdated in recent versions, but you get the idea. I
> couldn't even figure out which requests were required and what sequence they
> had to be in.
> {code:title=example_upsert.sh|borderStyle=solid}
> #!/bin/bash
> curl -XPOST -H 'Content-Type application/json; charset=UTF-8' -d
> '{"connectionId": "00000000-0000-0000-0000-000000000000", "request":
> "openConnection"}' http://10.0.100.28:8765/
> curl -XPOST -d '{"connectionId": "00000000-0000-0000-0000-000000000000",
> "request": "connectionSync", "connProps": {"autoCommit": null, "connProps":
> "connPropsImpl", "transactionIsolation": null, "catalog": null, "readOnly":
> null, "dirty": null, "schema": null}}' http://10.0.100.28:8765/
> curl -XPOST -d '{"connectionId": "00000000-0000-0000-0000-000000000000",
> "request": "connectionSync", "connProps": {"autoCommit": true, "connProps":
> "connPropsImpl", "transactionIsolation": null, "catalog": null, "readOnly":
> null, "dirty": null, "schema": null}}' http://10.0.100.28:8765/
> curl -XPOST -d
> "{\"request\":\"createStatement\",\"connectionId\":\"00000000-0000-0000-0000-000000000000\"}"
> http://10.0.100.28:8765/
> echo
> echo Enter the statementId:
> read statement_id
> echo
> echo Enter the value:
> read value
> curl -XPOST -d
> "{\"request\":\"prepareAndExecute\",\"connectionId\":\"00000000-0000-0000-0000-000000000000\",\"sql\":\"upsert
> into CAT_MAP(CHA, CAT, MAP) values('TEST_RECORD_CHANNEL',
> 'Test::Record::Channel::Category', '$value')\",
> \"statementId\":$statement_id}" http://10.0.100.28:8765/
> curl -XPOST -d
> "{\"request\":\"prepareAndExecute\",\"connectionId\":\"00000000-0000-0000-0000-000000000000\",\"sql\":\"upsert
> into CAT_MAP(CHA, CAT, MAP) values('TEST_RECORD_CHANNEL2',
> 'Test::Record::Channel::Category', '$value')\",
> \"statementId\":$statement_id}" http://10.0.100.28:8765/
> curl -XPOST -d
> "{\"request\":\"closeStatement\",\"connectionId\":\"00000000-0000-0000-0000-000000000000\",
> \"statementId\":$statement_id}" http://10.0.100.28:8765/
> curl -XPOST -d '{"connectionId": "00000000-0000-0000-0000-000000000000",
> "request": "closeConnection"}' http://10.0.100.28:8765/
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)