Switch to absolute latest pq driver (#12859)
This PR updates the lib/pq driver to the current master head to pick up the deadlock fix in lib/pq#993 Hopefully this will resolve our CI issues. Signed-off-by: Andrew Thornton <art27@cantab.net> Co-authored-by: techknowlogick <techknowlogick@gitea.io> Co-authored-by: Lauris BH <lauris@nix.lv>
This commit is contained in:
		
							parent
							
								
									7250f5342f
								
							
						
					
					
						commit
						54ae448588
					
				
							
								
								
									
										2
									
								
								go.mod
								
								
								
								
							
							
						
						
									
										2
									
								
								go.mod
								
								
								
								
							| 
						 | 
				
			
			@ -60,7 +60,7 @@ require (
 | 
			
		|||
	github.com/keybase/go-crypto v0.0.0-20200123153347-de78d2cb44f4
 | 
			
		||||
	github.com/klauspost/compress v1.10.11
 | 
			
		||||
	github.com/lafriks/xormstore v1.3.2
 | 
			
		||||
	github.com/lib/pq v1.7.0
 | 
			
		||||
	github.com/lib/pq v1.8.1-0.20200908161135-083382b7e6fc
 | 
			
		||||
	github.com/lunny/dingtalk_webhook v0.0.0-20171025031554-e3534c89ef96
 | 
			
		||||
	github.com/markbates/goth v1.61.2
 | 
			
		||||
	github.com/mattn/go-isatty v0.0.12
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										2
									
								
								go.sum
								
								
								
								
							
							
						
						
									
										2
									
								
								go.sum
								
								
								
								
							| 
						 | 
				
			
			@ -618,6 +618,8 @@ github.com/lib/pq v1.2.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo=
 | 
			
		|||
github.com/lib/pq v1.3.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo=
 | 
			
		||||
github.com/lib/pq v1.7.0 h1:h93mCPfUSkaul3Ka/VG8uZdmW1uMHDGxzu0NWHuJmHY=
 | 
			
		||||
github.com/lib/pq v1.7.0/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o=
 | 
			
		||||
github.com/lib/pq v1.8.1-0.20200908161135-083382b7e6fc h1:ERSU1OvZ6MdWhHieo2oT7xwR/HCksqKdgK6iYPU5pHI=
 | 
			
		||||
github.com/lib/pq v1.8.1-0.20200908161135-083382b7e6fc/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o=
 | 
			
		||||
github.com/lunny/dingtalk_webhook v0.0.0-20171025031554-e3534c89ef96 h1:uNwtsDp7ci48vBTTxDuwcoTXz4lwtDTe7TjCQ0noaWY=
 | 
			
		||||
github.com/lunny/dingtalk_webhook v0.0.0-20171025031554-e3534c89ef96/go.mod h1:mmIfjCSQlGYXmJ95jFN84AkQFnVABtKuJL8IrzwvUKQ=
 | 
			
		||||
github.com/lunny/log v0.0.0-20160921050905-7887c61bf0de h1:nyxwRdWHAVxpFcDThedEgQ07DbcRc5xgNObtbTp76fk=
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -3,6 +3,7 @@ language: go
 | 
			
		|||
go:
 | 
			
		||||
  - 1.13.x
 | 
			
		||||
  - 1.14.x
 | 
			
		||||
  - 1.15.x
 | 
			
		||||
  - master
 | 
			
		||||
 | 
			
		||||
sudo: true
 | 
			
		||||
| 
						 | 
				
			
			@ -13,6 +14,7 @@ env:
 | 
			
		|||
    - PQGOSSLTESTS=1
 | 
			
		||||
    - PQSSLCERTTEST_PATH=$PWD/certs
 | 
			
		||||
    - PGHOST=127.0.0.1
 | 
			
		||||
    - GODEBUG=x509ignoreCN=0
 | 
			
		||||
  matrix:
 | 
			
		||||
    - PGVERSION=10
 | 
			
		||||
    - PGVERSION=9.6
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -19,10 +19,7 @@
 | 
			
		|||
* Unix socket support
 | 
			
		||||
* Notifications: `LISTEN`/`NOTIFY`
 | 
			
		||||
* pgpass support
 | 
			
		||||
 | 
			
		||||
## Optional Features
 | 
			
		||||
 | 
			
		||||
* GSS (Kerberos) auth (to use, see GoDoc)
 | 
			
		||||
* GSS (Kerberos) auth
 | 
			
		||||
 | 
			
		||||
## Tests
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1074,9 +1074,9 @@ func isDriverSetting(key string) bool {
 | 
			
		|||
		return true
 | 
			
		||||
	case "binary_parameters":
 | 
			
		||||
		return true
 | 
			
		||||
	case "service":
 | 
			
		||||
	case "krbsrvname":
 | 
			
		||||
		return true
 | 
			
		||||
	case "spn":
 | 
			
		||||
	case "krbspn":
 | 
			
		||||
		return true
 | 
			
		||||
	default:
 | 
			
		||||
		return false
 | 
			
		||||
| 
						 | 
				
			
			@ -1168,13 +1168,13 @@ func (cn *conn) auth(r *readBuf, o values) {
 | 
			
		|||
 | 
			
		||||
		var token []byte
 | 
			
		||||
 | 
			
		||||
		if spn, ok := o["spn"]; ok {
 | 
			
		||||
		if spn, ok := o["krbspn"]; ok {
 | 
			
		||||
			// Use the supplied SPN if provided..
 | 
			
		||||
			token, err = cli.GetInitTokenFromSpn(spn)
 | 
			
		||||
		} else {
 | 
			
		||||
			// Allow the kerberos service name to be overridden
 | 
			
		||||
			service := "postgres"
 | 
			
		||||
			if val, ok := o["service"]; ok {
 | 
			
		||||
			if val, ok := o["krbsrvname"]; ok {
 | 
			
		||||
				service = val
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -27,7 +27,7 @@ func (c *Connector) Connect(ctx context.Context) (driver.Conn, error) {
 | 
			
		|||
	return c.open(ctx)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Driver returnst the underlying driver of this Connector.
 | 
			
		||||
// Driver returns the underlying driver of this Connector.
 | 
			
		||||
func (c *Connector) Driver() driver.Driver {
 | 
			
		||||
	return &Driver{}
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -49,6 +49,7 @@ type copyin struct {
 | 
			
		|||
	buffer  []byte
 | 
			
		||||
	rowData chan []byte
 | 
			
		||||
	done    chan bool
 | 
			
		||||
	driver.Result
 | 
			
		||||
 | 
			
		||||
	closed bool
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -151,6 +152,8 @@ func (ci *copyin) resploop() {
 | 
			
		|||
		switch t {
 | 
			
		||||
		case 'C':
 | 
			
		||||
			// complete
 | 
			
		||||
			res, _ := ci.cn.parseComplete(r.string())
 | 
			
		||||
			ci.setResult(res)
 | 
			
		||||
		case 'N':
 | 
			
		||||
			if n := ci.cn.noticeHandler; n != nil {
 | 
			
		||||
				n(parseError(&r))
 | 
			
		||||
| 
						 | 
				
			
			@ -201,6 +204,22 @@ func (ci *copyin) setError(err error) {
 | 
			
		|||
	ci.Unlock()
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (ci *copyin) setResult(result driver.Result) {
 | 
			
		||||
	ci.Lock()
 | 
			
		||||
	ci.Result = result
 | 
			
		||||
	ci.Unlock()
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (ci *copyin) getResult() driver.Result {
 | 
			
		||||
	ci.Lock()
 | 
			
		||||
	result := ci.Result
 | 
			
		||||
	ci.Unlock()
 | 
			
		||||
	if result == nil {
 | 
			
		||||
		return driver.RowsAffected(0)
 | 
			
		||||
	}
 | 
			
		||||
	return result
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (ci *copyin) NumInput() int {
 | 
			
		||||
	return -1
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -231,7 +250,11 @@ func (ci *copyin) Exec(v []driver.Value) (r driver.Result, err error) {
 | 
			
		|||
	}
 | 
			
		||||
 | 
			
		||||
	if len(v) == 0 {
 | 
			
		||||
		return driver.RowsAffected(0), ci.Close()
 | 
			
		||||
		if err := ci.Close(); err != nil {
 | 
			
		||||
			return driver.RowsAffected(0), err
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		return ci.getResult(), nil
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	numValues := len(v)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -57,8 +57,6 @@ supported:
 | 
			
		|||
	* sslkey - Key file location. The file must contain PEM encoded data.
 | 
			
		||||
	* sslrootcert - The location of the root certificate file. The file
 | 
			
		||||
	  must contain PEM encoded data.
 | 
			
		||||
	* spn - Configures GSS (Kerberos) SPN.
 | 
			
		||||
	* service - GSS (Kerberos) service name to use when constructing the SPN (default is `postgres`).
 | 
			
		||||
 | 
			
		||||
Valid values for sslmode are:
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -259,5 +257,12 @@ package:
 | 
			
		|||
This package is in a separate module so that users who don't need Kerberos
 | 
			
		||||
don't have to download unnecessary dependencies.
 | 
			
		||||
 | 
			
		||||
When imported, additional connection string parameters are supported:
 | 
			
		||||
 | 
			
		||||
	* krbsrvname - GSS (Kerberos) service name when constructing the
 | 
			
		||||
	  SPN (default is `postgres`). This will be combined with the host
 | 
			
		||||
	  to form the full SPN: `krbsrvname/host`.
 | 
			
		||||
	* krbspn - GSS (Kerberos) SPN. This takes priority over
 | 
			
		||||
	  `krbsrvname` if present.
 | 
			
		||||
*/
 | 
			
		||||
package pq
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -502,7 +502,7 @@ github.com/kr/text
 | 
			
		|||
## explicit
 | 
			
		||||
github.com/lafriks/xormstore
 | 
			
		||||
github.com/lafriks/xormstore/util
 | 
			
		||||
# github.com/lib/pq v1.7.0
 | 
			
		||||
# github.com/lib/pq v1.8.1-0.20200908161135-083382b7e6fc
 | 
			
		||||
## explicit
 | 
			
		||||
github.com/lib/pq
 | 
			
		||||
github.com/lib/pq/oid
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue