()
| 2769 | } |
| 2770 | |
| 2771 | func (p *Pipeline) getResultsSync() (*PipelineSync, error) { |
| 2772 | msg, err := p.receiveMessage() |
| 2773 | if err != nil { |
| 2774 | return nil, err |
| 2775 | } |
| 2776 | |
| 2777 | switch msg := msg.(type) { |
| 2778 | case *pgproto3.ReadyForQuery: |
| 2779 | p.state.HandleReadyForQuery() |
| 2780 | return &PipelineSync{}, nil |
| 2781 | case *pgproto3.ErrorResponse: |
| 2782 | // Error message that is received while expecting a Sync message still consumes the expected Sync. Put it back. |
| 2783 | p.state.requestEventQueue.PushFront(pipelineRequestEvent{RequestType: pipelineSyncRequest, WasSentToServer: true, BeforeFlushOrSync: true}) |
| 2784 | |
| 2785 | pgErr := ErrorResponseToPgError(msg) |
| 2786 | p.state.HandleError(pgErr) |
| 2787 | p.conn.resultReader.closed = true |
| 2788 | return nil, pgErr |
| 2789 | default: |
| 2790 | return nil, p.handleUnexpectedMessage("Sync", msg) |
| 2791 | } |
| 2792 | } |
| 2793 | |
| 2794 | func (p *Pipeline) receiveParseComplete(errStr string) error { |
| 2795 | msg, err := p.receiveMessage() |
no test coverage detected