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{
		ConnectionId: c.connectionId,
		Sql:          query,
		MaxRowsTotal: c.config.maxRowsTotal,
	})

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

	prepareResponse := response.(*message.PrepareResponse)

	return &stmt{
		statementID:  prepareResponse.Statement.Id,
		conn:         c,
		parameters:   prepareResponse.Statement.Signature.Parameters,
		handle:       prepareResponse.Statement,
		batchUpdates: make([]*message.UpdateBatch, 0),
	}, nil
}