kuenishi / presto-riak

presto connector of Riak database
Apache License 2.0
16 stars 1 forks source link

Support insert syntax of prestodb #13

Closed fire closed 9 years ago

fire commented 9 years ago

Although prestodb supports inserts, presto-riak doesn't.

presto:t> insert into users values (6, 'Matt', 'America');
Query 20150326_173634_00020_b8tmc failed: null
{
  "queryId" : "20150326_173634_00020_b8tmc",
  "session" : {
    "user" : "vagrant",
    "source" : "presto-cli",
    "catalog" : "riak",
    "schema" : "t",
    "timeZoneKey" : 0,
    "locale" : "en_US",
    "remoteUserAddress" : "127.0.0.1",
    "userAgent" : "StatementClient/0.98",
    "startTime" : 1427391394541,
    "systemProperties" : { },
    "catalogProperties" : { }
  },
  "state" : "FAILED",
  "scheduled" : false,
  "self" : "http://172.28.128.7:8080/v1/query/20150326_173634_00020_b8tmc",
  "fieldNames" : [ ],
  "query" : "insert into users values (6, \u0027Matt\u0027, \u0027America\u0027)",
  "queryStats" : {
    "createTime" : "2015-03-26T17:36:34.543Z",
    "lastHeartbeat" : "2015-03-26T17:37:36.804Z",
    "endTime" : "2015-03-26T17:36:34.578Z",
    "elapsedTime" : "35.00ms",
    "queuedTime" : "9.50ms",
    "totalTasks" : 0,
    "runningTasks" : 0,
    "completedTasks" : 0,
    "totalDrivers" : 0,
    "queuedDrivers" : 0,
    "runningDrivers" : 0,
    "completedDrivers" : 0,
    "totalMemoryReservation" : "0B",
    "totalScheduledTime" : "0.00ns",
    "totalCpuTime" : "0.00ns",
    "totalUserTime" : "0.00ns",
    "totalBlockedTime" : "0.00ns",
    "rawInputDataSize" : "0B",
    "rawInputPositions" : 0,
    "processedInputDataSize" : "0B",
    "processedInputPositions" : 0,
    "outputDataSize" : "0B",
    "outputPositions" : 0
  },
  "setSessionProperties" : { },
  "resetSessionProperties" : [ ],
  "updateType" : "INSERT",
  "failureInfo" : {
    "type" : "java.lang.UnsupportedOperationException",
    "suppressed" : [ ],
    "stack" : [ "com.facebook.presto.spi.ReadOnlyConnectorMetadata.beginInsert(ReadOnlyConnectorMetadata.java:67)", "com.facebook.presto.metadata.MetadataManager.beginInsert(MetadataManager.java:364)", "com.facebook.presto.sql.planner.optimizations.BeginTableWrite$Rewriter.createWriterTarget(BeginTableWrite.java:98)", "com.facebook.presto.sql.planner.optimizations.BeginTableWrite$Rewriter.visitTableWriter(BeginTableWrite.java:72)", "com.facebook.presto.sql.planner.optimizations.BeginTableWrite$Rewriter.visitTableWriter(BeginTableWrite.java:53)", "com.facebook.presto.sql.planner.plan.TableWriterNode.accept(TableWriterNode.java:116)", "com.facebook.presto.sql.planner.optimizations.BeginTableWrite$Rewriter.visitTableCommit(BeginTableWrite.java:82)", "com.facebook.presto.sql.planner.optimizations.BeginTableWrite$Rewriter.visitTableCommit(BeginTableWrite.java:53)", "com.facebook.presto.sql.planner.plan.TableCommitNode.accept(TableCommitNode.java:80)", "com.facebook.presto.sql.planner.plan.PlanRewriter$RewriteContext.rewrite(PlanRewriter.java:99)", "com.facebook.presto.sql.planner.plan.PlanRewriter$RewriteContext.lambda$defaultRewrite$13(PlanRewriter.java:73)", "com.facebook.presto.sql.planner.plan.PlanRewriter$RewriteContext$$Lambda$140/1583659522.apply(Unknown Source)", "java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)", "java.util.Iterator.forEachRemaining(Iterator.java:116)", "java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801)", "java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:512)", "java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:502)", "java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)", "java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)", "java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499)", "com.facebook.presto.sql.planner.plan.PlanRewriter$RewriteContext.defaultRewrite(PlanRewriter.java:74)", "com.facebook.presto.sql.planner.plan.PlanRewriter.visitPlan(PlanRewriter.java:38)", "com.facebook.presto.sql.planner.plan.PlanRewriter.visitPlan(PlanRewriter.java:22)", "com.facebook.presto.sql.planner.plan.PlanVisitor.visitOutput(PlanVisitor.java:50)", "com.facebook.presto.sql.planner.plan.OutputNode.accept(OutputNode.java:79)", "com.facebook.presto.sql.planner.plan.PlanRewriter.rewriteWith(PlanRewriter.java:27)", "com.facebook.presto.sql.planner.optimizations.BeginTableWrite.optimize(BeginTableWrite.java:50)", "com.facebook.presto.sql.planner.LogicalPlanner.plan(LogicalPlanner.java:89)", "com.facebook.presto.execution.SqlQueryExecution.doAnalyzeQuery(SqlQueryExecution.java:205)", "com.facebook.presto.execution.SqlQueryExecution.analyzeQuery(SqlQueryExecution.java:184)", "com.facebook.presto.execution.SqlQueryExecution.start(SqlQueryExecution.java:145)", "com.facebook.presto.execution.QueuedExecution.lambda$start$50(QueuedExecution.java:68)", "com.facebook.presto.execution.QueuedExecution$$Lambda$120/1539671747.run(Unknown Source)", "java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)", "java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)", "java.lang.Thread.run(Thread.java:745)" ]
  },
  "errorCode" : {
    "code" : 65536,
    "name" : "INTERNAL_ERROR"
  },
  "inputs" : [ ],
  "errorType" : "INTERNAL_ERROR"
}
kuenishi commented 9 years ago

We're working on that but the priority is very low. https://github.com/kuenishi/presto-riak/commits/pagerecordsink is the working branch.