vendor: revendor using glide-vc
This commit is contained in:
		
							
								
								
									
										3
									
								
								vendor/github.com/lib/pq/certs/README
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								vendor/github.com/lib/pq/certs/README
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,3 +0,0 @@ | ||||
| This directory contains certificates and private keys for testing some | ||||
| SSL-related functionality in Travis.  Do NOT use these certificates for | ||||
| anything other than testing. | ||||
							
								
								
									
										19
									
								
								vendor/github.com/lib/pq/certs/bogus_root.crt
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										19
									
								
								vendor/github.com/lib/pq/certs/bogus_root.crt
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,19 +0,0 @@ | ||||
| -----BEGIN CERTIFICATE----- | ||||
| MIIDBjCCAe6gAwIBAgIQSnDYp/Naet9HOZljF5PuwDANBgkqhkiG9w0BAQsFADAr | ||||
| MRIwEAYDVQQKEwlDb2Nrcm9hY2gxFTATBgNVBAMTDENvY2tyb2FjaCBDQTAeFw0x | ||||
| NjAyMDcxNjQ0MzdaFw0xNzAyMDYxNjQ0MzdaMCsxEjAQBgNVBAoTCUNvY2tyb2Fj | ||||
| aDEVMBMGA1UEAxMMQ29ja3JvYWNoIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A | ||||
| MIIBCgKCAQEAxdln3/UdgP7ayA/G1kT7upjLe4ERwQjYQ25q0e1+vgsB5jhiirxJ | ||||
| e0+WkhhYu/mwoSAXzvlsbZ2PWFyfdanZeD/Lh6SvIeWXVVaPcWVWL1TEcoN2jr5+ | ||||
| E85MMHmbbmaT2he8s6br2tM/UZxyTQ2XRprIzApbDssyw1c0Yufcpu3C6267FLEl | ||||
| IfcWrzDhnluFhthhtGXv3ToD8IuMScMC5qlKBXtKmD1B5x14ngO/ecNJ+OlEi0HU | ||||
| mavK4KWgI2rDXRZ2EnCpyTZdkc3kkRnzKcg653oOjMDRZdrhfIrha+Jq38ACsUmZ | ||||
| Su7Sp5jkIHOCO8Zg+l6GKVSq37dKMapD8wIDAQABoyYwJDAOBgNVHQ8BAf8EBAMC | ||||
| AuQwEgYDVR0TAQH/BAgwBgEB/wIBATANBgkqhkiG9w0BAQsFAAOCAQEAwZ2Tu0Yu | ||||
| rrSVdMdoPEjT1IZd+5OhM/SLzL0ddtvTithRweLHsw2lDQYlXFqr24i3UGZJQ1sp | ||||
| cqSrNwswgLUQT3vWyTjmM51HEb2vMYWKmjZ+sBQYAUP1CadrN/+OTfNGnlF1+B4w | ||||
| IXOzh7EvQmJJnNybLe4a/aRvj1NE2n8Z898B76SVU9WbfKKz8VwLzuIPDqkKcZda | ||||
| lMy5yzthyztV9YjcWs2zVOUGZvGdAhDrvZuUq6mSmxrBEvR2LBOggmVf3tGRT+Ls | ||||
| lW7c9Lrva5zLHuqmoPP07A+vuI9a0D1X44jwGDuPWJ5RnTOQ63Uez12mKNjqleHw | ||||
| DnkwNanuO8dhAA== | ||||
| -----END CERTIFICATE----- | ||||
							
								
								
									
										69
									
								
								vendor/github.com/lib/pq/certs/postgresql.crt
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										69
									
								
								vendor/github.com/lib/pq/certs/postgresql.crt
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,69 +0,0 @@ | ||||
| Certificate: | ||||
|     Data: | ||||
|         Version: 3 (0x2) | ||||
|         Serial Number: 2 (0x2) | ||||
|         Signature Algorithm: sha256WithRSAEncryption | ||||
|         Issuer: C=US, ST=Nevada, L=Las Vegas, O=github.com/lib/pq, CN=pq CA | ||||
|         Validity | ||||
|             Not Before: Oct 11 15:10:11 2014 GMT | ||||
|             Not After : Oct  8 15:10:11 2024 GMT | ||||
|         Subject: C=US, ST=Nevada, L=Las Vegas, O=github.com/lib/pq, CN=pqgosslcert | ||||
|         Subject Public Key Info: | ||||
|             Public Key Algorithm: rsaEncryption | ||||
|             RSA Public Key: (1024 bit) | ||||
|                 Modulus (1024 bit): | ||||
|                     00:e3:8c:06:9a:70:54:51:d1:34:34:83:39:cd:a2: | ||||
|                     59:0f:05:ed:8d:d8:0e:34:d0:92:f4:09:4d:ee:8c: | ||||
|                     78:55:49:24:f8:3c:e0:34:58:02:b2:e7:94:58:c1: | ||||
|                     e8:e5:bb:d1:af:f6:54:c1:40:b1:90:70:79:0d:35: | ||||
|                     54:9c:8f:16:e9:c2:f0:92:e6:64:49:38:c1:76:f8: | ||||
|                     47:66:c4:5b:4a:b6:a9:43:ce:c8:be:6c:4d:2b:94: | ||||
|                     97:3c:55:bc:d1:d0:6e:b7:53:ae:89:5c:4b:6b:86: | ||||
|                     40:be:c1:ae:1e:64:ce:9c:ae:87:0a:69:e5:c8:21: | ||||
|                     12:be:ae:1d:f6:45:df:16:a7 | ||||
|                 Exponent: 65537 (0x10001) | ||||
|         X509v3 extensions: | ||||
|             X509v3 Subject Key Identifier:  | ||||
|                 9B:25:31:63:A2:D8:06:FF:CB:E3:E9:96:FF:0D:BA:DC:12:7D:04:CF | ||||
|             X509v3 Authority Key Identifier:  | ||||
|                 keyid:52:93:ED:1E:76:0A:9F:65:4F:DE:19:66:C1:D5:22:40:35:CB:A0:72 | ||||
|  | ||||
|             X509v3 Basic Constraints:  | ||||
|                 CA:FALSE | ||||
|             X509v3 Key Usage:  | ||||
|                 Digital Signature, Non Repudiation, Key Encipherment | ||||
|     Signature Algorithm: sha256WithRSAEncryption | ||||
|         3e:f5:f8:0b:4e:11:bd:00:86:1f:ce:dc:97:02:98:91:11:f5: | ||||
|         65:f6:f2:8a:b2:3e:47:92:05:69:28:c9:e9:b4:f7:cf:93:d1: | ||||
|         2d:81:5d:00:3c:23:be:da:70:ea:59:e1:2c:d3:25:49:ae:a6: | ||||
|         95:54:c1:10:df:23:e3:fe:d6:e4:76:c7:6b:73:ad:1b:34:7c: | ||||
|         e2:56:cc:c0:37:ae:c5:7a:11:20:6c:3d:05:0e:99:cd:22:6c: | ||||
|         cf:59:a1:da:28:d4:65:ba:7d:2f:2b:3d:69:6d:a6:c1:ae:57: | ||||
|         bf:56:64:13:79:f8:48:46:65:eb:81:67:28:0b:7b:de:47:10: | ||||
|         b3:80:3c:31:d1:58:94:01:51:4a:c7:c8:1a:01:a8:af:c4:cd: | ||||
|         bb:84:a5:d9:8b:b4:b9:a1:64:3e:95:d9:90:1d:d5:3f:67:cc: | ||||
|         3b:ba:f5:b4:d1:33:77:ee:c2:d2:3e:7e:c5:66:6e:b7:35:4c: | ||||
|         60:57:b0:b8:be:36:c8:f3:d3:95:8c:28:4a:c9:f7:27:a4:0d: | ||||
|         e5:96:99:eb:f5:c8:bd:f3:84:6d:ef:02:f9:8a:36:7d:6b:5f: | ||||
|         36:68:37:41:d9:74:ae:c6:78:2e:44:86:a1:ad:43:ca:fb:b5: | ||||
|         3e:ba:10:23:09:02:ac:62:d1:d0:83:c8:95:b9:e3:5e:30:ff: | ||||
|         5b:2b:38:fa | ||||
| -----BEGIN CERTIFICATE----- | ||||
| MIIDEzCCAfugAwIBAgIBAjANBgkqhkiG9w0BAQsFADBeMQswCQYDVQQGEwJVUzEP | ||||
| MA0GA1UECBMGTmV2YWRhMRIwEAYDVQQHEwlMYXMgVmVnYXMxGjAYBgNVBAoTEWdp | ||||
| dGh1Yi5jb20vbGliL3BxMQ4wDAYDVQQDEwVwcSBDQTAeFw0xNDEwMTExNTEwMTFa | ||||
| Fw0yNDEwMDgxNTEwMTFaMGQxCzAJBgNVBAYTAlVTMQ8wDQYDVQQIEwZOZXZhZGEx | ||||
| EjAQBgNVBAcTCUxhcyBWZWdhczEaMBgGA1UEChMRZ2l0aHViLmNvbS9saWIvcHEx | ||||
| FDASBgNVBAMTC3BxZ29zc2xjZXJ0MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKB | ||||
| gQDjjAaacFRR0TQ0gznNolkPBe2N2A400JL0CU3ujHhVSST4POA0WAKy55RYwejl | ||||
| u9Gv9lTBQLGQcHkNNVScjxbpwvCS5mRJOMF2+EdmxFtKtqlDzsi+bE0rlJc8VbzR | ||||
| 0G63U66JXEtrhkC+wa4eZM6crocKaeXIIRK+rh32Rd8WpwIDAQABo1owWDAdBgNV | ||||
| HQ4EFgQUmyUxY6LYBv/L4+mW/w263BJ9BM8wHwYDVR0jBBgwFoAUUpPtHnYKn2VP | ||||
| 3hlmwdUiQDXLoHIwCQYDVR0TBAIwADALBgNVHQ8EBAMCBeAwDQYJKoZIhvcNAQEL | ||||
| BQADggEBAD71+AtOEb0Ahh/O3JcCmJER9WX28oqyPkeSBWkoyem098+T0S2BXQA8 | ||||
| I77acOpZ4SzTJUmuppVUwRDfI+P+1uR2x2tzrRs0fOJWzMA3rsV6ESBsPQUOmc0i | ||||
| bM9Zodoo1GW6fS8rPWltpsGuV79WZBN5+EhGZeuBZygLe95HELOAPDHRWJQBUUrH | ||||
| yBoBqK/EzbuEpdmLtLmhZD6V2ZAd1T9nzDu69bTRM3fuwtI+fsVmbrc1TGBXsLi+ | ||||
| Nsjz05WMKErJ9yekDeWWmev1yL3zhG3vAvmKNn1rXzZoN0HZdK7GeC5EhqGtQ8r7 | ||||
| tT66ECMJAqxi0dCDyJW5414w/1srOPo= | ||||
| -----END CERTIFICATE----- | ||||
							
								
								
									
										15
									
								
								vendor/github.com/lib/pq/certs/postgresql.key
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										15
									
								
								vendor/github.com/lib/pq/certs/postgresql.key
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,15 +0,0 @@ | ||||
| -----BEGIN RSA PRIVATE KEY----- | ||||
| MIICWwIBAAKBgQDjjAaacFRR0TQ0gznNolkPBe2N2A400JL0CU3ujHhVSST4POA0 | ||||
| WAKy55RYwejlu9Gv9lTBQLGQcHkNNVScjxbpwvCS5mRJOMF2+EdmxFtKtqlDzsi+ | ||||
| bE0rlJc8VbzR0G63U66JXEtrhkC+wa4eZM6crocKaeXIIRK+rh32Rd8WpwIDAQAB | ||||
| AoGAM5dM6/kp9P700i8qjOgRPym96Zoh5nGfz/rIE5z/r36NBkdvIg8OVZfR96nH | ||||
| b0b9TOMR5lsPp0sI9yivTWvX6qyvLJRWy2vvx17hXK9NxXUNTAm0PYZUTvCtcPeX | ||||
| RnJpzQKNZQPkFzF0uXBc4CtPK2Vz0+FGvAelrhYAxnw1dIkCQQD+9qaW5QhXjsjb | ||||
| Nl85CmXgxPmGROcgLQCO+omfrjf9UXrituU9Dz6auym5lDGEdMFnkzfr+wpasEy9 | ||||
| mf5ZZOhDAkEA5HjXfVGaCtpydOt6hDon/uZsyssCK2lQ7NSuE3vP+sUsYMzIpEoy | ||||
| t3VWXqKbo+g9KNDTP4WEliqp1aiSIylzzQJANPeqzihQnlgEdD4MdD4rwhFJwVIp | ||||
| Le8Lcais1KaN7StzOwxB/XhgSibd2TbnPpw+3bSg5n5lvUdo+e62/31OHwJAU1jS | ||||
| I+F09KikQIr28u3UUWT2IzTT4cpVv1AHAQyV3sG3YsjSGT0IK20eyP9BEBZU2WL0 | ||||
| 7aNjrvR5aHxKc5FXsQJABsFtyGpgI5X4xufkJZVZ+Mklz2n7iXa+XPatMAHFxAtb | ||||
| EEMt60rngwMjXAzBSC6OYuYogRRAY3UCacNC5VhLYQ== | ||||
| -----END RSA PRIVATE KEY----- | ||||
							
								
								
									
										24
									
								
								vendor/github.com/lib/pq/certs/root.crt
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										24
									
								
								vendor/github.com/lib/pq/certs/root.crt
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,24 +0,0 @@ | ||||
| -----BEGIN CERTIFICATE----- | ||||
| MIIEAzCCAuugAwIBAgIJANmheROCdW1NMA0GCSqGSIb3DQEBBQUAMF4xCzAJBgNV | ||||
| BAYTAlVTMQ8wDQYDVQQIEwZOZXZhZGExEjAQBgNVBAcTCUxhcyBWZWdhczEaMBgG | ||||
| A1UEChMRZ2l0aHViLmNvbS9saWIvcHExDjAMBgNVBAMTBXBxIENBMB4XDTE0MTAx | ||||
| MTE1MDQyOVoXDTI0MTAwODE1MDQyOVowXjELMAkGA1UEBhMCVVMxDzANBgNVBAgT | ||||
| Bk5ldmFkYTESMBAGA1UEBxMJTGFzIFZlZ2FzMRowGAYDVQQKExFnaXRodWIuY29t | ||||
| L2xpYi9wcTEOMAwGA1UEAxMFcHEgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw | ||||
| ggEKAoIBAQCV4PxP7ShzWBzUCThcKk3qZtOLtHmszQVtbqhvgTpm1kTRtKBdVMu0 | ||||
| pLAHQ3JgJCnAYgH0iZxVGoMP16T3irdgsdC48+nNTFM2T0cCdkfDURGIhSFN47cb | ||||
| Pgy306BcDUD2q7ucW33+dlFSRuGVewocoh4BWM/vMtMvvWzdi4Ag/L/jhb+5wZxZ | ||||
| sWymsadOVSDePEMKOvlCa3EdVwVFV40TVyDb+iWBUivDAYsS2a3KajuJrO6MbZiE | ||||
| Sp2RCIkZS2zFmzWxVRi9ZhzIZhh7EVF9JAaNC3T52jhGUdlRq3YpBTMnd89iOh74 | ||||
| 6jWXG7wSuPj3haFzyNhmJ0ZUh+2Ynoh1AgMBAAGjgcMwgcAwHQYDVR0OBBYEFFKT | ||||
| 7R52Cp9lT94ZZsHVIkA1y6ByMIGQBgNVHSMEgYgwgYWAFFKT7R52Cp9lT94ZZsHV | ||||
| IkA1y6ByoWKkYDBeMQswCQYDVQQGEwJVUzEPMA0GA1UECBMGTmV2YWRhMRIwEAYD | ||||
| VQQHEwlMYXMgVmVnYXMxGjAYBgNVBAoTEWdpdGh1Yi5jb20vbGliL3BxMQ4wDAYD | ||||
| VQQDEwVwcSBDQYIJANmheROCdW1NMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEF | ||||
| BQADggEBAAEhCLWkqJNMI8b4gkbmj5fqQ/4+oO83bZ3w2Oqf6eZ8I8BC4f2NOyE6 | ||||
| tRUlq5+aU7eqC1cOAvGjO+YHN/bF/DFpwLlzvUSXt+JP/pYcUjL7v+pIvwqec9hD | ||||
| ndvM4iIbkD/H/OYQ3L+N3W+G1x7AcFIX+bGCb3PzYVQAjxreV6//wgKBosMGFbZo | ||||
| HPxT9RPMun61SViF04H5TNs0derVn1+5eiiYENeAhJzQNyZoOOUuX1X/Inx9bEPh | ||||
| C5vFBtSMgIytPgieRJVWAiMLYsfpIAStrHztRAbBs2DU01LmMgRvHdxgFEKinC/d | ||||
| UHZZQDP+6pT+zADrGhQGXe4eThaO6f0= | ||||
| -----END CERTIFICATE----- | ||||
							
								
								
									
										81
									
								
								vendor/github.com/lib/pq/certs/server.crt
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										81
									
								
								vendor/github.com/lib/pq/certs/server.crt
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,81 +0,0 @@ | ||||
| Certificate: | ||||
|     Data: | ||||
|         Version: 3 (0x2) | ||||
|         Serial Number: 1 (0x1) | ||||
|         Signature Algorithm: sha256WithRSAEncryption | ||||
|         Issuer: C=US, ST=Nevada, L=Las Vegas, O=github.com/lib/pq, CN=pq CA | ||||
|         Validity | ||||
|             Not Before: Oct 11 15:05:15 2014 GMT | ||||
|             Not After : Oct  8 15:05:15 2024 GMT | ||||
|         Subject: C=US, ST=Nevada, L=Las Vegas, O=github.com/lib/pq, CN=postgres | ||||
|         Subject Public Key Info: | ||||
|             Public Key Algorithm: rsaEncryption | ||||
|             RSA Public Key: (2048 bit) | ||||
|                 Modulus (2048 bit): | ||||
|                     00:d7:8a:4c:85:fb:17:a5:3c:8f:e0:72:11:29:ce: | ||||
|                     3f:b0:1f:3f:7d:c6:ee:7f:a7:fc:02:2b:35:47:08: | ||||
|                     a6:3d:90:df:5c:56:14:94:00:c7:6d:d1:d2:e2:61: | ||||
|                     95:77:b8:e3:a6:66:31:f9:1f:21:7d:62:e1:27:da: | ||||
|                     94:37:61:4a:ea:63:53:a0:61:b8:9c:bb:a5:e2:e7: | ||||
|                     b7:a6:d8:0f:05:04:c7:29:e2:ea:49:2b:7f:de:15: | ||||
|                     00:a6:18:70:50:c7:0c:de:9a:f9:5a:96:b0:e1:94: | ||||
|                     06:c6:6d:4a:21:3b:b4:0f:a5:6d:92:86:34:b2:4e: | ||||
|                     d7:0e:a7:19:c0:77:0b:7b:87:c8:92:de:42:ff:86: | ||||
|                     d2:b7:9a:a4:d4:15:23:ca:ad:a5:69:21:b8:ce:7e: | ||||
|                     66:cb:85:5d:b9:ed:8b:2d:09:8d:94:e4:04:1e:72: | ||||
|                     ec:ef:d0:76:90:15:5a:a4:f7:91:4b:e9:ce:4e:9d: | ||||
|                     5d:9a:70:17:9c:d8:e9:73:83:ea:3d:61:99:a6:cd: | ||||
|                     ac:91:40:5a:88:77:e5:4e:2a:8e:3d:13:f3:f9:38: | ||||
|                     6f:81:6b:8a:95:ca:0e:07:ab:6f:da:b4:8c:d9:ff: | ||||
|                     aa:78:03:aa:c7:c2:cf:6f:64:92:d3:d8:83:d5:af: | ||||
|                     f1:23:18:a7:2e:7b:17:0b:e7:7d:f1:fa:a8:41:a3: | ||||
|                     04:57 | ||||
|                 Exponent: 65537 (0x10001) | ||||
|         X509v3 extensions: | ||||
|             X509v3 Subject Key Identifier:  | ||||
|                 EE:F0:B3:46:DC:C7:09:EB:0E:B6:2F:E5:FE:62:60:45:44:9F:59:CC | ||||
|             X509v3 Authority Key Identifier:  | ||||
|                 keyid:52:93:ED:1E:76:0A:9F:65:4F:DE:19:66:C1:D5:22:40:35:CB:A0:72 | ||||
|  | ||||
|             X509v3 Basic Constraints:  | ||||
|                 CA:FALSE | ||||
|             X509v3 Key Usage:  | ||||
|                 Digital Signature, Non Repudiation, Key Encipherment | ||||
|     Signature Algorithm: sha256WithRSAEncryption | ||||
|         7e:5a:6e:be:bf:d2:6c:c1:d6:fa:b6:fb:3f:06:53:36:08:87: | ||||
|         9d:95:b1:39:af:9e:f6:47:38:17:39:da:25:7c:f2:ad:0c:e3: | ||||
|         ab:74:19:ca:fb:8c:a0:50:c0:1d:19:8a:9c:21:ed:0f:3a:d1: | ||||
|         96:54:2e:10:09:4f:b8:70:f7:2b:99:43:d2:c6:15:bc:3f:24: | ||||
|         7d:28:39:32:3f:8d:a4:4f:40:75:7f:3e:0d:1c:d1:69:f2:4e: | ||||
|         98:83:47:97:d2:25:ac:c9:36:86:2f:04:a6:c4:86:c7:c4:00: | ||||
|         5f:7f:b9:ad:fc:bf:e9:f5:78:d7:82:1a:51:0d:fc:ab:9e:92: | ||||
|         1d:5f:0c:18:d1:82:e0:14:c9:ce:91:89:71:ff:49:49:ff:35: | ||||
|         bf:7b:44:78:42:c1:d0:66:65:bb:28:2e:60:ca:9b:20:12:a9: | ||||
|         90:61:b1:96:ec:15:46:c9:37:f7:07:90:8a:89:45:2a:3f:37: | ||||
|         ec:dc:e3:e5:8f:c3:3a:57:80:a5:54:60:0c:e1:b2:26:99:2b: | ||||
|         40:7e:36:d1:9a:70:02:ec:63:f4:3b:72:ae:81:fb:30:20:6d: | ||||
|         cb:48:46:c6:b5:8f:39:b1:84:05:25:55:8d:f5:62:f6:1b:46: | ||||
|         2e:da:a3:4c:26:12:44:d7:56:b6:b8:a9:ca:d3:ab:71:45:7c: | ||||
|         9f:48:6d:1e | ||||
| -----BEGIN CERTIFICATE----- | ||||
| MIIDlDCCAnygAwIBAgIBATANBgkqhkiG9w0BAQsFADBeMQswCQYDVQQGEwJVUzEP | ||||
| MA0GA1UECBMGTmV2YWRhMRIwEAYDVQQHEwlMYXMgVmVnYXMxGjAYBgNVBAoTEWdp | ||||
| dGh1Yi5jb20vbGliL3BxMQ4wDAYDVQQDEwVwcSBDQTAeFw0xNDEwMTExNTA1MTVa | ||||
| Fw0yNDEwMDgxNTA1MTVaMGExCzAJBgNVBAYTAlVTMQ8wDQYDVQQIEwZOZXZhZGEx | ||||
| EjAQBgNVBAcTCUxhcyBWZWdhczEaMBgGA1UEChMRZ2l0aHViLmNvbS9saWIvcHEx | ||||
| ETAPBgNVBAMTCHBvc3RncmVzMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC | ||||
| AQEA14pMhfsXpTyP4HIRKc4/sB8/fcbuf6f8Ais1RwimPZDfXFYUlADHbdHS4mGV | ||||
| d7jjpmYx+R8hfWLhJ9qUN2FK6mNToGG4nLul4ue3ptgPBQTHKeLqSSt/3hUAphhw | ||||
| UMcM3pr5Wpaw4ZQGxm1KITu0D6VtkoY0sk7XDqcZwHcLe4fIkt5C/4bSt5qk1BUj | ||||
| yq2laSG4zn5my4Vdue2LLQmNlOQEHnLs79B2kBVapPeRS+nOTp1dmnAXnNjpc4Pq | ||||
| PWGZps2skUBaiHflTiqOPRPz+ThvgWuKlcoOB6tv2rSM2f+qeAOqx8LPb2SS09iD | ||||
| 1a/xIxinLnsXC+d98fqoQaMEVwIDAQABo1owWDAdBgNVHQ4EFgQU7vCzRtzHCesO | ||||
| ti/l/mJgRUSfWcwwHwYDVR0jBBgwFoAUUpPtHnYKn2VP3hlmwdUiQDXLoHIwCQYD | ||||
| VR0TBAIwADALBgNVHQ8EBAMCBeAwDQYJKoZIhvcNAQELBQADggEBAH5abr6/0mzB | ||||
| 1vq2+z8GUzYIh52VsTmvnvZHOBc52iV88q0M46t0Gcr7jKBQwB0Zipwh7Q860ZZU | ||||
| LhAJT7hw9yuZQ9LGFbw/JH0oOTI/jaRPQHV/Pg0c0WnyTpiDR5fSJazJNoYvBKbE | ||||
| hsfEAF9/ua38v+n1eNeCGlEN/Kuekh1fDBjRguAUyc6RiXH/SUn/Nb97RHhCwdBm | ||||
| ZbsoLmDKmyASqZBhsZbsFUbJN/cHkIqJRSo/N+zc4+WPwzpXgKVUYAzhsiaZK0B+ | ||||
| NtGacALsY/Q7cq6B+zAgbctIRsa1jzmxhAUlVY31YvYbRi7ao0wmEkTXVra4qcrT | ||||
| q3FFfJ9IbR4= | ||||
| -----END CERTIFICATE----- | ||||
							
								
								
									
										27
									
								
								vendor/github.com/lib/pq/certs/server.key
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										27
									
								
								vendor/github.com/lib/pq/certs/server.key
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,27 +0,0 @@ | ||||
| -----BEGIN RSA PRIVATE KEY----- | ||||
| MIIEogIBAAKCAQEA14pMhfsXpTyP4HIRKc4/sB8/fcbuf6f8Ais1RwimPZDfXFYU | ||||
| lADHbdHS4mGVd7jjpmYx+R8hfWLhJ9qUN2FK6mNToGG4nLul4ue3ptgPBQTHKeLq | ||||
| SSt/3hUAphhwUMcM3pr5Wpaw4ZQGxm1KITu0D6VtkoY0sk7XDqcZwHcLe4fIkt5C | ||||
| /4bSt5qk1BUjyq2laSG4zn5my4Vdue2LLQmNlOQEHnLs79B2kBVapPeRS+nOTp1d | ||||
| mnAXnNjpc4PqPWGZps2skUBaiHflTiqOPRPz+ThvgWuKlcoOB6tv2rSM2f+qeAOq | ||||
| x8LPb2SS09iD1a/xIxinLnsXC+d98fqoQaMEVwIDAQABAoIBAF3ZoihUhJ82F4+r | ||||
| Gz4QyDpv4L1reT2sb1aiabhcU8ZK5nbWJG+tRyjSS/i2dNaEcttpdCj9HR/zhgZM | ||||
| bm0OuAgG58rVwgS80CZUruq++Qs+YVojq8/gWPTiQD4SNhV2Fmx3HkwLgUk3oxuT | ||||
| SsvdqzGE3okGVrutCIcgy126eA147VPMoej1Bb3fO6npqK0pFPhZfAc0YoqJuM+k | ||||
| obRm5pAnGUipyLCFXjA9HYPKwYZw2RtfdA3CiImHeanSdqS+ctrC9y8BV40Th7gZ | ||||
| haXdKUNdjmIxV695QQ1mkGqpKLZFqhzKioGQ2/Ly2d1iaKN9fZltTusu8unepWJ2 | ||||
| tlT9qMECgYEA9uHaF1t2CqE+AJvWTihHhPIIuLxoOQXYea1qvxfcH/UMtaLKzCNm | ||||
| lQ5pqCGsPvp+10f36yttO1ZehIvlVNXuJsjt0zJmPtIolNuJY76yeussfQ9jHheB | ||||
| 5uPEzCFlHzxYbBUyqgWaF6W74okRGzEGJXjYSP0yHPPdU4ep2q3bGiUCgYEA34Af | ||||
| wBSuQSK7uLxArWHvQhyuvi43ZGXls6oRGl+Ysj54s8BP6XGkq9hEJ6G4yxgyV+BR | ||||
| DUOs5X8/TLT8POuIMYvKTQthQyCk0eLv2FLdESDuuKx0kBVY3s8lK3/z5HhrdOiN | ||||
| VMNZU+xDKgKc3hN9ypkk8vcZe6EtH7Y14e0rVcsCgYBTgxi8F/M5K0wG9rAqphNz | ||||
| VFBA9XKn/2M33cKjO5X5tXIEKzpAjaUQvNxexG04rJGljzG8+mar0M6ONahw5yD1 | ||||
| O7i/XWgazgpuOEkkVYiYbd8RutfDgR4vFVMn3hAP3eDnRtBplRWH9Ec3HTiNIys6 | ||||
| F8PKBOQjyRZQQC7jyzW3hQKBgACe5HeuFwXLSOYsb6mLmhR+6+VPT4wR1F95W27N | ||||
| USk9jyxAnngxfpmTkiziABdgS9N+pfr5cyN4BP77ia/Jn6kzkC5Cl9SN5KdIkA3z | ||||
| vPVtN/x/ThuQU5zaymmig1ThGLtMYggYOslG4LDfLPxY5YKIhle+Y+259twdr2yf | ||||
| Mf2dAoGAaGv3tWMgnIdGRk6EQL/yb9PKHo7ShN+tKNlGaK7WwzBdKs+Fe8jkgcr7 | ||||
| pz4Ne887CmxejdISzOCcdT+Zm9Bx6I/uZwWOtDvWpIgIxVX9a9URj/+D1MxTE/y4 | ||||
| d6H+c89yDY62I2+drMpdjCd3EtCaTlxpTbRS+s1eAHMH7aEkcCE= | ||||
| -----END RSA PRIVATE KEY----- | ||||
							
								
								
									
										118
									
								
								vendor/github.com/lib/pq/hstore/hstore.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										118
									
								
								vendor/github.com/lib/pq/hstore/hstore.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,118 +0,0 @@ | ||||
