| 1787 | } |
| 1788 | |
| 1789 | func parsePortalRowDescribe(r *readBuf) rowsHeader { |
| 1790 | n := r.int16() |
| 1791 | colNames := make([]string, n) |
| 1792 | colFmts := make([]format, n) |
| 1793 | colTyps := make([]fieldDesc, n) |
| 1794 | for i := range colNames { |
| 1795 | colNames[i] = r.string() |
| 1796 | r.next(6) |
| 1797 | colTyps[i].OID = r.oid() |
| 1798 | colTyps[i].Len = r.int16() |
| 1799 | colTyps[i].Mod = r.int32() |
| 1800 | colFmts[i] = format(r.int16()) |
| 1801 | } |
| 1802 | return rowsHeader{ |
| 1803 | colNames: colNames, |
| 1804 | colFmts: colFmts, |
| 1805 | colTyps: colTyps, |
| 1806 | } |
| 1807 | } |
| 1808 | |
| 1809 | func (cn *conn) ResetSession(ctx context.Context) error { |
| 1810 | // Ensure bad connections are reported: From database/sql/driver: |