// BeginExecuteBatch is part of the queryservice.QueryServer interface func (q *query) BeginExecuteBatch(ctx context.Context, request *querypb.BeginExecuteBatchRequest) (response *querypb.BeginExecuteBatchResponse, err error) { defer q.server.HandlePanic(&err) ctx = callerid.NewContext(callinfo.GRPCCallInfo(ctx), request.EffectiveCallerId, request.ImmediateCallerId, ) bql, err := querytypes.Proto3ToBoundQueryList(request.Queries) if err != nil { return nil, vterrors.ToGRPCError(err) } results, transactionID, err := q.server.BeginExecuteBatch(ctx, request.Target, bql, request.AsTransaction, request.Options) if err != nil { // if we have a valid transactionID, return the error in-band if transactionID != 0 { return &querypb.BeginExecuteBatchResponse{ Error: vterrors.VtRPCErrorFromVtError(err), TransactionId: transactionID, }, nil } return nil, vterrors.ToGRPCError(err) } return &querypb.BeginExecuteBatchResponse{ Results: sqltypes.ResultsToProto3(results), TransactionId: transactionID, }, nil }
// ExecuteBatchKeyspaceIds is the RPC version of // vtgateservice.VTGateService method func (vtg *VTGate) ExecuteBatchKeyspaceIds(ctx context.Context, request *vtgatepb.ExecuteBatchKeyspaceIdsRequest) (response *vtgatepb.ExecuteBatchKeyspaceIdsResponse, err error) { defer vtg.server.HandlePanic(&err) ctx = withCallerIDContext(ctx, request.CallerId) result, err := vtg.server.ExecuteBatchKeyspaceIds(ctx, request.Queries, request.TabletType, request.AsTransaction, request.Session) return &vtgatepb.ExecuteBatchKeyspaceIdsResponse{ Results: sqltypes.ResultsToProto3(result), Session: request.Session, Error: vterrors.VtRPCErrorFromVtError(err), }, nil }
// ExecuteBatchKeyspaceIds is the RPC version of // vtgateservice.VTGateService method func (vtg *VTGate) ExecuteBatchKeyspaceIds(ctx context.Context, request *vtgatepb.ExecuteBatchKeyspaceIdsRequest) (response *vtgatepb.ExecuteBatchKeyspaceIdsResponse, err error) { defer vtg.server.HandlePanic(&err) ctx = callerid.NewContext(callinfo.GRPCCallInfo(ctx), request.CallerId, callerid.NewImmediateCallerID("grpc client")) result, err := vtg.server.ExecuteBatchKeyspaceIds(ctx, request.Queries, request.TabletType, request.AsTransaction, request.Session) return &vtgatepb.ExecuteBatchKeyspaceIdsResponse{ Results: sqltypes.ResultsToProto3(result), Session: request.Session, Error: vterrors.VtRPCErrorFromVtError(err), }, nil }
// ExecuteBatch is part of the queryservice.QueryServer interface func (q *query) ExecuteBatch(ctx context.Context, request *querypb.ExecuteBatchRequest) (response *querypb.ExecuteBatchResponse, err error) { defer q.server.HandlePanic(&err) ctx = callerid.NewContext(callinfo.GRPCCallInfo(ctx), request.EffectiveCallerId, request.ImmediateCallerId, ) bql, err := querytypes.Proto3ToBoundQueryList(request.Queries) if err != nil { return nil, tabletserver.ToGRPCError(err) } results, err := q.server.ExecuteBatch(ctx, request.Target, bql, request.SessionId, request.AsTransaction, request.TransactionId) if err != nil { return nil, tabletserver.ToGRPCError(err) } return &querypb.ExecuteBatchResponse{ Results: sqltypes.ResultsToProto3(results), }, nil }
// ExecuteBatchKeyspaceIds is the RPC version of // vtgateservice.VTGateService method func (vtg *VTGate) ExecuteBatchKeyspaceIds(ctx context.Context, request *pb.ExecuteBatchKeyspaceIdsRequest) (response *pb.ExecuteBatchKeyspaceIdsResponse, err error) { defer vtg.server.HandlePanic(&err) ctx = callerid.NewContext(callinfo.GRPCCallInfo(ctx), request.CallerId, callerid.NewImmediateCallerID("grpc client")) reply := new(proto.QueryResultList) executeErr := vtg.server.ExecuteBatchKeyspaceIds(ctx, request.Queries, request.TabletType, request.AsTransaction, request.Session, reply) response = &pb.ExecuteBatchKeyspaceIdsResponse{ Error: vtgate.RPCErrorToVtRPCError(reply.Err), } if executeErr != nil { return nil, vterrors.ToGRPCError(executeErr) } response.Results = sqltypes.ResultsToProto3(reply.List) response.Session = reply.Session return response, nil }