From 7edb4a951ff303a10bedb4d87ac96e0055731111 Mon Sep 17 00:00:00 2001 From: wyattscarpenter Date: Fri, 8 Aug 2025 07:45:57 -0400 Subject: [PATCH 1/6] Update native.py: try typing TAllowedParameterValue more completely This is a stab at fixing https://github.com/databricks/databricks-sql-python/issues/669; I'm not sure it's correct, but if it is then it will probably save somebody some time down the road if I make this PR now. Signed-off-by: wyattscarpenter --- src/databricks/sql/parameters/native.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/databricks/sql/parameters/native.py b/src/databricks/sql/parameters/native.py index b7c448254..e77c235e2 100644 --- a/src/databricks/sql/parameters/native.py +++ b/src/databricks/sql/parameters/native.py @@ -63,9 +63,9 @@ class DatabricksSupportedType(Enum): bool, decimal.Decimal, None, - list, - dict, - tuple, + list[TAllowedParameterValue], + dict[TAllowedParameterValue, TAllowedParameterValue], + tuple[TAllowedParameterValue, ...] ] From 9e968abb8c699ee6230ea9d347f0fab9adf5ef0b Mon Sep 17 00:00:00 2001 From: wyattscarpenter Date: Fri, 8 Aug 2025 04:57:07 -0700 Subject: [PATCH 2/6] black Signed-off-by: wyattscarpenter --- src/databricks/sql/parameters/native.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/databricks/sql/parameters/native.py b/src/databricks/sql/parameters/native.py index e77c235e2..6cd9d534c 100644 --- a/src/databricks/sql/parameters/native.py +++ b/src/databricks/sql/parameters/native.py @@ -65,7 +65,7 @@ class DatabricksSupportedType(Enum): None, list[TAllowedParameterValue], dict[TAllowedParameterValue, TAllowedParameterValue], - tuple[TAllowedParameterValue, ...] + tuple[TAllowedParameterValue, ...], ] From faaad12017f5a0cc5c7da21a0aaaaa76dac68030 Mon Sep 17 00:00:00 2001 From: wyattscarpenter Date: Fri, 8 Aug 2025 05:04:10 -0700 Subject: [PATCH 3/6] use stringified types for recursive references Signed-off-by: wyattscarpenter --- src/databricks/sql/parameters/native.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/databricks/sql/parameters/native.py b/src/databricks/sql/parameters/native.py index 6cd9d534c..c11a8b7fa 100644 --- a/src/databricks/sql/parameters/native.py +++ b/src/databricks/sql/parameters/native.py @@ -63,9 +63,9 @@ class DatabricksSupportedType(Enum): bool, decimal.Decimal, None, - list[TAllowedParameterValue], - dict[TAllowedParameterValue, TAllowedParameterValue], - tuple[TAllowedParameterValue, ...], + list['TAllowedParameterValue'], + dict['TAllowedParameterValue', 'TAllowedParameterValue'], + tuple['TAllowedParameterValue', ...], ] From 15e1a5f53ebafc805e17057ce2b1759ac4ac910e Mon Sep 17 00:00:00 2001 From: wyattscarpenter Date: Fri, 8 Aug 2025 05:13:51 -0700 Subject: [PATCH 4/6] black Signed-off-by: wyattscarpenter --- src/databricks/sql/parameters/native.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/databricks/sql/parameters/native.py b/src/databricks/sql/parameters/native.py index c11a8b7fa..762c00005 100644 --- a/src/databricks/sql/parameters/native.py +++ b/src/databricks/sql/parameters/native.py @@ -63,9 +63,9 @@ class DatabricksSupportedType(Enum): bool, decimal.Decimal, None, - list['TAllowedParameterValue'], - dict['TAllowedParameterValue', 'TAllowedParameterValue'], - tuple['TAllowedParameterValue', ...], + list["TAllowedParameterValue"], + dict["TAllowedParameterValue", "TAllowedParameterValue"], + tuple["TAllowedParameterValue", ...], ] From e3f681d13ebe6d9e94bf85407de81758afcaa4e9 Mon Sep 17 00:00:00 2001 From: wyattscarpenter Date: Wed, 8 Oct 2025 22:51:25 -0400 Subject: [PATCH 5/6] Take @jayantsing-db's suggestion that the type of the dict's key is probably str That seems pretty likely. If anyone hollers, the type can be revised/expanded later. Signed-off-by: wyattscarpenter --- src/databricks/sql/parameters/native.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/databricks/sql/parameters/native.py b/src/databricks/sql/parameters/native.py index 762c00005..f088e33a6 100644 --- a/src/databricks/sql/parameters/native.py +++ b/src/databricks/sql/parameters/native.py @@ -64,7 +64,8 @@ class DatabricksSupportedType(Enum): decimal.Decimal, None, list["TAllowedParameterValue"], - dict["TAllowedParameterValue", "TAllowedParameterValue"], + # Should the dict key type be str or "TAllowedParameterValue"? Not 100% sure. + dict[str, "TAllowedParameterValue"], tuple["TAllowedParameterValue", ...], ] From 1b3d398d9e929ba8a5bc74148c11377e5b6c1066 Mon Sep 17 00:00:00 2001 From: wyattscarpenter Date: Wed, 8 Oct 2025 20:37:12 -0700 Subject: [PATCH 6/6] Wait a minute, the actual type we should use here is TParameterDict Signed-off-by: wyattscarpenter --- src/databricks/sql/parameters/native.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/databricks/sql/parameters/native.py b/src/databricks/sql/parameters/native.py index f088e33a6..f64eff548 100644 --- a/src/databricks/sql/parameters/native.py +++ b/src/databricks/sql/parameters/native.py @@ -64,8 +64,7 @@ class DatabricksSupportedType(Enum): decimal.Decimal, None, list["TAllowedParameterValue"], - # Should the dict key type be str or "TAllowedParameterValue"? Not 100% sure. - dict[str, "TAllowedParameterValue"], + "TParameterDict", tuple["TAllowedParameterValue", ...], ]