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
}