| package hstore | ||||
|  | ||||
| import ( | ||||
| 	"database/sql" | ||||
| 	"database/sql/driver" | ||||
| 	"strings" | ||||
| ) | ||||
|  | ||||
| // A wrapper for transferring Hstore values back and forth easily. | ||||
| type Hstore struct { | ||||
| 	Map map[string]sql.NullString | ||||
| } | ||||
|  | ||||
| // escapes and quotes hstore keys/values | ||||
| // s should be a sql.NullString or string | ||||
| func hQuote(s interface{}) string { | ||||
| 	var str string | ||||
| 	switch v := s.(type) { | ||||
| 	case sql.NullString: | ||||
| 		if !v.Valid { | ||||
| 			return "NULL" | ||||
| 		} | ||||
| 		str = v.String | ||||
| 	case string: | ||||
| 		str = v | ||||
| 	default: | ||||
| 		panic("not a string or sql.NullString") | ||||
| 	} | ||||
|  | ||||
| 	str = strings.Replace(str, "\\", "\\\\", -1) | ||||
| 	return `"` + strings.Replace(str, "\"", "\\\"", -1) + `"` | ||||
| } | ||||
|  | ||||
| // Scan implements the Scanner interface. | ||||
| // | ||||
| // Note h.Map is reallocated before the scan to clear existing values. If the | ||||
| // hstore column's database value is NULL, then h.Map is set to nil instead. | ||||
| func (h *Hstore) Scan(value interface{}) error { | ||||
| 	if value == nil { | ||||
| 		h.Map = nil | ||||
| 		return nil | ||||
| 	} | ||||
| 	h.Map = make(map[string]sql.NullString) | ||||
| 	var b byte | ||||
| 	pair := [][]byte{{}, {}} | ||||
| 	pi := 0 | ||||
| 	inQuote := false | ||||
| 	didQuote := false | ||||
| 	sawSlash := false | ||||
| 	bindex := 0 | ||||
| 	for bindex, b = range value.([]byte) { | ||||
| 		if sawSlash { | ||||
| 			pair[pi] = append(pair[pi], b) | ||||
| 			sawSlash = false | ||||
| 			continue | ||||
| 		} | ||||
|  | ||||
| 		switch b { | ||||
| 		case '\\': | ||||
| 			sawSlash = true | ||||
| 			continue | ||||
| 		case '"': | ||||
| 			inQuote = !inQuote | ||||
| 			if !didQuote { | ||||
| 				didQuote = true | ||||
| 			} | ||||
| 			continue | ||||
| 		default: | ||||
| 			if !inQuote { | ||||
| 				switch b { | ||||
| 				case ' ', '\t', '\n', '\r': | ||||
| 					continue | ||||
| 				case '=': | ||||
| 					continue | ||||
| 				case '>': | ||||
| 					pi = 1 | ||||
| 					didQuote = false | ||||
| 					continue | ||||
| 				case ',': | ||||
| 					s := string(pair[1]) | ||||
| 					if !didQuote && len(s) == 4 && strings.ToLower(s) == "null" { | ||||
| 						h.Map[string(pair[0])] = sql.NullString{String: "", Valid: false} | ||||
| 					} else { | ||||
| 						h.Map[string(pair[0])] = sql.NullString{String: string(pair[1]), Valid: true} | ||||
| 					} | ||||
| 					pair[0] = []byte{} | ||||
| 					pair[1] = []byte{} | ||||
| 					pi = 0 | ||||
| 					continue | ||||
| 				} | ||||
| 			} | ||||
| 		} | ||||
| 		pair[pi] = append(pair[pi], b) | ||||
| 	} | ||||
| 	if bindex > 0 { | ||||
| 		s := string(pair[1]) | ||||
| 		if !didQuote && len(s) == 4 && strings.ToLower(s) == "null" { | ||||
| 			h.Map[string(pair[0])] = sql.NullString{String: "", Valid: false} | ||||
| 		} else { | ||||
| 			h.Map[string(pair[0])] = sql.NullString{String: string(pair[1]), Valid: true} | ||||
| 		} | ||||
| 	} | ||||
| 	return nil | ||||
| } | ||||
|  | ||||
| // Value implements the driver Valuer interface. Note if h.Map is nil, the | ||||
| // database column value will be set to NULL. | ||||
| func (h Hstore) Value() (driver.Value, error) { | ||||
| 	if h.Map == nil { | ||||
| 		return nil, nil | ||||
| 	} | ||||
| 	parts := []string{} | ||||
| 	for key, val := range h.Map { | ||||
| 		thispart := hQuote(key) + "=>" + hQuote(val) | ||||
| 		parts = append(parts, thispart) | ||||
| 	} | ||||
| 	return []byte(strings.Join(parts, ",")), nil | ||||
| } | ||||
							
								
								
									
										148
									
								
								vendor/github.com/lib/pq/hstore/hstore_test.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										148
									
								
								vendor/github.com/lib/pq/hstore/hstore_test.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,148 +0,0 @@ | ||||
