Merge pull request #49 from karlseguin/mem1
reduce unecessary memory allocation
This commit is contained in:
@@ -103,7 +103,7 @@ func Connect(config ConnConfig) (c *Conn, err error) {
|
|||||||
if c.config.Logger != nil {
|
if c.config.Logger != nil {
|
||||||
c.logger = c.config.Logger
|
c.logger = c.config.Logger
|
||||||
} else {
|
} else {
|
||||||
c.logger = &discardLogger{}
|
c.logger = dlogger
|
||||||
}
|
}
|
||||||
|
|
||||||
if c.config.User == "" {
|
if c.config.User == "" {
|
||||||
@@ -194,8 +194,10 @@ func Connect(config ConnConfig) (c *Conn, err error) {
|
|||||||
}
|
}
|
||||||
case readyForQuery:
|
case readyForQuery:
|
||||||
c.rxReadyForQuery(r)
|
c.rxReadyForQuery(r)
|
||||||
c.logger = &connLogger{logger: c.logger, pid: c.Pid}
|
if c.logger != dlogger {
|
||||||
c.logger.Info("Connection established")
|
c.logger = &connLogger{logger: c.logger, pid: c.Pid}
|
||||||
|
c.logger.Info("Connection established")
|
||||||
|
}
|
||||||
|
|
||||||
err = c.loadPgTypes()
|
err = c.loadPgTypes()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@@ -644,14 +646,16 @@ func (c *Conn) Exec(sql string, arguments ...interface{}) (commandTag CommandTag
|
|||||||
startTime := time.Now()
|
startTime := time.Now()
|
||||||
c.lastActivityTime = startTime
|
c.lastActivityTime = startTime
|
||||||
|
|
||||||
defer func() {
|
if c.logger != dlogger {
|
||||||
if err == nil {
|
defer func() {
|
||||||
endTime := time.Now()
|
if err == nil {
|
||||||
c.logger.Info("Exec", "sql", sql, "args", logQueryArgs(arguments), "time", endTime.Sub(startTime), "commandTag", commandTag)
|
endTime := time.Now()
|
||||||
} else {
|
c.logger.Info("Exec", "sql", sql, "args", logQueryArgs(arguments), "time", endTime.Sub(startTime), "commandTag", commandTag)
|
||||||
c.logger.Error("Exec", "sql", sql, "args", logQueryArgs(arguments), "error", err)
|
} else {
|
||||||
}
|
c.logger.Error("Exec", "sql", sql, "args", logQueryArgs(arguments), "error", err)
|
||||||
}()
|
}
|
||||||
|
}()
|
||||||
|
}
|
||||||
|
|
||||||
if err = c.sendQuery(sql, arguments...); err != nil {
|
if err = c.sendQuery(sql, arguments...); err != nil {
|
||||||
return
|
return
|
||||||
|
|||||||
@@ -19,6 +19,9 @@ type Logger interface {
|
|||||||
|
|
||||||
type discardLogger struct{}
|
type discardLogger struct{}
|
||||||
|
|
||||||
|
// default discardLogger instance
|
||||||
|
var dlogger = &discardLogger{}
|
||||||
|
|
||||||
func (l *discardLogger) Debug(msg string, ctx ...interface{}) {}
|
func (l *discardLogger) Debug(msg string, ctx ...interface{}) {}
|
||||||
func (l *discardLogger) Info(msg string, ctx ...interface{}) {}
|
func (l *discardLogger) Info(msg string, ctx ...interface{}) {}
|
||||||
func (l *discardLogger) Warn(msg string, ctx ...interface{}) {}
|
func (l *discardLogger) Warn(msg string, ctx ...interface{}) {}
|
||||||
|
|||||||
@@ -68,6 +68,10 @@ func (rows *Rows) close() {
|
|||||||
|
|
||||||
rows.closed = true
|
rows.closed = true
|
||||||
|
|
||||||
|
if rows.logger == dlogger {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
if rows.err == nil {
|
if rows.err == nil {
|
||||||
endTime := time.Now()
|
endTime := time.Now()
|
||||||
rows.logger.Info("Query", "sql", rows.sql, "args", logQueryArgs(rows.args), "time", endTime.Sub(rows.startTime), "rowCount", rows.rowCount)
|
rows.logger.Info("Query", "sql", rows.sql, "args", logQueryArgs(rows.args), "time", endTime.Sub(rows.startTime), "rowCount", rows.rowCount)
|
||||||
|
|||||||
Reference in New Issue
Block a user