mirror of https://github.com/golang/go.git
database/sql: reordering fields to reduce struct sizes
There are 16 bytes reduced.
This commit is contained in:
parent
8623c0ba95
commit
8df56a9655
|
|
@ -551,9 +551,9 @@ type driverConn struct {
|
|||
|
||||
// guarded by db.mu
|
||||
inUse bool
|
||||
dbmuClosed bool // same as closed, but guarded by db.mu, for removeClosedStmtLocked
|
||||
returnedAt time.Time // Time the connection was created or returned.
|
||||
onPut []func() // code (with db.mu held) run when conn is next returned
|
||||
dbmuClosed bool // same as closed, but guarded by db.mu, for removeClosedStmtLocked
|
||||
}
|
||||
|
||||
func (dc *driverConn) releaseConn(err error) {
|
||||
|
|
@ -2923,19 +2923,8 @@ type Rows struct {
|
|||
//
|
||||
// closemu guards lasterr and closed.
|
||||
closemu sync.RWMutex
|
||||
closed bool
|
||||
lasterr error // non-nil only if closed is true
|
||||
|
||||
// lastcols is only used in Scan, Next, and NextResultSet which are expected
|
||||
// not to be called concurrently.
|
||||
lastcols []driver.Value
|
||||
|
||||
// raw is a buffer for RawBytes that persists between Scan calls.
|
||||
// This is used when the driver returns a mismatched type that requires
|
||||
// a cloning allocation. For example, if the driver returns a *string and
|
||||
// the user is scanning into a *RawBytes, we need to copy the string.
|
||||
// The raw buffer here lets us reuse the memory for that copy across Scan calls.
|
||||
raw []byte
|
||||
closed bool
|
||||
|
||||
// closemuScanHold is whether the previous call to Scan kept closemu RLock'ed
|
||||
// without unlocking it. It does that when the user passes a *RawBytes scan
|
||||
|
|
@ -2951,6 +2940,17 @@ type Rows struct {
|
|||
// returning. It's only used by Next and Err which are
|
||||
// expected not to be called concurrently.
|
||||
hitEOF bool
|
||||
|
||||
// lastcols is only used in Scan, Next, and NextResultSet which are expected
|
||||
// not to be called concurrently.
|
||||
lastcols []driver.Value
|
||||
|
||||
// raw is a buffer for RawBytes that persists between Scan calls.
|
||||
// This is used when the driver returns a mismatched type that requires
|
||||
// a cloning allocation. For example, if the driver returns a *string and
|
||||
// the user is scanning into a *RawBytes, we need to copy the string.
|
||||
// The raw buffer here lets us reuse the memory for that copy across Scan calls.
|
||||
raw []byte
|
||||
}
|
||||
|
||||
// lasterrOrErrLocked returns either lasterr or the provided err.
|
||||
|
|
|
|||
Loading…
Reference in New Issue