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
}