| package hstore | ||||
|  | ||||
| import ( | ||||
| 	"database/sql" | ||||
| 	"os" | ||||
| 	"testing" | ||||
|  | ||||
| 	_ "github.com/lib/pq" | ||||
| ) | ||||
|  | ||||
| type Fatalistic interface { | ||||
| 	Fatal(args ...interface{}) | ||||
| } | ||||
|  | ||||
| func openTestConn(t Fatalistic) *sql.DB { | ||||
| 	datname := os.Getenv("PGDATABASE") | ||||
| 	sslmode := os.Getenv("PGSSLMODE") | ||||
|  | ||||
| 	if datname == "" { | ||||
| 		os.Setenv("PGDATABASE", "pqgotest") | ||||
| 	} | ||||
|  | ||||
| 	if sslmode == "" { | ||||
| 		os.Setenv("PGSSLMODE", "disable") | ||||
| 	} | ||||
|  | ||||
| 	conn, err := sql.Open("postgres", "") | ||||
| 	if err != nil { | ||||
| 		t.Fatal(err) | ||||
| 	} | ||||
|  | ||||
| 	return conn | ||||
| } | ||||
|  | ||||
| func TestHstore(t *testing.T) { | ||||
| 	db := openTestConn(t) | ||||
| 	defer db.Close() | ||||
|  | ||||
| 	// quitely create hstore if it doesn't exist | ||||
| 	_, err := db.Exec("CREATE EXTENSION IF NOT EXISTS hstore") | ||||
| 	if err != nil { | ||||
| 		t.Skipf("Skipping hstore tests - hstore extension create failed: %s", err.Error()) | ||||
| 	} | ||||
|  | ||||
| 	hs := Hstore{} | ||||
|  | ||||
| 	// test for null-valued hstores | ||||
| 	err = db.QueryRow("SELECT NULL::hstore").Scan(&hs) | ||||
| 	if err != nil { | ||||
| 		t.Fatal(err) | ||||
| 	} | ||||
| 	if hs.Map != nil { | ||||
| 		t.Fatalf("expected null map") | ||||
| 	} | ||||
|  | ||||
| 	err = db.QueryRow("SELECT $1::hstore", hs).Scan(&hs) | ||||
| 	if err != nil { | ||||
| 		t.Fatalf("re-query null map failed: %s", err.Error()) | ||||
| 	} | ||||
| 	if hs.Map != nil { | ||||
| 		t.Fatalf("expected null map") | ||||
| 	} | ||||
|  | ||||
| 	// test for empty hstores | ||||
| 	err = db.QueryRow("SELECT ''::hstore").Scan(&hs) | ||||
| 	if err != nil { | ||||
| 		t.Fatal(err) | ||||
| 	} | ||||
| 	if hs.Map == nil { | ||||
| 		t.Fatalf("expected empty map, got null map") | ||||
| 	} | ||||
| 	if len(hs.Map) != 0 { | ||||
| 		t.Fatalf("expected empty map, got len(map)=%d", len(hs.Map)) | ||||
| 	} | ||||
|  | ||||
| 	err = db.QueryRow("SELECT $1::hstore", hs).Scan(&hs) | ||||
| 	if err != nil { | ||||
| 		t.Fatalf("re-query empty map failed: %s", err.Error()) | ||||
| 	} | ||||
| 	if hs.Map == nil { | ||||
| 		t.Fatalf("expected empty map, got null map") | ||||
| 	} | ||||
| 	if len(hs.Map) != 0 { | ||||
| 		t.Fatalf("expected empty map, got len(map)=%d", len(hs.Map)) | ||||
| 	} | ||||
|  | ||||
| 	// a few example maps to test out | ||||
| 	hsOnePair := Hstore{ | ||||
| 		Map: map[string]sql.NullString{ | ||||
| 			"key1": {String: "value1", Valid: true}, | ||||
| 		}, | ||||
| 	} | ||||
|  | ||||
| 	hsThreePairs := Hstore{ | ||||
| 		Map: map[string]sql.NullString{ | ||||
| 			"key1": {String: "value1", Valid: true}, | ||||
| 			"key2": {String: "value2", Valid: true}, | ||||
| 			"key3": {String: "value3", Valid: true}, | ||||
| 		}, | ||||
| 	} | ||||
|  | ||||
| 	hsSmorgasbord := Hstore{ | ||||
| 		Map: map[string]sql.NullString{ | ||||
| 			"nullstring":             {String: "NULL", Valid: true}, | ||||
| 			"actuallynull":           {String: "", Valid: false}, | ||||
| 			"NULL":                   {String: "NULL string key", Valid: true}, | ||||
| 			"withbracket":            {String: "value>42", Valid: true}, | ||||
| 			"withequal":              {String: "value=42", Valid: true}, | ||||
| 			`"withquotes1"`:          {String: `this "should" be fine`, Valid: true}, | ||||
| 			`"withquotes"2"`:         {String: `this "should\" also be fine`, Valid: true}, | ||||
| 			"embedded1":              {String: "value1=>x1", Valid: true}, | ||||
| 			"embedded2":              {String: `"value2"=>x2`, Valid: true}, | ||||
| 			"withnewlines":           {String: "\n\nvalue\t=>2", Valid: true}, | ||||
| 			"<<all sorts of crazy>>": {String: `this, "should,\" also, => be fine`, Valid: true}, | ||||
| 		}, | ||||
| 	} | ||||
|  | ||||
| 	// test encoding in query params, then decoding during Scan | ||||
| 	testBidirectional := func(h Hstore) { | ||||
| 		err = db.QueryRow("SELECT $1::hstore", h).Scan(&hs) | ||||
| 		if err != nil { | ||||
| 			t.Fatalf("re-query %d-pair map failed: %s", len(h.Map), err.Error()) | ||||
| 		} | ||||
| 		if hs.Map == nil { | ||||
| 			t.Fatalf("expected %d-pair map, got null map", len(h.Map)) | ||||
| 		} | ||||
| 		if len(hs.Map) != len(h.Map) { | ||||
| 			t.Fatalf("expected %d-pair map, got len(map)=%d", len(h.Map), len(hs.Map)) | ||||
| 		} | ||||
|  | ||||
| 		for key, val := range hs.Map { | ||||
| 			otherval, found := h.Map[key] | ||||
| 			if !found { | ||||
| 				t.Fatalf("  key '%v' not found in %d-pair map", key, len(h.Map)) | ||||
| 			} | ||||
| 			if otherval.Valid != val.Valid { | ||||
| 				t.Fatalf("  value %v <> %v in %d-pair map", otherval, val, len(h.Map)) | ||||
| 			} | ||||
| 			if otherval.String != val.String { | ||||
| 				t.Fatalf("  value '%v' <> '%v' in %d-pair map", otherval.String, val.String, len(h.Map)) | ||||
| 			} | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	testBidirectional(hsOnePair) | ||||
| 	testBidirectional(hsThreePairs) | ||||
| 	testBidirectional(hsSmorgasbord) | ||||
| } | ||||
							
								
								
									
										102
									
								
								vendor/github.com/lib/pq/listen_example/doc.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										102
									
								
								vendor/github.com/lib/pq/listen_example/doc.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -1,102 +0,0 @@ | ||||
| /* | ||||
|  | ||||
| Below you will find a self-contained Go program which uses the LISTEN / NOTIFY | ||||
| mechanism to avoid polling the database while waiting for more work to arrive. | ||||
|  | ||||
|     // | ||||
|     // You can see the program in action by defining a function similar to | ||||
|     // the following: | ||||
|     // | ||||
|     // CREATE OR REPLACE FUNCTION public.get_work() | ||||
|     //   RETURNS bigint | ||||
|     //   LANGUAGE sql | ||||
|     //   AS $$ | ||||
|     //     SELECT CASE WHEN random() >= 0.2 THEN int8 '1' END | ||||
|     //   $$ | ||||
|     // ; | ||||
|  | ||||
|     package main | ||||
|  | ||||
|     import ( | ||||
|         "database/sql" | ||||
|         "fmt" | ||||
|         "time" | ||||
|  | ||||
|         "github.com/lib/pq" | ||||
|     ) | ||||
|  | ||||
|     func doWork(db *sql.DB, work int64) { | ||||
|         // work here | ||||
|     } | ||||
|  | ||||
|     func getWork(db *sql.DB) { | ||||
|         for { | ||||
|             // get work from the database here | ||||
|             var work sql.NullInt64 | ||||
|             err := db.QueryRow("SELECT get_work()").Scan(&work) | ||||
|             if err != nil { | ||||
|                 fmt.Println("call to get_work() failed: ", err) | ||||
|                 time.Sleep(10 * time.Second) | ||||
|                 continue | ||||
|             } | ||||
|             if !work.Valid { | ||||
|                 // no more work to do | ||||
|                 fmt.Println("ran out of work") | ||||
|                 return | ||||
|             } | ||||
|  | ||||
|             fmt.Println("starting work on ", work.Int64) | ||||
|             go doWork(db, work.Int64) | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     func waitForNotification(l *pq.Listener) { | ||||
|         for { | ||||
|             select { | ||||
|                 case <-l.Notify: | ||||
|                     fmt.Println("received notification, new work available") | ||||
|                     return | ||||
|                 case <-time.After(90 * time.Second): | ||||
|                     go func() { | ||||
|                         l.Ping() | ||||
|                     }() | ||||
|                     // Check if there's more work available, just in case it takes | ||||
|                     // a while for the Listener to notice connection loss and | ||||
|                     // reconnect. | ||||
|                     fmt.Println("received no work for 90 seconds, checking for new work") | ||||
|                     return | ||||
|             } | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     func main() { | ||||
|         var conninfo string = "" | ||||
|  | ||||
|         db, err := sql.Open("postgres", conninfo) | ||||
|         if err != nil { | ||||
|             panic(err) | ||||
|         } | ||||
|  | ||||
|         reportProblem := func(ev pq.ListenerEventType, err error) { | ||||
|             if err != nil { | ||||
|                 fmt.Println(err.Error()) | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         listener := pq.NewListener(conninfo, 10 * time.Second, time.Minute, reportProblem) | ||||
|         err = listener.Listen("getwork") | ||||
|         if err != nil { | ||||
|             panic(err) | ||||
|         } | ||||
|  | ||||
|         fmt.Println("entering main loop") | ||||
|         for { | ||||
|             // process all available work before waiting for notifications | ||||
|             getWork(db) | ||||
|             waitForNotification(listener) | ||||
|         } | ||||
|     } | ||||
|  | ||||
|  | ||||
| */ | ||||
| package listen_example | ||||
		Reference in New Issue
	
	Block a user