This is an automated email from the ASF dual-hosted git repository.
HyukjinKwon pushed a commit to branch branch-4.x
in repository https://gitbox.apache.org/repos/asf/spark.git
The following commit(s) were added to refs/heads/branch-4.x by this push:
new 598e55c2cc2a [SPARK-58593][CONNECT] Add extension Any field to
AnalyzePlanResponse
598e55c2cc2a is described below
commit 598e55c2cc2a51e82671b46e229829a03eae8b49
Author: mehdigharam-db <[email protected]>
AuthorDate: Tue Aug 11 19:13:45 2026 +0900
[SPARK-58593][CONNECT] Add extension Any field to AnalyzePlanResponse
### What changes were proposed in this pull request?
Adds a `repeated google.protobuf.Any extensions = 999` field to
`AnalyzePlanResponse` in
`base.proto`, and regenerates the PySpark stubs accordingly.
The field is placed **outside** the `result` oneof, unlike
`ExecutePlanResponse` where the
extension is a oneof arm. This is intentional: `AnalyzePlan` is a unary RPC
that returns a
single response, so a single message must be able to carry both the regular
result (e.g.
the `schema` arm) **and** an accompanying extension. Putting it inside the
oneof would make
the two mutually exclusive.
### Why are the changes needed?
To let a Connect provider attach provider-specific metadata to an analyze
response, the way
other messages in the protocol already allow.
`AnalyzePlanResponse` is currently the only major Spark Connect response
type without an
extension point. `ExecutePlanResponse` has one, as do `UserContext`,
`AnalyzePlanRequest.RequestOption`, `GetStatusRequest` and
`GetStatusResponse`. So a
provider that wants to return extra information alongside an analyze result
-- schema
metadata, for instance -- has nowhere to put it today, and has to route the
information through a separate call.
### Does this PR introduce _any_ user-facing change?
No. This adds a new optional proto field that nothing reads or writes yet.
### How was this patch tested?
No new tests. This is a proto field addition with no server- or client-side
behavior to
exercise.
Verified locally with the same checks the `buf` CI job runs:
- `dev/check-protos.py` -- both `pyspark-connect` and `pyspark-streaming`
report SUCCESS,
confirming the committed stubs match the `.proto`.
- `buf breaking --against
'...#branch=branch-4.0,subdir=sql/connect/common/src/main'` --
clean, as expected for adding a new field number.
### Was this patch authored or co-authored using generative AI tooling?
Yes.
Co-authored using Claude Opus 5
Closes #57797 from
mehdigharam-db/SPARK-58593-analyze-plan-response-extension.
Authored-by: mehdigharam-db <[email protected]>
Signed-off-by: Hyukjin Kwon <[email protected]>
(cherry picked from commit f86867449ec4a20b572fc183c65afafb075f1c3d)
Signed-off-by: Hyukjin Kwon <[email protected]>
---
python/pyspark/sql/connect/proto/base_pb2.py | 320 ++++++++++-----------
python/pyspark/sql/connect/proto/base_pb2.pyi | 11 +
.../src/main/protobuf/spark/connect/base.proto | 3 +
3 files changed, 174 insertions(+), 160 deletions(-)
diff --git a/python/pyspark/sql/connect/proto/base_pb2.py
b/python/pyspark/sql/connect/proto/base_pb2.py
index a77c61ca6d2b..ee3ddb48ba5c 100644
--- a/python/pyspark/sql/connect/proto/base_pb2.py
+++ b/python/pyspark/sql/connect/proto/base_pb2.py
@@ -46,7 +46,7 @@ from pyspark.sql.connect.proto import pipelines_pb2 as
spark_dot_connect_dot_pip
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(
-
b'\n\x18spark/connect/base.proto\x12\rspark.connect\x1a\x19google/protobuf/any.proto\x1a\x1cspark/connect/commands.proto\x1a\x1aspark/connect/common.proto\x1a\x1fspark/connect/expressions.proto\x1a\x1dspark/connect/relations.proto\x1a\x19spark/connect/types.proto\x1a\x16spark/connect/ml.proto\x1a\x1dspark/connect/pipelines.proto"\xe3\x03\n\x04Plan\x12-\n\x04root\x18\x01
\x01(\x0b\x32\x17.spark.connect.RelationH\x00R\x04root\x12\x32\n\x07\x63ommand\x18\x02
\x01(\x0b\x32\x16.spark.conn [...]
+
b'\n\x18spark/connect/base.proto\x12\rspark.connect\x1a\x19google/protobuf/any.proto\x1a\x1cspark/connect/commands.proto\x1a\x1aspark/connect/common.proto\x1a\x1fspark/connect/expressions.proto\x1a\x1dspark/connect/relations.proto\x1a\x19spark/connect/types.proto\x1a\x16spark/connect/ml.proto\x1a\x1dspark/connect/pipelines.proto"\xe3\x03\n\x04Plan\x12-\n\x04root\x18\x01
\x01(\x0b\x32\x17.spark.connect.RelationH\x00R\x04root\x12\x32\n\x07\x63ommand\x18\x02
\x01(\x0b\x32\x16.spark.conn [...]
)
_globals = globals()
@@ -71,8 +71,8 @@ if not _descriptor._USE_C_DESCRIPTORS:
_globals[
"_FETCHERRORDETAILSRESPONSE_SPARKTHROWABLE_MESSAGEPARAMETERSENTRY"
]._serialized_options = b"8\001"
- _globals["_COMPRESSIONCODEC"]._serialized_start = 19991
- _globals["_COMPRESSIONCODEC"]._serialized_end = 20072
+ _globals["_COMPRESSIONCODEC"]._serialized_start = 20046
+ _globals["_COMPRESSIONCODEC"]._serialized_end = 20127
_globals["_PLAN"]._serialized_start = 275
_globals["_PLAN"]._serialized_end = 758
_globals["_PLAN_COMPRESSEDOPERATION"]._serialized_start = 477
@@ -114,173 +114,173 @@ if not _descriptor._USE_C_DESCRIPTORS:
_globals["_ANALYZEPLANREQUEST_JSONTODDL"]._serialized_start = 3448
_globals["_ANALYZEPLANREQUEST_JSONTODDL"]._serialized_end = 3492
_globals["_ANALYZEPLANRESPONSE"]._serialized_start = 3565
- _globals["_ANALYZEPLANRESPONSE"]._serialized_end = 5431
- _globals["_ANALYZEPLANRESPONSE_SCHEMA"]._serialized_start = 4806
- _globals["_ANALYZEPLANRESPONSE_SCHEMA"]._serialized_end = 4863
- _globals["_ANALYZEPLANRESPONSE_EXPLAIN"]._serialized_start = 4865
- _globals["_ANALYZEPLANRESPONSE_EXPLAIN"]._serialized_end = 4913
- _globals["_ANALYZEPLANRESPONSE_TREESTRING"]._serialized_start = 4915
- _globals["_ANALYZEPLANRESPONSE_TREESTRING"]._serialized_end = 4960
- _globals["_ANALYZEPLANRESPONSE_ISLOCAL"]._serialized_start = 4962
- _globals["_ANALYZEPLANRESPONSE_ISLOCAL"]._serialized_end = 4998
- _globals["_ANALYZEPLANRESPONSE_ISSTREAMING"]._serialized_start = 5000
- _globals["_ANALYZEPLANRESPONSE_ISSTREAMING"]._serialized_end = 5048
- _globals["_ANALYZEPLANRESPONSE_INPUTFILES"]._serialized_start = 5050
- _globals["_ANALYZEPLANRESPONSE_INPUTFILES"]._serialized_end = 5084
- _globals["_ANALYZEPLANRESPONSE_SPARKVERSION"]._serialized_start = 5086
- _globals["_ANALYZEPLANRESPONSE_SPARKVERSION"]._serialized_end = 5126
- _globals["_ANALYZEPLANRESPONSE_DDLPARSE"]._serialized_start = 5128
- _globals["_ANALYZEPLANRESPONSE_DDLPARSE"]._serialized_end = 5187
- _globals["_ANALYZEPLANRESPONSE_SAMESEMANTICS"]._serialized_start = 5189
- _globals["_ANALYZEPLANRESPONSE_SAMESEMANTICS"]._serialized_end = 5228
- _globals["_ANALYZEPLANRESPONSE_SEMANTICHASH"]._serialized_start = 5230
- _globals["_ANALYZEPLANRESPONSE_SEMANTICHASH"]._serialized_end = 5268
+ _globals["_ANALYZEPLANRESPONSE"]._serialized_end = 5486
+ _globals["_ANALYZEPLANRESPONSE_SCHEMA"]._serialized_start = 4861
+ _globals["_ANALYZEPLANRESPONSE_SCHEMA"]._serialized_end = 4918
+ _globals["_ANALYZEPLANRESPONSE_EXPLAIN"]._serialized_start = 4920
+ _globals["_ANALYZEPLANRESPONSE_EXPLAIN"]._serialized_end = 4968
+ _globals["_ANALYZEPLANRESPONSE_TREESTRING"]._serialized_start = 4970
+ _globals["_ANALYZEPLANRESPONSE_TREESTRING"]._serialized_end = 5015
+ _globals["_ANALYZEPLANRESPONSE_ISLOCAL"]._serialized_start = 5017
+ _globals["_ANALYZEPLANRESPONSE_ISLOCAL"]._serialized_end = 5053
+ _globals["_ANALYZEPLANRESPONSE_ISSTREAMING"]._serialized_start = 5055
+ _globals["_ANALYZEPLANRESPONSE_ISSTREAMING"]._serialized_end = 5103
+ _globals["_ANALYZEPLANRESPONSE_INPUTFILES"]._serialized_start = 5105
+ _globals["_ANALYZEPLANRESPONSE_INPUTFILES"]._serialized_end = 5139
+ _globals["_ANALYZEPLANRESPONSE_SPARKVERSION"]._serialized_start = 5141
+ _globals["_ANALYZEPLANRESPONSE_SPARKVERSION"]._serialized_end = 5181
+ _globals["_ANALYZEPLANRESPONSE_DDLPARSE"]._serialized_start = 5183
+ _globals["_ANALYZEPLANRESPONSE_DDLPARSE"]._serialized_end = 5242
+ _globals["_ANALYZEPLANRESPONSE_SAMESEMANTICS"]._serialized_start = 5244
+ _globals["_ANALYZEPLANRESPONSE_SAMESEMANTICS"]._serialized_end = 5283
+ _globals["_ANALYZEPLANRESPONSE_SEMANTICHASH"]._serialized_start = 5285
+ _globals["_ANALYZEPLANRESPONSE_SEMANTICHASH"]._serialized_end = 5323
_globals["_ANALYZEPLANRESPONSE_PERSIST"]._serialized_start = 3111
_globals["_ANALYZEPLANRESPONSE_PERSIST"]._serialized_end = 3120
_globals["_ANALYZEPLANRESPONSE_UNPERSIST"]._serialized_start = 3264
_globals["_ANALYZEPLANRESPONSE_UNPERSIST"]._serialized_end = 3275
- _globals["_ANALYZEPLANRESPONSE_GETSTORAGELEVEL"]._serialized_start = 5294
- _globals["_ANALYZEPLANRESPONSE_GETSTORAGELEVEL"]._serialized_end = 5377
- _globals["_ANALYZEPLANRESPONSE_JSONTODDL"]._serialized_start = 5379
- _globals["_ANALYZEPLANRESPONSE_JSONTODDL"]._serialized_end = 5421
- _globals["_EXECUTEPLANREQUEST"]._serialized_start = 5434
- _globals["_EXECUTEPLANREQUEST"]._serialized_end = 6205
- _globals["_EXECUTEPLANREQUEST_REQUESTOPTION"]._serialized_start = 5868
- _globals["_EXECUTEPLANREQUEST_REQUESTOPTION"]._serialized_end = 6129
- _globals["_EXECUTEPLANRESPONSE"]._serialized_start = 6208
- _globals["_EXECUTEPLANRESPONSE"]._serialized_end = 9799
- _globals["_EXECUTEPLANRESPONSE_SQLCOMMANDRESULT"]._serialized_start = 8308
- _globals["_EXECUTEPLANRESPONSE_SQLCOMMANDRESULT"]._serialized_end = 8379
- _globals["_EXECUTEPLANRESPONSE_ARROWBATCH"]._serialized_start = 8382
- _globals["_EXECUTEPLANRESPONSE_ARROWBATCH"]._serialized_end = 8630
- _globals["_EXECUTEPLANRESPONSE_METRICS"]._serialized_start = 8633
- _globals["_EXECUTEPLANRESPONSE_METRICS"]._serialized_end = 9150
- _globals["_EXECUTEPLANRESPONSE_METRICS_METRICOBJECT"]._serialized_start =
8728
- _globals["_EXECUTEPLANRESPONSE_METRICS_METRICOBJECT"]._serialized_end =
9060
+ _globals["_ANALYZEPLANRESPONSE_GETSTORAGELEVEL"]._serialized_start = 5349
+ _globals["_ANALYZEPLANRESPONSE_GETSTORAGELEVEL"]._serialized_end = 5432
+ _globals["_ANALYZEPLANRESPONSE_JSONTODDL"]._serialized_start = 5434
+ _globals["_ANALYZEPLANRESPONSE_JSONTODDL"]._serialized_end = 5476
+ _globals["_EXECUTEPLANREQUEST"]._serialized_start = 5489
+ _globals["_EXECUTEPLANREQUEST"]._serialized_end = 6260
+ _globals["_EXECUTEPLANREQUEST_REQUESTOPTION"]._serialized_start = 5923
+ _globals["_EXECUTEPLANREQUEST_REQUESTOPTION"]._serialized_end = 6184
+ _globals["_EXECUTEPLANRESPONSE"]._serialized_start = 6263
+ _globals["_EXECUTEPLANRESPONSE"]._serialized_end = 9854
+ _globals["_EXECUTEPLANRESPONSE_SQLCOMMANDRESULT"]._serialized_start = 8363
+ _globals["_EXECUTEPLANRESPONSE_SQLCOMMANDRESULT"]._serialized_end = 8434
+ _globals["_EXECUTEPLANRESPONSE_ARROWBATCH"]._serialized_start = 8437
+ _globals["_EXECUTEPLANRESPONSE_ARROWBATCH"]._serialized_end = 8685
+ _globals["_EXECUTEPLANRESPONSE_METRICS"]._serialized_start = 8688
+ _globals["_EXECUTEPLANRESPONSE_METRICS"]._serialized_end = 9205
+ _globals["_EXECUTEPLANRESPONSE_METRICS_METRICOBJECT"]._serialized_start =
8783
+ _globals["_EXECUTEPLANRESPONSE_METRICS_METRICOBJECT"]._serialized_end =
9115
_globals[
"_EXECUTEPLANRESPONSE_METRICS_METRICOBJECT_EXECUTIONMETRICSENTRY"
- ]._serialized_start = 8937
+ ]._serialized_start = 8992
_globals[
"_EXECUTEPLANRESPONSE_METRICS_METRICOBJECT_EXECUTIONMETRICSENTRY"
- ]._serialized_end = 9060
- _globals["_EXECUTEPLANRESPONSE_METRICS_METRICVALUE"]._serialized_start =
9062
- _globals["_EXECUTEPLANRESPONSE_METRICS_METRICVALUE"]._serialized_end = 9150
- _globals["_EXECUTEPLANRESPONSE_OBSERVEDMETRICS"]._serialized_start = 9153
- _globals["_EXECUTEPLANRESPONSE_OBSERVEDMETRICS"]._serialized_end = 9428
- _globals["_EXECUTEPLANRESPONSE_RESULTCOMPLETE"]._serialized_start = 9430
- _globals["_EXECUTEPLANRESPONSE_RESULTCOMPLETE"]._serialized_end = 9446
- _globals["_EXECUTEPLANRESPONSE_EXECUTIONPROGRESS"]._serialized_start = 9449
- _globals["_EXECUTEPLANRESPONSE_EXECUTIONPROGRESS"]._serialized_end = 9782
-
_globals["_EXECUTEPLANRESPONSE_EXECUTIONPROGRESS_STAGEINFO"]._serialized_start
= 9605
-
_globals["_EXECUTEPLANRESPONSE_EXECUTIONPROGRESS_STAGEINFO"]._serialized_end =
9782
- _globals["_KEYVALUE"]._serialized_start = 9801
- _globals["_KEYVALUE"]._serialized_end = 9866
- _globals["_CONFIGREQUEST"]._serialized_start = 9869
- _globals["_CONFIGREQUEST"]._serialized_end = 11068
- _globals["_CONFIGREQUEST_OPERATION"]._serialized_start = 10177
- _globals["_CONFIGREQUEST_OPERATION"]._serialized_end = 10675
- _globals["_CONFIGREQUEST_SET"]._serialized_start = 10677
- _globals["_CONFIGREQUEST_SET"]._serialized_end = 10769
- _globals["_CONFIGREQUEST_GET"]._serialized_start = 10771
- _globals["_CONFIGREQUEST_GET"]._serialized_end = 10796
- _globals["_CONFIGREQUEST_GETWITHDEFAULT"]._serialized_start = 10798
- _globals["_CONFIGREQUEST_GETWITHDEFAULT"]._serialized_end = 10861
- _globals["_CONFIGREQUEST_GETOPTION"]._serialized_start = 10863
- _globals["_CONFIGREQUEST_GETOPTION"]._serialized_end = 10894
- _globals["_CONFIGREQUEST_GETALL"]._serialized_start = 10896
- _globals["_CONFIGREQUEST_GETALL"]._serialized_end = 10944
- _globals["_CONFIGREQUEST_UNSET"]._serialized_start = 10946
- _globals["_CONFIGREQUEST_UNSET"]._serialized_end = 10973
- _globals["_CONFIGREQUEST_ISMODIFIABLE"]._serialized_start = 10975
- _globals["_CONFIGREQUEST_ISMODIFIABLE"]._serialized_end = 11009
- _globals["_CONFIGRESPONSE"]._serialized_start = 11071
- _globals["_CONFIGRESPONSE"]._serialized_end = 11246
- _globals["_ADDARTIFACTSREQUEST"]._serialized_start = 11249
- _globals["_ADDARTIFACTSREQUEST"]._serialized_end = 12251
- _globals["_ADDARTIFACTSREQUEST_ARTIFACTCHUNK"]._serialized_start = 11724
- _globals["_ADDARTIFACTSREQUEST_ARTIFACTCHUNK"]._serialized_end = 11777
- _globals["_ADDARTIFACTSREQUEST_SINGLECHUNKARTIFACT"]._serialized_start =
11779
- _globals["_ADDARTIFACTSREQUEST_SINGLECHUNKARTIFACT"]._serialized_end =
11890
- _globals["_ADDARTIFACTSREQUEST_BATCH"]._serialized_start = 11892
- _globals["_ADDARTIFACTSREQUEST_BATCH"]._serialized_end = 11985
- _globals["_ADDARTIFACTSREQUEST_BEGINCHUNKEDARTIFACT"]._serialized_start =
11988
- _globals["_ADDARTIFACTSREQUEST_BEGINCHUNKEDARTIFACT"]._serialized_end =
12181
- _globals["_ADDARTIFACTSRESPONSE"]._serialized_start = 12254
- _globals["_ADDARTIFACTSRESPONSE"]._serialized_end = 12526
- _globals["_ADDARTIFACTSRESPONSE_ARTIFACTSUMMARY"]._serialized_start = 12445
- _globals["_ADDARTIFACTSRESPONSE_ARTIFACTSUMMARY"]._serialized_end = 12526
- _globals["_ARTIFACTSTATUSESREQUEST"]._serialized_start = 12529
- _globals["_ARTIFACTSTATUSESREQUEST"]._serialized_end = 12855
- _globals["_ARTIFACTSTATUSESRESPONSE"]._serialized_start = 12858
- _globals["_ARTIFACTSTATUSESRESPONSE"]._serialized_end = 13210
- _globals["_ARTIFACTSTATUSESRESPONSE_STATUSESENTRY"]._serialized_start =
13053
- _globals["_ARTIFACTSTATUSESRESPONSE_STATUSESENTRY"]._serialized_end = 13168
- _globals["_ARTIFACTSTATUSESRESPONSE_ARTIFACTSTATUS"]._serialized_start =
13170
- _globals["_ARTIFACTSTATUSESRESPONSE_ARTIFACTSTATUS"]._serialized_end =
13210
- _globals["_INTERRUPTREQUEST"]._serialized_start = 13213
- _globals["_INTERRUPTREQUEST"]._serialized_end = 13816
- _globals["_INTERRUPTREQUEST_INTERRUPTTYPE"]._serialized_start = 13616
- _globals["_INTERRUPTREQUEST_INTERRUPTTYPE"]._serialized_end = 13744
- _globals["_INTERRUPTRESPONSE"]._serialized_start = 13819
- _globals["_INTERRUPTRESPONSE"]._serialized_end = 13963
- _globals["_REATTACHOPTIONS"]._serialized_start = 13965
- _globals["_REATTACHOPTIONS"]._serialized_end = 14018
- _globals["_RESULTCHUNKINGOPTIONS"]._serialized_start = 14021
- _globals["_RESULTCHUNKINGOPTIONS"]._serialized_end = 14202
- _globals["_REATTACHEXECUTEREQUEST"]._serialized_start = 14205
- _globals["_REATTACHEXECUTEREQUEST"]._serialized_end = 14611
- _globals["_RELEASEEXECUTEREQUEST"]._serialized_start = 14614
- _globals["_RELEASEEXECUTEREQUEST"]._serialized_end = 15199
- _globals["_RELEASEEXECUTEREQUEST_RELEASEALL"]._serialized_start = 15068
- _globals["_RELEASEEXECUTEREQUEST_RELEASEALL"]._serialized_end = 15080
- _globals["_RELEASEEXECUTEREQUEST_RELEASEUNTIL"]._serialized_start = 15082
- _globals["_RELEASEEXECUTEREQUEST_RELEASEUNTIL"]._serialized_end = 15129
- _globals["_RELEASEEXECUTERESPONSE"]._serialized_start = 15202
- _globals["_RELEASEEXECUTERESPONSE"]._serialized_end = 15367
- _globals["_RELEASESESSIONREQUEST"]._serialized_start = 15370
- _globals["_RELEASESESSIONREQUEST"]._serialized_end = 15582
- _globals["_RELEASESESSIONRESPONSE"]._serialized_start = 15584
- _globals["_RELEASESESSIONRESPONSE"]._serialized_end = 15692
- _globals["_FETCHERRORDETAILSREQUEST"]._serialized_start = 15695
- _globals["_FETCHERRORDETAILSREQUEST"]._serialized_end = 16027
- _globals["_FETCHERRORDETAILSRESPONSE"]._serialized_start = 16030
- _globals["_FETCHERRORDETAILSRESPONSE"]._serialized_end = 18039
- _globals["_FETCHERRORDETAILSRESPONSE_STACKTRACEELEMENT"]._serialized_start
= 16259
- _globals["_FETCHERRORDETAILSRESPONSE_STACKTRACEELEMENT"]._serialized_end =
16433
- _globals["_FETCHERRORDETAILSRESPONSE_QUERYCONTEXT"]._serialized_start =
16436
- _globals["_FETCHERRORDETAILSRESPONSE_QUERYCONTEXT"]._serialized_end = 16804
-
_globals["_FETCHERRORDETAILSRESPONSE_QUERYCONTEXT_CONTEXTTYPE"]._serialized_start
= 16767
-
_globals["_FETCHERRORDETAILSRESPONSE_QUERYCONTEXT_CONTEXTTYPE"]._serialized_end
= 16804
- _globals["_FETCHERRORDETAILSRESPONSE_SPARKTHROWABLE"]._serialized_start =
16807
- _globals["_FETCHERRORDETAILSRESPONSE_SPARKTHROWABLE"]._serialized_end =
17357
+ ]._serialized_end = 9115
+ _globals["_EXECUTEPLANRESPONSE_METRICS_METRICVALUE"]._serialized_start =
9117
+ _globals["_EXECUTEPLANRESPONSE_METRICS_METRICVALUE"]._serialized_end = 9205
+ _globals["_EXECUTEPLANRESPONSE_OBSERVEDMETRICS"]._serialized_start = 9208
+ _globals["_EXECUTEPLANRESPONSE_OBSERVEDMETRICS"]._serialized_end = 9483
+ _globals["_EXECUTEPLANRESPONSE_RESULTCOMPLETE"]._serialized_start = 9485
+ _globals["_EXECUTEPLANRESPONSE_RESULTCOMPLETE"]._serialized_end = 9501
+ _globals["_EXECUTEPLANRESPONSE_EXECUTIONPROGRESS"]._serialized_start = 9504
+ _globals["_EXECUTEPLANRESPONSE_EXECUTIONPROGRESS"]._serialized_end = 9837
+
_globals["_EXECUTEPLANRESPONSE_EXECUTIONPROGRESS_STAGEINFO"]._serialized_start
= 9660
+
_globals["_EXECUTEPLANRESPONSE_EXECUTIONPROGRESS_STAGEINFO"]._serialized_end =
9837
+ _globals["_KEYVALUE"]._serialized_start = 9856
+ _globals["_KEYVALUE"]._serialized_end = 9921
+ _globals["_CONFIGREQUEST"]._serialized_start = 9924
+ _globals["_CONFIGREQUEST"]._serialized_end = 11123
+ _globals["_CONFIGREQUEST_OPERATION"]._serialized_start = 10232
+ _globals["_CONFIGREQUEST_OPERATION"]._serialized_end = 10730
+ _globals["_CONFIGREQUEST_SET"]._serialized_start = 10732
+ _globals["_CONFIGREQUEST_SET"]._serialized_end = 10824
+ _globals["_CONFIGREQUEST_GET"]._serialized_start = 10826
+ _globals["_CONFIGREQUEST_GET"]._serialized_end = 10851
+ _globals["_CONFIGREQUEST_GETWITHDEFAULT"]._serialized_start = 10853
+ _globals["_CONFIGREQUEST_GETWITHDEFAULT"]._serialized_end = 10916
+ _globals["_CONFIGREQUEST_GETOPTION"]._serialized_start = 10918
+ _globals["_CONFIGREQUEST_GETOPTION"]._serialized_end = 10949
+ _globals["_CONFIGREQUEST_GETALL"]._serialized_start = 10951
+ _globals["_CONFIGREQUEST_GETALL"]._serialized_end = 10999
+ _globals["_CONFIGREQUEST_UNSET"]._serialized_start = 11001
+ _globals["_CONFIGREQUEST_UNSET"]._serialized_end = 11028
+ _globals["_CONFIGREQUEST_ISMODIFIABLE"]._serialized_start = 11030
+ _globals["_CONFIGREQUEST_ISMODIFIABLE"]._serialized_end = 11064
+ _globals["_CONFIGRESPONSE"]._serialized_start = 11126
+ _globals["_CONFIGRESPONSE"]._serialized_end = 11301
+ _globals["_ADDARTIFACTSREQUEST"]._serialized_start = 11304
+ _globals["_ADDARTIFACTSREQUEST"]._serialized_end = 12306
+ _globals["_ADDARTIFACTSREQUEST_ARTIFACTCHUNK"]._serialized_start = 11779
+ _globals["_ADDARTIFACTSREQUEST_ARTIFACTCHUNK"]._serialized_end = 11832
+ _globals["_ADDARTIFACTSREQUEST_SINGLECHUNKARTIFACT"]._serialized_start =
11834
+ _globals["_ADDARTIFACTSREQUEST_SINGLECHUNKARTIFACT"]._serialized_end =
11945
+ _globals["_ADDARTIFACTSREQUEST_BATCH"]._serialized_start = 11947
+ _globals["_ADDARTIFACTSREQUEST_BATCH"]._serialized_end = 12040
+ _globals["_ADDARTIFACTSREQUEST_BEGINCHUNKEDARTIFACT"]._serialized_start =
12043
+ _globals["_ADDARTIFACTSREQUEST_BEGINCHUNKEDARTIFACT"]._serialized_end =
12236
+ _globals["_ADDARTIFACTSRESPONSE"]._serialized_start = 12309
+ _globals["_ADDARTIFACTSRESPONSE"]._serialized_end = 12581
+ _globals["_ADDARTIFACTSRESPONSE_ARTIFACTSUMMARY"]._serialized_start = 12500
+ _globals["_ADDARTIFACTSRESPONSE_ARTIFACTSUMMARY"]._serialized_end = 12581
+ _globals["_ARTIFACTSTATUSESREQUEST"]._serialized_start = 12584
+ _globals["_ARTIFACTSTATUSESREQUEST"]._serialized_end = 12910
+ _globals["_ARTIFACTSTATUSESRESPONSE"]._serialized_start = 12913
+ _globals["_ARTIFACTSTATUSESRESPONSE"]._serialized_end = 13265
+ _globals["_ARTIFACTSTATUSESRESPONSE_STATUSESENTRY"]._serialized_start =
13108
+ _globals["_ARTIFACTSTATUSESRESPONSE_STATUSESENTRY"]._serialized_end = 13223
+ _globals["_ARTIFACTSTATUSESRESPONSE_ARTIFACTSTATUS"]._serialized_start =
13225
+ _globals["_ARTIFACTSTATUSESRESPONSE_ARTIFACTSTATUS"]._serialized_end =
13265
+ _globals["_INTERRUPTREQUEST"]._serialized_start = 13268
+ _globals["_INTERRUPTREQUEST"]._serialized_end = 13871
+ _globals["_INTERRUPTREQUEST_INTERRUPTTYPE"]._serialized_start = 13671
+ _globals["_INTERRUPTREQUEST_INTERRUPTTYPE"]._serialized_end = 13799
+ _globals["_INTERRUPTRESPONSE"]._serialized_start = 13874
+ _globals["_INTERRUPTRESPONSE"]._serialized_end = 14018
+ _globals["_REATTACHOPTIONS"]._serialized_start = 14020
+ _globals["_REATTACHOPTIONS"]._serialized_end = 14073
+ _globals["_RESULTCHUNKINGOPTIONS"]._serialized_start = 14076
+ _globals["_RESULTCHUNKINGOPTIONS"]._serialized_end = 14257
+ _globals["_REATTACHEXECUTEREQUEST"]._serialized_start = 14260
+ _globals["_REATTACHEXECUTEREQUEST"]._serialized_end = 14666
+ _globals["_RELEASEEXECUTEREQUEST"]._serialized_start = 14669
+ _globals["_RELEASEEXECUTEREQUEST"]._serialized_end = 15254
+ _globals["_RELEASEEXECUTEREQUEST_RELEASEALL"]._serialized_start = 15123
+ _globals["_RELEASEEXECUTEREQUEST_RELEASEALL"]._serialized_end = 15135
+ _globals["_RELEASEEXECUTEREQUEST_RELEASEUNTIL"]._serialized_start = 15137
+ _globals["_RELEASEEXECUTEREQUEST_RELEASEUNTIL"]._serialized_end = 15184
+ _globals["_RELEASEEXECUTERESPONSE"]._serialized_start = 15257
+ _globals["_RELEASEEXECUTERESPONSE"]._serialized_end = 15422
+ _globals["_RELEASESESSIONREQUEST"]._serialized_start = 15425
+ _globals["_RELEASESESSIONREQUEST"]._serialized_end = 15637
+ _globals["_RELEASESESSIONRESPONSE"]._serialized_start = 15639
+ _globals["_RELEASESESSIONRESPONSE"]._serialized_end = 15747
+ _globals["_FETCHERRORDETAILSREQUEST"]._serialized_start = 15750
+ _globals["_FETCHERRORDETAILSREQUEST"]._serialized_end = 16082
+ _globals["_FETCHERRORDETAILSRESPONSE"]._serialized_start = 16085
+ _globals["_FETCHERRORDETAILSRESPONSE"]._serialized_end = 18094
+ _globals["_FETCHERRORDETAILSRESPONSE_STACKTRACEELEMENT"]._serialized_start
= 16314
+ _globals["_FETCHERRORDETAILSRESPONSE_STACKTRACEELEMENT"]._serialized_end =
16488
+ _globals["_FETCHERRORDETAILSRESPONSE_QUERYCONTEXT"]._serialized_start =
16491
+ _globals["_FETCHERRORDETAILSRESPONSE_QUERYCONTEXT"]._serialized_end = 16859
+
_globals["_FETCHERRORDETAILSRESPONSE_QUERYCONTEXT_CONTEXTTYPE"]._serialized_start
= 16822
+
_globals["_FETCHERRORDETAILSRESPONSE_QUERYCONTEXT_CONTEXTTYPE"]._serialized_end
= 16859
+ _globals["_FETCHERRORDETAILSRESPONSE_SPARKTHROWABLE"]._serialized_start =
16862
+ _globals["_FETCHERRORDETAILSRESPONSE_SPARKTHROWABLE"]._serialized_end =
17412
_globals[
"_FETCHERRORDETAILSRESPONSE_SPARKTHROWABLE_MESSAGEPARAMETERSENTRY"
- ]._serialized_start = 17234
+ ]._serialized_start = 17289
_globals[
"_FETCHERRORDETAILSRESPONSE_SPARKTHROWABLE_MESSAGEPARAMETERSENTRY"
- ]._serialized_end = 17302
-
_globals["_FETCHERRORDETAILSRESPONSE_BREAKINGCHANGEINFO"]._serialized_start =
17360
- _globals["_FETCHERRORDETAILSRESPONSE_BREAKINGCHANGEINFO"]._serialized_end
= 17610
- _globals["_FETCHERRORDETAILSRESPONSE_MITIGATIONCONFIG"]._serialized_start
= 17612
- _globals["_FETCHERRORDETAILSRESPONSE_MITIGATIONCONFIG"]._serialized_end =
17670
- _globals["_FETCHERRORDETAILSRESPONSE_ERROR"]._serialized_start = 17673
- _globals["_FETCHERRORDETAILSRESPONSE_ERROR"]._serialized_end = 18020
- _globals["_CHECKPOINTCOMMANDRESULT"]._serialized_start = 18041
- _globals["_CHECKPOINTCOMMANDRESULT"]._serialized_end = 18131
- _globals["_CLONESESSIONREQUEST"]._serialized_start = 18134
- _globals["_CLONESESSIONREQUEST"]._serialized_end = 18496
- _globals["_CLONESESSIONRESPONSE"]._serialized_start = 18499
- _globals["_CLONESESSIONRESPONSE"]._serialized_end = 18703
- _globals["_GETSTATUSREQUEST"]._serialized_start = 18706
- _globals["_GETSTATUSREQUEST"]._serialized_end = 19301
- _globals["_GETSTATUSREQUEST_OPERATIONSTATUSREQUEST"]._serialized_start =
19105
- _globals["_GETSTATUSREQUEST_OPERATIONSTATUSREQUEST"]._serialized_end =
19221
- _globals["_GETSTATUSRESPONSE"]._serialized_start = 19304
- _globals["_GETSTATUSRESPONSE"]._serialized_end = 19989
- _globals["_GETSTATUSRESPONSE_OPERATIONSTATUS"]._serialized_start = 19562
- _globals["_GETSTATUSRESPONSE_OPERATIONSTATUS"]._serialized_end = 19989
-
_globals["_GETSTATUSRESPONSE_OPERATIONSTATUS_OPERATIONSTATE"]._serialized_start
= 19759
-
_globals["_GETSTATUSRESPONSE_OPERATIONSTATUS_OPERATIONSTATE"]._serialized_end =
19989
- _globals["_SPARKCONNECTSERVICE"]._serialized_start = 20075
- _globals["_SPARKCONNECTSERVICE"]._serialized_end = 21194
+ ]._serialized_end = 17357
+
_globals["_FETCHERRORDETAILSRESPONSE_BREAKINGCHANGEINFO"]._serialized_start =
17415
+ _globals["_FETCHERRORDETAILSRESPONSE_BREAKINGCHANGEINFO"]._serialized_end
= 17665
+ _globals["_FETCHERRORDETAILSRESPONSE_MITIGATIONCONFIG"]._serialized_start
= 17667
+ _globals["_FETCHERRORDETAILSRESPONSE_MITIGATIONCONFIG"]._serialized_end =
17725
+ _globals["_FETCHERRORDETAILSRESPONSE_ERROR"]._serialized_start = 17728
+ _globals["_FETCHERRORDETAILSRESPONSE_ERROR"]._serialized_end = 18075
+ _globals["_CHECKPOINTCOMMANDRESULT"]._serialized_start = 18096
+ _globals["_CHECKPOINTCOMMANDRESULT"]._serialized_end = 18186
+ _globals["_CLONESESSIONREQUEST"]._serialized_start = 18189
+ _globals["_CLONESESSIONREQUEST"]._serialized_end = 18551
+ _globals["_CLONESESSIONRESPONSE"]._serialized_start = 18554
+ _globals["_CLONESESSIONRESPONSE"]._serialized_end = 18758
+ _globals["_GETSTATUSREQUEST"]._serialized_start = 18761
+ _globals["_GETSTATUSREQUEST"]._serialized_end = 19356
+ _globals["_GETSTATUSREQUEST_OPERATIONSTATUSREQUEST"]._serialized_start =
19160
+ _globals["_GETSTATUSREQUEST_OPERATIONSTATUSREQUEST"]._serialized_end =
19276
+ _globals["_GETSTATUSRESPONSE"]._serialized_start = 19359
+ _globals["_GETSTATUSRESPONSE"]._serialized_end = 20044
+ _globals["_GETSTATUSRESPONSE_OPERATIONSTATUS"]._serialized_start = 19617
+ _globals["_GETSTATUSRESPONSE_OPERATIONSTATUS"]._serialized_end = 20044
+
_globals["_GETSTATUSRESPONSE_OPERATIONSTATUS_OPERATIONSTATE"]._serialized_start
= 19814
+
_globals["_GETSTATUSRESPONSE_OPERATIONSTATUS_OPERATIONSTATE"]._serialized_end =
20044
+ _globals["_SPARKCONNECTSERVICE"]._serialized_start = 20130
+ _globals["_SPARKCONNECTSERVICE"]._serialized_end = 21249
# @@protoc_insertion_point(module_scope)
diff --git a/python/pyspark/sql/connect/proto/base_pb2.pyi
b/python/pyspark/sql/connect/proto/base_pb2.pyi
index 2db3132cd0c0..7750dc672654 100644
--- a/python/pyspark/sql/connect/proto/base_pb2.pyi
+++ b/python/pyspark/sql/connect/proto/base_pb2.pyi
@@ -1015,6 +1015,7 @@ class
AnalyzePlanResponse(google.protobuf.message.Message):
UNPERSIST_FIELD_NUMBER: builtins.int
GET_STORAGE_LEVEL_FIELD_NUMBER: builtins.int
JSON_TO_DDL_FIELD_NUMBER: builtins.int
+ EXTENSIONS_FIELD_NUMBER: builtins.int
session_id: builtins.str
server_side_session_id: builtins.str
"""Server-side generated idempotency key that the client can use to assert
that the server side
@@ -1048,6 +1049,13 @@ class
AnalyzePlanResponse(google.protobuf.message.Message):
def get_storage_level(self) ->
global___AnalyzePlanResponse.GetStorageLevel: ...
@property
def json_to_ddl(self) -> global___AnalyzePlanResponse.JsonToDDL: ...
+ @property
+ def extensions(
+ self,
+ ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
+ google.protobuf.any_pb2.Any
+ ]:
+ """Support arbitrary result objects."""
def __init__(
self,
*,
@@ -1067,6 +1075,7 @@ class
AnalyzePlanResponse(google.protobuf.message.Message):
unpersist: global___AnalyzePlanResponse.Unpersist | None = ...,
get_storage_level: global___AnalyzePlanResponse.GetStorageLevel | None
= ...,
json_to_ddl: global___AnalyzePlanResponse.JsonToDDL | None = ...,
+ extensions: collections.abc.Iterable[google.protobuf.any_pb2.Any] |
None = ...,
) -> None: ...
def HasField(
self,
@@ -1110,6 +1119,8 @@ class
AnalyzePlanResponse(google.protobuf.message.Message):
b"ddl_parse",
"explain",
b"explain",
+ "extensions",
+ b"extensions",
"get_storage_level",
b"get_storage_level",
"input_files",
diff --git a/sql/connect/common/src/main/protobuf/spark/connect/base.proto
b/sql/connect/common/src/main/protobuf/spark/connect/base.proto
index c7247129f190..be4ab641c7b5 100644
--- a/sql/connect/common/src/main/protobuf/spark/connect/base.proto
+++ b/sql/connect/common/src/main/protobuf/spark/connect/base.proto
@@ -253,6 +253,9 @@ message AnalyzePlanResponse {
JsonToDDL json_to_ddl = 16;
}
+ // Support arbitrary result objects.
+ repeated google.protobuf.Any extensions = 999;
+
message Schema {
DataType schema = 1;
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]