Repository: GoogleCloudPlatform/pgadapter
Pull request #1854 (2024-05-23 15:37:54)

build(deps): bump com.google.cloud:google-cloud-spanner-pgadapter from 0.33.1 to 0.33.2 in /benchmarks/latency-comparison/java
Bumps [com.google.cloud:google-cloud-spanner-pgadapter](https://github.com/GoogleCloudPlatform/pgadapter) from 0.33.1 to 0.33.2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/GoogleCloudPlatform/pgadapter/releases">com.google.cloud:google-cloud-spanner-pgadapter's releases</a>.</em></p>
<blockquote>
<h2>v0.33.2</h2>
<h2><a href="https://github.com/GoogleCloudPlatform/pgadapter/compare/v0.33.1...v0.33.2">0.33.2</a> (2024-05-22)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>connection should be idle after failed commit (<a href="https://redirect.github.com/GoogleCloudPlatform/pgadapter/issues/1837">#1837</a>) (<a href="https://github.com/GoogleCloudPlatform/pgadapter/commit/65e4dd4a30f9f1b91f4ff8c28730e1d4a0318dfd">65e4dd4</a>), closes <a href="https://redirect.github.com/GoogleCloudPlatform/pgadapter/issues/1836">#1836</a></li>
</ul>
<h3>Dependencies</h3>
<ul>
<li>update dependency django to v5.0.6 (<a href="https://redirect.github.com/GoogleCloudPlatform/pgadapter/issues/1689">#1689</a>) (<a href="https://github.com/GoogleCloudPlatform/pgadapter/commit/3bc68de0aea1843b666580e1f4ff23aff8bef66a">3bc68de</a>)</li>
<li>update dependency go to v1.22.3 (<a href="https://redirect.github.com/GoogleCloudPlatform/pgadapter/issues/1749">#1749</a>) (<a href="https://github.com/GoogleCloudPlatform/pgadapter/commit/3aa417d6d15807c1675f78e02238a3d16a040052">3aa417d</a>)</li>
<li>update dependency google.auth to v2.29.0 (<a href="https://redirect.github.com/GoogleCloudPlatform/pgadapter/issues/1793">#1793</a>) (<a href="https://github.com/GoogleCloudPlatform/pgadapter/commit/bcae7cdd82c811317e17135c49efe3ea15dd29d8">bcae7cd</a>)</li>
<li>update dependency io.opentelemetry:opentelemetry-bom to v1.38.0 (<a href="https://redirect.github.com/GoogleCloudPlatform/pgadapter/issues/1833">#1833</a>) (<a href="https://github.com/GoogleCloudPlatform/pgadapter/commit/bcba310a40ecf28713b39d509be043a9d9e9b56f">bcba310</a>)</li>
<li>update dependency io.opentelemetry:opentelemetry-exporter-otlp to v1.38.0 (<a href="https://redirect.github.com/GoogleCloudPlatform/pgadapter/issues/1834">#1834</a>) (<a href="https://github.com/GoogleCloudPlatform/pgadapter/commit/afa762b63e139d010a03cfad6d2d01c21027a442">afa762b</a>)</li>
<li>update dependency io.opentelemetry:opentelemetry-sdk to v1.38.0 (<a href="https://redirect.github.com/GoogleCloudPlatform/pgadapter/issues/1835">#1835</a>) (<a href="https://github.com/GoogleCloudPlatform/pgadapter/commit/1a0dc0df7a3db64e285cb3d29ae0c315127d60bd">1a0dc0d</a>)</li>
<li>update dependency io.opentelemetry:opentelemetry-sdk-metrics to v1.38.0 (<a href="https://redirect.github.com/GoogleCloudPlatform/pgadapter/issues/1838">#1838</a>) (<a href="https://github.com/GoogleCloudPlatform/pgadapter/commit/b244de0a391052f94acf3547343444baca7dd677">b244de0</a>)</li>
<li>update dependency org.hibernate.orm:hibernate-core to v6.5.1.final (<a href="https://redirect.github.com/GoogleCloudPlatform/pgadapter/issues/1782">#1782</a>) (<a href="https://github.com/GoogleCloudPlatform/pgadapter/commit/3f9f24048886f7bcc1cfb18f8e95530b52d21788">3f9f240</a>)</li>
<li>update dependency org.hibernate.orm:hibernate-core to v6.5.2.final (<a href="https://redirect.github.com/GoogleCloudPlatform/pgadapter/issues/1811">#1811</a>) (<a href="https://github.com/GoogleCloudPlatform/pgadapter/commit/7c94c26db3981ef2708d43d2b46b0d816a84c774">7c94c26</a>)</li>
<li>update dependency org.liquibase:liquibase-maven-plugin to v4.28.0 (<a href="https://redirect.github.com/GoogleCloudPlatform/pgadapter/issues/1828">#1828</a>) (<a href="https://github.com/GoogleCloudPlatform/pgadapter/commit/509b41c96ddf433b812871da1229716986b1802b">509b41c</a>)</li>
<li>update dependency org.postgresql:postgresql to v42.6.1 [security] (<a href="https://redirect.github.com/GoogleCloudPlatform/pgadapter/issues/1830">#1830</a>) (<a href="https://github.com/GoogleCloudPlatform/pgadapter/commit/ffc3401881bff901b35b867224bbeee89d17fdcf">ffc3401</a>)</li>
<li>update dependency org.postgresql:postgresql to v42.7.3 (<a href="https://redirect.github.com/GoogleCloudPlatform/pgadapter/issues/1839">#1839</a>) (<a href="https://github.com/GoogleCloudPlatform/pgadapter/commit/63c50d3482fe31385d4b4b71b3d00042152fd379">63c50d3</a>)</li>
<li>update dependency org.springframework.boot:spring-boot-starter-parent to v3.2.5 (<a href="https://redirect.github.com/GoogleCloudPlatform/pgadapter/issues/1841">#1841</a>) (<a href="https://github.com/GoogleCloudPlatform/pgadapter/commit/6a727e582317491c04ea5ce490e57b60601ca6bb">6a727e5</a>)</li>
<li>update dependency psycopg-binary to v3.1.19 (<a href="https://redirect.github.com/GoogleCloudPlatform/pgadapter/issues/1792">#1792</a>) (<a href="https://github.com/GoogleCloudPlatform/pgadapter/commit/0363b10aac3191a01d1ce2a7ff01f232865159b0">0363b10</a>)</li>
<li>update dependency pytz to v2024 (<a href="https://redirect.github.com/GoogleCloudPlatform/pgadapter/issues/1693">#1693</a>) (<a href="https://github.com/GoogleCloudPlatform/pgadapter/commit/72dfc1fc0c15d28b8aa851ceeb8506d2f12b3c42">72dfc1f</a>)</li>
<li>update dependency testcontainers to v4 (<a href="https://redirect.github.com/GoogleCloudPlatform/pgadapter/issues/1795">#1795</a>) (<a href="https://github.com/GoogleCloudPlatform/pgadapter/commit/e49b85f4f6fefc4f470b965a39f0acf25e50de67">e49b85f</a>)</li>
<li>update dependency ts-node to v10.9.2 (<a href="https://redirect.github.com/GoogleCloudPlatform/pgadapter/issues/1799">#1799</a>) (<a href="https://github.com/GoogleCloudPlatform/pgadapter/commit/e31aa1a8294552adec0abdd5dc27ce7a01ffa2a0">e31aa1a</a>)</li>
<li>update github.com/googlecloudplatform/pgadapter/wrappers/golang digest to cfb53f3 (<a href="https://redirect.github.com/GoogleCloudPlatform/pgadapter/issues/1814">#1814</a>) (<a href="https://github.com/GoogleCloudPlatform/pgadapter/commit/fec2e7e783d8a470a06b1147c851b90658e4afb4">fec2e7e</a>)</li>
<li>update golang docker tag to v1.22.3 (<a href="https://redirect.github.com/GoogleCloudPlatform/pgadapter/issues/1753">#1753</a>) (<a href="https://github.com/GoogleCloudPlatform/pgadapter/commit/38feadf527e983d36585da0067884009f28e1df3">38feadf</a>)</li>
<li>update module cloud.google.com/go/spanner to v1.62.0 (<a href="https://redirect.github.com/GoogleCloudPlatform/pgadapter/issues/1786">#1786</a>) (<a href="https://github.com/GoogleCloudPlatform/pgadapter/commit/4142f0a3ddee4e339fb1199eb7a995ec1a99e7e3">4142f0a</a>)</li>
<li>update module github.com/docker/docker to v26.1.2+incompatible (<a href="https://redirect.github.com/GoogleCloudPlatform/pgadapter/issues/1754">#1754</a>) (<a href="https://github.com/GoogleCloudPlatform/pgadapter/commit/c9ab38676bba36cda57cf3dd17de66fbbed737a1">c9ab386</a>)</li>
<li>update module github.com/docker/docker to v26.1.3+incompatible (<a href="https://redirect.github.com/GoogleCloudPlatform/pgadapter/issues/1794">#1794</a>) (<a href="https://github.com/GoogleCloudPlatform/pgadapter/commit/8555bee3b66d8ee6789c269551ee229b36273314">8555bee</a>)</li>
<li>update module github.com/googlecloudplatform/pgadapter/wrappers/golang to v0.0.0-20240516111254-4142f0a3ddee (<a href="https://redirect.github.com/GoogleCloudPlatform/pgadapter/issues/1678">#1678</a>) (<a href="https://github.com/GoogleCloudPlatform/pgadapter/commit/1acf2d4bbc584de233f91a4a645dee366c1c8942">1acf2d4</a>)</li>
<li>update module github.com/jackc/pgx/v4 to v4.18.3 (<a href="https://redirect.github.com/GoogleCloudPlatform/pgadapter/issues/1756">#1756</a>) (<a href="https://github.com/GoogleCloudPlatform/pgadapter/commit/7e6d0a6d28a46dbdfabd27f2917b2ba89c4743c0">7e6d0a6</a>)</li>
<li>update module github.com/jackc/pgx/v4 to v5 (<a href="https://redirect.github.com/GoogleCloudPlatform/pgadapter/issues/1708">#1708</a>) (<a href="https://github.com/GoogleCloudPlatform/pgadapter/commit/f0b19cd920e86f7217b27f7d9f12b13ff8e5f78f">f0b19cd</a>)</li>
<li>update module github.com/testcontainers/testcontainers-go to v0.31.0 (<a href="https://redirect.github.com/GoogleCloudPlatform/pgadapter/issues/1757">#1757</a>) (<a href="https://github.com/GoogleCloudPlatform/pgadapter/commit/d26b3acc7236ebf664c3a637d61c3037b2dbfdcf">d26b3ac</a>)</li>
<li>update module golang.org/x/oauth2 to v0.20.0 (<a href="https://redirect.github.com/GoogleCloudPlatform/pgadapter/issues/1767">#1767</a>) (<a href="https://github.com/GoogleCloudPlatform/pgadapter/commit/b291bdd1729398bba022f8cad6e4d3005b1c3a82">b291bdd</a>)</li>
<li>update module google.golang.org/api to v0.180.0 (<a href="https://redirect.github.com/GoogleCloudPlatform/pgadapter/issues/1783">#1783</a>) (<a href="https://github.com/GoogleCloudPlatform/pgadapter/commit/69e4e939b6983f1898dfe79ef2da1f79a06878e5">69e4e93</a>)</li>
<li>update module google.golang.org/api to v0.181.0 (<a href="https://redirect.github.com/GoogleCloudPlatform/pgadapter/issues/1802">#1802</a>) (<a href="https://github.com/GoogleCloudPlatform/pgadapter/commit/f7dd6ab01c755aea00c092f65160686e76df62d8">f7dd6ab</a>)</li>
<li>update spring-boot.version to v3 (<a href="https://redirect.github.com/GoogleCloudPlatform/pgadapter/issues/1711">#1711</a>) (<a href="https://github.com/GoogleCloudPlatform/pgadapter/commit/a476185f59573b1f0cdb4d7055ad19d255cc292a">a476185</a>)</li>
<li>update ubuntu docker tag to v24 (<a href="https://redirect.github.com/GoogleCloudPlatform/pgadapter/issues/1785">#1785</a>) (<a href="https://github.com/GoogleCloudPlatform/pgadapter/commit/2cbbba8f155fb945e9c60f261f0d3cab177fe1d0">2cbbba8</a>)</li>
</ul>
<h3>Documentation</h3>
<ul>
<li>Django sample on emulator (<a href="https://redirect.github.com/GoogleCloudPlatform/pgadapter/issues/1435">#1435</a>) (<a href="https://github.com/GoogleCloudPlatform/pgadapter/commit/d79421d3400265b1041f41f927b4e9d696f7623b">d79421d</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/GoogleCloudPlatform/pgadapter/blob/postgresql-dialect/CHANGELOG.md">com.google.cloud:google-cloud-spanner-pgadapter's changelog</a>.</em></p>
<blockquote>
<h2><a href="https://github.com/GoogleCloudPlatform/pgadapter/compare/v0.33.1...v0.33.2">0.33.2</a> (2024-05-22)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>connection should be idle after failed commit (<a href="https://redirect.github.com/GoogleCloudPlatform/pgadapter/issues/1837">#1837</a>) (<a href="https://github.com/GoogleCloudPlatform/pgadapter/commit/65e4dd4a30f9f1b91f4ff8c28730e1d4a0318dfd">65e4dd4</a>), closes <a href="https://redirect.github.com/GoogleCloudPlatform/pgadapter/issues/1836">#1836</a></li>
</ul>
<h3>Dependencies</h3>
<ul>
<li>update dependency django to v5.0.6 (<a href="https://redirect.github.com/GoogleCloudPlatform/pgadapter/issues/1689">#1689</a>) (<a href="https://github.com/GoogleCloudPlatform/pgadapter/commit/3bc68de0aea1843b666580e1f4ff23aff8bef66a">3bc68de</a>)</li>
<li>update dependency go to v1.22.3 (<a href="https://redirect.github.com/GoogleCloudPlatform/pgadapter/issues/1749">#1749</a>) (<a href="https://github.com/GoogleCloudPlatform/pgadapter/commit/3aa417d6d15807c1675f78e02238a3d16a040052">3aa417d</a>)</li>
<li>update dependency google.auth to v2.29.0 (<a href="https://redirect.github.com/GoogleCloudPlatform/pgadapter/issues/1793">#1793</a>) (<a href="https://github.com/GoogleCloudPlatform/pgadapter/commit/bcae7cdd82c811317e17135c49efe3ea15dd29d8">bcae7cd</a>)</li>
<li>update dependency io.opentelemetry:opentelemetry-bom to v1.38.0 (<a href="https://redirect.github.com/GoogleCloudPlatform/pgadapter/issues/1833">#1833</a>) (<a href="https://github.com/GoogleCloudPlatform/pgadapter/commit/bcba310a40ecf28713b39d509be043a9d9e9b56f">bcba310</a>)</li>
<li>update dependency io.opentelemetry:opentelemetry-exporter-otlp to v1.38.0 (<a href="https://redirect.github.com/GoogleCloudPlatform/pgadapter/issues/1834">#1834</a>) (<a href="https://github.com/GoogleCloudPlatform/pgadapter/commit/afa762b63e139d010a03cfad6d2d01c21027a442">afa762b</a>)</li>
<li>update dependency io.opentelemetry:opentelemetry-sdk to v1.38.0 (<a href="https://redirect.github.com/GoogleCloudPlatform/pgadapter/issues/1835">#1835</a>) (<a href="https://github.com/GoogleCloudPlatform/pgadapter/commit/1a0dc0df7a3db64e285cb3d29ae0c315127d60bd">1a0dc0d</a>)</li>
<li>update dependency io.opentelemetry:opentelemetry-sdk-metrics to v1.38.0 (<a href="https://redirect.github.com/GoogleCloudPlatform/pgadapter/issues/1838">#1838</a>) (<a href="https://github.com/GoogleCloudPlatform/pgadapter/commit/b244de0a391052f94acf3547343444baca7dd677">b244de0</a>)</li>
<li>update dependency org.hibernate.orm:hibernate-core to v6.5.1.final (<a href="https://redirect.github.com/GoogleCloudPlatform/pgadapter/issues/1782">#1782</a>) (<a href="https://github.com/GoogleCloudPlatform/pgadapter/commit/3f9f24048886f7bcc1cfb18f8e95530b52d21788">3f9f240</a>)</li>
<li>update dependency org.hibernate.orm:hibernate-core to v6.5.2.final (<a href="https://redirect.github.com/GoogleCloudPlatform/pgadapter/issues/1811">#1811</a>) (<a href="https://github.com/GoogleCloudPlatform/pgadapter/commit/7c94c26db3981ef2708d43d2b46b0d816a84c774">7c94c26</a>)</li>
<li>update dependency org.liquibase:liquibase-maven-plugin to v4.28.0 (<a href="https://redirect.github.com/GoogleCloudPlatform/pgadapter/issues/1828">#1828</a>) (<a href="https://github.com/GoogleCloudPlatform/pgadapter/commit/509b41c96ddf433b812871da1229716986b1802b">509b41c</a>)</li>
<li>update dependency org.postgresql:postgresql to v42.6.1 [security] (<a href="https://redirect.github.com/GoogleCloudPlatform/pgadapter/issues/1830">#1830</a>) (<a href="https://github.com/GoogleCloudPlatform/pgadapter/commit/ffc3401881bff901b35b867224bbeee89d17fdcf">ffc3401</a>)</li>
<li>update dependency org.postgresql:postgresql to v42.7.3 (<a href="https://redirect.github.com/GoogleCloudPlatform/pgadapter/issues/1839">#1839</a>) (<a href="https://github.com/GoogleCloudPlatform/pgadapter/commit/63c50d3482fe31385d4b4b71b3d00042152fd379">63c50d3</a>)</li>
<li>update dependency org.springframework.boot:spring-boot-starter-parent to v3.2.5 (<a href="https://redirect.github.com/GoogleCloudPlatform/pgadapter/issues/1841">#1841</a>) (<a href="https://github.com/GoogleCloudPlatform/pgadapter/commit/6a727e582317491c04ea5ce490e57b60601ca6bb">6a727e5</a>)</li>
<li>update dependency psycopg-binary to v3.1.19 (<a href="https://redirect.github.com/GoogleCloudPlatform/pgadapter/issues/1792">#1792</a>) (<a href="https://github.com/GoogleCloudPlatform/pgadapter/commit/0363b10aac3191a01d1ce2a7ff01f232865159b0">0363b10</a>)</li>
<li>update dependency pytz to v2024 (<a href="https://redirect.github.com/GoogleCloudPlatform/pgadapter/issues/1693">#1693</a>) (<a href="https://github.com/GoogleCloudPlatform/pgadapter/commit/72dfc1fc0c15d28b8aa851ceeb8506d2f12b3c42">72dfc1f</a>)</li>
<li>update dependency testcontainers to v4 (<a href="https://redirect.github.com/GoogleCloudPlatform/pgadapter/issues/1795">#1795</a>) (<a href="https://github.com/GoogleCloudPlatform/pgadapter/commit/e49b85f4f6fefc4f470b965a39f0acf25e50de67">e49b85f</a>)</li>
<li>update dependency ts-node to v10.9.2 (<a href="https://redirect.github.com/GoogleCloudPlatform/pgadapter/issues/1799">#1799</a>) (<a href="https://github.com/GoogleCloudPlatform/pgadapter/commit/e31aa1a8294552adec0abdd5dc27ce7a01ffa2a0">e31aa1a</a>)</li>
<li>update github.com/googlecloudplatform/pgadapter/wrappers/golang digest to cfb53f3 (<a href="https://redirect.github.com/GoogleCloudPlatform/pgadapter/issues/1814">#1814</a>) (<a href="https://github.com/GoogleCloudPlatform/pgadapter/commit/fec2e7e783d8a470a06b1147c851b90658e4afb4">fec2e7e</a>)</li>
<li>update golang docker tag to v1.22.3 (<a href="https://redirect.github.com/GoogleCloudPlatform/pgadapter/issues/1753">#1753</a>) (<a href="https://github.com/GoogleCloudPlatform/pgadapter/commit/38feadf527e983d36585da0067884009f28e1df3">38feadf</a>)</li>
<li>update module cloud.google.com/go/spanner to v1.62.0 (<a href="https://redirect.github.com/GoogleCloudPlatform/pgadapter/issues/1786">#1786</a>) (<a href="https://github.com/GoogleCloudPlatform/pgadapter/commit/4142f0a3ddee4e339fb1199eb7a995ec1a99e7e3">4142f0a</a>)</li>
<li>update module github.com/docker/docker to v26.1.2+incompatible (<a href="https://redirect.github.com/GoogleCloudPlatform/pgadapter/issues/1754">#1754</a>) (<a href="https://github.com/GoogleCloudPlatform/pgadapter/commit/c9ab38676bba36cda57cf3dd17de66fbbed737a1">c9ab386</a>)</li>
<li>update module github.com/docker/docker to v26.1.3+incompatible (<a href="https://redirect.github.com/GoogleCloudPlatform/pgadapter/issues/1794">#1794</a>) (<a href="https://github.com/GoogleCloudPlatform/pgadapter/commit/8555bee3b66d8ee6789c269551ee229b36273314">8555bee</a>)</li>
<li>update module github.com/googlecloudplatform/pgadapter/wrappers/golang to v0.0.0-20240516111254-4142f0a3ddee (<a href="https://redirect.github.com/GoogleCloudPlatform/pgadapter/issues/1678">#1678</a>) (<a href="https://github.com/GoogleCloudPlatform/pgadapter/commit/1acf2d4bbc584de233f91a4a645dee366c1c8942">1acf2d4</a>)</li>
<li>update module github.com/jackc/pgx/v4 to v4.18.3 (<a href="https://redirect.github.com/GoogleCloudPlatform/pgadapter/issues/1756">#1756</a>) (<a href="https://github.com/GoogleCloudPlatform/pgadapter/commit/7e6d0a6d28a46dbdfabd27f2917b2ba89c4743c0">7e6d0a6</a>)</li>
<li>update module github.com/jackc/pgx/v4 to v5 (<a href="https://redirect.github.com/GoogleCloudPlatform/pgadapter/issues/1708">#1708</a>) (<a href="https://github.com/GoogleCloudPlatform/pgadapter/commit/f0b19cd920e86f7217b27f7d9f12b13ff8e5f78f">f0b19cd</a>)</li>
<li>update module github.com/testcontainers/testcontainers-go to v0.31.0 (<a href="https://redirect.github.com/GoogleCloudPlatform/pgadapter/issues/1757">#1757</a>) (<a href="https://github.com/GoogleCloudPlatform/pgadapter/commit/d26b3acc7236ebf664c3a637d61c3037b2dbfdcf">d26b3ac</a>)</li>
<li>update module golang.org/x/oauth2 to v0.20.0 (<a href="https://redirect.github.com/GoogleCloudPlatform/pgadapter/issues/1767">#1767</a>) (<a href="https://github.com/GoogleCloudPlatform/pgadapter/commit/b291bdd1729398bba022f8cad6e4d3005b1c3a82">b291bdd</a>)</li>
<li>update module google.golang.org/api to v0.180.0 (<a href="https://redirect.github.com/GoogleCloudPlatform/pgadapter/issues/1783">#1783</a>) (<a href="https://github.com/GoogleCloudPlatform/pgadapter/commit/69e4e939b6983f1898dfe79ef2da1f79a06878e5">69e4e93</a>)</li>
<li>update module google.golang.org/api to v0.181.0 (<a href="https://redirect.github.com/GoogleCloudPlatform/pgadapter/issues/1802">#1802</a>) (<a href="https://github.com/GoogleCloudPlatform/pgadapter/commit/f7dd6ab01c755aea00c092f65160686e76df62d8">f7dd6ab</a>)</li>
<li>update spring-boot.version to v3 (<a href="https://redirect.github.com/GoogleCloudPlatform/pgadapter/issues/1711">#1711</a>) (<a href="https://github.com/GoogleCloudPlatform/pgadapter/commit/a476185f59573b1f0cdb4d7055ad19d255cc292a">a476185</a>)</li>
<li>update ubuntu docker tag to v24 (<a href="https://redirect.github.com/GoogleCloudPlatform/pgadapter/issues/1785">#1785</a>) (<a href="https://github.com/GoogleCloudPlatform/pgadapter/commit/2cbbba8f155fb945e9c60f261f0d3cab177fe1d0">2cbbba8</a>)</li>
</ul>
<h3>Documentation</h3>
<ul>
<li>Django sample on emulator (<a href="https://redirect.github.com/GoogleCloudPlatform/pgadapter/issues/1435">#1435</a>) (<a href="https://github.com/GoogleCloudPlatform/pgadapter/commit/d79421d3400265b1041f41f927b4e9d696f7623b">d79421d</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/GoogleCloudPlatform/pgadapter/commit/a3e12ee91034828a75f56818fcf65278df4afd91"><code>a3e12ee</code></a> chore(postgresql-dialect): release 0.33.2 (<a href="https://redirect.github.com/GoogleCloudPlatform/pgadapter/issues/1750">#1750</a>)</li>
<li><a href="https://github.com/GoogleCloudPlatform/pgadapter/commit/352fffef03ffd3b2ec1734510af4f2ac8c829cbb"><code>352fffe</code></a> --- (<a href="https://redirect.github.com/GoogleCloudPlatform/pgadapter/issues/1819">#1819</a>)</li>
<li><a href="https://github.com/GoogleCloudPlatform/pgadapter/commit/6294b57547405d84c342598bf3efc0044606899f"><code>6294b57</code></a> --- (<a href="https://redirect.github.com/GoogleCloudPlatform/pgadapter/issues/1824">#1824</a>)</li>
<li><a href="https://github.com/GoogleCloudPlatform/pgadapter/commit/891d39d6d4ab60996518cdb12d27f2b152e855dd"><code>891d39d</code></a> --- (<a href="https://redirect.github.com/GoogleCloudPlatform/pgadapter/issues/1820">#1820</a>)</li>
<li><a href="https://github.com/GoogleCloudPlatform/pgadapter/commit/b244de0a391052f94acf3547343444baca7dd677"><code>b244de0</code></a> deps: update dependency io.opentelemetry:opentelemetry-sdk-metrics to v1.38.0...</li>
<li><a href="https://github.com/GoogleCloudPlatform/pgadapter/commit/63c50d3482fe31385d4b4b71b3d00042152fd379"><code>63c50d3</code></a> deps: update dependency org.postgresql:postgresql to v42.7.3 (<a href="https://redirect.github.com/GoogleCloudPlatform/pgadapter/issues/1839">#1839</a>)</li>
<li><a href="https://github.com/GoogleCloudPlatform/pgadapter/commit/6a727e582317491c04ea5ce490e57b60601ca6bb"><code>6a727e5</code></a> deps: update dependency org.springframework.boot:spring-boot-starter-parent t...</li>
<li><a href="https://github.com/GoogleCloudPlatform/pgadapter/commit/65e4dd4a30f9f1b91f4ff8c28730e1d4a0318dfd"><code>65e4dd4</code></a> fix: connection should be idle after failed commit (<a href="https://redirect.github.com/GoogleCloudPlatform/pgadapter/issues/1837">#1837</a>)</li>
<li><a href="https://github.com/GoogleCloudPlatform/pgadapter/commit/fec2e7e783d8a470a06b1147c851b90658e4afb4"><code>fec2e7e</code></a> deps: update github.com/googlecloudplatform/pgadapter/wrappers/golang digest ...</li>
<li><a href="https://github.com/GoogleCloudPlatform/pgadapter/commit/7c94c26db3981ef2708d43d2b46b0d816a84c774"><code>7c94c26</code></a> deps: update dependency org.hibernate.orm:hibernate-core to v6.5.2.final (<a href="https://redirect.github.com/GoogleCloudPlatform/pgadapter/issues/1811">#1811</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/GoogleCloudPlatform/pgadapter/compare/v0.33.1...v0.33.2">compare view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=com.google.cloud:google-cloud-spanner-pgadapter&package-manager=maven&previous-version=0.33.1&new-version=0.33.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>


Patch:
diff --git a/.github/workflows/integration.yaml b/.github/workflows/integration.yaml
index 8195c7c3..a54be1fa 100644
--- a/.github/workflows/integration.yaml
+++ b/.github/workflows/integration.yaml
@@ -21,6 +21,7 @@ env:
   GOOGLE_CLOUD_INSTANCE: "pgadapter-testing"
   GOOGLE_CLOUD_DATABASE: "testdb_integration"
   GOOGLE_CLOUD_ENDPOINT: "spanner.googleapis.com"
+  PG_ADAPTER_DROP_STALE_DATABASES: true
 jobs:
   check-env:
     outputs:
diff --git a/benchmarks/latency-comparison/golang/go.mod b/benchmarks/latency-comparison/golang/go.mod
index 541eac16..f059e3d3 100644
--- a/benchmarks/latency-comparison/golang/go.mod
+++ b/benchmarks/latency-comparison/golang/go.mod
@@ -5,10 +5,10 @@ go 1.21
 toolchain go1.22.3
 
 require (
-	cloud.google.com/go/spanner v1.62.0
+	cloud.google.com/go/spanner v1.63.0
 	github.com/docker/docker v26.1.3+incompatible
 	github.com/jackc/pgx/v4 v4.18.3
-	github.com/jackc/pgx/v5 v5.5.5
+	github.com/jackc/pgx/v5 v5.6.0
 	github.com/montanaflynn/stats v0.7.0
 	github.com/testcontainers/testcontainers-go v0.31.0
 	golang.org/x/oauth2 v0.20.0
@@ -16,7 +16,7 @@ require (
 )
 
 require (
-	cloud.google.com/go v0.113.0 // indirect
+	cloud.google.com/go v0.114.0 // indirect
 	cloud.google.com/go/auth v0.4.1 // indirect
 	cloud.google.com/go/auth/oauth2adapt v0.2.2 // indirect
 	cloud.google.com/go/compute/metadata v0.3.0 // indirect
@@ -28,7 +28,7 @@ require (
 	github.com/cenkalti/backoff/v4 v4.2.1 // indirect
 	github.com/census-instrumentation/opencensus-proto v0.4.1 // indirect
 	github.com/cespare/xxhash/v2 v2.2.0 // indirect
-	github.com/cncf/xds/go v0.0.0-20231128003011-0fa0005c9caa // indirect
+	github.com/cncf/xds/go v0.0.0-20240318125728-8a4994d93e50 // indirect
 	github.com/containerd/containerd v1.7.15 // indirect
 	github.com/containerd/log v0.1.0 // indirect
 	github.com/cpuguy83/dockercfg v0.3.1 // indirect
@@ -94,6 +94,6 @@ require (
 	golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 // indirect
 	google.golang.org/genproto/googleapis/api v0.0.0-20240513163218-0867130af1f8 // indirect
 	google.golang.org/genproto/googleapis/rpc v0.0.0-20240513163218-0867130af1f8 // indirect
-	google.golang.org/grpc v1.63.2 // indirect
+	google.golang.org/grpc v1.64.0 // indirect
 	google.golang.org/protobuf v1.34.1 // indirect
 )
diff --git a/benchmarks/latency-comparison/golang/go.sum b/benchmarks/latency-comparison/golang/go.sum
index e5c1be14..c3f96377 100644
--- a/benchmarks/latency-comparison/golang/go.sum
+++ b/benchmarks/latency-comparison/golang/go.sum
@@ -40,6 +40,8 @@ cloud.google.com/go v0.112.2 h1:ZaGT6LiG7dBzi6zNOvVZwacaXlmf3lRqnC4DQzqyRQw=
 cloud.google.com/go v0.112.2/go.mod h1:iEqjp//KquGIJV/m+Pk3xecgKNhV+ry+vVTsy4TbDms=
 cloud.google.com/go v0.113.0 h1:g3C70mn3lWfckKBiCVsAshabrDg01pQ0pnX1MNtnMkA=
 cloud.google.com/go v0.113.0/go.mod h1:glEqlogERKYeePz6ZdkcLJ28Q2I6aERgDDErBg9GzO8=
+cloud.google.com/go v0.114.0 h1:OIPFAdfrFDFO2ve2U7r/H5SwSbBzEdrBdE7xkgwc+kY=
+cloud.google.com/go v0.114.0/go.mod h1:ZV9La5YYxctro1HTPug5lXH/GefROyW8PPD4T8n9J8E=
 cloud.google.com/go/accessapproval v1.4.0/go.mod h1:zybIuC3KpDOvotz59lFe5qxRZx6C75OtwbisN56xYB4=
 cloud.google.com/go/accessapproval v1.5.0/go.mod h1:HFy3tuiGvMdcd/u+Cu5b9NkO1pEICJ46IR82PoUdplw=
 cloud.google.com/go/accessapproval v1.6.0/go.mod h1:R0EiYnwV5fsRFiKZkPHr6mwyk2wxUJ30nL4j2pcFY2E=
@@ -530,6 +532,8 @@ cloud.google.com/go/spanner v1.61.0 h1:P7XRZDjBnNw+3tHkPrtWzcxtC3Cqhm+X0vWrO61Ry
 cloud.google.com/go/spanner v1.61.0/go.mod h1:+hdNE+zL7EWNfOWRetw01jxz8H5qsE/ayZvF/pfrAl8=
 cloud.google.com/go/spanner v1.62.0 h1:AHjSLrsGYIEzVQLQkF/OBgObSbXlnMpdovai8x+owco=
 cloud.google.com/go/spanner v1.62.0/go.mod h1:ej/7etuxlyxOhfudKk9nUXBVyxr4kK39LMbmSjOeDEM=
+cloud.google.com/go/spanner v1.63.0 h1:P6+BY70Wtol4MtryBgnXZVTZfsdySEvWfz0EpyLwHi4=
+cloud.google.com/go/spanner v1.63.0/go.mod h1:iqDx7urZpgD7RekZ+CFvBRH6kVTW1ZSEb2HMDKOp5Cc=
 cloud.google.com/go/speech v1.6.0/go.mod h1:79tcr4FHCimOp56lwC01xnt/WPJZc4v3gzyT7FoBkCM=
 cloud.google.com/go/speech v1.7.0/go.mod h1:KptqL+BAQIhMsj1kOP2la5DSEEerPDuOP/2mmkhHhZQ=
 cloud.google.com/go/speech v1.8.0/go.mod h1:9bYIl1/tjsAnMgKGHKmBZzXKEkGgtU+MpdDPTE9f7y0=
@@ -672,6 +676,8 @@ github.com/cncf/xds/go v0.0.0-20230105202645-06c439db220b/go.mod h1:eXthEFrGJvWH
 github.com/cncf/xds/go v0.0.0-20230607035331-e9ce68804cb4/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
 github.com/cncf/xds/go v0.0.0-20231128003011-0fa0005c9caa h1:jQCWAUqqlij9Pgj2i/PB79y4KOPYVyFYdROxgaCwdTQ=
 github.com/cncf/xds/go v0.0.0-20231128003011-0fa0005c9caa/go.mod h1:x/1Gn8zydmfq8dk6e9PdstVsDgu9RuyIIJqAaF//0IM=
+github.com/cncf/xds/go v0.0.0-20240318125728-8a4994d93e50 h1:DBmgJDC9dTfkVyGgipamEh2BpGYxScCH1TOF1LL1cXc=
+github.com/cncf/xds/go v0.0.0-20240318125728-8a4994d93e50/go.mod h1:5e1+Vvlzido69INQaVO6d87Qn543Xr6nooe9Kz7oBFM=
 github.com/cockroachdb/apd v1.1.0 h1:3LFP3629v+1aKXU5Q37mxmRxX/pIu1nijXydLShEq5I=
 github.com/cockroachdb/apd v1.1.0/go.mod h1:8Sl8LxpKi29FqWXR16WEFZRNSz3SoPzUzeMeY4+DwBQ=
 github.com/containerd/containerd v1.7.15 h1:afEHXdil9iAm03BmhjzKyXnnEBtjaLJefdU7DV0IFes=
@@ -926,6 +932,8 @@ github.com/jackc/pgx/v4 v4.18.3 h1:dE2/TrEsGX3RBprb3qryqSV9Y60iZN1C6i8IrmW9/BA=
 github.com/jackc/pgx/v4 v4.18.3/go.mod h1:Ey4Oru5tH5sB6tV7hDmfWFahwF15Eb7DNXlRKx2CkVw=
 github.com/jackc/pgx/v5 v5.5.5 h1:amBjrZVmksIdNjxGW/IiIMzxMKZFelXbUoPNb+8sjQw=
 github.com/jackc/pgx/v5 v5.5.5/go.mod h1:ez9gk+OAat140fv9ErkZDYFWmXLfV+++K0uAOiwgm1A=
+github.com/jackc/pgx/v5 v5.6.0 h1:SWJzexBzPL5jb0GEsrPMLIsi/3jOo7RHlzTjcAeDrPY=
+github.com/jackc/pgx/v5 v5.6.0/go.mod h1:DNZ/vlrUnhWCoFGxHAG8U2ljioxukquj7utPDgtQdTw=
 github.com/jackc/puddle v0.0.0-20190413234325-e4ced69a3a2b/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk=
 github.com/jackc/puddle v0.0.0-20190608224051-11cab39313c9/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk=
 github.com/jackc/puddle v1.1.3/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk=
@@ -1790,6 +1798,8 @@ google.golang.org/grpc v1.54.0/go.mod h1:PUSEXI6iWghWaB6lXM4knEgpJNu2qUcKfDtNci3
 google.golang.org/grpc v1.56.3/go.mod h1:I9bI3vqKfayGqPUAwGdOSu7kt6oIJLixfffKrpXqQ9s=
 google.golang.org/grpc v1.63.2 h1:MUeiw1B2maTVZthpU5xvASfTh3LDbxHd6IJ6QQVU+xM=
 google.golang.org/grpc v1.63.2/go.mod h1:WAX/8DgncnokcFUldAxq7GeB5DXHDbMF+lLvDomNkRA=
+google.golang.org/grpc v1.64.0 h1:KH3VH9y/MgNQg1dE7b3XfVK0GsPSIzJwdF617gUSbvY=
+google.golang.org/grpc v1.64.0/go.mod h1:oxjF8E3FBnjp+/gVFYdWacaLDx9na1aqy9oovLpxQYg=
 google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw=
 google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
 google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
diff --git a/benchmarks/latency-comparison/java/pom.xml b/benchmarks/latency-comparison/java/pom.xml
index ad098423..ad779382 100644
--- a/benchmarks/latency-comparison/java/pom.xml
+++ b/benchmarks/latency-comparison/java/pom.xml
@@ -70,7 +70,7 @@
     <dependency>
       <groupId>com.google.cloud</groupId>
       <artifactId>google-cloud-spanner-pgadapter</artifactId>
-      <version>0.33.1</version>
+      <version>0.33.2</version>
     </dependency>
     <dependency>
       <groupId>org.postgresql</groupId>
@@ -92,7 +92,12 @@
     <dependency>
       <groupId>commons-cli</groupId>
       <artifactId>commons-cli</artifactId>
-      <version>1.7.0</version>
+      <version>1.8.0</version>
+    </dependency>
+    <dependency>
+      <groupId>org.checkerframework</groupId>
+      <artifactId>checker-qual</artifactId>
+      <version>3.43.0</version>
     </dependency>
 
     <dependency>
diff --git a/benchmarks/tpcc/pom.xml b/benchmarks/tpcc/pom.xml
index 446ea21a..55b9f324 100644
--- a/benchmarks/tpcc/pom.xml
+++ b/benchmarks/tpcc/pom.xml
@@ -5,7 +5,7 @@
   <parent>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-parent</artifactId>
-    <version>3.2.5</version>
+    <version>3.3.0</version>
     <relativePath/> <!-- lookup parent from repository -->
   </parent>
   <groupId>com.google.cloud.spanner</groupId>
@@ -32,6 +32,13 @@
         <type>pom</type>
         <scope>import</scope>
       </dependency>
+      <dependency>
+        <groupId>org.testcontainers</groupId>
+        <artifactId>testcontainers-bom</artifactId>
+        <version>1.19.8</version>
+        <type>pom</type>
+        <scope>import</scope>
+      </dependency>
     </dependencies>
   </dependencyManagement>
   <dependencies>
@@ -68,6 +75,17 @@
         <groupId>io.opentelemetry</groupId>
         <artifactId>opentelemetry-exporter-otlp</artifactId>
     </dependency>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>4.13.2</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.testcontainers</groupId>
+      <artifactId>testcontainers</artifactId>
+      <scope>test</scope>
+    </dependency>
   </dependencies>
 
   <build>
@@ -79,7 +97,7 @@
       <plugin>
         <groupId>com.spotify.fmt</groupId>
         <artifactId>fmt-maven-plugin</artifactId>
-        <version>2.21.1</version>
+        <version>2.23</version>
         <executions>
           <execution>
             <goals>
diff --git a/benchmarks/tpcc/src/main/java/com/google/cloud/pgadapter/tpcc/AbstractBenchmarkRunner.java b/benchmarks/tpcc/src/main/java/com/google/cloud/pgadapter/tpcc/AbstractBenchmarkRunner.java
index b1c99636..176a7aee 100644
--- a/benchmarks/tpcc/src/main/java/com/google/cloud/pgadapter/tpcc/AbstractBenchmarkRunner.java
+++ b/benchmarks/tpcc/src/main/java/com/google/cloud/pgadapter/tpcc/AbstractBenchmarkRunner.java
@@ -725,7 +725,7 @@ abstract class AbstractBenchmarkRunner implements Runnable {
       int index = 0;
       setParams(statement, params);
       Stopwatch stopwatch = Stopwatch.createStarted();
-      row = paramQueryRow(QueryRowMode.REQUIRE_ONE, statement);
+      row = paramQueryRow(QueryRowMode.ALLOW_MORE_THAN_ONE, statement);
       Duration executionDuration = stopwatch.elapsed();
       metrics.recordLatency(executionDuration.toMillis());
     }
diff --git a/benchmarks/tpcc/src/main/java/com/google/cloud/pgadapter/tpcc/dataloader/NewOrderRowProducer.java b/benchmarks/tpcc/src/main/java/com/google/cloud/pgadapter/tpcc/dataloader/NewOrderRowProducer.java
index 2e9885fc..1680c02a 100644
--- a/benchmarks/tpcc/src/main/java/com/google/cloud/pgadapter/tpcc/dataloader/NewOrderRowProducer.java
+++ b/benchmarks/tpcc/src/main/java/com/google/cloud/pgadapter/tpcc/dataloader/NewOrderRowProducer.java
@@ -18,7 +18,8 @@ import com.google.common.collect.ImmutableList;
 
 class NewOrderRowProducer extends AbstractOrderedIdRowProducer {
   private static final String TABLE = "new_orders";
-  private static final String COLUMNS = """
+  private static final String COLUMNS =
+      """
     o_id,
     c_id,
     d_id,
diff --git a/build/DockerfilePsql11 b/build/DockerfilePsql11
index d99fa680..26d54564 100644
--- a/build/DockerfilePsql11
+++ b/build/DockerfilePsql11
@@ -1,3 +1,3 @@
-FROM alpine:3.19
+FROM alpine:3.20
 RUN apk --no-cache add postgresql-client
 ENTRYPOINT [ "psql" ]
diff --git a/build/DockerfilePsql12 b/build/DockerfilePsql12
index d99fa680..26d54564 100644
--- a/build/DockerfilePsql12
+++ b/build/DockerfilePsql12
@@ -1,3 +1,3 @@
-FROM alpine:3.19
+FROM alpine:3.20
 RUN apk --no-cache add postgresql-client
 ENTRYPOINT [ "psql" ]
diff --git a/build/DockerfilePsql13 b/build/DockerfilePsql13
index 5b9f662d..75cf4882 100644
--- a/build/DockerfilePsql13
+++ b/build/DockerfilePsql13
@@ -1,3 +1,3 @@
-FROM alpine:3.19.1
+FROM alpine:3.20.0
 RUN apk --no-cache add postgresql13-client
 ENTRYPOINT [ "psql" ]
diff --git a/build/DockerfilePsql14 b/build/DockerfilePsql14
index ade411f1..80b950c3 100644
--- a/build/DockerfilePsql14
+++ b/build/DockerfilePsql14
@@ -1,3 +1,3 @@
-FROM alpine:3.19.1
+FROM alpine:3.20.0
 RUN apk --no-cache add postgresql14-client
 ENTRYPOINT [ "psql" ]
diff --git a/pom.xml b/pom.xml
index 04e84e6d..89c033d2 100644
--- a/pom.xml
+++ b/pom.xml
@@ -42,7 +42,7 @@
 
   <modelVersion>4.0.0</modelVersion>
   <artifactId>google-cloud-spanner-pgadapter</artifactId>
-  <version>0.33.2</version><!-- {x-version-update:google-cloud-spanner-pgadapter:current} -->
+  <version>0.33.3-SNAPSHOT</version><!-- {x-version-update:google-cloud-spanner-pgadapter:current} -->
   <name>Google Cloud Spanner PostgreSQL Adapter</name>
   <packaging>jar</packaging>
   <description>
@@ -152,7 +152,7 @@
     <dependency>
       <groupId>org.jetbrains.kotlin</groupId>
       <artifactId>kotlin-stdlib-jdk8</artifactId>
-      <version>1.9.24</version>
+      <version>2.0.0</version>
       <scope>runtime</scope>
     </dependency>
     <dependency>
@@ -185,7 +185,7 @@
     <dependency>
       <groupId>commons-cli</groupId>
       <artifactId>commons-cli</artifactId>
-      <version>1.7.0</version>
+      <version>1.8.0</version>
     </dependency>
     <dependency>
       <groupId>org.apache.commons</groupId>
@@ -200,7 +200,7 @@
     <dependency>
       <groupId>org.apache.maven</groupId>
       <artifactId>maven-model</artifactId>
-      <version>3.9.6</version>
+      <version>3.9.7</version>
     </dependency>
     <dependency>
       <groupId>org.bouncycastle</groupId>
diff --git a/samples/cloud-run/golang/go.mod b/samples/cloud-run/golang/go.mod
index c9937743..8c8a71ec 100644
--- a/samples/cloud-run/golang/go.mod
+++ b/samples/cloud-run/golang/go.mod
@@ -2,7 +2,7 @@ module pgadapter-cloud-run
 
 go 1.19
 
-require github.com/jackc/pgx/v5 v5.5.5
+require github.com/jackc/pgx/v5 v5.6.0
 
 require (
 	github.com/jackc/pgpassfile v1.0.0 // indirect
diff --git a/samples/cloud-run/golang/go.sum b/samples/cloud-run/golang/go.sum
index a6d78a0c..7d1c918a 100644
--- a/samples/cloud-run/golang/go.sum
+++ b/samples/cloud-run/golang/go.sum
@@ -8,6 +8,8 @@ github.com/jackc/pgx/v5 v5.5.4 h1:Xp2aQS8uXButQdnCMWNmvx6UysWQQC+u1EoizjguY+8=
 github.com/jackc/pgx/v5 v5.5.4/go.mod h1:ez9gk+OAat140fv9ErkZDYFWmXLfV+++K0uAOiwgm1A=
 github.com/jackc/pgx/v5 v5.5.5 h1:amBjrZVmksIdNjxGW/IiIMzxMKZFelXbUoPNb+8sjQw=
 github.com/jackc/pgx/v5 v5.5.5/go.mod h1:ez9gk+OAat140fv9ErkZDYFWmXLfV+++K0uAOiwgm1A=
+github.com/jackc/pgx/v5 v5.6.0 h1:SWJzexBzPL5jb0GEsrPMLIsi/3jOo7RHlzTjcAeDrPY=
+github.com/jackc/pgx/v5 v5.6.0/go.mod h1:DNZ/vlrUnhWCoFGxHAG8U2ljioxukquj7utPDgtQdTw=
 github.com/jackc/puddle/v2 v2.2.1 h1:RhxXJtFG022u4ibrCSMSiu5aOq1i77R3OHKNJj77OAk=
 github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
 github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
diff --git a/samples/cloud-run/java/pom.xml b/samples/cloud-run/java/pom.xml
index fbf76007..761db4cc 100644
--- a/samples/cloud-run/java/pom.xml
+++ b/samples/cloud-run/java/pom.xml
@@ -21,7 +21,7 @@
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
     <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
 
-    <spring-boot.version>3.2.5</spring-boot.version>
+    <spring-boot.version>3.3.0</spring-boot.version>
     <junixsocket.version>2.9.1</junixsocket.version>
   </properties>
 
diff --git a/samples/golang/gorm/go.mod b/samples/golang/gorm/go.mod
index 0e8af400..7c622c65 100644
--- a/samples/golang/gorm/go.mod
+++ b/samples/golang/gorm/go.mod
@@ -3,7 +3,7 @@ module gorm
 go 1.21
 
 require (
-	github.com/GoogleCloudPlatform/pgadapter/wrappers/golang v0.0.0-20240522081835-cfb53f31e39f
+	github.com/GoogleCloudPlatform/pgadapter/wrappers/golang v0.0.0-20240523180507-ef04d3b56a37
 	github.com/google/uuid v1.6.0
 	github.com/jackc/pgtype v1.14.3
 	github.com/shopspring/decimal v1.4.0
diff --git a/samples/golang/gorm/go.sum b/samples/golang/gorm/go.sum
index 0ba72fed..0095a35a 100644
--- a/samples/golang/gorm/go.sum
+++ b/samples/golang/gorm/go.sum
@@ -17,6 +17,8 @@ github.com/GoogleCloudPlatform/pgadapter/wrappers/golang v0.0.0-20240516111254-4
 github.com/GoogleCloudPlatform/pgadapter/wrappers/golang v0.0.0-20240516111254-4142f0a3ddee/go.mod h1:ukAIL5yxFOr/l8R1uDAlBVwJAcQoYZGLcKJfhnifaH4=
 github.com/GoogleCloudPlatform/pgadapter/wrappers/golang v0.0.0-20240522081835-cfb53f31e39f h1:T4YWsLWNb9OPxsmf8m1PyYKwM4STgNiyfQVNMbLhk8k=
 github.com/GoogleCloudPlatform/pgadapter/wrappers/golang v0.0.0-20240522081835-cfb53f31e39f/go.mod h1:DhQKwQgWo9DILxKwvNu93rJ1GDZYUu7m87V+KZCwgoc=
+github.com/GoogleCloudPlatform/pgadapter/wrappers/golang v0.0.0-20240523180507-ef04d3b56a37 h1:ff2X07oYwNmez5/qaibBGJwaIGqEBw1LMPL8z7D0+o0=
+github.com/GoogleCloudPlatform/pgadapter/wrappers/golang v0.0.0-20240523180507-ef04d3b56a37/go.mod h1:DhQKwQgWo9DILxKwvNu93rJ1GDZYUu7m87V+KZCwgoc=
 github.com/Masterminds/semver/v3 v3.1.1/go.mod h1:VPu/7SZ7ePZ3QOrcuXROw5FAcLl4a0cBrbBpGY/8hQs=
 github.com/Microsoft/go-winio v0.6.1 h1:9/kr64B9VUZrLm5YYwbGtUJnMgqWVOdUAXu6Migciow=
 github.com/Microsoft/go-winio v0.6.1/go.mod h1:LRdKpFKfdobln8UmuiYcKPot9D2v6svN5+sAH+4kjUM=
diff --git a/samples/golang/pgx/go.mod b/samples/golang/pgx/go.mod
index 94b584b1..23e2423f 100644
--- a/samples/golang/pgx/go.mod
+++ b/samples/golang/pgx/go.mod
@@ -5,8 +5,8 @@ go 1.21
 toolchain go1.22.3
 
 require (
-	github.com/GoogleCloudPlatform/pgadapter/wrappers/golang v0.0.0-20240522081835-cfb53f31e39f
-	github.com/jackc/pgx/v5 v5.5.5
+	github.com/GoogleCloudPlatform/pgadapter/wrappers/golang v0.0.0-20240523180507-ef04d3b56a37
+	github.com/jackc/pgx/v5 v5.6.0
 )
 
 require (
diff --git a/samples/golang/pgx/go.sum b/samples/golang/pgx/go.sum
index 01b6aebf..9ffcac2f 100644
--- a/samples/golang/pgx/go.sum
+++ b/samples/golang/pgx/go.sum
@@ -15,6 +15,8 @@ github.com/GoogleCloudPlatform/pgadapter/wrappers/golang v0.0.0-20240516111254-4
 github.com/GoogleCloudPlatform/pgadapter/wrappers/golang v0.0.0-20240516111254-4142f0a3ddee/go.mod h1:ukAIL5yxFOr/l8R1uDAlBVwJAcQoYZGLcKJfhnifaH4=
 github.com/GoogleCloudPlatform/pgadapter/wrappers/golang v0.0.0-20240522081835-cfb53f31e39f h1:T4YWsLWNb9OPxsmf8m1PyYKwM4STgNiyfQVNMbLhk8k=
 github.com/GoogleCloudPlatform/pgadapter/wrappers/golang v0.0.0-20240522081835-cfb53f31e39f/go.mod h1:DhQKwQgWo9DILxKwvNu93rJ1GDZYUu7m87V+KZCwgoc=
+github.com/GoogleCloudPlatform/pgadapter/wrappers/golang v0.0.0-20240523180507-ef04d3b56a37 h1:ff2X07oYwNmez5/qaibBGJwaIGqEBw1LMPL8z7D0+o0=
+github.com/GoogleCloudPlatform/pgadapter/wrappers/golang v0.0.0-20240523180507-ef04d3b56a37/go.mod h1:DhQKwQgWo9DILxKwvNu93rJ1GDZYUu7m87V+KZCwgoc=
 github.com/Microsoft/go-winio v0.6.1 h1:9/kr64B9VUZrLm5YYwbGtUJnMgqWVOdUAXu6Migciow=
 github.com/Microsoft/go-winio v0.6.1/go.mod h1:LRdKpFKfdobln8UmuiYcKPot9D2v6svN5+sAH+4kjUM=
 github.com/Microsoft/hcsshim v0.11.4 h1:68vKo2VN8DE9AdN4tnkWnmdhqdbpUFM8OF3Airm7fz8=
@@ -81,6 +83,8 @@ github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a h1:bbPeKD0xmW/
 github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a/go.mod h1:5TJZWKEWniPve33vlWYSoGYefn3gLQRzjfDlhSJ9ZKM=
 github.com/jackc/pgx/v5 v5.5.5 h1:amBjrZVmksIdNjxGW/IiIMzxMKZFelXbUoPNb+8sjQw=
 github.com/jackc/pgx/v5 v5.5.5/go.mod h1:ez9gk+OAat140fv9ErkZDYFWmXLfV+++K0uAOiwgm1A=
+github.com/jackc/pgx/v5 v5.6.0 h1:SWJzexBzPL5jb0GEsrPMLIsi/3jOo7RHlzTjcAeDrPY=
+github.com/jackc/pgx/v5 v5.6.0/go.mod h1:DNZ/vlrUnhWCoFGxHAG8U2ljioxukquj7utPDgtQdTw=
 github.com/jackc/puddle/v2 v2.2.1 h1:RhxXJtFG022u4ibrCSMSiu5aOq1i77R3OHKNJj77OAk=
 github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=
 github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
diff --git a/samples/java/cloud-run/pom.xml b/samples/java/cloud-run/pom.xml
index 4187f83e..695f6c8a 100644
--- a/samples/java/cloud-run/pom.xml
+++ b/samples/java/cloud-run/pom.xml
@@ -36,7 +36,7 @@
       <dependency>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-dependencies</artifactId>
-        <version>3.2.5</version>
+        <version>3.3.0</version>
         <type>pom</type>
         <scope>import</scope>
       </dependency>
diff --git a/samples/java/hibernate/pom.xml b/samples/java/hibernate/pom.xml
index a913c88f..04b1009b 100644
--- a/samples/java/hibernate/pom.xml
+++ b/samples/java/hibernate/pom.xml
@@ -33,7 +33,7 @@
     <dependency>
       <groupId>com.google.cloud</groupId>
       <artifactId>google-cloud-spanner-pgadapter</artifactId>
-      <version>0.33.1</version>
+      <version>0.33.2</version>
     </dependency>
     <!-- Hibernate core dependency -->
     <dependency>
diff --git a/samples/java/jdbc/pom.xml b/samples/java/jdbc/pom.xml
index 76f92cbe..5c8af42a 100644
--- a/samples/java/jdbc/pom.xml
+++ b/samples/java/jdbc/pom.xml
@@ -56,7 +56,7 @@
     <dependency>
       <groupId>com.google.cloud</groupId>
       <artifactId>google-cloud-spanner-pgadapter</artifactId>
-      <version>0.33.1</version>
+      <version>0.33.2</version>
     </dependency>
     <!-- [END pgadapter_and_jdbc_dependency] -->
     <dependency>
diff --git a/samples/java/spring-data-jpa/pom.xml b/samples/java/spring-data-jpa/pom.xml
index b7e45814..e00914c1 100644
--- a/samples/java/spring-data-jpa/pom.xml
+++ b/samples/java/spring-data-jpa/pom.xml
@@ -5,7 +5,7 @@
   <parent>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-parent</artifactId>
-    <version>3.2.5</version>
+    <version>3.3.0</version>
     <relativePath/> <!-- lookup parent from repository -->
   </parent>
   <groupId>com.google.cloud.spanner</groupId>
@@ -42,7 +42,7 @@
     <dependency>
       <groupId>com.google.cloud</groupId>
       <artifactId>google-cloud-spanner-pgadapter</artifactId>
-      <version>0.33.1</version>
+      <version>0.33.2</version>
     </dependency>
     <!-- Add Spanner Hibernate tools for access to the batch compatible bit-reversed sequence generator. -->
     <dependency>
diff --git a/samples/python/django/requirements.txt b/samples/python/django/requirements.txt
index 8f96092d..9ae930a8 100644
--- a/samples/python/django/requirements.txt
+++ b/samples/python/django/requirements.txt
@@ -3,5 +3,5 @@ pytz==2024.1
 Django==5.0.6
 google==3.0.0
 google.auth==2.29.0
-testcontainers==4.4.1
-requests<2.32.0  # `requests` renamed `get_connection` to `_get_connection`, which is a method docker-py monkeypatches. See https://github.com/docker/docker-py/issues/3256 Should be able to un-pin when docker-py hotfix is out.
+testcontainers==4.5.0
+requests==2.32.2
diff --git a/samples/python/psycopg3/requirements.txt b/samples/python/psycopg3/requirements.txt
index ec3d405a..bd798dba 100644
--- a/samples/python/psycopg3/requirements.txt
+++ b/samples/python/psycopg3/requirements.txt
@@ -1,5 +1,5 @@
 psycopg[binary]~=3.1.19
-testcontainers~=4.4.1
-requests<2.32.0  # `requests` renamed `get_connection` to `_get_connection`, which is a method docker-py monkeypatches. See https://github.com/docker/docker-py/issues/3256 Should be able to un-pin when docker-py hotfix is out.
+testcontainers~=4.5.0
+requests==2.32.2
 google~=3.0.0
 google.auth~=2.29.0
\ No newline at end of file
diff --git a/samples/python/sqlalchemy2-sample/requirements.txt b/samples/python/sqlalchemy2-sample/requirements.txt
index 86f70c6a..696622fd 100644
--- a/samples/python/sqlalchemy2-sample/requirements.txt
+++ b/samples/python/sqlalchemy2-sample/requirements.txt
@@ -3,5 +3,5 @@ pytz==2024.1
 sqlalchemy==2.0.27
 google~=3.0.0
 google.auth~=2.29.0
-testcontainers~=4.4.0
-requests<2.32.0  # `requests` renamed `get_connection` to `_get_connection`, which is a method docker-py monkeypatches. See https://github.com/docker/docker-py/issues/3256 Should be able to un-pin when docker-py hotfix is out.
+testcontainers~=4.5.0
+requests==2.32.2
diff --git a/src/main/java/com/google/cloud/spanner/pgadapter/ConnectionHandler.java b/src/main/java/com/google/cloud/spanner/pgadapter/ConnectionHandler.java
index 932e2169..aab09343 100644
--- a/src/main/java/com/google/cloud/spanner/pgadapter/ConnectionHandler.java
+++ b/src/main/java/com/google/cloud/spanner/pgadapter/ConnectionHandler.java
@@ -665,7 +665,8 @@ public class ConnectionHandler implements Runnable {
   public IntermediatePreparedStatement getStatement(String statementName) {
     if (!hasStatement(statementName)) {
       throw PGExceptionFactory.newPGException(
-          "prepared statement " + statementName + " does not exist");
+          "prepared statement " + statementName + " does not exist",
+          SQLState.InvalidSqlStatementName);
     }
     return this.statementsMap.get(statementName);
   }
diff --git a/src/main/java/com/google/cloud/spanner/pgadapter/error/SQLState.java b/src/main/java/com/google/cloud/spanner/pgadapter/error/SQLState.java
index 724cd1fb..b2afd47e 100644
--- a/src/main/java/com/google/cloud/spanner/pgadapter/error/SQLState.java
+++ b/src/main/java/com/google/cloud/spanner/pgadapter/error/SQLState.java
@@ -158,6 +158,9 @@ public enum SQLState {
   InFailedSqlTransaction("25P02"),
   IdleInTransactionSessionTimeout("25P03"),
 
+  // Class 26 - Invalid SQL statement name
+  InvalidSqlStatementName("26000"),
+
   // Class 34 - Cursor
   InvalidCursorName("34000"),
 
diff --git a/src/main/java/com/google/cloud/spanner/pgadapter/statements/DiscardStatement.java b/src/main/java/com/google/cloud/spanner/pgadapter/statements/DiscardStatement.java
new file mode 100644
index 00000000..3a95dddc
--- /dev/null
+++ b/src/main/java/com/google/cloud/spanner/pgadapter/statements/DiscardStatement.java
@@ -0,0 +1,153 @@
+// Copyright 2024 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package com.google.cloud.spanner.pgadapter.statements;
+
+import com.google.cloud.spanner.Statement;
+import com.google.cloud.spanner.connection.AbstractStatementParser.ParsedStatement;
+import com.google.cloud.spanner.connection.AbstractStatementParser.StatementType;
+import com.google.cloud.spanner.connection.StatementResult;
+import com.google.cloud.spanner.pgadapter.ConnectionHandler;
+import com.google.cloud.spanner.pgadapter.error.PGExceptionFactory;
+import com.google.cloud.spanner.pgadapter.error.SQLState;
+import com.google.cloud.spanner.pgadapter.metadata.OptionsMetadata;
+import com.google.cloud.spanner.pgadapter.statements.BackendConnection.ConnectionState;
+import com.google.cloud.spanner.pgadapter.statements.BackendConnection.NoResult;
+import com.google.cloud.spanner.pgadapter.statements.DiscardStatement.ParsedDiscardStatement.DiscardType;
+import com.google.common.base.Preconditions;
+import com.google.common.collect.ImmutableList;
+import com.google.common.util.concurrent.Futures;
+import java.util.List;
+import java.util.concurrent.Future;
+
+public class DiscardStatement extends IntermediatePortalStatement {
+  static final class ParsedDiscardStatement {
+    enum DiscardType {
+      PLANS,
+      SEQUENCES,
+      TEMPORARY,
+      ALL,
+    }
+
+    final DiscardType type;
+
+    private ParsedDiscardStatement(DiscardType type) {
+      this.type = type;
+    }
+  }
+
+  private final ParsedDiscardStatement discardStatement;
+
+  public DiscardStatement(
+      ConnectionHandler connectionHandler,
+      OptionsMetadata options,
+      String name,
+      ParsedStatement parsedStatement,
+      Statement originalStatement) {
+    super(
+        name,
+        new IntermediatePreparedStatement(
+            connectionHandler,
+            options,
+            name,
+            NO_PARAMETER_TYPES,
+            parsedStatement,
+            originalStatement),
+        NO_PARAMS,
+        ImmutableList.of(),
+        ImmutableList.of());
+    this.discardStatement = parse(originalStatement.getSql());
+  }
+
+  @Override
+  public String getCommandTag() {
+    return "DISCARD";
+  }
+
+  @Override
+  public StatementType getStatementType() {
+    return StatementType.CLIENT_SIDE;
+  }
+
+  @Override
+  public void executeAsync(BackendConnection backendConnection) {
+    this.executed = true;
+    try {
+      switch (discardStatement.type) {
+        case ALL:
+          if (backendConnection.getConnectionState() == ConnectionState.TRANSACTION) {
+            setFutureStatementResult(
+                Futures.immediateFailedFuture(
+                    PGExceptionFactory.newPGException(
+                        "DISCARD ALL cannot run inside a transaction block",
+                        SQLState.ActiveSqlTransaction)));
+            return;
+          }
+          backendConnection.getSessionState().resetAll();
+          connectionHandler.closeAllStatements();
+          break;
+        case PLANS:
+        case SEQUENCES:
+        case TEMPORARY:
+        default:
+          // The default is no-op as PGAdapter does not support clearing plans, sequences or
+          // temporary tables.
+      }
+    } catch (Exception exception) {
+      setFutureStatementResult(Futures.immediateFailedFuture(exception));
+      return;
+    }
+    setFutureStatementResult(Futures.immediateFuture(new NoResult()));
+  }
+
+  @Override
+  public Future<StatementResult> describeAsync(BackendConnection backendConnection) {
+    // Return null to indicate that this DISCARD statement does not return any
+    // RowDescriptionResponse.
+    return Futures.immediateFuture(null);
+  }
+
+  @Override
+  public IntermediatePortalStatement createPortal(
+      String name,
+      byte[][] parameters,
+      List<Short> parameterFormatCodes,
+      List<Short> resultFormatCodes) {
+    // DISCARD does not support binding any parameters, so we just return the same statement.
+    return this;
+  }
+
+  static ParsedDiscardStatement parse(String sql) {
+    Preconditions.checkNotNull(sql);
+
+    SimpleParser parser = new SimpleParser(sql);
+    if (!parser.eatKeyword("discard")) {
+      throw PGExceptionFactory.newPGException("not a valid DISCARD statement: " + sql);
+    }
+    DiscardType type;
+    if (parser.eatKeyword("all")) {
+      type = DiscardType.ALL;
+    } else if (parser.eatKeyword("plans")) {
+      type = DiscardType.PLANS;
+    } else if (parser.eatKeyword("sequences")) {
+      type = DiscardType.SEQUENCES;
+    } else if (parser.eatKeyword("temp") || parser.eatKeyword("temporary")) {
+      type = DiscardType.TEMPORARY;
+    } else {
+      throw PGExceptionFactory.newPGException("Invalid DISCARD statement: " + parser.getSql());
+    }
+    parser.throwIfHasMoreTokens();
+    return new ParsedDiscardStatement(type);
+  }
+}
diff --git a/src/main/java/com/google/cloud/spanner/pgadapter/wireprotocol/ParseMessage.java b/src/main/java/com/google/cloud/spanner/pgadapter/wireprotocol/ParseMessage.java
index a10a767a..b01fc53f 100644
--- a/src/main/java/com/google/cloud/spanner/pgadapter/wireprotocol/ParseMessage.java
+++ b/src/main/java/com/google/cloud/spanner/pgadapter/wireprotocol/ParseMessage.java
@@ -19,6 +19,7 @@ import static com.google.cloud.spanner.pgadapter.wireprotocol.QueryMessage.CLOSE
 import static com.google.cloud.spanner.pgadapter.wireprotocol.QueryMessage.COPY;
 import static com.google.cloud.spanner.pgadapter.wireprotocol.QueryMessage.DEALLOCATE;
 import static com.google.cloud.spanner.pgadapter.wireprotocol.QueryMessage.DECLARE;
+import static com.google.cloud.spanner.pgadapter.wireprotocol.QueryMessage.DISCARD;
 import static com.google.cloud.spanner.pgadapter.wireprotocol.QueryMessage.EXECUTE;
 import static com.google.cloud.spanner.pgadapter.wireprotocol.QueryMessage.FETCH;
 import static com.google.cloud.spanner.pgadapter.wireprotocol.QueryMessage.MOVE;
@@ -44,6 +45,7 @@ import com.google.cloud.spanner.pgadapter.statements.CloseStatement;
 import com.google.cloud.spanner.pgadapter.statements.CopyStatement;
 import com.google.cloud.spanner.pgadapter.statements.DeallocateStatement;
 import com.google.cloud.spanner.pgadapter.statements.DeclareStatement;
+import com.google.cloud.spanner.pgadapter.statements.DiscardStatement;
 import com.google.cloud.spanner.pgadapter.statements.ExecuteStatement;
 import com.google.cloud.spanner.pgadapter.statements.FetchStatement;
 import com.google.cloud.spanner.pgadapter.statements.IntermediatePreparedStatement;
@@ -148,6 +150,13 @@ public class ParseMessage extends AbstractQueryProtocolMessage {
             name,
             parsedStatement,
             originalStatement);
+      } else if (isCommand(DISCARD, originalStatement.getSql())) {
+        return new DiscardStatement(
+            connectionHandler,
+            connectionHandler.getServer().getOptions(),
+            name,
+            parsedStatement,
+            originalStatement);
       } else if (isCommand(DECLARE, originalStatement.getSql())) {
         return new DeclareStatement(
             connectionHandler,
diff --git a/src/main/java/com/google/cloud/spanner/pgadapter/wireprotocol/QueryMessage.java b/src/main/java/com/google/cloud/spanner/pgadapter/wireprotocol/QueryMessage.java
index 454288a5..61135469 100644
--- a/src/main/java/com/google/cloud/spanner/pgadapter/wireprotocol/QueryMessage.java
+++ b/src/main/java/com/google/cloud/spanner/pgadapter/wireprotocol/QueryMessage.java
@@ -29,6 +29,7 @@ public class QueryMessage extends ControlMessage {
   public static final String PREPARE = "PREPARE";
   public static final String EXECUTE = "EXECUTE";
   public static final String DEALLOCATE = "DEALLOCATE";
+  public static final String DISCARD = "DISCARD";
   public static final String VACUUM = "VACUUM";
   public static final String TRUNCATE = "TRUNCATE";
   public static final String SAVEPOINT = "SAVEPOINT";
diff --git a/versions.txt b/versions.txt
index edf3eb3d..68c164b3 100644
--- a/versions.txt
+++ b/versions.txt
@@ -1,4 +1,4 @@
 # Format:
 # module:released-version:current-version
 
-google-cloud-spanner-pgadapter:0.33.2:0.33.2
+google-cloud-spanner-pgadapter:0.33.2:0.33.3-SNAPSHOT


Test patch:
diff --git a/.github/workflows/benchmark-tests.yml b/.github/workflows/benchmark-tests.yml
index 31b68465..ebbd539c 100644
--- a/.github/workflows/benchmark-tests.yml
+++ b/.github/workflows/benchmark-tests.yml
@@ -18,3 +18,6 @@ jobs:
       - name: Run Java Latency Benchmark tests
         working-directory: ./benchmarks/latency-comparison/java
         run: mvn test -B
+      - name: Run TPCC Benchmark tests (only data loading)
+        working-directory: ./benchmarks/tpcc
+        run: mvn test -B
diff --git a/benchmarks/tpcc/src/test/java/com/google/cloud/pgadapter/tpcc/BenchmarkApplicationTest.java b/benchmarks/tpcc/src/test/java/com/google/cloud/pgadapter/tpcc/BenchmarkApplicationTest.java
new file mode 100644
index 00000000..f0be1fc9
--- /dev/null
+++ b/benchmarks/tpcc/src/test/java/com/google/cloud/pgadapter/tpcc/BenchmarkApplicationTest.java
@@ -0,0 +1,94 @@
+// Copyright 2024 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package com.google.cloud.pgadapter.tpcc;
+
+import io.grpc.Server;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.JUnit4;
+import org.springframework.boot.SpringApplication;
+import org.testcontainers.containers.GenericContainer;
+import org.testcontainers.containers.wait.strategy.Wait;
+import org.testcontainers.utility.DockerImageName;
+
+@RunWith(JUnit4.class)
+public class BenchmarkApplicationTest {
+
+  interface Server {
+    int getPort();
+
+    void shutdown();
+  }
+
+  static class PGAdapterWithEmulator implements Server {
+    private final GenericContainer<?> container;
+
+    PGAdapterWithEmulator(GenericContainer<?> container) {
+      this.container = container;
+    }
+
+    @Override
+    public int getPort() {
+      return container.getMappedPort(5432);
+    }
+
+    @Override
+    public void shutdown() {
+      container.stop();
+    }
+  }
+
+  /** Starts a Docker container that contains both PGAdapter and the Cloud Spanner Emulator. */
+  static Server startPGAdapterWithEmulator() {
+    GenericContainer<?> container =
+        new GenericContainer<>(
+            DockerImageName.parse("gcr.io/cloud-spanner-pg-adapter/pgadapter-emulator"));
+    container.addExposedPort(5432);
+    container.setWaitStrategy(Wait.forListeningPorts(5432));
+    container.start();
+
+    return new PGAdapterWithEmulator(container);
+  }
+
+  @Test
+  public void testRunApplication() throws Exception {
+    // Start a Docker container with the Cloud Spanner Emulator.
+    // The server will be started on a random available port.
+    Server server = startPGAdapterWithEmulator();
+
+    try {
+      System.setProperty("tpcc.benchmark-duration", "PT10s");
+      System.setProperty("tpcc.warehouses", "1");
+      System.setProperty("tpcc.benchmark-threads", "1");
+      System.setProperty("tpcc.load-data", "true");
+      System.setProperty("tpcc.truncate-before-load", "false");
+      System.setProperty("tpcc.run-benchmark", "false");
+      System.setProperty("tpcc.benchmark-runner", "pgadapter");
+      System.setProperty("tpcc.use-read-only-transactions", "true");
+      System.setProperty("tpcc.lock-scanned-ranges", "false");
+      System.setProperty("spanner.project", "test-project");
+      System.setProperty("spanner.instance", "test-instance");
+      System.setProperty("spanner.database", "tpcc");
+      System.setProperty("pgadapter.in-process", "false");
+      System.setProperty("pgadapter.port", String.valueOf(server.getPort()));
+      System.setProperty("pgadapter.enable-open-telemetry", "false");
+      System.setProperty("pgadapter.enable-open-telemetry-metrics", "false");
+      System.setProperty("pgadapter.credentials", "");
+      SpringApplication.run(BenchmarkApplication.class).close();
+    } finally {
+      server.shutdown();
+    }
+  }
+}
diff --git a/src/test/java/com/google/cloud/spanner/pgadapter/JdbcSimpleModeMockServerTest.java b/src/test/java/com/google/cloud/spanner/pgadapter/JdbcSimpleModeMockServerTest.java
index fe173f6e..aa8401dd 100644
--- a/src/test/java/com/google/cloud/spanner/pgadapter/JdbcSimpleModeMockServerTest.java
+++ b/src/test/java/com/google/cloud/spanner/pgadapter/JdbcSimpleModeMockServerTest.java
@@ -16,12 +16,14 @@ package com.google.cloud.spanner.pgadapter;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertThrows;
 import static org.junit.Assert.assertTrue;
 
 import com.google.cloud.spanner.Dialect;
 import com.google.cloud.spanner.MockSpannerServiceImpl.StatementResult;
 import com.google.cloud.spanner.SpannerException;
+import com.google.cloud.spanner.pgadapter.error.SQLState;
 import com.google.cloud.spanner.pgadapter.metadata.OptionsMetadata;
 import com.google.common.collect.ImmutableList;
 import com.google.protobuf.ListValue;
@@ -54,6 +56,7 @@ import org.junit.runners.Parameterized;
 import org.junit.runners.Parameterized.Parameter;
 import org.junit.runners.Parameterized.Parameters;
 import org.postgresql.jdbc.TimestampUtils;
+import org.postgresql.util.PSQLException;
 
 /**
  * Tests the native PG JDBC driver in simple query mode. This is similar to the protocol that is
@@ -571,6 +574,57 @@ public class JdbcSimpleModeMockServerTest extends AbstractMockServerTest {
     }
   }
 
+  @Test
+  public void testDiscard() throws SQLException {
+    try (Connection connection = DriverManager.getConnection(createUrl())) {
+      connection.setAutoCommit(true);
+      // Verify that all variants are supported.
+      connection.createStatement().execute("discard all");
+      connection.createStatement().execute("discard plans");
+      connection.createStatement().execute("discard sequences");
+      connection.createStatement().execute("discard temp");
+      connection.createStatement().execute("discard temporary");
+
+      // Create a prepared statement verify that it is dropped by DISCARD ALL.
+      connection.createStatement().execute("prepare foo as SELECT 1");
+      connection.createStatement().execute("execute foo");
+      connection.createStatement().execute("discard all");
+      PSQLException exception =
+          assertThrows(
+              PSQLException.class, () -> connection.createStatement().execute("execute foo"));
+      assertNotNull(exception.getServerErrorMessage());
+      assertEquals(
+          SQLState.InvalidSqlStatementName.toString(),
+          exception.getServerErrorMessage().getSQLState());
+
+      // Verify that DISCARD ALL resets all session state.
+      connection.createStatement().execute("set spanner.copy_upsert=true");
+      try (ResultSet resultSet =
+          connection.createStatement().executeQuery("show spanner.copy_upsert")) {
+        assertTrue(resultSet.next());
+        assertTrue(resultSet.getBoolean(1));
+        assertFalse(resultSet.next());
+      }
+      connection.createStatement().execute("discard all");
+      try (ResultSet resultSet =
+          connection.createStatement().executeQuery("show spanner.copy_upsert")) {
+        assertTrue(resultSet.next());
+        assertFalse(resultSet.getBoolean(1));
+        assertFalse(resultSet.next());
+      }
+
+      // Verify that 'discard all' is not accepted in a transaction block.
+      connection.setAutoCommit(false);
+      exception =
+          assertThrows(
+              PSQLException.class, () -> connection.createStatement().execute("discard all"));
+      assertNotNull(exception.getServerErrorMessage());
+      assertEquals(
+          SQLState.ActiveSqlTransaction.toString(),
+          exception.getServerErrorMessage().getSQLState());
+    }
+  }
+
   @Test
   public void testGetTimezoneStringUtc() throws SQLException {
     String sql = "select '2022-01-01 10:00:00+01'::timestamptz";
diff --git a/src/test/java/com/google/cloud/spanner/pgadapter/PgAdapterTestEnv.java b/src/test/java/com/google/cloud/spanner/pgadapter/PgAdapterTestEnv.java
index 9d3281de..087a61ed 100644
--- a/src/test/java/com/google/cloud/spanner/pgadapter/PgAdapterTestEnv.java
+++ b/src/test/java/com/google/cloud/spanner/pgadapter/PgAdapterTestEnv.java
@@ -50,6 +50,8 @@ import java.io.FileInputStream;
 import java.io.IOException;
 import java.net.URL;
 import java.nio.ByteBuffer;
+import java.time.Duration;
+import java.time.Instant;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collections;
@@ -58,6 +60,7 @@ import java.util.Map;
 import java.util.UUID;
 import java.util.concurrent.ExecutionException;
 import java.util.concurrent.TimeUnit;
+import java.util.concurrent.atomic.AtomicBoolean;
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
@@ -67,6 +70,7 @@ public class PgAdapterTestEnv {
   private static final int INIT_PROTOCOL = 80877103;
   private static final int OPTIONS_PROTOCOL = 196608;
   private static final String CHANNEL_PROVIDER_PROPERTY = "CHANNEL_PROVIDER";
+  private static final AtomicBoolean DELETED_STALE_DATABASES = new AtomicBoolean();
 
   // GCP credentials file should be set through the 'GOOGLE_APPLICATION_CREDENTIALS' environment
   // variable.
@@ -189,6 +193,26 @@ public class PgAdapterTestEnv {
     spannerHost = getSpannerUrl();
     logger.info("Using Spanner host: " + spannerHost);
     options = createSpannerOptions();
+    deleteStaleTestDatabases();
+  }
+
+  private void deleteStaleTestDatabases() {
+    if (isDropStaleTestDatabases() && DELETED_STALE_DATABASES.compareAndSet(false, true)) {
+      DatabaseAdminClient client = getSpanner().getDatabaseAdminClient();
+      long thresholdTime = Instant.now().getEpochSecond() - Duration.ofHours(6L).getSeconds();
+      for (Database database : client.listDatabases(getInstanceId()).iterateAll()) {
+        if ((database.getId().getDatabase().startsWith("testdb_")
+                || database.getId().getDatabase().startsWith(getDatabaseId()))
+            && database.getCreateTime().getSeconds() <= thresholdTime) {
+          logger.info("Dropping stale test database " + database.getId().getName());
+          database.drop();
+        }
+      }
+    }
+  }
+
+  private boolean isDropStaleTestDatabases() {
+    return Boolean.parseBoolean(System.getenv("PG_ADAPTER_DROP_STALE_DATABASES"));
   }
 
   public void startPGAdapterServer(Iterable<String> additionalPGAdapterOptions) {
diff --git a/src/test/java/com/google/cloud/spanner/pgadapter/statements/DiscardStatementTest.java b/src/test/java/com/google/cloud/spanner/pgadapter/statements/DiscardStatementTest.java
new file mode 100644
index 00000000..331c61c4
--- /dev/null
+++ b/src/test/java/com/google/cloud/spanner/pgadapter/statements/DiscardStatementTest.java
@@ -0,0 +1,44 @@
+// Copyright 2022 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package com.google.cloud.spanner.pgadapter.statements;
+
+import static com.google.cloud.spanner.pgadapter.statements.DiscardStatement.parse;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertThrows;
+
+import com.google.cloud.spanner.pgadapter.error.PGException;
+import com.google.cloud.spanner.pgadapter.statements.DiscardStatement.ParsedDiscardStatement.DiscardType;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.JUnit4;
+
+@RunWith(JUnit4.class)
+public class DiscardStatementTest {
+
+  @Test
+  public void testParse() {
+    assertEquals(DiscardType.ALL, parse("discard all").type);
+    assertEquals(DiscardType.PLANS, parse("discard plans").type);
+    assertEquals(DiscardType.SEQUENCES, parse("discard sequences").type);
+    assertEquals(DiscardType.TEMPORARY, parse("discard temp").type);
+    assertEquals(DiscardType.TEMPORARY, parse("discard temporary").type);
+    assertEquals(DiscardType.TEMPORARY, parse("discard/*comment*/temporary").type);
+
+    assertThrows(PGException.class, () -> parse("discard foo"));
+    assertThrows(PGException.class, () -> parse("discard"));
+    assertThrows(PGException.class, () -> parse("deallocate all foo"));
+    assertThrows(PGException.class, () -> parse("discard temp all"));
+  }
+}