func()

in connection.go [42:66]


func (c *conn) prepare(ctx context.Context, query string) (driver.Stmt, error) {
	if c.connectionId == "" {
		return nil, driver.ErrBadConn
	}

	response, err := c.httpClient.post(ctx, message.PrepareRequest_builder{
		ConnectionId: c.connectionId,
		Sql:          query,
		MaxRowsTotal: c.config.maxRowsTotal,
	}.Build())

	if err != nil {
		return nil, c.avaticaErrorToResponseErrorOrError(err)
	}

	prepareResponse := response.(*message.PrepareResponse)

	return &stmt{
		statementID:  prepareResponse.GetStatement().GetId(),
		conn:         c,
		parameters:   prepareResponse.GetStatement().GetSignature().GetParameters(),
		handle:       prepareResponse.GetStatement(),
		batchUpdates: make([]*message.UpdateBatch, 0),
	}, nil
}