Skip to content

Commit 2f6b72a

Browse files
authored
update otel api library (#91)
* update otel api library * add 26 and 27 to ct test matrix * fix ssl enabled tests: cert was expired * use upstream postgres docker image
1 parent 6333127 commit 2f6b72a

11 files changed

+68
-210
lines changed

.github/workflows/ct.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ jobs:
1414
runs-on: ${{ matrix.os }}
1515
strategy:
1616
matrix:
17-
otp_version: ['25']
17+
otp_version: ['25', '26', '27']
1818
rebar3_version: ['3.23']
1919
os: [ubuntu-22.04]
2020
env:

docker-compose.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ version: '3.7'
22

33
services:
44
postgres:
5-
image: cimg/postgres:14.2
5+
image: postgres:17
66
environment:
77
- POSTGRES_USER=test
88
- POSTGRES_DB=test

rebar.config

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
{deps, [{backoff, "~> 1.1.6"},
44
{pg_types, "~> 0.4.0"},
5-
{opentelemetry_api, "~> 1.3.1"}]}.
5+
{opentelemetry_api, "~> 1.4.0"}]}.
66

77
{profiles, [{test, [{erl_opts, [nowarn_export_all]},
88
{deps, [jsone,

rebar.lock

+3-11
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,11 @@
11
{"1.2.0",
22
[{<<"backoff">>,{pkg,<<"backoff">>,<<"1.1.6">>},0},
3-
{<<"opentelemetry_api">>,{pkg,<<"opentelemetry_api">>,<<"1.3.1">>},0},
4-
{<<"opentelemetry_semantic_conventions">>,
5-
{pkg,<<"opentelemetry_semantic_conventions">>,<<"0.2.0">>},
6-
1},
7-
{<<"pg_types">>,{pkg,<<"pg_types">>,<<"0.4.0">>},0}]}.
3+
{<<"opentelemetry_api">>,{pkg,<<"opentelemetry_api">>,<<"1.4.0">>},0}]}.
84
[
95
{pkg_hash,[
106
{<<"backoff">>, <<"83B72ED2108BA1EE8F7D1C22E0B4A00CFE3593A67DBC792799E8CCE9F42F796B">>},
11-
{<<"opentelemetry_api">>, <<"83B4713593F80562D9643C4AB0B6F80F3C5FA4C6D0632C43E11B2CCB6B04DFA7">>},
12-
{<<"opentelemetry_semantic_conventions">>, <<"B67FE459C2938FCAB341CB0951C44860C62347C005ACE1B50F8402576F241435">>},
13-
{<<"pg_types">>, <<"3CE365C92903C5BB59C0D56382D842C8C610C1B6F165E20C4B652C96FA7E9C14">>}]},
7+
{<<"opentelemetry_api">>, <<"63CA1742F92F00059298F478048DFB826F4B20D49534493D6919A0DB39B6DB04">>}]},
148
{pkg_hash_ext,[
159
{<<"backoff">>, <<"CF0CFFF8995FB20562F822E5CC47D8CCF664C5ECDC26A684CBE85C225F9D7C39">>},
16-
{<<"opentelemetry_api">>, <<"9E8A5CC38671E3AC61BE48ABE5F6B3AFDBBB50A1DC08B7950C56F169611505C1">>},
17-
{<<"opentelemetry_semantic_conventions">>, <<"D61FA1F5639EE8668D74B527E6806E0503EFC55A42DB7B5F39939D84C07D6895">>},
18-
{<<"pg_types">>, <<"B02EFA785CAECECF9702C681C80A9CA12A39F9161A846CE17B01FB20AEEED7EB">>}]}
10+
{<<"opentelemetry_api">>, <<"3DFBBFAA2C2ED3121C5C483162836C4F9027DEF469C41578AF5EF32589FCFC58">>}]}
1911
].

src/pgo_handler.erl

