diff --git a/.ci/travis-before-install.sh b/.ci/travis-before-install.sh index 3dd6b8a8..dd624ffa 100755 --- a/.ci/travis-before-install.sh +++ b/.ci/travis-before-install.sh @@ -27,7 +27,7 @@ if [[ "${TRAVIS_OS_NAME}" == "linux" && "${BUILD}" == *wheels* ]]; then fi fi - sudo service postgresql start ${PGVERSION} + sudo pg_ctlcluster ${PGVERSION} main restart fi if [ "${TRAVIS_OS_NAME}" == "osx" ]; then diff --git a/.travis.yml b/.travis.yml index be029141..1ace44f9 100644 --- a/.travis.yml +++ b/.travis.yml @@ -138,7 +138,7 @@ matrix: # Also use this job to publish the releases and build # the documentation. - os: linux - dist: xenial + dist: bionic sudo: required language: python python: "3.6" diff --git a/asyncpg/__init__.py b/asyncpg/__init__.py index ee66f932..96b41c89 100644 --- a/asyncpg/__init__.py +++ b/asyncpg/__init__.py @@ -31,4 +31,4 @@ # snapshots will automatically include the git revision # in __version__, for example: '0.16.0.dev0+ge06ad03' -__version__ = '0.20.0' +__version__ = '0.20.1' diff --git a/asyncpg/pgproto b/asyncpg/pgproto index 484e3520..1b4af3c6 160000 --- a/asyncpg/pgproto +++ b/asyncpg/pgproto @@ -1 +1 @@ -Subproject commit 484e3520d8cb0514b7596a8f9eaa80f3f7b79d0c +Subproject commit 1b4af3c685bfda6c74c082504fe8947c0a55e358 diff --git a/tests/test_codecs.py b/tests/test_codecs.py index 1299f2bd..abd3c668 100644 --- a/tests/test_codecs.py +++ b/tests/test_codecs.py @@ -69,7 +69,6 @@ def _system_timezone(): decimal.Decimal("-1.00000000000000"), decimal.Decimal("-2.00000000000000"), decimal.Decimal("1000000000000000.00000000000000"), - decimal.Decimal("-0.00000000000000"), decimal.Decimal(1234), decimal.Decimal(-1234), decimal.Decimal("1234000000.00088883231"), @@ -111,7 +110,7 @@ def _system_timezone(): decimal.Decimal("0.0"), decimal.Decimal("-1.0"), decimal.Decimal("1.0E-1000"), - decimal.Decimal("1.0E1000"), + decimal.Decimal("1E1000"), decimal.Decimal("0.000000000000000000000000001"), decimal.Decimal("0.000000000000010000000000001"), decimal.Decimal("0.00000000000000000000000001"), @@ -141,6 +140,16 @@ def _system_timezone(): decimal.Decimal("0.001"), decimal.Decimal("0.01"), decimal.Decimal("0.1"), + decimal.Decimal("0.10"), + decimal.Decimal("0.100"), + decimal.Decimal("0.1000"), + decimal.Decimal("0.10000"), + decimal.Decimal("0.100000"), + decimal.Decimal("0.00001000"), + decimal.Decimal("0.000010000"), + decimal.Decimal("0.0000100000"), + decimal.Decimal("0.00001000000"), + decimal.Decimal("1" + "0" * 117 + "." + "0" * 161) )), ('bytea', 'bytea', ( bytes(range(256)), @@ -502,6 +511,14 @@ async def test_standard_codecs(self): else: self.assertEqual(result, outputval, err_msg) + if (typname == 'numeric' and + isinstance(inputval, decimal.Decimal)): + self.assertEqual( + result.as_tuple(), + outputval.as_tuple(), + err_msg, + ) + with self.subTest(sample=None, typname=typname): # Test that None is handled for all types. rsample = await st.fetchval(None)