(rdr flight.MessageReader)
| 598 | } |
| 599 | |
| 600 | func getParamsForStatement(rdr flight.MessageReader) (params [][]interface{}, err error) { |
| 601 | params = make([][]interface{}, 0) |
| 602 | for rdr.Next() { |
| 603 | rec := rdr.Record() |
| 604 | |
| 605 | nrows := int(rec.NumRows()) |
| 606 | ncols := int(rec.NumCols()) |
| 607 | |
| 608 | for i := 0; i < nrows; i++ { |
| 609 | invokeParams := make([]interface{}, ncols) |
| 610 | for c := 0; c < ncols; c++ { |
| 611 | col := rec.Column(c) |
| 612 | sc, err := scalar.GetScalar(col, i) |
| 613 | if err != nil { |
| 614 | return nil, err |
| 615 | } |
| 616 | if r, ok := sc.(scalar.Releasable); ok { |
| 617 | r.Release() |
| 618 | } |
| 619 | |
| 620 | invokeParams[c], err = scalarToIFace(sc) |
| 621 | if err != nil { |
| 622 | return nil, err |
| 623 | } |
| 624 | } |
| 625 | params = append(params, invokeParams) |
| 626 | } |
| 627 | } |
| 628 | |
| 629 | return params, rdr.Err() |
| 630 | } |
| 631 | |
| 632 | func (s *SQLiteFlightSQLServer) DoPutPreparedStatementQuery(_ context.Context, cmd flightsql.PreparedStatementQuery, rdr flight.MessageReader, _ flight.MetadataWriter) ([]byte, error) { |
| 633 | val, ok := s.prepared.Load(string(cmd.GetPreparedStatementHandle())) |
no test coverage detected