+1-1
Original file line numberDiff line numberDiff line change
@@ -339,7 +339,7 @@ setup_finish(Conn=#conn{socket_module=SocketModule,
339339
%% set_succeeded_or_within_failed_transaction({error, {error, _} = Error}) ->
340340
%% error:is_in_failed_sql_transaction(Error).
341341

342-
-spec extended_query(#conn{}, iodata(), list(), pgo:decode_aopts(), any(), list()) -> pgo:result().
342+
-spec extended_query(#conn{}, iodata(), list(), pgo:decode_opts(), any(), list()) -> pgo:result().
343343
extended_query(Conn=#conn{socket=Socket,
344344
socket_module=SocketModule,
345345
pool=Pool}, Query, Parameters, DecodeOptions, PerRowFun, Acc0) ->

test/certs/privkey.pem

-30
This file was deleted.

test/certs/server.crt

+19-75
Original file line numberDiff line numberDiff line change
@@ -1,77 +1,21 @@
1-
Certificate:
2-
Data:
3-
Version: 3 (0x2)
4-
Serial Number:
5-
3d:d1:d2:30:e7:90:e5:f4:2d:ab:b9:40:85:8a:b2:f4:48:74:6b:48
6-
Signature Algorithm: sha256WithRSAEncryption
7-
Issuer: CN = localhost
8-
Validity
9-
Not Before: May 23 14:00:36 2019 GMT
10-
Not After : Jun 22 14:00:36 2019 GMT
11-
Subject: CN = localhost
12-
Subject Public Key Info:
13-
Public Key Algorithm: rsaEncryption
14-
RSA Public-Key: (2048 bit)
15-
Modulus:
16-
00:b2:e4:16:2a:8f:ae:34:86:10:48:87:07:aa:32:
17-
6f:b0:e3:c9:87:bc:cf:82:2a:97:49:aa:00:18:6f:
18-
a5:1a:26:d7:96:04:22:f7:d8:8e:6c:24:66:89:09:
19-
8c:e9:03:28:0b:c8:97:4a:1f:3e:76:83:c5:13:a1:
20-
b6:a2:53:0d:71:74:4a:fb:f4:2f:99:b7:5c:ff:43:
21-
2b:9d:dd:3f:93:77:05:2c:7a:7a:5f:78:0f:26:85:
22-
b1:44:7b:ce:41:f4:0e:6c:9e:d9:32:bd:68:f7:2f:
23-
67:58:59:38:62:9a:47:06:97:af:f6:34:3d:f6:3e:
24-
45:23:64:81:bf:fd:76:13:11:7a:86:11:d6:46:ac:
25-
9c:6e:23:56:70:c8:b3:27:87:e9:8f:d5:de:55:e9:
26-
4a:0c:19:78:a0:9e:7d:6c:74:0f:6e:e2:60:36:14:
27-
40:47:54:b4:f7:8a:df:63:95:02:f0:29:52:ad:ea:
28-
ca:39:cd:2d:6b:8d:61:a7:80:aa:49:33:d0:16:ba:
29-
e4:50:df:7d:54:c3:ab:32:f1:11:de:1b:72:19:5a:
30-
72:c8:0b:3a:1d:03:d7:ba:6e:b4:2a:fc:ce:a0:7b:
31-
4a:78:38:9a:11:80:33:71:c1:fd:47:00:f0:c7:dd:
32-
72:e7:94:da:75:8e:02:42:39:c0:31:dc:d3:24:04:
33-
9d:7f
34-
Exponent: 65537 (0x10001)
35-
X509v3 extensions:
36-
X509v3 Subject Key Identifier:
37-
3A:BB:47:90:72:ED:8E:63:37:2F:C8:FA:C3:DF:46:27:C3:FC:8B:0A
38-
X509v3 Authority Key Identifier:
39-
keyid:3A:BB:47:90:72:ED:8E:63:37:2F:C8:FA:C3:DF:46:27:C3:FC:8B:0A
40-
41-
X509v3 Basic Constraints: critical
42-
CA:TRUE
43-
Signature Algorithm: sha256WithRSAEncryption
44-
01:87:cc:b8:1a:ec:cd:f5:5a:b3:63:ab:b3:cd:f2:96:12:44:
45-
da:04:79:6b:9f:ae:14:1c:c7:5f:6f:c1:85:99:66:68:5f:a6:
46-
89:54:0f:36:78:d7:b9:2c:30:68:7d:9c:f6:89:3c:df:33:ba:
47-
c7:46:2e:ca:76:10:73:22:e1:2c:0d:8e:bc:98:b7:95:8c:f2:
48-
67:d9:60:58:ab:c4:b9:07:8c:a1:c0:85:67:10:a6:a0:26:81:
49-
75:c8:9c:e7:45:93:f0:f3:d9:14:f4:23:49:b3:75:39:08:25:
50-
18:56:42:e9:ec:6a:50:d1:da:68:e4:1d:f1:77:84:25:a4:6b:
51-
9e:4f:f7:e6:ca:f7:9c:bf:61:69:19:89:a9:d5:df:df:5d:31:
52-
b6:0e:ac:c7:35:47:0f:f3:7f:75:f9:51:03:88:15:dd:44:13:
53-
ef:1f:e9:3f:58:ae:77:3a:b6:cb:15:cb:54:80:90:73:40:34:
54-
1c:50:ba:c7:c7:43:4d:bf:c1:72:16:03:60:85:72:00:77:3e:
55-
8a:36:3a:18:e2:d6:13:8d:e2:58:80:a7:49:07:05:33:8e:32:
56-
1c:f0:ae:65:a8:58:eb:03:d8:1a:9a:97:91:a2:c8:23:de:42:
57-
3e:5c:01:77:fb:ae:dc:7b:e6:ce:bb:0e:d4:bc:ef:03:97:a1:
58-
74:9f:75:cc
591
-----BEGIN CERTIFICATE-----
60-
MIIDCTCCAfGgAwIBAgIUPdHSMOeQ5fQtq7lAhYqy9Eh0a0gwDQYJKoZIhvcNAQEL
61-
BQAwFDESMBAGA1UEAwwJbG9jYWxob3N0MB4XDTE5MDUyMzE0MDAzNloXDTE5MDYy
62-
MjE0MDAzNlowFDESMBAGA1UEAwwJbG9jYWxob3N0MIIBIjANBgkqhkiG9w0BAQEF
63-
AAOCAQ8AMIIBCgKCAQEAsuQWKo+uNIYQSIcHqjJvsOPJh7zPgiqXSaoAGG+lGibX
64-
lgQi99iObCRmiQmM6QMoC8iXSh8+doPFE6G2olMNcXRK+/Qvmbdc/0Mrnd0/k3cF
65-
LHp6X3gPJoWxRHvOQfQObJ7ZMr1o9y9nWFk4YppHBpev9jQ99j5FI2SBv/12ExF6
66-
hhHWRqycbiNWcMizJ4fpj9XeVelKDBl4oJ59bHQPbuJgNhRAR1S094rfY5UC8ClS
67-
rerKOc0ta41hp4CqSTPQFrrkUN99VMOrMvER3htyGVpyyAs6HQPXum60KvzOoHtK
68-
eDiaEYAzccH9RwDwx91y55TadY4CQjnAMdzTJASdfwIDAQABo1MwUTAdBgNVHQ4E
69-
FgQUOrtHkHLtjmM3L8j6w99GJ8P8iwowHwYDVR0jBBgwFoAUOrtHkHLtjmM3L8j6
70-
w99GJ8P8iwowDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEAAYfM
71-
uBrszfVas2Ors83ylhJE2gR5a5+uFBzHX2/BhZlmaF+miVQPNnjXuSwwaH2c9ok8
72-
3zO6x0YuynYQcyLhLA2OvJi3lYzyZ9lgWKvEuQeMocCFZxCmoCaBdcic50WT8PPZ
73-
FPQjSbN1OQglGFZC6exqUNHaaOQd8XeEJaRrnk/35sr3nL9haRmJqdXf310xtg6s
74-
xzVHD/N/dflRA4gV3UQT7x/pP1iudzq2yxXLVICQc0A0HFC6x8dDTb/BchYDYIVy
75-
AHc+ijY6GOLWE43iWICnSQcFM44yHPCuZahY6wPYGpqXkaLII95CPlwBd/uu3Hvm
76-
zrsO1LzvA5ehdJ91zA==
2+
MIIDfzCCAmegAwIBAgIUUBvQ70/DfSGCBhs2ofmkffaHqNEwDQYJKoZIhvcNAQEL
3+
BQAwTzELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAkNPMSEwHwYDVQQKDBhJbnRlcm5l
4+
dCBXaWRnaXRzIFB0eSBMdGQxEDAOBgNVBAMMB3RyaXN0YW4wHhcNMjQxMTEzMTMz
5+
MTQ5WhcNMjUxMTEzMTMzMTQ5WjBPMQswCQYDVQQGEwJVUzELMAkGA1UECAwCQ08x
6+
ITAfBgNVBAoMGEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDEQMA4GA1UEAwwHdHJp
7+
c3RhbjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOgP/zhAhvbI2Cws
8+
ZSYiEoKqTNTTBhHHZ9cKhYCKjE6LMf413Sv4dojZVpUI0JwID/VIfo7Zm8bOXT9Z
9+
0wpuDZu7sdAcBjJ1Icumxuk+ZgY/5UHDz3JjlAU5E3YqbJDJshIXznosw5FQ1+2x
10+
QeJk5bv5P6VFF9gBHLbnAa7mCauqwBL/HgbD+KE1ApwWDo2eKjKF3EplsEWRG2Z4
11+
VfgjBYutEe3lwFRryaA2lY13T+XP4N21QpWtI8QLDCUOEL20VWyTSJuNdAIcYA2Y
12+
C8Gx/jxZESdOGivYERM9Y6xUJfxrHGOyw3Cle1P9NuEH2/WcS+IkB/FI90qw/aLi
13+
tCFil38CAwEAAaNTMFEwHQYDVR0OBBYEFE4qKOndgOyPwiajHVCYrKuQQc+hMB8G
14+
A1UdIwQYMBaAFE4qKOndgOyPwiajHVCYrKuQQc+hMA8GA1UdEwEB/wQFMAMBAf8w
15+
DQYJKoZIhvcNAQELBQADggEBACpq1KqSD4FAWDrLX6LhYU0bEF/T1SEuIUwDpzyW
16+
+igYE6Wie+BZOq489qe4eQ32MIyXl0m8ozCCG11SkZHIvsXhglEieJYdNxHmArxW
17+
PdiKjaonaoDVaD2RHwVmaMw3Q5V3ErFTL72RAlwFJPsHMgdAMabR0R33I91YVPie
18+
OTTvYy4gzeXhJ/2HNT657YzMOyUUxZC8OaQGKl7coCh2TjaGlz0O/6jiGE/yPH/I
19+
U5iguxvyYMDiqjW8DRaeL38uVDWXvWWYEJnDX6NiIy21+nnekJvZKHqUY1W0aRFL
20+
D+KdFnfuGca9Vh3LkldpKuKnpcuqPjs692P2qsvezcNS8vs=
7721
-----END CERTIFICATE-----

test/certs/server.key

+28-27
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,28 @@
1-
-----BEGIN RSA PRIVATE KEY-----
2-
MIIEogIBAAKCAQEAsuQWKo+uNIYQSIcHqjJvsOPJh7zPgiqXSaoAGG+lGibXlgQi
3-
99iObCRmiQmM6QMoC8iXSh8+doPFE6G2olMNcXRK+/Qvmbdc/0Mrnd0/k3cFLHp6
4-
X3gPJoWxRHvOQfQObJ7ZMr1o9y9nWFk4YppHBpev9jQ99j5FI2SBv/12ExF6hhHW
5-
RqycbiNWcMizJ4fpj9XeVelKDBl4oJ59bHQPbuJgNhRAR1S094rfY5UC8ClSrerK
6-
Oc0ta41hp4CqSTPQFrrkUN99VMOrMvER3htyGVpyyAs6HQPXum60KvzOoHtKeDia
7-
EYAzccH9RwDwx91y55TadY4CQjnAMdzTJASdfwIDAQABAoIBAECjKV83izpvNnL+
8-
V0an8rN3mtnw3wmpWgDD7EToEj/gyQTrebcUCGIKxQG+8as/+LhJQmEF6QvpkMwH
9-
InaEi9byriVbldd06aVSH/BqgQ5HcxcfKhhUySSiKesU0PIDvTKCMviid8rY1f6W
10-
PklidUdsh6fuOHVBCro/FqLIcmFw1Ch+CYg4S9GqIALdMNexNBWdAwgRLmlF2N0r
11-
p02fzjzepCUDMgomsB2Da87JI7NVJx9OrtScE34cophcKHFMehhdL0TXx7nrZI6U
12-
a37veyggjE1gXWoTdh6UqMBDRylEKzQV7+StadGD07ygtGhnl4kpJ4qhgyXfa/Ny
13-
82FDWAECgYEA6FpC3acwgmikWfSCwVC+47WES+YH/zqONgFvX7qAu5LLh/Ne664u
14-
m7TBLr41irM8LjUBXi1ZOwN3x/lw9hlWD/D7+0ClFANaG74ij0vFNS4lbX+gYKyO
15-
0lv69Vb4HSXd7FxKq31COLSZetSd9XrAmqhKH/mCCgocCAldKfKR9UcCgYEAxRju
16-
QeVYmTjOBE1BO/3a4n4cuMg5Q/WmOI6HoTotJTFmDjBLOMc8/jtP0PfT2oZYGYbc
17-
H48aQmIHaKyw5+7yuufqasVtebtpOxxSCJbjcqGRKtcn9xPoOAcoP/xdLNiW61a6
18-
V84LUIuKWwEKlM2AelCU7R/tYJ1zUj7/Pbs8EgkCgYBkMhAljyQ/CCrfU65S+KPo
19-
g+zx4ddO+4w5w7KoYD+FI487J/qlvS4CHRc1NfbWweXQszDM0NdquFsd0/YfWduf
20-
8jZnKYBGOg/QaNR0YKNBBI5FQsUBC0hndByrUX6a6ypg84eLne9BjreknS0kn3OQ
21-
/cNBOJIYDDX8TTVsklrYnwKBgAn2ray1HFp6jaeYBDE1Lwh+GZOZw5NU6rc3NVII
22-
L9oOejtDY7oWEFZFx04oCRSl7/QyZhROVqR+ciNvf23qHWknailFm7goqjQrxVXb
23-
0tmrozwILmQGJJoYeodpiYhH1rFE7ByeNOI4e6EIF3HYRaNpSW4HTCezLe49cwe6
24-
3FmJAoGAfxAjVT3E/7KvxIOMkeSnP6JgQ7FQ9FlH1Z5DsNPCK6CA4uM6gRUX79Qd
25-
v6NimMEPHHBpc0GEwedmNT21ZBhy0Lh3wWVWkNlZ0qmVaKwyNFSZmvpy5LndTKjS
26-
6LyI4u92A/Q0+tBzahdsnEIZkHv7e7W7HzlY4f8zviHRv90D11s=
27-
-----END RSA PRIVATE KEY-----
1+
-----BEGIN PRIVATE KEY-----
2+
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDoD/84QIb2yNgs
3+
LGUmIhKCqkzU0wYRx2fXCoWAioxOizH+Nd0r+HaI2VaVCNCcCA/1SH6O2ZvGzl0/
4+
WdMKbg2bu7HQHAYydSHLpsbpPmYGP+VBw89yY5QFORN2KmyQybISF856LMORUNft
5+
sUHiZOW7+T+lRRfYARy25wGu5gmrqsAS/x4Gw/ihNQKcFg6NnioyhdxKZbBFkRtm
6+
eFX4IwWLrRHt5cBUa8mgNpWNd0/lz+DdtUKVrSPECwwlDhC9tFVsk0ibjXQCHGAN
7+
mAvBsf48WREnThor2BETPWOsVCX8axxjssNwpXtT/TbhB9v1nEviJAfxSPdKsP2i
8+
4rQhYpd/AgMBAAECggEAMgylMEYmdZo6mUhX5mIJ2PmOyYXbtMDrgeMIiQEYoqX9
9+
ucR3N5EGS5yIQmtcxpIskuu4M+n14WpHjS67x++VasWP44Dvyzkc+VW2Z76n9WgZ
10+
c1Yeax7T4U5+hok+0flWOPW+d/YolbI4Z9DHk2LMc36dvfDJZDJVNZNb9xMw+b9Y
11+
IuC0CJgg1retXdfo2CABHB7QWozx0huhOmZyGbwxwJuG5jBSoOj3P/N36fm0CkPL
12+
6TAVFaEhOfja/8tySICGS1dw/XPmLDBzAMr+OABiji8bNh7/TUooX5cHDE2c44lg
13+
O4weN8FJL8zdKMm7tyiwPUB2uehAppkuxf48BWvzNQKBgQD+b8OLhM59xdCMoqqr
14+
ScW8mUSNUJJ91cRETRZBOxSN8hFifs69UN7kCJjV4aLhzIHfdB6QfuS1im1dZnKZ
15+
YlUk/ix6qk7JUl2k5HtL7bi13nRFp0dcN7jdAHtvi9FWxDRCEdiU0INLzUmbqj7N
16+
0Gh5Ndvgw4j1zSMkw9ffVucUEwKBgQDpfQm7AAN0TaivppJOcepReAokBHEtw1Bs
17+
vyNsbE8k82j2m+vhzUSS6e4TnGfSqipG6EoND29L39WvPWrcrw97tLmfkbnCvw5o
18+
+74Wl5+n5U/kMPlXOlLYk9UhpRFTuOAFN/3P51AAEmoXctPgfyfvN9aFQyiQTdLd
19+
OVQ826ckZQKBgG5w1uFVmUfwuHCDHy/QitstcBsi8SNbyaCYEWPpICfo/fDR+C0m
20+
0EkNDkIwecInQexbe/Tej6nZV1VmZbH8g9bV2Tq5eA9dCDbN0lMH8dhHohKl5Iy7
21+
xytuzSWC/C/8ZG6VTnxx8bvSdPPztuUhZGfQoAt09Js1Gt8Xfzl7gDwvAoGAZl7a
22+
K1EgMpfyA8FmmFo9wCZ/W7dO4B+oXWWYZGtAcBUAyk8mpsPW8wr5xUNoCedtzdT+
23+
0qcXxw6Go+Sru8JNaZGdaSb9aTNXYBQwDbvA1l4mHwiR6fq6ZBa89Zln9WszXVZl
24+
RAhI/R8VwN4po15c5fd3aMo/OLXGZBREqMItkDkCgYEA8295H8YoahfV1aBm6m3x
25+
QZH4uJkSRFSOepGcBkmIoPGdiYJ85+1fmBOeSQPvcQPgynLBTa6iSGbVkp1kCXvM
26+
mPyeNqjcWfh4Gay+fnRjDolc4NZoNVCB0aoyaH+wCZQyPIbGnqspm1piDz0jN7Pp
27+
In+OPiiumI/4hRHC5ZqB5NA=
28+
-----END PRIVATE KEY-----

test/certs/server.req

-60
This file was deleted.

test/pgo_basic_SUITE.erl

+12-1
Original file line numberDiff line numberDiff line change
@@ -49,10 +49,21 @@ init_per_group(clear, Config) ->
4949
Config;
5050
init_per_group(ssl, Config) ->
5151
application:ensure_all_started(pgo),
52-
5352
{ok, _} = pgo_sup:start_child(default, #{pool_size => 1,
5453
port => 5434,
5554
ssl => true,
55+
ssl_options => [{verify_type, verify_peer},
56+
{cacertfile, "../../../../test/certs/server.crt"},
57+
{verify_fun, {fun (_, valid, U) ->
58+
{valid, U};
59+
(_, valid_peer, U) ->
60+
{valid, U};
61+
(_, {bad_cert, selfsigned_peer}, U) ->
62+
{valid, U};
63+
(_, Reason, _U) ->
64+
{fail, Reason}
65+
end, []}}
66+
],
5667
database => "test",
5768
user => "test",
5869
password => "password"}),

test/pgo_geometric_SUITE.erl

+2-2
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ end_per_suite(_Config) ->
2424

2525
select(_Config) ->
2626
?assertMatch(#{command := select,
27-
rows := [{#{y := 2.0, x := 0.0}}]},
27+
rows := [{#{y := 2.0, x := +0.0}}]},
2828
pgo:query("select '(0,2.0)'::point")).
2929

3030
insert(_Config) ->
@@ -46,5 +46,5 @@ insert(_Config) ->
4646
?assertMatch(#{command := select,
4747
rows := [{#{x := 1.1, y := 74.9}},
4848
{#{x := 3.2, y := 4.5}},
49-
{#{x := 0.0, y := 5.0}}]},
49+
{#{x := +0.0, y := 5.0}}]},
5050
pgo:query("select a_point from points")).

0 commit comments

Comments
 (0)