From 08ae3e483b55f248938ede21bfbf3a3d900b53ef Mon Sep 17 00:00:00 2001 From: chalmer lowe Date: Wed, 5 Aug 2026 05:22:29 -0400 Subject: [PATCH 1/3] fix(spanner): avoid table name collisions in tests --- packages/sqlalchemy-spanner/tests/conftest.py | 2 +- packages/sqlalchemy-spanner/tests/test_suite_14.py | 14 ++++++++------ 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/packages/sqlalchemy-spanner/tests/conftest.py b/packages/sqlalchemy-spanner/tests/conftest.py index 1b83103ad091..b949e1a4c47e 100644 --- a/packages/sqlalchemy-spanner/tests/conftest.py +++ b/packages/sqlalchemy-spanner/tests/conftest.py @@ -71,7 +71,7 @@ def run( compare=None, support_whereclause=True, ): - t = Table("t", metadata, Column("x", type_)) + t = Table("t_literal_round_trip_spanner", metadata, Column("x", type_)) t.create(connection) for value in input_: diff --git a/packages/sqlalchemy-spanner/tests/test_suite_14.py b/packages/sqlalchemy-spanner/tests/test_suite_14.py index d4b3790cff67..b1ec236d2a04 100644 --- a/packages/sqlalchemy-spanner/tests/test_suite_14.py +++ b/packages/sqlalchemy-spanner/tests/test_suite_14.py @@ -25,7 +25,9 @@ import pytest import sqlalchemy from google.api_core.datetime_helpers import DatetimeWithNanoseconds +from google.cloud import spanner_dbapi from google.cloud.spanner_v1 import Client, RequestOptions +from google.cloud.sqlalchemy_spanner import version as sqlalchemy_spanner_version from sqlalchemy import ( FLOAT, Boolean, @@ -204,8 +206,6 @@ ) from sqlalchemy.types import Integer, Numeric, Text -from google.cloud import spanner_dbapi -from google.cloud.sqlalchemy_spanner import version as sqlalchemy_spanner_version from tests._helpers import get_db_url, get_project config.test_schema = "" @@ -250,7 +250,7 @@ class ComponentReflectionTestExtra(_ComponentReflectionTestExtra): @testing.requires.table_reflection def test_nullable_reflection(self, connection, metadata): t = Table( - "t", + "t_nullable_reflection", metadata, Column("a", Integer, nullable=True), Column("b", Integer, nullable=False), @@ -267,7 +267,9 @@ def test_nullable_reflection(self, connection, metadata): def _type_round_trip(self, connection, metadata, *types): t = Table( - "t", metadata, *[Column("t%d" % i, type_) for i, type_ in enumerate(types)] + "t_type_round_trip", + metadata, + *[Column("t%d" % i, type_) for i, type_ in enumerate(types)], ) t.create(connection) connection.connection.commit() @@ -1207,7 +1209,7 @@ def test_percent_sign_round_trip(self): Overriding the test to avoid the same failure. """ m = self.metadata - t = Table("t", m, Column("data", String(50))) + t = Table("t_percent_signs", m, Column("data", String(50))) t.create(config.db) with config.db.begin() as conn: conn.execute(t.insert(), dict(data="some % value")) @@ -1551,7 +1553,7 @@ def do_numeric_test(self, metadata, connection): @testing.emits_warning(r".*does \*not\* support Decimal objects natively") def run(type_, input_, output, filter_=None, check_scale=False): t = Table( - "t", + "t_do_numeric", metadata, Column("x", type_), Column("id", Integer, primary_key=True), From 9c2136aa1153819873c93d63d4e30ceb6ab831a4 Mon Sep 17 00:00:00 2001 From: chalmer lowe Date: Wed, 5 Aug 2026 06:19:19 -0400 Subject: [PATCH 2/3] fix(spanner): update table names in inspect calls --- packages/sqlalchemy-spanner/tests/test_suite_14.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/sqlalchemy-spanner/tests/test_suite_14.py b/packages/sqlalchemy-spanner/tests/test_suite_14.py index b1ec236d2a04..6494c414069a 100644 --- a/packages/sqlalchemy-spanner/tests/test_suite_14.py +++ b/packages/sqlalchemy-spanner/tests/test_suite_14.py @@ -260,7 +260,7 @@ def test_nullable_reflection(self, connection, metadata): eq_( dict( (col["name"], col["nullable"]) - for col in inspect(connection).get_columns("t") + for col in inspect(connection).get_columns("t_nullable_reflection") ), {"a": True, "b": False}, ) @@ -274,7 +274,7 @@ def _type_round_trip(self, connection, metadata, *types): t.create(connection) connection.connection.commit() - return [c["type"] for c in inspect(connection).get_columns("t")] + return [c["type"] for c in inspect(connection).get_columns("t_type_round_trip")] @testing.requires.table_reflection def test_numeric_reflection(self, connection, metadata): From b02d85b09a720ccace78c9d7d514415b267e0664 Mon Sep 17 00:00:00 2001 From: chalmer lowe Date: Wed, 5 Aug 2026 09:57:11 -0400 Subject: [PATCH 3/3] chore: trigger kokoro